メインコンテンツまでスキップ

2.14. Generating Keying Material for the IKE SA (IKE SA の鍵材料生成)

2.14. Generating Keying Material for the IKE SA (IKE SA の鍵材料生成)

共有鍵は次のように計算される. 量 SKEYSEED は, IKE_SA_INIT 交換で交換された nonce とその交換で確立された Diffie-Hellman 共有秘密から計算される. SKEYSEED からさらに 7 つの秘密が計算される: SK_d は本 IKE SA で確立される Child SA の新しい鍵の導出に用いる; SK_ai と SK_ar は後続交換の各メッセージの完全性保護アルゴリズムの鍵; SK_ei と SK_er は後続のすべての交換の暗号化 (および復号); SK_pi と SK_pr は AUTH ペイロード生成時に用いる. SK_d, SK_pi, SK_pr の長さは, 合意した PRF の優先鍵長でなければならない.

SKEYSEED とその派生は次のとおり:

SKEYSEED = prf(Ni | Nr, g^ir)

{SK_d | SK_ai | SK_ar | SK_ei | SK_er | SK_pi | SK_pr}
= prf+ (SKEYSEED, Ni | Nr | SPIi | SPIr)

(SK_d, SK_ai, SK_ar, SK_ei, SK_er, SK_pi, SK_pr を prf+ の生成ビットから順に取ることを示す). g^ir は一時 Diffie-Hellman 交換の共有秘密である. g^ir はビッグエンディアンのオクテット列として表され, 必要ならゼロ埋めして法の長さにする. Ni と Nr はヘッダを除いた nonce である. 後方互換のため, 2 つの PRF が特別扱いされる: 交渉 PRF が AES-XCBC-PRF-128 [AESXCBCPRF128] または AES-CMAC-PRF-128 [AESCMACPRF128] の場合, SKEYSEED 計算には Ni と Nr の先頭 64 ビットのみを用いるが, prf+ への入力にはすべてのビットを用いる.

2 方向のトラフィックには異なる鍵を用いる. 元のイニシエータからのメッセージの保護に SK_ai と SK_ei を用い, 反対方向には SK_ar と SK_er を用いる.