web-dev-qa-db-ja.com

テクノロジーの進化に応じて、PBKDF2の適切な反復回数を決定するにはどうすればよいですか?

PBKDF2を使用してパスワードを導出していますが、反復回数の「十分な」値と見なすことができるものがわかりません。

テクノロジーは非常に急速に進化しており、価値をどのくらいの頻度でどれだけ増やすべきかについても知りたいと思います(例:毎年+ 20%)。

6
SuperPython

ユーザーが選択したパスワードは、どれだけうまく指導しても、常に非常に弱い可能性があるため、「十分な」カウントはありません。カウントは、許容できる最大値にする必要があります。

反復回数を増やすと、運用コストが機械的に増えることに注意してください。したがって、yourマシンがパスワードをタイムリーに処理できるように、カウントを十分に低い値に設定する必要があります。これは、ハードウェアと予想されるピーク負荷、および遅延に対するユーザーの許容度に依存するため、自分で作成する必要のある分析です。反復回数が多いほど、サービス拒否攻撃に対する脆弱性が高まる傾向があります。

「平均的なテクノロジー」に一致するように、定期的に反復回数を増やすことはありません。余裕があれば反復回数を増やします。これは、より高速なサーバーの一般的な可用性ではなく、実際に購入して使用しているサーバーに依存します。したがって、新しいハードウェアを購入するたびに、反復回数を増やすことを計画します。

10
Thomas Pornin