IPSec Markus Weiten [email protected] Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg 1 Inhalt n n n n n n Motivation, Ansätze Bestandteile von IPsec (Kurzüberblick) IPsec Modi Bestandteile von IPsec – Übertragungsprotokolle Bestandteile von IPsec – Konfigurationsdatenbanken IPsec in Aktion 2 Das Internetprotokoll garantiert nicht: n Dass eingehende IP-Pakete vom angegebenen Sender (Ursprungsadresse im IP-Header) stammen n Dass die Daten unterwegs nicht böswillig verändert wurden n Dass niemand anderes die Daten auf ihrem Weg eingesehen hat 3 Was ist zu tun ? Es besteht Bedarf an: n Integrität n Authentizität n Vertraulichkeit 4 Ansätze n Sicherheit auf der Anwendungsschicht - SSL - SSH - PGP n Anwendungsspezifisch, nicht transparent n Implementierungsoverkill 5 Ansätze (2) n Sicherheit auf der Transportschicht - Transport Layer Security (TLS) n Keine Implementierung für UDP n Teilweise immer noch Änderungen an den Anwendungen notwendig 6 Ansätze (3) n Sicherheit auf der Datenübertragungsschicht - 802.1x - PAP n transparent n Erfordert dedizierte Verbindung 7 Ansätze (4) n Sicherheit auf der IP-Schicht - IPsec n Transparenz n keine Anwendungen müssen angepasst werden n Aufbau von VPNs möglich 8 Bestandteile von IPSec n Übertragungsprotokolle - Authentication Header (AH) - Encapsulating Security Payload (ESP) 9 Bestandteile von IPSec n Übertragungsprotokolle - Authentication Header (AH) - Encapsulating Security Payload (ESP) n Konfigurationsdatenbanken - Datenbank für Sicherheitsassoziationen (SADB) - Datenbank für Sicherheitsstrategien (SPD) 10 Bestandteile von IPSec n Übertragungsprotokolle - Authentification Header (AH) - Encapsulating Security Payload (ESP) n Konfigurationsdatenbanken - Datenbank für Sicherheitsassoziationen (SADB) - Datenbank für Sicherheitsstrategien (SPD) n Key Management Protokolle - IKE - ISAKMP - Photuris 11 IPsec Modi n Zwei verschiedene Modi: Transport- und Tunnelmodus n Transportmodus: Zwischen IP-Header und restlichem Paket wird ein IPsec-Header eingefügt, der die sicherheitsrelevanten Informationen trägt: IP Header TCP/ UDP H. IP Header IPsec Header Payload TCP/ UDP H. Payload 12 IPsec Modi (2) n im Transportmodus Peer-to-Peer Sicherung möglich: 13 IPsec Modi (3) n Tunnelmodus: Datenpaket wird in ein komplett neues Datenpaket gekapselt IP Header TCP/ UDP H. IP Header IPsec Header Payload IP Header TCP/ UDP H. Payload 14 IPsec Modi (4) n im Tunnelmodus Netz-zuNetz Sicherung möglich: 15 Authentication Header n Zusätzlicher Header n Bietet: - Authentizität des Absenders - Integrität der Daten - Schutz vor wiederholtem Senden von Paketen (ReplayAttacken) 16 Authentication Header graphisch Next Header ID Payload Length Reserved Security Parameter Index Serial No Authentication Data authentifiziert IP Header AH Header Payload authentifiziert IP Header AH Header IP Header Payload 17 Encapsulating Security Payload (ESP) n Zusätzlicher Header + Trailer n Bietet: - Authentizität des Absenders - Integrität der Daten - Schutz vor wiederholtem Senden von Paketen (ReplayAttacken) - Vetraulichkeit 18 ESP graphisch Security Parameter Index Serial No Initialisation Vector Encrypted Data Pad Pad Length Next Header Authentication Data 19 ESP graphisch (2) authentifiziert IP Header ESP Header Payload ESP Trailer ESP Auth. Data verschlüsselt authentifiziert IP Header ESP Header IP Header Payload ESP Trailer ESP Auth. Data verschlüsselt 20 Datenbank für Sicherheitsstrategien n Wie wird eingehendes/ausgehendes Paket behandelt? n 3 Aktionen: - Keine Sicherheit wird angewandt (bypass) - Sicherheit wird angewandt (apply) - Paket wird verworfen (discard) n Zugriff anhand von Selektoren n Die vom Admin definierbare Konfiguration 21 Datenbank für Sicherheitsstrategien n - Selektoren: Ursprungsadresse Zieladresse Protokoll (TCP oder UDP) ULP (upper layer ports) 22 SADB n Datenbank von Sicherheitsassoziationen n Eine Sicherheitsassoziation beschreibt, wie man mit anderem Host kommuniziert (Krypto-Parameter) - Gilt in eine Richtung - Jeweils für eingehenden/ausgehenden Verkehr - => pro Host zwei SAs für eine Verbindung n Tripel <SPI, destination address, protocol> legt Eintrag eindeutig fest n Security Associations werden automatisch vom Key Management erzeugt n Manuelle Erzeugung möglich 23 SADB (2) n Parameter: n Generische Parameter (von beiden Protokollen benutzt) - Seriennummer Seriennummerüberlauf Fenster gegen wiederholtes Senden Lebensdauer Modus Tunnel-Zielort PMTU-Parameter 24 SADB (3) n - Protokollspezifische Parameter Schlüssel Authentifikationsalgorithmus Verschlüsselungsalgorithmus 25 Security Parameter Index (SPI) n 32 Bit Zahl n Wird in jedem Paket im Klartext mitgeführt n Ermöglicht den Hosts Zuordnung von Datenpaketen zu Security Associations n Wird vom Schlüsselmanagement beim Verbindungsaufbau vom Empfänger vereinbart 26 IPsec in Aktion n Ausgehende Pakete IP Schicht bypass Datenpaket SPD konsultieren discard apply SADB konsultieren SA nicht vorhanden SA vorhanden Erzeugen von SA mit IKE Verarbeitung des Paketes gemäß SA Datenübertragungsschicht 27 IPsec in Aktion n ausgehende Verarbeitung bei AH Next Header ID Payload Length Reserved Security Parameter Index Serial No Veränderliche Felder des IP-Headers = 0; TOS Identification TTL Protocol SPI = SPI der SA; Payload Length = # 32-Bit Worte - 2; Authentication Data Ver. IHL Seriennummer = ++Seriennummer der SA; Authentication Data = 0; Next Header ID = Protocol (IP-Header); Total Length Flags Fragment Offset Header Checksum Source Address Destination Address Komplettes Paket (incl. Payload) wird zusammen mit dem Schlüssel aus der SA dem Authentifizierungsalgorithmus übergeben; Authentication Data = Ergebnis des Algorithmus; Übergabe an Datenübertragungsschicht; 28 IPsec in Aktion n ausgehende Verarbeitung bei ESP Security Parameter Index Serial No Initialisation Vector Encrypted Data Pad Pad Next Length Header Authentification Data SPI = SPI der SA; Seriennummer = ++Seriennummer der SA; Berechnung der benötigten Fülldaten; Anfügen der Fülldaten an die Payload; Next Header ID = Protocol (IPHeader); Verschlüsselung gemäß SA; Init-Vektor entsprechend Algorithmus belegen; Authentifizierung ähnlich AH; Übergabe an Datenübertragungsschicht; 29 IPsec in Aktion n Eingehende Pakete Verarbeitung des Paketes gemäß SA SA vorhanden SA nicht vorhanden => discard SADB konsultieren apply bypass SPD konsultieren discard IP Schicht Datenübertragungsschicht Datenpaket 30 Zusammenfassung n IPsec bietet Vertraulichkeit, Authentizität, Integrität n 2 Modi: Transportmodus für Host-zu-Host Tunnelmodus für Netz-zu-Netz Sicherheit n Übertragungsprotokolle: AH und ESP n Konfigurationsdatenbanken: - Security Policy Database - Security Association Database 31 Quellen [1] IPsec Naganand, Doraswamy, Harkins Addison-Wesley, 2000 [2] Security im Überblick: Teil 4, Sicherheit auf der Netzwerkschicht Axel Sikora http://www.tecchannel.de/software/1168/index.html, 2003 [3] Angriffsmethoden und IPsec Munich Network Management Team http://wwwmnmteam.informatik.uni-muenchen.de/Literatur/MNMPub/Fopr as/fack00/HTML-Version/node48.html [4 ] Virtual Private Network – Mit sicherem Tunnel durchs Internet (Diplomarbeit) Olivier Gärtner, Berkant Uneal Zürcher Hochschule Winterthur, 1999 32