Seminar Neue Techologien in Internet und WWW Sicherheit auf der Anwendungsschicht: HTTP mit SSL, TLS und dabei verwendete Verfahren Christian Raschka [email protected] 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 Anwendungsschicht 5 Sitzungsschicht 4 Transportschicht 3 Vermittlungsschicht 2 Sicherungsschicht 1 Bitübertragungsschicht ISO−OSI Referenzmodell 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 Angreifer M E Bob M decrypt encrypt Klartext Klartext Chiffrat k K Schlüssel 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 Sicherer Schlüsselaustausch schwierig Verfahren: DES (Data Encryption Standard) IDEA (International Data Encryption Algorithm) RC2 bis RC6 (Rivest Cipher) AES (Advanced Encryption Standard) Unterschiede in Aufwand und Sicherheit Seminar Neue Internettechnologien – p.9 Asymmetrische Kryptographie Partner haben unterschiedlichen Schlüssel: (4) k 6= K Vorteile Nachteile Kein Schlüsselaustausch nötig langsame Ver- und Entschlüsselung Autorisierung der öffentlichen Schlüssel nicht einfach Verfahren: Diffie-Hellmann RSA (Rivest, Shamir, Adleman) El-Gamal 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 Server_Hello Certificate [Server_Key_Exchange] [Certificate_Request] Server_Hello_Done Austausch von: Protokoll Version, Session ID, Cuipher Siute, Kompressionsmethode, Zufallswerte Server sendet sein Zertifikat Server verlangt (optional) Clientzertifikat zur Authentifizierung des Clients [Certificate] Client_Key_Exchange [Certificate_Verify] Change_Cipher_Spec Finished Change_Cipher_Spec Client sendet sein Zertifikat zusammen mit dem PreMasterSecret Ciphersuite wird gewechselt und der Handshake beendet Die Übertragung beginnt Finished 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 Nachteile SSL-Konfiguration nur auf Server (1 mal) Verbindung Client-Server ungesichert Vorteile des Proxying bleiben erhalten Engpässe durch hohe Netzlast am Server möglich keine Clientauthentifikation möglich Sichere Umgebung HTTP Client HTTPS Primergy angefragter Server Proxy−Server Seminar Neue Internettechnologien – p.18 SSL-Proxying Proxy wird getunnelt, d.h. übergangen Vorteile Nachteile gesicherte Verbindung vom Client Vorteile des Proxying gehen verloren zum Internetserver Keine SSL-Implementierung am Server SSL-Konfiguration auf allen Clients Clientauthentifikation möglich Intranet Primergy HTTPS angefragter Server Tunnel Client 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