11

職場のコンピューター システムでは、ユーザーは数週間ごとにパスワードを変更する必要があり、以前と同じパスワードを使用することはできません。前回のパスワードを 20 個ほど記憶しています。私は、ほとんどの人がパスワードの末尾の数字を 1 つ増やすだけであることを発見しました。そのため、「thisismypassword1」は「thisismypassword2」になり、次に 3、4、5 などになります。

これらのパスワードはすべてどこかに保存されているため、MD5 などのパスワードを保存するために使用される標準のハッシュ アルゴリズムでは、ハッシュ自体に弱点があるのではないかと考えました。ハッカーは、同様のパスワードのハッシュのリストを持っている場合、パスワードをブルート フォース攻撃する可能性を高めることができますか?

4

10 に答える 10

11

優れたハッシュ アルゴリズムを使用すると、同様のパスワードがハッシュ全体に分散されます。そのため、類似したパスワードのハッシュは大きく異なります。

MD5 と別の文字列でこれを試すことができます。

"hello world" - 5eb63bbbe01eeed093cb22bb8f5acdc3
"hello  world" - fd27fbb9872ba413320c606fdfb98db1
于 2010-04-21T14:11:23.430 に答える
10

ハッシュアルゴリズムに依存します。それが良い場合、同様のパスワードは同様のハッシュを持つべきではありません。

于 2010-04-21T14:11:18.410 に答える
10

類似のパスワードは類似のハッシュを持っていますか?

いいえ。

類似性は、たとえ複雑な相関関係であっても、ハッシュの弱点と見なされます。暗号化コミュニティによって発見されると、それは公開され、ハッシュの十分な脆弱性が発見されると、最終的にはそのハッシュを使用しないようにというアドバイスになります.

もちろん、ハッシュに未発見の弱点があるのか​​、それとも攻撃者に知られているが公開されていない弱点があるのか​​ を知る方法はありません。NSA は確かに一部の暗号コンポーネントに対する非公開の理論的攻撃を保有していますが、それらの攻撃が使用可能かどうかは別の問題です。GCHQはおそらくそうです。他のいくつかの国には、独自の研究を行うのに十分な数の数学者がいる秘密の暗号プログラムがあると思います.中国は私の最初の推測です. あなたにできることは、入手可能な最善の情報に基づいて行動することだけです。そして、利用可能な最良の情報がハッシュが「暗号に適している」と言う場合、その意味の1つは、この種の使用可能な類似性がないことです.

最後に、一部のシステムではパスワードに弱いハッシュが使用されています。これは、実装者の無知またはレガシーが原因です。パブリック レビューが行われていないか、レビューされて不足していることが判明したか、重大な弱点が最終的​​に発見されたほど古いハッシュ スキームのプロパティについては、すべての賭けがオフになっています。MD5 はいくつかの目的で壊れています (衝突を生成する実用的な手段が存在するため) が、すべての目的で壊れているわけではありません。私の知る限り、実用的なプレイメージ攻撃がないという意味で、これは問題ありません。関連する平文のハッシュをいくつか持つことは、無関係な平文のハッシュをいくつか持つことに勝るものはありません。しかし、これとは別の理由で、パスワードの保存に任意のハッシュの単一のアプリケーションを実際に使用するべきではなく、複数のラウンドを使用する必要があります。

ハッカーは、同様のパスワードのハッシュのリストを持っている場合、パスワードをブルート フォース攻撃する可能性を高めることができますか?

間接的に、はい、それらが古いパスワードであることを知っています。ハッシュの特性によるものではありませんが、攻撃者が古いハッシュを使用して 1 つまたは複数の古いパスワードを (非常にゆっくりと) 総当たり攻撃し、過去にそれが "thisismypassword3" と "thisismypassword4" であったことを確認したとします。 .

その後、パスワードが「thisismypassword5」に変更されました。攻撃者がクラックする前にパスワードを変更することで、攻撃者が貴重なパスワードを復元しなかったことを確認できました。勝利!攻撃者はとにかく古いパスワードを使用して新しいパスワードをすばやく推測する手段を持っているため、それはあなたに何の役にも立たないことを除いて.

攻撃者が古いパスワードを 1 つしか持っておらず、そのため傾向を簡単に見つけることができない場合でも、パスワード クラッカーは、辞書の単語やその他の値に似たパスワードを試すことで機能します。少し単純化しすぎると、最初に辞書の単語が試行され、次に 1 つの余分な文字が追加、削除、または変更された単語で構成される文字列が試行され、次に 2 つの変更が加えられた文字列が試行されます。

古いパスワードを「その他の値」に含めることで、攻撃者はクラッキング プロセスの早い段階で、それに非常によく似た文字列をチェックすることができます。したがって、新しいパスワードが古いパスワードと似ている場合、古いハッシュを使用することは、攻撃者にとって何らかの価値があります。それらのいずれかを逆にすることで、現在のパスワードを解読するための良いシードが攻撃者に与えられます。

したがって、パスワードを定期的に増やしてもあまり効果はありません。パスワードを古いパスワードから推測できるものに変更すると、攻撃者は何も知らなかった場合と同じ立場に置かれますが、あなたのパスワードは何も知らずに推測可能でした。

最近のパスワード システムに対する主な実際の攻撃は、盗聴 (キーロガーやその他のマルウェアによる) とフィッシングです。パスワード ハッシュを元に戻そうとするのは良いパーセンテージ攻撃ではありませんが、攻撃者が何らかの方法で /etc/passwd ファイルまたは同等のファイルを手に入れた場合、平均的なシステムで脆弱なパスワードを破ることができます。

于 2010-04-21T15:51:57.650 に答える
6

暗号化ハッシュの要点は、類似のパスワードが類似のハッシュを作成することは絶対にないということです。

さらに重要なのは、同じパスワードでも同じハッシュが生成されないように、パスワードをソルトする可能性が高いことです。

于 2010-04-21T14:12:48.440 に答える
4

これは、使用されるハッシュ アルゴリズムによって異なります。良いものは、類似した入力を異なる出力に分配します。

于 2010-04-21T14:12:01.447 に答える
4

異なる入力が同じハッシュになる場合があります。これは、ハッシュ衝突と呼ばれるものです。

ここをチェックしてください:

http://en.wikipedia.org/wiki/Collision_%28computer_science%29

ハッシュ衝突は、ブルート フォース攻撃が成功する可能性を高めるために使用される場合があります。以下を参照してください。

http://en.wikipedia.org/wiki/Birthday_attack

于 2010-04-21T14:17:07.337 に答える
4

他の人が言ったことを拡張するために、簡単なテストでは、入力に小さな変更を加えただけで、非常に異なるハッシュが得られることが示されています。

次のコードを使用して簡単なテストを実行しました。

<?php
for($i=0;$i<5;$i++)
        echo 'password' . $i . ' - ' .md5('password' . $i) . "<br />\n";
?>

そして、私は次の結果を得ました:

password0 - 305e4f55ce823e111a46a9d500bcb86c
password1 - 7c6a180b36896a0a8c02787eeafb0e4c
password2 - 6cb75f652a9b52798eb6cf2201057c73
password3 - 819b0643d6b89dc9b579fdfc9094f28e
password4 - 34cc93ece0ba9e3f6f235d4af979b16c
于 2010-04-21T14:20:26.693 に答える
1

短い答え、いいえ!

ハッシュ関数の出力は、1文字増えるだけでも大きく変わります。

ただし、これはハッシュ関数自体を壊したい場合のみです。

もちろん、総当たり攻撃が容易になるため、これは悪い習慣です。

于 2010-04-21T14:11:59.217 に答える
1

いいえ、パスワードを少しでも確認すると、まったく新しいハッシュが生成されます。

于 2010-04-21T14:12:04.363 に答える
1

原則として、「適切なハッシュ」は、2 つの類似した (しかし等しくない) 文字列を類似のハッシュにハッシュしません。MD5 は十分に優れているため、これは問題になりません。ただし、かなりの数の一般的なパスワード (および一部のパスワード ハッシュ、たとえば従来の DES ベースの UNIX パスワード) には「レインボー テーブル」(本質的にパスワード:ハッシュのペア) があり、完全なレインボー テーブルが存在します。

于 2010-04-21T14:13:27.097 に答える