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

2.2. メッセージ ID のシーケンス番号の使用

2.2. メッセージ ID のシーケンス番号の使用​

すべての IKE メッセージは, その固定ヘッダーの一部としてメッセージ ID を含みます。このメッセージ ID は, 要求と応答を照合し, メッセージの再送を識別するために使用されます。メッセージの再送は, 元のメッセージと同じメッセージ ID を使用しなければなりません (MUST)。

メッセージ ID は 32 ビットの量であり, IKE_SA_INIT メッセージではゼロで (COOKIE や INVALID_KE_PAYLOAD などの応答によるメッセージの再試行を含む), 以降の交換ごとに増分されます。したがって, 最初の IKE_AUTH メッセージのペアは ID が 1 になり, 2 番目のペア (EAP が使用される場合) は 2 になり, 以下同様に続きます。メッセージ ID は, IKE SA が再鍵生成された後, 新しい IKE SA でゼロにリセットされます。

IKE セキュリティアソシエーションの各エンドポイントは, 2 つの"現在の"メッセージ ID を維持します: 1 つは自身が開始する要求に次に使用される ID, もう 1 つは相手端からの要求に次に現れると予想される ID です。これらのカウンタは, 要求が生成され受信されるにつれて増加します。応答は常に, 対応する要求と同じメッセージ ID を含みます。これは, 初期交換の後, 各整数 n が 4 つの異なるメッセージのメッセージ ID として現れる可能性があることを意味します: 元の IKE イニシエータからの n 番目の要求, 対応する応答, 元の IKE レスポンダからの n 番目の要求, および対応する応答です。両端が非常に異なる数の要求を行う場合, 2 つの方向のメッセージ ID は非常に異なるものになり得ます。しかし, メッセージに曖昧さはありません。なぜなら, メッセージヘッダー内の Initiator フラグと Response フラグが, 特定のメッセージが 4 つのうちのどれであるかを指定するからです。

この文書全体を通して, "イニシエータ (initiator)" は, 記述中の交換を開始した当事者を指します。"元のイニシエータ (original initiator)" は常に, 現在の IKE SA をもたらした交換を開始した当事者を指します。言い換えると, "元のレスポンダ (original responder)" が IKE SA の再鍵生成を開始した場合, その当事者が新しい IKE SA の"元のイニシエータ"になります。

メッセージ ID は暗号的に保護されており, メッセージリプレイに対する保護を提供することに注意してください。万が一, メッセージ ID が 32 ビットに収まらなくなるほど大きくなった場合, IKE SA を閉じるか再鍵生成しなければなりません (MUST)。