2

Hey Guysは、現在のパスワードの安全性を向上させるために何ができるかを考えています。ほとんどの人は、「ハッキングされた」md5ハッシュを数秒で復号化できるレインボーテーブルを知っています。

私の考えは、どうすればこれをより安全にすることができるかということでした。ハッキングした「ハッカー」がいくつかのmd5ハッシュを取得した場合、完全なmd5ハッシュがない場合はどうなりますか?

たとえば、「rabbit」を選択したパスワードmd5 hash =(a51e47f646375ab6bf5dd2c42d3e6181)インターネット上のほぼすべてのレインボーテーブルは、これらのmd5ハッシュを明確な単語「rabbit」に復号化できます。

しかし、データベースへの最初の10個の記号のみを解析するとどうなりますか。また、ユーザーがパスワードを使用してサインインすると、最初の10個の記号がデータベース内の10個の記号と等しいかどうかがチェックされます。したがって、ハッカーがいくつかのハッシュを取得した場合、これらのいずれも意味がないため、ハッカーはそれらのいずれも元に戻すことができませんでした。

これは可能で、本当に安全ですか?

これはただのアイデアであり、コメントをいただければ幸いです。

ありがとう!!!

4

3 に答える 3

3

PHPパスワードの安全なハッシュとソルト に従うことをお勧めします

于 2012-05-05T17:32:12.543 に答える
2

これにより、ドライブバイレインボーテーブルベースの攻撃の実行可能性が低下しますが、実際にはセキュリティが追加されません。攻撃者があなたが「切り捨てられた」MD5ハッシュを使用していることを理解すると、あなたのアプローチは実際に彼または彼女にとって物事を容易にします-結局のところ、彼/彼女は正しいハッシュを持つ単一のフレーズを見つける必要はありません。最初の10文字程度を共有します。

これは、隠すことによるセキュリティの教科書の例に近いものです。申し訳ありません。パスワードをより安全に保存する方法を考えていることは良いことです-そして、プレーンなMD5ハッシュを使用することは良い考えではないことを知っていること-しかし、これは間違ったアプローチです。

于 2012-05-05T17:36:50.220 に答える
1

パスワードを保存するためのより安全な方法は、ユーザーごとに異なるハッシュアルゴリズムを使用するか、ユーザーごとにハッシュ関数に異なるパラメーターを使用してそれを保存することです。このようにして、誰かがさまざまな可能性のためにレインボーテーブルを生成する必要があります。

詳細については、 Saltingを確認してください。

于 2012-05-05T17:31:29.863 に答える