Sicherheit und Vertraulichkeit mit SOAP

Größe: px
Ab Seite anzeigen:

Download "Sicherheit und Vertraulichkeit mit SOAP"

Transkript

1 Mario Jeckle Sicherheit und Vertraulichkeit mit SOAP mario.jeckle DaimlerChrysler Forschungszentrum Ulm W11

2 Gliederung Anforderungen an SOAP- Sicherheitsmechanismen Existierende Lösungen XML Digital Signatures XML Encryption Secure Sockets Layer (Code-)Beispiele und Praktische Einsatzempfehlungen W11 Sicherheit und Vertraulichkeit mit SOAP 2

3 Anforderungen Vertraulichkeit (confidentiality( confidentiality) Schutz der Daten vor dem (lesenden) Zugriff unbefugter Dritter Berechtigung (authorization( authorization) Gewährleistet Befugnis des Anforderers zur Nutzung des Dienstes (Daten-)konsistenz (data integrity) Verlangt modifikationsfreies Eintreffen der versandten Daten W11 Sicherheit und Vertraulichkeit mit SOAP 3

4 Anforderungen Glaubwürdigkeit des Ursprungs (message origin authentication) Garantiert, daß eine Nachricht willentlich durch einen Sender erstellt wurde Verbindlichkeit (non( non-repudiation) Stellt sicher, daß der Sender die Autorenschaft nicht leugnen kann W11 Sicherheit und Vertraulichkeit mit SOAP 4

5 Sicherheitsebenen Applikations-Schicht (Application Layer) XML-Schicht SOAP-Schicht (SOAP Layer) [Presentation Layer] Protokollschicht (wire protocol) [Session Layer] BEEP SMTP HTTP SOAP SSL MIME Transportschicht (Transport Layer) Netzschicht (Network Layer) Sicherungsschicht (Data Link Layer) TCP IP (v4, v6), X.25, SPX, IPX HDLC, SLIP, PPP, Ethernet, IEEE 802.x UDP Bitübertragungsschicht (Physical Layer) analoges Modem, V. 90, ISDN, ADSL W11 Sicherheit und Vertraulichkeit mit SOAP 5

6 Sicherheitsebenen BEEP SMTP HTTP XML-Schicht SOAP SSL MIME XML Digital Signatures XML Encryption... XML-Schicht BEEP SMTP HTTP SOAP SSL MIME Transaction Layer Security/ Secure Sockets Layer... W11 Sicherheit und Vertraulichkeit mit SOAP 6

7 Ein Beispiel... SOAP Endpoint NumberAdderCall Parameters number1 number2 value = 1 value = 2 <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env= " xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle= " schemas.xmlsoap.org/soap/encoding/"> <number1 xsi:type="xsd:int">1</number1> <number2 xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env= " xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle= " schemas.xmlsoap.org/soap/encoding/"> <number1 xsi:type="xsd:int">1</number1> <number2 xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> NumberAdderCall Parameters number1 number2 value = 1 value = 2 Transportprotokoll (z.b. HTTP) Serialisierungund Encoding desaufrufs Transportprotokoll (z.b. HTTP) Serialisierungund Encoding desaufrufs Dienst- Dienst- Nutzer SOAP Envelope W3C's XML-Schema SOAP Envelope W3C's XML-Schema Erbringer XML v1.0, 2 nd edition + Namespaces XML v1.0, 2 nd edition + Namespaces W11 Sicherheit und Vertraulichkeit mit SOAP 7

8 Dienstaufruf (ungesichert) POST POST /soap/servlet/rpcrouter HTTP/1.0 HTTP/1.0 Host: Host: localhost:8081 localhost:8081 Content-Type: Content-Type: text/xml; text/xml; charset=utf-8 charset=utf-8 Content-Length: Content-Length: SOAPAction: SOAPAction: "" "" <?xml <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env= " xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle= " <number1 xsi:type="xsd:int">1</number1> <number2 xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> W11 Sicherheit und Vertraulichkeit mit SOAP 8

9 Dienstergebnis (ungesichert) HTTP/1.0 HTTP/ OK OK Content-Type: Content-Type: text/xml; text/xml; charset=utf-8 charset=utf-8 Content-Length: Content-Length: Set-Cookie2: Set-Cookie2: JSESSIONID=9ekj42d5b1;Version=1;Discard;Path="/soap" JSESSIONID=9ekj42d5b1;Version=1;Discard;Path="/soap" Set-Cookie: Set-Cookie: JSESSIONID=9ekj42d5b1;Path=/soap JSESSIONID=9ekj42d5b1;Path=/soap Servlet-Engine: Servlet-Engine: Tomcat Tomcat Web Web Server/3.2.1 Server/3.2.1 (JSP (JSP 1.1; 1.1; Servlet Servlet 2.2; 2.2; Java Java beta3; beta3; Windows Windows x86; x86; java.vendor=sun java.vendor=sun Microsystems Microsystems Inc.) Inc.) <?xml <?xml version='1.0' version='1.0' encoding= utf-8'?> encoding= utf-8'?> <SOAP-ENV:Envelope <SOAP-ENV:Envelope xmlns:soap-env= xmlns:soap-env= " " xmlns:xsi=" xmlns:xsi=" xmlns:xsd=" xmlns:xsd=" <SOAP-ENV:Body> <SOAP-ENV:Body> <ns1:addresponse <ns1:addresponse xmlns:ns1="urn:numberadder" xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle= SOAP-ENV:encodingStyle= " " <return <return xsi:type="xsd:int">3</return> xsi:type="xsd:int">3</return> </ns1:addresponse> </ns1:addresponse> </SOAP-ENV:Body> </SOAP-ENV:Body> </SOAP-ENV:Envelope> </SOAP-ENV:Envelope> W11 Sicherheit und Vertraulichkeit mit SOAP 9

10 XML Digital Signatures Ziel: Aufdeckung potentieller Datenverfälschung Sender unterschreibt übertragene Daten, Empfänger prüft Unterschrift (und mittels dieser indirekt die Daten) Eigenschaften der Unterschrift: Glaubwürdigkeit (willentliche Unterschrift) Fälschungssicherheit (Unterschrift kann nicht durch Dritte erzeugt werden) Transienz (Unterschrift ist nicht wiederverwendbar) Unveränderbarkeit (Unterschrift und Dokument bilden Einheit) Dauerhaftigkeit (Unterschrift kann nicht zurückgezogen werden) Lösungen XML Signatures (W3C Proposed Recommendation) SOAP Security Extensions: Digital Signature (W3C Note) W11 Sicherheit und Vertraulichkeit mit SOAP 10

11 XML Digital Signatures Ziel: Aufdeckung potentieller Datenverfälschung Sender <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle=" <number1xsi:type="xsd:int">1</number1> <number2xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> XML Dokument Empfänger <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> CanonicalizationMethod <ns1:add xmlns:ns1="urn:numberadder" Algorithm=" CanonicalizationMethod org/tr/2000/wd-xml-c14n SOAP-ENV:encodingStyle=" SignatureMethod Algorithm=" org/tr/2000/wd-xml-c14n <number1xsi:type="xsd:int">1</number1> Algorithm=" SignatureMethod org/2000/09/xmldsig#dsa-sha1" <number2xsi:type="xsd:int">2</number2> DigestMethod Algorithm=" org/2000/09/xmldsig#dsa-sha1" </ns1:add> </SOAP-ENV:Body> Algorithm=" DigestMethod org/2000/09/xmldsig#sha1" </SOAP-ENV:Envelope> Algorithm=" MCpXybqBI2Aa org/2000/09/xmldsig#sha1" MCpXybqBI2Aa 3Yx4IovjN3Ggch <n1:envelope xmlns:n1=" <n1:body xmlns:n1=" <n1:add xmlns:n1="urn:numberadder n2:encodingstyle=" xmlns:n2=" <number1 n1:type="xsd:int" xmlns:n1=" <number2 n1:type="xsd:int" xmlns:n1=" </n1:add> </n1:body> </n1:envelope> MCpXybqBI2Aa za9itx3gfzceyiy 3Yx4IovjN3Ggch z.b. W3C's c14n z. B. SHA1 z. B. DSA-SHA1 yalsljezgwag= amdb3lif1m6a9+ Ngi59MqDwK3LRQ== Kanonische Repräsentation <n1:envelope xmlns:n1=" <n1:body xmlns:n1=" <n1:add xmlns:n1="urn:numberadder n2:encodingstyle=" xmlns:n2=" <number1 n1:type="xsd:int" xmlns:n1=" <number2 n1:type="xsd:int" xmlns:n1=" </n1:add> </n1:body> </n1:envelope> z.b. W3C's c14n z. B. SHA1 amdb3lif1m6a9+ Kanonische Ngi59MqDwK3LRQ== Repräsentation XML Dokument Metadaten Digitale Unterschrift Digest za9itx3gfzceyiy yalsljezgwag= Digest Vergleich Digitale Unterschrift MCpXybqBI2Aa 3Yx4IovjN3Ggch z. B. DSA-SHA1 amdb3lif1m6a9+ Ngi59MqDwK3LRQ== Digitale Unterschrift W11 Sicherheit und Vertraulichkeit mit SOAP 11 =

12 XML Digital Signatures Einlesen SOAP-Aufruf Metadaten Unterschrift Kanonische Darstellung erzeugen Digest berechnen und vergleichen Unterschrift [gültig] [korrekt] [inkorrekt] Unterschrift berechnen und vergleichen Unterschrift [ungültig] W11 Sicherheit und Vertraulichkeit mit SOAP 12

13 Signaturen und SOAP SOAP-Nachricht SOAP-Header. SOAP-Headerblock SOAP-Body. SOAP-Bodyblock W11 Sicherheit und Vertraulichkeit mit SOAP 13

14 XML Digital Signatures <ds:signature <ds:signature xmlns:ds=" xmlns:ds=" <ds:signedinfo> <ds:signedinfo> <ds:canonicalizationmethod <ds:canonicalizationmethod Algorithm= Algorithm= " " </ds:canonicalizationmethod> </ds:canonicalizationmethod> <ds:signaturemethod <ds:signaturemethodalgorithm= " " <ds:reference <ds:referenceuri="#body"> <ds:transforms> <ds:transforms> <ds:transform <ds:transform Algorithm= Algorithm= " " </ds:transforms> </ds:transforms> <ds:digestmethod <ds:digestmethodalgorithm= " " <ds:digestvalue>za9itx3gfzceyiyyalsljezgwag=</ds:digestvalue> <ds:digestvalue>za9itx3gfzceyiyyalsljezgwag=</ds:digestvalue> </ds:reference> </ds:reference> </ds:signedinfo> </ds:signedinfo> <ds:signaturevalue> <ds:signaturevalue> MCpXybqBI2Aa3Yx4IovjN3GgchaMDB3lIF1M6a9+Ngi59MqDwK3LRQ== MCpXybqBI2Aa3Yx4IovjN3GgchaMDB3lIF1M6a9+Ngi59MqDwK3LRQ== </ds:signaturevalue> </ds:signaturevalue> </ds:signature> </ds:signature> W11 Sicherheit und Vertraulichkeit mit SOAP 14

15 XML Digital Signatures SOAP-Nachricht SOAP-Header SOAP-Headerblock SOAP-Body SOAP-Bodyblock <SOAP-ENV:Envelope xmlns:soap-env=" <SOAP-ENV:Header> <SOAP-SEC:Signature xmlns:soap-sec=" SOAP-ENV:actor=" SOAP-ENV:mustUnderstand="1"> <ds:signature xmlns:ds=" <ds:signedinfo> <ds:canonicalizationmethod Algorithm=" </ds:canonicalizationmethod> <ds:signaturemethod Algorithm=" org/2000/09/xmldsig#dsa-sha1"/> <ds:reference URI="#Body"> <ds:transforms> <ds:transform Algorithm=" </ds:transforms> <ds:digestmethod Algorithm=" <ds:digestvalue>za9itx3gfzceyiyyalsljezgwag=</ds:digestvalue> </ds:reference> </ds:signedinfo> <ds:signaturevalue>mcpxybqbi2aa3yx4iovjn3ggchamdb3lif1m6a9+ngi59mqdwk3lrq==</ds:signaturevalue> </ds:signature> </SOAP-SEC:Signature> </SOAP-ENV:Header> <SOAP-ENV:Body xmlns:soap-sec=" SOAP-SEC:id="Body"> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle=" <number1 xsi:type="xsd:int">1</number1> <number2 xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> W11 Sicherheit und Vertraulichkeit mit SOAP 15

16 XML Digital Signatures Ziel: Aufdeckung potentieller Datenverfälschung Keine Veränderung des Dateninhaltes (SOAP( Body) Definition eines Nachrichten Digests als Grundlage des Unterschriftenvorganges Durch bestehende XML-Lösungen Lösungen auf XML-Ebene (leicht) lösbar Anwendung: Sicherung der Urheberschaft bei nicht- vertraulichen Inhalten (diverse B2B- Anwendungen) Sicherstellung der Unveränderbarkeit (RPCs,, Business Transaktionen) W11 Sicherheit und Vertraulichkeit mit SOAP 16

17 XML Encryption Ziel: Schutz der Vertraulichkeit Sender verschlüsselt Daten, Empfänger entschlüsselt (mit geeignetem Schlüssel) Für strengste Anforderungen sinnvollerweise in Applikation auf SOAP-Endpunkt (Aufrufer( und Diensterbringer) ausgeführt Nicht berücksichtigt: Schlüsselverteilung und übergabe Verschlüsselungsalgorithmus Lösungen: XML Encryption Syntax and Processing (W3C Working Draft) W11 Sicherheit und Vertraulichkeit mit SOAP 17

18 XML Encryption Ziel: Schutz der Vertraulichkeit Sender: <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle=" <number1xsi:type="xsd:int">1</number1> <number2xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Standard Algorithmus (Verschlüsselung) Schlüssel <? xml version="1.0" encoding ="UTF -8"?> <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV: Envelope xmlns:soap-env=" schemas.xmlsoap.org/soap/envelope/" <SOAP-ENV:Envelope xmlns:soap-env=" org /soap /envelope/" xmlns: xsd=" " xmlns:xsd=" org/1999/ XMLSchema " xmlns: xsi=" org/1999/ XMLSchema -instance"> xmlns:xsi=" "> <SOAP-ENV:Body> <SOAP-ENV:Body> <EncryptedData Type="Element" xmlns=" temp-xmlenc "> <EncryptedData Type="Element" xmlns =" org /2000/11/temp-xmlenc"> <EncryptedKey> <EncryptedKey > <EncryptionMethod Algorithm="urn: rsadsi-com :rsa -v1.5"/> <EncryptionMethod Algorithm="urn:rsadsi -com:rsa-v1.5"/> <KeyInfo xmlns=" org /2000/09/xmldsig#"> <KeyInfo xmlns=" #"> <KeyName >key</keyname > <KeyName >key </KeyName> </KeyInfo> </ KeyInfo> <CipherText >RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWT U/BV6GudWGy0V <CipherText >RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWT U/BV6GudWGy0V HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiuPGvjBKu4CR7E HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiuPGvjBKu4CR7E twxnfth25wghy0ojd74=</ CipherText ></EncryptedKey> twxnfth25wghy0ojd74=</ciphertext></encryptedkey> <EncryptionMethod Algorithm="urn:nist-gov :tripledes-ede-cbc"><iv>smkzxksgdqa=</iv></encryptionmethod> <EncryptionMethod Algorithm="urn:nist-gov:tripledes-ede-cbc "><IV>SmkzxKsgdqA=</IV></ EncryptionMethod> <CipherText >svjhjiw5qniey3brbpamnocz/ja+rmng0plo7vwnmtp+vpvs53c0yvdeb4gmyecobtae00s8l0cy <CipherText>sVjhJIW5QnIeY3brbpamNOcz/Ja+RmnG0pLo7vWnmTp+vpVs53c0YVDeb4gmYEcOBTAe00S8l0cy SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh7QDMbvM7ACdT SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh7QDMbvM7ACdT 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhRRAuwUc3A4Rqa 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhRRAuwUc3A4Rqa H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9 RqzhmBQ=</ CipherText ></EncryptedData> H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText></EncryptedData> </SOAP-ENV:Body> </SOAP-ENV:Body> </SOAP-ENV:Envelope> </SOAP-ENV: Envelope> XML Dokument Empfänger: mqgibdtzzz0rbadooblh8nrsno6xiognjizm+adhsgoyuzwf3vby1hk6v63gdb97 RdJrPt5UZ7ygCpY43rof6h6jYzeGs/JJJQVLrYiM9/sguoC7+ZTP6W8TNo3imzYE mqgibdtzzz0rbadooblh8nrsno6xiognjizm+adhsgoyuzwf3vby1hk6v63gdb97 OV+jJDmVrj6nylbXnjhtThP5PQ82oYfRa2NUVJl4L6M23FlZo4hZ9qZ7HwCg/8+K RdJrPt5UZ7ygCpY43rof6h6jYzeGs/JJJQVLrYiM9/sguoC7+ZTP6W8TNo3imzYE Ed0XdgY7ZK2ySJW69M6IYMMEAJmZP/hSysTAxO3my6V/9cJneUIW6l7cImWwFKxO OV+jJDmVrj6nylbXnjhtThP5PQ82oYfRa2NUVJl4L6M23FlZo4hZ9qZ7HwCg/8+K 5np13Dn0tomSLLt0R1dhqdrr4493C0wnzeqODDKbMbC0aCVy0Yo38pmwkFBoQQrd Ed0XdgY7ZK2ySJW69M6IYMMEAJmZP/hSysTAxO3my6V/9cJneUIW6l7cImWwFKxO q3lsgl6ke0oijhjpyohn+7hpdz2pydyr1olhk//aew0dvtf4sqatnw7eokdhef0q 5np13Dn0tomSLLt0R1dhqdrr4493C0wnzeqODDKbMbC0aCVy0Yo38pmwkFBoQQrd /AQGA/0X4mGFwgMqAxLyYWncHkTsOUT7XPKvCtA8BMWV7gi+48CcnqABdyjT7iWv q3lsgl6ke0oijhjpyohn+7hpdz2pydyr1olhk//aew0dvtf4sqatnw7eokdhef0q I1n9wr8CK4d/eZVw+yq9xGs0+XVNoQ7q/unQ05wyZEkD/x9OaAtAoDSjaDeXsg9w /AQGA/0X4mGFwgMqAxLyYWncHkTsOUT7XPKvCtA8BMWV7gi+48CcnqABdyjT7iWv BlbF3w6gCOnoqRqUNSIlj9uD5/awmfUaSZY2JfuuxDj4bkEi87QeTWFyaW8gSmVj I1n9wr8CK4d/eZVw+yq9xGs0+XVNoQ7q/unQ05wyZEkD/x9OaAtAoDSjaDeXsg9w a2xlidxtyxjpb0bqzwnrbguuzgu+iqbybbaragaybqi7c82dcasdcqghagekahkb BlbF3w6gCOnoqRqUNSIlj9uD5/awmfUaSZY2JfuuxDj4bkEi87QeTWFyaW8gSmVj BRsDAAAAAAoJEOOrbdtBMBqsZB4AoL8rSS5U6EUYy8qeiLzuFo0u89v5AKCMGlRP a2xlidxtyxjpb0bqzwnrbguuzgu+iqbybbaragaybqi7c82dcasdcqghagekahkb BRsDAAAAAAoJEOOrbdtBMBqsZB4AoL8rSS5U6EUYy8qeiLzuFo0u89v5AKCMGlRP verschlüsselter Datenstrom <? xml version="1.0" encoding ="UTF -8"?> <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV: Envelope xmlns:soap-env=" schemas.xmlsoap.org/soap/envelope/" <SOAP-ENV:Envelope xmlns:soap-env=" org /soap /envelope/" xmlns: xsd=" " xmlns:xsd=" org/1999/ XMLSchema " xmlns: xsi=" org/1999/ XMLSchema -instance"> xmlns:xsi=" "> <SOAP-ENV:Body> <SOAP-ENV:Body> <EncryptedData Type="Element" xmlns=" temp-xmlenc "> <EncryptedData Type="Element" xmlns =" org /2000/11/temp-xmlenc"> <EncryptedKey> <EncryptedKey > <EncryptionMethod Algorithm="urn: rsadsi-com :rsa -v1.5"/> <EncryptionMethod Algorithm="urn:rsadsi -com:rsa-v1.5"/> <KeyInfo xmlns=" org /2000/09/xmldsig#"> <KeyInfo xmlns=" #"> <KeyName >key</keyname > <KeyName >key </KeyName> </KeyInfo> </ KeyInfo> <CipherText >RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWT U/BV6GudWGy0V <CipherText >RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWT U/BV6GudWGy0V HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiuPGvjBKu4CR7E HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiuPGvjBKu4CR7E twxnfth25wghy0ojd74=</ CipherText ></EncryptedKey> twxnfth25wghy0ojd74=</ciphertext></encryptedkey> <EncryptionMethod Algorithm="urn:nist-gov :tripledes-ede-cbc"><iv>smkzxksgdqa=</iv></encryptionmethod> <EncryptionMethod Algorithm="urn:nist-gov:tripledes-ede-cbc "><IV>SmkzxKsgdqA=</IV></ EncryptionMethod> <CipherText >svjhjiw5qniey3brbpamnocz/ja+rmng0plo7vwnmtp+vpvs53c0yvdeb4gmyecobtae00s8l0cy <CipherText>sVjhJIW5QnIeY3brbpamNOcz/Ja+RmnG0pLo7vWnmTp+vpVs53c0YVDeb4gmYEcOBTAe00S8l0cy SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh7QDMbvM7ACdT SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh7QDMbvM7ACdT 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhRRAuwUc3A4Rqa 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhRRAuwUc3A4Rqa H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9 RqzhmBQ=</ CipherText ></EncryptedData> H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText></EncryptedData> </SOAP-ENV:Body> </SOAP-ENV:Body> </SOAP-ENV:Envelope> </SOAP-ENV: Envelope> verschlüsselter Datenstrom Standard Algorithmus (Entschlüsselung) Schlüssel mqgibdtzzz0rbadooblh8nrsno6xiognjizm+adhsgoyuzwf3vby1hk6v63gdb97 RdJrPt5UZ7ygCpY43rof6h6jYzeGs/JJJQVLrYiM9/sguoC7+ZTP6W8TNo3imzYE mqgibdtzzz0rbadooblh8nrsno6xiognjizm+adhsgoyuzwf3vby1hk6v63gdb97 OV+jJDmVrj6nylbXnjhtThP5PQ82oYfRa2NUVJl4L6M23FlZo4hZ9qZ7HwCg/8+K RdJrPt5UZ7ygCpY43rof6h6jYzeGs/JJJQVLrYiM9/sguoC7+ZTP6W8TNo3imzYE Ed0XdgY7ZK2ySJW69M6IYMMEAJmZP/hSysTAxO3my6V/9cJneUIW6l7cImWwFKxO OV+jJDmVrj6nylbXnjhtThP5PQ82oYfRa2NUVJl4L6M23FlZo4hZ9qZ7HwCg/8+K 5np13Dn0tomSLLt0R1dhqdrr4493C0wnzeqODDKbMbC0aCVy0Yo38pmwkFBoQQrd Ed0XdgY7ZK2ySJW69M6IYMMEAJmZP/hSysTAxO3my6V/9cJneUIW6l7cImWwFKxO q3lsgl6ke0oijhjpyohn+7hpdz2pydyr1olhk//aew0dvtf4sqatnw7eokdhef0q 5np13Dn0tomSLLt0R1dhqdrr4493C0wnzeqODDKbMbC0aCVy0Yo38pmwkFBoQQrd /AQGA/0X4mGFwgMqAxLyYWncHkTsOUT7XPKvCtA8BMWV7gi+48CcnqABdyjT7iWv q3lsgl6ke0oijhjpyohn+7hpdz2pydyr1olhk//aew0dvtf4sqatnw7eokdhef0q I1n9wr8CK4d/eZVw+yq9xGs0+XVNoQ7q/unQ05wyZEkD/x9OaAtAoDSjaDeXsg9w /AQGA/0X4mGFwgMqAxLyYWncHkTsOUT7XPKvCtA8BMWV7gi+48CcnqABdyjT7iWv BlbF3w6gCOnoqRqUNSIlj9uD5/awmfUaSZY2JfuuxDj4bkEi87QeTWFyaW8gSmVj I1n9wr8CK4d/eZVw+yq9xGs0+XVNoQ7q/unQ05wyZEkD/x9OaAtAoDSjaDeXsg9w a2xlidxtyxjpb0bqzwnrbguuzgu+iqbybbaragaybqi7c82dcasdcqghagekahkb BlbF3w6gCOnoqRqUNSIlj9uD5/awmfUaSZY2JfuuxDj4bkEi87QeTWFyaW8gSmVj BRsDAAAAAAoJEOOrbdtBMBqsZB4AoL8rSS5U6EUYy8qeiLzuFo0u89v5AKCMGlRP a2xlidxtyxjpb0bqzwnrbguuzgu+iqbybbaragaybqi7c82dcasdcqghagekahkb BRsDAAAAAAoJEOOrbdtBMBqsZB4AoL8rSS5U6EUYy8qeiLzuFo0u89v5AKCMGlRP <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle=" <number1xsi:type="xsd:int">1</number1> <number2xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> XML Dokument W11 Sicherheit und Vertraulichkeit mit SOAP 18

19 XML Encryption Auswahl des (geeignetsten) Verschlüsselungsalgorithmus (Interoperabilität,, Exportbeschränkungen, Schlüssellängen,...) Verwaltung der benötigten Schlüssel (z.b. Public Key Infrastruktur) Einbindung der Verschlüsselungsroutinen in Applikationen, oder Bereitstellung eines entsprechenden Dienstes Festlegung der Verschlüsselungsgranularität (gesamter Aufruf, einzelne XML-Elemente, Elementinhalte,...) W11 Sicherheit und Vertraulichkeit mit SOAP 19

20 XML Encryption -- Ablauf XML-Schicht SOAP BEEP SMTP HTTP SSL MIME Verschlüsselung (zunächst) applikationstransparent Erzeugung des SOAP-Aufruf Aufruf unverändert Verschlüsselung des Aufrufs vor Versendung über Leitung W11 Sicherheit und Vertraulichkeit mit SOAP 20

21 XML Encryption -- Ablauf Applikations- Implementierung (z.b. Java) URL url = new URL url = new URL(" URL(" Call mycall = new Call(); Call mycall = new Call(); mycall.settargetobjecturi("urn:numberadder"); mycall.settargetobjecturi("urn:numberadder"); mycall.setmethodname("add"); mycall.setmethodname("add"); mycall.setencodingstyleuri(constants.ns_uri_soap_enc); mycall.setencodingstyleuri(constants.ns_uri_soap_enc); Vector params = new Vector(); Vector params = new Vector(); params.addelement(new Parameter("number1", params.addelement(new Parameter("number1", Integer.class, argv[0], null)); Integer.class, argv[0], null)); params.addelement(new Parameter("number2", params.addelement(new Parameter("number2", Integer.class, argv[1], null)); Integer.class, argv[1], null)); mycall.setparams(params); mycall.setparams(params); Response resp = mycall.invoke(url, null); Response resp = mycall.invoke(url, null); W11 Sicherheit und Vertraulichkeit mit SOAP 21

22 XML Encryption -- Ablauf SOAP-Aufruf (Body unverändert) <?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope <SOAP-ENV:Envelope xmlns:soap-env= xmlns:soap-env= " " xmlns:xsi=" xmlns:xsi=" xmlns:xsd=" xmlns:xsd=" <SOAP-ENV:Body> <SOAP-ENV:Body> URL url = new <ns1:add xmlns:ns1="urn:numberadder" URL url = new <ns1:add xmlns:ns1="urn:numberadder" URL(" SOAP-ENV:encodingStyle= URL(" SOAP-ENV:encodingStyle= Call mycall = new Call(); " Call mycall = new Call(); " mycall.settargetobjecturi("urn:numberadder"); <number1 xsi:type="xsd:int">1</number1> mycall.settargetobjecturi("urn:numberadder"); <number1 xsi:type="xsd:int">1</number1> mycall.setmethodname("add"); <number2 xsi:type="xsd:int">2</number2> mycall.setmethodname("add"); <number2 xsi:type="xsd:int">2</number2> mycall.setencodingstyleuri(constants.ns_uri_soap_enc); </ns1:add> mycall.setencodingstyleuri(constants.ns_uri_soap_enc); </ns1:add> Vector params = new Vector(); </SOAP-ENV:Body> Vector params = new Vector(); </SOAP-ENV:Body> params.addelement(new Parameter("number1", </SOAP-ENV:Envelope> params.addelement(new Parameter("number1", </SOAP-ENV:Envelope> Integer.class, argv[0], null)); Integer.class, argv[0], null)); params.addelement(new Parameter("number2", params.addelement(new Parameter("number2", Integer.class, argv[1], null)); Integer.class, argv[1], null)); mycall.setparams(params); mycall.setparams(params); Response resp = mycall.invoke(url, null); Response resp = mycall.invoke(url, null); W11 Sicherheit und Vertraulichkeit mit SOAP 22

23 XML Encryption -- Ablauf <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope <?xml version="1.0" xmlns:soap-env= encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env= " xmlns:xsd=" " xmlns:xsi=" xmlns:xsd=" xmlns:xsi=" <SOAP-ENV:Body> <SOAP-ENV:Body> <EncryptedData Type="Element" xmlns= Verschlüsselter <EncryptedData Type="Element" xmlns= " <EncryptedKey> " Inhalt (d.h. Body) des <EncryptedKey> <EncryptionMethod Algorithm="urn:rsadsi-com:rsa-v1.5"/> <KeyInfo <EncryptionMethod xmlns=" Algorithm="urn:rsadsi-com:rsa-v1.5"/> SOAP-Aufrufs <KeyInfo <KeyName>key</KeyName> xmlns=" <KeyName>key</KeyName> </KeyInfo> <CipherText>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1v </KeyInfo> <CipherText>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1v QfSOqbWTU/BV6GudWGy0VHCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT 9ux+nRDmqyS5VYHXiuPGvjBKu4CR7EtWXNFtH25WghY0ojd74=</CipherText> QfSOqbWTU/BV6GudWGy0VHCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT 9ux+nRDmqyS5VYHXiuPGvjBKu4CR7EtWXNFtH25WghY0ojd74=</CipherText> </EncryptedKey> </EncryptedKey> <EncryptionMethod Algorithm= <?xml version='1.0' <EncryptionMethod encoding='utf-8'?> <?xml version='1.0' "urn:nist-gov:tripledes-ede-cbc"><iv>smkzxksgdqa=</iv> Algorithm= encoding='utf-8'?> <SOAP-ENV:Envelope"urn:nist-gov:tripledes-ede-cbc"><IV>SmkzxKsgdqA=</IV> <SOAP-ENV:Envelope </EncryptionMethod> xmlns:soap-env= xmlns:soap-env= <CipherText>sVjhJIW5QnIeY3brbpamNOcz/Ja+RmnG0pLo7vWnmTp+vpVs53c0YVD </EncryptionMethod> " <CipherText>sVjhJIW5QnIeY3brbpamNOcz/Ja+RmnG0pLo7vWnmTp+vpVs53c0YVD " eb4gmyecobtae00s8l0cysjpkgkgbvksd9zo6u2lps466kxip5ndvrgjchznp8tro5m xmlns:xsi=" b90g2gb56bw+iyskkh7qdmbvm7acdt6sgauu0dsgit3q5ktt1qqwq4easdz1shhpvyr eb4gmyecobtae00s8l0cysjpkgkgbvksd9zo6u2lps466kxip5ndvrgjchznp8tro5m xmlns:xsi=" xmlns:xsd=" BXPRI//3QGyjrnOOclh8T5eqRhRRAuwUc3A4RqaH7M6QTIb36vOTBRuFbfFESBw8648 b90g2gb56bw+iyskkh7qdmbvm7acdt6sgauu0dsgit3q5ktt1qqwq4easdz1shhpvyr xmlns:xsd=" BXPRI//3QGyjrnOOclh8T5eqRhRRAuwUc3A4RqaH7M6QTIb36vOTBRuFbfFESBw8648 <SOAP-ENV:Body> Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText> <SOAP-ENV:Body> Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText> URL url = new <ns1:add </EncryptedData> xmlns:ns1="urn:numberadder" URL url = new <ns1:add </EncryptedData> xmlns:ns1="urn:numberadder" URL(" SOAP-ENV:encodingStyle= </SOAP-ENV:Body> URL(" SOAP-ENV:encodingStyle= </SOAP-ENV:Envelope> </SOAP-ENV:Body> Call mycall = new Call(); " </SOAP-ENV:Envelope> Call mycall = new Call(); " mycall.settargetobjecturi("urn:numberadder"); <number1 xsi:type="xsd:int">1</number1> mycall.settargetobjecturi("urn:numberadder"); <number1 xsi:type="xsd:int">1</number1> mycall.setmethodname("add"); <number2 xsi:type="xsd:int">2</number2> mycall.setmethodname("add"); <number2 xsi:type="xsd:int">2</number2> mycall.setencodingstyleuri(constants.ns_uri_soap_enc); </ns1:add> mycall.setencodingstyleuri(constants.ns_uri_soap_enc); </ns1:add> Vector params = new Vector(); </SOAP-ENV:Body> Vector params = new Vector(); </SOAP-ENV:Body> params.addelement(new Parameter("number1", </SOAP-ENV:Envelope> params.addelement(new Parameter("number1", </SOAP-ENV:Envelope> Integer.class, argv[0], null)); Integer.class, argv[0], null)); params.addelement(new Parameter("number2", params.addelement(new Parameter("number2", Integer.class, argv[1], null)); Integer.class, argv[1], null)); mycall.setparams(params); mycall.setparams(params); Response resp = mycall.invoke(url, null); Response resp = mycall.invoke(url, null); W11 Sicherheit und Vertraulichkeit mit SOAP 23

24 XML Encryption <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env= " xmlns:xsi= " xmlns:xsd=" <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle= " <number1 xsi:type="xsd:int">1</number1> <number2 xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> W11 Sicherheit und Vertraulichkeit mit SOAP 24

25 XML Encryption <?xml <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env= " xmlns:xsi= " xmlns:xsd=" <SOAP-ENV:Body> <EncryptedData Type="Element" xmlns=" <EncryptedKey> <EncryptionMethod Algorithm= "urn:rsadsi-com:rsa-v1.5"/> <KeyInfo xmlns=" <KeyName>key</KeyName> </KeyInfo> </SOAP-ENV:Body> </SOAP-ENV:Envelope> W11 Sicherheit und Vertraulichkeit mit SOAP 25

26 XML Encryption <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:soap-env=" xmlns:xsd=" xmlns:xsi=" <SOAP-ENV:Body> xmlns:xsd=" <SOAP-ENV:Body> <EncryptedData Type="Element" xmlns=" <EncryptedData Type="Element" xmlns=" <EncryptedKey> <EncryptedKey> <EncryptionMethod Algorithm="urn:rsadsi-com:rsa-v1.5"/> <EncryptionMethod <KeyInfo xmlns=" Algorithm="urn:rsadsi-com:rsa-v1.5"/> <KeyInfo <KeyName>key</KeyName> xmlns=" </KeyInfo> <KeyName>key</KeyName> </KeyInfo> <CipherText>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWTU/BV6GudWGy0V HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiuPGvjBKu4CR7E twxnfth25wghy0ojd74=</ciphertext> </EncryptedKey> <EncryptionMethod Algorithm="urn:nist-gov:tripledes-ede-cbc"> <IV>SmkzxKsgdqA=</IV> </EncryptionMethod> <CipherText>sVjhJIW5QnIeY3brbpamNOcz/Ja+RmnG0pLo7vWnmTp+vpVs53c0YVDeb4gmYEcOBTAe00S8l0cy SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh7QDMbvM7ACdT 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhRRAuwUc3A4Rqa H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText> </EncryptedData> </SOAP-ENV:Body> </SOAP-ENV:Envelope> </SOAP-ENV:Body> </SOAP-ENV:Envelope> W11 Sicherheit und Vertraulichkeit mit SOAP 26

27 XML Encryption Ziel: Schutz der Vertraulichkeit Frei wählbare Granularität der Verschlüsselung (Element, Elementinhalt, vollständiger Teilbaum,...) Frei wählbarer Verschlüsselungsalgorithmus Struktur-zerstörende Transformation (Verschlüsseltes Dokument ist jedoch noch schema- valid SOAP) XML-externe Schlüsselverwaltung notwendig Eingriff in Applikationscode (oder ggf. entsprechender Service) W11 Sicherheit und Vertraulichkeit mit SOAP 27

28 SSL und SOAP XML-Schicht SOAP BEEP SMTP HTTP SSL MIME... Ziel: Transparente Sicherung unterhalb der Darstellungsschicht Bekannteste Anwendung: Mit HTTP zu HTTPS kombiniert (ursprünglich) zur Sicherung von HTTP-Verbindungen konzipiert Durch Web-Server implementiert (z.b. mod_ssl ssl) ) und gängige Browser unterstützt (z.b. NC, IE,, Opera, Mozilla, Lynx,...) Einsatz für XML vollkommen, und für SOAP praktisch transparent W11 Sicherheit und Vertraulichkeit mit SOAP 28

29 Secure Sockets Layer XML-Schicht SOAP BEEP SMTP HTTP SSL SSL MIME SOAP-Aufruf Aufruf unverändert; SOAP-Endpoint Port 443 Durch Zertifikatsaustausch auf längerfristige Kommunikation ausgelegt Inhalte der Transportschicht werden verschlüsselt übertragen W11 Sicherheit und Vertraulichkeit mit SOAP 29

30 SSL und SOAP SSL SSL handshake client Verbindungsaufbauphase Verhandlungsphase ClientHello ServerHello Zertifikat Schlüsselaustauschparameter Zertifikatsanfrage ServerHelloDone Zertifikat Schlüsselinformation Zertifikatsanfrage Änderung Verschlüsselungsalgorithmus Finished Änderung Verschlüsselungsalgorithmus Finished server ClientHello umfaßt: Geordnete Liste unterstützter Krypto-Algorithmen Geordnete Liste unterstützter Kompressionsmethoden ServerHello umfaßt: Gewählter Krypto-Algorithmus (aus Client-Liste) Gewählte Kompressionsmethode (aus Client-Liste) Server-Zertifikat (optional) Parameter für den Schlüsselaustausch (optional) Zertifikatsanfrage (nach Client-Zertifikat (optional)) Abstimmung bezüglich: Protokollversion Verschlüsselungsalgorithmus Gegenseitige Authentifizierung (optional) mit public key Techniken Finish umfaßt: Client-Zertifikat (optional) Client-Schlüssel (optional) Ergebnis der Server-Zertifikats-Prüfung (optional) Evtl. Abänderung des vorgeschlagenen Verschlüsselungsalgorithmus (kann durch Client und Server gleichermaßen geschehen) SSL-gesicherter Datenverkehr W11 Sicherheit und Vertraulichkeit mit SOAP 30

31 SSL und SOAP -- Zertifikate Certification Authority Version: V3 Version: V3 Subject: Subject: CN=alice.daimlerchrysler.com, OU=FT3/EK, O=DaimlerChrysler, CN=alice.daimlerchrysler.com, L=Ulm, ST=Baden OU=FT3/EK, Wuerttemberg, C=DE O=DaimlerChrysler, L=Ulm, ST=Baden Wuerttemberg, C=DE Signature Algorithm: MD5withRSA, OID = Signature Algorithm: MD5withRSA, OID = Key: com.sun.net.ssl.internal.ssl.jsa_rsapublickey@45e044 Key: com.sun.net.ssl.internal.ssl.jsa_rsapublickey@45e044 Validity: [From: Mon Oct 01 17:06:24 CEST 2001, To: Thu Validity: Oct 11 17:06:24 [From: Mon CEST Oct2001] 01 17:06:24 CEST 2001, To: Thu Oct 11 17:06:24 CEST 2001] Issuer: Address=mario.jeckle@daimlerchrysler.com, Issuer: CN=DCX, Address=mario.jeckle@daimlerchrysler.com, OU=Research and Technology, O=DaimlerChrysler, CN=DCX, OU=Research L=Ulm, and Technology, ST=Baden Wuerttemberg, C=DE O=DaimlerChrysler, L=Ulm, ST=Baden Wuerttemberg, C=DE SerialNumber: [ 1f] SerialNumber: [ 1f] Server signiert CA Zertifikate Austausch signierter Zertifikate Eigentümer: Address=john@example.com, CN=John Doe, Eigentümer: O=Example.Com, Address=john@example.com, L=NoNameCity, ST=Example CN=John State, C=DE Doe, O=Example.Com, L=NoNameCity, ST=Example State, C=DE Aussteller: Address=mario.jeckle@daimlerchrysler.com, Aussteller: CN=Mario Address=mario.jeckle@daimlerchrysler.com, Jeckle, OU=Research and Technology, O=DaimlerChrysler, CN=Mario Jeckle, OU=Research L=Ulm, ST=BadenWuerttemberg, and Technology, C=DE O=DaimlerChrysler, L=Ulm, ST=BadenWuerttemberg, C=DE Seriennummer 1 Seriennummer 1 Gültig ab: Wed Oct 03 22:23:36 CEST 2001 bis: Fri Nov 02 Gültig 21:23:36 ab: CET Wed 2001 Oct 03 22:23:36 CEST 2001 bis: Fri Nov 02 21:23:36 CET 2001 Zertifikatfingerabdrücke: Zertifikatfingerabdrücke: MD5: CA:7F:9F:02:28:E1:57:B0:AC:C5:08:1D:C8:77:4E:3C MD5: CA:7F:9F:02:28:E1:57:B0:AC:C5:08:1D:C8:77:4E:3C SHA1: 4D:50:28:A0:43:AA:87:BF:56:8D:8D:0B:2E:F7:4C:29:4D:37 SHA1: :3E:71 4D:50:28:A0:43:AA:87:BF:56:8D:8D:0B:2E:F7:4C:29:4D:37 :3E:71 signiert Client Server Zertifikat Server Zertifikate Client Zertifikat CA Zertifikate W11 Sicherheit und Vertraulichkeit mit SOAP 31

32 SSL und SOAP SSL SSL handshake Server-Zertifikat bereits vorhanden [nein] Signateur vertrauenswürdig [ja] Zertifikat vertrauenswürdig [ja] Zertifikat ablegen [ja] [nein] [nein] [nein] [ja] W11 Sicherheit und Vertraulichkeit mit SOAP 32

33 SSL und SOAP Beispiel KeyManager KeyManager []km []km = null; null; TrustManager TrustManager []tma []tma = {new {newmyx509trustmanager()}; SSLContext SSLContext sslcontext sslcontext = SSLContext.getInstance("SSL"); sslcontext.init(km,tma,new java.security.securerandom()); SSLSocketFactory sf sf = sslcontext.getsocketfactory(); Socket Socket sock=new sock=new Socket("alice",443); SSLSocket SSLSocket sslsock=(sslsocket)sf.createsocket(sock, "alice", "alice", 443, 443, true); true); sslsock.starthandshake(); javax.securtiy.cert.x509certificate[] c = sslsock.getsession().getpeercertificatechain(); ByteArrayOutputStream baos baos = new new ByteArrayOutputStream(1024); baos.write(c[0].getencoded(), 0, 0, (c[0].getencoded()).length ); ); ByteArrayInputStream bais bais = new new ByteArrayInputStream(baos.toByteArray(), 0, 0, (c[0].getencoded()).length); CertificateFactory cf cf = CertificateFactory.getInstance("X.509"); java.security.cert.certificate cert cert = cf.generatecertificate(bais); W11 Sicherheit und Vertraulichkeit mit SOAP 33

34 SSL und SOAP SOAP Dienstaufruf URL URL url url = new new URL(" Call Call mycall = new new Call(); mycall.settargetobjecturi("urn:numberadder"); mycall.setmethodname("add"); mycall.setencodingstyleuri(constants.ns_uri_soap_enc); Vector params = new newvector(); params.addelement(new Parameter("number1", Integer.class, argv[1], null)); params.addelement(new Parameter("number2", Integer.class, argv[1], null)); mycall.setparams(params); Response resp resp = mycall.invoke(url, null); W11 Sicherheit und Vertraulichkeit mit SOAP 34

35 SSL und SOAP Implementierung des SSL handshake muß durch Applikation erfolgen. Keine Integration in SOAP-Aufruf Aufruf möglich! Organisatorischer Aufwand durch Beschaffung CA-signierter Server-Zertifikate Durchführung des SSL handshake vor jedem SOAP- Aufruf hat Auswirkungen auf Laufzeitverhalten. Negativ insbesondere bei einmaliger Kommunikation u.u. Strategie zur Ablage der Serverzertifikate sinnvoll oder gar organisatorisch notwendig W11 Sicherheit und Vertraulichkeit mit SOAP 35

36 Organisatorisch- / Technische Voraussetzungen HTTP-Port (80) SOAP Endpoint (z.b. 80, 8080) Client SOAP-Unterstützung SSL-Unterstützung SSL-Port (443) Web-Server SOAP-Modul SSL-Modul Dienst SOAP-Unterstützung (Client- und Server-seitig seitig) Freischaltung SSL-Port SSL-Unterstützung (Client- und Server-seitig seitig) W11 Sicherheit und Vertraulichkeit mit SOAP 36

37 Vergleich HTTPS (SSL)) und S-HTTPS HTTPS (HTTP über SSL) Langfristige Kommunikationsbeziehung Transportprotokoll Eingriff in Firewall-Regeln notwendig Fixierte Sicherheitsstufe Vergleichsweise leichte Implementier- und Administrierbarkeit Große Verbreitung und Unterstützung S-HTTP (secure HTTP) Spontankommunikation Applikationsprotokoll Firewall-Regeln unverändert Frei wählbare Sicherheitsstufe u. U. komplexe Administration Kaum verbreitet W11 Sicherheit und Vertraulichkeit mit SOAP 37

38 Erfüllung der Anforderungen Vertraulichkeit (confidentiality( confidentiality) XML Encryption SSL Berechtigung (authorization( authorization) XML Digital Signature SSL (Daten-)konsistenz (data integrity) XML Digital Signature SSL Glaubwürdigkeit des Ursprungs (message( origin authentication) XML Digital Signature SSL Verbindlichkeit (non-repudiation repudiation) XML Digital Signature SSL W11 Sicherheit und Vertraulichkeit mit SOAP 38

39 Sicheres SOAP in der Praxis Im Extranet-/Internetverkehr sollten alle (business-)nachrichten und RPCs (zumindest) digital signiert werden Kombination von digitaler Signatur und SSL kein Widerspruch SSL-Verschlüsselung ist zumeist sehr schwach, daher Kombination von SSL und XML Encryption u. U. sinnvoll SOAP-Sicherheit Sicherheit sollte im Kontext einer Public Key Infrastruktur (RFC( 2459) mitberücksichtigt werden Teilweise reichen die vorgestellten Mechanismen nicht aus... Zusätzlich Einsatz von Sicherheitsmechanismen tieferliegender Protokollebenen möglich (z.b. IPSEC) W11 Sicherheit und Vertraulichkeit mit SOAP 39

40 Werkzeuge und Applikationen Sicheres SOAP mit dem MS-SOAP SOAP-Toolkit xml.microsoft.comcom Apache SOAP v1.2 und Servlet Engine Tomcat xml.apache.org SUN JSSE-API java.sun.com IBM JSSE-Implementierung W3C's XML Digital Signatures XML Encryption Secure Sockets Layer (IETF Draft) draft-freier freier-ssl-version3-02 SOAP Security Extensions Dieser Vortrag und weiterführende Information zum Thema W11 Sicherheit und Vertraulichkeit mit SOAP 40

SOAP aber sicher?! Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

SOAP aber sicher?! Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. SOAP aber sicher?! Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung Anforderungen an SOAP-Sicherheitsmechanismen Existierende

Mehr

Konzepte und Standards sicherer Web-Services

Konzepte und Standards sicherer Web-Services Konzepte und Standards sicherer Web-Services Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung Anforderungen an SOAP-Sicherheitsmechanismen

Mehr

XML-basierter Datentransport SOAP und der W3C-standardisierte Nachfolger Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

XML-basierter Datentransport SOAP und der W3C-standardisierte Nachfolger Mario Jeckle DaimlerChrysler Forschungszentrum Ulm XML-basierter Datentransport SOAP und der W3C-standardisierte Nachfolger Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung I Herausforderung:

Mehr

Security and Privacy mit XML

Security and Privacy mit XML Security and Privacy mit XML Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. sd&m-konferenz 2003: Web Services Inhaltsübersicht XML Security Standards Anwendung Grundlagen Erfahrungen Besonderheiten

Mehr

Web Service Security

Web Service Security Informatik Masterstudiengang SS 2005 Anwendungen I Web Service Security Thies Rubarth Übersicht Einleitung Secure Socket Layer XML Encryption & XML Signature WS-* WS-Security WS-Policy WS-Trust Angebot

Mehr

SAX-basierte Validierung von WS-Security-angereicherten SOAP- Nachrichten gegen eine Security Policy

SAX-basierte Validierung von WS-Security-angereicherten SOAP- Nachrichten gegen eine Security Policy SAX-basierte Validierung von WS-Security-angereicherten SOAP- Nachrichten gegen eine Security Policy Ralph Herkenhöner Arbeitsgruppe Kommunikationssysteme Institut für Informatik Christian-Albrechts-Universität

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen. Fabian Pretsch

Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen. Fabian Pretsch Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen Fabian Pretsch Ziel Implementierung von XML Encryption/Signature in Java Testen der Implementierung auf

Mehr

Sicherheitsaspekte von Web Services. Hauptseminar Rechnernetze

Sicherheitsaspekte von Web Services. Hauptseminar Rechnernetze Sicherheitsaspekte von Web Services Hauptseminar Rechnernetze Stefan Hennig sh790883@inf.tu-dresden.de 21. Januar 2005 Gliederung Einführung Überblick Sicherheit auf Netzwerk- und Transportebene XML-Sicherheit

Mehr

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Übersicht Internetsicherheit Protokoll Sitzungen Schlüssel und Algorithmen vereinbaren Exportversionen Public Keys Protokollnachrichten 29.10.2003 Prof.

Mehr

Sicherheit in Web Services. Seminar Service-orientierte Software Architekturen Melanie Storm

Sicherheit in Web Services. Seminar Service-orientierte Software Architekturen Melanie Storm Sicherheit in Web Services Seminar Service-orientierte Software Architekturen Melanie Storm Agenda Motivation Fallbeispiel WS-Security XML Encryption XML Signature WS-Policy WS-SecurityPolicy WS-Trust

Mehr

Web Service Security Aktuelle Themen der Informatik

Web Service Security Aktuelle Themen der Informatik Aktuelle Themen der Informatik Damian Schlager CN8 Inhalt 1 Einführung...3 1.1 Anforderungen an die Sicherheit...3 1.2 Erweiterung der Sicherheitsanforderungen an XML...3 1.3 Einordnung bisheriger Sicherheitsmechanismen...3

Mehr

Denn es geht um ihr Geld:

Denn es geht um ihr Geld: Denn es geht um ihr Geld: [A]symmetrische Verschlüsselung, Hashing, Zertifikate, SSL/TLS Warum Verschlüsselung? Austausch sensibler Daten über das Netz: Adressen, Passwörter, Bankdaten, PINs,... Gefahr

Mehr

Auszug aus der Schulung Web Services Sicherheit

Auszug aus der Schulung Web Services Sicherheit Auszug aus der Schulung Web Services Sicherheit Dieses Dokument ist ein Auszug aus unserem Skript zur Schulung Web Services Sicherheit. Es dient als Beispiel für unsere Kursunterlagen. Thomas Bayer Nikolausstraße

Mehr

3. Web Service Security 3.1 WS-Security. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

3. Web Service Security 3.1 WS-Security. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit XML- und Webservice- Sicherheit 3. Web Service Security 3.1 WS-Security Gliederung 1. SOAP 2. WS-Security: Der SOAP Security Header 3. Security Tokens in WS-Security S 4. XML Signature in WS-Security 5.

Mehr

IT-Sicherheit SSL/TLS. Jens Kubieziel. Fakultät für Mathematik und Informatik. 6. Januar 2012

IT-Sicherheit SSL/TLS. Jens Kubieziel. Fakultät für Mathematik und Informatik. 6. Januar 2012 IT-Sicherheit SSL/TLS Jens Kubieziel Fakultät für Mathematik und Informatik 6. Januar 2012 Jens Kubieziel (FSU Jena) IT-Sicherheit 6. Januar 2012 1 / 14 Überblick Secure Sockets Layer (SSL) bzw. Transport

Mehr

Web Services. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de

Web Services. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Web Services Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung Web Services -- Einordnung und historischer Kontext Web Services

Mehr

Vertrauliche Videokonferenzen im Internet

Vertrauliche Videokonferenzen im Internet Vertrauliche Videokonferenzen im Internet Luigi Lo Iacono, Christoph Ruland Institut für Digitale Kommunikationssysteme, Förderung DFG-Projekt (Ru 600/8-1) Internet Security System für Voice over IP unter

Mehr

Sicheres HTTP. 8. Juni 2004. Proseminar Electronic Commerce und digitale Unterschriften

Sicheres HTTP. 8. Juni 2004. Proseminar Electronic Commerce und digitale Unterschriften Sicheres HTTP 8. Juni 2004 Proseminar Electronic Commerce und digitale Unterschriften Sicheres HTTP HTTP über SSL = sicheres HTTP Überblick HTTP: Protokoll zur Datenübertragung im Internet Klartextprotokoll

Mehr

SSL/TLS und SSL-Zertifikate

SSL/TLS und SSL-Zertifikate SSL/TLS und SSL-Zertifikate Konzepte von Betriebssystem-Komponenten Informatik Lehrstuhl 4 16.06.10 KvBK Wolfgang Hüttenhofer sethur_blackcoat@web.de Motivation Sichere, verschlüsselte End-to-End Verbindung

Mehr

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL 1 TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL Kleine Auswahl bekannter Sicherheitsprotokolle X.509 Zertifikate / PKIX Standardisierte, häufig verwendete Datenstruktur zur Bindung von kryptographischen

Mehr

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. IT-Security. Teil 4: SSL/TLS Dr. Erwin Hoffmann

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. IT-Security. Teil 4: SSL/TLS Dr. Erwin Hoffmann Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 IT-Security Teil 4: SSL/TLS Dr. Erwin Hoffmann E-Mail: it-security@fehcom.de Secure Socket Layer (SSL) Tranport Layser Security (TLS)

Mehr

Seminar Neue Techologien in Internet und WWW

Seminar Neue Techologien in Internet und WWW Seminar Neue Techologien in Internet und WWW Sicherheit auf der Anwendungsschicht: HTTP mit SSL, TLS und dabei verwendete Verfahren Christian Raschka chrisra@informatik.uni-jena.de Seminar Neue Internettechnologien

Mehr

WebService-Architekturen

WebService-Architekturen WebService-Architekturen W12 Mario Jeckle mario.jeckle jeckle@daimlerchrysler.comcom DaimlerChrysler Forschungszentrum Ulm Inhaltsübersicht WebService was ist das? Dienstanbieter (Service Provider) Dienstnachfrager

Mehr

Hacken von implementierungsspezifischen! SSL-Schwachstellen

Hacken von implementierungsspezifischen! SSL-Schwachstellen Hacken von implementierungsspezifischen! SSL-Schwachstellen Basic-Constraints-Schwachstelle Null-Präfix-Attacke Thomas Konrad, FH St. Pölten, Studiengang IT Security, is072033@fhstp.ac.at Wozu SSL? Authentizität

Mehr

XML-Webservices & SOAP

XML-Webservices & SOAP Definition Motivation 12.07.2010 Definition Motivation Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface

Mehr

Sicherung von Web Services durch Firewalls

Sicherung von Web Services durch Firewalls Sicherung von Web Services durch Firewalls Mario Jeckle, Barbara Zengler DaimlerChrysler Forschungszentrum Ulm {mario.jeckle, barbara.zengler}@daimlerchrysler.com www.jeckle.de Gliederung Kommunikation

Mehr

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08 XML-RPC & SOAP & Fabio Caprera Systemprogrammierung SS 08 Inhalt XML-RPC Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile SOAP Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile

Mehr

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS Digitale Signatur Digitale Signatur kombiniert Hash Funktion und Signatur M, SIGK(HASH(M)) wichtige Frage: Wie wird der Bithaufen M interpretiert Struktur von M muss klar definiert sein Wie weiss ich,

Mehr

Der zukünftige SOAP-Standard des W3C

Der zukünftige SOAP-Standard des W3C Der zukünftige SOAP-Standard des W3C Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung I Herausforderung: Kommunikation in heterogenen

Mehr

Web Service Security

Web Service Security Hochschule für Angewandte Wissenschaften Hamburg Fachbereich Elektrotechnik und Informatik SS 2005 Masterstudiengang Anwendungen I Kai von Luck Web Service Security Thies Rubarth rubart_t@informatik.haw-hamburg.de

Mehr

IT-Sicherheit Kapitel 11 SSL/TLS

IT-Sicherheit Kapitel 11 SSL/TLS IT-Sicherheit Kapitel 11 SSL/TLS Dr. Christian Rathgeb Sommersemester 2014 1 Einführung SSL/TLS im TCP/IP-Stack: SSL/TLS bietet (1) Server-Authentifizierung oder Server und Client- Authentifizierung (2)

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

Netzwerksicherheit Übung 5 Transport Layer Security

Netzwerksicherheit Übung 5 Transport Layer Security Netzwerksicherheit Übung 5 Transport Layer Security Tobias Limmer, Christoph Sommer, Christian Berger Computer Networks and Communication Systems Dept. of Computer Science, University of Erlangen-Nuremberg,

Mehr

Dipl.-Ök. Thorben Sandner Institut für Wirtschaftsinformatik Leibniz Universität Hannover. sandner@iwi.uni-hannover.de

Dipl.-Ök. Thorben Sandner Institut für Wirtschaftsinformatik Leibniz Universität Hannover. sandner@iwi.uni-hannover.de 23. Juni 2009 Dipl.-Ök. Thorben Sandner sandner@iwi.uni-hannover.de Überblick technische Maßnahmen Authentifizierung Autorisierung Kryptographie Public Key Infrastrukturen Firewalls Sichere Netzwerkverbindungen

Mehr

Verschlüsselung der Kommunikation zwischen Rechnern

Verschlüsselung der Kommunikation zwischen Rechnern Verschlüsselung der Kommunikation zwischen Rechnern Stand: 11. Mai 2007 Rechenzentrum Hochschule Harz Sandra Thielert Hochschule Harz Friedrichstr. 57 59 38855 Wernigerode 03943 / 659 0 Inhalt 1 Einleitung

Mehr

Ein Überblick über Security-Setups von E-Banking Websites

Ein Überblick über Security-Setups von E-Banking Websites Ein Überblick über Security-Setups von E-Banking Websites Stefan Huber www.sthu.org Linuxwochen Linz 2015 31. Mai 2015 Basierend auf Testergebnissen vom 28.03.2015 aus https://www.sthu.org/blog/11-tls-dnssec-ebanking/

Mehr

Semantic Web Technologien. Security and Trust. Sebastian Henke. Betreuer: Mark Giereth VIS 06

Semantic Web Technologien. Security and Trust. Sebastian Henke. Betreuer: Mark Giereth VIS 06 Semantic Web Technologien Security and Trust Sebastian Henke Betreuer: Mark Giereth Überblick Einführung Security Trust Verschlüsselung Pre-Shared-Key-Verfahren Public-Key-Verfahren Digitale Signatur Funktionsweise

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Securing SOAP e-services

Securing SOAP e-services Securing SOAP e-services Nilson Reyes Sommersemester 2004 aus: E. Damiani, S. De Capitani di Vermercati, S. Paraboschi, P. Samarati, Securing SOAP e-sservices, IJIS, Ausgabe 1 (2002), S.110-115. Gliederung

Mehr

Thema: Web Services. Was ist ein Web Service?

Thema: Web Services. Was ist ein Web Service? Willkommen zum Component Ware Seminar Thema: Achim Grimm & Fabian Unterschütz Folie 1 Was ist ein Web Service? Web Services sind selbstbeschreibende, modulare Softwarekomponenten im Internet, die sich

Mehr

Systemsicherheit 11 SSL/TLS

Systemsicherheit 11 SSL/TLS Systemsicherheit 11 SSL/TLS Das TCP/IP-Schichtenmodell Anwendungsschicht (FTP, HTTP, SMTP,...) Transportschicht (TCP, UDP) s-http https Internetschicht (IP) Netzwerkschicht (z.b. Ethernet, TokenRing,...)

Mehr

Keynote. SSL verstehen. Prof. Dr. Peter Heinzmann

Keynote. SSL verstehen. Prof. Dr. Peter Heinzmann ASec IT Solutions AG "Secure SSL" Tagung 9. September 2005, Hotel Mövenpick Glattbrugg Keynote SSL verstehen Prof. Dr. Peter Heinzmann Institut für Internet-Technologien und Anwendungen, HSR Hochschule

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Netzwerksicherheit Übung 5 Transport Layer Security

Netzwerksicherheit Übung 5 Transport Layer Security Netzwerksicherheit Übung 5 Transport Layer Security Tobias Limmer, Christoph Sommer, David Eckhoff Computer Networks and Communication Systems Dept. of Computer Science, University of Erlangen-Nuremberg,

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 7: Web Services IV Exkurs über Sicherheitsanforderungen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha

Mehr

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel Bernd Blümel 2001 Verschlüsselung Gliederung 1. Symetrische Verschlüsselung 2. Asymetrische Verschlüsselung 3. Hybride Verfahren 4. SSL 5. pgp Verschlüsselung 111101111100001110000111000011 1100110 111101111100001110000111000011

Mehr

Secure Socket Layer V.3.0

Secure Socket Layer V.3.0 Konzepte von Betriebssystem-Komponenten Schwerpunkt Internetsicherheit Secure Socket Layer V.3.0 (SSLv3) Zheng Yao 05.07.2004 1 Überblick 1.Was ist SSL? Bestandteile von SSL-Protokoll, Verbindungherstellung

Mehr

SSL-Protokoll und Internet-Sicherheit

SSL-Protokoll und Internet-Sicherheit SSL-Protokoll und Internet-Sicherheit Christina Bräutigam Universität Dortmund 5. Dezember 2005 Übersicht 1 Einleitung 2 Allgemeines zu SSL 3 Einbindung in TCP/IP 4 SSL 3.0-Sicherheitsschicht über TCP

Mehr

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner Adressübersetzung und Tunnelbildung Bastian Görstner Gliederung 1. NAT 1. Was ist ein NAT 2. Kategorisierung 2. VPN 1. Was heißt VPN 2. Varianten 3. Tunneling 4. Security Bastian Görstner 2 NAT = Network

Mehr

Lektion IV Praktischer Datenschutz I

Lektion IV Praktischer Datenschutz I Lektion IV Praktischer Datenschutz I Datenschutz beim Datentransport Inhalt Lektion IV n Angriffe beim Datentransport n Integritätsschutz - Hashfunktionen n Digitale Signatur n Schlüsselmanagement in Kryptosystemen

Mehr

Sichere Abwicklung von Geschäftsvorgängen im Internet

Sichere Abwicklung von Geschäftsvorgängen im Internet Sichere Abwicklung von Geschäftsvorgängen im Internet Diplomarbeit von Peter Hild Theoretische Grundlagen der Kryptologie Vorhandene Sicherheitskonzepte für das WWW Bewertung dieser Konzepte Simulation

Mehr

SSL VPNs 2G06. VPNs eine Übersicht. IT-Symposium 2004. Andreas Aurand Network Consultant NWCC, HP. www.decus.de

SSL VPNs 2G06. VPNs eine Übersicht. IT-Symposium 2004. Andreas Aurand Network Consultant NWCC, HP. www.decus.de SSL VPNs 2G06 Andreas Aurand Network Consultant NWCC, HP 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice VPNs eine Übersicht 1 VPNs Virtual

Mehr

Internet Security: Verfahren & Protokolle

Internet Security: Verfahren & Protokolle Internet Security: Verfahren & Protokolle 39 20 13 Vorlesung im Grundstudium NWI (auch MGS) im Sommersemester 2003 2 SWS, Freitag 10-12, H10 Peter Koch pk@techfak.uni-bielefeld.de 30.05.2003 Internet Security:

Mehr

Anmeldung über Netz Secure Socket Layer Secure Shell SSH 1 SSH 2. Systemverwaltung. Tatjana Heuser. Sep-2011. Tatjana Heuser: Systemverwaltung

Anmeldung über Netz Secure Socket Layer Secure Shell SSH 1 SSH 2. Systemverwaltung. Tatjana Heuser. Sep-2011. Tatjana Heuser: Systemverwaltung Systemverwaltung Tatjana Heuser Sep-2011 Anmeldung über Netz Secure Socket Layer Secure Shell Intro Client-Server SSH 1 Verbindungsaufbau SSH 2 Verbindungsaufbau Konfiguration Serverseite ssh Configuration

Mehr

IT-Sicherheit - Sicherheit vernetzter Systeme -

IT-Sicherheit - Sicherheit vernetzter Systeme - IT-Sicherheit - Sicherheit vernetzter Systeme - Kapitel 12: Netzsicherheit - Schicht 4: Transport Layer / TLS 1 Inhalt Transport Layer Funktionen Secure Socket Layer (); Transport Layer Security (TLS)

Mehr

Web Services Security

Web Services Security Web Services Security Dokumentation zu den Beispielen Vortrag vom 11.12.02 Svetoslav Draganov Einrichtung der Entwicklungsumgebung unter Windows NT/2000/XP 1. Herunterladen aller Packages - VeriSign Trust

Mehr

epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1

epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1 epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1 Übersicht Internet eshop n... Leistungen des Bundes Rechnung Lastschrift Einzelüberweisung

Mehr

Sicherheitskonzept und Sicherheitspru fung. Internetanbindung Befundserver MVZ Labor PD Dr. Volkmann und Kollegen GbR

Sicherheitskonzept und Sicherheitspru fung. Internetanbindung Befundserver MVZ Labor PD Dr. Volkmann und Kollegen GbR Sicherheitskonzept und Sicherheitspru fung Internetanbindung Befundserver MVZ Labor PD Dr. Volkmann und Kollegen GbR Einführung Die Firma MVZ Labor PD Dr. Volkmann und Kollegen GbR, nachstehend als Labor

Mehr

XML Encryption and Signature

XML Encryption and Signature XML Encryption and Signature Hauptseminar Datenbanken und XML Markus Hinkelmann 08. Januar 2002 Inhaltsverzeichnis 1 Motivation 2 2 Verschlüsselung in XML 2 2.1 Szenario..........................................

Mehr

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de XML-RPC, SOAP und Web Services Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was ist RPC? Was hat XML mit RPC zu tun? Was sind XML-RPC und SOAP? Was sind Web Services? Wird das die Welt retten?

Mehr

Allgemeine Übersicht WS-Security

Allgemeine Übersicht WS-Security Allgemeine Übersicht WS-Security Alexander Grünke Teleseminar: Web Services - Sommersemester 04 Betreuer: Jochen Dinger 06.07.2004 Inhalt Einleitung und Motivation Sicherheitsanforderungen an Web-Services

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis Wie Interoperabel ist IPsec? Ein Erfahrungsbericht Arturo Lopez Senior Consultant März 2003 Agenda Internet Protokoll Security (IPsec) implementiert Sicherheit auf Layer 3 in OSI Modell Application Presentation

Mehr

Public Key Infrastruktur. Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09

Public Key Infrastruktur. Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09 Public Key Infrastruktur Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09 Grundlagen Symmetrische Verschlüsselung Asymmetrische Verschlüsselung Hybridverschlüsselung Hashverfahren/Digitale Signaturen

Mehr

Secure Socket Layer v. 3.0

Secure Socket Layer v. 3.0 Konzepte von Betriebssystem-Komponenten Schwerpunkt Internetsicherheit Secure Socket Layer v. 3.0 (SSLv3) Zheng Yao 05.07.2004-1 - 1. Was ist SSL? SSL steht für Secure Socket Layer, ein Protokoll zur Übertragung

Mehr

FuE-Bereich IuK-Systeme im Gesundheitswesen

FuE-Bereich IuK-Systeme im Gesundheitswesen FuE-Bereich IuK-Systeme im Gesundheitswesen IG XML und Web Services Dipl.-Inform. Axel Schwolow IG Kommunikation im Web Entwicklung früher ausschließlich Kommunikation über Browser heute zunehmend direkt

Mehr

FH Schmalkalden Fachbereich Informatik. Kolloquium 21. März 2002

FH Schmalkalden Fachbereich Informatik. Kolloquium 21. März 2002 FH Schmalkalden Fachbereich Informatik http://www.informatik.fh-schmalkalden.de/ 1/17 Kolloquium 21. März 2002 Entwicklung eines JCA/JCE API konformen Kryptographischen Service Providers für HBCI unter

Mehr

XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick. heiko@vegan-welt.de GPN4: 22.05.2005

XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick. heiko@vegan-welt.de GPN4: 22.05.2005 XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick GPN4: 22.05.2005 Übersicht Wofür Signaturen? Wieso ein weiteres Signaturverfahren? Grundlagen Signatur-Typen Juristische Aspekte von Signaturen

Mehr

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013 Sicherheit in Netzwerken Leonard Claus, WS 2012 / 2013 Inhalt 1 Definition eines Sicherheitsbegriffs 2 Einführung in die Kryptografie 3 Netzwerksicherheit 3.1 E-Mail-Sicherheit 3.2 Sicherheit im Web 4

Mehr

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com Merkblatt: HSM Version 1.01 Systemvoraussetzungen, Setup und Trouble Shooting Kontakt: pdfsupport@pdf-tools.com Besitzer: PDF Tools AG Kasernenstrasse 1 8184 Bachenbülach Schweiz www.pdf-tools.com Copyright

Mehr

OWASP Top 10. im Kontext von Magento. Mittwoch, 21. November 12

OWASP Top 10. im Kontext von Magento. Mittwoch, 21. November 12 OWASP Top 10 im Kontext von Magento 1 Ich Fabian Blechschmidt (@Fabian_ikono) blechschmidt@fabianblechschmidt.de PHP seit 2004 Freelancer seit 2008 Magento seit 2011 Certified Magento Developer spielt

Mehr

Rosa Freund SSL/TLS 26.10.2005 SSL/TLS 26.10.2005. Institut für Mathematik, TU Berlin. Rosa Freund -- rosa@pool.math.tu-berlin.de

Rosa Freund SSL/TLS 26.10.2005 SSL/TLS 26.10.2005. Institut für Mathematik, TU Berlin. Rosa Freund -- rosa@pool.math.tu-berlin.de 1 SSL/TLS 26.10.2005 Institut für Mathematik, TU Berlin Rosa Freund -- rosa@pool.math.tu-berlin.de 2 Übersicht Einführung SSL vs. TLS SSL: Anwendung und PKI SSL Protokoll: Record Protocol und Handshake

Mehr

Verteilte Systeme, Wintersemester 1999/2000 Michael Weber

Verteilte Systeme, Wintersemester 1999/2000 Michael Weber ÿÿþýüûúùø öùõôõ óúöòüñõùüð óùõïõîíù ö 1 øúù ü óü ó ö óúöòü ü ôôíò ü õò ôù digest ÿþýüûúýüù Message Digest Eine Art Prüfsumme der Dokuments Kein Rückschluß auf die Nachricht möglich Es ist praktisch unmöglich

Mehr

Virtual Private Networks Hohe Sicherheit wird bezahlbar

Virtual Private Networks Hohe Sicherheit wird bezahlbar Virtual Private Networks Hohe Sicherheit wird bezahlbar Paul Schöbi, cnlab AG paul.schoebi@cnlab.ch www.cnlab.ch Präsentation unter repertoire verfügbar 27.10.99 1 : Internet Engineering Dr. Paul Schöbi

Mehr

IT-Sicherheit Kapitel 10 IPSec

IT-Sicherheit Kapitel 10 IPSec IT-Sicherheit Kapitel 10 IPSec Dr. Christian Rathgeb Sommersemester 2014 1 TCP/IP TCP/IP-Schichtenmodell: 2 TCP/IP Sicherheitsmechanismen in den Schichten: 3 TCP/IP TCP verpackt die Anwenderdaten in eine

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

Web Services. Dr. Wolfgang Süß

Web Services. Dr. Wolfgang Süß Service-orientierte Architektur (SOA) Architekturkonzept, da sich aus Diensten zusammensetzt. 3 Komponenten: Konnektoren: register Registrierung eines Dienstes bei einer Registry find Suchanfrage eines

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Programmieren II. WebServices. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. WebServices. www.kit.edu. Institut für Angewandte Informatik Programmieren II WebServices KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Service-orientierte Architektur (SOA) Architekturkonzept,

Mehr

Software Reuse Sommer 2004

Software Reuse Sommer 2004 8. Web Services Peter Sturm Universität Trier Ausgangspunkt Client/Server-Systeme Traditioneller RPC OO-Pendant RMI (CORBA) Probleme Installationbedarf auf Clientseite Aufwendige Installation auf Serverseite

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Transportorientierte Kommunikation und Public Key-Infrastruktur zur sicheren Datenübertragung von DICOM-Bilddokumenten

Transportorientierte Kommunikation und Public Key-Infrastruktur zur sicheren Datenübertragung von DICOM-Bilddokumenten Transportorientierte Kommunikation und Public Key-Infrastruktur zur sicheren Datenübertragung von DICOM-Bilddokumenten Walter H. Kullmann Zhao Ying Fachhochschule Würzburg-Schweinfurt Abteilung Schweinfurt

Mehr

Verteilte Systeme. 10.1 Unsicherheit in Verteilten Systemen

Verteilte Systeme. 10.1 Unsicherheit in Verteilten Systemen Verteilte Systeme Übung 10 Jens Müller-Iden Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster Sommersemester 2007 10.1 Unsicherheit in Verteilten

Mehr

PKI (public key infrastructure)

PKI (public key infrastructure) PKI (public key infrastructure) am Fritz-Haber-Institut 11. Mai 2015, Bilder: Mehr Sicherheit durch PKI-Technologie, Network Training and Consulting Verschlüsselung allgemein Bei einer Übertragung von

Mehr

Verteilte Systeme. Übung 10. Jens Müller-Iden

Verteilte Systeme. Übung 10. Jens Müller-Iden Verteilte Systeme Übung 10 Jens Müller-Iden Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster Sommersemester 2007 10.1 Unsicherheit in Verteilten

Mehr

Ausarbeitung zum Vortrag. Secure Socket Layer. von Jelle Hellmann im Rahmen der Vorlesung Sicherheit in Datennetzen von Herrn Prof.

Ausarbeitung zum Vortrag. Secure Socket Layer. von Jelle Hellmann im Rahmen der Vorlesung Sicherheit in Datennetzen von Herrn Prof. Ausarbeitung zum Vortrag Secure Socket Layer von Jelle Hellmann im Rahmen der Vorlesung Sicherheit in Datennetzen von Herrn Prof. Schäfer an der im WS 2004/2005 Inhaltsverzeichnis: INHALTSVERZEICHNIS:...

Mehr

ÖSTERREICH RECHNET MIT UNS. Standard e-rechnungs-webservice (SERWS) - Ideen DI Philip Helger, BRZ 17.02.2015

ÖSTERREICH RECHNET MIT UNS. Standard e-rechnungs-webservice (SERWS) - Ideen DI Philip Helger, BRZ 17.02.2015 ÖSTERREICH RECHNET MIT UNS Standard e-rechnungs-webservice (SERWS) - Ideen DI Philip Helger, BRZ 17.02.2015 www.brz.gv.at BRZ GmbH 2015 AGENDA Ausgangsbasis Webservice bei E-RECHNUNG.GV.AT SERWS Ziele

Mehr

SSL Secure Socket Layer Algorithmen und Anwendung

SSL Secure Socket Layer Algorithmen und Anwendung SSL Secure Socket Layer Algorithmen und Anwendung Präsentation vom 03.06.2002 Stefan Pfab 2002 Stefan Pfab 1 Überblick Motivation SSL-Architektur Verbindungsaufbau Zertifikate, Certification Authorities

Mehr

Architektur von SOAP basierten Web Services

Architektur von SOAP basierten Web Services Architektur von SOAP basierten Web Services André Homeyer 28.11.2005 Worst-Case einer verteilten Anwendung TravelTime Client Benutzerinterface WackyWing Server Flüge suchen TravelTime Server Flüge suchen

Mehr

Sicherheit in Netzen Modul 6: TLS Transport Layer Security

Sicherheit in Netzen Modul 6: TLS Transport Layer Security Sicherheit in Netzen Modul 6: TLS Transport Layer Security 1. TLS-Einordnung (Geschichte, OSI-Referenzmodell) 2. TLS-Datenübertragung 3. TLS Schlüssel und Algorithmen 4. TLS-Handshake 5. TLS-Implementierung

Mehr

Analyse von Sicherheitaspekten in Service-orientierten Architekturen

Analyse von Sicherheitaspekten in Service-orientierten Architekturen Analyse von Sicherheitaspekten in Service-orientierten Architekturen Vortragende: Jia Jia Betreuer: Dipl.-Inf. Matthias Lehmann Dresden,10.12.2009 10.12.2009 Analyse von Sicherheitaspekten in SOA 1 Gliederung

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaSbilität zu Standards (WS- I) Contracts

Mehr

SNMP und der MIB- Browser von MG-Soft

SNMP und der MIB- Browser von MG-Soft SNMP und der MIB- Browser von MG-Soft 1. SNMP 1.1 Was ist SNMP 1.2 Historie von SNMP 1.3 Einordnung in das OSI-Modell 1.4 Die Architektur von SNMP 1.5 Kommunikation von SNMP 1.6 SNMP-PDUs PDUs 2. MIB und

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 12.09.2002 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 12.09.2002 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 12.09.2002 J.M.Joller 1 Beschreibung Zugriff auf Web Services - SOAP Inhalt Einleitendes Beispiel Die SOAP Spezifikation SOAP Envelope SOAP

Mehr

Implementierung von Web Services: Teil I: Einleitung / SOAP

Implementierung von Web Services: Teil I: Einleitung / SOAP Implementierung von Web Services: Teil I: Einleitung / SOAP Prof. Dr. Kanne - FSS 2007 Carl-Christian Kanne, February 25, 2007 Web Services - p. 1/12 Web Services: Allgemein XML Datenaustauschformat plattformunabhängig

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 18.09.2002 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 18.09.2002 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 18.09.2002 J.M.Joller 1 Architektur von Web Services und ergänzende Technologien Inhalt Sicherheit WS-License und WS-Security Prozessfluss

Mehr

Das ISO / OSI -7 Schichten Modell

Das ISO / OSI -7 Schichten Modell Begriffe ISO = Das ISO / OSI -7 Schichten Modell International Standardisation Organisation Dachorganisation der Normungsverbände OSI Model = Open Systems Interconnection Model Modell für die Architektur

Mehr