メインコンテンツまでスキップ

1.3. CREATE_CHILD_SA 交換

1.3. CREATE_CHILD_SA 交換​

CREATE_CHILD_SA 交換は、新しい Child SA を作成し、IKE SA と Child SA の両方を再鍵化するために使用されます。この交換は単一の要求/応答ペアで構成され、その機能の一部は IKEv1 ではフェーズ 2 交換と呼ばれていました。初期交換が完了した後、IKE SA のどちらの側からでも開始してもよいです。

SA は、新しい SA を作成してから古い SA を削除することによって再鍵化されます。このセクションでは、再鍵化の最初の部分である新しい SA の作成について説明します。セクション 2.8 では、古い SA から新しい SA へのトラフィックの移行と古い SA の削除を含む、再鍵化の仕組みを説明します。再鍵化のプロセス全体を理解するには、2 つのセクションを一緒に読む必要があります。

どちらのエンドポイントも CREATE_CHILD_SA 交換を開始できるため、このセクションでは「イニシエータ」という用語はこの交換を開始するエンドポイントを指します。実装は、IKE SA 内のすべての CREATE_CHILD_SA 要求を拒否してもよいです。

CREATE_CHILD_SA 要求には、Child SA に対するより強力な前方秘匿性の保証を可能にするために、追加の Diffie-Hellman 交換用の KE ペイロードがオプションで含まれる場合があります。Child SA の鍵生成材料は、IKE SA の確立中に確立された SK_d、CREATE_CHILD_SA 交換中に交換されたナンス、および Diffie-Hellman 値(KE ペイロードが CREATE_CHILD_SA 交換に含まれる場合)の関数です。

CREATE_CHILD_SA 交換に KEi ペイロードが含まれる場合、SA オファーの少なくとも 1 つが KEi の Diffie-Hellman グループを含まなければなりません。KEi の Diffie-Hellman グループは、イニシエータがレスポンダが受け入れると期待するグループの要素でなければなりません(追加の Diffie-Hellman グループを提案できます)。レスポンダが異なる Diffie-Hellman グループ(NONE 以外)を使用するプロポーザルを選択した場合、レスポンダは要求を拒否し、INVALID_KE_PAYLOAD Notify ペイロードでその優先する Diffie-Hellman グループを示さなければなりません。この通知には 2 オクテットのデータが関連付けられています。ビッグエンディアン順の受け入れられた Diffie-Hellman グループ番号です。このような拒否の場合、CREATE_CHILD_SA 交換は失敗し、イニシエータはおそらくレスポンダが INVALID_KE_PAYLOAD Notify ペイロードで示したグループの Diffie-Hellman プロポーザルと KEi を使用して交換を再試行します。

レスポンダは、この IKE SA 上でそれ以上 Child SA を受け入れることを望まないため CREATE_CHILD_SA 要求が受け入れられないことを示すために、NO_ADDITIONAL_SAS 通知を送信します。この通知は IKE SA の再鍵化を拒否するためにも使用できます。一部の最小限の実装では、初期 IKE 交換の文脈で単一の Child SA セットアップのみを受け入れ、それ以降の追加試行を拒否する場合があります。