IPsec
ネットワーク層(IP)で、通信内容の秘匿や改ざんの検出、送信元の認証などを行うプロトコル群。内容の秘匿にも対応するESP、内容を隠さず認証を行うAH、鍵交換や使用する方式の合意を行うIKEなどからなる。拠点間を結ぶVPNでよく使われる。
イマシルちゃんの解説
本社と支社で社内データをやり取りするとき、インターネットをそのまま通すだけでは盗み見や書き換えが心配だね。
IPsecは、IPの通信を保護するためのプロトコル群だよ。
通信する機器どうしで鍵や使う方式を決め、設定に応じて内容の暗号化や改ざんの確認を行うんだ。
拠点間VPNでは、それぞれの拠点の装置が社内の通信を包み、装置間の区間を保護して届けるよ。
IPの段階で扱うから、Webやメールなどのアプリごとに保護の機能を組み込まなくても利用できるの。
保護対象に設定した通信をまとめて守れるのが便利なんだよ。
この解説はわかりやすかったですか?
より深い解説
定義
IPsec(IP Security)は、RFC 4301などで定められた、IP層でパケットの機密性、完全性、送信元の認証、リプレイ攻撃の防止などを実現するためのプロトコル群である。IP層で動作するため、上位のアプリケーションは、IPsecを意識せずに保護を受けられる。
OSI基本参照モデルではネットワーク層(第3層)に相当する。拠点間VPNでは、対向VPN装置のIPアドレス、保護する両拠点のサブネット、暗号方式や認証条件などを設定する。事前共有鍵方式なら、両端に同じ事前共有鍵を登録する。通信相手の装置のアドレスと、その装置の先で保護する内部ネットワークのアドレスは別の設定項目である。
構成するプロトコル
| プロトコル | 役割 | IPのプロトコル番号 / ポート |
|---|---|---|
| ESP(Encapsulating Security Payload) | 暗号化と認証(完全性) | プロトコル番号50 |
| AH(Authentication Header) | 認証(完全性)だけ。暗号化はしない | プロトコル番号51 |
| IKE(Internet Key Exchange) | 暗号化のアルゴリズムの合意と、鍵の交換 | UDPの500番(NAT越えでは4500番) |
SA(セキュリティアソシエーション)
IPsecで通信する2つの機器の間で、どの暗号アルゴリズムと鍵を使うかなどの取り決めを、SA(Security Association)という。SAは片方向ごとに作られるため、双方向の通信には、少なくとも2つのSAが必要になる。SAは、SPI(Security Parameter Index)という番号で識別され、ESPやAHのヘッダーに含まれる。
SAの取り決めや鍵の交換は、IKEが自動で行う。ESPやAHのヘッダーそのものが、アルゴリズムを交渉することはない。
2つのモード
| モード | 保護する範囲 | 主な用途 |
|---|---|---|
| トランスポートモード | 元のIPパケットのデータ部だけ(元のIPヘッダーはそのまま) | ホスト同士の通信 |
| トンネルモード | 元のIPパケットの全体を、新しいIPヘッダーでカプセル化する | VPN装置同士(拠点間VPN) |
ESPのトンネルモードでは、元のIPヘッダーも暗号化されるため、拠点の内部で使っているIPアドレスを、インターネット上から隠すことができる。
使われる主なアルゴリズム
| 目的 | 主なアルゴリズム |
|---|---|
| 暗号化 | AES(CBC、GCM)、3DES(現在は非推奨) |
| 認証(完全性) | HMAC-SHA-256、HMAC-SHA1 |
| 鍵交換 | Diffie-Hellman |
HMAC-SHA1などのHMACは、改ざんを検出するためのメッセージ認証のアルゴリズムであり、暗号化のアルゴリズムではない。AES-GCMのように、暗号化と認証を同時に行う方式(認証付き暗号)もある。
IPsecとNAT
AHは、IPヘッダーも含めて完全性を保証するため、途中のNATでIPアドレスが書き換えられると、認証に失敗する。ESPもTCPやUDPのポート番号を持たず、通常のNAPTで複数端末の通信を区別する際に問題が生じる。ESPのパケットをUDPの4500番でカプセル化するNATトラバーサル(NAT-T)により、UDPのポート番号で通信を扱えるようにする。ESPがすべてのNAT機器を必ず通過できない、という意味ではない。
TLSとの比較
| IPsec | TLS | |
|---|---|---|
| 動作する層 | ネットワーク層 | トランスポート層とアプリケーション層の間 |
| 保護の対象 | IPパケット(すべてのアプリケーション) | TLSに対応したアプリケーションの通信 |
| 主な用途 | 拠点間VPN、リモートアクセスVPN | HTTPS、SSL-VPN |
参考資料
実際の試験ではここに出る!全24問
ネットワークスペシャリスト
- 午後Ⅰ
- 午後Ⅱ
- 午前Ⅱ
テクニカルエンジニア(ネットワーク)
- 午前