3.1 The IKE Header (IKE-Header)
3.1 The IKE Header (IKE-Header)
IKE-Nachrichten verwenden die UDP-Ports 500 und/oder 4500, mit einer IKE-Nachricht pro UDP-Datagramm. Die Informationen vom Paketanfang bis zum UDP-Header werden weitgehend ignoriert, außer dass die IP-Adressen und UDP-Ports aus den Headern umgekehrt und für Rückpakete verwendet werden. Auf UDP-Port 500 beginnen IKE-Nachrichten unmittelbar nach dem UDP-Header. Auf UDP-Port 4500 haben IKE-Nachrichten vier Null-Oktetts vorangestellt. Diese vier Oktette sind nicht Teil der IKE-Nachricht und in keinem von IKE definierten Längenfeld oder Prüfsumme enthalten. Jede IKE-Nachricht beginnt mit dem IKE-Header, in diesem Dokument als HDR bezeichnet. Auf den Header folgen eine oder mehrere IKE-Payloads, jeweils durch ein Next-Payload-Feld des vorherigen Payloads identifiziert. Die Reihenfolge ergibt sich aus dem Next-Payload-Feld im IKE-Header und anschließend aus jedem Payload, bis Next Payload null ist. Wird ein Payload vom Typ "Encrypted" gefunden, wird er entschlüsselt und der Inhalt als weitere Payloads geparst. Ein Encrypted-Payload MUSS der letzte im Paket sein und ein Encrypted-Payload DARF keinen weiteren Encrypted-Payload enthalten.
Das Responder-SPI im Header identifiziert eine Instanz einer IKE Security Association. Eine IKE-Instanz kann daher mehrere Sitzungen mit mehreren Peers multiplexen, einschließlich mehrerer Sitzungen pro Peer.
Alle mehroktettigen Felder für Ganzzahlen liegen in Big-Endian-Reihenfolge ("most significant byte first", Netzwerkbyte-Reihenfolge).
Das Format des IKE-Headers zeigt Abbildung 4.
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IKE SA Initiator's SPI |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IKE SA Responder's SPI |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload | MjVer | MnVer | Exchange Type | Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: IKE Header Format
-
Initiator's SPI (8 Oktette) - Vom Initiator gewählter Wert zur eindeutigen Identifikation einer IKE-SA. Dieser Wert DARF NICHT null sein.
-
Responder's SPI (8 Oktette) - Vom Responder gewählter Wert zur eindeutigen Identifikation einer IKE-SA. In der ersten Nachricht eines initialen IKE-Austauschs (einschließlich Wiederholungen mit Cookie) MUSS dieser Wert null sein.
-
Next Payload (1 Oktett) - Typ des unmittelbar folgenden Payloads.
-
Major Version (4 Bits) - Major-Version des IKE-Protokolls. Implementierungen dieser Version MÜSSEN Major 2 setzen. Ältere IKE-/ISAKMP-Implementierungen MÜSSEN 1 setzen. IKEv2-Implementierungen dieses Dokuments MÜSSEN Nachrichten mit Major größer als 2 mit INVALID_MAJOR_VERSION ablehnen oder ignorieren (Abschnitt 2.5).
-
Minor Version (4 Bits) - Minor-Version. Implementierungen MÜSSEN 0 setzen und die Minor-Version empfangener Nachrichten IGNORIEREN.
-
Exchange Type (1 Oktett) - Austauschtyp. Die Tabelle entspricht dem Stand von RFC 4306; aktuelle Werte in [IKEV2IANA].
| Exchange Type | Value |
|---|---|
| IKE_SA_INIT | 34 |
| IKE_AUTH | 35 |
| CREATE_CHILD_SA | 36 |
| INFORMATIONAL | 37 |
- Flags (1 Oktett) - Optionen als Bits.
+-+-+-+-+-+-+-+-+
|X|X|R|V|I|X|X|X|
+-+-+-+-+-+-+-+-+
„Gesetzt“ bedeutet 1, „gelöscht“ 0. X-Bits MÜSSEN beim Senden gelöscht und beim Empfang ignoriert werden.
-
R (Response) - Kennzeichnet eine Antwort auf eine Nachricht mit derselben Message ID. Muss in Anfragen gelöscht und in Antworten gesetzt sein. Ein IKE-Endpunkt DARF keine Antwort auf eine als Antwort markierte Nachricht erzeugen (Ausnahme Abschnitt 2.21.2).
-
V (Version) - Höhere Major-Version möglich. IKEv2-Implementierungen MÜSSEN beim Senden löschen und beim Empfang ignorieren.
-
I (Initiator) - Muss in Nachrichten des ursprünglichen IKE-SA-Initiators gesetzt und beim ursprünglichen Responder gelöscht sein. Ändert sich mit dem letzten IKE-SA-Rekey-Initiator.
-
Message ID (4 Oktette, vorzeichenlos) - Retransmission und Zuordnung Anfrage/Antwort; wichtig gegen Wiedergabe. Abschnitte 2.1 und 2.2.
-
Length (4 Oktette, vorzeichenlos) - Gesamtlänge der Nachricht (Header + Payloads) in Oktetten.