IPSec
⸻
IPsecまとめ資料
IPsecとは
IPsec(Internet Protocol Security)は、IPパケット単位での暗号化・認証・改ざん検出を提供するネットワーク層のプロトコル。IPv6では拡張ヘッダーに組み込まれているため、IPsecを利用しやすい。
⸻
IPsecの特徴
- ネットワーク層に属し、TCPやUDPなど任意のトランスポート層プロトコルに対応可能。
- IPに限定された通信で使用され、ホストと端末間など上位層のプロトコル通信には使用不可。
⸻
IPsecの通信フロー
- 仮想的な通信路(SA:Security Association)を作成。
- 2種類のSAを使用:
- IKE SA(ISAKMP SA):暗号鍵などのやり取りを行う
- IPsec SA:実際の通信データを保護
通信のイメージ
sequenceDiagram participant イニシエータ participant レスポンダ イニシエータ->>レスポンダ: ISAKMP SAn(パラメータ交換、共通鍵生成、認証) イニシエータ->>レスポンダ: IPsec SA(クライアント→サーバ) レスポンダ->>イニシエータ: IPsec SA(サーバ→クライアント)
⸻
IKE(鍵交換)
共通鍵を安全に交換するためのプロトコルで、2フェーズ構成:
- フェーズ1:ISAKMP SAを構築
- フェーズ2:IPsec SAを生成
IKEのモード
-
メインモード
- 基本であり、実装必須
- IPアドレスが固定である必要あり
- ルーター間の通信に使用
-
アグレッシブモード
- 手順が簡略化され、IPアドレスが固定でなくても通信可能
- モバイルPCなどとの通信に使用
flowchart TD A[ルータ] -->|インターネット経由| B[ルータ] B --> C[PC] A --> D[PC]
- IKEフェーズ1の内容
- パラメータ交換:暗号・認証アルゴリズム
- 共通鍵生成:Diffie-Hellman法
- 認証:事前共有鍵、デジタル署名、公的鍵暗号など
⸻
IPsecの通信モード
- トランスポートモード
- 元のIPヘッダーはそのまま
- IPヘッダーとペイロードの間にESPやAHが入る
- エンドツーエンド通信に適する
flowchart LR A[IPヘッダー] --> B[AHまたはESP] --> C[IPペイロード]
- トンネルモード
- 新しいIPヘッダーが追加される
- ゲートウェイ間通信やVPNに多用
flowchart LR A[新IPヘッダー] --> B[AHまたはESP] --> C[元のIPヘッダー] --> D[IPペイロード]
⸻
セキュリティプロトコル
- ESP(Encapsulated Security Payload)
- 暗号化+認証をサポート
- AH(Authentication Header)
- 認証のみ、暗号化はしない
flowchart LR A[新IPヘッダー] --> B[ESPヘッダー] --> C[元IPヘッダー] --> D[IPペイロード] --> E[ESP Trailer] --> F[ESP認証データ]
⸻
IPsecとNAT
- IPアドレスが認証範囲に含まれるため、NATにより通信エラーが起こることがある
- 対策としてNATトラバーサルが必要
⸻
覚えておこう!
- IKE SA → パラメータ交換、共通鍵生成、認証を行う
- ESP → 暗号化と認証が可能
- AH → 認証のみ
- トンネルモード → 新IPヘッダーが付加され、VPNなどに利用される
Written with StackEdit.