Zum Hauptinhalt springen

2.17. Erzeugung von Schlüsselmaterial für Child-SAs

2.17. Erzeugung von Schlüsselmaterial für Child-SAs​

Eine einzelne Child-SA wird durch den IKE_AUTH-Austausch erstellt, und zusätzliche Child-SAs können optional in CREATE_CHILD_SA-Austauschen erstellt werden. Das Schlüsselmaterial dafür wird wie folgt erzeugt:

KEYMAT = prf+(SK_d, Ni | Nr)

Wobei Ni und Nr die Nonces aus dem IKE_SA_INIT-Austausch sind, wenn diese Anfrage die erste erstellte Child-SA ist, oder die frischen Ni und Nr aus dem CREATE_CHILD_SA-Austausch, wenn dies eine nachfolgende Erstellung ist.

Für CREATE_CHILD_SA-Austausche, die einen optionalen Diffie-Hellman-Austausch einschließen, ist das Schlüsselmaterial definiert als:

KEYMAT = prf+(SK_d, g^ir (new) | Ni | Nr )

wobei g^ir (new) das aus dem ephemeralen Diffie-Hellman-Austausch dieses CREATE_CHILD_SA-Austauschs stammende Teilegeheimnis ist (dargestellt als eine Big-Endian-Zeichenkette aus Oktetten, die bei Bedarf mit Nullen in den höchstwertigen Bits aufgefüllt wird, damit sie die Länge des Modulus erreicht).

Eine einzelne CHILD_SA-Aushandlung kann mehrere Sicherheitsassoziationen zur Folge haben. ESP- und AH-SAs existieren paarweise (eine in jede Richtung), daher werden in einer einzelnen Child-SA-Aushandlung zwei SAs für sie erstellt. Ferner kann die Child-SA-Aushandlung einige zukünftige IPsec-Protokolle zusätzlich zu oder anstelle von ESP oder AH einschließen (zum Beispiel ROHC_INTEG wie in [ROHCV2] beschrieben). In jedem Fall MUSS das Schlüsselmaterial für jede Child-SA aus dem erweiterten KEYMAT unter Verwendung der folgenden Regeln entnommen werden:

o Alle Schlüssel für SAs, die Daten vom Initiator zum Responder tragen, werden vor den SAs entnommen, die vom Responder zum Initiator gehen.

o Werden mehrere IPsec-Protokolle ausgehandelt, wird das Schlüsselmaterial für jede Child-SA in der Reihenfolge entnommen, in der die Protokoll-Header im gekapselten Paket erscheinen werden.

o Benötigt ein IPsec-Protokoll mehrere Schlüssel, muss die Reihenfolge, in der sie aus dem Schlüsselmaterial der SA entnommen werden, in der Spezifikation des Protokolls beschrieben sein. Für ESP und AH definiert [IPSECARCH] die Reihenfolge, nämlich: der Verschlüsselungsschlüssel (falls vorhanden) MUSS aus den ersten Bits entnommen werden und der Integritätsschlüssel (falls vorhanden) MUSS aus den verbleibenden Bits entnommen werden.

Jeder kryptographische Algorithmus nimmt eine feste Anzahl von Bits Schlüsselmaterial, die als Teil des Algorithmus spezifiziert oder in SA-Payloads ausgehandelt wird (siehe Abschnitt 2.13 für die Beschreibung von Schlüssellängen und Abschnitt 3.3.5 für die Definition des Key-Length-Transformationsattributs).