トンネルは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つ確立されます。
コメント