web-dev-qa-db-ja.com

ASICビットコインマイナーの場合、SHA256はパスワードハッシュに対して安全ではないと考えるべきですか?

私はここの誰もがビットコインの台頭とさらなる上昇を見たと確信しています。ビットコインをマイニングするために使用されるプロセスは、基本的には「この量よりも少ないSHA256ハッシュを総当たりにしよう」です

そうは言っても、本当に人気が出てきているようです。現在、極端に fast ASIC miners があり、60,000 Mhashes/s以上の能力があります

それらはおそらくビットコインに特化していると思いますが、私は彼らをブラック/グレーハットに使用し、ブルートフォースの力を使ってソルトとハッシュからパスワードを見つけることは不可能ではないと思います。このため、SHA256はパスワードを信頼するための危険なアルゴリズムと見なす必要がありますか?

14
Earlz

専用ハードウェアで多くのハッシュを非常に高速に計算する機能isパスワードハッシュの問題ですが、new問題ではありません。 ASICが登場する前は、すでに [〜#〜] fpga [〜#〜] を考慮していました(たとえば、- この研究マシン 、すでに5年前から)ASICは、同等のFPGAの周波数の2〜3倍で大まかにクロックできます;量産によりさらにコストが削減されます。これは定性的には変化しませんが状況を変更しますが、たとえば3ビットやエントロピーなど、攻撃者を確実に後押しします。

もちろん、パスワードハッシュ用の単純なSHA-256はお勧めできません。攻撃者が「唯一の」クラシックPCを持っている場合でも、速すぎます。ここでは PBKDF2 について話していると思います。これは、基礎となるPRFに依存する低速ハッシュの構成で、通常 [〜#〜] hmac [〜#〜] です。 SHA-256などのハッシュ関数を使用して構築されています。

理論によると、他のすべての条件が同じであれば、パスワードハッシュは、「正直なシステム」、つまりPCで処理するハードウェアで最も効率的な基礎となるハッシュ関数を使用する必要があります。これが、bcryptやscryptなどのハッシュ関数のポイントです。 PBKDF2を使い続ける場合は、SHA-512を使用することをお勧めします。これは、SHA-512が多くの64ビット算術演算を使用するためです。 ASICは、その推奨事項を変更しません。

14
Thomas Pornin

SHA256は、パスワードハッシュの安全なアルゴリズムと見なされていません。代わりにbcryptpbkdf2またはscryptを使用してください。

詳しくは this を参照してください@ThomasPorninによる詳細な回答。

5
user10211

ASICは通常OTP(1回プログラム可能[ウエハーから直接作られる])であるため、再プログラム(SHA1への切り替えやHMACの実装など)してクラッキングに使用することはできません。ビットコインは2回反復されたSHA256( Mining )を使用しますが、これはセキュリティ上の考慮事項ではかなり役に立ちません。

[〜#〜] asic [〜#〜] についてはWikipediaを参照してください

4
Dr.Ü