180 likes | 324 Views
S ecure S ocket L ayer. Vortrag von Boris Krommen im Rahmen der Vorlesung „ Sicherheit in Datennetzen “ von Herrn Prof. Schäfer im WS 2003/2004. Gliederung :. Einleitung Zertifikate Secure Socket Layer Protokoll Zusammenfassung Quellen. 1. Einleitung. Motivation:.
E N D
SecureSocketLayer Vortrag von Boris Krommen im Rahmen der Vorlesung „Sicherheit in Datennetzen“ von Herrn Prof. Schäfer im WS 2003/2004
Gliederung: • Einleitung • Zertifikate • Secure Socket Layer Protokoll • Zusammenfassung • Quellen
1. Einleitung Motivation: • Anonymität im Internet aufheben • Vertrauenswürdigkeiten im Internet schaffen • Sichere Datenübertragung • Verschlüsselte Datenübertragung
1. Einleitung Geschichte: • Juli 1994 Erstes Protokolldesign (SSL v1.0) „Netscape“ • April 1995 SSL v2.0 – Referenzimplementation • September 1995 SSL v2.0 Rückschlag • wird wegen schlechter Implementierung des Pseudo Random Number Generators gebrochen • November 1995 SSL v3.0 • März 1996 Erste Publikation von SSL v3.0 • 1996 Transport Layer Security Working Group ( IETF ) • November 1996 Internet-Draft v3.02 von SSL • Januar 1999 TLS v1.0, basierend auf SSL v3.0 • Februar 2001 Veröffentlichung TLS v1.0 RFC 2246
2. Zertifikate • Gleichzusetzen mit einem ( Internet- )Ausweis • Ausgestellt von einer CA ( Certificate Authority ) • z.B: VeriSign (www.verisign.com) • D-TRUST (www.d-trust.net) • Aufbau laut RCF 2459 • "Internet X.509 Public Key Infrastructure, Certificate and CRL Profile" • dient zur Server/Client-Authentifizierung beim Handshake
http telnet ftp ... Application Layer Network Layer SSL handshake protocol Secure Socket Layer SSL record protocol TCP/IP Layer 3. SSL Protokoll Einordnung in das Internetprotokoll
3.1 SSL Record Protocol Ausgeführte Schritte: • Nimmt Datenblöcke beliebiger Größe entgegen • Fragmentiert diese in Blöcke geeigneter Größe • Optional: Komprimierungsalgorithmus • Signiert Datenpakete mit dem Message Authentication Code • Verschlüsselungsalgorithmus ( symetrisch )
3.1 SSL Record Protocol Schematischer Überblick
3.1 SSL Record Protokoll Berechnung des Message Authentication Code ( Hash-Wert, der abhängig ist von ): • den zu übertragenden Daten • einer Packetsequenznummer • einem für jede Sitzung eindeutigen Wert
3.1 SSL Record Protocol Folgende Dinge sind nicht mehr möglich: • Datenpakete einsehen • Nachrichten verändern • Pakete aus dem Nachrichtenkanal entfernen • alte Nachrichten wieder in die Kommunikation einfließen lassen
3.2 SSL Handshake Protocol Ziele: • Optional, gegenseitige Authentifizierung • Einigen auf Verschlüsselungs- und Komprimieralgorithmen • Erzeugen eines Geheimnisses Schlüssel Verbindungsarten: • Server und Client ohne Authentifizierung • Server authentifiziert, Client anonym • Server authentifiziert, Client authentifiziert
ClientHello Server Client ServerHello ServerKeyExchange ServerHelloDone ClientKeyExchange Finished Finished Applikationsdaten 3.2 SSL Handshake Protokoll Verbindungsart: Server und Client ohne Authentifizierung • ClientHello: • Protokollversion • zufällig erstellte Daten • bekannte Verschlüsselungsmethoden • bekannte Komprimiermethoden • ServerHello: • Protokollversion • zufällig erstellte Daten • gewählte Verschlüsselungsmethoden • gewählte Komprimiermethoden • ServerKeyExchange: • Server Public-Key • ServerHelloDone: • Server wartet auf Clientantwort • ClientKeyExchange: • Primaster Secret mit Server Public-Key verschlüsselt • Finished ( Server bzw. Clientkennung ): • MD5 Hash-Wert über Mastersecret und bisher ausgetauschten Nachrichten • SHA Hash-Wert über Mastersecret und bisher ausgetauschten Nachrichten
Server Client ClientHello ServerHello ServerCertificate ServerHelloDone ClientKeyExchange Finished Finished Applikationsdaten 3.2 SSL Handshake Protokoll Verbindungsart: Server authentifiziert, Client anonym • ServerCertificate: • Liste der Zertifikate der Zertifizierungskette
Server Client ClientHello ServerHello ServerCertificate CertificateRequest ServerHelloDone ClientCertificate ClientKeyExchange CertificateVerify Finished Finished Applikationsdaten 3.2 SSL Handshake Protokoll Verbindungsart: Server authentifiziert, Client authentifiziert • CertificateRequest: • Liste der dem Server bekannten CA´s • ClientCertificate: • Liste der Zertifikate der Zertifizierungskette • CertificateVerify: • mit Private-Key vom Client verschlüsselter MD5 Hash-Wert über Mastersecret und bisher ausgetauschten Nachrichten • mit Private-Key vom Client verschlüsselter SHA Hash-Wert über Mastersecret und bisher ausgetauschten Nachrichten
4. Zusammenfassung SecureSocketLayer: • fügt sich nahtlos in bestehende Protokollschichten ein • ermöglicht Server-/Client-Authentifizierung Zertifikate • ermöglicht Datenverschlüsselung • stellt Datenintegrität sicher MAC
SecureSocketLayer: Fragen ? Antworten !
5. Quellen • Internet-Draft zu SSL 3.0 von TLS Working Group • RFC 2459 • „Internet X.509 Public Key Infrastructure, Certificate and CRL Profile“ zu X.509 Zertifikaten • Internet Engineering Task Force:www.ietf.org