250 likes | 439 Views
Robotzsaru oktat ás. Webszolgáltatás s zabványok Simon Balázs. Tartalom. Követelmények WS-* szabványok Aszimmetrikus kulcsú kriptográfia Windows és Java tanúsítványkezelés. Integrációs követelmények. Vállalati integráció. Vállalatirányítási rendszer SAP. Ügyfelek JEE. Termékek
E N D
Robotzsaruoktatás Webszolgáltatásszabványok Simon Balázs
Tartalom Követelmények WS-* szabványok Aszimmetrikus kulcsú kriptográfia Windows és Java tanúsítványkezelés
Vállalati integráció Vállalatirányítási rendszer SAP Ügyfelek JEE Termékek .NET ? Oracle DB SQL Server Web-portál PHP MySQL
Közigazgatási integráció APEH Linux, Oracle OEP Windows, .NET Ügyfélkapu Linux, JBoss ? MÁK Solaris, Sun
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 aláírás • megbízhatóság: üzenet nem veszik el Szabványos megoldás
Web-Service szabványok Security Reliable Messaging Transactions Metadata Messaging XML titkosítás, digitális aláírás Transport pl. HTTP, HTTPS, TCP, UDP, JMS, SMTP, ...
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
Security Security WS-Federation WS-Trust WS-SecureConversation WS-Security WS-Security: • tiktosítás, digitális aláírás 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
WS-Trustpélda Népesség-nyilvántartás 3. Token kérés 1. Bor vásárlás 2. Nagykorú? 6. Siker 4. Token Vásárló Web-shop Token 5. Bor vásárlás
Reliable messaging Reliable messaging WS-Reliability WS-ReliableMessaging 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, ...
Transactions Transactions WS-AtomicTransaction WS-BusinessActivity WS-Coordination 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ó
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
WS-* szabványok összesítés Security Reliable Messaging Transactions Metadata WS-Federation WS-AtomicTransaction WS-BusinessActivity WS-Trust WS-Reliability WS-SecureConversation WS-ReliableMessaging WS-Metadata Exchange WS-Coordination WS-Security Messaging WS-Transfer WS-Policy WS-Enumeration WS-EventNotification MTOM WS-Addressing WSDL SOAP XML XML Encryption XML Digitial Signature XML XML Schema XML Namespaces Transport … 16 HTTP HTTPS SMTP TCP
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
Aszimmetrikus kulcsú kriptográfia Privát kulccsal titkosított adat csak a megfelelő publikus kulccsal bontható ki • felhasználás: digitális aláírás • 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
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
Tanúsítványok hierarchiája önaláíró Root CA elegendő ebben megbízni aláírás Intermediate CA Intermediate CA aláírás aláírás Intermediate CA Personal certificate Personal certificate aláírás Personal certificate
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
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