ガイドSC

IPsec・IKE・ESP・AHとVPNのモード

公開: 2026-09-26更新: 2026-09-26
拠点間IPsecでIKE SAとCHILD SA、ESP/AH、NAT-T、トンネル・トランスポートモードを区別する。

拠点Aの10.10.1.41から拠点Bの10.20.1.7へ通信を通すため、GW-AとGW-BでIPsecトンネルを張ります。IKEは何を交渉し、ESPは何を守り、AH・トランスポートモード・SSL-VPNとはどう違うのでしょうか。IKE_SAとCHILD_SAのログを一連の失敗例で読みます。

読む順序は、用語と配置→正常な処理→異常ログ→調査と対策→復旧→演習です。接続・検知・遮断・被害を別々の事実として扱います。以下の構成、時刻、アドレス、ログ、設定値は教材用の架空例です。

1. 用語と役割を構成に結び付ける

用語

この事例での意味と限界

IPsec

IP層の通信保護の枠組み。ポリシー、Security Association(SA)、鍵管理、ESP/AHを組み合わせる。IPsecという名称だけで利用者認証やアプリ権限を保証しない。

IKEv2

相手認証と鍵交換を行いIKE SAとCHILD SAを構築・更新する。UDP500、NATを挟むと通常UDP4500を使う。

ESP

IPプロトコル番号50。設定した暗号・完全性・再送防止で通信を守る。現代の構成では認証付き暗号を使うことが多い。

AH

IPプロトコル番号51。改ざん検出・送信元認証を提供するが本文の秘匿はしない。NATがIPヘッダを書き換える構成と相性が悪い。

トンネルモード

元のIPパケット全体を内側に置き、新しい外側IPヘッダでGW-A→GW-Bへ送る。拠点間VPNの典型。

トランスポートモード

元のIPヘッダを基本的に維持し、上位層のペイロードを保護する。端末間などに使う。外側宛先は隠れない。

SSL-VPN

TLS等を使う遠隔アクセス方式の総称。製品によりブラウザ型・トンネル型があり、IPsecのESP/AHとはプロトコルと適用層が違う。

2. 構成と信頼境界

GW-Aの公開IPは198.51.100.10、GW-Bは203.0.113.20です。内側の保護対象はA側10.10.1.0/24、B側10.20.1.0/24。IKEv2で証明書認証し、ESPトンネルモードのCHILD_SAを作ります。途中にNAT装置があればNAT-Tを使います。

拠点間IPsecの二段階IKEで認証とSA交渉を行い、ESPで内側IPパケットを運ぶ。拠点A端末GW-AGW-B拠点Bサーバ1. IKE_SA_INIT2. 鍵交換の応答3. IKE_AUTH4. CHILD_SA確立5. 内側IPパケット6. ESPトンネル7. 復号後に転送
拠点間IPsecの二段階

IKEで認証とSA交渉を行い、ESPで内側IPパケットを運ぶ。

図ではIKEの詳細メッセージを省略し、制御プレーンとデータプレーンを分けています。IKE SAが確立しても、対象のCHILD SAがなければ10.10.1.41→10.20.1.7をESPで運べません。

3. 正常な処理を順に追う

  1. GW-AとGW-BがIKE_SA_INITで暗号提案、nonce、DH公開値を交換し鍵材料を作る。

  2. IKE_AUTHで相手の証明書等を検証し、保護対象のtraffic selectorを交渉してCHILD_SAを作る。

  3. 10.10.1.41→10.20.1.7の内側IPパケットがSPDの保護ポリシーに一致し、外側198.51.100.10→203.0.113.20のESPとして送られる。

  4. GW-BはSPIでSAを選び、整合性とanti-replayを検査し、復号後に内側宛先へ転送する。

ESPが成立してもGW-Bの内部FWやサーバが通信を拒否する場合があります。VPNの疎通、TCP接続、アプリ認証の成否を別々に調べます。トンネルモードでも外側のGW IPと通信量は観測できます。

4. 設定値・ログの読み方

項目

値の意味と判断の限界

IKE SA/CHILD SA

IKE制御のSAと実データ用SA。前者だけupでも通信できない。

SPI/direction

受信側がSAを識別する番号。往復は別SA・別SPIなので片方向だけupもある。

traffic selectors

保護する内側の送信元・宛先範囲。片側が10.20.1.0/24、他側が別範囲なら一致しない。

ESP sequence

再送防止の番号。replay dropは攻撃の可能性もあるが経路・再起動・SA不一致も調べる。

NAT-T

NAT検出後のUDP4500カプセル化。UDP500到達だけでESP実データが通るとは限らない。

以下の架空ログはIKE認証が成功し、対象selectorが不一致のためCHILD_SAが失敗する例です。

text
14:00:00 GW-A peer=203.0.113.20 ike_sa=up auth=ok
14:00:01 GW-A child=CH-41 local=10.10.1.0/24
  remote=10.20.1.0/24 result=TS_UNACCEPTABLE
14:00:02 GW-A flow=10.10.1.41->10.20.1.7
  ipsec_policy=protect child_sa=none action=drop

`auth=ok`は相手認証とIKE SAを示し、IPsecデータ経路が完成した意味ではありません。`TS_UNACCEPTABLE`なら両端の保護対象範囲を比較します。もし`child_sa=up`で通信不可なら、SPI、FW、経路、MTU、サーバ側ログへ進みます。

5. 攻撃・障害時の差分

異常・攻撃条件

観測、成立条件、対策の位置

相手IDの検証不足

攻撃者のGWや偽証明書を受け入れる。IKE_AUTHの証明書、名前、信頼先を検証する。

古い暗号提案

弱い方式へ合意する設定が残る。両端の許可方式と実際の選択結果を監査する。

NAT-T遮断

IKE UDP500は通るがUDP4500が通らない。制御成功とESPデータ失敗を分ける。

selector過大

`0.0.0.0/0`などを意図せず通し、不要な内部資源へ届く。対象を最小化しFWでも制限。

SA期限・rekey失敗

一定時間後だけ通信断。旧新SPI、双方の時刻、rekeyログを確認する。

AHはIPヘッダの一部も完全性保護するため通常のNATとの併用が難しく、ESPはNAT-Tで運べます。ESPとAHの役割を『ESPは暗号、AHは認証だけ』と単純化せず、ESPにも完全性・送信元認証の構成があることを押さえます。

6. 切り分けに必要な証拠

  • 両GWのIKE SA、CHILD SA、相手ID、証明書検証を同じ時刻で確認する。

  • traffic selector、経路表、SPD、FW、NAT-TのUDP4500を確認する。

  • 往復のSPI、ESP送受パケット数、replay drop、MTU・断片化を調べる。

  • 拠点Bのサーバ認証・アプリログでVPN後の処理を確認する。

パケットキャプチャにESPが見えても、正しい内側宛先へ復号・転送されたかはGW-B側ログが要ります。外側送信元はGW-Aであり、内側の利用者IDをそのまま示しません。

6.1 判断を誤りやすい境界と詳しい確認

確認点

具体的な判断

IKE SA

IKEv2はまずIKE_SA_INITでアルゴリズムや鍵交換の材料を交換し、IKE_AUTHで相手を認証する。IKE SAは制御用で、業務データを運ぶCHILD SAとは別。

CHILD SA

ESP等の通信を保護する単方向のSAを両方向に作る。SPI、鍵、アルゴリズム、有効期限、traffic selectorを見て、片方向だけの不一致を探す。

ESP

機密性と完全性などを提供する。トンネルモードでは内側IPパケットを包み、新しい外側IPヘッダを付ける。通信先網はtraffic selectorで制約する。

AH

認証・完全性を提供するが機密性は提供しない。IPヘッダの一部も保護対象となるためNATとの相性が悪い。実務の拠点間VPNは一般にESPを選ぶ。

モード差

トンネルモードは元のIPパケット全体を内側に収め、ゲートウェイ間VPNでよく使う。トランスポートモードは主に元のIPペイロードを保護し、元のIPヘッダを利用する。

NAT-T

NATがESPのIPプロトコル50を扱いにくい場合、ESPをUDP 4500へ包む。UDP 500のIKEから4500へ切り替わる経路と中間FWを確認する。

MTU

外側ヘッダ、ESP、NAT-Tでパケットが大きくなる。大きな通信だけ失敗するなら、PMTUD、ICMP遮断、MSS調整、断片化を確認する。

VPNがupでも、拠点Aの10.20.10.0/24から拠点Bの10.30.20.0/24へ届くとは限りません。IKE SA成立、該当selectorのCHILD SA成立、送受信ESPカウンタ増加、復号後のFW許可、戻り経路の順に調べます。IKEの認証成功だけでアプリ到達まで結論しません。

rekey失敗では更新直前まで成功し、有効期限で一斉に途切れることがあります。両端の時刻、提案アルゴリズム、PFS設定、証明書期限、鍵交換グループ、selector、旧SAの削除時刻を保存します。緊急に旧方式へ戻す場合は、弱い暗号の例外期間と責任者を明示します。

SSL-VPNは通常TLSを使うリモートアクセスVPNの総称として扱われますが、製品によってトンネル方式や認証・対象アプリが異なります。IPsecのESPパケットと同じログやポートを期待せず、製品の方式、認証ログ、割当アドレス、接続先ACLを確認します。

7. 設定変更と例外運用

変更・例外

失敗しやすい点と確認

証明書更新

新旧鍵の切替と相手ID、チェーン、期限を両端で確認する。片側だけ更新すると認証失敗。

サブネット追加

selector、経路、FW、監視をセットで変更する。SA upでも新サブネットが通らない場合がある。

NAT導入

UDP4500とNAT-T検出、外側IPの変化を確認。AHを使う構成では別設計を要する。

拠点障害

フェイルオーバー後のpeer IP、SA再確立、古いSPI残存を確認する。

IKEv2の詳細な提案、再鍵交換とanti-replay窓は製品・設定で変わります。設定を写す前に両端の互換性と鍵管理方針を確認します。SSL-VPNへ切り替えるなら、TLSの終端・認証・端末への到達範囲を新たに設計します。

8. 封じ込めと復旧条件

  1. 双方のSA・SPI・selector・認証ログと通信失敗時刻を保全する。

  2. 証明書や鍵の漏えいなら失効・交換し、侵害期間のトンネル利用を調べる。

  3. 正しいselector、経路、FW、NAT-Tを反映し、両方向のCHILD_SAとESPカウンタを確認する。

  4. 10.10.1.41→10.20.1.7のTCP接続と業務アプリ認証を試験する。

  5. 意図しないサブネットへ通らないこと、rekey後も通信が続くことを確認する。

IKE SAのupだけで復旧完了にしません。CHILD SA、内側通信、アプリの正常動作と不要経路の拒否まで見る必要があります。

9. 科目B(午後)での解答手順

制御のIKEとデータのESP/AH、内側IPと外側IP、SAの方向を分けます。トンネルかトランスポートかで守られるヘッダ範囲を図に書き、ログの`up`がどの段階か明示します。

  • IKE SAとCHILD SAを区別する。

  • ESP/AHとトンネル/トランスポートを混同しない。

  • NAT-T、selector、SPIを失敗箇所に対応付ける。

10. 短答演習

演習1:IKE up

条件:ike_sa=up、child_sa=none。 質問:通信できるか。

解答:保護対象のESP通信はできない。 誤答の理由:制御SAとデータSAを混同している。

演習2:AH

条件:本文を秘匿したい。 質問:AHだけでよいか。

解答:よくない。AHは秘匿しない。 誤答の理由:完全性と暗号化を混同している。

演習3:トンネル

条件:GW-AとGW-Bの拠点間。 質問:外側IPは見えるか。

解答:見える。内側IPパケットを包む。 誤答の理由:全IPヘッダが不可視と考えている。

演習4:NAT-T

条件:UDP500成功、4500遮断。 質問:何が起こるか。

解答:NAT-Tのデータ通信が失敗し得る。 誤答の理由:IKE初期通信だけを見ている。

演習5:SPI

条件:送信SPIだけ一致。 質問:往復も成功か。

解答:不明。逆方向のSAを確認する。 誤答の理由:SAの方向性を無視している。

演習6:SSL-VPN

条件:TLS型遠隔接続へ変更。 質問:ESP設定を流用できるか。

解答:できない。終端・認証・到達範囲を再設計する。 誤答の理由:名称のVPNだけで同一プロトコルと考えている。

11. 一次資料

RFC 4301:IPsecアーキテクチャ

RFC 7296:IKEv2

RFC 4303:ESP

RFC 4302:AH

この記事についてAIに深掘り質問する

ChatGPT、Claude、Perplexityにこの記事を参照させ、要点の確認や疑問点を自由に質問できます。

次におすすめの学習

編集・検証について

編集・検証:IT資格ラボ編集部

IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。

編集方針・情報源・訂正方針を見る
この記事を共有する