Zum Hauptinhalt springen

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 TypeValue
IKE_SA_INIT34
IKE_AUTH35
CREATE_CHILD_SA36
INFORMATIONAL37
  • 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.