IPsecの全体像
IPsec は、IP パケットに暗号化・完全性確認・送信元認証などの保護を加えるためのプロトコル群。
IPsec は VPN そのものではない。IP レベルの通信を保護する仕組みであり、その代表的な用途として拠点間 VPN やリモートアクセス VPN がある。
TLS や SSH が主にアプリケーション単位の通信を守るのに対して、IPsec は IP パケットを対象にする。そのため、アプリケーション側が IPsec を意識していなくても、ネットワーク側の設定で通信を保護できる。
IPsecが提供するもの
Section titled “IPsecが提供するもの”IPsec は主に次の機能を提供する。
| 機能 | 内容 |
|---|---|
| 暗号化 | パケットの中身を第三者から読めないようにする |
| 完全性確認 | 通信内容が途中で改ざんされていないことを確認する |
| 送信元認証 | その SA の鍵を持つ正しい相手から来たパケットか確認する |
| リプレイ防止 | 過去に送られた正しいパケットの再送攻撃を検出する |
IPsec の認証は、文脈によって意味が変わる。
| 種類 | 役割 |
|---|---|
| IKE の相手認証 | 通信開始前に、接続相手が想定した相手か確認する |
| ESP / AH の認証 | 各パケットが改ざんされておらず、正しい SA に基づくものか確認する |
主な構成要素
Section titled “主な構成要素”| 要素 | 役割 |
|---|---|
| ESP | 暗号化、完全性確認、送信元認証、リプレイ防止を行う |
| AH | 暗号化せず、完全性確認と送信元認証を行う |
| IKE | 相手認証、鍵交換、暗号方式の合意、SA の作成を行う |
| SA | 通信をどう保護するかを表す取り決め |
現在の IPsec では、暗号化もできる ESP がよく使われる。AH は暗号化を行わず、IP ヘッダの一部も保護対象にするため、NAT と相性が悪い。
TLSやSSHとの違い
Section titled “TLSやSSHとの違い”| 項目 | IPsec | TLS / SSH |
|---|---|---|
| 主な対象 | IP パケット | アプリケーションの通信 |
| 動く層 | ネットワーク層寄り | トランスポート層より上 |
| アプリ側の対応 | 基本的に不要 | アプリケーション側が対応する |
| 代表例 | 拠点間 VPN、リモートアクセス VPN | HTTPS、SSHログイン |
HTTPS が普及していても、IPsec が不要になるわけではない。HTTPS は Web アプリケーションの通信を保護する。IPsec は、アプリケーションを問わず、特定のネットワーク間やホスト間の IP 通信をまとめて保護する。
よくある誤解
Section titled “よくある誤解”| 誤解 | 実際 |
|---|---|
| IPsec は VPN そのものである | IP 通信を保護する仕組みであり、VPN は代表的な用途 |
| IPsec はトランスポート層で動く | IP パケットを扱うため、ネットワーク層寄りの仕組み |
| ESP は暗号化だけをする | 暗号化に加えて、完全性確認、送信元認証、リプレイ防止もできる |
| AH は ESP の古い版である | AH は暗号化しない認証用の仕組みであり、役割が違う |
| SA は仮想的な通信経路である | SA は通信をどう保護するかを表す取り決め |