Zum Hauptinhalt springen

3.10. Notify Payload (Benachrichtigungs-Nutzdaten)

3.10. Notify Payload (Benachrichtigungs-Nutzdaten)

Das Notify-Payload, in diesem Dokument als N bezeichnet, dient der Übermittlung informativer Daten wie Fehlerzustände und Zustandsübergänge an einen IKE-Peer. Ein Notify-Payload kann in einer Antwortnachricht vorkommen (üblicherweise mit Angabe, warum eine Anfrage abgelehnt wurde), in einem INFORMATIONAL-Austausch (zur Meldung eines Fehlers außerhalb einer IKE-Anfrage) oder in jeder anderen Nachricht, um Fähigkeiten des Senders anzuzeigen oder die Bedeutung der Anfrage zu ändern.

Das Notify-Payload ist wie folgt definiert:

                    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload |C| RESERVED | Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol ID | SPI Size | Notify Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Security Parameter Index (SPI) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Notification Data ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbildung 16: Format des Notify-Payloads

  • Protocol ID (1 Oktett) - Betrifft diese Benachrichtigung eine bestehende SA, deren SPI im SPI-Feld steht, gibt dieses Feld den Typ dieser SA an. Für Benachrichtigungen zu Child-SAs MUSS dieses Feld entweder (2) für AH oder (3) für ESP enthalten. Unter den in diesem Dokument definierten Benachrichtigungen ist die SPI nur bei INVALID_SELECTORS, REKEY_SA und CHILD_SA_NOT_FOUND enthalten. Ist das SPI-Feld leer, MUSS dieses Feld als Null gesendet und beim Empfang ignoriert werden.

  • SPI Size (1 Oktett) - Länge des SPI in Oktetten gemäß IPsec-Protokoll-ID oder null, wenn kein SPI zutrifft. Bei einer Benachrichtigung zur IKE-SA MUSS die SPI Size null sein und das Feld leer.

  • Notify Message Type (2 Oktette) - Gibt den Typ der Benachrichtigungsnachricht an.

  • SPI (variable Länge) - Security Parameter Index.

  • Notification Data (variable Länge) - Status- oder Fehlerdaten zusätzlich zum Notify Message Type. Die Werte sind typspezifisch (siehe unten).

Der Nutzdatentyp für das Notify-Payload ist einundvierzig (41).

3.10.1. Notify-Nachrichtentypen

Benachrichtigungsinformationen können Fehlermeldungen sein, die angeben, warum eine SA nicht etabliert werden konnte. Sie können auch Statusdaten sein, die ein Prozess, der eine SA-Datenbank verwaltet, einem Peer-Prozess mitteilen möchte.

Die folgende Tabelle listet die Benachrichtigungsnachrichten und ihre Werte. Die Anzahl unterschiedlicher Fehlerstatus wurde gegenüber IKEv1 stark reduziert, sowohl zur Vereinfachung als auch um Konfigurationsinformationen gegenüber Sonden nicht preiszugeben.

Typen im Bereich 0 - 16383 dienen der Fehlerberichterstattung. Eine Implementierung, die in einer Antwort ein Notify-Payload mit einem dieser nicht erkannten Typen erhält, MUSS annehmen, dass die zugehörige Anfrage vollständig fehlgeschlagen ist. Nicht erkannte Fehlertypen in einer Anfrage und Statustypen in Anfrage oder Antwort MÜSSEN ignoriert und sollten protokolliert werden.

Notify-Payloads mit Statustypen DÜRFEN jeder Nachricht hinzugefügt werden und MÜSSEN ignoriert werden, wenn nicht erkannt. Sie dienen der Anzeige von Fähigkeiten und werden im Rahmen der SA-Aushandlung zur Aushandlung nicht-kryptographischer Parameter verwendet.

Weitere Informationen zur Fehlerbehandlung finden sich in Abschnitt 2.21.

Die Werte der folgenden Tabelle gelten nur bis zum Veröffentlichungsdatum von RFC 4306 zuzüglich zweier in diesem Dokument hinzugefügter Fehlertypen. Später können weitere Werte hinzugekommen sein. Aktuelle Werte in [IKEV2IANA].

NOTIFY-Nachrichten: FehlertypenWert
UNSUPPORTED_CRITICAL_PAYLOAD1
Siehe Abschnitt 2.5.
INVALID_IKE_SPI4
Siehe Abschnitt 2.21.
INVALID_MAJOR_VERSION5
Siehe Abschnitt 2.5.
INVALID_SYNTAX7
Zeigt an, dass die empfangene IKE-Nachricht ungültig war, weil Typ, Länge oder Wert außerhalb des zulässigen Bereichs lagen oder die Anfrage aus Richtliniengründen abgelehnt wurde. Um DoS-Angriffe mit gefälschten Nachrichten zu vermeiden, darf dieser Status nur für und in einem verschlüsselten Paket zurückgegeben werden, wenn Message ID und kryptographische Prüfsumme gültig waren. Um Informationslecks bei Sondierungen zu vermeiden, MUSS dieser Status als Antwort auf jeden Fehler gesendet werden, der von keinem anderen Statustyp abgedeckt ist. Zur Fehlersuche sollten detailliertere Fehlerinformationen auf Konsole oder in ein Protokoll geschrieben werden.
INVALID_MESSAGE_ID9
Siehe Abschnitt 2.3.
INVALID_SPI11
Siehe Abschnitt 1.5.
NO_PROPOSAL_CHOSEN14
Keines der vorgeschlagenen Kryptosuites war akzeptabel. Kann gesendet werden, wenn die angebotenen Vorschläge (einschließlich, aber nicht beschränkt auf SA-Payload-Werte, USE_TRANSPORT_MODE-Benachrichtigung, IPCOMP_SUPPORTED-Benachrichtigung) für den Responder nicht akzeptabel sind. Kann auch als „generischer“ Child-SA-Fehler dienen, wenn die Child-SA aus einem anderen Grund nicht erstellt werden kann. Siehe auch Abschnitt 2.7.
INVALID_KE_PAYLOAD17
Siehe Abschnitte 1.2 und 1.3.
AUTHENTICATION_FAILED24
In der Antwort auf eine IKE_AUTH-Nachricht gesendet, wenn die Authentifizierung aus irgendeinem Grund fehlschlug. Keine zugehörigen Daten. Siehe auch Abschnitt 2.21.2.
SINGLE_PAIR_REQUIRED34
Siehe Abschnitt 2.9.
NO_ADDITIONAL_SAS35
Siehe Abschnitt 1.3.
INTERNAL_ADDRESS_FAILURE36
Siehe Abschnitt 3.15.4.
FAILED_CP_REQUIRED37
Siehe Abschnitt 2.19.
TS_UNACCEPTABLE38
Siehe Abschnitt 2.9.
INVALID_SELECTORS39
KANN in einem IKE-INFORMATIONAL-Austausch gesendet werden, wenn ein Knoten ein ESP- oder AH-Paket erhält, dessen Selektoren nicht mit denen der SA übereinstimmen, über die es zugestellt wurde (und das zum Verwerfen führte). Die Notification Data enthalten den Anfang des fehlerhaften Pakets (wie bei ICMP), und das SPI-Feld der Benachrichtigung entspricht der SPI der Child-SA.
TEMPORARY_FAILURE43
Siehe Abschnitt 2.25.
CHILD_SA_NOT_FOUND44
Siehe Abschnitt 2.25.
NOTIFY-Nachrichten: StatustypenWert
INITIAL_CONTACT16384
Siehe Abschnitt 2.4.
SET_WINDOW_SIZE16385
Siehe Abschnitt 2.3.
ADDITIONAL_TS_POSSIBLE16386
Siehe Abschnitt 2.9.
IPCOMP_SUPPORTED16387
Siehe Abschnitt 2.22.
NAT_DETECTION_SOURCE_IP16388
Siehe Abschnitt 2.23.
NAT_DETECTION_DESTINATION_IP16389
Siehe Abschnitt 2.23.
COOKIE16390
Siehe Abschnitt 2.6.
USE_TRANSPORT_MODE16391
Siehe Abschnitt 1.3.1.
HTTP_CERT_LOOKUP_SUPPORTED16392
Siehe Abschnitt 3.6.
REKEY_SA16393
Siehe Abschnitt 1.3.3.
ESP_TFC_PADDING_NOT_SUPPORTED16394
Siehe Abschnitt 1.3.1.
NON_FIRST_FRAGMENTS_ALSO16395
Siehe Abschnitt 1.3.1.