web-dev-qa-db-ja.com

キーストレッチングアプローチ

いくつかの キーストレッチング アルゴリズムがあり、キーの計算に必要な操作の数(つまり、ハッシュ関数内のラウンド数)を増やす必要があることを確認しました。しかし、これらのアプローチは、実装を実行しているデバイスの計算リソースを考慮せずに、必要な操作の数を一定量増やすので、より安全かどうか疑問に思います。

利用可能なコンピューティングリソースの関数として必要なワークロードを増やす方が安全ではないでしょうか。

あるいは、ラウンド数を増やすことなく、小さな課題を解決して(つまり、32ビットの課題を推測する)、それをキーに組み込むことができますか?

3
Sebi

キーストレッチアルゴリズムの強度を利用可能なハードウェアリソースに合わせて調整する方が、固定強度を使用するよりも優れているというのは正しいことです。これは実際には、LUKSディスク暗号化標準などの場合に実装されます。LUKSディスク暗号化標準では、約2秒相当のPBKDF2キーストレッチが使用されます。

時々これは不可能です。たとえば、外部ストレージデバイスは、さまざまなハードウェア仕様の複数のマシンで使用できます。強力なコンピューターで2秒かかるものは、安価なローエンドシステムでは30分かかる場合があります。このような場合、キーストレッチの固定難易度が必要になることがよくあります。難易度は、ローエンドコンピュータが操作をかなり迅速に実行できるほど低く、攻撃者にとっては苦痛となるほど高いものを使用します。

1
forest