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

3.4 Key Exchange Payload (鍵交換ペイロード)

3.4 Key Exchange Payload (鍵交換ペイロード)

Key Exchange ペイロードは本文書では KE と記し, Diffie-Hellman 鍵交換の一部として Diffie-Hellman 公開値を交換するために用いる. IKE 汎用ペイロードヘッダの直後に Diffie-Hellman 公開値が続く.

                        1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload |C| RESERVED | Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Diffie-Hellman Group Num | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Key Exchange Data ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 10: Key Exchange Payload Format

KE ペイロードは自らの Diffie-Hellman 公開値を "Key Exchange Data" 部分にコピーして構築する. MODP 群では公開値の長さはべき乗算に用いた素数法の長さと等しくなければならない (MUST). 必要なら先頭にゼロを付ける.

Diffie-Hellman Group Num は Key Exchange Data を計算した群を示す (第 3.3.2 節). 同一メッセージ内の SA ペイロードのいずれかの proposal で指定された群と一致しなければならない (MUST). 存在すれば最初の proposal の最初の群と一致することが望ましい (SHOULD). いずれの proposal も群を指定しないなら KE はあってはならない (MUST NOT). 選ばれた proposal が別の群 (NONE 以外) を使うなら, INVALID_KE_PAYLOAD の Notify で拒否しなければならない (MUST). 第 1.2, 2.7 節も参照.

Key Exchange ペイロードの型番号は 34 である.