IKE

目次

IKE(Internet Key Exchange)

IPsecでは、セキュリティアソシエーション(SA)を生成する際にIKE(インターネット鍵交換)というプロトコルが使われます。IKEは、暗号化に使用する鍵と認証に使用する鍵の両方を安全に生成・交換・更新する仕組みを提供します。これにより、ユーザが手作業で鍵を設定しなくても、機器同士で自動的に安全な通信が始められるのです。

IKEは大きくフェーズ1フェーズ2に分かれています。

  • フェーズ1:お互いの機器が利用可能な暗号アルゴリズムや認証方式をやり取りし、最初の安全な通信路(ISAKMP SA)を確立する。
  • フェーズ2:フェーズ1で作られたISAKMP SAを利用し、実際のIPsec通信に使うパラメータを交換してIPsec SAを生成する。

試験では「IKEフェーズ1はISAKMP SAの確立、フェーズ2はIPsec SAの確立」という流れを問われやすいため、必ず整理して覚えておきましょう。

ISAKMPメッセージの仕組み

IKEの実装はISAKMP(Internet Security Association and Key Management Protocol)に基づいて行われます。ISAKMPメッセージはヘッダとペイロードから成り立ち、UDPの500番ポートを利用してやり取りされます。

ISAKMPメッセージが交換されることで、暗号方式や認証方式、鍵の生成に必要なパラメータなどが決定され、以降のIPsec通信(ESPやAHを利用した暗号化・認証)が開始されます。つまり、このメッセージがVPN通信の「最初の握手」にあたります。

ISAKMPヘッダの構成要素

ISAKMPメッセージの冒頭にあるヘッダには、通信の制御に必要な情報が入っています。主な項目をまとめると以下の通りです。

項目説明
Initiator Cookie通信開始側が生成する識別子
Responder Cookie通信応答側が生成する識別子
Next Payload次に続くペイロードのタイプを示す
MjVer / MnVerISAKMPのバージョン番号(通常1.0)
Exchange Typeモードの種類(Main=2、Aggressive=4、Quick=32など)
FlagsAビット、Cビット、Eビットを含む。暗号化済みならEビットが立つ
Message IDフェーズ2でメッセージを識別する番号
Lengthメッセージ全体の長さ

試験では「Exchange Typeの値がどのモードに対応しているか」「Eビットが暗号化を意味する」といった点が出題されやすい部分です。

ISAKMPペイロードの種類

ISAKMPメッセージの本体部分はペイロードと呼ばれ、やり取りする内容に応じて種類が変わります。例えば、フェーズ1のMainモードでは、SA、Proposal、Transform、Key Exchangeなど複数のペイロードが組み合わさって送信されます。

代表的なペイロードタイプは次の通りです。

タイプ名内容
1SAセキュリティアソシエーション情報
2Proposal提案される暗号アルゴリズム
3Transform提案されたアルゴリズムの詳細
4KE鍵交換に必要な値(Diffie-Hellmanなど)
5ID通信相手の識別情報
6CERT証明書
7CR証明書リクエスト
8HASH認証用のハッシュ値
9SIG電子署名
10NONCE一度きりの乱数値(リプレイ攻撃防止)
11N通知メッセージ
12DSA削除メッセージ
13VIDベンダー固有情報
20NAT-DNAT環境の検出用
21NAT-OANAT前のアドレス情報

ここで重要なのは、「SAやProposal、Transformによって利用する暗号方式が決定される」「KEやNONCEが安全な鍵交換を支えている」という点です。

IKEは「安全な通信の準備段階」を担当するプロトコルであり、その後にESPやAHによる実際の暗号通信が行われます。試験では「IKEはフェーズ1とフェーズ2に分かれること」「ISAKMPがベースになっていること」「UDP 500番を使うこと」が特に狙われるので注意しましょう。

IKE フェーズ1

IKEフェーズ1では、相手の機器と安全に通信できるようにするためのISAKMP SAを作成します。この段階で、暗号方式や認証方式といった基本的なパラメータが決定されます。

フェーズ1で決定される主なパラメータ

  • 暗号化アルゴリズム:ISAKMPメッセージの暗号化方式(DES / 3DES / AES)
  • ハッシュアルゴリズム:認証や鍵計算に利用する方式(MD5 / SHA-1)
  • ライフタイム:ISAKMP SAの有効時間(単位:秒など)
  • 認証方式:相手機器の正当性を確認するための認証方法(後述)
  • DHグループ:Diffie-Hellman鍵交換のパラメータ(グループ1 / 2 / 5)

Diffie-Hellman(DH)でやり取りされる値自体は暗号化されていませんが、アルゴリズムの特性によって安全に共通鍵を生成できる仕組みになっています。

フェーズ1のモード

フェーズ1には2つのモードがあります。

  • Mainモード
    • 6回のメッセージ交換でISAKMP SAを確立する
    • ①② SAパラメータのネゴシエーション
    • ③④ 鍵交換のパラメータ交換と計算
    • ⑤⑥ 通信相手の認証
    • 時間はかかるが、セキュリティ的に強固
  • Aggressiveモード
    • 3回のメッセージ交換で完了
    • Mainモードより速いが、やり取りできる情報が少ないため柔軟性に欠ける
    • 一部の制限を緩和する場面で利用される

試験では「Mainモードは6回、Aggressiveモードは3回のやり取り」という点が問われやすいので注意しましょう。

フェーズ1の認証方式

IKEフェーズ1では相手の正当性を確認するため、次の認証方式が利用されます。

  • Pre-Shared Key(事前共有鍵)
    あらかじめ同じ文字列(パスフレーズ)を両方の機器に設定しておく方式。最もシンプルで広く使われる。
  • デジタル署名(RSA署名)
    秘密鍵で生成した署名と公開鍵での検証により改ざんやなりすましを防ぐ。現在主流の方式。
  • 公開鍵暗号
    相手の公開鍵で暗号化し、受信側が秘密鍵で復号する方式。認証に利用可能。
  • 改良型公開鍵暗号
    計算量を減らして効率化した方式。公開鍵暗号の発展型。

ここは「事前共有鍵が最もシンプルで一般的」という点が出題されやすいです。

IKE フェーズ2

IKEフェーズ2では、実際にIPsecで使うためのIPsec SAを作成します。この段階では、暗号化や認証に関する具体的なパラメータが決定されます。

フェーズ2で決定される主なパラメータ

  • セキュリティプロトコル:AH または ESP
  • 暗号化アルゴリズム:DES / 3DES / AES
  • 認証アルゴリズム:HMAC-MD5 / HMAC-SHA1
  • ライフタイム:IPsec SAの有効時間
  • カプセル化モード:トンネルモード または トランスポートモード
  • DHグループ(任意)
    • フェーズ2では必須ではない
    • 追加でDiffie-Hellmanを行い、より強固なセキュリティを確保する場合に利用
    • この仕組みをPFS(Perfect Forward Secrecy)と呼ぶ

フェーズ2のモード

フェーズ2ではQuickモードのみが使用されます。

  • 計3回のメッセージ交換で完了
  • フェーズ1で作成したISAKMP SAの上でやり取りされるため、すでに暗号化されている状態で通信が進む

試験では「フェーズ1はMainモードまたはAggressiveモード、フェーズ2はQuickモードのみ」という点が定番の出題ポイントです。

◆まとめスライド

目次