Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Jacob Schwarz Geändert vor über 7 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.