IPsecとは - IP層で動作するセキュリティプロトコル群
HTTPSのようなセキュリティ技術がアプリケーション(ブラウザ)レベルで動作するのに対し、IPsec(IP Security)はさらに下の層であるIP層で動作します。そのため、どのアプリケーションのトラフィックであってもIPパケットとして送出される瞬間に自動的に暗号化・認証でき、企業のサイト間VPNやリモートアクセスVPNの中核技術として広く使われています。
ESP(暗号化ペイロード) - 暗号化まで含み、実務で主に使用
ESP(Encapsulating Security Payload)はデータの内容を暗号化して盗聴を防ぎ、同時に完全性の検証機能も提供します。暗号化と認証の両方を提供しながら、ファイアウォールやNAT環境との互換性の面でも(AHはヘッダー全体を署名対象に含むためNATを通過すると検証が壊れやすいのに対し、ESPはこの問題に比較的柔軟です)より実用的と評価されており、今日ではほとんどのIPsec実装がESPを標準として使用しています。
トランスポートモード - 元のIPヘッダーはそのまま、データのみ保護
トランスポートモードでは元のIPヘッダーはそのままにして、その中の実際のデータ(ペイロード)部分のみを暗号化・認証します。トランスポートモード(Transport Mode)は主に2台のコンピューターが直接通信する際に使われ、元のパケットの送信元・宛先IPアドレスはそのまま露出したまま、中のデータ内容だけを保護します。オーバーヘッドが比較的少ないという利点がありますが、通信する2台の実際のIPアドレスがそのまま露出するという特徴があります。
トンネルモード - パケット全体を新しいIPヘッダーで包む方式
トンネルモードは元のパケット全体(ヘッダーを含む)を暗号化した上で、新しいIPヘッダーを被せてゲートウェイ間の新しい経路で転送します。トンネルモード(Tunnel Mode)は元のIPヘッダーまで含めたパケット全体を暗号化し、その外側に2つのVPNゲートウェイ(例:支社と本社のルーター)のIPアドレスを持つ新しいヘッダーを被せます。その結果、内部ネットワークの実際のIPアドレス帯は外部に露出せず、あたかも2地点間に安全なトンネルが通ったかのように動作します。企業のサイト間VPNで最もよく使われる方式です。
IKE - 両者が安全に暗号鍵を協議する手順
IKE(Internet Key Exchange)はIPsec通信を始める前に、両者がどの暗号化方式を使うか、どの鍵を使うかを安全に協議する手順です。IPsecで暗号化通信を行うには両者が同じ暗号鍵を共有する必要があり、この鍵を安全に生成・交換する手順がIKEです。IKEはディフィー・ヘルマン鍵交換のような技術で、盗聴者がいても安全に共通の鍵を作り出し、その後この鍵を使って実際のIPsec(AH・ESP)通信に必要なセキュリティアソシエーション(SA)を確立します。今日では改良版のIKEv2が広く使われています。
実際の活用 - サイト間VPNとL2TP/IPsec
企業環境では、支社と本社のネットワークを常時安全に接続するサイト間VPNにIPsec(主にIKEv2との組み合わせ)が広く使われています。個人向けVPNサービスやリモートアクセスVPNでは、それ自体には暗号化機能を持たないL2TPトンネリングプロトコルとIPsecを組み合わせたL2TP/IPsec方式がよく使われ、この場合IPsecが実際の暗号化と認証を担当し、L2TPがトンネル自体の構築を担当するという役割分担になっています。