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

3.14. Encrypted Payload (暗号化ペイロード)

3.14. Encrypted Payload (暗号化ペイロード)

Encrypted payload は本書で SK {...} と表し, 他のペイロードを暗号化形式で含む. メッセージに Encrypted payload がある場合, それはメッセージ中の最後のペイロードでなければならない. 多くの場合, メッセージ唯一のペイロードでもある. 本ペイロードは「Encrypted and Authenticated (暗号化かつ認証)」ペイロードとも呼ばれる.

暗号化と完全性保護アルゴリズムは IKE SA 確立時に協商され, 鍵は第 2.14 節および 2.18 節で指定されるとおりに算出される.

本文書は, 可変長メッセージに対して固定長チェックサムを計算する完全性チェックアルゴリズムと, ブロック暗号 CBC モードを用いた Encrypted payload の暗号処理を規定する. 設計は RFC 2104 [HMAC], 4303 [ESP], 2451 [ESPCBC] で説明される ESP アルゴリズムを手本とする. IKE データの暗号処理は本文書で完全に規定するが, 設計理由はそれらの文書を参照すべきである. 将来の文書はカウンタモード暗号や認証付き暗号アルゴリズムなど, 他の変換種別の Encrypted payload 処理を規定してよい. ピアはそのような規定がない変換を協商してはならない.

認証付き暗号アルゴリズムで IKE SA を保護する場合, Encrypted payload の構成はここで述べるものとは異なる. 詳細は [AEAD] を参照のこと.

Encrypted payload のペイロード種別は 46 である. Encrypted payload は IKE 汎用ペイロードヘッダの後に次のフィールドが続く:

                    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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Initialization Vector |
| (length is block size for encryption algorithm) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Encrypted IKE Payloads ~
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Padding (0-255 octets) |
+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| | Pad Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Integrity Checksum Data ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

図 21: Encrypted payload 形式

  • Next Payload - 最初に埋め込まれたペイロードのペイロード種別. 標準ヘッダ形式の例外である. Encrypted payload はメッセージ最後のペイロードであるため通常 Next Payload は 0 になるが, 本ペイロードの内容は埋め込みペイロードであり, 最初の種別を置く自然な場所がなかったため, ここに置く.

  • Payload Length - ヘッダ, 初期化ベクトル (IV), 暗号化された IKE ペイロード, Padding, Pad Length, Integrity Checksum Data の長さを含む.

  • Initialization Vector - CBC モード暗号では, IV の長さは基盤暗号アルゴリズムのブロック長に等しい. 送信者は毎メッセージ新しい予測不能な IV を選ばなければならない; 受信者は任意の値を受け入れなければならない. IV 生成の助言は [MODES] を参照されたい. 特に, 前メッセージの最終暗号文ブロックを用いることは予測不能とはみなされない. CBC 以外のモードでは, IV 形式と処理は暗号アルゴリズムとモードを規定する文書で指定される.

  • IKE ペイロードは本節の前で指定されるとおり. 本フィールドは協商した暗号で暗号化される.

  • Padding は送信者が選んだ任意の値を含み得, ペイロード, Padding, Pad Length の合計が暗号ブロックサイズの倍数になる長さでなければならない. 本フィールドは協商した暗号で暗号化される.

  • Pad Length は Padding フィールドの長さである. 送信者は Pad Length を, ペイロード, Padding, Pad Length の合計がブロックサイズの倍数になる最小値に設定すべきであるが, 受信者は正しいアラインメントとなる任意の長さを受け入れなければならない. 本フィールドは協商した暗号で暗号化される.

  • Integrity Checksum Data は固定 IKE ヘッダから Pad Length までのメッセージ全体の暗号学的チェックサムである. チェックサムは暗号化されたメッセージ上で計算しなければならない. 長さは協商した完全性アルゴリズムによる.