IPSec

IPsecまとめ資料

IPsecとは

IPsec(Internet Protocol Security)は、IPパケット単位での暗号化・認証・改ざん検出を提供するネットワーク層のプロトコル。IPv6では拡張ヘッダーに組み込まれているため、IPsecを利用しやすい。

IPsecの特徴

  • ネットワーク層に属し、TCPやUDPなど任意のトランスポート層プロトコルに対応可能。
  • IPに限定された通信で使用され、ホストと端末間など上位層のプロトコル通信には使用不可。

IPsecの通信フロー

  1. 仮想的な通信路(SA:Security Association)を作成。
  2. 2種類のSAを使用:
    • IKE SA(ISAKMP SA):暗号鍵などのやり取りを行う
    • IPsec SA:実際の通信データを保護

通信のイメージ

sequenceDiagram
    participant イニシエータ
    participant レスポンダ

    イニシエータ->>レスポンダ: ISAKMP SAn(パラメータ交換、共通鍵生成、認証)
    イニシエータ->>レスポンダ: IPsec SA(クライアント→サーバ)
    レスポンダ->>イニシエータ: IPsec SA(サーバ→クライアント)

IKE(鍵交換)

共通鍵を安全に交換するためのプロトコルで、2フェーズ構成:

  1. フェーズ1:ISAKMP SAを構築
  2. フェーズ2:IPsec SAを生成

IKEのモード

  • メインモード

    • 基本であり、実装必須
    • IPアドレスが固定である必要あり
    • ルーター間の通信に使用
  • アグレッシブモード

    • 手順が簡略化され、IPアドレスが固定でなくても通信可能
    • モバイルPCなどとの通信に使用
flowchart TD
    A[ルータ] -->|インターネット経由| B[ルータ]
    B --> C[PC]
    A --> D[PC]
  • IKEフェーズ1の内容
    1. パラメータ交換:暗号・認証アルゴリズム
    2. 共通鍵生成:Diffie-Hellman法
    3. 認証:事前共有鍵、デジタル署名、公的鍵暗号など

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.