IPsec-VPN(IKEv2・NAT-T)の拠点間トンネル設計と暗号化
1. 概要と本質:なぜ拠点間接続でIPsecが選ばれ続けるのか
本社と全国の支社、工場、データセンタ間を相互接続する際、物理的な専用線(ダークファイバや広域イーサネット)を全拠点に敷設することは莫大なコストを伴います。 そこで、安価で広帯域な一般のインターネット回線や公衆網をトンネル技術と暗号化で覆い、あたかも専用線であるかのように安全に利用する技術が「IPsec-VPN(IP Security Virtual Private Network)」です。
IPsecは、ネットワーク層(レイヤ3)で動作するため、TCPやUDP、ICMPなどの上位プロトコルを意識することなく、拠点間を行き交うすべてのパケットを丸ごと透過的に保護できます。 提供するセキュリティ機能は以下の4大要素です。
機密性(Confidentiality): パケットの暗号化(AES-GCM等による盗聴防止)。
完全性(Integrity): メッセージ認証(HMAC-SHA256等による改ざん検知)。
送信元認証(Authentication): 電子証明書や事前共有鍵(PSK)によるなりすまし防止。
リプレイ攻撃耐性(Anti-Replay): シーケンス番号による過去パケットの再送・再利用防止。
ネットワークスペシャリスト(NW)午後・科目B試験では、「AHとESPの決定的な違い」「トンネルモードとトランスポートモードのカプセル化構造」「IKEv1とIKEv2のメッセージ往復と高速化」「素のESPがNAPTを通過できない理由とNAT-T(UDP 4500)の解決策」「DPDによる死活監視」が極めて頻繁に出題されます。 本稿では、プロトコルヘッダの詳細から設定値、障害トラブルシューティングまでを徹底解説します。
2. IPsecプロトコルスイートの構成要素
IPsecは単一のプロトコルではなく、複数のプロトコルが連携して動作するスイートです。
図のデータを表示できません。
2.1 AH(認証ヘッダ)vs ESP(暗号化ペイロード)
比較項目 | AH(Authentication Header: RFC 4302) | ESP(Encapsulating Security Payload: RFC 4303) |
|---|---|---|
プロトコル番号 | 51 | 50 |
暗号化(機密性) | なし(平文のまま) | あり(AES, 3DES等) |
完全性・認証 | あり(パケット全体を保護) | あり(ESPヘッダ以降を保護) |
外側IPヘッダの改ざん検知 | 対象に含む(IPアドレスの変更を許さない) | 対象外(IPアドレスの変更を許容する) |
NAPT(NAT)越え | 原理的に不可能(NATルータでIPが書き換わると破棄) | NAT-T(UDPカプセル化)を用いれば可能 |
[!IMPORTANT] 試験頻出:なぜAHはNAT環境で使えないのか? AHはパケットの「送信元IP」や「宛先IP」まで含めてハッシュ値(ICV: Integrity Check Value)を計算します。 パケットが途中のNAPTルータを通過してIPアドレスが書き換えられると、受信側ルータで計算したハッシュ値と不一致を起こし、「パケットが改ざんされた」と判定されて即座に破棄されるためです。 そのため、現代の企業VPNでは ESP 一択となります。
3. モードの違い:トランスポートモード vs トンネルモード
カプセル化の適用範囲によって2つのモードが存在します。
図のデータを表示できません。
トランスポートモード: 元のIPヘッダをそのまま使い、TCPヘッダ以降のみを暗号化。主にPC同士やサーバ同士の1対1通信で使用。
トンネルモード: 元のパケット(IPヘッダ+TCP+データ)を丸ごと暗号化し、外側に「VPNルータ間の新しいIPヘッダ」を被せる。社内プライベートIPアドレスを公衆インターネットから完全に隠蔽できるため、拠点間VPNの標準です。
4. 鍵交換プロトコル:IKEv1 vs IKEv2の徹底比較
IPsec通信を始めるには、対向ルータ間で「暗号化アルゴリズム」「共有鍵」「有効期限」を合意し、安全なトンネル(SA: Security Association)を確立する必要があります。このネゴシエーションを自動化するのが IKE(Internet Key Exchange) です。
図のデータを表示できません。
比較項目 | IKEv1(RFC 2409) | IKEv2(RFC 7296) |
|---|---|---|
ハンドシェイクの構造 | Phase 1(6または3往復)+ Phase 2(3往復) | IKE_SA_INIT(1往復)+ IKE_AUTH(1往復) |
合計メッセージ数 | 計9回(メインモード時) | わずか計4回(劇的な高速化) |
NAT-Tの対応 | 後付け拡張(ベンダID交換やポート切替が必要) | プロトコル本体に最初からネイティブ統合 |
認証方式の柔軟性 | 双方で同一の認証方式(PSKまたは証明書) | 双方で異なる方式(非対称認証やEAP)が可能 |
DoS攻撃耐性 | 低い(偽装パケットでDH高負荷計算を強いられる) | 高い(Cookie機構により送信元検証後に計算) |
モビリティ対応 | なし(IP変更時は再接続) | MOBIKE(RFC 4555)によりIP変更時も通信継続 |
5. NAT-T(NAT Traversal)のメカニズムとUDP 4500
5.1 なぜ「素のESP」は家庭用ルータやNAPTを通過できないのか?
企業のリモートワークや小規模拠点では、ルータがプロバイダからグローバルIPを1つだけ付与され、NAPT(IPマスカレード) で複数端末をインターネットに繋いでいます。
図のデータを表示できません。
5.2 NAT-Tによるカプセル化(UDP 4500番ポート)
この「ポート番号がない」問題を解決するのが NAT-T(RFC 3948) です。
図のデータを表示できません。
NAT検知: IKEハンドシェイク時に、双方が送受信したハッシュ値を比較し、経路上にNATが存在するかを自動検出する。
ポート切り替え: NATを検知すると、以降のIKE通信およびESPデータ通信を、UDP 500番から UDP 4500番ポート へ切り替える。
UDPカプセル化: ESPパケットの外側に「UDPヘッダ(Src: 4500, Dst: 4500)」を被せて送信する。
NAPT通過: 一般のNAPTルータは単なる「UDPパケット」として認識できるため、ポート番号を通常通りテーブルに登録し、往復通信が正常に成立する。
NAT-Keepalive: NAPTのセッションタイムアウト(通常数分)で穴が閉じないよう、通信がない時も定期的に(20秒間隔など)空のUDPパケットを送り続ける。
6. DPD(Dead Peer Detection)による死活監視
IPsecは通常、データ送信要求があるまでパケットを流しません。 もし対向拠点のルータが停電で急停止した場合、自ルータ側には「障害が起きたこと」が通知されず、暗号化トンネル(SA)がタイムアウトするまで何時間も「存在しない対向拠点へパケットを投げ続け、パケットが全消失する」という事態に陥ります。
DPD(RFC 3706):
- 対向ルータに対して定期的に DPD R-U-THERE(生存確認メッセージ) を送信。 - 一定時間(例: 10秒×3回連続)ACK応答がない場合、対向ルータがダウンしたと判断。 - 直ちに該当のIPsec SAおよびIKE SAを強制破棄し、バックアップ回線やルーティングの迂回を迅速にトリガーする。
7. 午後・科目B形式 実戦演習
【問題シナリオ】
精密機器メーカーのS社は、全国50か所の営業所と本社データセンタ(DC)との間を、インターネットVPNで接続するネットワークを構築した。 本社DCには高性能VPNルータ(GW-Center)を設置し、固定グローバルIPアドレスを割り当てている。一方、各営業所には小型VPNルータ(GW-Branch)を配置している。
図のデータを表示できません。
営業所ネットワークの仕様は以下の通りである。
コスト削減のため、営業所のインターネット回線は家庭用の安価な光コラボ回線を使用しており、プロバイダから提供されるブロードバンドルータ(NAPT機能内蔵)の配下にGW-Branchを設置している。
GW-BranchのWAN側インタフェースには、ブロードバンドルータからプライベートIPアドレスがDHCPで割り当てられている。
トンネルプロトコルにはIPsecトンネルモード(ESP暗号化)を採用し、鍵交換にはIKEv2を使用している。
導入テスト時、GW-CenterとGW-Branchの間でIKEハンドシェイク(UDP 500)の開始は確認できたが、暗号化データの送受信が一切行えず、セッションがタイムアウトする現象が発生した。 パケットキャプチャを確認したところ、GW-Centerからは暗号化されたESPパケット(プロトコル番号50)が送信されていたが、ブロードバンドルータのLAN側で破棄されていた。
【設問1】
営業所のブロードバンドルータ配下において、素のESPパケット(プロトコル番号50)を用いた通信が成立しなかった理由について、NAPTルータがアドレス変換を管理する際の動作に着目して35字以内で述べよ。
解答への思考プロセス
技術的根本原因:
- NAPT(IPマスカレード)は、複数の端末が1つのグローバルIPアドレスを共有するため、レイヤ4(トランスポート層)の「ポート番号(TCP/UDP)」をキーにしてセッションテーブルを作成・管理する。 - ESP(IPプロトコル番号50)はレイヤ3(ネットワーク層)の上に直接載るプロトコルであり、ヘッダ内にTCPやUDPのようなポート番号が存在しない。 - 戻りのESPパケットを受信したNAPTルータは、宛先ポート番号の手がかりがないため、LAN内のどのプライベートIPアドレス宛てに逆変換すればよいか判断できず、パケットをドロップ(破棄)する。
設問要求の確認:
- 「NAPTルータがアドレス変換を管理する際の動作」に着目。 - 35字以内。
文章作成:
- ESPにはポート番号がなくNAPTが逆変換先を特定できないため。(32字)
模範解答
ESPにはポート番号がなくNAPTが逆変換先を特定できないため。(32字)
減点・失点分析
×「ESPヘッダが暗号化されているためルータが読めないから。」(ESPヘッダのSPIやシーケンス番号は平文であり、暗号化されているのはペイロードであるため誤り。0点)
△「NAPTルータがプロトコル50を遮断する設定になっていたから。」(設定の有無ではなく、NAPTの基本動作原理に触れていないため部分点どまり)
【設問2】
S社が各営業所のネットワーク機器やプロバイダ契約を変更することなく、この問題を解決するために、両拠点のVPNルータ(GW-CenterおよびGW-Branch)で有効化すべきIPsec機能の名称、およびその通信で使用される宛先ポート番号を30字以内で述べよ。
解答への思考プロセス
解決策の選定:
- NAPT環境下でESP通信を成立させる標準技術は NAT-Traversal(NAT-T)。 - NAT-Tでは、ESPパケットを UDPヘッダ(宛先ポート番号:4500) でカプセル化して送信する。
字数制限(30字以内)への整形:
- 「NAT-Tを有効化しUDP 4500番ポートを使用する。」(29字)
模範解答
NAT-Tを有効化しUDP 4500番ポートを使用する。(29字)
減点・失点分析
×「AHプロトコルに変更し、ポート500番を使用する。」(AHはNAT環境では絶対に動作しないため致命的誤り。0点)
△「UDPカプセル化機能を使う。」(正式名称である「NAT-T」または「NATトラバーサル」に触れていないと減点対象)
8. まとめと次ステップ
IPsecは、インターネットをセキュアな拠点間WANへと昇華させる極めて洗練されたプロトコルです。
ESPトンネルモードが企業拠点間VPNの事実上の世界標準。
IKEv2によりハンドシェイクをわずか4メッセージに削減し、耐障害性と安全性を大幅向上。
NAT-T(UDP 4500)により、動的プライベートIP環境でもNAPTを透過して通信可能。
DPDによる迅速な対向ルータ死活検知でブラックホール化を阻止。
次稿 NWP-10(ステートフルファイアウォールとNAPT(ポート枯渇・ALG)の制御) では、企業境界を守るファイアウォールのセッション管理、戻り通信の動的許可、ポート枯渇問題、およびFTPなどの複雑プロトコルを中継するALGの仕組みを徹底解明します。
次におすすめの学習
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る