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 p.1
Gliederung Einführung und Definition Kurze Einordnung in ISO-OSI-Referenzmodell Kryptographische Verfahren HTTP-Sicherheitsmechanismen (Geschichte) Seminar Neue Internettechnologien p.2
Gliederung [2] SSL 3.0 Ziele Eigenschaften SSL Record Protocol SSL Handshake Protocol Unterschiede TLS HTTPS und Proxies Angriffe auf SSL Praktische Aspekte Seminar Neue Internettechnologien p.3
Einführung "Sicher ist, dass nichts sicher ist. Selbst das nicht." Ringelnatz Am Anfang Forschungsnetz d.h. schnelle Kommunikation einzelner Personen kein großes Gefahrenpotenzial Mitterweile Millionen von anonymen Nutzern d.h. Rapider Anstieg der Bedrohungen Passive Angriffe Alles Daten werden im Klartext übertragen, jeder der Zugriff auf einen (Verbindungs-)Rechner hat, kann mitlesen Aktive Angriffe (z.b. IP Spoofing, Port Scans, DNS Poisoning, (D)DoS... ) Seminar Neue Internettechnologien p.4
Definition Aus RFC 2246 (ietf.org): "The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery." Schutz vor: "Lauschen" "Einmischen" "Fälschen" Seminar Neue Internettechnologien p.5
Definition [2] Aspekte von großer Bedeutung: Verfügbarkeit Datenintegration Vertraulichkeit und Geheimhaltung Authentifikation und Autorisation Anwendung: E-Commerce (Kontonummern, Kreditkartennummern etc.) Sichere Kommunikation Virtuelle Private Netzwerke (VPN)... Seminar Neue Internettechnologien p.6
Einordnung ins TCP/IP Modell 7 Anwendungsschicht 6 Darstellungsschicht 5 Sitzungsschicht 4 Transportschicht 3 Vermittlungsschicht 2 Sicherungsschicht 1 Bitübertragungsschicht ISO OSI Referenzmodell Anwendungsschicht Transportschicht IP Schicht Netzzugangsschicht TCP/IP Schichtenmodell HTTP SSL TCP IP Netzzugangsschicht SSL als neue Sicherungsschicht Seminar Neue Internettechnologien p.7
Grundmodell der Kryptographie Alice M Angreifer E Bob M Klartext encrypt Chiffrat decrypt Klartext k Schlüssel K Schlüssel (1) Chiffrat E = encrypt(k, M) (2) Orginalnachricht M = decrypt(k, E) Seminar Neue Internettechnologien p.8
Symmetrische Kryptographie Beide Partner haben gleichen Schlüssel: (3) k = K Vorteile Nachteile Einfache Verfahren Schlüssel muss ausgetauscht werden schnelle Ver- und Entschlüsselung Verfahren: DES (Data Encryption Standard) IDEA (International Data Encryption Algorithm) RC2 bis RC6 (Rivest Cipher) AES (Advanced Encryption Standard) Sicherer Schlüsselaustausch schwierig Unterschiede in Aufwand und Sicherheit Seminar Neue Internettechnologien p.9
Asymmetrische Kryptographie Partner haben unterschiedlichen Schlüssel: (4) k K Vorteile Kein Schlüsselaustausch nötig Verfahren: Diffie-Hellmann RSA (Rivest, Shamir, Adleman) El-Gamal Nachteile langsame Ver- und Entschlüsselung Autorisierung der öffentlichen Schlüssel nicht einfach Beruhen auf Zahlentheoretischen Erkenntnissen Seminar Neue Internettechnologien p.10
Hybride Verschlüsselung Ziel: Ausnutzen der Vorteile beider Verfahren bei Minimierung der Nachteile Lösung: Erzeugung eines einmaligen Sitzungsschlüssel Übertragung des Schlüssels mit Public-Key Verfahren Symmetrische Kommunikation mit Hilfe dieses Schlüssels Seminar Neue Internettechnologien p.11
Geschichte Basic Authentication für HTTP einfache unverschlüsselte User/Password Abfrage Digest Authentication für HTTP Challenge-and-Response Protokoll mit Hash-verschlüsseltem Passwort Secure HTTP ähnlich SSL, jedoch schwieriger zu implementieren, siehe [RFC 2660] SSL 2.0 Gleiches Prinzip wie heute, jedoch einige Mängel, vor allem in der Sicherheit PCT (Private Communication Technology) Microsofts Antwort, benötigte Zertifikatsmanager im Betriebssystem Seminar Neue Internettechnologien p.12
Secure Socket Layer (SSL 3.0) Zwei Hauptbestandteile: SSL Handshake Protocol Zum Aufbau der Verbindung, Austausch von wichtigen Daten SSL Record Protocol Zwei Dienste: 1. Verifikation bzw. Authentikation 2. Ver- bzw. Entschlüsselung Dazu: SSL ChangeCipherSpec Zum Ändern der kryptographischen Parameter SSL Alert Protocol Für Fehlermeldungen Seminar Neue Internettechnologien p.13
SSL Handshake Protocol Client Client_Hello Server_Hello Server Austausch von: Protokoll Version, Session ID, Cuipher Siute, Kompressionsmethode, Zufallswerte Certificate [Server_Key_Exchange] [Certificate_Request] Server_Hello_Done Server sendet sein Zertifikat Server verlangt (optional) Clientzertifikat zur Authentifizierung des Clients [Certificate] Client_Key_Exchange [Certificate_Verify] Client sendet sein Zertifikat zusammen mit dem PreMasterSecret Change_Cipher_Spec Finished Change_Cipher_Spec Finished Ciphersuite wird gewechselt und der Handshake beendet Die Übertragung beginnt Seminar Neue Internettechnologien p.14
SSL Record Protocol HTTP Daten Fragmentierung Typ Version Länge Komprimierung (optional) Typ Version Länge Authentifizierung Typ Version Länge MAC Verschlüsselung Typ Version Länge MAC Padding P. Länge Seminar Neue Internettechnologien p.15
Transport Layer Security Internet-Standard der IETF [RFC 2246], mit geringen Änderungen: Anzahl der Alert-Nachrichten Nachrichten-Authentikation Erzeugung des Schlüsselmaterials CertificateVerify und Finished Nachrichten Herausnahme der Fortezza-Ciphersuites (SKIPJACK und KEA), weil geschützt und nicht öffentlich Seminar Neue Internettechnologien p.16
Proxy-Server Vermittlungsstelle bzw. Zwischenspeicher Zweck: Reduzierung der Datenmenge Reduzierungen der Verbindungen zum Internet Kosten-, Effizienz- und Sicherheitsgründe Zwei Möglichkeiten der Proxysicherheit: HTTPS-Proxying SSL-Proxying Internet Intranet Proxy Server Seminar Neue Internettechnologien p.17
HTTPS-Proxying Proxy dient als Schleuse Vorteile SSL-Konfiguration nur auf Server (1 mal) Vorteile des Proxying bleiben erhalten Nachteile Verbindung Client-Server ungesichert Engpässe durch hohe Netzlast am Server möglich keine Clientauthentifikation möglich Sichere Umgebung HTTP HTTPS Primergy angefragter Server Client Proxy Server Seminar Neue Internettechnologien p.18
SSL-Proxying Proxy wird getunnelt, d.h. übergangen Vorteile Nachteile gesicherte Verbindung vom Client zum Internetserver Keine SSL-Implementierung am Server Clientauthentifikation möglich Vorteile des Proxying gehen verloren SSL-Konfiguration auf allen Clients Intranet HTTPS Primergy angefragter Server Client Tunnel Proxy Server Seminar Neue Internettechnologien p.19
Angriffe und praktische Aspekte Es gibt Angriffe, diese beziehen sich aber meist auf Implementierung anstatt auf die kryptographischen Verfahren: Million Questions Angriff Framespoofing Cipher-Suite Rollback Angriff SSL wichtigstes Sicherheitsprotokoll, mit breiter Anwendung und Unterstützung, freie Implementierung (www.openssl.org) Gewährleistet gute Sicherheit Seminar Neue Internettechnologien p.20
Ausblick Seminar Neue Internettechnologien p.21