IKE

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

IPsecで使う暗号アルゴリズムの合意と、鍵の交換を自動で行うプロトコル。UDPの500番ポートを使う。

イマシルちゃんの解説

IPsecで暗号化して通信するには、お互いに「どの暗号を使うか」「どの鍵を使うか」を決めておかないといけないんだ。

でも、インターネット越しに鍵をそのまま送ったら、盗まれちゃうよね。
IKEは、盗み聞きされても大丈夫な方法で、安全に鍵を作り合って、使う暗号の種類も相談して決めてくれる、
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往復)で、IPsecの通信を始められる。

IKEv1との違い

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

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

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

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

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

この用語が出てくる記事

↑