Kommunikationsnetze Internet-Praktikum II Lab 3: Virtual Private Networks (VPN) Andreas Stockmayer, Mark Schmidt Wintersemester 2016/17 http://kn.inf.uni-tuebingen.de
Virtuelle private Netze (VPN) Ziel: Gewährleistung eines gesicherten Datenaustauschs zwischen entfernten Kommunikationspartnern/Standorten über (ungesicherte) Transit-Netze (z.b. das Internet) durch Authentifizierung und Verschlüsselung
VPN Beispiele Layer 2 Point-to-Point Tunneling Protocol (PPTP) Layer-2-Tunneling Protocol (L2TP) Layer 3 IPsec Layer > 3 OpenVPN tinc Cisco AnyConnect
Internet Protocol Security (IPSec) Sicherheitsprotokoll, das für die Kommunikation über IP-Netze die Schutzziele Vertraulichkeit, Authentizität und Integrität gewährleistet IPsec auf Layer 3 RFC 2401 und RFC 4301 (neu) beschreiben die Architektur von IPsec.
Security Association und Security Policy Security Association (SA) Security Parameter Index (SPI) Protokoll, Schlüssel, Algorithmus SA beinhaltet Identifikation (entweder per PSK oder Zertifikat) Zu verwendender Schlüsselalgorithmus Quell- / Ziel-IP Gültigkeitsdauer Wird gespeichert in Security Association Database (SAD) Security Policy (SP) Regelsatz: Welches Sicherheitsmechanismen für welche Pakete Wird gespeichert in Security Policy Database (SPD)
Authentication Header (AH) Authentifizierung AH authentisiert alle unveränderlichen Felder des äußeren IP- Headers Protocol / Next Header Feld: 51 Paketformat
Encapsulating Security Payload (ESP) Verschlüsselung Der ESP-Header folgt direkt dem IP-Header oder einem AH-Header Protocol / Next Header Feld: 50 Das Next Header Feld im ESP-Header bezieht sich auf die geschützten Daten Paketformat
IPsec Tunnel- / Transportmode IPsec verbindet entweder 2 Endpunkte (transport mode) oder 2 Subnetze (tunnel mode) Transportmode Tunnelmode IPsec-Header zwischen dem IP- Header und den Nutzdaten Einkapseln des ursprünglichen Pakets Der IP-Header bleibt unverändert Dieser dient weiterhin zum Routing des Pakets v.a. für Host-zu-Host- oder Hostzu-Router-Verbindungen Die Sicherheitsdienste von IPsec auf das gesamte Paket angewandt. Tunnelendpunkte werden über äußeren IP-Header adressiert Innerer IP-Header beinhaltet eigentl. Kommunikationspartner v.a. für Gateway-zu-Gateway- oder Peer-zu-Gateway-Verbindungen
IPsec Tunnel- / Transportmode Beispiel AH ESP
IPsec Tunnel- / Transportmode Beispiel AH + ESP
IPsec Schlüsselaustausch (1) Manual Keying SA wird auf beiden Seiten mit Schlüssel statisch konfiguriert Einfach, aber schlechte Skalierbarkeit Sicherheitsprobleme (keine wechselnden Sitzungsschlüssel) Internet Key Exchange (IKEv1) 2 Phasen Aushandlung einer SA (Security Association) Aggressive Mode oder Main Mode Erzeugung einer SA für IPsec mittels Quick Mode Kompliziert (und im Aggressive Mode unsicher) Nachfolger: IKEv2
IPsec Schlüsselaustausch (2) Internet Key Exchange Version 2 (IKEv2) IKE_SA_INIT Autausch von SA-Vorschlägen, Nonces und DH-Parametern [Optional: Certificate Request] Diffie-Hellman-Schlüsselvereinbarung erzeugt Master-Key Schlüssel für IKE SA werden vom Master-Key abgeleitet IKE_SA_AUTH Bereits verschlüsselt mit ausgehandeltem Key Nachträgliche Authentifizierung der IKE_SA_AUTH Nachrichten MAC (bei PSK) oder Signatur (bei Zertifikaten) Erzeugung der ersten CHILD_SA CREATE_CHILD_SA Neue CHILD_SA erzeugen Rekeying für IKE_SA oder bestehende CHILD_SA Inkompatibel zu IKEv1
www.schneierfacts.com IPsec Kritik IPsec was a great disappointment to us. Given the quality of the people that worked on it and the time that was spent on it, we expected a much better result. (Bruce Schneier) Redundanzen im Konzept ESP+AH Hohe Komplexität Fehleranfällig auf Implementierungsseite! Im TCP/IP-Stack integriert Kernel-Mode Viel Platformspezifischer Code Viele inkompatible Implementierungen
OpenVPN VPN-Implementierung im Userspace Normales Anwendungsprogramm Weniger plattformspezifischer Code Benötigt vom Kernel lediglich virtuelle Netzwerkinterfaces TAP (Layer 2) oder TUN (Layer 3) Basiert auf SSL bzw. DTLS UDP und TCP als Transportprotokoll möglich Authentifizierung Static Key Symmetrischer PSK von dem weitere Schlüssel abgeleitet werden Zertifikate Ähnlich wie SSL-Handshake
OpenVPN Modi Bridging-Mode TAP-Interface Netz auf Layer 2 verbunden Gleiches IP-Subnetz Routing-Mode TUN-Interface Netz auf Layer 3 verbunden Verschiedene IP-Subnetze Routen in beide Richtungen nötig Gleiches IP-Subnetz erfordert Hacks wie Proxy-ARP