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

3.3.2. Sequence Number Generation (シーケンス番号生成)

送信者のカウンターは, SAが確立されたときに0に初期化されます。送信者は, このSAのシーケンス番号 (またはESN) カウンターをインクリメントし, 値の下位32ビットをシーケンス番号フィールドに挿入します。したがって, 特定のSAを使用して送信される最初のパケットには, シーケンス番号1が含まれます。

アンチリプレイが有効になっている場合 (デフォルト), 送信者は, シーケンス番号フィールドに新しい値を挿入する前に, カウンターがサイクルしていないことを確認するためにチェックします。言い換えれば, 送信者は, そうすることでシーケンス番号がサイクルする場合, SA上でパケットを送信してはなりません (MUST NOT)。シーケンス番号オーバーフローを引き起こすパケットを送信しようとする試みは, 監査可能なイベントです。このイベントの監査ログエントリには, SPI値, 現在の日付/時刻, 送信元アドレス, 宛先アドレス, および (IPv6の場合) クリアテキストフローIDを含めるべきです (SHOULD)。

送信者は, 受信者によって別の通知がない限り (セクション3.4.3を参照), またはSAが手動鍵管理を使用して構成された場合を除き, デフォルトでアンチリプレイが有効になっていると想定します。したがって, AH実装の典型的な動作では, シーケンス番号 (またはESN) がサイクルしたとき, またはこの値がサイクルすることを見越して, 送信者が新しいSAを確立することが求められます。

アンチリプレイが無効になっている場合 (上記で述べたように), 送信者はカウンターを監視またはリセットする必要はありません。例えば, 手動鍵管理の場合 (セクション5を参照してください)。ただし, 送信者は依然としてカウンターをインクリメントし, 最大値に達すると, カウンターはゼロにロールバックします。(この動作は, この標準の範囲外のアンチリプレイメカニズムが送信者と受信者の間でネゴシエートされない限り, マルチ送信者, マルチキャストSAに推奨されます。)

ESN (付録Bを参照) が選択されている場合, シーケンス番号の下位32ビットのみがシーケンス番号フィールドで送信されますが, 送信者と受信者の両方が完全な64ビットESNカウンターを維持します。ただし, 上位32ビットはICV計算に含まれます。

: 受信者がSAのアンチリプレイを有効にしないことを選択した場合, 受信者はSA管理プロトコルでESNをネゴシエートすべきではありません (SHOULD NOT)。ESNの使用により, 受信者はアンチリプレイウィンドウを管理する必要が生じます (ICV計算で使用されるESNの上位ビットの正しい値を決定するため)。これは一般に, SAのアンチリプレイを無効にするという概念とは矛盾します。