web-dev-qa-db-ja.com

辞書攻撃ハッシュアルゴリズム

パスワードのハッシュに使用される種類のアルゴリズムには、辞書攻撃に利点または欠点がありますか?つまり、SHA256、MD5などですか、それとも攻撃者が使用する辞書だけですか?

私が理解できる限り、ハッシュアルゴリズムは、リッパーであるJohnのような辞書攻撃に対する保護には何の影響もありません。

2
gg0092

ブルートフォースディクショナリ攻撃では、アルゴリズムの速度は基本的に、特定の時間内にチェックできるパスワードの数を定義します。チェックできるパスワードの数が少ないほど、アルゴリズムがブルートフォースからよりよく保護されます。これが、プレーンなMD5やSHA256とは異なり、適切なパスワードハッシュアルゴリズムが故意に遅い理由です。

さらに、適切なパスワードハッシュはランダムなソルトを使用するため、事前に計算されたパスワードとハッシュ間のマッピングを再利用することは不可能です。

詳細は パスワードを安全にハッシュする方法 を参照してください。

6
Steffen Ullrich

ハッシュアルゴリズムは、攻撃者が1分間に試行できるハッシュの数(速度)を決定できます。

クラックされたハッシュの成功率は、ディクショナリの "品質"と変異ルール、およびユーザーパスワードの強度によって決まります。

より高速なアルゴリズムは、攻撃者がより大きな辞書を使用したり、より広いルールを使用したりする可能性があり、同じ時間でより多くのパスワードをクラックする可能性が高まります。

オフライン攻撃(ブルートフォースとディクショナリ)に対する最良の保護は、スクリプト、pbkdf2、bcryptなどの時間のかかるハッシュアルゴリズムを使用することです。

5
wireghoul