中級ではESP・AH・モード・SA・IKEを見ました。上級では、鍵をどう安全に決めるか(IKEv2)・SAをどう識別するか(SPI)・攻撃をどう防ぐか・NATをどう越えるかという「動く仕組み」を掘り下げます。
上級の解説は準備中のため、上級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何をする係?
IPsecの難所は「データを暗号化する前に、その鍵を安全に共有する」ことです。鍵を平文で送れば意味がありません。ここを担うのが IKEv2(Internet Key Exchange v2)で、2つのフェーズで慎重に進めます。
アニメーション『IKEv2の鍵交換(2フェーズ)』を開く
- クライアント — トンネルを張りに行く側。自宅PCや拠点ルータなど
- 対向ゲートウェイ — 社内網の入口。トンネルの相手方
なぜ2段階に分けるのか。いきなり本人確認から始めると、そのやり取り自体が盗聴されます。まず暗号の通り道を作り(1)、その中で本人確認する(2)——この順序が、認証情報すら守るための必然です。
SPIとSAデータベース
トンネルは同時に何本も張られます。届いたパケットが「どのSAのものか」を一瞬で見分ける必要があります。
- SPI(Security Parameter Index)— ESPヘッダに載る32ビットの識別子。受信側はこれをキーに、正しいSAを引く
- SAD(SAデータベース)— SPIごとに「暗号方式・鍵・シーケンス番号の状態」を保持する台帳
- 受信の流れは「SPIでSADを引く → その鍵で復号 → 完全性とシーケンス番号を確認」
リプレイ攻撃の防止
暗号化されていても、盗んだ正規パケットをそのまま再送されると困ります(リプレイ攻撃)。IPsecはこう防ぎます。
- ESPはシーケンス番号を1ずつ増やして付ける
- 受信側は受信済みの番号と、古すぎる番号(スライディングウィンドウの外)を拒否する
- だから同じパケットの使い回しは弾かれる
NATトラバーサル
家庭や社内の多くはNAT(アドレス変換)の内側にいます。ところがIPsecはNATと衝突しがちです。
- なぜ難しいか — AHは元のIPヘッダまで保護するため、NATがアドレスを書き換えると完全性チェックに失敗する。ESPも、ポート番号を持たないためNAT機器が経路を管理しづらい
- どう越えるか — NAT-T(NATトラバーサル)で、ESPパケットを UDP(ポート4500)でさらにカプセル化する。UDPヘッダのおかげでNATが扱えるようになり、NAT越しでもトンネルが張れる
なぜVPNはトンネルモードか(再訪)
- 拠点間では宛先が「ゲートウェイ」であり、本当の宛先(社内ホスト)は隠したい。元パケットごと包むトンネルモードが必然
- 端末どうしが直接IPsecで話す限られた場面だけがトランスポートモード
- 落とし穴 — Perfect Forward Secrecy(毎回新しい鍵素材を使う設定)を切ると、将来の鍵漏洩で過去の通信までまとめて復号される危険がある
- 落とし穴 — 弱い暗号方式や短い鍵寿命の放置は、いくらトンネルを張っても土台を崩す
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. IKEv2の2つのフェーズの役割として正しいのは?
問2. 受信した古いパケットを再送してなりすます「リプレイ攻撃」をIPsecが防ぐ仕組みは?
問3. 届いたESPパケットが「どのSAのものか」を見分けるために使う、ESPヘッダ上の32ビットの識別子はどれ?
問4. SPIごとに「暗号方式・鍵・シーケンス番号の状態」を保持する台帳を何と呼ぶ?
問5. IKEv2が鍵交換(IKE_SA_INIT)を先に、相互認証(IKE_AUTH)を後に行うのはなぜ?
問6. NAT-T(NATトラバーサル)がNATの内側からでもIPsecを通すために行うのはどれ?
問7. 毎回新しい鍵素材を使い、将来鍵が漏れても過去の通信は復号されないようにする性質を、英字3文字の略語で答えてください。
問8. IPsecで実データの暗号化を担い、SPIやシーケンス番号を載せるプロトコルを英字3文字で答えてください。