1.3. Der CREATE_CHILD_SA-Austausch
1.3. Der CREATE_CHILD_SA-Austausch
Der CREATE_CHILD_SA-Austausch wird verwendet, um neue Child SAs zu erstellen und sowohl IKE SAs als auch Child SAs neu zu schlüsseln (rekey). Dieser Austausch besteht aus einem einzelnen Anfrage-/Antwort-Paar, und ein Teil seiner Funktion wurde in IKEv1 als Phase-2-Austausch bezeichnet. Er KANN von beiden Enden der IKE SA initiiert werden, nachdem die anfänglichen Austausche abgeschlossen sind.
Eine SA wird neu geschlüsselt, indem eine neue SA erstellt und dann die alte gelöscht wird. Dieser Abschnitt beschreibt den ersten Teil des Neu-Schlüsselns, die Erstellung neuer SAs; Abschnitt 2.8 behandelt die Mechanik des Neu-Schlüsselns, einschließlich der Verschiebung des Datenverkehrs von alten zu neuen SAs und der Löschung der alten SAs. Die beiden Abschnitte müssen zusammen gelesen werden, um den gesamten Prozess des Neu-Schlüsselns zu verstehen.
Jeder Endpunkt kann einen CREATE_CHILD_SA-Austausch initiieren, daher bezieht sich in diesem Abschnitt der Begriff Initiator auf den Endpunkt, der diesen Austausch initiiert. Eine Implementierung KANN alle CREATE_CHILD_SA-Anfragen innerhalb einer IKE SA verweigern.
Die CREATE_CHILD_SA-Anfrage KANN optional einen KE-Payload für einen zusätzlichen Diffie-Hellman-Austausch enthalten, um stärkere Garantien für Forward Secrecy für die Child SA zu ermöglichen. Das Schlüsselmaterial für die Child SA ist eine Funktion von SK_d, das während der Einrichtung der IKE SA etabliert wurde, den während des CREATE_CHILD_SA-Austauschs ausgetauschten Nonces und dem Diffie-Hellman- Wert (falls KE-Payloads im CREATE_CHILD_SA-Austausch enthalten sind).
Falls ein CREATE_CHILD_SA-Austausch einen KEi-Payload enthält, MUSS mindestens eines der SA-Angebote die Diffie-Hellman-Gruppe des KEi enthalten. Die Diffie-Hellman-Gruppe des KEi MUSS ein Element der Gruppe sein, die der Initiator erwartet, dass der Responder akzeptiert (zusätzliche Diffie-Hellman-Gruppen können vorgeschlagen werden). Wenn der Responder einen Vorschlag mit einer anderen Diffie-Hellman-Gruppe (außer NONE) auswählt, MUSS der Responder die Anfrage ablehnen und seine bevorzugte Diffie-Hellman-Gruppe im INVALID_KE_PAYLOAD-Notify-Payload angeben. Es gibt zwei Oktett Daten, die mit dieser Benachrichtigung verbunden sind: die akzeptierte Diffie-Hellman-Gruppennummer in Big- Endian-Reihenfolge. Im Falle einer solchen Ablehnung schlägt der CREATE_CHILD_SA-Austausch fehl, und der Initiator wird den Austausch wahrscheinlich mit einem Diffie-Hellman-Vorschlag und KEi in der Gruppe wiederholen, die der Responder im INVALID_KE_PAYLOAD-Notify-Payload angegeben hat.
Der Responder sendet eine NO_ADDITIONAL_SAS-Benachrichtigung, um anzuzeigen, dass eine CREATE_CHILD_SA-Anfrage inakzeptabel ist, weil der Responder nicht bereit ist, weitere Child SAs auf dieser IKE SA anzunehmen. Diese Benachrichtigung kann auch verwendet werden, um ein Neu-Schlüsseln der IKE SA abzulehnen. Einige minimale Implementierungen akzeptieren möglicherweise nur eine einzelne Child-SA-Einrichtung im Kontext eines anfänglichen IKE-Austauschs und lehnen alle nachfolgenden Versuche ab, weitere hinzuzufügen.