Zum Hauptinhalt springen

2.17. Generating Keying Material for Child SAs (Schlüsselmaterial für Child SAs)

2.17. Generating Keying Material for Child SAs (Schlüsselmaterial für Child SAs)​

Eine Child SA entsteht durch IKE_AUTH; weitere optional durch CREATE_CHILD_SA. Schlüsselmaterial:

KEYMAT = prf+(SK_d, Ni | Nr)

Ni und Nr stammen von IKE_SA_INIT beim ersten Child oder von frischen Ni/Nr aus CREATE_CHILD_SA bei späteren.

Mit optionalem Diffie-Hellman in CREATE_CHILD_SA:

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

g^ir (new) ist das ephemere DH-Shared-Secret dieses Austauschs (big-endian-Oktettfolge, bei Bedarf mit führenden Nullen bis Modullänge).

Ein CREATE_CHILD_SA kann mehrere Security Associations erzeugen. ESP- und AH-SAs sind paarweise; künftige IPsec-Protokolle (z. B. ROHC_INTEG [ROHCV2]) können zusätzlich ausgehandelt werden. Für jede Child SA MUSS Material aus dem erweiterten KEYMAT nach diesen Regeln genommen werden:

  • Alle Schlüssel für SA vom Initiator zum Responder vor SA in Gegenrichtung.

  • Bei mehreren IPsec-Protokollen: Reihenfolge wie die Protokollheader im gekapselten Paket.

  • Mehrere Schlüssel pro Protokoll: Reihenfolge in der Protokollspezifikation. Für ESP und AH definiert [IPSECARCH]: Verschlüsselungsschlüssel (falls vorhanden) aus den ersten Bits, Integritätsschlüssel (falls vorhanden) aus dem Rest.

Jeder Algorithmus nutzt eine feste Bitanzahl aus dem Algorithmus oder den SA-Nutzlasten (Schlüssellängen Abschnitt 2.13, Key Length Abschnitt 3.3.5).