2.3. Payload Data (ペイロードデータ)
Payload Data は Next Header フィールドによって記述されるデータ (元の IP パケットから) を含む可変長フィールドです。Payload Data フィールドは必須であり, 長さは整数バイトです。ペイロードの暗号化に使用されるアルゴリズムが暗号化同期データ (例えば Initialization Vector (IV, 初期化ベクトル)) を必要とする場合, このデータは Payload フィールドに明示的に含まれますが, ESP では別個のフィールドとして呼び出されません。つまり, 明示的な IV の送信は ESP には見えません。(図 2 を参照。) このような明示的なパケットごとの同期データを必要とする暗号化アルゴリズムは, アルゴリズムが ESP でどのように使用されるかを指定する RFC の一部として, そのようなデータの長さ, 構造, およびこのデータの位置を示さなければなりません。(通常, IV は暗号文の直前にあります。図 2 を参照。) そのような同期データが暗黙的である場合, データを導出するアルゴリズムはアルゴリズム定義 RFC の一部でなければなりません。(Payload フィールドに含まれている場合, 暗号化同期データ (例えば Initialization Vector (IV)) は通常それ自体は暗号化されません (表 1 および表 2 を参照)。ただし, 暗号文の一部として言及されることがあります。)
次の層のプロトコルヘッダーの先頭は, ESP ヘッダーの先頭を基準として次のように整列しなければならないことに注意してください。IPv4 の場合, この整列は 4 バイトの倍数です。IPv6 の場合, 整列は 8 バイトの倍数です。
IV が存在する場合の (実際の) 暗号文の整列を確保することに関して, 以下に注意してください:
-
一部の IV ベースの動作モードでは, 受信者は IV を暗号文の開始として扱い, それをアルゴリズムに直接供給します。これらのモードでは, (実際の) 暗号文の開始の整列は受信者で問題になりません。
-
場合によっては, 受信者は暗号文とは別に IV を読み取ります。これらの場合, アルゴリズム仕様は (実際の) 暗号文の整列をどのように実現するかを扱わなければなりません。