Modul 3: IPSEC Teil 2 IKEv2

Hochschule Bonn-Rhein-Sieg Prof. Dr. Martin Leischner Netzwerksysteme und TK Modul 3: IPSEC Teil 2 – IKEv2 Teil 1: • • • • Transport- und Tunnelm...
2 downloads 0 Views 1MB Size
Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Modul 3: IPSEC Teil 2 – IKEv2

Teil 1:

• • • •

Transport- und Tunnelmode Authentication Header Encapsulating Security Payload IPsec Architektur (Security Association, SAD, SPD),

Teil 2:

• Das IKE-Protokoll (IKEv2)

09.11.2016 10:23:45 © M. Leischner

Folie 1

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Struktur der IPsec-relevanten RFCs Authentication Header (AH) RFC 4302 (12/05) Cryptographic Algorithm RFC 7321 (08/14) Encapsulating Security Payload (ESP) RFC 4303 (12/05) Security Protocols

Security Architecture IP RFC 4301 (12/05)

Internet Key Exchange (IKEv2) RFC 7296 (10/14)

System Overview Security Associations IP Traffic Processing and Processing

Cryptographic Algorithm RFC 4307 (12/05)

Signature Authentication in IKEv2 RFC 7427 (01/15) Generic Raw Public-Key Support for IKEv2 RFC 7670 (01/16)

Key Exchange 09.11.2016 10:33:53 © M. Leischner

Sicherheit in Netzen

Folie 2

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Problemstellung des Schlüsselaustauschs mit IKE  Mögliche Umsetzungen des Schlüsselaustauschs:  statisch: Keys und Algorithmen werden off-line vereinbart.  Vorteile: ??  Nachteil: ??

 dynamisch: Verwendung eines Schlüsselaustausch-Protokolls  Was sind die Voraussetzungen, damit es funktioniert: ??

 Ziele des Schlüsselaustausch-Protokolls für eine SA:  Einigung auf einen gemeinsamen Session-Key  Einigung auf kryptographische Algorithmen  Beide Kommunikationspartner müssen sicherstellen, dass das notwendige

Schlüsselmaterial beim jeweiligen Partner vorhanden ist und der Kommunikationspartner noch aktiv ist  Beide Kommunikationspartner müssen sicherstellen, dass das Schlüsselmaterial bei Bedarf neu generiert wird.  Perfect Forward Secrecy soll sichergestellt werden.  Unter Perfect Forward Secrecy (kurz Forward Secrecy) versteht man den Schutz eines (temporären) Sitzungsschlüssels, wenn der Langzeit Schlüssel kompromittiert ist.  Konkret: Wenn ein Angreifer die mit einem Sitzungsschlüssel verschlüsselte Kommunikation mitschneidet, soll er nicht in der Lage sein, diese nachträglich zu entschlüsseln, auch wenn er in den Besitz des Langzeitschlüssels kommt.

09.11.2016 11:08:13 © M. Leischner

Sicherheit in Netzen

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Internet Key Exchange (IKEv2) Protocol  IKEv2 baut auf IKEv1 auf, arbeitet aber nicht mit IKEv1 zusammen.  IKEv2 baut auf UDP auf. Kein zuverlässiger Transport. Retransmit eines Requests nach Time-out.

Verbesserungen:

 Vereinfachung, da nur noch ein Modus (vorher Main/Aggressive und Quick Mode)  Effektiverer Protokollablauf, da nur noch zwei Request/Response-Paare (2 RTTs) (statt neun PDUs)

 Nur optionaler Schutz gegen DoS durch Unterstützung von Cookies  Verbesserung in Zusammenwirken mit NAT („NAT-Traversal“ integraler Bestandteil)  Flexiblere Authentifizierung („Configuration Payload“, „Hybrid-Authentifizierung“, Integration von Authentifizierungsprot. z.B. RADIUS)

 Dead Peer Detection (DPD) (sehr einfach gelöst durch periodisches Senden INFORMATIONAL-Requ.)

 Unterstützung von IPSec in mobilen Anwendungen (MOBIKE) / Wechsel IP-Adresse

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 4

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Übersicht Ablauf von IKEv2 Start: IPSec Initial_Exchange Phase 1.1

IKEv2: IKE_SA_INIT

Phase 1.2

IKEv2: IKE_AUTH

IKEv2:

IKEv2: CREATE_CHILD_SA

INFORMATIONAL

Phase 2

Create_Child_SA Exchange

IKEv1-Terminologie piggibacked

IKE_SA

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

CHILD_SA

CHILD_SA

Folie 5

CHILD_SA

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Kommunikationselemente von IKEv2

 Grundprinzip: Request-Response-Protokoll Request des Initiators wird durch Antwort des Responders quittiert.  Exchange

 Bei IKEv2 gibt folgende Typen von Exchanges  IKE_SA_INIT Exchange: Erzeugen der IKEv2-SA

 IKE_AUTH Exchange without EAP: Authentifizierung der IKEv2-SA und Erzeugung der ersten Child-SA (ohne EAP)

 IKE_AUTH Exchange with EAP: Authentifizierung der IKEv2-SA und Erzeugung der ersten Child-SA (Integration von EAP in den Protokollablauf)

 CREATE_CHILD_SA: Erzeugen oder Rekeying von Child-SAs (verschiedene Formen möglich)

 INFORMATIONAL Exchange: Austausch von Kontrollinformationen 09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 6

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Notation (gemäß RFC 7296, 1.2) Notation Payload ----------------------------------------AUTH Authentication CERT Certificate CERTREQ Certificate Request CP Configuration D Delete EAP Extensible Authentication HDR IKE header (not a payload) IDi Identification - Initiator IDr Identification - Responder KE Key Exchange Ni, Nr Nonce N Notify SA Security Association SK Encrypted and Authenticated TSi Traffic Selector - Initiator TSr Traffic Selector - Responder V Vendor ID

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 7

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

IKEv2: IKE_INIT Initiator

Responder

HDR, SAi1, KEi, Ni

HDR SAr1, KEr, Nr, [CERTREQ]

HDR

enthält SPIs, Versionsnummern, Messages ID, Flag SAi1 angebotene kryptographische Algorithmen des Initiators für das IKE_SA SAr1, der vom Responder ausgewählte Algorithmus für das IKE_SA KEi, KEr, Key Exchange (DH-Wert) von Initiator und Responder Ni, Nr Nonce (number used only once) = Zufallszahl

Ergebnis: IKE-SA etabliert, vertraulicher Kanal und Integritätsüberprüfung möglich

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 8

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Erzeugung von Schlüsselmaterial

 In the context of the IKE SA, four cryptographic algorithms are negotiated:

 an encryption algorithm,  an integrity protection algorithm,  a Diffie-Hellman group, and  a pseudorandom function (PRF). The PRF is used for the construction of keying material for all of the cryptographic algorithms used in both the IKE SA and the Child SAs. (siehe RFC 7296)

 Alle verwendeten Schlüssel werden von gemeinsamen Geheimnis SKEYSEED abgeleitet. SKEYSEED = prf( Ni|Nr, g^ir) g^ir ist das shared secret gemäß Diffie-Hellman ( k = gab ).

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 9

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Erzeugung von Schlüsselmaterial

 Ableitung der anderen Schlüssel: {SK_d | SK_ai | SK_ar | SK_ei | SK_er | SK_pi | SK_pr} = prf+ (SKEYSEED, Ni | Nr | SPIi | SPIr) Ergebnis:

 Diffie-Hellman Schlüsselaustausch durchgeführt  Schlüsselmaterial für das IKE_SA ist generiert  ABER: Authentifizierung steht noch aus. SKEYSEED ist nicht authentifiziert, könnte also von Man-in-the_middle stammen.

Aufgaben des zweiten IKE_AUTH Exchange (der verschlüsselt + integritätsgesichert abläuft):

1. Gegenseitige Authentisierung 2. Aufbau der ersten CHILD_SA 09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 10

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

IKEv2: IKE_AUTH Initiator

Responder

HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,] AUTH, SAi2, TSi, TSr}

HDR, SK {IDr, [CERT,] AUTH, SAr2, TSi, TSr}

Ergebnis: Init. und Res. authentifiziert, IKE-SA + erste CHILD_SA aufgebaut.

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

IDi

Mit IDi bestimmt Initiator seine Identität CERT Zertifikate oder Zertifikatsketten (erstes Zertifikat muss Public Key enthalten zum AUTH zu verifizieren CERTREQ Anforderung bevorzugter Zertifikate (Angabe akzeptierter CAs) AUTH Authentisierungsdaten SAi2 enthält die vom Initiator angebotenen Algorithmen für die Child-SA (TSi, TSr) Traffic-Selector-Paar spezifiziert den Verkehr („Subnetze“), der durch die neue Child-SA geschützt werden soll. SAr2

enthält die vom Initiator gewählten Algorithmen für die Child-SA (TSi, TSr) „eingeschränktes“ TrafficSelector-Paar für die neue Child-SA geschützt werden soll.

Folie 11

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Traffic Selector

 Traffic Selector (IPv4 und IPv6)  Traffic Selector spezifiziert Protokoll, Portbereich und Adressbereich Beispiel: TSi = (0, 0-65535,192.0.2.199 - 192.0.2.199)

 TSi Quelladresse des Verkehrs, TSr Zieladresse des Verkehrs.  Beispiel: Initiator sendet TSi = 198.51.100.0 /24, TSr = 192.0.2.0 /24 Responder kann bestätigen mit TSi = 198.51.100.0 /24, TSr = 192.0.2.0 /24 Oder Responder kann einschränken auf Teilmenge TSi = 198.51.100.43, TSr = 198.51.100.43

 Beispiel: Mit TSi = 198.51.100.0 /24, TSr = 0.0.0.0/0 überlässt Initiator die Wahl des Remotenetzes komplett dem Responder

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 12

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

IKE Authentifizierung

 Neben Public-Key-Signatur und shared secret Authentifizierung unterstützt IKE Authentifizierung gemäß RFC 3748 (EAP). (EAP zur Benutzerauthentifizierung gegen Server)

 Stets werden frische Nonce in die Berechnung von AUTH integriert.  Der ganze IKE_SA_INIT request bzw response ist in die Berechnung von AUTH integriert.

 Hierdurch wird sichergestellt, dass die Verhandlung der Algorithmen und DH-Werte nicht durch einen Man-in-the-Middle attackiert wurde (Downgrade-Angriffe).

 Der Signaturalgorithmus wird über IKEv2 nicht verhandelt.

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 13

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Austausch IKEv2 (IKE_INIT + IKE_AUTH) Responder

Initiator HDR, SAi1, KEi, Ni

HDR SAr1, KEr, Nr, [CERTREQ]

HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,] AUTH, SAi2, TSi, TSr}

HDR, SK {IDr, [CERT,] AUTH, SAr2, TSi, TSr}

IKE-SA + CHILD_SA etabliert, Kommunikationspartner authent.

09.11.2016 10:23:45 © M. Leischner

Folie 14

Sicherheit in Netzen

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

IKEv2: CREATE_CHILD_SA Initiator

Responder

HDR, SK {SAi, Ni, [KEi,] TSi, TSr}

HDR, SK {SAr, Nr, [KEr,] TSi, TSr}

Ergebnis: neue CHILD_SA aufgebaut

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

N

signalisiert Rekeying und enthält SA für die das Rekeying durchgeführt werden soll. SAi enthält die vom Initiator angebotenen Algorithmen für die Child-SA Ni „neue“ Nonce (Zufallszahl) KEi optional neuer Key-Exchange-Wert des Initiators (DH-Wert) (TSi, TSr) optional Traffic-SelectorPaar für die neue Child-SA SA2r enthält die vom Initiator gewählten Algorithmen für die Child-SA (TSi, TSr) „eingeschränktes“ TrafficSelector-Paar für die neue Child-SA geschützt werden soll.

Folie 15

Hochschule Bonn-Rhein-Sieg

Prof. Dr. Martin Leischner Netzwerksysteme und TK

Rekeying

 Geheime Schlüssel sollen nur begrenzte Zeit verwendet werden  Die Lifetime Policy wird durch die SPD eines jeden Endpunkts gesteuert.  Es gibt zwei Methoden für Rekeying

1. Creating New Child SAs with the CREATE_CHILD_SA Exchange 2. Rekeying IKE SAs with the CREATE_CHILD_SA Exchange

 Methode 2: Initiator

Responder

HDR, SK {N(REKEY_SA), SA, Ni, [KEi,] TSi, TSr}

HDR, SK {SA, Nr, [KEr,] TSi, TSr}

Ergebnis: Rekeying durchgeführt

09.11.2016 10:23:45 © M. Leischner

Sicherheit in Netzen

Folie 16