web-dev-qa-db-ja.com

パスワードハッシュがわかっているかどうかはどうしたらわかりますか?

パスワードのハッシュがインターネット上で公に知られているかどうかを確認する安全な方法はありますか?最初にHashes.org( http://hashes.org/search.php )で検索してみましたが、私のハッシュが見つからない場合は、不明なリストに追加すると、クラックされます。 Hashes.orgに連絡したところ、実際に上記のように機能することが確認されました。私はできる限り安全なパスワードを使用しようとしています(そして便利です)が、クラックされたハッシュがすでにそこにある場合、それは本当に重要ではありません。よろしくお願いします。

3
András Geiszl

パスワードが適切に保存されている場合、パスワードソルトをハッシュすることで保存されます。アカウントを作成したシステムに違反するクラッカーは、ハッシュを取得できればほぼ確実にソルトを取得できますが、重要な長さのソルトは計算前の攻撃を阻止し、攻撃者に各パスワードを個別に攻撃させます。ハッシュアルゴリズムが適切に遅いと、パスワードが辞書にないほど強固で、ヒューリスティック攻撃に対して脆弱であるという条件で、単一のパスワードに対する攻撃が困難になります。

したがって、適切に保存されたパスワードの場合、パスワードのハッシュだけでは基本的に攻撃者にとって役に立たない。 (もちろん、多くのサイトはパスワードを適切に保存しませんが、パスワードの再利用を避けること以外にできることはほとんどありません。)

ここにソルティングの詳細があります: https://crackstation.net/hashing-security.htm

編集:hashes.orgで次の実験を行いました。まず、悲しいことに一般的なパスワードである「love」のMD5ハッシュを計算しました。予想通り、それはhashes.orgで見つかりました。次に、32ビットの乱数「315379008」と連結した「愛」のMD5を計算しました。予想通り、見つかりませんでした。実際のパスワードシステムでは、MD5よりもはるかに遅いハッシュと32ビットよりもはるかに長いソルトeg128ビットを使用するため、事前計算されたハッシュが生成される可能性が大幅に減少します。非常に一般的なパスワードでも見つかりました。 (もちろん、「love」は、適切にソルトされたとしても、ソルトにアクセスできる攻撃者の手に渡るので、恐ろしいパスワードです。あなたまだ強力なパスワードが必要です 。)

3
Bob Brown