ESP
IPsecでIPパケットを保護するセキュリティプロトコル。暗号化による機密性の確保や、改ざんの検出・送信元の認証を提供し、利用する機能は設定によって決まる。IPのプロトコル番号は50。
イマシルちゃんの解説
インターネットを通るデータは、途中で盗み見られたり書き換えられたりするおそれがあるよ。
そんな通信を保護するIPsecで使われるプロトコルの一つが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を使うかを識別する32ビットの番号 |
| シーケンス番号 | リプレイ攻撃の防止に使う |
| ESPトレーラ | パディング(ブロック暗号の長さ合わせ)と、次ヘッダー(中身のプロトコル) |
| 認証データ(ICV) | 完全性の確認用の値 |
SPIは受信側が割り当て、受信パケットに対応するSAをSADから見つけるために使う。IKEv2で確立したESPのSAはChild SAにあたり、SPIから対応する暗号鍵やアルゴリズムを選ぶ。SPI自体は鍵でも認証情報でもない。AHのSPIも32ビットだが、IKEv2ヘッダーにある二つのIKE SPIはそれぞれ64ビットなので区別する。
ESPのトンネルモードで暗号化を有効にすると、元のIPパケットとESPトレーラを暗号化し、外側に新しいIPヘッダーとESPヘッダーを付ける。元の宛先は暗号化の内側にあり、中継網は外側のVPN装置宛てアドレスを見て転送する。ESPヘッダーは暗号化されないため、受信装置は復号前にSPIを読んで対応するSAを選べる。
AHとの比較
| ESP | AH | |
|---|---|---|
| 暗号化 | できる | できない |
| 完全性・認証 | できる | できる |
| 認証の範囲 | ESPヘッダー以降(外側のIPヘッダーは含まない) | IPヘッダーを含むパケット全体(途中で変わるフィールドを除く) |
| NAT | NAT-Tで通過できる | 通過できない |
| プロトコル番号 | 50 | 51 |
ESPは暗号化と認証の両方ができるため、現在のIPsecでは、AHを使わずにESPだけを使うのが一般的である。
アルゴリズムの決め方
ESPが使う暗号化や認証のアルゴリズムと鍵は、ESPのヘッダーで交渉するのではなく、IKEによって事前に合意され、SAとして共有される。2つのホストの間でアルゴリズムを決めるためにAHを使う、ということはない。
参考資料
実際の試験ではここに出る!全12問
ネットワークスペシャリスト
- 午前Ⅱ
- 午後Ⅰ
- 午後Ⅱ
テクニカルエンジニア(ネットワーク)
- 午前