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. Dr. P. Trommler 2
Internetsicherheit Integrität Authentizität Vertraulichkeit Verfügbarkeit Sicherheitsprotokolle SSL/TLS IPSec 29.10.2003 Prof. Dr. P. Trommler 3
SSL/TLS und IPSec SSL über TCP OS unverändert Applikation ändern Sicherheit in Applikation IPSec über IP OS-Erweiterung Alle Applikationen geschützt Sicherheit zwischen Rechnern 29.10.2003 Prof. Dr. P. Trommler 4
Geschichte SSL v2 in Netscape Navigator 1.1 (1995) Private Communications Technology Ähnliches Protokoll von Microsoft Einige Sicherheitsprobleme gelöst SSL v3 (Netscape) TLS Transport Layer Security ( SSL v3.1 ) 29.10.2003 Prof. Dr. P. Trommler 5
Protokoll vereinfacht Alice initiiert Kommunikation mit Bob Bob sendet sein Zertifikat Alice prüft Zertifikat, extrahiert Bob s Public Key, wählt Zufallszahl S, sendet S verschlüsselt an Bob (Public Key) Schlüssel aus S berechnet Integrität Verschlüsselung 29.10.2003 Prof. Dr. P. Trommler 6
Protokoll vereinfacht Hallo, unterstützte Algorithmen, Zufallszahl R Alice Zertifikat, ausgewählte Algorithmen, R Bob Alice {S}Bob, Keyed Hash der Handshake Nachrichten Bob Keyed Hash der Handshake Nachrichten Geschützter Datenaustausch 29.10.2003 Prof. Dr. P. Trommler 7
Protokoll detailliert Nachricht 1 (Alice) Alice möchte mit Bob kommunizieren Liste der unterstützen Crypto-Algorithmen Wähle eine Zufallszahl R Alice aus Nachricht 2 (Bob) Sende Zertifikat Wähle einen Crypto-Algorithmus aus Wähle eine Zufallszahl R Bob aus 29.10.2003 Prof. Dr. P. Trommler 8
Protokoll detailliert (Forts.) Nachricht 3 (Alice) Wähle eine Zufallszahl S (pre-master secret) Verschlüssele S mit Bob s Public Key Berechne Master Secret K=f(S, R Alice, R Bob ) Berechne Hash mit K aus Nachricht 1 und 2 Sende Hash verschlüsselt und fälschungssicher 29.10.2003 Prof. Dr. P. Trommler 9
Protokoll detailliert (Forts.) Nachricht 4 (Bob) Beweise Kenntnis von S Berechne Hash mit K aus Nachricht 1 und 2 Sende verschlüsselt und fälschungssicher Alice hat Bob authentisiert Bob hat Alice nicht authentisiert 29.10.2003 Prof. Dr. P. Trommler 10
Sitzungen HTTP 1.0 (1 Verbindung per Objekt) Public Key aufwändig (master secret) Verwende Master Secret erneut (Sitzung) Hallo, unterstützte Algorithmen, R Alice Session_id, Zertifikat, Algorithmus, R Bob Alice {S}Bob, Keyed Hash der Handshake Nachr. Bob Keyed Hash der Handshake Nachrichten Geschützter Datenaustausch 29.10.2003 Prof. Dr. P. Trommler 11
Sitzung: Wiederaufnahme Session_id, unterstützte Algorithmen, R Alice Session_id, Algorithmus, R Bob, keyed hash d. N. Alice Keyed Hash der Handshake Nachrichten Bob Geschützter Datenaustausch 29.10.2003 Prof. Dr. P. Trommler 12
SSL Schlüssel SSL v2 Ein Schlüssel je Kommunikationsrichtung SSL v3 und TLS Drei Schlüssel je Kommunikationsrichtung: Verschlüsselung Integrität IV (initialization vector) 29.10.2003 Prof. Dr. P. Trommler 13
Berechnung der Schlüssel Master Secret K=f(S, R Alice, R Bob ) Sechs Schlüssel aus K abgeleitet: Für Schlüssel i: g i (K, R Alice, R Bob ) Neue R gegen Replay-Attacks UNIX Zeit Teil von R Länge von R: 32 octets 29.10.2003 Prof. Dr. P. Trommler 14
Aushandeln der Algorithmen Algorithmenpaket (cipher suite) Verschlüsselungsalgorithmus Schlüssellänge Strom-Methode (CBC, ) Checksummenverfahren Wer entscheidet? In SSL v2: Alice (Bob reduziert die Auswahl) In SSL v3: Bob 29.10.2003 Prof. Dr. P. Trommler 15
Exportversionen Exportbeschränkungen der USA Aufgehoben, aber Software noch vorhanden Manche Länder verbieten starke Crypto 40 bit für Verschlüsselung 512 bit für RSA 29.10.2003 Prof. Dr. P. Trommler 16
Step-Up/SGC Step-Up (Netscape) Server Gated Cryptography (Microsoft) Starke Crypto für Finanztransaktionen Spezielle Zertifikate (Verisign und Thawte) Monopol des Anbieters (V. kauft T.) Geknackte Browser Proxy-Lösung (Schweizer Banken) 29.10.2003 Prof. Dr. P. Trommler 17
Client Authentication Client Zertifikate nicht sehr verbreitet Bob verlangt Zertifikat in Nachricht 2 Alice sendet Zertifikat signiert Hash auf Handshake Nachrichten Zertifikat im Klartext (Banken!) 29.10.2003 Prof. Dr. P. Trommler 18
PKI in SSL Browser hat Zertifikate vorinstalliert Zertifikate von diesen CA werden akzeptiert Vertrauen des Herstellers (nicht Benutzer) Sonst wird der Benutzer gefragt Welcher Benutzer editiert die Liste? PKI wird noch näher behandelt 29.10.2003 Prof. Dr. P. Trommler 19
Verbesserte Sicherheit in v3 Downgrade Attack Handshake nicht fälschungssicher Entferne starke Algorithmen Finished Nachricht schützt Handschake Truncation Attack V2: Schließen der TCP Verbindung Ende V3: Finished Nachricht beendet Verbindung Angreifer schließt TCP Verbindung 29.10.2003 Prof. Dr. P. Trommler 20
Protokollnachrichten SSL setzt auf TCP auf Vier Record Typen: ChangeCipherSpec Alert Handshake Application_data 29.10.2003 Prof. Dr. P. Trommler 21
Handshake Record Enthält Handshake Nachrichten Fragment, eine oder mehrere Nachrichten Nachrichten: ClientHello ServerHello ServerHelloDone ClientKeyExchange ServerKeyExchange CertificateRequest Certificate CertificateVerify HandshakeFinished 29.10.2003 Prof. Dr. P. Trommler 22
Application_data SequenzNr Header Datensatz HMAC integrity key Header Datensatz HMAC Pad encrypt encryption key Header Verschlüsselter und fälschungssicherer Datensatz 29.10.2003 Prof. Dr. P. Trommler 23
ChangeCipherSpec und Alert ChangeCipherSpec Daten ab jetzt wie vereinbart verschlüsselt Nicht Handshake Alert Fehlermeldungen Closure (Schließen der Verbindung) 29.10.2003 Prof. Dr. P. Trommler 24
Literatur Spezifikationen RFC 2246 (TLS) www.netscape.com/eng/security/ssl_2.html home.netscape.com/eng/ssl3/index.html Eric Rescorla: SSL and TLS: Designing and Building Secure Systems 29.10.2003 Prof. Dr. P. Trommler 25
Zusammenfassung SSL/TLS leistet Authentizität des Servers Vertraulichkeit Integrität SSL/TLS leistet nicht Authentizität des Client (nicht verbreitet) Verfügbarkeit 29.10.2003 Prof. Dr. P. Trommler 26