2. Authentication Header Format (認証ヘッダーフォーマット)
AHヘッダーの直前のプロトコルヘッダー (IPv4, IPv6, またはIPv6拡張) は, そのProtocol (IPv4) またはNext Header (IPv6, 拡張) フィールド [DH98] に値51を含まなければなりません (SHALL)。図1はAHのフォーマットを示しています。
0 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 Header | Payload Len | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Security Parameters Index (SPI) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number Field |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Integrity Check Value-ICV (variable) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1. AH Format
次の表は, AHを構成するフィールド (図1に示されています) と, 完全性計算に含まれる他のフィールドを参照し, どのフィールドがICVによってカバーされ, 何が送信されるかを示しています。
| Field | # of bytes | Requ'd [1] | Integ Covers | What is Xmtd |
|---|---|---|---|---|
| IP Header | variable | M | [2] | plain |
| Next Header | 1 | M | Y | plain |
| Payload Len | 1 | M | Y | plain |
| RESERVED | 2 | M | Y | plain |
| SPI | 4 | M | Y | plain |
| Seq# (low-order 32 bits) | 4 | M | Y | plain |
| ICV | variable | M | Y[3] | plain |
| IP datagram [4] | variable | M | Y | plain |
| Seq# (high-order 32 bits) | 4 | if ESN | Y | not xmtd |
| ICV Padding | variable | if need | Y | not xmtd |
[1] - M = mandatory
[2] - どのIPヘッダーフィールドがカバーされるかの詳細については, セクション3.3.3「完全性チェック値計算」を参照してください。
[3] - ICV計算前にゼロ化されます (計算後に結果のICVがここに配置されます)
[4] - トンネルモードの場合 -> IPデータグラム
トランスポートモードの場合 -> 次ヘッダーとデータ
以下のサブセクションでは, AHフォーマットを構成するフィールドを定義します。ここで説明されているすべてのフィールドは必須です。つまり, これらは常にAHフォーマットに存在し, 完全性チェック値 (ICV) 計算に含まれます (セクション2.6および3.3.3を参照してください)。
注: IPsecで使用されるすべての暗号化アルゴリズムは, 標準的なネットワークバイトオーダー (RFC 791 [RFC791] の付録を参照) での入力を期待し, 標準的なネットワークバイトオーダーで出力を生成します。IPパケットもネットワークバイトオーダーで送信されます。
AHにはバージョン番号が含まれていないため, 下位互換性に関する懸念がある場合, 2つのIPsecピア間でシグナリングメカニズムを使用して, AHの互換性のあるバージョンを確保することで対処しなければなりません (MUST)。例: IKE [IKEv2] またはアウトオブバンド構成メカニズム。