Passa al contenuto principale

2.17. Generating Keying Material for Child SAs (Materiale di chiave per le Child SA)

2.17. Generating Keying Material for Child SAs (Materiale di chiave per le Child SA)

Una Child SA è creata da IKE_AUTH; altre opzionalmente da CREATE_CHILD_SA.

KEYMAT = prf+(SK_d, Ni | Nr)

Ni e Nr da IKE_SA_INIT per la prima Child, o Ni/Nr freschi da CREATE_CHILD_SA per le successive.

Con Diffie-Hellman opzionale in CREATE_CHILD_SA:

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

g^ir (new) è il segreto DH effimero di quello scambio (ottetti big-endian, zeri in alto se necessario).

Una negoziazione CREATE_CHILD_SA può produrre più Security Association. ESP e AH sono a coppie; possono esserci protocolli IPsec futuri (es. ROHC_INTEG [ROHCV2]). Per ogni Child SA il materiale DEVE essere preso da KEYMAT espanso con queste regole:

  • Chiavi per SA da iniziatore a rispondente prima di quelle nella direzione opposta.

  • Se più protocolli IPsec, ordine come gli header nel pacchetto incapsulato.

  • Se un protocollo richiede più chiavi, l'ordine è nella sua specifica. Per ESP e AH, [IPSECARCH]: chiave di cifratura (se presente) dai primi bit, chiave di integrità (se presente) dal resto.

Ogni algoritmo prende un numero fisso di bit dall'algoritmo o dai payload SA (lunghezze sezione 2.13, Key Length 3.3.5).