インフラ用語集へ戻る

セキュリティ・認証 / VPN/暗号化

IKEv2とは

Internet Key Exchange version 2。IPsec VPNで暗号条件と鍵素材を合意し、接続相手を認証してSecurity Associationを作る鍵交換プロトコルです。

用語集内のカードを見る

この記事で学べること

IKEv2を、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。

  1. IKEv2が担う範囲
  2. IKE_SA_INITを確認する
  3. IKE_AUTHで相手を認証する
  4. NAT-TとCHILD SAを見る
  5. 変更後の完了条件

Packet Story Lab

IKEv2をシナリオで確認

正常系と障害系の通信フローを見比べ、用語がどの観測点に現れるかを確認できます。

学習対象: IKE_SA_INIT、IKE_AUTH、CHILD SAとESP通信正常なIKEv2/IPsec VPN接続結果: IKE SA / CHILD SA ACTIVEシナリオを開く 学習対象: IKE_SA_INIT成功後のIKE_AUTH認証失敗IPsec PSK不一致結果: AUTHENTICATION_FAILEDシナリオを開く

IKEv2が担う範囲

IKEv2はInternet Key Exchange version 2の略で、IPsec VPNを開始する前に暗号条件、鍵素材、接続相手のIdentityを合意するプロトコルです。IKEv2自体が業務データを運ぶのではなく、保護されたIPsec通信に必要なIKE SAとCHILD SAを段階的に作ります。

調査では、下位のIP到達性とUDP 500または4500、IKE_SA_INIT、IKE_AUTH、CHILD SA作成、ESP通信を分けます。VPNがDownという表示だけでは、どの段階で停止したか判断できません。

IKE_SA_INITを確認する

IKE_SA_INITでは双方が暗号アルゴリズム、PRF、DH group、nonceなどを交換します。この段階でNO_PROPOSAL_CHOSENになる場合は、PSKより先にproposalの共通部分を確認します。

  • 両端のEncryption、Integrity、PRF、DH groupを比較する。
  • 送受信したMessage IDとNotifyを残す。
  • nonceや鍵素材そのものはログへ保存しない。

IKE_AUTHで相手を認証する

IKE_AUTHでは、IKE_SA_INITで作った保護チャネル上でpeer IDとAUTH payloadを検証します。PSK、証明書、EAPなど認証方式に応じて確認点が変わります。PSK不一致ではAUTHENTICATION_FAILEDとなり、暗号proposalが一致していてもCHILD SAへ進めません。

  • peer IDと参照したkeyringや証明書を確認する。
  • 秘密値を画面、ログ、チケットへ出さない。
  • 時刻、証明書chain、失効確認も方式に応じて見る。

NAT-TとCHILD SAを見る

NATを検出するとIKEv2は通常UDP 4500へ移り、ESPをUDPでカプセル化します。認証後はTraffic Selectorを基にCHILD SAを作り、実際の保護対象通信を決めます。IKE SAがREADYでも、Selectorやrouteが不一致なら業務通信は通りません。

  • UDP 500から4500への遷移を確認する。
  • LocalとRemoteのTraffic Selectorを比較する。
  • encaps、decaps、replay、drop counterを確認する。

変更後の完了条件

設定修正後はIKE SAの確立だけで終えず、CHILD SA、ESP packet counter、対象Subnet間の往復通信、再鍵交換まで確認します。片方向だけcounterが増える場合は、戻りroute、NAT、Firewall、Selectorを追います。

証跡にはpeer、proposal、認証方式、SA状態、Selector、確認時刻を残し、PSK、秘密鍵、nonce、session keyは残しません。

  • 正常系と同じ段階で再試験する。
  • 一時的な弱いproposalを残さない。
  • 再鍵交換後も通信が継続することを確認する。

関連語

同じ主要カテゴリの用語

セキュリティ・認証の学習順

同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。

InfraEngKit内の関連機能