1. Introduction (はじめに)
1. Introduction (はじめに)
IP Security (IPsec) は, IP データグラムに対して機密性, データ完全性, アクセス制御, データソース認証を提供する. これらのサービスは, IP データグラムのソースとシンクの間で共有状態を維持することによって提供される. この状態は, 他にも, データグラムに提供される具体的なサービス, サービス提供に用いる暗号アルゴリズム, 暗号アルゴリズムへの入力として用いる鍵などを定義する.
この共有状態を手作業で確立するのはスケールしない. したがって, この状態を動的に確立するプロトコルが必要である. 本ドキュメントはそのようなプロトコル, すなわち Internet Key Exchange (IKE) を記述する. IKE のバージョン 1 は RFC 2407 [DOI], 2408 [ISAKMP], 2409 [IKEV1] で定義された. IKEv2 はこれらすべての RFC に取って代わった. IKEv2 は [IKEV2] (RFC 4306) で定義され, [Clarif] (RFC 4718) で明確化された. [RFC5996] は RFC 4306 と 4718 に取って代わり更新した. 本ドキュメントは RFC 5996 に取って代わる. RFC 4306 に記載の IKEv2 は, 後方互換でない IKE プロトコルへの変更であった. RFC 5996 は RFC 4306 を改訂し, IKEv2 の明確化を行い, IKEv2 プロトコルへの変更は最小限にとどめた. 本ドキュメントは RFC 5996 に取って代わり, Internet Standard への前進にふさわしいようわずかに改訂する. RFC 4306 と 5996 の間の重要な差異の一覧は第 1.7 節に, 本ドキュメントと RFC 5996 の差異は第 1.8 節に示す.
IKE は当事者間で相互認証を行い, Encapsulating Security Payload (ESP) [ESP] または Authentication Header (AH) [AH] の SA を効率的に確立するのに用いられる共有秘密情報と, それらの SA が運ぶトラフィックを保護する暗号アルゴリズムの集合を含む IKE Security Association (SA) を確立する. 本ドキュメントでは, 用語 "suite" または "cryptographic suite" は, SA を保護するために用いるアルゴリズムの完全な集合を指す. イニシエータは, サポートするアルゴリズムを列挙してミックスアンドマッチ方式でスイートに組み合わせることにより, 1 つ以上のスイートを提案する. IKE は ESP または AH SA に関連して IP Compression (IPComp) [IP-COMP] の利用も交渉できる. その IKE SA を通じて確立される ESP または AH の SA を本ドキュメントでは "Child SA" と呼ぶ.
すべての IKE 通信はメッセージのペア, すなわちリクエストとレスポンスから成る. このペアは "exchange" と呼ばれ, "request/response pair" と呼ばれることもある. IKE SA を確立する最初の 2 つのメッセージ交換は IKE_SA_INIT 交換と IKE_AUTH 交換と呼ばれ, それ以降の IKE 交換は CREATE_CHILD_SA 交換または INFORMATIONAL 交換と呼ばれる. 通常は, IKE_SA_INIT 交換と IKE_AUTH 交換がそれぞれ 1 回ずつ (合計 4 メッセージ) で IKE SA と最初の Child SA が確立される. 例外的に, これらの交換はそれぞれ複数回あってもよい. いずれの場合も, すべての IKE_SA_INIT 交換は他の交換タイプの前に完了しなければならない (MUST), 次にすべての IKE_AUTH 交換が完了し, その後 CREATE_CHILD_SA と INFORMATIONAL 交換を任意の順序で任意の回数行ってよい (MAY). 一部のシナリオでは IPsec エンドポイント間に単一の Child SA で足り, 追加の交換はない. 後続の交換は, 同じ認証済みエンドポイントのペア間で追加の Child SA を確立したり, ハウスキーピング機能を実行するために用いてよい (MAY).
IKE メッセージフローは常にリクエストに続くレスポンスから成る. 信頼性を確保するのはリクエスタの責任である. タイムアウト間隔内にレスポンスが受信されない場合, リクエスタはリクエストを再送するか (または接続を放棄するか) する必要がある.
IKE セッションの最初の交換 IKE_SA_INIT は, IKE SA のセキュリティパラメータを交渉し, nonce を送り, Diffie-Hellman 値を送る.
2 番目の交換 IKE_AUTH はアイデンティティを伝送し, 2 つのアイデンティティに対応する秘密の知識を証明し, 最初の (しばしば唯一の) AH または ESP Child SA の SA を設定する (AH または ESP Child SA の設定に失敗した場合を除き, その場合 IKE SA は Child SA なしで確立される).
後続の交換のタイプは CREATE_CHILD_SA (Child SA を作成) と INFORMATIONAL (SA を削除, エラー条件の報告, その他のハウスキーピング) である. すべてのリクエストにはレスポンスが必要である. 構文で要求される空の Encrypted ペイロード以外にペイロードのない INFORMATIONAL リクエストは, 生存確認によく用いられる. これらの後続交換は初期交換が完了するまで使用できない.
以下の説明では, エラーが発生しないと仮定する. エラー発生時のフローの変更は第 2.21 節に記載する.
Contents
- 1.1. Usage Scenarios (利用シナリオ)
- 1.2. The Initial Exchanges (初期交換)
- 1.3. The CREATE_CHILD_SA Exchange (CREATE_CHILD_SA 交換)
- 1.4. The INFORMATIONAL Exchange (INFORMATIONAL 交換)
- 1.5. Informational Messages outside of an IKE SA (IKE SA 外のInformationalメッセージ)
- 1.6. Requirements Terminology (要件用語)
- 1.7. Significant Differences between RFC 4306 and RFC 5996 (RFC 4306 と RFC 5996 の重要な差異)
- 1.8. Differences between RFC 5996 and This Document (RFC 5996 と本ドキュメントの差異)