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

2.2. Sequence Number (シーケンス番号)

この符号なし 32 ビットフィールドには, 送信されるパケットごとに 1 ずつ増加するカウンター値, つまり SA ごとのパケットシーケンス番号が含まれます。ユニキャスト SA または単一送信者マルチキャスト SA の場合, 送信者は送信されるすべてのパケットに対してこのフィールドをインクリメントしなければなりません。複数の送信者間で SA を共有することは許可されていますが, 一般的には推奨されません。ESP は, 複数の送信者間でパケットカウンターを同期したり, 複数の送信者のコンテキストで受信者パケットカウンターとウィンドウを意味のある方法で管理する手段を提供しません。したがって, 複数送信者 SA の場合, ESP のアンチリプレイ機能は使用できません (セクション 3.3.3 および 3.4.3 参照)。

このフィールドは必須であり, 受信者が特定の SA に対してアンチリプレイサービスを有効にすることを選択しない場合でも, 常に存在しなければなりません。Sequence Number フィールドの処理は受信者の裁量に委ねられていますが, すべての ESP 実装はセクション 3.3.3 および 3.4.3 で説明されている処理を実行できなければなりません。したがって, 送信者は常にこのフィールドを送信しなければなりませんが, 受信者はそれに基づいて行動する必要はありません (以下の "着信パケット処理" セクション (3.4.3) のシーケンス番号検証の説明を参照)。

SA が確立されると, 送信者のカウンターと受信者のカウンターは 0 に初期化されます。(特定の SA を使用して送信される最初のパケットのシーケンス番号は 1 です。シーケンス番号がどのように生成されるかの詳細については, セクション 3.3.3 を参照してください。) アンチリプレイが有効な場合 (デフォルト), 送信されるシーケンス番号を循環させてはなりません。したがって, SA で 2^32 番目のパケットを送信する前に, 送信者のカウンターと受信者のカウンターをリセットしなければなりません (新しい SA を確立し, それによって新しいキーを取得することによって)。