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

5.2. Validation and Time-Step Size (検証とタイムステップサイズ)

5.2. Validation and Time-Step Size (検証とタイムステップサイズ)

同じタイムステップ内で生成された OTP は同じになります。検証システムで OTP が受信されたとき, OTP が生成されたときのクライアントの正確なタイムスタンプはわかりません。検証システムは通常, OTP 比較のために OTP が受信されたときのタイムスタンプを使用する場合があります。ネットワーク遅延のため, OTP が生成された時刻と OTP が受信システムに到着する時刻の間のギャップ (T で測定, すなわち T0 からのタイムステップ数) は大きくなる可能性があります。検証システムでの受信時刻と実際の OTP 生成は, 同じ OTP を生成した同じタイムステップウィンドウ内に収まらない場合があります。タイムステップウィンドウの終わりに OTP が生成されると, 受信時刻は次のタイムステップウィンドウに入る可能性が最も高くなります。検証システムは通常, 検証のための許容可能な OTP 送信遅延ウィンドウのポリシーを設定すべきです (SHOULD)。検証システムは, 受信タイムスタンプだけでなく, 送信遅延内の過去のタイムスタンプとも OTP を比較すべきです。より大きな許容遅延ウィンドウは, 攻撃のためのより大きなウィンドウを露出します。ネットワーク遅延として最大で 1 つのタイムステップを許可することを推奨します (RECOMMEND)。

タイムステップサイズは, セキュリティと使いやすさの両方に影響を与えます。より大きなタイムステップサイズは, 検証システムによって OTP が受け入れられるより大きな有効性ウィンドウを意味します。より大きなタイムステップサイズを使用することには, 次のような影響があります:

まず, より大きなタイムステップサイズは, 攻撃のためのより大きなウィンドウを露出します。OTP が生成され, 消費される前に第三者に露出されると, 第三者はタイムステップウィンドウ内で OTP を消費できます。

デフォルトのタイムステップサイズとして 30 秒を推奨します (RECOMMEND)。この 30 秒のデフォルト値は, セキュリティと使いやすさのバランスとして選択されています。

次に, 次の異なる OTP は, 次のタイムステップウィンドウで生成されなければなりません。ユーザーは, 最後の送信から次のタイムステップウィンドウにクロックが移動するまで待つ必要があります。待ち時間は, 最後の OTP が生成されたタイミングに応じて, タイムステップの長さと正確に一致しない場合があります。たとえば, 最後の OTP がタイムステップウィンドウの中間点で生成された場合, 次の OTP の待ち時間はタイムステップの長さの半分です。一般に, より大きなタイムステップウィンドウは, 最後の成功した OTP 検証の後にユーザーが次の有効な OTP を取得するための待ち時間が長くなることを意味します。大きすぎるウィンドウ (たとえば 10 分) は, 典型的なインターネットログインのユースケースには適さない可能性が高いです; ユーザーは 10 分以内に次の OTP を取得できない可能性があり, したがって 10 分後に同じサイトに再ログインする必要があります。

証明者は, 与えられたタイムステップウィンドウ内で同じ OTP を検証者に複数回送信する場合があることに注意してください。検証者は, 最初の OTP に対して成功した検証が発行された後, OTP の 2 回目の試行を受け入れてはなりません (MUST NOT), これは OTP の一度だけの使用を保証します。