Konzepte und Standards sicherer Web-Services

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Konzepte und Standards sicherer Web-Services"

Transkript

1 Konzepte und Standards sicherer Web-Services Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

2 Gliederung Anforderungen an SOAP-Sicherheitsmechanismen Existierende Lösungen XML Digital Signatures XML Encryption Secure Sockets Layer (Code-)Beispiele und Praktische Einsatzempfehlungen M. Jeckle Konzepte und Standards sicherer Web-Services

3 Anforderungen an einen SOAP-Sicherheitsmechanismus Vertraulichkeit (confidentiality) Schutz der Daten vor dem (lesenden) Zugriff unbefugter Dritter Berechtigung (authorization) Gewährleistet Befugnis des Anforderers zur Nutzung des Dienstes (Daten-)konsistenz (data integrity) Verlangt modifikationsfreies Eintreffen der versandten Daten Glaubwürdigkeit des Ursprungs (message origin authentication) Garantiert, daß eine Nachricht willentlich durch einen Sender erstellt wurde Verbindlichkeit (non-repudiation) Stellt sicher, daß der Sender die Autorenschaft nicht leugnen kann M. Jeckle Konzepte und Standards sicherer Web-Services

4 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) TCP IP (v4, v6), X.25, SPX, IPX UDP Sicherungsschicht (Data Link Layer) Bitübertragungsschicht (Physical Layer) HDLC, SLIP, PPP, Ethernet, IEEE 802.x analoges Modem, V. 90, ISDN, ADSL M. Jeckle Konzepte und Standards sicherer Web-Services

5 Sicherheitsebenen Applikations-Schicht (Application Layer) XML-Schicht XML Digital Signatures SOAP-Schicht (SOAP Layer) [Presentation Layer] Protokollschicht (wire protocol) [Session Layer] BEEP SMTP HTTP SOAP SSL MIME XML Encryption Applikations-Schicht (Application Layer) SOAP-Schicht (SOAP Layer) [Presentation Layer] Protokollschicht (wire protocol) [Session Layer] BEEP SMTP HTTP XML-Schicht SOAP SSL MIME Transaction Layer Security/ Secure Sockets Layer M. Jeckle Konzepte und Standards sicherer Web-Services

6 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=" /envelope/" <?xml version='1.0' encoding='utf-8'?> xmlns:xsi=" xmlns:xsd <SOAP-ENV:Envelope =" xmlns:soap-env=" /envelope/" <ns1:add xmlns:xsi=" xmlns:ns1="urn:numberadder " xmlns:xsd =" SOAP-ENV:encodingStyle=" <number1 xsi:type="xsd :int">1</number1> <ns1:add xmlns:ns1="urn:numberadder " <number2 xsi:type="xsd :int">2</number2> SOAP-ENV:encodingStyle=" </ns1:add> <number1 xsi:type="xsd :int">1</number1> </SOAP -ENV:Envelope> <number2 xsi:type="xsd :int">2</number2> </ns1:add> </SOAP -ENV:Envelope> <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" /envelope/" xmlns:xsi=" <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:xsd =" xmlns:soap-env=" /envelope/" xmlns:xsi=" <ns1:add xmlns:ns1="urn:numberadder " xmlns:xsd =" SOAP-ENV:encodingStyle=" <number1 xsi:type="xsd :int">1</number1> <number2 <ns1:add xsi:type="xsd xmlns:ns1="urn:numberadder :int">2</number2> " </ns1:add> SOAP-ENV:encodingStyle=" <number1 xsi:type="xsd :int">1</number1> <number2 xsi:type="xsd :int">2</number2> </SOAP -ENV:Envelope> </ns1:add> </SOAP -ENV:Envelope> NumberAdderCall Parameters number1 number2 value = 1 value = 2 Transportprotokoll (z.b. HTTP) Serialisierung und Encoding des Aufrufs Transportprotokoll (z.b. HTTP) Serialisierung und Encoding des Aufrufs Dienst- Dienst- Nutzer SOAP Envelope W3C's XML-Schema XML v1.0, 2 nd edition + Namespaces SOAP Envelope W3C's XML-Schema XML v1.0, 2 nd edition + Namespaces Erbringer M. Jeckle Konzepte und Standards sicherer Web-Services

7 Dienstaufruf (ungesichert) POST POST /axis/calculator.jws HTTP/1.0 HTTP/1.0 Content-Length: Host: Host: Content-Type: text/xml; text/xml; charset=utf-8 SOAPAction: " <?xml <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=" xmlns:soap-env=" xmlns:xsd=" xmlns:xsi=" <ns1:add <ns1:add xmlns:ns1=" <op1 <op1 xsi:type="xsd:int">2</op1> <op2 <op2 xsi:type="xsd:int">4</op2> </ns1:add> </SOAP-ENV:Envelope> M. Jeckle Konzepte und Standards sicherer Web-Services

8 Dienstergebnis (ungesichert) HTTP/1.1 HTTP/ OK OK Content-Type: Content-Type: text/xml; text/xml; charset=utf-8 charset=utf-8 Content-Length: Content-Length: Date: Date: Wed, Wed, Mar Mar :41:32 GMT GMT Server: Server: Apache Apache Tomcat/4.0.3 Tomcat/4.0.3 (HTTP/1.1 (HTTP/1.1 Connector) Connector) <?xml <?xml version="1.0" version="1.0" encoding="utf-8"?> encoding="utf-8"?> <SOAP-ENV:Envelope <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=" xmlns:soap-env=" xmlns:xsd=" xmlns:xsi=" <ns1:addresponse <ns1:addresponse xmlns:ns1=" <addresult <addresult xsi:type="xsd:int">6</addresult> xsi:type="xsd:int">6</addresult> </ns1:addresponse> </ns1:addresponse> </SOAP-ENV:Envelope> </SOAP-ENV:Envelope> M. Jeckle Konzepte und Standards sicherer Web-Services

9 XML Digital Signatures -- Intention 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 Recommendation seit ) SOAP Security Extensions: Digital Signature (W3C Note) M. Jeckle Konzepte und Standards sicherer Web-Services

10 XML Digital Signatures -- Technik Ziel: Aufdeckung potentieller Datenverfälschung Sender: POST POST /axis/calculator.jws HTTP/1.0 HTTP/1.0 Content-Length: Content-Length: Host: Content-Type: Content-Type: text/xml; text/xml; charset=utf-8 charset=utf-8 SOAPAction: SOAPAction: " <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=" xmlns:soap-env=" xmlns:xsd=" xmlns:xsi=" <ns1:add <ns1:add xmlns:ns1=" <op1 <op1 xsi:type="xsd:int">2</op1> <op2 xsi:type="xsd:int">4</op2> </ns1:add> </SOAP-ENV:Envelope> <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> za9itx3gfzceyiy yalsljezgwag= c14n SHA1 DSA-SHA1 MCpXybqBI2Aa 3Yx4IovjN3Ggch amdb3lif1m6a9+ Ngi59MqDwK3LRQ== XML Dokument POST POST /axis/calculator.jws HTTP/1.0 HTTP/1.0 Content-Length: Content-Length: Host: Host: Content-Type: text/xml; charset=utf-8 SOAPAction: SOAPAction: " Empfänger: CanonicalizationMethod Algorithm=" Algorithm=" Algorithm=" xmldsig#dsa-sha1" Algorithm=" xmldsig#dsa-sha1" Algorithm=" xmldsig#sha1" Algorithm=" xmldsig#sha1" <?xml <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope CanonicalizationMethod SOAP-ENV:encodingStyle=" xmlns:soap-env=" SignatureMethod xmlns:xsd=" xmlns:xsi=" SignatureMethod DigestMethod <ns1:add <ns1:add xmlns:ns1=" <op1 xsi:type="xsd:int">2</op1> DigestMethod <op2 xsi:type="xsd:int">4</op2> MCpXybqBI2Aa </ns1:add> </ns1:add> </SOAP-ENV:Envelope> 3Yx4IovjN3Ggch 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> c14n amdb3lif1m6a9+ Kanonische Ngi59MqDwK3LRQ== XML Dokument Repräsentation Metadaten Digitale Unterschrift SHA1 Digest za9itx3gfzceyiy yalsljezgwag= Digest Vergleich DSA-SHA1 Digitale Unterschrift MCpXybqBI2Aa 3Yx4IovjN3Ggch amdb3lif1m6a9+ Ngi59MqDwK3LRQ== Digitale Unterschrift M. Jeckle Konzepte und Standards sicherer Web-Services =

11 XML Digital Signatures Unterschriften Prüfvorgang Einlesen SOAP-Aufruf Metadaten Unterschrift Kanonische Darstellung erzeugen Digest berechnen und vergleichen Unterschrift [gültig] [korrekt] [inkorrekt] Unterschrift berechnen und vergleichen Unterschrift [ungültig] M. Jeckle Konzepte und Standards sicherer Web-Services

12 XML Digital Signatures Einbettung in eine SOAP-Nachricht SOAP-Nachricht Signature SOAP-Header SOAP-Block SOAP-Body. SOAP-Block M. Jeckle Konzepte und Standards sicherer Web-Services

13 XML Digital Signatures -- Signature Header <ds:signature xmlns:ds=" <ds:signedinfo> <ds:canonicalizationmethod Algorithm=" </ds:canonicalizationmethod> <ds:signaturemethod Algorithm=" <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> M. Jeckle Konzepte und Standards sicherer Web-Services

14 XML Digital Signatures <SOAP-ENV:Envelope xmlns:soap-env=" <SOAP-ENV:Header> <SOAP-SEC:Signature SOAP-Nachricht SOAP-Header SOAP-Block SOAP-Body SOAP-Block xmlns:soap-sec=" SOAP-ENV:actor=" SOAP-ENV:mustUnderstand="1"> <ds:signature xmlns:ds=" <ds:signedinfo> <ds:canonicalizationmethod Algorithm=" -c14n "> </ds:canonicalizationmethod> <ds:signaturemethod Algorithm=" 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=" <op1 xsi:type="xsd:int">2</op1> <op2 xsi:type="xsd:int">4</op2> </ns1:add> </SOAP-ENV:Envelope> M. Jeckle Konzepte und Standards sicherer Web-Services

15 XML Digital Signatures -- Zusammenfassung 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 auf XML-Ebene (leicht) lösbar Anwendung: Sicherung der Urheberschaft bei nicht-vertraulichen Inhalten (diverse B2B-Anwendungen) Sicherstellung der Unveränderbarkeit (RPCs, Business Transaktionen) M. Jeckle Konzepte und Standards sicherer Web-Services

16 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 Candidate Recommendation seit ) M. Jeckle Konzepte und Standards sicherer Web-Services

17 XML Encryption Ziel: Schutz der Vertraulichkeit POST POST /axis/calculator.jws HTTP/1.0 HTTP/1.0 Content-Length: Content-Length: Host: Host: Content-Type: text/xml; charset=utf-8 SOAPAction: SOAPAction: " Sender <?xml <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=" xmlns:soap-env=" xmlns:xsd=" xmlns:xsi=" <ns1:add <ns1:add xmlns:ns1=" <op1 xsi:type="xsd:int">2</op1> <op2 xsi:type="xsd:int">4</op2> </ns1:add> </ns1:add> </SOAP-ENV:Envelope> XML Dokument Empfänger <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env=" /envelope /" <SOAP-ENV:Envelope xmlns:soap-env=" /envelope/" xmlns:xsd =" " xmlns:xsd =" " xmlns:xsi =" -instance"> xmlns:xsi =" -instance"> <EncryptedData Type="Element" xmlns=" <EncryptedData Type="Element" xmlns=" <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>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWTU/BV6GudWGy0V <CipherText>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWTU/BV6GudWGy0V HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiuPGvjBKu4CR7E HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiu PGvjBKu4CR7E 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+vpVs53c0YVDeb4gmYEc OBTAe00S8l0cy <CipherText >svjhjiw5qniey3brbpamnocz/ja+rmng0plo7vwnmtp+vpvs53c0yvdeb4gmyecobtae00s8l0cy SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh7QDMbvM7ACdT SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh 7QDMbvM7ACdT 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhR RAuwUc3A4Rqa 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhR RAuwUc3A4Rqa H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText></EncryptedData> H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText></EncryptedData> </SOAP -ENV:Envelope > </SOAP-ENV:Envelope> verschlüsselter Datenstrom Standard Algorithmus (Verschlü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 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 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env=" /envelope /" <SOAP-ENV:Envelope xmlns:soap-env=" /envelope/" xmlns:xsd =" " xmlns:xsd =" " xmlns:xsi =" -instance"> xmlns:xsi =" -instance"> <EncryptedData Type="Element" xmlns=" <EncryptedData Type="Element" xmlns=" <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>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWTU/BV6GudWGy0V <CipherText>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWTU/BV6GudWGy0V HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiuPGvjBKu4CR7E HCFKQUrEuJri0ogq36mVSshcMVgUoRjJJiy6EIJRhAlffT9ux+nRDmqyS5VYHXiu PGvjBKu4CR7E 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+vpVs53c0YVDeb4gmYEc OBTAe00S8l0cy <CipherText >svjhjiw5qniey3brbpamnocz/ja+rmng0plo7vwnmtp+vpvs53c0yvdeb4gmyecobtae00s8l0cy SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh7QDMbvM7ACdT SJpKGkgbVksD9zo6U2LpS466KXIp5NDVRgJcHZnp8tro5mb90g2gB56bw+IyskKh 7QDMbvM7ACdT 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhR RAuwUc3A4Rqa 6SGauu0dSGIT3Q5kTT1qQWQ4easDZ1ShHpVYrBXPRI//3QGyjrnOOclh8T5eqRhR RAuwUc3A4Rqa H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText></EncryptedData> H7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmBQ=</CipherText></EncryptedData> </SOAP -ENV:Envelope > </SOAP-ENV:Envelope> verschlüsselter Datenstrom <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <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:Envelope> XML Dokument a2xlidxtyxjpb0bqzwnrbguuzgu+iqbybbaragaybqi7c82dcasdcqghagekahkb BlbF3w6gCOnoqRqUNSIlj9uD5/awmfUaSZY2JfuuxDj4bkEi87QeTWFyaW8gSmVj M. Jeckle Konzepte und Standards sicherer Web-Services BRsDAAAAAAoJEOOrbdtBMBqsZB4AoL8rSS5U6EUYy8qeiLzuFo0u89v5AKCMGlRP a2xlidxtyxjpb0bqzwnrbguuzgu+iqbybbaragaybqi7c82dcasdcqghagekahkb BRsDAAAAAAoJEOOrbdtBMBqsZB4AoL8rSS5U6EUYy8qeiLzuFo0u89v5AKCMGlRP

18 XML Encryption Fragestellungen 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,...) M. Jeckle Konzepte und Standards sicherer Web-Services

19 XML Encryption -- Ablauf XML-Schicht SOAP BEEP SMTP HTTP MIME Verschlüsselung (zunächst) applikationstransparent Erzeugung des SOAP-Aufruf unverändert Verschlüsselung des Aufrufs vor Versendung über Leitung M. Jeckle Konzepte und Standards sicherer Web-Services

20 XML Encryption -- Ablauf Applikations- Implementierung (z.b. Java) URL url = new URL(" URL url = new 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", Integer.class, argv[0], null)); params.addelement(new Parameter("number1", Integer.class, argv[0], null)); params.addelement(new Parameter("number2", Integer.class, argv[1], null)); params.addelement(new Parameter("number2", Integer.class, argv[1], null)); mycall.setparams(params); mycall.setparams(params); Response resp = mycall.invoke(url, null); Response resp = mycall.invoke(url, null); M. Jeckle Konzepte und Standards sicherer Web-Services

21 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=" <ns1:add xmlns:ns1="urn:numberadder" <ns1:add xmlns:ns1="urn:numberadder" SOAP-ENV:encodingStyle=" SOAP-ENV:encodingStyle=" <number1 xsi:type="xsd:int">1</number1> <number1 xsi:type="xsd:int">1</number1> URL url = new URL(" <number2 xsi:type="xsd:int">2</number2> URL url = new URL(" <number2 xsi:type="xsd:int">2</number2> Call mycall = new Call(); </ns1:add> Call mycall = new Call(); </ns1:add> mycall.settargetobjecturi("urn:numberadder"); mycall.settargetobjecturi("urn:numberadder"); mycall.setmethodname("add"); </SOAP-ENV:Envelope> mycall.setmethodname("add"); </SOAP-ENV:Envelope> 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", Integer.class, argv[0], null)); params.addelement(new Parameter("number1", Integer.class, argv[0], null)); params.addelement(new Parameter("number2", Integer.class, argv[1], null)); params.addelement(new Parameter("number2", Integer.class, argv[1], null)); mycall.setparams(params); mycall.setparams(params); Response resp = mycall.invoke(url, null); Response resp = mycall.invoke(url, null); M. Jeckle Konzepte und Standards sicherer Web-Services

22 <?xml version="1.0" encoding="utf-8"?> XML Encryption -- Ablauf <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env=" <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsd=" xmlns:xsd=" xmlns:xsi=" xmlns:xsi=" <EncryptedData Type="Element" xmlns=" <EncryptedData Type="Element" xmlns=" <EncryptedKey> Verschlüsselter <EncryptedKey> <EncryptionMethod Algorithm="urn:rsadsi-com:rsa-v1.5"/> <EncryptionMethod Algorithm="urn:rsadsi-com:rsa-v1.5"/> <KeyInfo xmlns=" Inhalt (d.h. Body) des <KeyInfo xmlns=" <KeyName>key</KeyName> <KeyName>key</KeyName> </KeyInfo> SOAP-Aufrufs </KeyInfo> <CipherText>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWTU/BV6G <CipherText>RArdCtxCyQL9OzQzrFOMkij8tR6ySD0JjX6aJXsmP7R2rYmRpcIGn1vQfSOqbWTU/BV6G udwgy0vhcfkqureujri0ogq36mvsshcmvguorjjjiy6eijrhalfft9ux+nrdmqys5vyhxiupgvjbku4cr udwgy0vhcfkqureujri0ogq36mvsshcmvguorjjjiy6eijrhalfft9ux+nrdmqys5vyhxiupgvjbku4cr 7EtWXNFtH25WghY0ojd74=</CipherText></EncryptedKey> 7EtWXNFtH25WghY0ojd74=</CipherText></EncryptedKey> <EncryptionMethod <EncryptionMethod <?xml version='1.0' encoding='utf-8'?> Algorithm="urn:nist-gov:tripledes-ede-cbc"><IV>SmkzxKsgdqA=</IV></EncryptionMethod> <?xml version='1.0' encoding='utf-8'?> Algorithm="urn:nist-gov:tripledes-ede-cbc"><IV>SmkzxKsgdqA=</IV></EncryptionMethod> <SOAP-ENV:Envelope <CipherText>sVjhJIW5QnIeY3brbpamNOcz/Ja+RmnG0pLo7vWnmTp+vpVs53c0YVDeb4gmYEcOBTA <SOAP-ENV:Envelope <CipherText>sVjhJIW5QnIeY3brbpamNOcz/Ja+RmnG0pLo7vWnmTp+vpVs53c0YVDeb4gmYEcOBTA xmlns:soap-env=" e00s8l0cysjpkgkgbvksd9zo6u2lps466kxip5ndvrgjchznp8tro5mb90g2gb56bw+iyskkh7qdm xmlns:soap-env=" e00s8l0cysjpkgkgbvksd9zo6u2lps466kxip5ndvrgjchznp8tro5mb90g2gb56bw+iyskkh7qdm xmlns:xsi=" bvm7acdt6sgauu0dsgit3q5ktt1qqwq4easdz1shhpvyrbxpri//3qgyjrnooclh8t5eqrhrrauw xmlns:xsi=" bvm7acdt6sgauu0dsgit3q5ktt1qqwq4easdz1shhpvyrbxpri//3qgyjrnooclh8t5eqrhrrauw xmlns:xsd=" Uc3A4RqaH7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmB xmlns:xsd=" Uc3A4RqaH7M6QTIb36vOTBRuFbfFESBw8648Xi8GlSpu39cVoMjEUTrldnJo1gpWdU5JWFf9RqzhmB Q=</CipherText> Q=</CipherText> <ns1:add xmlns:ns1="urn:numberadder" </EncryptedData> <ns1:add xmlns:ns1="urn:numberadder" </EncryptedData> SOAP-ENV:encodingStyle=" SOAP-ENV:encodingStyle=" <number1 xsi:type="xsd:int">1</number1> </SOAP-ENV:Envelope> <number1 xsi:type="xsd:int">1</number1> </SOAP-ENV:Envelope> URL url = new URL(" <number2 xsi:type="xsd:int">2</number2> URL url = new URL(" <number2 xsi:type="xsd:int">2</number2> Call mycall = new Call(); </ns1:add> Call mycall = new Call(); </ns1:add> mycall.settargetobjecturi("urn:numberadder"); mycall.settargetobjecturi("urn:numberadder"); mycall.setmethodname("add"); </SOAP-ENV:Envelope> mycall.setmethodname("add"); </SOAP-ENV:Envelope> 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", Integer.class, argv[0], null)); params.addelement(new Parameter("number1", Integer.class, argv[0], null)); params.addelement(new Parameter("number2", Integer.class, argv[1], null)); params.addelement(new Parameter("number2", Integer.class, argv[1], null)); mycall.setparams(params); mycall.setparams(params); Response resp = mycall.invoke(url, null); Response resp = mycall.invoke(url, null); M. Jeckle Konzepte und Standards sicherer Web-Services

23 XML Encryption <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=" xmlns:soap-env=" xmlns:xsd=" xmlns:xsi=" <ns1:add xmlns:ns1=" <op1 <op1 xsi:type="xsd:int">2</op1> <op2 <op2 xsi:type="xsd:int">4</op2> </ns1:add> </SOAP-ENV:Envelope> M. Jeckle Konzepte und Standards sicherer Web-Services

24 XML Encryption <?xml version="1.0" encoding= "UTF-8"?> <SOAP-ENV:Envelope xmlns:soap-env=" xmlns:xsi=" xmlns:xsd=" <EncryptedData Type="Element" xmlns=" <EncryptedKey> <EncryptionMethod Algorithm="urn:rsadsi-com:rsa-v1.5"/> <KeyInfo xmlns=" <KeyName>key</KeyName> </KeyInfo> </SOAP-ENV:Envelope> M. Jeckle Konzepte und Standards sicherer Web-Services

25 XML Encryption <?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=" <EncryptedData Type="Element" <EncryptedData Type="Element" xmlns=" xmlns=" <EncryptedKey> <EncryptedKey> <EncryptionMethod Algorithm="urn:rsadsi-com:rsa-v1.5"/> <EncryptionMethod Algorithm="urn:rsadsi-com:rsa-v1.5"/> <KeyInfo xmlns=" <KeyInfo xmlns=" <KeyName>key</KeyName> <KeyName>key</KeyName> </KeyInfo> </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:Envelope> </SOAP-ENV:Envelope> M. Jeckle Konzepte und Standards sicherer Web-Services

26 XML Encryption -- Zusammenfassung 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) M. Jeckle Konzepte und Standards sicherer Web-Services

27 Secure Sockets Layer und SOAP Applikations-Schicht (Application Layer) XML-Schicht SOAP-Schicht (SOAP Layer) [Presentation Layer] Protokollschicht (wire protocol) [Session Layer] BEEP SMTP HTTP SOAP 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) und gängige Browser unterstützt (z.b. NC, IE, Opera, Mozilla, Lynx,...) Einsatz für XML vollkommen, und für SOAP praktisch transparent M. Jeckle Konzepte und Standards sicherer Web-Services

28 Secure Sockets Layer und SOAP XML-Schicht SOAP BEEP SMTP HTTP SSL SSL MIME... SOAP-Aufruf unverändert; SOAP-Endpoint Port 443 Durch Zertifikatsaustausch auf längerfristige Kommunikation ausgelegt Inhalte der Transportschicht werden verschlüsselt übertragen M. Jeckle Konzepte und Standards sicherer Web-Services

29 Secure Sockets Layer und SOAP SSL handshake client Verbindungsaufbauphase Verhandlungsphase ClientHello ServerHello Zertifikat Schlüsselaustauschparameter Zertifikatsanfrage ServerHelloDone 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) M. Jeckle Konzepte und Standards sicherer Web-Services

30 Secure Sockets Layer und SOAP 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) M. Jeckle Konzepte und Standards sicherer Web-Services

31 Secure Sockets Layer und SOAP SSL handshake client Verbindungsaufbauphase Verhandlungsphase ClientHello ServerHello Zertifikat Schlüsselaustauschparameter Zertifikatsanfrage ServerHelloDone Zertifikat Schlüsselinformation Zertifikatsanfrage Änderung Verschlüsselungsalgorithmus Finished Änderung Verschlüsselungsalgorithmus Finished SSL-gesicherter Datenverkehr 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) M. Jeckle Konzepte und Standards sicherer Web-Services

32 Secure Sockets Layer und SOAP -- Zertifikate Certification Authority CA Zertifikate Version: V3 Version: V3 Subject: CN=alice.daimlerchrysler.com, Subject: OU=FT3/EK, O=DaimlerChrysler, L=Ulm, ST=Baden CN=alice.daimlerchrysler.com, Wuerttemberg, C=DE OU=FT3/EK, O=DaimlerChrysler, L=Ulm, ST=Baden Wuerttemberg, C=DE Signature Algorithm: MD5withRSA, OID = Signature Algorithm: MD5withRSA, OID = Key: Key: Validity: [From: Mon Oct 01 17:06:24 CEST 2001, To: Thu Oct 11 17:06:24 CEST Validity: 2001] [From: Mon Oct 01 17:06:24 CEST 2001, To: Thu Oct 11 17:06:24 CEST 2001] Issuer: CN=DCX, OU=Research Issuer: and Technology, O=DaimlerChrysler, L=Ulm, ST=Baden CN=DCX, Wuerttemberg, OU=Research C=DE and Technology, O=DaimlerChrysler, L=Ulm, ST=Baden Wuerttemberg, C=DE SerialNumber: [ 1f] SerialNumber: [ 1f] signiert Eigentümer: CN=John Doe, O=Example.Com, Eigentümer: L=NoNameCity, ST=Example State, CN=John C=DE Doe, O=Example.Com, L=NoNameCity, ST=Example State, C=DE Aussteller: CN=Mario Jeckle, Aussteller: OU=Research and Technology, O=DaimlerChrysler, L=Ulm, CN=Mario ST=BadenWuerttemberg, Jeckle, OU=Research and C=DE Technology, 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 21:23:36 CET 2001 Gültig ab: Wed 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:3E:71 SHA1: 4D:50:28:A0:43:AA:87:BF:56:8D:8D:0B:2E:F7:4C:29:4D:37:3E:71 signiert Server Austausch signierter Zertifikate Client Server Zertifikat Server Zertifikate Client Zertifikat CA Zertifikate M. Jeckle Konzepte und Standards sicherer Web-Services

33 Secure Sockets Layer und SOAP SSL handshake Server-Zertifikat bereits vorhanden [nein] Signateur vertrauenswürdig [ja] Zertifikat vertrauenswürdig [ja] Zertifikat ablegen [ja] [ja] [nein] [nein] [nein] M. Jeckle Konzepte und Standards sicherer Web-Services

34 Secure Sockets Layer und SOAP Beispiel: handshake KeyManager []km []km = null; null; TrustManager []tma []tma = {new {newmyx509trustmanager()}; SSLContext sslcontext = SSLContext.getInstance("SSL"); sslcontext.init(km,tma,new java.security.securerandom()); SSLSocketFactory sf sf = sslcontext.getsocketfactory(); Socket Socket sock=new Socket("alice",443); SSLSocket sslsock=(sslsocket)sf.createsocket(sock, "alice", "alice", 443, 443, true); true); sslsock.starthandshake(); javax.securtiy.cert.x509certificate[] c 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); M. Jeckle Konzepte und Standards sicherer Web-Services

35 Secure Sockets Layer und SOAP Beispiel: Dienstaufruf URL url url = new URL(" Call Call mycall = new Call(); mycall.settargetobjecturi("urn:numberadder"); mycall.setmethodname("add"); mycall.setencodingstyleuri(constants.ns_uri_soap_enc); Vector params = new Vector(); 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 = mycall.invoke(url, null); M. Jeckle Konzepte und Standards sicherer Web-Services

36 Secure Sockets Layer und SOAP Implementierung des SSL handshake muß durch Applikation erfolgen. Keine Integration in SOAP-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 M. Jeckle Konzepte und Standards sicherer Web-Services

37 Organisatorisch-/Technische Voraussetzungen HTTP-Port (80) SOAP Endpoint (80, 8080 abhängig vom gewählten Protokoll) Client SOAP-Unterstützung SSL-Unterstützung SSL-Port (443) Web-Server SOAP-Modul SSL-Modul Dienst SOAP-Unterstützung (Client- und Server-seitig) Freischaltung SSL-Port SSL-Unterstützung (Client- und Server-seitig) M. Jeckle Konzepte und Standards sicherer Web-Services

38 Vergleich HTTPS (SSL) und S-HTTP 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 M. Jeckle Konzepte und Standards sicherer Web-Services

39 Zusammenfassung -- Erfüllung der Anforderungen Vertraulichkeit (confidentiality) XML Encryption SSL Berechtigung (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) XML Digital Signature SSL M. Jeckle Konzepte und Standards sicherer Web-Services

40 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 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) M. Jeckle Konzepte und Standards sicherer Web-Services

41 Werkzeuge und Applikationen Apache SOAP v2.1: Servlet Engine: Tomcat: SUN JSSE-API: IBM JSSE-Implementierung: XML Digital Signatures: XML Encryption: Secure Sockets Layer (IETF Draft): draft-freier-ssl-version3-02 SOAP Security Extensions: Dieser Vortrag und weiterführende Information zum Thema: M. Jeckle Konzepte und Standards sicherer Web-Services

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

Sicherheit und Vertraulichkeit mit SOAP

Sicherheit und Vertraulichkeit mit SOAP Mario Jeckle Sicherheit und Vertraulichkeit mit SOAP mario.jeckle jeckle@daimlerchrysler.comcom DaimlerChrysler Forschungszentrum Ulm W11 Gliederung Anforderungen an SOAP- Sicherheitsmechanismen Existierende

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen. Ziel SSL/TLS. XML Signature/Encryption

Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen. Ziel SSL/TLS. XML Signature/Encryption 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

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

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

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

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

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

Vorlesung "SOA Entwicklung verteilter Systeme auf Basis serviceorientierter Architekturen" 9. Sicherheitsaspekte

Vorlesung SOA Entwicklung verteilter Systeme auf Basis serviceorientierter Architekturen 9. Sicherheitsaspekte Vorlesung "SOA Entwicklung verteilter Systeme auf Basis serviceorientierter Architekturen" 9. Sicherheitsaspekte Dr.-Ing. Iris Braun Gliederung Sicherheitsaspekte Grundlegende Konzepte und Begriffe Transportsicherheit

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

Denn es geh t um ihr Geld: Kryptographie

Denn es geh t um ihr Geld: Kryptographie Denn es geht um ihr Geld: Kryptographie Ilja Donhauser Inhalt Allgemeines Symmetrisch Asymmetrisch Hybridverfahren Brute Force Primzahlen Hashing Zertifikate Seite 2 Allgemeines Allgemeines Wissenschaft

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

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

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

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

Beispiel einer Web-Service gestützten Systematischen Suche in den Beständen des Stadtgeschichtlichen Museums Leipzig

Beispiel einer Web-Service gestützten Systematischen Suche in den Beständen des Stadtgeschichtlichen Museums Leipzig Beispiel einer Web-Service gestützten Systematischen Suche in den Beständen des Stadtgeschichtlichen Museums Leipzig Gliederung Neues von museumvok und der Definition eines darauf basierenden WEB Services

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

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

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

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

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

Kryptographie. Nachricht

Kryptographie. Nachricht Kryptographie Kryptographie Sender Nachricht Angreifer Empfänger Ziele: Vertraulichkeit Angreifer kann die Nachricht nicht lesen (Flüstern). Integrität Angreifer kann die Nachricht nicht ändern ohne dass

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

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

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

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

Rainbow Technologies GmbH. Bedeutung von SSL in Ihrem Unternehmen

Rainbow Technologies GmbH. Bedeutung von SSL in Ihrem Unternehmen Rainbow Technologies GmbH Markus Kahmen Bedeutung von SSL in Ihrem Unternehmen Thursday, April 19, 2001 http://europe.rainbow.com 1 Das Internet Die Internet-Ära verspricht für die nächsten 10 Jahre mehr

Mehr

Die Nutzung von Webservices in der Oracle Datenbank. 11 März 2010

Die Nutzung von Webservices in der Oracle Datenbank. 11 März 2010 Die Nutzung von Webservices in der Oracle Datenbank 11 März 2010 Agenda Vorstellung Apps Associates Einstieg und Definition Webservice Definition Application Server / Oracle Application Server Oracle Webservices

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

> Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012

> Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012 > Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012 Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster

Mehr

VIRTUAL PRIVATE NETWORKS

VIRTUAL PRIVATE NETWORKS VIRTUAL PRIVATE NETWORKS Seminar: Internet-Technologie Dozent: Prof. Dr. Lutz Wegner Virtual Private Networks - Agenda 1. VPN Was ist das? Definition Anforderungen Funktionsweise Anwendungsbereiche Pro

Mehr

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken In diesem Tutorial zeigen wir Ihnen, wie Sie im Mozilla Thunderbird E-Mailclient ein POP3-Konto einrichten. Wir haben bei der Erstellung des Tutorials die Version 2.0.0.6 verwendet. Schritt 1: Auswahl

Mehr

Webseiten mit HTTPS bereitstellen und mit HSTS sichern

Webseiten mit HTTPS bereitstellen und mit HSTS sichern Webseiten mit HTTPS bereitstellen und mit HSTS sichern https://www.my-it-brain.de 10. März 2018 Inhalt 1 Inhalt 1 2 Inhalt 1 2 3 Inhalt 1 2 3 4 Inhalt 1 2 3 4 5 Ziele von HTTPS Inhalt Authentizität Vertraulichkeit

Mehr

SSL Algorithmen und Anwendung

SSL Algorithmen und Anwendung SSL Algorithmen und Anwendung Stefan Pfab sisspfab@stud.uni-erlangen.de Abstract Viele Anwendungen erfordern nicht nur eine eindeutige und zuverlässige Identifizierung der an einer Kommunikation beteiligten

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

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

Stammtisch 04.12.2008. Zertifikate

Stammtisch 04.12.2008. Zertifikate Stammtisch Zertifikate Ein Zertifikat ist eine Zusicherung / Bestätigung / Beglaubigung eines Sachverhalts durch eine Institution in einem definierten formalen Rahmen 1 Zertifikate? 2 Digitale X.509 Zertifikate

Mehr

Programmiertechnik II

Programmiertechnik II X.509: Eine Einführung X.509 ITU-T-Standard: Information Technology Open Systems Interconnection The Directory: Public Key and attribute certificate frameworks Teil des OSI Directory Service (X.500) parallel

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

SEMINARARBEIT IM FACHBEREICH WIRTSCHAFTSINFORMATIK

SEMINARARBEIT IM FACHBEREICH WIRTSCHAFTSINFORMATIK SEMINARARBEIT IM FACHBEREICH WIRTSCHAFTSINFORMATIK Service-orientierte Architekturen Eingereicht von Melanie Storm Schulstr. 19 22880 Wedel Fachrichtung B_Winf Matrikelnummer 2914 Fachsemester 4 Eingereicht

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

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

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

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

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

Ö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

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

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5 Übersicht Angewandte Informatik 2 - Tutorium 6 Besprechung: Übungsblatt 5 Götz Bürkle (goetz@buerkle.org) Übungsblatt 5: Aufgabe 4 - Webservices Institut für Angewandte Informatik und Formale Beschreibungsverfahren

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

Literatur. [3-5] Klaus Schmeh: Kryptografie. dpunkt, 3. Auflage, 2007. [3-6] Bruce Schneier: Secrets & Lies. dpunkt, 2001

Literatur. [3-5] Klaus Schmeh: Kryptografie. dpunkt, 3. Auflage, 2007. [3-6] Bruce Schneier: Secrets & Lies. dpunkt, 2001 Literatur [3-1] Gourley, David; Totty, Brian: HTTP. The definitive Guide. O'Reilly, 2002 [3-2] Badach, Anatol; Rieger, Sebastian; Schmauch, Matthias: Web- Technologien. Hanser, 2003 [3-3] Upgrading to

Mehr

WebServices Zwischen Buzzword und Nutzen

WebServices Zwischen Buzzword und Nutzen WebServices Zwischen Buzzword und Nutzen Tobias Koenig Übersicht Webservices Allgemein WSDL Anwendungsbeispiele Programmierung Perl Python C++/KDE Zusammenfassung LUG Dresden 2005 p.1 Webservices Trennung

Mehr

Rechnernetze Übung 12

Rechnernetze Übung 12 Rechnernetze Übung 12 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Sie kennen sicherlich sogenannte Web-Mailer, also WWW-Oberflächen über die Sie Emails lesen und vielleicht

Mehr

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk 20.01.2009

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk 20.01.2009 Netzsicherheit I, WS 2008/2009 Übung 12 Prof. Dr. Jörg Schwenk 20.01.2009 Aufgabe 1 1 Zertifikate im Allgemeinen a) Was versteht man unter folgenden Begriffen? i. X.509 X.509 ist ein Standard (Zertifikatsstandard)

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

X.509v3 Zertifizierungsinstanz der Universität Würzburg

X.509v3 Zertifizierungsinstanz der Universität Würzburg X.509v3 Zertifizierungsinstanz der Universität Würzburg Markus Krieger Rechenzentrum Uni Würzburg ca@uni-wuerzburg.de 22.01.06 1 Notwendigkeit von Zertifikaten Steigende Anzahl von Kommunikationsbeziehungen

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 12

Mehr

Rechneranmeldung mit Smartcard oder USB-Token

Rechneranmeldung mit Smartcard oder USB-Token Rechneranmeldung mit Smartcard oder USB-Token Verfahren zur Authentifizierung am Rechnersystem und angebotenen Diensten, SS2005 1 Inhalt: 1. Systemanmeldung 2. Grundlagen 3. Technik (letzte Woche) 4. Standards

Mehr

Web Services und Sicherheit

Web Services und Sicherheit Autoren: Kristian Kottke, Christian Latus, Cristina Murgu, Ognyan Naydenov Folie 1 Agenda Sicherheitsprobleme von Web Services Lösungsansätze Sicherheitsmechanismen des Java Application Servers Autorisation

Mehr

Termin 4: Web Services Computing

Termin 4: Web Services Computing Arbeitsgruppe Übung Netzbasierte Informationssysteme Termin 4: Web Services Computing Prof. Dr. Adrian Paschke Arbeitsgruppe Corporate Semantic Web (AG-CSW) Institut für Informatik, Freie Universität Berlin

Mehr

Kapitel 5 Web-Services

Kapitel 5 Web-Services Kapitel 5: Web-Services 1 Kapitel 5 Web-Services 5.1 Web-Services Verwendung/Aufruf (Service Invocation) SOAP Beschreibung (Service Description) WSDL Repository/Verzeichnis (Service Discovery) UDDI 5.2

Mehr

Webtechnologien Teil 3: Sicheres HTTP

Webtechnologien Teil 3: Sicheres HTTP Webtechnologien Teil 3: Sicheres HTTP 23.03.15 1 Literatur [3-1] Gourley, David; Totty, Brian: HTTP. The definitive Guide. O'Reilly, 2002 [3-2] Badach, Anatol; Rieger, Sebastian; Schmauch, Matthias: Web-

Mehr

Karlsruher IT-Sicherheitsinitiative - 26. April 2001. "For your eyes only" Sichere E-Mail in Unternehmen. Dr. Dörte Neundorf neundorf@secorvo.

Karlsruher IT-Sicherheitsinitiative - 26. April 2001. For your eyes only Sichere E-Mail in Unternehmen. Dr. Dörte Neundorf neundorf@secorvo. Karlsruher IT-Sicherheitsinitiative - 26. April 2001 "For your eyes only" Sichere E-Mail in Unternehmen Dr. Dörte Neundorf neundorf@secorvo.de Secorvo Security Consulting GmbH Albert-Nestler-Straße 9 D-76131

Mehr

im DFN Berlin 18.10.2011 Renate Schroeder, DFN-Verein

im DFN Berlin 18.10.2011 Renate Schroeder, DFN-Verein VoIP-Verschlüsselung Verschlüsselung im DFN Berlin 18.10.2011 Renate Schroeder, DFN-Verein Einordnung VoIP in DFNFernsprechen VoIP seit 5 Jahren im DFN verfügbar VoIP ist Teil des Fernsprechdienstes DFNFernsprechen

Mehr

WSDL. Web Services Description Language. André Vorbach. André Vorbach

WSDL. Web Services Description Language. André Vorbach. André Vorbach André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist

Mehr