IPSec(Internet Protocol Security)技術解説書
作成日: 2023年10月
1. IPSecの概要と目的

IPSec(Internet Protocol Security)は、インターネットプロトコル(IP)通信において、パケット単位で暗号化や認証を行うためのプロトコルスイートです。本来セキュリティ機能を持たないIP層(OSI参照モデルの第3層:ネットワーク層)を拡張し、通信の機密性、完全性、および真正性を確保することを目的としています。
VPN(Virtual Private Network)の構築において最も広く利用されている技術の一つであり、インターネットという安全ではない公衆網を経由して、安全なプライベートネットワーク接続を実現します。
- 機密性 (Confidentiality): 通信内容を暗号化し、第三者による盗聴を防ぎます。
- 完全性 (Integrity): データが通信途中で改ざんされていないことを保証します。
- 認証 (Authentication): 通信相手が正当な送信元であることを確認します。
2. IPSecのアーキテクチャ
IPSecは単一のプロトコルではなく、複数のプロトコルが連携して動作するフレームワークです。主に、セキュリティ機能を提供するプロトコル(AH/ESP)と、鍵交換を行うプロトコル(IKE)から構成されます。
このように、IPsecには様々な種類があり、様々なプロトコルが使われます。このような処理はルーターで行われるため、IPsecを活用したVPNを構築する場合には、IPsec対応したルーターが必須です。
3. IPSecの主要コンポーネント
IPSecを構成する3つの主要なプロトコルについて詳述します。
3.1. AH (Authentication Header)
プロトコル番号: 51
データの「認証」と「完全性」のみを提供します。パケットが改ざんされていないこと、送信元が正しいことは保証しますが、暗号化機能を持たないため、盗聴を防ぐことはできません。現在ではESP単体で認証も可能なため、AH単独での利用は減少しています。
3.2. ESP (Encapsulating Security Payload)
プロトコル番号: 50
データの「暗号化」、「認証」、「完全性」の全てを提供します。ペイロード(データ部分)を暗号化するため、盗聴防止に有効です。現代のVPN構築において主役となるプロトコルです。
3.3. IKE (Internet Key Exchange)
UDPポート: 500 / 4500
暗号化通信を行うための鍵交換を自動的に行うプロトコルです。通信相手との認証を行い、使用する暗号化アルゴリズムや鍵情報を安全に共有して、セキュリティアソシエーション(SA)を確立します。
4. トランスポートモードとトンネルモード
IPsecでは、情報漏洩や改ざんを防ぐ処理として「AH」または「ESP」が使われます。そして動作方法としては「トランスポートモード」と「トンネルモード」の2種類があります。そして、最もよく使われているのが「ESP」を使った「トランスポート」です。
IPSecには、パケットのどの部分を保護するかによって2つの動作モードがあります。
| モード | 特徴 | 主な用途 |
|---|---|---|
| トランスポートモード | 元のIPヘッダをそのまま使用し、データ部分(ペイロード)のみを保護します。オーバーヘッドが少ないです。 | 端末間(End-to-End)の通信 L2TP/IPSecなど |
| トンネルモード | 元のパケット全体を暗号化し、新しいIPヘッダを付加してカプセル化します。 | 拠点間(Gateway-to-Gateway)のVPN接続 異なるネットワーク間の接続 |
5. IPSecの動作フロー(IKEフェーズ)
IPSec通信を開始するためには、IKEによって安全な通信路を確立する手順が必要です。これは大きく2つのフェーズに分かれます。
- フェーズ1 (Main Mode / Aggressive Mode):
IPSec通信を行うための制御用通信路(ISAKMP SA)を確立します。お互いに認証し、この後の通信を暗号化するための共通鍵を生成します。 - IKEフェーズ1におけるネゴシエーションには、Main ModeとAggressive Modeの2種類があります。Main Modeは認証を行う際に相手の特定をIPアドレスにて行うことが前提となっています。一方、Aggressive Modeでは接続する相手の特定を、IPアドレスには依存せず、自身及び相手のIDにおいて行います。このため、企業が複数拠点を結んでVPNを構築するようなケースであれば、各拠点が固定IPアドレスを持つことができるためMain Modeが使われることが多くなります。その一方で、ポータブルなPC等を用いて公共のホットスポットやモバイルネットワークを経由して閉域ネットワークにアクセスするような場合は、IPアドレスを固定することが困難であるためAggressive Modeが利用されます。
- フェーズ2 (Quick Mode):
フェーズ1で作られた安全な通信路を使って、実際にユーザーデータを流すための通信路(IPSec SA)を確立します。どのパケットを暗号化するかなどの詳細を決定します。
6. 暗号化アルゴリズムと認証方式
IPSecの強度は、使用するアルゴリズムの組み合わせに依存します。
| カテゴリ | アルゴリズム | 推奨度・備考 |
|---|---|---|
| 暗号化 (機密性) |
AES (128/256bit) 3DES DES |
AES が現在の標準であり強く推奨されます。 DES/3DESは脆弱性のため非推奨。 |
| ハッシュ関数 (完全性・認証) |
SHA-2 (SHA-256/512) SHA-1 MD5 |
SHA-2 が推奨されます。 MD5/SHA-1は衝突攻撃のリスクがあり非推奨。 |
| 鍵交換 | Diffie-Hellman Group 14, 19, 20 etc. | ビット数が大きいグループほど安全だが、計算負荷も高い。現在はGroup 14以上が推奨。 |
7. セキュリティアソシエーション(SA)
SA(Security Association)は、IPSec通信を行う二者間で合意されたセキュリティパラメータのセット(契約のようなもの)です。
- SAは単方向です。双方向通信を行う場合、行きと帰りでそれぞれ1つずつ、計2つのSAが必要です。
- SAはSPI(Security Parameter Index)、宛先IPアドレス、プロトコル識別子の3つで一意に識別されます。
SAには寿命(ライフタイム)があり、一定時間または一定通信量ごとに再生成(Re-key)され、セキュリティを維持します。
8. 実装例とユースケース
8.1. 拠点間VPN (Site-to-Site VPN)
本社と支社のルーター同士をIPSecトンネルモードで接続します。ユーザーはVPNを意識することなく、透過的に相手側のLANへアクセスできます。
8.2. リモートアクセスVPN
外出先のPCやスマートフォンから、社内ネットワークへ安全に接続します。PCにインストールしたVPNクライアントソフトがIPSec(トランスポートモードをL2TPでカプセル化するなど)を開始します。
リモートアクセスVPNを実現するためには「Mode ConfigとXAUTH」の技術を実装する必要があります。
IKE Mode Configは、IPsec機器間で設定パラメータをセキュアに送受信するためのIPsecの拡張技術です。
例えば、VPNクライアントがVPNサーバの認証を完了した後、VPNサーバ側のLANでアクセスできるために、
VPNクライアントにIPアドレスを割り当てる際に使用する機能です。

8.3. クラウド接続
オンプレミスのデータセンターとAWSやAzureなどのパブリッククラウド(VPC/VNet)をIPSec VPNで接続し、ハイブリッドクラウド環境を構築します。
9. メリットとデメリット
メリット
- 高いセキュリティ: 強固な暗号化と認証により、公衆網でも専用線並みの安全性を確保。
- アプリケーションに依存しない: ネットワーク層で動作するため、HTTP、FTP、VoIPなど上位のあらゆるアプリケーションを透過的に保護可能。
- コスト削減: 高価な専用線の代わりに安価なインターネット回線を利用できる。
デメリット
- 設定の複雑さ: IKEのパラメータ、フェーズ設定、ACLなど設定項目が多く、トラブルシューティングが難しい。
- オーバーヘッド: カプセル化によるヘッダ付加でパケットサイズが増大し、フラグメンテーションやスループット低下の可能性がある。
- NATとの相性: 従来のIPSecはNATルーターを通過できない場合がある(NATトラバーサル機能で回避可能)。



