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).