IPsec
各プロトコルの詳細 > ESP

ESP (Encapsulated Security Payload) は ペイロード部を暗号化する。正確には、IP ヘッダ、経路ヘッダ、ホップバイホップオプションヘッダを除いた部分が暗号化される。RFC 1827 形式の ESP には認証機能が無いが、RFC 2406 / RFC 4303 形式の ESP にはオプションとして「認証トレイラー」機能があり、AH を併用せずとも改竄防止機能を利用することが可能となっている (ただし保証されるのはデータ部分だけで、IP ヘッダ部分の改竄を検出することはできない)。また後者には AH 同様に再送防止機能も追加されている。
RFC 1826 / RFC 1827 形式の AH/ESP はそれ以降の RFC とヘッダ長が異なるため互換性がない。RFC 4302 / RFC 4303 形式の 64 bit カウンタは ESN (Extended Sequence Number) とも呼ばれるが、実際にパケットに付加されるのは下位 32 bit だけで、見た目は RFC 2402 形式のパケットと区別が付かない。ただし認証ベクタ (ICV) の算出には全 64 bit が使用されるため、RFC 2402 / RFC 2406 形式の IPsec と RFC 4302 / RFC 4303 形式の IPsec の間にも直接の互換性はない。RFC 4302 / RFC 4303 仕様の IPsec 実装で RFC 2402 / RFC 2406 形式と通信するためには、32 bit の互換カウンタ使用を明示指定する必要がある。
| Offsets> Octet16 | Octet16> Bit10 | 0 | 0> 1 | 0> 2 | 0> 3 | 0> 4 | 0> 5 | 0> 6 | 0> 7 | 1> 8 | 1> 9 | 1> 10 | 1> 11 | 1> 12 | 1> 13 | 1> 14 | 1> 15 | 2> 16 | 2> 17 | 2> 18 | 2> 19 | 2> 20 | 2> 21 | 2> 22 | 2> 23 | 3> 24 | 3> 25 | 3> 26 | 3> 27 | 3> 28 | 3> 29 | 3> 30 | 3> 31 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 0 | 0 | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) | Security Parameters Index (SPI) |
| 4 | 32 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 | 順序番号 |
| 8 | 64 | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード |
| … | … | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード | ペイロード |
| … | … |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
| … | … |   |   |   |   |   |   |   |   | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) | Padding (0-255 octets) |   |   |   |   |   |   |   |   |
| … | … |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | Pad Length | Pad Length | Pad Length | Pad Length | Pad Length | Pad Length | Pad Length | Pad Length | Next Header | Next Header | Next Header | Next Header | Next Header | Next Header | Next Header | Next Header |
| … | … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … |
| … | … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … | Integrity Check Value (ICV) … |