0

Is UUID.randomUUID() はワンタイム パスワードとしての使用に適していますか?への後続の質問 、受け入れられた回答は、セキュリティのために十分なランダム性を得るために122ビット(UUIDなど)を必要としないことを示唆していました。

4

1 に答える 1

1

それは、実際に推測できないほど複雑でなければならないかによって異なります。

最初に、たとえば 1 年 (365 日) など、推測が実用的でなく、実際には使用できない期間を設定します。

この期間を、メール内のリンクを使用して 1 回のリクエストを行うのにかかる時間で割ります。(つまり、単一のリクエスト/レスポンスの時間ではなく、並列処理を使用してリクエストを実行できる頻度です。) たとえば、0.1 秒では、1 年間で 315360000 のリクエストが発生します。

アクティブなコードの数を掛けてから 2 を掛けて、有効なコードを見つけるための平均時間を補正します。たとえば、100 コードでは 63072000000 の組み合わせが得られます。

その例では、実質的に推測不可能なコードを取得するには、36 のランダム ビット (2 36 = 68719476736) が必要です。

于 2013-09-14T12:11:02.277 に答える