Gestaltung von virtuellen privaten Netzwerken (VPN) - Tunneling und Encryption Markus Keil IBH Prof. Dr. Horn GmbH Gostritzer Str. 61-63 01217 Dresden http://www.ibh.de/ [email protected] 1 Was ist ein VPN ? XVPN - Virtuelles Privates Netzwerk Netzwerkverbindung über eine „öffentliche Infrastruktur“ O effektive Nutzung bestehender Netzwerke O Management- und Sicherheitspolicies wie im privaten Netz O X3 typische Varianten: Access VPN O Intranet VPN O Extranet VPN O 2 VPN - Varianten XAccess VPN Remotezugriff via Dial In (analog / ISDN /DSL etc.) O zur Anbindung mobiler Nutzer, SOHOs O XIntranet VPN Nutzt bestehende Festverbindungen in öffentliche Netze O Verknüpfung örtlich getrennter LANs in den verschiedenen Firmensitzen O Zugriff nur für firmeninterne Mitarbeiter O XExtranet VPN O wie Intranet VPN, aber: Zugriff für Kunden, Zulieferer, Partner etc. 3 VPN Topologien (Beispiele) Internet Router-zu-Router VPN Gateway Internet Router-zu-VPN-Firewall Gateway VPN-Client-zu-Router VPN über das interne Netzwerk 4 Verwendetes Protokoll: IPSec XVPN-Implementationen basieren heutzutage fast ausschliesslich auf IPSec XIPSec - Industriestandard-Protokollsuite, beschrieben in diversen Internet RFCs XGrundlegende Beschreibung in RFC 2401 „Security Architecture for the Internet Protocol“ XDie 2 wesentlichen Bestandteile: Authentication Header (AH) O Encapsulating Security Payload (ESP) O XDarüberhinaus Nutzung weiterer Standards 5 IPSec - Features XVertraulichkeit der Daten O Verschlüsselung von Informationen XDatenintegrität O Sicherstellen, dass Daten während der Übertragung nicht verändert wurden XAuthentizität der Herkunft Empfänger kann die Herkunft der Daten verifizieren O ist eng an die Integrität der Daten gebunden O XAnti-Replay O Empfänger kann duplizierte / mehrfach gesendete Pakete erkennen und zurückweisen 6 Authentication Header (AH) XAuthentication Header: zuständig für Integrität und Authentizität der Daten O bietet keine Verschlüsselung! O Authentifizierung der Pakete erfolgt durch eine EinwegHashfunktion, erweitert um einen geheimen Schlüssel O Nur Sender und Empfänger kennen den geheimen Schlüssel O Empfänger wendet denselben Algorithmus an und vergleicht den Hash O Änderungen führen zu ungültigen Paketen - Verworfen! O Anwendung erfolgt auf das ganze IP Datagram (ausser veränderlichen Feldern wie TTL) O 7 AH Illustrated IP Header + Daten + Key IP Header + Daten + Key Hash Hash IP Header AH Router A Daten Router B 8 Encapsulating Security Payload (ESP) XEncapsulating Security Payload: bietet Verschlüsselung der Daten O Authentisierung der Datenherkunft und -integrität ebenfalls möglich O optional Anti-Replay-Schutz O Verschlüsselung erfolgt auf IP-Ebene O Unterstützt Verschlüsselungsalgorithmen wie DES und 3DES (DES hauptsächlich aus Kompatibilitätsgründen) O Rechenintensiv, je nach gewähltem Algorithmus O 9 Weitere Standards innerhalb IPSec 1 XDiffie-Hellman (DH) Protokoll für den Austausch von Schlüsseln über unsichere Datenkanäle unter Nutzung großer Primzahlen O 2 Sicherheitsstufen (a.k.a. Diffie-Hellman-Groups) O X X O DH-Group 1: 768-bit DH-Group 2: 1024-bit (Höhere Sicherheit) Ausgetauschte Schlüssel werden später für Verfahren wie DES oder MD5 von den Kommunikationspartnern benötigt XMessage Digest 5 (MD5) Hash Algorithmus, benutzt von zb. AH und ESP O Input: variable Länge, Output: fixe Länge O Einwegfunktion, nicht umkehrbar O 10 Weitere Standards innerhalb IPSec 2 XSecure Hash Algorithm-1 (SHA-1) weitere Hash-Algorithmus-Variante O grössere Schlüssellänge als MD5 O XHashed Message Authentication Code (HMAC) Varianten von MD5 und SHA-1 O Standard-Hashalgorithmen, erweitert um kryptografische Verfahren (verschlüsselter Hash) O XRivest, Shamir and Adelman Signaturen (RSA) Public Key Kryptografiesystem für die Authentisierung O DH-Schlüsselaustausch kann über pre-shared keys oder RSA-Signaturen erfolgen O 11 Digitale Zertifikate XGesicherte Bereitstellung öffentlicher Schlüssel XZertifikat: digitale Signatur am „public key“ Signierender bestätigt Authentizität des Schlüssels O Kommunikationspartner vertrauen einer signierenden Authorität O XZwei Ansätze einer Public Key Infrastructure (PKI): Certificate Authority (CA) - zentral, hierarchisch, der „public key“ der CA ist so öffentlich, dass er kaum gefälscht werden kann O Web of Trust - dezentral, anarchisch, viele Nutzer bestätigen sich gegenseitig auf einer Vertrauensbasis O 12 Transport Mode XTransport Mode bei end-to-end sessions beide Endpunkte unterstützen IPSec O Gateways werden als Host betrachtet, mit dem eine gesicherte Verbindung aufgebaut wird O Beispiel: Remotekonfiguration eines Gateways O Original IP Header wird authentisiert, aber beibehalten O IP Header IP Header IP Header AH ESP Header Daten Original IP Paket Daten mit AH Daten ESP Trailer ESP Auth mit ESP 13 Tunnel Mode XTunnel Mode für alle anderen Anwendungsfälle wenigstens ein Endpunkt ist kein IPSec-Partner (IPSecTunnelende fungiert als Proxy) O häufigster Anwendungsfall: Tunnel zwischen 2 Gateways O komplettes IP Paket wird authentifiziert bzw. verschlüsselt O neuer IP Header wird gebildet O Neuer IP Header Neuer IP Header AH ESP Header IP Header Daten Original IP Paket IP Header Daten mit AH IP Header Daten ESP Trailer ESP Auth mit ESP 14 Network Address Translation (NAT) ? XNAT nur möglich, wenn beide Tunnelenden Address Translation unterstützen (IPSec nach NAT) XAH Transforms lassen generell kein NAT zu: Quell-IP-Adresse wird ausgetauscht O Hash verändert sich, Paket wird ungültig O XProprietäre Ansätze: NAT-aware IPSec über spezielle TCP- oder UDP-Ports wird nur von wenigen Geräten bisher unterstützt O nur in neuesten Software-Versionen verfügbar O 15 IPSec Transform Sets XTransform: O spezifiziert eines der beiden IPSec-Protokolle AH oder ESP mit den dazugehörigen, zu verwendenden Algorithmen und Modi, zum Beispiel: X X AH mit MD5 Authentifizierung und Transport Mode ESP mit SHA-1 Authentifizierung, 3DES Verschlüsselung und Tunnel Mode XTransform Set: Kombination von IPSec Transforms O 3 Transforms pro Set erlaubt O 1 AH und 2 ESP Transforms als Maximum O 16 IKE XInternet Key Exchange (IKE) Hybrides Protokoll, das zur gegenseitigen Authentisierung der Kommunikationspartner dient O Aufbau eines gesicherten Kommunikationskanals O Aushandlung der Sicherheitsrichtlinien (Security Associations) für IPSec O stellt somit Grundlage für die IPSec-Kommunikation dar O Ablauf erfolgt in 2 Phasen O 17 IPSec Security Association (SA) XFestlegung von Methoden der gesicherten Kommunikation unidirektional - daher 2 SAs, eine je Richtung O besteht aus: O X X X X X Zieladresse Security Parameter Index (SPI) IPSec Transform Schlüssel „Lebensdauer“ - Lifetime (Zeit- o. Volumenbegrenzung) Peers einigen sich auf SA O SA Datenbank wird im Speicher gehalten O 18 IPSec - 5 Schritte XSchritt 1 - Datenverkehr als Initiator XSchritt 2 - IKE Phase 1 XSchritt 3 - IKE Phase 2 XSchritt 4 - Datenverkehr (geschützt) XSchritt 5 - Terminierung der Verbindung 19 IPSec Schritt 1 (Initialisierung) XFestlegung der zu schützende Daten über Zugriffslisten (spiegelbildlich) permit O deny O - Verschlüsselung erforderlich - keine Verschlüsselung XEntsprechende Daten lösen IPSec-Prozess aus Host A Host B Zu schützende Daten 20 IPSec Schritt 2 (IKE Phase 1) XEinigung auf Algorithmen und Hashverfahren XEinigung über die Nutzung der Auth-Methode O Pre-Shared Keys X X X O RSA Signaturen X X O gleicher Schlüssel auf beiden Seiten, manuelle Eingabe einfach konfigurierbar schlecht skalierbar (für jeden Kommunikationspartner muss der Schlüssel konfiguriert werden) Digitales Zertifikat für jeden Peer erforderlich skalierbar RSA Encrypted Nonces X Zufallszahl (Nonce) wird erzeugt und mit Public Key des Peers verschlüsselt 21 IPSec Schritt 2 (Fortsetzung) XVon allen 3 Methoden genutzt - Peer Identity IP-Adresse O Fully Qualified Domain Name O XSchlüsselaustausch per Diffie-Hellman XAuthentisierter, gesicherter Kanal wird aufgebaut IKE Phase 1 22 IPSec Schritt 3 (IKE Phase 2) XEinigung auf IPSec-Sicherheitsrichtlinie Sender bietet ein oder mehr Transform Sets an O Empfänger sendet ein Transform Set zurück - Einigung O Xbenötigte Schlüssel werden generiert XSecurity Association wird aufgebaut Xneue Aushandlung der SA nach Ablauf der Lifetime neue Schlüssel, basierend auf dem Schlüsselmaterial aus Phase 1, werden ausgetauscht O optional: Perfect Forward Secrecy (PFS) - erneuter DHAustausch - Schlüssel höherer Entropie O 23 IPSec Schritt 4 (Datenverkehr) XDaten werden über gesicherten Kanal ausgetauscht XPakete werden verschlüsselt und entschlüsselt IPSec Tunnel 24 IPSec Schritt 5 (Terminierung) XTunnel wird terminiert durch: TCP Session timeout erreicht O Ende der SA Lifetime erreicht O Maximale Paketanzahl überschritten O XAufgebaute IPSec SA wird gelöscht IPSec Tunnel 25 IPSec Flowchart Datenpaket Verschlüsseln ? nein Paket senden ja IPSec SA ? ja Paket verschlüsseln nein IKE ? ja IPSec SA aushandeln nein Zertifikate ? nein IKE aushandeln ja Eigene Schlüssel erzeugen, öffentlichen Schlüssel der CA und eigenes Zertifikat anfordern 26 Vielen Dank für Ihre Aufmerksamkeit ! 27