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

4.2.2. シーケンス番号とエポックの再構築

4.2.2. シーケンス番号とエポックの再構築 (Reconstructing the Sequence Number and Epoch)

保護されたDTLSレコードを受信する際、受信者はレコード内に完全なエポックまたはシーケンス番号の値を持たないため、曖昧さの余地があります。完全なシーケンス番号はレコードごとのノンスを計算するために使用され、エポックは鍵を決定するため、これらの値の再構築に失敗すると、レコードの保護解除に失敗します。したがって、実装は完全な値を決定するために自身が選択したメカニズムを使用してもかまいません。このセクションでは、比較的シンプルなアルゴリズムを提供しており、実装はこれに従うことが推奨されます。

エポックビットが現在のエポックのビットと一致する場合、実装は、現在のエポックで最も高い正常に保護解除されたレコードのシーケンス番号に1を加えた値に数値的に最も近い完全なシーケンス番号を計算することにより、シーケンス番号を再構築すべきです。

ハンドシェイクフェーズ中、エポックビットは使用すべき正しい鍵を明確に示します。ハンドシェイク完了後、エポックビットが現在のエポックのビットと一致しない場合、実装は一致するビットを持つ最も最近の過去のエポックを使用し、上記のようにそのエポックのシーケンス番号を再構築すべきです。