IKEv2: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „*IKEv2 Prinzip *IKEv2 ausführlich“)
Markierung: Ersetzt
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=IKEv2 Header=
+
*[[IKEv2 Prinzip]]
{{#drawio:ikev2-2}}
+
*[[IKEv2 ausführlich]]
=SPI des Initiators (8 Oktette)=
 
*Ein vom Initiator gewählter Wert
 
*Identifiziert eine eindeutige IKE-Sicherheitszuordnung.
 
*Dieser Wert darf NICHT Null sein.
 
 
 
=SPI des Responders (8 Oktette)=
 
*Ein vom Responder gewählter Wert
 
*Identifiziert eine eindeutige IKE-Sicherheitszuordnung.
 
*Dieser Wert MUSS sein Null in der ersten Nachricht eines anfänglichen IKE-Austauschs.
 
=Nächste Nutzlast (1 Oktett)=
 
*Zeigt die Art der Nutzlast an, die folgt direkt auf die Überschrift.
 
*Das Format und der Wert von jedem Nutzlast sind unten definiert.
 
=Hauptversion (4 Bits)=
 
*Zeigt die Hauptversion des IKE an Protokoll im Einsatz.
 
*Implementierungen, die auf dieser Version von IKE basieren MUSS die Hauptversion auf 2 setzen.
 
*Implementierungen basieren auf Frühere Versionen von IKE und ISAKMP MÜSSEN die Hauptversion auf 1 setzen
 
*Implementierungen auf Basis dieser Version von IKE MÜSSEN bzw. ablehnen
 
*Ignoriert Nachrichten mit einer Versionsnummer größer als 2 mit einem INVALID_MAJOR_VERSION-Benachrichtigungsmeldung
 
=Nebenversion (4 Bits)=
 
*Zeigt die Nebenversion des IKE an Protokoll im Einsatz.
 
*Implementierungen, die auf dieser Version von IKE basieren MUSS die Nebenversion auf 0 setzen.
 
*Sie MÜSSEN die Nebenversion ignorieren Versionsnummer der empfangenen Nachrichten.
 
=Austauschtyp (1 Oktett)=
 
*Zeigt den Typ des Austauschs an der genutzt wird.
 
*Dies schränkt die Nutzlasten ein, die in jeder Nachricht in einer gesendet werden
 
*Die Werte in der folgenden Tabelle sind nur aktuell als des Veröffentlichungsdatums von RFC 4306.
 
*Andere Werte können gewesen sein seitdem hinzugefügt oder werden nach der Veröffentlichung dieser hinzugefügt dokumentieren.
 
*Leser sollten sich auf [IKEV2IANA] beziehen, um die neuesten Informationen zu erhalten Werte.
 
*Austauschtypwert
 
**IKE_SA_INIT 34
 
**IKE_AUTH 35
 
**CREATE_CHILD_SA 36
 
**INFORMATION 37
 
=Flags (1 Oktett)=
 
*Zeigt bestimmte Optionen an, die für eingestellt sind Nachricht.
 
*Das Vorhandensein von Optionen wird durch das entsprechende Bit angezeigt
 
im Flags-Feld gesetzt. Die Bits sind wie folgt:
 
        +-+-+-+-+-+-+-+-+
 
        |X|X|R|V|I|X|X|X|
 
        +-+-+-+-+-+-+-+-+
 
 
 
*In der folgenden Beschreibung bedeutet ein Bit, das "gesetzt" ist, dass sein Wert "1" ist, während "gelöscht" bedeutet, dass sein Wert "0" ist.
 
*'X'-Bits MÜSSEN gelöscht werden beim Senden und MÜSSEN beim Empfang ignoriert werden.
 
 
 
      * R (Antwort) – Dieses Bit zeigt an, dass diese Nachricht a ist
 
        Antwort auf eine Nachricht mit derselben Nachrichten-ID. Dieses bisschen
 
        MUSS in allen Anforderungsnachrichten gelöscht und MUSS in allen gesetzt werden
 
        Antworten. Ein IKE-Endpunkt DARF KEINE Antwort auf a generieren
 
        Nachricht, die als Antwort markiert ist (mit einer Ausnahme;
 
        siehe Abschnitt 2.21.2).
 
 
 
      * V (Version) – Dieses Bit zeigt an, dass der Sender ist
 
        in der Lage, eine höhere Hauptversionsnummer der zu sprechen
 
        Protokoll als das in der Hauptversionsnummer angegebene
 
        aufstellen. Implementierungen von IKEv2 MÜSSEN dieses Bit löschen, wenn
 
        Senden und MUSS es in eingehenden Nachrichten ignorieren.
 
 
 
      * I (Initiator) - Dieses Bit MUSS in Nachrichten gesetzt werden, die von gesendet werden
 
        ursprünglicher Initiator der IKE SA und MUSS eingeräumt werden
 
        Nachrichten, die vom ursprünglichen Responder gesendet wurden. Es wird von der verwendet
 
        Empfänger, um festzustellen, welche acht Oktetts der SPI waren
 
        vom Empfänger generiert. Dieses Bit ändert sich, um widerzuspiegeln, wer
 
        hat die letzte Schlüsselerneuerung der IKE SA initiiert.
 
 
 
 
 
 
 
=Nachrichten-ID (4 Oktette, Ganzzahl ohne Vorzeichen)=
 
*Verwendete Nachrichtenkennung um die erneute Übertragung verlorener Pakete und den Abgleich von Anforderungen zu steuern und Antworten.
 
*Es ist wesentlich für die Sicherheit des Protokoll weil es verwendet wird, um Nachrichtenwiedergabeangriffe zu verhindern.
 
 
 
=Länge (4 Oktette, Ganzzahl ohne Vorzeichen)=
 
*Länge der gesamten Nachricht (Header + Payloads) in Oktetts.
 
 
 
=IKEv2 Verbindungsaufbau=
 
{{#drawio:ikev2-1}}
 
=IKEv2 verfügt im Prinzip nur über zwei anfängliche Verhandlungsphasen=
 
*IKE_SA_INIT-Exchange
 
*IKE_AUTH-Exchange
 
=IKE_SA_INIT-Exchange=
 
*IKE_SA_INIT ist der erste Austausch, bei dem die Peers einen sicheren Kanal einrichten.
 
*Nach Abschluss des ersten Austauschs werden alle weiteren Austauschvorgänge verschlüsselt.
 
*Der Datenaustausch enthält nur zwei Pakete, da er alle Informationen enthält, die normalerweise in MM1-4 in IKEv1 ausgetauscht werden.
 
*Das Ergebnis ist, dass der Responder das IKE_SA_INIT-Paket rechnerisch verarbeiten muss und das erste Paket verarbeiten kann.
 
*Es lässt das Protokoll einem DOS-Angriff von gefälschten Adressen offen.
 
*Zum Schutz vor solchen Angriffen verfügt IKEv2 über einen optionalen Austausch innerhalb von IKE_SA_INIT, um Spoofing-Angriffe zu verhindern.
 
*Wenn ein bestimmter Grenzwert für unvollständige Sitzungen erreicht wird, verarbeitet der Responder das Paket nicht weiter
 
*Sondern sendet stattdessen eine Antwort mit einem Cookie an den Initiator.
 
*Damit die Sitzung fortgesetzt werden kann, muss der Initiator das IKE_SA_INIT-Paket erneut senden und das von ihm empfangene Cookie einfügen.
 
*Der Initiator sendet das ursprüngliche Paket zusammen mit der Benachrichtigungs-Payload vom Responder erneut, um zu belegen, dass der ursprüngliche Austausch nicht gesaugt wurde.
 
*Im folgenden Diagramm wird der Austausch IKE_SA_INIT mit Cookie-Herausforderung dargestellt:
 
understanding-ikev2-packet-exch-debug-02.gif
 
 
 
=IKE_AUTH-Exchange=
 
*Nach Abschluss des IKE_SA_INIT-Austauschs wird die IKEv2 SA verschlüsselt.
 
*Der Remote-Peer wurde jedoch nicht authentifiziert.
 
*Der IKE_AUTH-Austausch dient zur Authentifizierung des Remote-Peers und zur Erstellung der ersten IPsec-SA.
 
*Der Austausch enthält die ISAKMP-ID (Internet Security Association and Key Management Protocol) sowie eine Authentifizierungs-Payload.
 
*Der Inhalt der Authentifizierungs-Payload hängt von der Authentifizierungsmethode ab
 
*Pre-Shared Key (PSK), RSA-Zertifikate (RSA-SIG), Elliptic Curve Digital Signature Algorithm Certificates (ECDSA-SIG) oder EAP sein kann.
 
*Zusätzlich zu den Authentifizierungs-Payloads enthält der Austausch die SA- und Traffic Selector-Payloads, die die zu erstellende IPsec SA beschreiben.
 
;Spätere IKEv2-Austausche
 
=REATE_CHILD_SA Exchange=
 
*Wenn zusätzliche untergeordnete SAs erforderlich sind oder wenn die IKE SA oder eine der untergeordneten SAs neu codiert werden muss
 
**erfüllt sie dieselbe Funktion wie der Quick-Mode-Austausch in IKEv1.
 
*Wie in diesem Diagramm gezeigt, befinden sich in diesem Austausch nur zwei Pakete.
 
*Der Austausch wiederholt sich jedoch für jeden Schlüssel oder jede neue SA:
 
 
 
understanding-ikev2-packet-exch-debug-03.gif
 
 
 
=Informationsaustausch=
 
*Wie bei allen IKEv2-Austauschen erwartet jede Anforderung des Informationsaustauschs eine Antwort.
 
*Drei Arten von Payloads können in einem INFORMATIONALEN Austausch enthalten sein.
 
*Es können beliebig viele verschiedene Kombinationen von Payloads enthalten werden, wie im folgenden Diagramm gezeigt:
 
 
 
understanding-ikev2-packet-exch-debug-04.gif
 
*Die Notify Payload (N) wurde bereits in Verbindung mit Cookies erkannt.
 
*Es gibt auch mehrere andere Typen. Sie enthalten Fehler- und Statusinformationen wie in IKEv1.
 
*Die Delete Payload (D) informiert den Peer, dass der Absender eine oder mehrere seiner eingehenden SAs gelöscht hat.
 
*Der Responder muss diese SAs löschen und normalerweise die Payloads löschen, die für die SAs in der anderen Richtung in der Antwortnachricht übereinstimmen.
 
*Die Configuration Payload (CP) dient zur Aushandlung von Konfigurationsdaten zwischen den Peers.
 
*Ein wichtiger Zweck des CP besteht darin, eine Adresse in einem Netzwerk anzufordern (anzufordern) und zuzuweisen (zu antworten), das durch ein Sicherheits-Gateway geschützt ist.
 
*In der Regel richtet ein mobiler Host ein Virtual Private Network (VPN) mit einem Sicherheits-Gateway im Heimnetzwerk ein und fordert, dass ihm eine IP-Adresse im Heimnetzwerk zugewiesen wird.
 
 
 
 
 
 
 
=Links=
 
*https://www.heise.de/hintergrund/Einfacher-VPN-Tunnelbau-dank-IKEv2-270056.html
 
*https://www.cisco.com/c/de_de/support/docs/security-vpn/ipsec-negotiation-ike-protocols/115936-understanding-ikev2-packet-exch-debug.html
 

Aktuelle Version vom 6. Dezember 2022, 12:15 Uhr