web-dev-qa-db-ja.com

bcryptハッシュが公に知られている場合、ハッキングされる可能性はありますか?

https://haveibeenpwned.com/ を確認したところ、pwnされていることに気付いたので、「資格情報」の詳細をホストするファイルを確認しましたが、メールが平文で表示されますテキストですが、パスワードは bcrypt ハッシュです。

ハッシュ関数は一方向であり、元に戻すことはできないので、心配してすべてのパスワードを変更する必要がありますか、それとも私は偏執的すぎるのですか?

編集:私が「すべてのパスワード」を意味するとき、私は公開されたパスワードに密接に関連していない/類似していないものを意味しました。ほぼすべてのWebサイトに同じパスワードを使用するのは、明らかに愚かなIMOです。

編集2:私はそれがどのように行われるかについての情報を共有しないようにすべての皆さんにお願いしたいと思います。わかってくれてありがとう。

33
SergeantSerk

弱いハッシュアルゴリズムとbcryptの概要

弱いパスワードハッシュアルゴリズムでは、ハッカーは試行数百万または数十億のさまざまな組み合わせ-ハードウェアで可能な限り高速-および多くの簡単なパスワードがすぐにRainbowテーブルに分類されます/パスワードクラッカー/辞書ベースの攻撃。

攻撃者は大量の文字列をハッシュと比較しようとしますが、検証されるのはおそらくパスワードです。そうでない場合でも、衝突を検出したので、それを使用してログインできます。

ただし、bcryptは異なります。計算が遅いため、このクラッキングは遅くなります非常に。 Bcryptを使用すると、1秒あたり数回のテストしか実行できないポイントへの分解を遅らせることができますifその場合。これは計算コスト要因によるものです。より良い説明のために Thomas Porninによるこの回答を読んでください

反復回数が1回のbcrypt呼び出しでMD5の数千万回の計算と同じくらい高価になる場合、パスワードの総当たりはMD5よりもbcryptの方が1,000万倍高くなります。

これが設定可能なスローネスのポイントです。必要に応じて機能を遅くすることができます。または、より正確には、許容できる限りの速度です。実際、スロー機能は、すべての人、攻撃者、防御者にとって同じように低速です。

したがって、それは実際には追加の計算コストに依存します。一部のカスタムハードウェアソリューションは、毎秒52kハッシュ以上でbcryptハッシュをクラックできます。標準的な攻撃と貧弱なパスワードを使用すると、長い間持ちこたえる見込みはほとんどありません。繰り返しますが、これは計算コストに依存します。このカスタムハードウェアソリューションでさえ、毎秒2〜5ハッシュに強制的に下げるか、さらに遅くすることができます。

アカウントが気になる場合は、パスワードを再利用しないでください。


私はすでにあなたの資格情報を見つけて、あなたのbcryptハッシュを「クラック」しました

しかし、私はあなたをハッキングしません、心配しないでください。これは、資格情報を更新し、パスワードの再利用を停止する理由を示すためだけのものです。答えが欲しかったので、ライブデモンストレーションより良いものは何ですか

あなたはイギリス出身ですよね?あなたのbcryptハッシュも$2a$10$omP392PbcC8wXs/lSsKZ5Ojv9.wFQ7opUn7u3YUBNu0kkbff0rB.m、正しい?私はすでにあなたのパスワードを「解読」し、あなたのアカウントを知っています。 屋根の上の泥棒が見えます。私の新しい衛星リンクには、赤外線スペクトルとX線スペクトルの両方があります。あなたの心が鼓動しているのが見えます。恐れてますね

これは言うまでもありません。必ずパスワードを変更してください。手遅れになる前に、今すぐ資格情報の変更を開始してください。あなたは心配する必要があります、そしてあなたはパスワードを変更する必要があります。今。


はい、bcryptは非常に遅くなる可能性がありますが...

私は実際、単純なデータの集約と相関を使って、総当たりのプロセスを完全に回避する方法を見つけました。いくつかの情報を結び付けて比較する小さなプログラムを書きました。パスワードクラッカーなどではありませんが、結局のところ、同じことを行いました。

あなたのプライバシーのために-そしてあなたの要求に従って-私はここでこれをどのようにしたか共有しませんが、あなたはそれを知っているべきですそれを行うことができるのは私だけではありません。できれば他の人にもできる。


ただし...パスワードの再利用をやめる必要があります!

あなたは本当に、本当にこれをしたくありません。 1つのサイトが侵害された場合、他のアカウントに異なるパスワードを設定すると、他のアカウントも侵害から保護されます。

しばらく使用していないアカウントも含め、すべてのアカウントを更新し、気にしない限りパスワードの再利用を停止します。 KeePassのようなものを検討することをお勧めします。

49
Mark Buffalo

ハッシュ関数は元に戻せないため、ハッシュを復号化することはできません。

それでもパスワードを変更する必要があります。攻撃者はハッシュをブルートフォースで攻撃しようとし、成功した場合はメールアカウントの認証情報を試し、場合によってはそれ以上のWebサイトを試します。

「すべてのパスワード」について言及するときは、リモートで重要なものにはパスワードを再利用しないでください(また、パスワードもいくつかの一般的な構造に従ってはいけません)。使い捨てアカウントの場合、弱いパスワードとパスワードの再利用は問題ないかもしれませんが、次のような状況が原因で、それ以外の場合はそうではありません。1つのサーバーが侵害されると、攻撃者はさまざまなサービスの資格情報も試します。

3
tim