IKEとSA
IKE は IKE SA で制御通信を保護し、データ通信用の Child SA と IPsec SA を作る。
IKE と SA は、IPsec を理解するときに混ざりやすい。SA には、IKE 自身の通信を保護する IKE SA と、ESP / AH でデータを保護する IPsec SA がある。IKEv2 では、データ通信用の IPsec SA の組を Child SA として管理する。
IKE は Internet Key Exchange の略で、IPsec の通信を始める前に必要な準備を行う。
IKE が行う主な処理は次のとおり。
- 接続相手を認証する
- 使用する暗号方式や認証方式を合意する
- 鍵を交換・生成する
- IKE 自身の制御通信を守る IKE SA を確立する
- IPsec で使う Child SA と IPsec SA を作成する
- どの通信を IPsec で保護するかを決める
IKE は通信経路を決める仕組みではない。ルーティングは別の仕組みで行われる。
また、IKE はデータ本体を暗号化する仕組みでもない。実際のデータパケットを保護するのは ESP や AH であり、IKE はそのための鍵や条件を準備する。
SA は Security Association の略で、通信をどう保護するかを表す取り決めである。IKE SA と IPsec SA では、保護する対象と方向性が異なる。
| 種類 | 保護する対象 | 方向性と識別 |
|---|---|---|
| IKE SA | IKE の認証、鍵交換、Child SA 管理などの制御通信 | 両ピア間の双方向の論理的関係。Initiator SPI と Responder SPI の組で識別する |
| Child SA | IKEv2 が管理するデータ通信用 SA のまとまり | 通常、送信方向と受信方向の IPsec SA を一組として扱う |
| IPsec SA | ESP / AH による実データの保護 | 片方向。双方向通信には方向ごとの SA が必要 |
IPsec SA は仮想的な通信路そのものではない。次のような保護条件のまとまりとして考える。
| 項目 | 内容 |
|---|---|
| 相手 | どの相手との通信か |
| プロトコル | ESP を使うか、AH を使うか |
| 暗号方式 | どの暗号アルゴリズムを使うか |
| 認証方式 | どの完全性確認・認証方式を使うか |
| 鍵 | パケット保護に使う鍵 |
| SPI | SA を識別するための値 |
| 有効期間 | その SA をいつまで使うか |
「SA は片方向」という説明は IPsec SA に対するものである。IKE SA は双方向の論理的関係であり、IKEv2 の Child SA は通常、一対の片方向 IPsec SA をまとめて管理する。
IKEv1 では、Phase 1 で ISAKMP / IKE SA を確立し、Phase 2 の Quick Mode で IPsec SA を作る。IKEv2 では IKE SA と Child SA という用語で区別する。
IKEとSAの関係
Section titled “IKEとSAの関係”IKEで方式合意・鍵交換・相手認証 ↓IKE SAを確立し、データ通信用SAをネゴシエート ↓IKEv2ではChild SAとして一対のIPsec SAを作成 ↓方向ごとのIPsec SAに基づいてESP / AHがパケットを保護IKE SA は IKE の制御通信を守る。Child SA と、その中の IPsec SA は実際のデータパケットを守る。この二つを区別すると、show crypto ikev2 sa と show crypto ipsec sa が別々に存在する理由を理解しやすい。