4. 0. Einordnung in den Protokollstapel OSI-Modell TCP/IP Standards/Protokolle AnwendungsNFS schicht Telnet FTP Datendarstellung Anwendung XDR SMTP DNS SNMP KommunikationsRPC steuerung Transport Transport TCP UDP Vermittlung Vermittlung IP ICMP IGMP Sicherung NetzwerkPPP SLIP Ethernet Tokenring Bitübertragung zugang ... IT-Sicherheit für 04INM 4. Network Layer Security Prof. Dr. Uwe Petermann Dept. of Computer Science University of Applied Sciences Leipzig P.O.B. 300066 D-04251 Leipzig (Germany) [email protected] May 15, 2006 SNMP — Simple Network Management Protocoll IGMP — Internet Group Management Protocoll ICMP — Internet Control Message Protocoll ARP — Address Resolution Protocoll 1 IT-Security, 05INM 4. Network Layer Security — Überblick: U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. PPP — Point To Point Protocoll 3 IT-Security, 05INM 4. 1. 1 Prinzip 1. Sicherheit durch Sicherung der Schicht-3-Pakete 2. Implementierungsvarianten: Literatur: z.B.: [?, ?] 1. Einordnung in den Protokollstapel 2. IP Security Protocol (IPsec) • seit ca. 1995 von WG “IP Security” der IETF erarbeitet • RFCs zu folgenden Themen: – IPsec-Architektur und Fehlerbehandlung – Verschlüsselungs- und Authentifizierungs-Header – Schlüsselaustausch – kryptographische Algorithmen U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. XDR — eXternal Data Representation RARP — Reverse Address Resolution Protocoll SLIP — Serial Line IP U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. NFS — Network File System RPC — Remote Procedure Call 2 IT-Security, 05INM (a) Transportmodus: verschlüsselte Schicht-4-Pakete als Nutzdaten der Network-layer-Pakete network : network-header + crypt(key, ip-Paket) Problem: Router müssen Pakete entschlüsseln, um Routing-Information zu erhalten −→ Sicherheitsziele Integrität und Vertraulichkeit nur teilweise erreichbar (b) Tunnelmodus: verschlüsselte Schicht-3-Pakete als Nutzdaten höherer Schichten übertragen −→ Sicherheitsziele erreichbar U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 4 IT-Security, 05INM 4. 1. 1 Prinzip (cont.) 4. 1. 1 Prinzip (cont. (3)) 3. Implementierungsbeispiel: Transportmodus über TCP/IP: ip : ip-header + Verschlüsselungskopf + tcp : tcp-header + Daten Sicherheitsschleuse Teilnetz A: Rechner X sendet : ip-header ip : + Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket) Problem: z.B. Paketfilter - unterbinden “ungewöhnliche Protokolle” U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 5 IT-Security, 05INM 4. 1. 1 Prinzip (cont. (2)) Sicherheitsschleuse Teilnetz B: Rechner Y empfängt : ip-header ip : + Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket) U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 7 IT-Security, 05INM 4. 1. 1 Prinzip (cont. (4)) 4. Implementierungsbeispiel: Tunnelung über TCP/IP: ip : ip-header + Verschlüsselungskopf + crypt( ip : ip-header + tcp : tcp-header + Daten) U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 5. VPN als Anwendungsszenario: VPN - Virtual Private Network 6. “Mobiler Mitarbeiter” als Anwendungsszenario: “Mobiler Mitarbeiter” verbindet sich von fremden Teilnetz A mit Heimatnetz B: Rechner X sendet : ip-header ip : + Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket) Sicherheitsschleuse Teilnetz B: Rechner Y empfängt : ip-header ip : + Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket) 6 IT-Security, 05INM U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 8 IT-Security, 05INM 4. 2. 2 IPsec - Grundlagen und Funktionsweise 4. 2 IPsec (IP Security Protocol) • Security Association (SA) 1. IPsec-Architektur und Fehlerbehandlung 2. Verschlüsselungs- und Authentifizierungs-Header – wählt Sicherheitsprotokoll für IP-Paket aus – durch Security Parameter Index (SPI) identifiziert • Security Policy Database (SPD) 3. Methoden zum Schlüsselaustausch, z.B. Festlegung, ob und wie IP-Pakete mittels IPsec zu sichern sind • Internet Security Assosciation and Key Management Protocol (ISAKMP) • Internet Key Exchange (IKE) 4. kryptographische Algorithmen U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 9 IT-Security, 05INM 4. 2. 1 IPsec-Sicherheitsdienste U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 11 IT-Security, 05INM 4. 2. 2 IPsec - Grundlagen und Funktionsweise (cont.) • Zugriffskontrolle verhindert Datenempfang von unberechtigten Sendern • Security Association Database (SAD) • verbindungslose Integrität Manipulation der Daten während der Übertragung erkennbar • Security-Protokolle • Authentifizierung der Datenherkunft • Ablehnen von Reply-Paketen speichert die aktiven Sicherheitsassoziationen – Authentication Header (AH) und Encapsulating Security Payload (ESP) – beide in Transport- und Tunnelmodus anwendbar • Vertraulichkeit durch Verschlüsselung gesichert • Vertraulichkeit des Verkehrsflusses Grad der Absicherung vom Modus (Transport-, Tunnel-) abhängig U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 10 IT-Security, 05INM U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 12 IT-Security, 05INM 4. 2. 3 IPsec-Elemente 4. 3 Schlüsselverwaltung • Security Association . . . besteht aus – Security Parameter Index (SPI) – IP-Zieladresse — macht SA eindeutig – Identificator des Sicherheitsprotokolls (ESP oder AH) • Security Policy Database – Liste von Regelsätzen, auf zu prüfende Pakete anzuwenden – Regelsätze bestehen aus Selektoren: ∗ IP-Quell- und -Zieladresse, ∗ Benutzername, ∗ Data Sensitivity Level, ∗ Transportprotokoll der höheren Schicht, ∗ Quell- und Ziel-Port – Pro verwendetes Interface ein Abschnitt mit je einen Bereich für ein- und ausgehende Pakete U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 13 IT-Security, 05INM 4. 2. 3 IPsec-Elemente • Internet Key Management Protocols (IKMP) für Schlüsselverteilung auf zahlreiche Rechner ISAKMP, SKEME, OAKLEY, IKE, SKIP (Sun) U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 15 IT-Security, 05INM 4. 3. 1 Internet Security Association and Key Management Protocol (ISAKMP) • Security Association Database speichert die aktiven Sicherheitsassoziationen je Eintrag folgende Felder: • RCF 2408 – IP-Zieladresse, IPsec-Protokoll, Security Parameter Index (SPI) – Selektoren, nach denen die SPD diese SA anwählt – SA-Verarbeitungsinformation (z.B. krypt. Alg.) ... s. p. 162 • Authentication Header • definiert 1. Prozeduren und Paketformate für Einrichten, Aushandeln, Modifizieren, Löschen von Security Associations 2. Payloads für Austausch der Daten für Schlüsselgenerierung 3. und Authentifizierung • soll Aushandlung von Sec.Assoc.s auch in der Transportschicht unterstützen (−→ Transport Layer Security) • Encapsulating Security Payload U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. • Manuelle Schlüsselverwaltung hoher Arbeitsaufwand Einsatz meist bei Einrichtung von VPNs Schlüsselverteilung nur für die (wenigen) Sicherheitsschleusen nötig 14 IT-Security, 05INM U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 16 IT-Security, 05INM 4. 3. 1 ISAKMP - Funktionsweise 4. 3. 2 SKEME - Ziele • nutzt UDP-Port 500 (durch IANA zugewiesen) • skalierbares und effizientes Protokoll • Begriffsbestimmung: Domain of Interpretation (DoI) Situation: Information zur Bestimmung der erforderlichen Sicherheitsdienste Security Policies: — die zu unterstützen sind Syntax: — zur Spezifikation der Sicherheitsdienste Namensschemata: Benennungsschema für sicherheitsrelevante Information (Verschlüsselungsalgorithmen, Austauschprotokolle, ...) Spezifische Formate: der Nutzlast abhängig vom Inhalt U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 17 IT-Security, 05INM U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 19 4. 3. 1 ISAKMP - Protokoll 4. 3. 2 SKEME - Modi Prinzip: Basis: Schlüsselaustausch: public-key Perfect Forward Secrecy: Diffie-Hellman Phase 1: Einrichten einer ISAKMP-SA zum Schutz der Aushandlung der Protokoll-SA Phase 2: Einrichten der SA-Sicherheitsprotokolle Diskussion • hoher Aufwand am Anfang • Vorteile: bereits in zweiter Phase sind Schutzfunktionen wirksam (z.B. Schutz der Identität) weitere Details ... u.a. Austauscharten base exchange, identity protection exchange, authentication only exchange, aggressive exchange, informational exchange U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 18 IT-Security, 05INM IT-Security, 05INM Share-Only: Schlüsselaustausch: public-key Preshared key: gemeinsam benutzter Schlüssel Perfect Forward Secrecy: Fast ReKey: auf Basis effizienter symmetrische Schlüssel (z.B. MD5) U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 20 IT-Security, 05INM 4. 3. 2 SKEME - Besonderheit 4. 3. 2 SKEME - Protokoll: Schritt 1 kein durch digitale Signatur geschützter Diffie-Hellman-Austausch sondern Austausch von mittels public keys verschlüsselten Halbschlüsseln diese werden zur Authentifizierung des Diffie-HellmanAustauschs genutzt (Schutz gegen Man-in-the-Middle-Angriff) −→ effizienter als durch Signatur authentifizierter DiffieHellman-Austausch U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 21 IT-Security, 05INM share-Phase: Sei kX öffentlicher Schlüssel von X. 1. A → B : KakB 2. B → A : KbkA 3. Kab = H(Ka; Kb) Halbschlüssel Ka und Kb von den Absendern jeweils zufällig gewählt und mit öffentlichen Schlüsseln kB und kA der jeweiligen Empfänger verschlüsselt. Sicherheit: Schlüssel Kab nur den Partnern bekannt. U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 23 IT-Security, 05INM 4. 3. 2 SKEME - Protokoll - Alternative 4. 3. 2 SKEME - Protokoll: Überblick share-Phase: Sei kX öffentlicher Schlüssel von X. 1. A → B : KakB 2. B → A : KbkA 3. Kab = H(Ka; Kb) zusätzlich möglich: Identität der Kommunikationspartner verschlüsselt share-Phase: Sei kX öffentlicher Schlüssel von X. exch-Phase: 1. A → B : idA, KakB 2. B → A : idB , KbkA 3. Kab = H(Ka; Kb) 1. A → B : g xa (modp) 2. B → A : g xb (modp) 3. K = g xaxb (modp) auth-Phase: 1. A → B : hg xb , g xa , idA, idB iKab 2. B → A : hg xa , g xb , idB , idAiKab U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 22 IT-Security, 05INM U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 24 IT-Security, 05INM 4. 3. 2 SKEME - Protokoll: Schritt 2 4. 3. 2 SKEME - Protokoll: Schritt 3 exch-Phase: auth-Phase: 1. A → B : g xa (modp) 2. B → A : g xb (modp) 3. K = g xaxb (modp) = (g xa )xb (modp) 1. A → B : hg xb , g xa , idA, idB iKab 2. B → A : hg xa , g xb , idB , idAiKab Exponenten xa und xb von den Absendern jeweils zufällig gewählt und die damit gebildeten Elemente des Restklassenrings werden an den jeweiligen Empfänger gesendet. Schlüssel entsteht aus Verknüpfung der Teile. Sicherheit: Schlüssel K für Angreifer nicht berechenbar. U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 25 IT-Security, 05INM 4. 3. 2 SKEME - Protokoll - Erläuterung 2 Schlüssel aus der Share-Phase dient nun zur Authentifizierung der Diffie-Hellman-Komponenten Ergebnis: Sitzungsschlüssel: Sk = H(g xaxb (modp)) Sicherheit: Unbrechbarkeit und Vertrauenswürdigkeit des vereinbarten Schlüssels g xaxb . U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 27 IT-Security, 05INM 4. 3. 3 Key Determination Protocol (OAKLEY) The Diffie-Hellman problem (DHP) is the following: given a prime p, a generator α of Zp∗, and elements αa mod p and αb mod p, find αab mod p. • RFC 2412 The generalized Diffie-Hellman problem (GDHP) is the following: given a finite cyclic group G, a generator α of G, and group elements αa and αb, find αab. • Methoden: Fact: DHP ≤P DLP . That is, DHP polytime reduces to the DLP . More generally, GDHP ≤P GDLP . • benutzte Schlüssel sollen lange Lebensdauer haben (mind. 20 Jahre) – Modulare Exponentengruppen – Elliptische Kurven DLP - Discrete Logarithm Problem The question remains whether GDLP and GDHP are computationally equivalent. However, some recent progress is summarized in Fact 3.77. U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 26 IT-Security, 05INM U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 28 IT-Security, 05INM 4. 4 IPsec vs. IPv6 4. 3. 4 Internet Key Exchange (IKE) • Phase 1: zwei Partner richten sicheren und authentifizierten Kanal ein beide benutzen ISAKMP Schlüsselaustausch im Main Mode oder Aggressive Mode • Phase 2: Security Associations für Sicherung anderer Dienste werden ausgehandelt U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 29 IT-Security, 05INM 4. 3. 5 Simple Key Management for Internet Protocols (SKIP) • IPv6: bei Bedarf können mehrere Header eingebunden werden Folge: bei IPSec-Implementierung können nun AuthenticationHeader bzw. Header für Encaps. Sec. Payload einfach als weitere IPv6-Header eingebunden werden. U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 31 IT-Security, 05INM 4. 5 IPsec vs. andere Techniken 1. IPsec vs. Paketfilter etc. • von Sun entwickelt • paketgebundene statt sitzungsgebundener Schlüssel • keine Kommunikation für Schlüsselaustausch nötig • jedoch: Nutzer muss zertifizierten, öffentlichen DiffieHellman-Schlüssel besitzen • IP-Header — SKIP-Header — ESP-Header — IP-Header+Daten SKIP-Header enthält verschlüsselten Paketschlüssel U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. • IPv4: pro Paket ein Header mit fester Struktur Folge: bei IPSec-Implementierung wurden z.b. AuthenticationHeader bzw. Header für Encaps. Sec. Payload im Datenteil untergebracht. 30 IT-Security, 05INM • IPsec vs. Paketfilter: Widerspruch, da TCP- bzw. UDP-Header sind bei IPsec verschlüsselt • IPsec vs. Stateful Filter: Widerspruch, da diese zusätzlich zu TCP- bzw. UDP-Header auch Header der Application Layer einsehen möchten 2. IPsec vs. Network Adress Translation: schlecht integrierbar (z.B. AH-Protokoll im Transportmodus) U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 32 IT-Security, 05INM 4. 6 IPsec Implementierungen 1. IPsec-Implementierung im Linux-Kernel 2.6 • setkey - manually manipulate the IPsec SA/SP database Section: 8Misc. Reference Manual Pages (8) • setkey adds, updates, dumps, or flushes Security Association Database (SAD) entries as well as Security Policy Database ( SPD) entries in the kernel. setkey takes a series of operations from standard input Po if invoked with -c Pc or the file named filename Po if invoked with -f filename Pc . • 2. U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 33 IT-Security, 05INM U. Petermann, Leipzig University of Applied Sciences, C.S. Dept. 34 IT-Security, 05INM