ESP

読み:いーえすぴー / 英語表記:Encapsulating Security Payload

IPsecを構成するプロトコルの1つ。パケットの暗号化による機密性の確保と、改ざんの検出(完全性)、送信元の認証を行う。IPのプロトコル番号は50。

イマシルちゃんの解説

IPsecには、パケットを守る係が2人いるんだ。

AHは「この手紙は本物で、書き換えられてないよ」って保証してくれる、ハンコ係。
ESPは、ハンコに加えて、手紙を封筒に入れて中身を見えなくしてくれる、封筒係なんだ!
中身を秘密にしたいなら、ESPを使うんだよ。

より深い解説

定義

ESP(Encapsulating Security Payload)は、RFC 4303で定められた、IPsecのセキュリティプロトコルである。保護するデータを暗号化してESPヘッダーとESPトレーラの間に入れ(カプセル化し)、必要に応じて完全性を確認するための認証データ(ICV)を付ける。

ESPが提供する機能

機能内容
機密性データを暗号化して、盗聴されても読めないようにする
完全性認証データ(ICV)で、改ざんを検出する
送信元の認証共有した鍵を持つ相手から送られたことを確認する
リプレイ攻撃の防止シーケンス番号で、同じパケットの再送による攻撃を防ぐ

パケットの構成

トランスポートモード

| 元のIPヘッダー | ESPヘッダー | TCP/UDP+データ | ESPトレーラ | 認証データ |
                              └──── 暗号化の範囲 ────┘
               └────────── 認証の範囲 ──────────┘

トンネルモード

| 新しいIPヘッダー | ESPヘッダー | 元のIPヘッダー | TCP/UDP+データ | ESPトレーラ | 認証データ |
                                └────────── 暗号化の範囲 ──────────┘
                 └──────────────── 認証の範囲 ────────────────┘

トンネルモードでは、元のIPヘッダーも暗号化の範囲に含まれる。そのため、VPNの区間では、元の送信元・宛先のIPアドレス(拠点の内部のアドレス)を隠せる。一方、外側の新しいIPヘッダーは、暗号化も認証もされない。

フィールド内容
SPIどのSAを使うかを示す番号
シーケンス番号リプレイ攻撃の防止に使う
ESPトレーラパディング(ブロック暗号の長さ合わせ)と、次ヘッダー(中身のプロトコル)
認証データ(ICV)完全性の確認用の値

AHとの比較

ESPAH
暗号化できるできない
完全性・認証できるできる
認証の範囲ESPヘッダー以降(外側のIPヘッダーは含まない)IPヘッダーを含むパケット全体(途中で変わるフィールドを除く)
NATNAT-Tで通過できる通過できない
プロトコル番号5051

ESPは暗号化と認証の両方ができるため、現在のIPsecでは、AHを使わずにESPだけを使うのが一般的である。

アルゴリズムの決め方

ESPが使う暗号化や認証のアルゴリズムと鍵は、ESPのヘッダーで交渉するのではなく、IKEによって事前に合意され、SAとして共有される。2つのホストの間でアルゴリズムを決めるためにAHを使う、ということはない。

実際の試験ではここに出る!

この用語が出てくる記事

↑