【IPSec】IKE (メインモード)

 トンネルはIKE(インターネットキーエクスチェンジ)を介して動的にネゴシエートされます。 IKE は ISAKMP と呼ばれるプロトコルを使用して、2 つのピア間で IPSec パラメータをネゴシエートします。ISAKMPはUDPポート500番で通信します。IKEには2つのフェーズがあります。(フェーズ1とフェーズ2)

スポンサーリンク

IKEフェーズ1

 IKEフェーズ1では、ルータ間で使用する暗号化、認証、ハッシュ関数などのパラメータを交渉し、IKEフェーズ2で使用する暗号鍵を生成します。 大きく分けて3つのステップがあります。

3つのステップ

パラメータ交渉

 IPトラフィックを保護するための以下のパラメータをルータ間で交渉(ネゴシエーション)します。

 ・暗号化アルゴリズム
   どのアルゴリズムを使用するのかルータ間で合わせます。DES, 3DES, AESなどが使用されます。
 ・ハッシュアルゴリズム
   データ改ざん検知のためのハッシュアルゴリズムをルータ間で合わせます。SHAなどが使用されます。
 ・Diffie-Hellman グループ
   各ルータ間で鍵交換プロセスで使用する鍵の強度を示す。グループ番号が大きいほど鍵の強度は強い。
 ・認証方法の種類
   各ルータ間で自分が誰であるかを証明します。事前共有キーやデジタル証明書が使用されます。
 ・ライフタイム(寿命)
   IKEフェーズ1トンネルをどれくらいの時間維持するのか。Ciscoでは、デフォルトは 24 時間です。

Diffie-Hellman 鍵交換

 Diffie-Hellman鍵交換を開始します。前ステップで交渉したDiffie-Hellmanグループに基づいて行われます。

認証

 ステップ2で共有された暗号鍵を使用して、ID(ルータのIPアドレスなど)やハッシュなどを使用し、各ルータ間を認証します。 上記の3つのステップは、以下の2つモードのいずれかを使用して、実現します。

・メインモード
・アグレッシブモード

 今回はメインモードについてまとめます。

メインモード

 ルータ間で6つのメッセージがやり取りされます。アグレッシブモードよりも安全だと考えられています。 奇数番目のメッセージは発信者(イニシエータ)から、偶数番目のメッセージは相手(レスポンダー)からの返信です。

メッセージ 1つ目

 イニシエータがレスポンダに送信する最初のメッセージです。 暗号化アルゴリズム、ハッシュアルゴリズム、認証方法の種類、Diffie-Hellman グループが提案(プロポーサル)されます。 これらのパラメータはISAKMP SA(Security Association)を確立するために必要で、このパラメータ群にはSPI(セキュリティ パラメーター インデックス)という値が割り当てられます。 SAのライフタイム(寿命)もこのメッセージに含まれています。デフォルトは 24 時間です。

メッセージ 2つ目

 イニシエータから提案されたパラメータに対して、レスポンダが選択したパラメータとそのパラメータ群のSPIを返信します。

メッセージ 3つ目

 イニシエータはDiffie-Hellman鍵交換を開始し、前のステップで交渉済みのDiffie-Hellmanグループに基づいてナンス(使い捨てのランダムな値)を送信します。

メッセージ 4つ目

 レスポンダがイニシエータへ応答するため、ナンス(使い捨てのランダムな値)を送信します。

メッセージ 5つ目

 イニシエータは共有された暗号鍵を使って、自身の認証情報(ルータのIPアドレスなど)を暗号化して送信します。

メッセージ 6つ目

 レスポンダは同様のパケットを送り返し、 ISAKMP SA チャネルを確立します。 ISAKMP SAはルータ間で1つだけ確立されます。

スポンサーリンク

IKEフェーズ2

 このフェーズでは、すでに確立されている ISAKMP SA によるルータ間のトンネルにより、実際のユーザデータを保護するための暗号鍵を共有し IPSec SAを確立します。 IKEフェーズ2トンネルを構築するモードをクイックモードと呼びます。 このフェーズのやり取りのデータ部分は暗号化されています。

クイックモード

メッセージ 1つ目

 以下のIPSec SAに必要なパラメータを送信します。
 ・IPSecプロトコル(ESPなど)
 ・暗号化モード(トンネル、トランスポート)
 ・暗号化アルゴリズム(3DESやAESなど)
 ・認証(MD5やSHA1など)
 ・ライフタイム(秒)
 ・Proxy-ID(どのトラフィックを暗号化すべきか(LocalとRemoteの2つのID)

 IPsecSAのライフタイムはCIscoのデフォルトでは1時間です。

メッセージ 2つ目

 レスポンダからイニシエータへの応答であり、レスポンダが選択したパラメータとプロキシIDを送ります。 プロキシ IDはメッセージ1つ目に 送られたきたプロキシ ID のLocalとRemoteが逆になります。

メッセージ 3つ目

 イニシエータからレスポンダへの応答し、IPSecSAが確立します。IPSecSAはで双方向で必要なため、2台のルータ間に対して、合計2つ確立されます。

コメント