IPsec完全ガイド:IKEv2・ESP・NAT‑Tの仕組みと推奨暗号、導入・運用のベストプラクティス
IPsecとは:概要
IPsec(Internet Protocol Security)は、IPレイヤーでの通信に対して認証・機密性・完全性・リプレイ防止などのセキュリティ機能を提供するプロトコルスイートです。主にインターネット上での仮想プライベートネットワーク(VPN)構築や、サイト間接続、ホスト間の保護に広く使われています。OSやルータ、ファイアウォールなどに組み込まれており、アプリケーションに依存せずにトラフィック全体を保護できる点が特徴です。
主要コンポーネントと用語
- AH(Authentication Header):IPパケットの認証と改ざん検出(完全性)を提供しますが、暗号化(機密性)は行いません。IPヘッダの一部が保護されますが、NATとの相性が悪く実運用では利用が限られます(プロトコル番号51)。
- ESP(Encapsulating Security Payload):暗号化(機密性)と認証(完全性/認証)を提供します。現在の主流で、トラフィックの暗号化を行うために使用されます(プロトコル番号50)。
- SA(Security Association):通信を保護するための一方向のセキュリティパラメータの集合。SPI(Security Parameters Index)で識別され、暗号アルゴリズム、鍵、ライフタイムなどを含みます。両方向の通信は通常、双方向SAまたは2つの片方向SAで実現します。
- IKE(Internet Key Exchange):SAの確立と鍵交換を行うプロトコル。IKEv1とIKEv2があり、IKEv2(RFC 7296)が現在の標準で、より簡潔で拡張性・安定性が向上しています。通常UDP/500を使用し、NAT越えではUDP/4500が使われます。
- モード:トランスポート / トンネル:
- トランスポートモード:元のIPヘッダは保持し、ペイロード(L4以降)を保護します。ホスト間の通信で利用されることが多い。
- トンネルモード:元のIPパケット全体を新しいIPパケットにカプセル化して保護します。サイト間VPN(ゲートウェイ間)で一般的です。
プロトコルの流れ(IKEとSA確立の概念)
一般的な流れは以下の通りです(IKEv2を前提に簡潔に説明):
- 1) IKE SA の確立:両端での認証方式(PSK、証明書、EAPなど)と鍵交換(Diffie-Hellman)を行い、IKE SAを作成。
- 2) Child SA の確立:実際にIPsec(ESP/AH)で使う鍵やアルゴリズムを交渉し、1つまたは複数のChild SA(トラフィックを保護するSA)を生成。
- 3) 通信:確立されたChild SAを使い、ESPまたはAHでパケットが送受信される。
- 4) SA更新/再協議:鍵のライフタイム終了などに伴い定期的に再交渉され、PFS(Perfect Forward Secrecy)を設定することもできる。
暗号アルゴリズムと推奨設定
IPsecは複数の暗号スイートをサポートしますが、設計時には次を検討します。
- 暗号(機密性):AES(特にAES-GCMがAEADとして推奨)。古い3DESは非推奨。
- 認証/ハッシュ:SHA-256以上を推奨。SHA-1は既に弱体化のため避ける。
- 鍵交換:強力なDiffie-Hellmanグループ(例:2048ビットDH、またはECDH曲線)を使用。
- AEAD(Authenticated Encryption with Associated Data):AES-GCMやChaCha20-Poly1305などの統合方式を使用すると、安全性と効率が向上。
NAT越えとUDPカプセル化
NAT環境ではIPアドレスやポートが書き換えられ、AHが保護する領域と衝突します。ESPも従来はIPプロトコル番号で扱われ、それをNAT機器が扱えない/書き換える問題があります。これを解決するためにNAT-Traversal(NAT-T)が導入され、ESPパケットをUDPにカプセル化して送る方式(UDP/4500)が広く使われます。IKE自体は通常UDP/500で動作しますが、NAT検出後はUDP/4500へフォールバックします。
導入と運用上の注意点
- ファイアウォールの設定:UDP/500(IKE)、UDP/4500(NAT-T)、ESP(プロトコル50)およびAH(プロトコル51、AH使用時)を適切に許可する。
- MTUと断片化:トンネルモードおよびUDPカプセル化によりパケットが大きくなり、断片化やPath MTU問題が発生しやすくなる。MSSクランプやMTU調整を検討する。
- 証明書と時刻同期:証明書認証を用いる場合、時刻同期(NTP)は重要。証明書の有効期限管理も運用上の重要事項。
- ログとトラブルシュート:IKE/ESPのログ、SAリスト、パケットキャプチャでIKEネゴシエーションやESPパケットの状況を確認する。IKEフェーズでのミスマッチ(アルゴリズム、認証、PSKなど)がよくある原因。
- パフォーマンス:暗号化はCPU負荷が高い。AES-NIなどのハードウェアアクセラレーションや専用VPNアクセラレータを活用することでスループットが向上する。
利用ケースとメリット・デメリット
- 主な利用ケース:
- 拠点間VPN(サイト間VPN)
- リモートアクセスVPN(IPsec/XAuthやIKEv2+EAPなど)
- クラウドとオンプレ間のセキュア接続
- メリット:
- OSIモデルで低い階層(IP层)で保護するためアプリケーション透明性が高い。
- 標準化が進んでおり、多くのベンダーで相互運用可能。
- デメリット・課題:
- NATやファイアウォールとの調整が必要。
- 設定の複雑さ(特に証明書管理やポリシー運用)。
- 暗号処理によるパフォーマンス負荷。
最新動向とベストプラクティス
最近は、IKEv2の採用、AES-GCMやChaCha20-Poly1305などのAEAD暗号の使用、ECDHなどの楕円曲線暗号の利用が推奨されています。SHA-1や3DES、弱いDHグループは避け、定期的な鍵・証明書の更新やセキュリティポリシーの見直しを行うことが重要です。また、クラウド環境ではプロバイダが提供するマネージドVPNと組み合わせるケースも増えています。
まとめ
IPsecは、IPレイヤーで通信の機密性や完全性を確保するための成熟した技術です。適切なアルゴリズム選定、NAT対応、運用での鍵管理やパフォーマンス対策を行えば、企業ネットワークやクラウド接続において強力なセキュリティ基盤となります。一方で設計・運用の難しさやNAT周りの注意点があるため、要件に応じた設計と検証が不可欠です。
参考文献
- RFC 4301 - Security Architecture for the Internet Protocol
- RFC 4302 - IP Authentication Header
- RFC 4303 - IP Encapsulating Security Payload (ESP)
- RFC 7296 - Internet Key Exchange Protocol Version 2 (IKEv2)
- RFC 3947 - Negotiation of IKEv2 and NAT-Traversal
- RFC 3948 - UDP Encapsulation of IPsec ESP Packets
- strongSwan(IPsec実装)の公式ドキュメント
- Microsoft Docs - IPsec の概要
- Wikipedia - IPsec(日本語)


