Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Systems Architecture Comparison SSL/TLS, TLS for multiple virtual hosts Dominik Oepen, Dennis Reinert 15.05.2007.

Ähnliche Präsentationen


Präsentation zum Thema: "Systems Architecture Comparison SSL/TLS, TLS for multiple virtual hosts Dominik Oepen, Dennis Reinert 15.05.2007."—  Präsentation transkript:

1 Systems Architecture http://sar.informatik.hu-berlin.de Comparison SSL/TLS, TLS for multiple virtual hosts Dominik Oepen, Dennis Reinert 15.05.2007

2 2 May 2006 - 2 Systems Architecture http://sar.informatik.hu-berlin.de Inhalt  Einleitung  Grundlagen  Record Layer  Handshake Protokoll  Vergleich SSL 3.0 und TLS 1.0  TLS Erweiterungen / virtuelle Hosts  Zusammenfassung  Quellenverzeichnis

3 3 May 2006 - 3 Systems Architecture http://sar.informatik.hu-berlin.de Was ist das Problem? Problem Webserver Internet Alice Bob Vertraulichkeit? Authentizität? Einleitung

4 4 May 2006 - 4 Systems Architecture http://sar.informatik.hu-berlin.de Mögliche Lösung? Lösung Webserver Internet Alice Bob SSL/TLS Einleitung

5 5 May 2006 - 5 Systems Architecture http://sar.informatik.hu-berlin.de Geschichte Netscape Navigator, SSL 2.0 SSL 3.1 als Standard durch die IETF festgelegt und umbenannt in TLS 1.0 (Transport Layer Security) SSL 1.0 von Netscape Communications Corp. 1993 1994 01/1995 Webbrowser Mosaic 1.0 vom NCSA (National Center for Supercomputing Applications) 1996 SSL 3.0 und Übergabe an die IETF (Internet Engineering Task Force) 01/1999 04/2006 Netscape Navigator, SSL 2.0 TLS 1.1 und TLS Extensions veröffentlicht durch die IETF Einleitung

6 6 May 2006 - 6 Systems Architecture http://sar.informatik.hu-berlin.de SSL/TLS in den Referenzmodellen  SSL/TLS zwischen Anwendungsschicht und Transportschicht  Aufbau eines sicheren SSL/TLS Kanals (Socket) oberhalb der TCP-Verbindung IP HTTP, SMTP, FTP ATM, PPP, Ethernet TCP SSL/TLS Bitübertragungsschicht Sicherungsschicht Vermittlungsschicht Transportschicht Sitzungsschicht Darstellungsschicht Anwendungsschicht OSI 1 2 3 4 5 6 7 Internet Anwendung- schicht Host-zu-Netz Transportschicht TCP/IP Einleitung

7 7 May 2006 - 7 Systems Architecture http://sar.informatik.hu-berlin.de Bestandteile des SSL/TLS Protokolls TCP Record Layer Hand- shake HTTP (oder andere Anwendungsprotokolle) Change Chipher Alert Einleitung

8 8 May 2006 - 8 Systems Architecture http://sar.informatik.hu-berlin.de Kryptografische Grundlagen - Hashfunktionen - Signaturen - Zertifikate / Public Key Infrastructure (PKI) SSL und TLS verwenden eine Vielzahl von kryptografischen Verfahren: Grundlagen

9 9 May 2006 - 9 Systems Architecture http://sar.informatik.hu-berlin.de Hashfunktionen - Funktion: ∑* => ∑^n -Einwegfunktionen -Kollisionsresistent (Kryptografische) Hashfunktion: Grundlagen

10 10 May 2006 - 10 Systems Architecture http://sar.informatik.hu-berlin.de Signaturen  Sender bildet Hashwert der Nachricht  Verschlüsselt Hashwert mit privatem Schlüssel  Empfänger kann anhand des Hashwerts verifizieren, dass die Nachricht nicht verändert wurde Signaturen dienen der Integritätsprüfung - Bei SSL Verwendung von Message Authentication Codes (MAC), verwendet symetrische Schlüssel Grundlagen

11 11 May 2006 - 11 Systems Architecture http://sar.informatik.hu-berlin.de Zertifikate / PKI Wie kann man feststellen ob eine Nachricht wirklich von einem bestimmten Absender stammt?  Zertifikate sind vergleichbar mit virtuellen Ausweisen  Enthalten Informationen über Zertifikatsinhaber (Name, Domain, etc.) und deren Public Key  Werden von vertrauenswürdigen Instanzen ausgestellt, Certification Authorities (CA)  Echtheit einer Signatur kann anhand der Signatur der CA verifiziert werden  Zertifikate der Root CAs sind selbst signiert und werden mit Browsern mitgeliefert Grundlagen

12 12 May 2006 - 12 Systems Architecture http://sar.informatik.hu-berlin.de PKI CA 1CA 2CA 3 Root CA Zertifikat Grundlagen

13 13 May 2006 - 13 Systems Architecture http://sar.informatik.hu-berlin.de Record Layer  neue Ebene in der Protokollhierachie  akzeptiert Folge von Bytes (Bytestrom) von der Anwendung  Fragmentierung des Bytestroms der Applikation in Blöcke (Records)  Komprimierung der Applikationsdaten (optional)  Authentifizierung der Daten durch MAC (Message Authentication Code)  Ver-/Entschlüsselung  mit dem Handshake wird das Schlüsselmaterial zwischen den Partnern vereinbart IP HTTP Netzwerk- schicht TCP Record Layer

14 14 May 2006 - 14 Systems Architecture http://sar.informatik.hu-berlin.de Record Layer - Protokoll in Aktion Applikationsdaten Fragmentierung Komprimierung Authentifizierung MAC Verschlüsselung Anhängen des Record Headers MAC Padd.P. Länge MAC Padd.P. Länge H Record Layer

15 15 May 2006 - 15 Systems Architecture http://sar.informatik.hu-berlin.de Record Layer - Aufbau Record Paket TypLängeMajor Version Message Authentication Code (optional) Länge Daten verschlüsselt (optional) Minor Version Record Layer

16 16 May 2006 - 16 Systems Architecture http://sar.informatik.hu-berlin.de SSL Handshake Protocol Ziele des Handshake Protokolls:  Verbindungsaufbau  Austausch von Schlüsseln für Verschlüsselung und MAC  Authentifizierung Handshake - Protokoll

17 17 May 2006 - 17 Systems Architecture http://sar.informatik.hu-berlin.de SSL Handshake Protocol Webserver Alice ClientHello Handshake - Protokoll

18 18 May 2006 - 18 Systems Architecture http://sar.informatik.hu-berlin.de ClientHello  Höchste beherrschte SSL/TLS Version  Eine Liste von Algorithmen die der Client beherrscht (Cipher Suites)  Session ID  Zufallszahl Rc Die Client Hello Nachricht enthält: Handshake - Protokoll

19 19 May 2006 - 19 Systems Architecture http://sar.informatik.hu-berlin.de SSL Handshake Protocol Webserver Alice ClientHello ServerHello Certificate ServerHelloDone Handshake - Protokoll

20 20 May 2006 - 20 Systems Architecture http://sar.informatik.hu-berlin.de ServerHello / Certificate  Die zu verwendende SSL/TLS Version  Falls Session fortgesetzt werden kann Session ID  Die zu verwendende Cipher Suite  Zufallszahl Rs Der Server wählt: Danach sendet er sein Zertifikat Phase wird durch ServerHelloDone beendet Handshake - Protokoll

21 21 May 2006 - 21 Systems Architecture http://sar.informatik.hu-berlin.de SSL Handshake Protocol Webserver Alice ClientHello ClientKeyExchange ServerHello Certificate ServerHelloDone Handshake - Protokoll

22 22 May 2006 - 22 Systems Architecture http://sar.informatik.hu-berlin.de ClientKeyExchange  Client erzeugt Zufallszahl (Premaster Secret)  Verschlüsselt diese mit Public Key des Servers  Sendet verschlüsseltes Premaster Secret an Server Handshake - Protokoll

23 23 May 2006 - 23 Systems Architecture http://sar.informatik.hu-berlin.de Schlüsselerzeugung  Insgesamt werden 4 Schlüssel erzeugt: - Zwei Schlüssel zur symetrischen Verschlüsselung - Zwei Schlüssel für die MACs Handshake - Protokoll Master Secret = MD5( Pre | SHA( 'A' | Pre | Rc | Rs)) | MD5( Pre | SHA( 'BB' | Pre | Rc | Rs)) | MD5( Pre | SHA( 'CCC' | Pre | Rc | Rs)) Aus Rc, Rs und dem Premaster Secret wird das Master Secret errechnet:

24 24 May 2006 - 24 Systems Architecture http://sar.informatik.hu-berlin.de SSL Handshake Protocol Webserver Alice ClientHello ClientKeyExchange ChangeCipherSpec Finished ChangeCipherSpec Finished ServerHello Certificate ServerHelloDone Handshake - Protokoll

25 25 May 2006 - 25 Systems Architecture http://sar.informatik.hu-berlin.de ChangeCipherSpec  ChangeCipherSpec ist ein eigenes Protokoll  Wird unter bestimmten Umständen durchgeführt (Überlauf der Sequenznummern, Alert Meldungen, etc.)  Protokoll besteht aus 2 Nachrichten:  ChangeCipherSpec Nachricht: Alle folgenden Nachrichten mit neuer CipherSuite  Finished Nachricht: MAC über alle bisher erhaltenen Nachrichten Handshake - Protokoll

26 26 May 2006 - 26 Systems Architecture http://sar.informatik.hu-berlin.de Optionale Phasen  Server sendet kein Zertifikat, sondern temporären öffentlichen Schlüssel Handshake - Protokoll Webserver Alice ClientHello ServerHello Certificate ServerHelloDone Handshake - Protokoll ServerKeyExchange

27 27 May 2006 - 27 Systems Architecture http://sar.informatik.hu-berlin.de Optionale Phasen  Server kann vom Client ein Zertifikat verlangen Handshake - Protokoll Webserver Alice ServerHello Certificate ServerHelloDone Handshake - Protokoll Certificate Request ClientKeyExchange Certificate CertificateVerify

28 28 May 2006 - 28 Systems Architecture http://sar.informatik.hu-berlin.de Vergleich SSL 3.0 und TLS 1.0  TLS 1.0 Internetstandard der IETF  keine grundlegenden Änderungen von TLS 1.0 gegenüber SSL 3.0, deshalb im Versionsfeld der SSL-Nachrichten 3.1  zwölf neue Alert-Nachrichten  Änderungen bzgl.: - Nachrichten-Authentifikation - Ereugung des Schlüsselmaterials - CertificateVerify und Finished-Nachricht - Fortezza-Ciphersuites nicht mehr zwingender Bestandteil der Ciphersuites Vergleich SSL und TLS

29 29 May 2006 - 29 Systems Architecture http://sar.informatik.hu-berlin.de Vergleich SSL 3.0 und TLS 1.0 (forts.) CertificateVerify (CV)  Berechnung der CertificateVerify Nachricht gegenüber SSL stark vereinfacht  Nachricht besteht nur noch aus dem signierten Hashwert aller ausgetauschten Handshake-Nachrichten (ClientHello bis CV-Nachricht) Authentifikation der Nachrichten  TLS verwendet das kryptografisch stärkere HMAC-Verfahren gegenüber den ad hoc-Lösungen bei SSL Vergleich SSL und TLS

30 30 May 2006 - 30 Systems Architecture http://sar.informatik.hu-berlin.de Vergleich SSL 3.0 und TLS 1.0 (forts.) TLS Ciphersuites  neu definierte Ciphersuites müssen von der IETF einen eindeutigen Namen erhalten in Form eines 2-Byte-Werts  bei SSL war Namensvergabe ein Problem, da nicht eindeutig geregelt (Bytewerte zum Teil doppelt belegt) 0x00,0x00TLS_NULL_WITH_NULL_NULL 0x00,0x01TLS_RSA_WITH_NULL_MD5... 0x00,0x06TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5... 0x00,0x13TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA... Algorithmen für die digitale Signatur und den Schlüsselaustausch während des Handshakes symmetrische Verschlüsselungsalgorithmus und sein Modus, sowie ausgewählte Hashfunktion Vergleich SSL und TLS

31 31 May 2006 - 31 Systems Architecture http://sar.informatik.hu-berlin.de Erweiterungen von TLS TLS wurde im RFC 4366 um einige Funktionen erweitert:  Unterstützung von namensbasierten virtuellen Hosts  Diverse Erweiterungen zum Einsatz auf Systemen mit begrenzten Ressourcen Erweiterungen von TLS

32 32 May 2006 - 32 Systems Architecture http://sar.informatik.hu-berlin.de TLS und virtuelle Hosts Webserver www1.domain.de www2.domain.de Was sind virtuelle Hosts? Erweiterungen von TLS

33 33 May 2006 - 33 Systems Architecture http://sar.informatik.hu-berlin.de TLS und virtuelle Hosts  Problem bei namensbasierten virtuellen Hosts: - Name des Hosts auf TLS Ebene nicht bekannt - Welches Zertifikat soll bei einer Anfrage übermittelt werden?  Lösung: - Erweiterung der ClientHello Nachricht - Name des Zielhosts wird beim ClientHello mitgeschickt Erweiterungen von TLS

34 34 May 2006 - 34 Systems Architecture http://sar.informatik.hu-berlin.de TLS bei begrenzten Ressourcen  MaximumFragmentSize: Aushandeln der Fragmentgröße bei Bandbreiten- oder Speicherbegrenzung  ClientCertificateURLs: Übermittlung einer URL zum Zertifikat, statt Zertifikat selbst  CA Root Keys: Übermittlung welche Root CA Keys der Client besitzt  Truncated MAC: HMAC wird auf 80 Bit gekürzt um Bandbreite zu sparen  Client Certificate Status Information: Certficate Revocation List muss nicht gesendet werden Erweiterungen von TLS

35 35 May 2006 - 35 Systems Architecture http://sar.informatik.hu-berlin.de Zusammenfassung  Vertraulichkeit -> durch symetrische Verschlüsselung im Record Layer  Authentizität -> durch (H)MAC-Bildung im Record Layer  Authentifikation der Kommunikationspartner -> durch Austausch von Zertifikaten im Handshake-Protokoll

36 36 May 2006 - 36 Systems Architecture http://sar.informatik.hu-berlin.de Quellenverzeichnis  T. Dierks, E. Rescorla: RFC 4346. The Transport Layer Security (TLS) Protocol Version 1.1. http://www.ietf.org/rfc/rfc4346.txt [06.05.2007]  Blake-Wilson, u.a. : RFC 4366. Transport Layer Security (TLS) Extensions. http://ietfreport.isoc.org/rfc/rfc4366.txt [04.05.2007].http://ietfreport.isoc.org/rfc/rfc4366.txt  Eckert, Claudia: IT-Sicherheit. Konzepte-Verfahren-Protokolle. 4. Auflage. München: Oldenbourg Verlag, 2006  Schwenk, Jörg: Sicherheit und Kryptographie im Internet. 2. Auflage. Wiesbaden: Vieweg Verlag, 2005  Anonymous: Der neue Linux Hacker's Guide Sicherheit für Linux-Server und -Netze, Markt+Technik Verlag, 2001

37 Systems Architecture http://sar.informatik.hu-berlin.de Comparison SSL/TLS, TLS for multiple virtual hosts Vielen Dank für Ihre Aufmerksamkeit! Dominik Oepen, Dennis Reinert 15.05.2007


Herunterladen ppt "Systems Architecture Comparison SSL/TLS, TLS for multiple virtual hosts Dominik Oepen, Dennis Reinert 15.05.2007."

Ähnliche Präsentationen


Google-Anzeigen