IKE

読み:あいく / 英語表記:Internet Key Exchange

IPsecで通信する機器同士が相手を認証し、使う暗号方式の合意や鍵の共有・更新を自動で行うプロトコル。通常はUDPの500番ポートを使う。

イマシルちゃんの解説

IPsecは、IPパケットを暗号化などで保護する技術なんだ。
その準備として、通信する機器同士が使う暗号や鍵をそろえる必要があるよ。
この相談と相手の認証を自動で進めるプロトコルがIKEだよ。
例えばDiffie-Hellman鍵交換という方法で、使う鍵そのものを送らずに共通の鍵を作るんだ。
相手が本物かも確認するので、鍵を作っただけで見知らぬ相手を信用してしまうのを防げるよ。
こうして合意した条件を使い、IPsecで通信を保護できるようにするんだ。

より深い解説

定義

IKE(Internet Key Exchange)は、IPsecで通信する機器同士が、相手の認証を行い、使用する暗号化や認証のアルゴリズムを合意し、鍵を安全に共有して、SA(セキュリティアソシエーション)を確立するためのプロトコルである。現在は、RFC 7296で定められたIKEv2が主に使われている。

使うポート番号

通信ポート番号
IKEUDP 500
NATトラバーサル(NAT-T)を使う場合UDP 4500

途中にNATがあることを検知すると、UDPの4500番に切り替え、ESPのパケットもUDP 4500番でカプセル化して運ぶ。TCPの80番(HTTP)などは使わない。

IKEで行うこと

処理内容
アルゴリズムの合意暗号化(AESなど)、完全性(HMAC-SHA-256など)、DHグループなどを提案し合い、決める
鍵の共有Diffie-Hellman鍵交換で、盗聴されても第三者には分からない共通の鍵を作る
相手の認証事前共有鍵(PSK)、デジタル証明書、EAPなどで、相手が本物かを確認する
SAの確立と更新IPsecのSAを作り、一定時間ごとに鍵を作り直す(リキー)

IKEv2の流れ

交換メッセージ内容
IKE_SA_INIT2つ(1往復)アルゴリズムの合意、DH鍵交換。IKE自身を保護するIKE SAを作る
IKE_AUTH2つ(1往復)IKE SAで保護しながら、互いを認証し、最初のIPsec SA(Child SA)を作る
CREATE_CHILD_SA必要に応じて追加のIPsec SAの作成や、鍵の更新

通常は4つのメッセージ、すなわち2往復でIKE SAと最初のChild SAの組を確立する。EAP認証の継続、再送、追加の要求などがあれば、実際の交換数は増える。

IKE SAは、鍵の合意や認証などを行うIKE自身の通信を守る。一方、Child SAはESPやAHで運ぶ利用者のIPパケットを守るためのSAである。IKE SAは双方向に使うが、IPsecのSAは片方向なので、通常のChild SAの確立では送信・受信の組を作る。作成したIPsec SAの鍵やSPIなどはSADで管理する。

IKE_SA_INITでは、暗号方式、鍵の導出に使うPRF、完全性保護の方式、DHグループなどを合意し、DHの公開値と乱数を交換する。AEADを選んだときは独立した完全性アルゴリズムを使わない。続くIKE_AUTHで、その鍵で保護したメッセージにより相手を認証し、保護対象の通信を表すトラフィックセレクタと最初のChild SAを合意する。

IKEv1との違い

IKEv1IKEv2
手順フェーズ1(メインモード / アグレッシブモード)とフェーズ2(クイックモード)IKE_SA_INIT と IKE_AUTH
メッセージの数多い(メインモードで6+クイックモードで3)少ない(最小4)
NAT越え拡張で対応標準で対応
リモートアクセス拡張(XAUTHなど)が必要EAPによる認証を標準で使える

IKEv1は2023年のRFC 9395で非推奨となり、関連仕様は歴史的文書へ移された。以下の区分は既存構成や古い設定を読み解くためのものであり、新規構成でIKEv1を選ぶための推奨ではない。

IKEv1の二つのフェーズ

フェーズ1は、相手を認証して、その後の交渉を保護するISAKMP SA(IKE SA)を確立する。メインモードは6メッセージ、3往復で進む。アグレッシブモードは3メッセージ、1.5往復で処理をまとめるが、交渉や識別情報の保護に制約がある。両者はフェーズ1の選択肢であり、連続して両方を実行する手順ではない。

ISAKMPはSAを確立・交渉・管理するメッセージ形式などの枠組みであり、IKEそのものの別名ではない。IKEv1はこの枠組みを使い、DH鍵交換や認証の具体的な手順を組み合わせる。IKEv2は別のプロトコル仕様である。

フェーズ1でそろえる項目意味
暗号化方式IKEのメッセージをどう暗号化するか
ハッシュ方式IKEの認証値・鍵導出などに使う方式
ライフタイムSAをどの期間などで更新するか
認証方式事前共有鍵やデジタル署名で相手をどう確かめるか
鍵交換方式DHグループなど、鍵材料を共有する条件

事前に両端へ同じ秘密を登録して相手を認証する方式を事前共有鍵方式という。これは認証に使う長期の秘密であり、毎回のIPsec通信の暗号鍵をそのまま固定するという意味ではない。鍵材料の交換や導出を経て通信用の鍵を作る。認証に使う秘密が異なると、相手の正当性を確認できない。

フェーズ2では、フェーズ1で作った保護された通信路を使い、クイックモードでIPsec SAを交渉する。

フェーズ2でそろえる項目意味
セキュリティプロトコルESPまたはAHなど、パケットを保護する仕組み
暗号化方式ESPで内容を隠すアルゴリズム
認証方式パケットの改ざんを検出する方式。相手の本人確認とは文脈が異なる
ライフタイムIPsec SAの更新までの時間や通信量など
通信モードトンネルモードまたはトランスポートモード

二つのフェーズでは、守る対象がIKEの交渉とIPsecのデータ通信に分かれるため、暗号方式や有効期間も別々に設定される。IKEv2にこの二段階の呼び名やメイン/アグレッシブモードをそのまま当てはめない。

IPsecの各プロトコルとの関係

プロトコル役割
IKE準備(合意、鍵交換、認証)を行う
ESP準備した鍵で、パケットを暗号化・認証する
AH準備した鍵で、パケットを認証する

ESPやAHは、IKEが確立したSAの内容に従ってパケットを処理するだけで、自分でアルゴリズムを交渉することはない。

参考資料

実際の試験ではここに出る!全8問

ネットワークスペシャリスト

午後Ⅱ
午前Ⅱ
午後Ⅰ

この用語が出てくる記事

↑