2.18. Rekeying IKE SAs Using a CREATE_CHILD_SA Exchange (CREATE_CHILD_SA 交換による IKE SA の再鍵)
2.18. Rekeying IKE SAs Using a CREATE_CHILD_SA Exchange (CREATE_CHILD_SA 交換による IKE SA の再鍵)
CREATE_CHILD_SA 交換で既存 IKE SA を再鍵できる (1.3.2 と 2.8 節). 新しいイニシエータとレスポンダ SPI は SA ペイロード内 Proposal 構造の SPI フィールドに置く (IKE ヘッダの SPI ではない). IKE SA 再鍵時は TS ペイロードを省略する. 新 IKE SA の SKEYSEED は既存 IKE SA の SK_d で次のように計算する:
SKEYSEED = prf(SK_d (old), g^ir (new) | Ni | Nr)
g^ir (new) は本 CREATE_CHILD_SA の一時 Diffie-Hellman 共有秘密 (ビッグエンディアン, 必要ならゼロ埋め), Ni と Nr はヘッダを除いた 2 つの nonce.
新旧 IKE SA で異なる PRF を選んでもよい. 再鍵交換は旧 IKE SA に属するため, SKEYSEED 生成には旧 IKE SA の PRF を用いる.
IKE SA 再鍵の主目的は, 旧鍵材料の漏えいが現在の鍵について情報を与えない (およびその逆) ことを保証することである. したがって実装は IKE SA 再鍵時に新しい Diffie-Hellman 交換を実行しなければならない. イニシエータは Diffie-Hellman 変換に "NONE" を提案してはならず, レスポンダはそれを受け入れてはならない. 成功した IKE SA 再鍵交換には常に KEi/KEr が含まれる.
新 IKE SA はメッセージカウンタを 0 にリセットしなければならない.
SK_d, SK_ai, SK_ar, SK_ei, SK_er は 2.14 節どおり SKEYSEED から計算し, 新交換の SPIi, SPIr, Ni, Nr と新 IKE SA の PRF を用いる.