Objektum-orientált tervezés

Hasonló dokumentumok
Web-szolgáltatás szabványok

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

IP alapú távközlés. Virtuális magánhálózatok (VPN)

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette:

Szolgáltatás technológiák (WS, WS-*) Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

(Web)Szolgáltatások (WS, WS-*)

Dr. Bakonyi Péter c.docens

Titkosítás NetWare környezetben

Szolgáltatás technológiák (WS, WS-*, REST) Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Azt írom alá, amit a képernyőn látok?

Elektronikus hitelesítés a gyakorlatban

Elektronikus aláírás. Gaidosch Tamás. Állami Számvevőszék

EBT KKK2 kriptográfiai interfész specifikáció

Az adatfeldolgozás és adatátvitel biztonsága. Az adatfeldolgozás biztonsága. Adatbiztonság. Automatikus adatazonosítás, adattovábbítás, adatbiztonság

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás

Áttekintés a GPG/PGP-ről Mohácsi János NIIF Intézet

A házifeladatban alkalmazandó XML struktúra

Metadata specifikáció

e-szignó Hitelesítés Szolgáltató Microsec e-szignó Tanúsítvány telepítése Mac OS X Snow Leopard operációs rendszeren

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Enterprise Service Bus (ESB) Ercsényi András, BME IIT, 2011.

S, mint secure. Nagy Attila Gábor Wildom Kft.

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A.

Data Security: Protocols Integrity


Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens

Adat és Információvédelmi Mesteriskola 30 MB. Dr. Beinschróth József SAJÁTOS LOGIKAI VÉDELEM: A KRIPTOGRÁFIA ALKALMAZÁSA

Biztonság a glite-ban

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék.

Elektronikus aláírás és titkosítás beállítása MS Outlook 2010 levelezőben

Előnyei. Helyi hálózatok tervezése és üzemeltetése 2

ÜGYFÉL OLDALI BEÁLLÍTÁSOK KÉZIKÖNYVE

Hálózatbiztonság Androidon. Tamas Balogh Tech AutSoft

Diszkrét matematika I.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Adatbiztonság. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Adatbiztonság / 22

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

X.500-as katalógus szolgáltatások (directory service) hitelesítési szolgáltatásokhoz biztosít keretetrendszert

Kriptográfiai alapfogalmak

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

PGP. Az informatikai biztonság alapjai II.

Informatikai alapismeretek Földtudományi BSC számára

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Web-szolgáltatások: SOAP, WSDL

Webszolgáltatások kommunikációs overhead-jének becslése

Windows biztonsági problémák

VBD , VBD

IT biztonság Hozzáférés-ellenőrzés és digitális aláírás I. 2016/2017 tanév

Evolution levelező program beállítása tanúsítványok használatához

Oracle9i Alkalmazás Szerver Üzleti folyamat integráció. Molnár Balázs Vezető értékesítési konzultáns Oracle Hungary

Az Informatikai és Hírközlési Minisztérium ajánlása a közigazgatásban alkalmazható. elektronikus aláírás formátumok műszaki specifikációjára

Hálózati biztonság ( ) Kriptográfia ( )

WEBSZOLGÁLTATÁSOK BIZTONSÁGA (MODELLEZÉS SWSML-BEN)

TANÚSÍTVÁNY. tanúsítja, hogy a Utimaco Safeware AG által kifejlesztett és forgalmazott

Az Informatikai és Hírközlési Minisztérium ajánlása a közigazgatásban a hitelesítésszolgáltatók

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

eidas - AZ EURÓPAI PARLAMENT ÉS A TANÁCS 910/2014/EU RENDELETE

e Beszámoló Rendszer: Egy nagy megbízhatóságú elektronikus közszolgáltatás Microsoft alapokon Atigris Informatika Zrt.

Webalkalmazás-biztonság. Kriptográfiai alapok

TANÚSÍTVÁNY. tanúsítja, hogy a. Pénzügyi Szervezetek Állami Felügyelete. által kifejlesztetett. IngridSigno Feldolgozó Modul aláíró alkalmazás

IT biztonság Hozzáférés-ellenőrzés és digitális aláírás I. 2014/2015 tanév

TANÚSÍTVÁNY. Időbélyegzés szolgáltatás keretén belül: Időbélyegző aláíró kulcsok generálására, tárolására, időbélyegző aláírására;

TANÚSÍTVÁNY HUNGUARD tanúsítja, SafeNet Inc. ProtectServer Gold

Levelező szerverek. Hargitai Gábor november 28.

TANÚSÍTVÁNY. tanúsítja, hogy a. MÁV INFORMATIKA Kft. által kifejlesztett és forgalmazott. DSign UI 1.6. aláíró alkalmazás

Microsoft tartalomvédelmi megoldások. Micskei Zoltán BME

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

PKI ALAPOK ÉS AZ E-ALÁÍRÁS MŰSZAKI HÁTTERE, (eidas) Szakmai Konferencia + WORKSHOP

Webszolgáltatások (WS)

Az Outlook levelező program beállítása tanúsítványok használatához

TANÚSÍTVÁNY. nshield 500, nshield 500 for nethsm, és nshield Lite

Osztott alkalmazások fejlesztési technológiái Áttekintés

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott

TANÚSÍTVÁNY. tanúsítja, hogy a. Pénzügyi Szervezetek Állami Felügyelete. által kifejlesztetett. Pénztár v aláíró alkalmazás

PKI és SSL mérés. Crysys Lab - oktatas@crysys.hu október 14.

Aláírási jogosultság igazolása elektronikusan

Virtuális magánházlózatok / VPN

Elektronikus rendszerek a közigazgatásban elektronikus aláírás és archiválás elméletben

GIROLOCK2 ROOT_CA ÉS ÜZEMI CA TANÚSÍTVÁNY IMPORTÁLÁSI SEGÉDLET

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Digitális aláírás: együttműködésre képes és biztonságos alkalmazások

Fábián Zoltán Hálózatok elmélet

PKI, Névtár Hitelesítés

Minősített tanúsítvány, visszavonási lista és időbélyeg profildefiníciók

A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI BASICS AND COMPONENTS OF PUBLIC KEY INFRASTRUCTURE SPISÁK ANDOR

PKI és SSL mérés. Crysys Lab - oktatas@crysys.hu szeptember 12.

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Hitelesítés elektronikus aláírással BME TMIT

TANÚSÍTVÁNY. tanúsítja, hogy az ncipher Corporation Ltd. által előállított és forgalmazott

Szabó Zoltán PKI termékmenedzser

Elektronikus rendszerek a közigazgatásban

Azonosí tá srá Visszávezetett Dokumentumhitelesí te s (AVDH) á Perkápu vonátkozá sá bán

A SZABÁLYZAT CÉLJA...

Informatikai biztonság alapjai

Metadata specifikáció. Verzió: 1.0. (2010. December 13.)

Elektronikus archiválórendszer fejlesztése PKI alapokon

Digitális aláírás és kriptográfiai hash függvények. 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X)

EXE, OCX, DLL és CAB fájlok aláírása SignCode alkalmazással

TANÚSÍTVÁNY. tanúsítja, hogy a. Giesecke & Devrient GmbH, Germany által előállított és forgalmazott

Mosolygó Ferenc. Értékesítési Konzultáns.

Átírás:

Objektum-orientált tervezés Webszolgáltatás szabványok Simon Balázs Tartalom Követelmények WS-* szabványok Aszimmetrikus kulcsú kriptográfia XML titkosítás, digitális Windows és Java tanúsítványkezelés DEMO: WS-Security WS-SecureConversation 2 Integrációs követelmények 3 Objektum-orientált szoftvertervezés 1

Vállalati integráció Vállalatirányítási rendszer SAP Termékek.NET? Ügyfelek JEE SQL Server Web-portál PHP Oracle DB MySQL 4 Közigazgatási integráció APEH Linux, Oracle Ügyfélkapu Linux, JBoss? OEP Windows,.NET MÁK Solaris, Sun 5 Követelmények Vállalaton belüli integráció: tranzakciókezelés E-Közigazgatási integráció, vállalatok közti integráció: biztonság: titkosítás, digitális megbízhatóság: üzenet nem veszik el Szabványos megoldás 6 2

Metadata 5/4/2015 WS-* szabványok 7 Objektum-orientált szoftvertervezés Web-Service szabványok Security Reliable Messaging Transactions Messaging XML titkosítás, digitális Transport pl. HTTP, HTTPS, TCP, UDP, JMS, SMTP,... 8 Messaging Messaging MTOM WS-Addressing SOAP Üzenetkezelés WS-Addressing: címzés SOAP fejlécek: Action To From ReplyTo FaultTo MessageId RelatesTo MTOM: bináris adatok küldése byte-folyamként külön MIME részben 9 3

Security Security WS-Federation WS-Trust WS-SecureConversation WS-Security WS-Security: tiktosítás, digitális WS-SecureConversation: szimmetrikus kulcs generálása, titkosított adatcsere (analógia: SSL) WS-Trust: tokenek kérése, kibocsátása (analógia: Kerberos) WS-Federation trusted domain-eken túli azonosítás single sign-on 10 WS-Federation példa Vásárló 1. Bor vásárlás 2. Nagykorú? Web-shop 11 Reliable messaging Reliable messaging WS- Reliability Népességnyilvántartás WS- Reliable Messaging analógia: TCP WS-Reliability: eredeti változat nem veszi figyelembe a többi protokollt WS-ReliableMessaging: jobban támogatott figyelembe veszi a többi protokollt is pl. transactions, security,... 12 4

WS-ReliableMessaging 13 Transactions WS- Atomic Transaction Transactions WS-Coordination WS- Business Activity WS-Coordination: tranzakció levezénylése WS-AtomicTransaction: rövid lejáratú tranzakciók 2PC WS-BusinessActivity: hosszú lejáratú tranzakciók rollback: kompenzáció 14 Metadata Metadata WS-MetadataExchange WS-Policy WSDL WS-Policy: egy szolgáltatás képességeit és követelményeit írja le kibővíti a WSDL leírást példák: WS-Security Policy WS-ReliableMessaging Policy WS-AtomicTransaction Policy WS-MetadataExchange: WSDL dokumentumok felderítése Policy-információk cseréje dinamikus protokollfelismeréshez 15 5

WS-* szabványok összesítés Security Reliable Messaging Transactions WS-Federation WS-Trust WS-SecureConversation WS-Security WS-Transfer WS-Enumeration WS-Reliability WS-ReliableMessaging Messaging WS-EventNotification WS-Addressing SOAP XML Encryption XML WS- Atomic Transaction WS-Coordination MTOM WS- Business Activity XML Digitial Signature XML XML Schema XML Namespaces Transport HTTP HTTPS SMTP TCP Metadata WS- Metadata Exchange WS-Policy WSDL 16 Aszimmetrikus kulcsú kriprográfia 17 Objektum-orientált szoftvertervezés Aszimmetrikus kulcsú kriptográfia Két különböző kulcsra (egy kulcspárra) épül: privát: csak a tulajdonosa ismeri publikus: mindenki ismeri A publikus kulcsból nehéz kideríteni a privát kulcsot Példa: RSA publikus kulcs: két nagy prím szorzata + egy modulus alapelv: a prímfaktorizáció nehéz feladat 18 6

Aszimmetrikus kulcsú kriptográfia Privát kulccsal titkosított adat csak a megfelelő publikus kulccsal bontható ki felhasználás: digitális az aláíró fél a saját privát kulcsával titkosítja az adatot a publikus kulccsal bárki ellenőrizheti ezt Publikus kulccsal titkosított adat csak a megfelelő privát kulccsal bontható ki felhasználás: titkosítás bárki tud titkosítani a publikus kulccsal csak a privát kulcs tulajdonosa tudja kibontani a tartalmat 19 X.509 tanúsítvány Tartalma: Subject: a tanúsítvány tulajdonosa, aki számára a tanúsítványt kiállították Issuer: kibocsátó, aki a tanúsítványt aláírta (hitelesítette) Serial number: sorozatszám, a kibocsátó rendeli hozzá Valid from/to: érvényességi idő Thumbprint: ujjlenyomat, ezt írja alá a kibocsátó Public key: publikus kulcs Private key: privát kulcs 20 X.509 tanúsítvány: publikus kulcs 21 7

X.509 tanúsítvány: privát kulcs 22 Tanúsítványok hierarchiája elegendő ebben megbízni Root CA önaláíró Intermediate CA Intermediate CA Personal certificate Personal certificate Intermediate CA Personal certificate 23 XML titkosítás, digitális 24 Objektum-orientált szoftvertervezés 8

XML digital signature XML szintű digitális Névtér: http://www.w3.org/2000/09/xmldsig# Specifikáció helye: http://www.w3.org/tr/xmldsig-core/ 25 XML digitális lépései 1. aláírandó erőforrások meghatározása 2. opcionális transzformációk 3. hash (message digest) készítés 4. referenciák összegyűjtése, kanonizációs és aláíró algoritmus választása 5. kanonizálás 6. 7. kulcsinformációk hozzáadása 8. objektuminformációk hozzáadása 9. elemek összesítése 26 Aláírandó erőforrások összegyűjtése Mit szeretnénk aláírni? Példák: Web-oldal: http://www.abccompany.com/index.html Weben lévő kép: http://www.abccompany.com/logo.gif Weben lévő XML-beli elemre való referencia: http://www.abccompany.com/xml/po.xml#sender1 Az aktuális XML fájlon belüli hivatkozás: #elem20 27 9

Opcionális transzformációk Az aláírandó elemek transzformációja Példák: bináris adat BASE64-be konvertálása XML transzformálása XSLT-vel A transzformáció eredménye lesz aláírva 28 Hash (message digest) készítés Cél: az aláírt dokumentum kicsi legyen Megoldás: A nagy dokumentumból egy egyirányú, ütközésmentes függvény segítségével rövid ujjlenyomatot generálni, majd ezt aláírni Egyirányú: az ujjlenyomatból nehéz olyan dokumentumot előállítani, amelynek ugyanez az ujjlenyomata Ütközésmentes: nehéz két különböző dokumentumot készíteni, amelyeknek ugyanaz az ujjlenyomata Hash algoritmusok: SHA1, SHA256, SHA512, (az MD5 használata már nem ajánlott) 29 Referenciák összegyűjtése Az eddig elkészített elemek összeszedése: SignedInfo Ez a SignedInfo elem lesz aláírva (tartalmazza a hash értékeket) Példa: <SignedInfo Id="foobar"> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> <Reference URI="#element4"> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue> </Reference> <Reference URI="#ref20"> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>UrXLDLBIta6skoV5/A8Q38GEw44=</DigestValue> </Reference> </SignedInfo> 30 10

Kanonizálás A SignedInfo elem normalizálása előtt Miért? <a><a/> és <a/> ugyanazok White-space problémák (pl. <a/> vagy < a />) Névtérdeklarációk és prefixek Kommentek 31 Aláírás A normalizált SignedInfo a ez már tartalmazza a referenciák hash-eit is! Módszer: még egy hash képzése a SignedInfo-ból a hash a (titkosítása) Algoritmusok: DSA with SHA1 RSA with SHA1 32 Kulcsinformációk hozzáadása Opcionális: ha hiányzik, a fogadónak tudnia kell a kulcsot Kulcsok fajtái: aszimmetrikus kulcs (pl. RSA) X.509 tanúsítvány egyéni 33 11

Objektuminformációk hozzáadása Opcionális információk hozzáadása Pl. időbélyeg az hoz: <Object> <SignatureProperties> <SignatureProperty Id="AMadeUpTimeStamp" Target="#MySecondSignature"> <timestamp xmlns="http://www.ietf.org/rfcxxxx.txt"> <date>19990914</date> <time>14:34:34:34</time> </timestamp> </SignatureProperty> </SignatureProperties> </Object> 34 Összesítés Az elkészült elemek összerendezése: <ds:signature ID=""?> <ds:signedinfo> <ds:canonicalizationmethod/> <ds:signaturemethod/> <ds:reference URI=""? > <ds:transforms/>? <ds:digestmethod/> <ds:digestvalue/> </ds:reference>+ </ds:signedinfo> <ds:signaturevalue/> <ds:keyinfo/>? <ds:object ID=""?/>* </ds:signature> Minden aláírt erőforrásra egy-egy. Transzformációk rendezett listája, amelyek a hash-képzés előtt végrehajtásra kerültek. A hash értéke. Az értéke (a titkosított hash). Az ellenőrzéséhez szükséges kulcsra való hivatkozás. A hivatkozás lehet tanúsítvány, kulcsnév vagy kulcscsere algoritmus és -információ. 35 Digitális folyamata URI erőforrás transzformált erőforrás ujjlenyomat transzformációk hash-elés SignedInfo URI transzformációk hash-függvény ujjlenyomat kanonizálási algoritmus hash+aláíró algoritmus kanonizálás normalizált SignedInfo hash-elés ujjlenyomat 36 12

Digitális eredménye URI erőforrás Signature SignedInfo URI transzformációk hash-függvény ujjlenyomat kanonizálási algoritmus hash+aláíró algoritmus aláíró kulcs 37 Aláírás ellenőrzése 1. Minden referenciára a transzformációk alkalmazása, majd a hash kiszámítása ha a kiszámított és az ban szereplő hash különbözik, a validálás meghiúsul 2. A SignedInfo elem normalizálása a kanonizálási algoritmusnak megfelelően 3. A SignedInfo hash-ének elkészítése 4. A SignatureValue helyességének ellenőrzése a hash és a publikus kulcs alapján 38 Digitális ellenőrzése Signature SignedInfo URI transzformációk hash-függvény ujjlenyomat kanonizálási algoritmus hash+aláíró algoritmus 1. egyezik? transzformációk hash-elés kanonizálás URI erőforrás transzformált erőforrás ujjlenyomat aláíró kulcs kibontás ujjlenyomat normalizált SignedInfo hash-elés ujjlenyomat 2. egyezik? 39 13

XML encryption XML szintű titkosítás Névtér: http://www.w3.org/2001/04/xmlenc# Specifikáció helye: http://www.w3.org/tr/xmlenc-core/ 40 XML titkosítás lépései 1. Titkosító algoritmus kiválasztása 2. Kulcs kiválasztása/megszerzése 3. Titkosítandó adat kiválasztása 4. Titkosítás 5. Kulcsinformációk hozzáadása 6. Összesítés 7. Titkosítatlan adat lecserélése titkosítottra 41 Titkosító algoritmus kiválasztása Szabványos stream alapú nincs, de bővítményekkel készíthető ilyen Négy fajta blokkos: 3DES AES-128 AES-256 AES-192 42 14

Kulcs kiválasztása/megszerzése Kulcsok megadásának módja: nincs: a fogadó oldalnak kell tudnia EncryptedKey: titkosított kulcs AgreementMethod: kulcscsere algoritmussal X509-es tanúsítvány Egyéb módon csatolva 43 Kulcsok titkosítása/cseréje Kulcs titkosítása aszimmetrikus kulccsal: RSA-v1.5 Kulcscsere algoritmusok aszimmetrikus kulcsból származatott információ alapján: Diffie-Hellman kulcscsere Szimmetrikus kulccsal titkosított kulcs: 3DES AES-128 AES-256 AES-192 44 Titkosított adat Típusai: XML elem XML elem tartalma lehet text vagy gyerek elemek Tetszőleges adat Titkosító kulcs Helye: helyben tárolt (tipikusan Base64-ben kódolva) hivatkozás 45 15

Összesítés <xenc:encrypteddata Id=""? Type=""? MimeType=""? Encoding=""?> <xenc:encryptionmethod/>? <ds:keyinfo> A titkosításhoz használt kulcs. <xenc:encryptedkey/>? <xenc:agreementmethod/>? <ds:keyname/>? <ds:retrievalmethod/>? <ds:*/>? </ds:keyinfo>? <xenc:cipherdata> A titkosított adat. <xenc:ciphervalue/>? <xenc:cipherreference URI=""?/>? </xenc:cipherdata> <xenc:encryptionproperties/>? </xenc:encrypteddata> 46 Titkosítás folyamata adat titkosítás EncryptedData titkosítási algoritmus titkosító kulcs titkosított adat titkosított adat 47 Kibontás 1. Az algoritmus, a paraméterek és a kibontáshoz szükséges kulcsinformáció azonosítása 2. A kulcs meghatározása (ha ez is titkosított, akkor rekurzívan ) 3. A CypherData tartalmának kibontása 48 16

Kibontás folyamata EncryptedData titkosítási algoritmus titkosító kulcs adat kibontás titkosított adat 49 Windows és Java tanúsítványkezelés 50 Objektum-orientált szoftvertervezés Tanúsítványok hierarchiája elegendő ebben megbízni Root CA önaláíró Intermediate CA Intermediate CA Personal certificate Personal certificate Intermediate CA Personal certificate 51 17

Windows tanúsítványtár Personal certificates: privát kulcsú saját tanúsítványok Root Certificate Authorities: publikus kulcsú gyökértanúsítványok 52 Java tanúsítványtár Formátum: JKS Tipikusan két darab fájl (bár nem kötelező szétválasztani): cacerts.jks: megbízható RootCA-k publikus kulcsú tanúsítványai keystore.jks: saját privát kulcsú tanúsítványok Kezelés: publikus kulcsok: keytool a JDK-ban privát kulcsok: nincs támogatás a JDK-ban de: letölthető egy pkcs12import nevű segédeszköz 53 18