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: Fehlertypen | Wert |
|---|---|
| UNSUPPORTED_CRITICAL_PAYLOAD | 1 |
| Siehe Abschnitt 2.5. | |
| INVALID_IKE_SPI | 4 |
| Siehe Abschnitt 2.21. | |
| INVALID_MAJOR_VERSION | 5 |
| Siehe Abschnitt 2.5. | |
| INVALID_SYNTAX | 7 |
| 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_ID | 9 |
| Siehe Abschnitt 2.3. | |
| INVALID_SPI | 11 |
| Siehe Abschnitt 1.5. | |
| NO_PROPOSAL_CHOSEN | 14 |
| 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_PAYLOAD | 17 |
| Siehe Abschnitte 1.2 und 1.3. | |
| AUTHENTICATION_FAILED | 24 |
| 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_REQUIRED | 34 |
| Siehe Abschnitt 2.9. | |
| NO_ADDITIONAL_SAS | 35 |
| Siehe Abschnitt 1.3. | |
| INTERNAL_ADDRESS_FAILURE | 36 |
| Siehe Abschnitt 3.15.4. | |
| FAILED_CP_REQUIRED | 37 |
| Siehe Abschnitt 2.19. | |
| TS_UNACCEPTABLE | 38 |
| Siehe Abschnitt 2.9. | |
| INVALID_SELECTORS | 39 |
| 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_FAILURE | 43 |
| Siehe Abschnitt 2.25. | |
| CHILD_SA_NOT_FOUND | 44 |
| Siehe Abschnitt 2.25. |
| NOTIFY-Nachrichten: Statustypen | Wert |
|---|---|
| INITIAL_CONTACT | 16384 |
| Siehe Abschnitt 2.4. | |
| SET_WINDOW_SIZE | 16385 |
| Siehe Abschnitt 2.3. | |
| ADDITIONAL_TS_POSSIBLE | 16386 |
| Siehe Abschnitt 2.9. | |
| IPCOMP_SUPPORTED | 16387 |
| Siehe Abschnitt 2.22. | |
| NAT_DETECTION_SOURCE_IP | 16388 |
| Siehe Abschnitt 2.23. | |
| NAT_DETECTION_DESTINATION_IP | 16389 |
| Siehe Abschnitt 2.23. | |
| COOKIE | 16390 |
| Siehe Abschnitt 2.6. | |
| USE_TRANSPORT_MODE | 16391 |
| Siehe Abschnitt 1.3.1. | |
| HTTP_CERT_LOOKUP_SUPPORTED | 16392 |
| Siehe Abschnitt 3.6. | |
| REKEY_SA | 16393 |
| Siehe Abschnitt 1.3.3. | |
| ESP_TFC_PADDING_NOT_SUPPORTED | 16394 |
| Siehe Abschnitt 1.3.1. | |
| NON_FIRST_FRAGMENTS_ALSO | 16395 |
| Siehe Abschnitt 1.3.1. |