Rechnernetze II WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 5. Mai 2014 Betriebssysteme / verteilte Systeme Rechnernetze II (1/15) i Rechnernetze II WS 2013/2014 5 IP Version 6 und Secure IP Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 184
5 IP Version 6 und Secure IP... Inhalt IPv6 IPsec Tanenbaum 5.6.8, 8.6.1 Peterson 4.3.5, 8.3.4 Kurose/Ross 4.7, 7.8 William Stallings: Cryptography and Network Security, 3rd Edition, Prentice Hall, 2003, Kap. 16 Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 185 5.1 IPv6 Hintergrund Motivation: Skalierbarkeit des Internet längere IP-Adressen Zusammenfassung in Routing-Tabellen IETF arbeitet seit ca. 1991 an IPv6 längere IP-Adressen neuer IP- Anpassung aller IP-Software daher: auch andere Probleme von IPv4 adressiert, u.a. Unterstützung von Dienstgüte-Garantien Sicherheit automatische Konfiguration erweitertes Routing (z.b. mobile Hosts) Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 186
5.1 IPv6... Hintergrund... Wichtig: schrittweiser Übergang Anpassung sämtlicher Hosts / Router im Internet! Technische Verbesserungen gegenüber IPv4 Adreßlänge: 128 Bit Einfacherer mit Feldern, um Dienstgütegarantien zu unterstützen Bessere Unterstützung von Optionen Sicherheit ( 5.2) Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 187 5.1 IPv6... Adressierung 128-Bit Adressen (ˆ= 3.4 10 38 Adressen!) Klassenlose Adressierung (analog zu CIDR) Präfixe kennzeichnen Adressen für spezielle Nutzung, u.a.: Präfix Gebrauch 0000 0000 reserviert (IPv4-kompatible Adressen) 001 Aggregierbare globale Unicast-Adressen 1111 1110 10 link-local Adressen (Netz-lokal) 1111 1110 11 site-local Adressen (veraltet) 1111 1111 Multicast-Adressen Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 188
5.1 IPv6... Adreßschreibweise 16-Bit-Teile, getrennt durch : z.b. 47CD:0000:0000:0000:0000:1234:A456:0124 Kurzform ohne führende Nullen, eine Nullfolge durch :: ersetzt z.b. 47CD::1234:A456:124 Spezielle Formen für IPv4-Adressen IPv4 compatible IPv6 address, z.b. ::192.31.20.46 die führenden 96 Bits sind 0 Host kann IPv4 und IPv6 IPv4 mapped IPv6 address, z.b. ::FFFF:192.31.20.46 Host kann nur IPv4 Schreibweise für Adressbereiche in CIDR-Notation, z.b. 2000::/3 Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 189 Anmerkungen zu Folie 189: Die Loopback-Adresse (127.0.0.1 in IPv4) lautet in IPv6 ::1 (also 0:0:0:0:0:0:0:1)
5.1 IPv6... Adreßvergabe Hierarchisch, analog zu CIDR (RFC 2073,2374,3587): Provider erhalten eindeutiges Präfix und vergeben längere Präfixe an Kunden ermöglicht Aggregation von Routing-Information Typische Struktur einer IPv6-Adresse: Global Routing Prefix Subnet ID Interface ID 2001 : 06B8 : 0001 : 5270 : 021F : 9EFF : FEFC : 7AD0 IANA ISP Regional Registry (z.b. RIPE) Site Subnet EUI 64 (MAC Adresse mit FFFE in der Mitte) Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 190 Anmerkungen zu Folie 190: RFC 2073 und RFC 2374 legen die Struktur einer IPv6-Adresse wie im gezeigten Beispiel fest. RFC 3587 macht diese Festlegung als Standard de facto in weiten Teilen rückgängig, da Implementierungen diese Struktur nicht ausnutzen sollten. Es bleibt i.w. die blau gezeichnete Eintailung in Global Routing Prefix, Subnet ID und Interface ID, wobei die Längen unterschiedlich sein können. Für IPv6-Adressen, die nicht mit 000 (binär) beginnen, ist die Länge der Interface-ID aber auf 64-Bit festgelegt (siehe dazu auch RFC 3513). Im Beispiel zu EUI-64 ist die MAC-Adresse 00:1F:9E:FC:7A:D0. Diese wird durch Einschieben von FFFE in der Mitte auf 64-Bit erweitert. Zusätzlich muss noch das universal/local (U/L) Bit, das ist das Bit mit der Wertigkeit 2 im ersten Byte invertiert werden (zur Begründung: siehe Abschnitt 2.5.1 in RFC 4291), aus 00:1F wird daher 021F.
5.1 IPv6... Paketformat 0 4 12 16 24 31 Version TrafficClass FlowLabel PayloadLen Next HopLimit SourceAddress DestinationAddress Nächster / Daten länge: 40 Byte (IPv4: 20 Byte) Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 191 5.1 IPv6... Paketformat... Version: IP-Version (6) TrafficClass / FlowLabel: zur Unterstützung von QoS-Mechanismen PayloadLen: Länge des Pakets ohne Next: Typ des nächsten s IPv6-Erweiterungsheader eines Schicht-4 Protokolls (UDP, TCP, etc.) HopLimit: entspricht TTL bei IPv4 Keine Felder für Fragmentierung Keine -Prüfsumme Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 192
5.1 IPv6... Erweiterungsheader Optionale Felder nicht mehr im IP-, sondern in eigenem nach dem IP- Festgelegte Reihenfolge Erweiterungsheader (derzeit) definiert für: Optionen für Teilstrecken Datagramme mit > 64 KB (für Hochleistungsrechner) Optionen für Zielrechner derzeit nicht verwendet, für künftige Erweiterungen Routing-Optionen Fragmentierung Authentifizierung / Verschlüsselung ( 5.2) Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 193 5.1 IPv6... Routing- Erlaubt Angabe von Knoten bzw. topologischer Bereiche, die das Paket passieren sollte topologischer Bereich: z.b. Netzwerk eines bestimmten Providers Topologische Bereiche durch Anycast-Adresse spezifiziert: Adresse für eine Menge von Interfaces Pakete gehen an genau ein Interface, das gemäß Routing-Protokoll am nächsten liegt Derzeit nur Anycast-Adressen für Router erlaubt (RFC 4291) möglich wären z.b. auch DNS-Server etc. aber: Probleme wg. nichtdeterministischer Zielauswahl z.b. Fragmentierung, TCP, Server mit Zustand Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 194
Anmerkungen zu Folie 194: Anycast wird durch entsprechende Router-Einträge für die Anycast-Adresse realisiert, d.h., es muß einen Eintrag für den Host geben. Ein mögliches Problem ist dabei die Skalierbarkeit, weswegen Anycast derzeit nur für Router erlaubt ist. 5.1 IPv6... Fragmentierungs- Fragmentierung in IPv6 nur durch Sender Router schickt ggf. ICMP-Fehlermeldung Fragmentierungsinformation wird in eigenem gespeichert 0 8 16 29 31 Next Reserved Ident Offset Res. M Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 195
5.1 IPv6... Autokonfiguration Zusätzlich / alternativ zu DHCP: Stateless Autoconfiguration benötigt keinen extra Server Prinzipielle Vorgehensweise: Host bildet zunächst Netz-lokale (link-local) Adresse aus seiner (eindeutigen) MAC-Adresse möglich, da IP-Adresse 128 Bit lang ist für viele Geräte (z.b. Drucker) bereits ausreichend falls globale Adresse benötigt wird: im Netz muß mindestens ein Router sein kombiniere MAC-Adresse mit Netzadreß-Präfix des Routers (aus ICMPv6 Router-Advertisements) Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 196 5.1 IPv6... Übergang von IPv4 auf IPv6 Dual-Stack-Ansatz Netzknoten implementieren sowohl IPv6 als auch IPv4 Fähigkeiten des Zielknotens über DNS zu ermitteln IPv6-Adresse für IPv6-fähigen Knoten, IPv4-Adresse sonst Router müssen ggf. IP- der Pakete anpassen Tunneling wenn zwischenliegende Router nur IPv4 unterstützen Informationsverlust möglich (z.b. FlowLabel nur in IPv6) Aufbau eines IPv4-Tunnels zwischen IPv6-Knoten d.h. IPv6-Pakete werden in IPv4-Pakete eingepackt Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 197
5.1 IPv6... Diskussion Praktisch alle neuen Features von IPv6 inzwischen auch in IPv4 verfügbar CIDR, MPLS, MobileIP, DHCP, IPsec,... Hauptmotivation: größerer Adreßbereich Moderne Betriebssysteme beinhalten IPv6 z.b. Linux, Windows (XP, Vista, 7,...) Bis Juni 2006: Internet-Testbett 6bone IPv6 inzwischen im Produktionseinsatz Zeitrahmen für die Ablösung von IPv4 aber unklar USA: DoD plante 2003 vollständige Umstellung auf IPv6 bis Ende 2008, andere Agencies sollen bis 2014 folgen Betriebssysteme / verteilte Systeme Rechnernetze II (9/15) 198 Rechnernetze II WS 2013/2014 16.12.2013 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 5. Mai 2014 Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) i
5.2 IPsec (Animierte Folie) Vorbemerkung: Welche Schicht sollte Sicherheit implementieren? Vermittlungsschicht + Transparent für Anwendungen + Sicherheitsvorgaben durch Administrator + Erschwert Verkehrsflußanalysen Muß i.a. vom gesamten Netz unterstützt werden Abhören zw. Anwendung und Vermittlungsschicht möglich Anwendungsschicht + Keine Anforderungen an Netzinfrastruktur Schlüsselverwaltung in Anwendungen problematisch Keine Sicherung gegen Verkehrsflußanalysen Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 199 5.2 IPsec... Überblick Ziel: Sichere Übertragung von IP-Paketen Unterstützung optional bei IPv4, vorgeschrieben bei IPv6 Zwei Betriebsarten Transport-Modus: Sicherheit für Protokolle über IP keine Vertraulichkeit des IP-s Tunnel-Modus: Sichere Verbindung zw. zwei Routern Zwei Sicherheitsprotokolle Authentication (AH) Protokoll Encapsulating Security Payload (ESP) Protokoll Kombination AH + ESP möglich Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 200
5.2 IPsec... Tunnel-Modus (mit ESP) Ermöglicht die Realisierung sicherer VPNs Lokales Netz A Router R1 (Firewall) Tunnel Internet Router R2 (Firewall) Lokales Netz B Im Tunnel: gesamtes IP-Paket verschlüsselt und authentifiziert Daten können nicht gelesen oder verändert werden Quelle und Ziel können nicht ermittelt werden Schutz vor Verkehrsflußanalyse Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 201 5.2 IPsec... Aufbau eines IP-Pakets mit IPsec IP IPsec Daten Weiterleiten der Pakete über normales Internet möglich Aufbau eines IP-Pakets im Tunnel-Modus von IPsec IP R1 > R2 IPsec Daten IP A > B Daten Sicherer Tunnel zwischen Router R1 und R2 Teilnehmer A und B müssen IPsec nicht implementieren Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 202
5.2 IPsec... Security Association (SA, RFC 4301) Unidirektionale Verbindung Faßt Parameter für ein Sicherheitsprotokoll (AH oder ESP) zusammen, z.b.: Betriebsart (Transport / Tunnel) kryptographische Parameter Chiffren, Schlüssel, Schlüssel-Lebensdauer,... aktuelle Paket-Sequenznummer (für Replay-Schutz) Lebensdauer der SA SA eindeutig identifiziert durch IP-Adresse des Partners, Sicherheitsprotokoll und Security Parameter Index (SPI) mehrere SAs pro Partner möglich Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 203 5.2 IPsec... AH-Protokoll (RFC 4302, 4305, 4835) Authentifiziert das gesamte IP-Paket IP- und Erweiterungs- (außer Felder, die sich bei Übertragung ändern) AH- (außer Authentifizierungsdatenfeld) Nutzdaten des IP-Pakets Aufbau des AH-s: Next Len Reserviert Security Parameter Index (SPI) Sequenznummer Authentifizierungsdaten variabler Länge ( = HMAC Wert) Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 204
5.2 IPsec... AH-Protokoll... SPI: zur Idenitifizierung der Security Association (SA) Sequenznummer dient zur Abwehr von Replay HMAC = auf Hashfunktion basierender MAC (Message Authentication Code) sichert Authentizität und Integrität HMAC(M,K) = H(K opad H(K ipad M)) ipad = 0011 0110... 0011 0110 2 opad = 0101 1010... 0101 1010 2 Verschiedene Hashfunktionen möglich jede IPsec-Implementierung muß SHA1-96 unterstützen (SHA1 reduziert auf 96 Bit Länge) Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 205 5.2 IPsec... ESP-Protokoll (RFC 4303, 4305, 4835) Verschlüsselung und Authentifizierung des Datenteils eines IP-Pakets Authentifizierung ist optional Verschiedene Verschlüsselungsverfahren möglich Jede IPsec-Implementierung muß unterstützen: TripleDES im CBC-Modus zum Verschlüsseln Blockchiffre: arbeitet auf 64-Bit-Blöcken CBC (Cipher Block Chaining): Chiffrecodes der einzelnen Datenblöcke hängen voneinander ab seit 2007: AES-CBC zum Verschlüsseln HMAC-SHA1-96 zur Authentifizierung Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 206
5.2 IPsec... Paketformat beim ESP-Protokoll ESP Daten teil ESP Trailer Security Parameter Index (SPI) Sequenznummer (evtl. Initialisierungsvektor für CBC) Nutzdaten (variable Länge) Padding (0...255 Bytes) Pad Länge Next Authentifizierungsdaten variabler Länge ( = HMAC Wert) verschlüsselt authentifiziert Padding wegen Verwendung von Blockchiffren Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 207 5.2 IPsec... Zusammenfassung: Paketformate (mit IPv6) Ohne IPsec: orig. IP o. Ext. TCP Daten AH/Transport: orig. IP o. Ext. AH TCP Daten AH/Tunnel: neuer IP neue Ext. AH orig. IP o. Ext. TCP Daten ESP/Transport: orig. IP o. Ext. ESP Hdr. TCP Daten ESP Trail. ESP Auth. ESP Tunnel: neuer IP neue Ext. ESP Hdr. orig. IP o. Ext. TCP Daten ESP Trail. ESP Auth. Authentifiziert, bis auf veränderliche Teile der orig. IP/Ext. Authentifiziert, bis auf veränderliche Teile der neuen IP/Ext. Authentifiziert Verschlüsselt Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 208
5.2 IPsec... Zusammenfassung: Betriebsarten und Protokolle Protokoll: AH ESP Betriebsart: Transp. Tunn. Transp. Tunn. Verschlüssel. orig. IP- + Authentifiz. orig. IP- + + (+) Verschlüsselung Nutzdaten + + Authentifizierung Nutzdaten + + (+) (+) End-to-End Sicherheit + + Kombinationen (Verschachtelung) möglich! z.b. ESP im Transport-Modus über AH Tunnel Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 209 5.2 IPsec... Konfiguration von IPsec: Strategie-Datenbank Jeder IPsec-Knoten enthält eine Strategie-Datenbank (Security Policy Database, SPD) SPD legt für jede ein- und ausgehende Verbindung fest, wie Pakete zu behandeln sind: unverschlüsselte Weiterleitung Verwerfen Anwendung von IPsec Verschlüsselung und/oder Authentifizierung Sicherheits-Parameter (Chiffren, Schlüssellänge / -lebensdauer, Tunnel- / Transportmodus,...) Nutzung / Erzeugung einer Security Association (SA) Analog zu Filtertabellen in Firewalls Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 210
5.2 IPsec... Beispieleintrag in Strategie-Datenbank src: 192.168.2.1-192.168.2.10 dest: 192.168.3.1 ipsec-action: esp req cipher des3 integrity hmacmd5 keylen 128 expiry (seconds) 60 transport ah req integrity hmacsha1 keylen 160 expiry (seconds) 60 tunnel Verschlüsselung/Authentifizierung der Daten durch ESP im Transport-Modus Zusätzlich Authentifizierung des Gesamtpakets durch AH im Tunnel-Modus Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 211 5.2 IPsec... Verbindungsaufbau (Beispiel) 1. Paket soll gesendet werden 2. Nachsehen in Strategie-Datenbank: noch keine SA vorhanden 3. Erzeugen einer oder mehrerer SAs durch Internet Security Association and Key Management Protocol (ISAKMP) Schlüsselaustausch mit Empfänger Internet Key Exchange Protokoll (IKE, RFC 4306) wechselseitige Authentifizierung Aushandeln der Sicherheitsattribute 4. Speichern der SA Löschung nach Ablauf der Lebensdauer 5. Senden des Pakets Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 212
5.2 IPsec... Bewertung Keine Verbindlichkeit (digitale Unterschrift) Schwierige Konfiguration (Strategie-Datenbank) IP ist verbindungsloses Protokoll Integrität zunächst nur für einzelne Pakete garantiert Zusatzmechanismen (Sequenznr., Anti-Replay-Fenster) IPsec erlaubt hostbasierte Schlüsselvergabe selber Schlüssel für alle Verbindungen zw. zwei Rechnern eröffnet Angriffsmöglichkeiten nutze einen Rechner als Entschlüsselungsdienst IPsec derzeit v.a. für sichere Tunnels (VPNs) eingesetzt Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 213 5.3 Zusammenfassung / Wiederholung IPv6 IP-Adressen mit 128 Bit, klassenlose Adressierung Neuer IP- Extension- für Optionen / Erweiterungen Jumbogramme, Routing-Information, Fragmentierung, AH, ESP,... Anycast-Adresse: für nächstgelegenes Mitglied einer Gruppe Autokonfiguration: IP-Adresse = Netzadresse + MAC-Adresse Übergang von IPv4 auf IPv6: Dual-Stack-Ansatz: implementiere beide Versionen Tunneling: IPv6 über IPv4-Tunnel Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 214
5.3 Zusammenfassung / Wiederholung... IPsec Sicherheit auf der Vermittlungsschicht Zwei Protokolle: AH: Authentizität für gesamtes IP-Paket ESP: Authentizität und/oder Vertraulichkeit für Nutzdaten Tunnel-Modus: auch ursprünglicher IP- verschlüsselt Basis für Kommunikation: Security Association (SA) unidirektionale Verbindung, legt Sicherheitsparameter fest Erzeugung der SA über Internet Security Association and Key Management Protocol (ISAKMP) incl. Schlüsselaustausch und Partner-Authentifizierung Betriebssysteme / verteilte Systeme Rechnernetze II (10/15) 215