13

現在、一般公開を目指しているゲームコミュニティサイトを作成中です。現在、私はパスワードとログインに取り組んでいます。以前はMD5しか使用していませんでしたが、パスワードの安全性について読んだことがあり、現在はソルティングが道のりだと聞いています。

これが私の計画です。すべてのユーザーは、usersテーブルに格納された12個のランダムな文字(#/¤&など)の独自のソルトを持っています。ソルトは、登録時にパスワードとともに(SHA-256を使用して)ハッシュされ、ログイン時に再ハッシュされます。

これはあなたにとってどのように聞こえますか?改善できることはありますか?SHA-512ともっと長い塩を使うべきですか、それともこれで十分ですか?

4

6 に答える 6

17

あなたの提案する 12 バイトは、salt に十分な長さである必要があります。これには、ハッシュ化されたパスワードのデータベースを2 96 個用意するために辞書攻撃が必要になります。いつの日か、これはクラッカーにとって些細な操作になるかもしれませんが、それにはまだ程遠いです。

SHA256 は、少なくとも現時点では、パスワードに対して適切なハッシュ強度を持つとして NIST によって推奨されています。

パスワード セキュリティのさらに強力な方法を調べたい場合は、 PBKDF2 やBcryptを使用した適応ハッシュなどのキー強化手法を調べてください。しかし、これらは SQL で直接サポートされていません。アプリケーション コードでハッシュを実行してから、ハッシュ ダイジェストをデータベースに投稿する必要があります。

ゲームサイトにとっては過剰なセキュリティのように思えるかもしれませんが、実行することをお勧めします。多くのユーザーが (お勧めできませんが) ゲームのログインに銀行のログインと同じパスワードを使用しているためです。間接的に大きな損失につながる認証違反の責任を負いたくありません。

于 2010-07-07T03:48:18.750 に答える
4

アップデート:

ハッシュまたは HMAC を使用しないでください。bcryptまたはを使用しscryptます。http://codahale.com/how-to-safely-store-a-password/を参照してください。

オリジナル:

単純にハッシュしないでください。HMAC を使用します。(また、利用可能なライブラリがある場合は、独自のハッシュ化や暗号化を行うことは避けてください。ライブラリは専門家の意見から恩恵を受けるためです。)

参考文献:

  1. http://rdist.root.org/2009/10/29/stop-using-unsafe-keyed-hashes-use-hmac/
  2. http://us2.php.net/manual/en/function.hash-hmac.php
于 2010-07-07T04:58:13.717 に答える
3

ユースケースにはおそらく十分です。

ただし、次の方法で改善できます。

  1. 塩の量を増やす

  2. ソルトは文字の小さなサブセットに限定されるべきではありません

  3. ハッシュを1000回繰り返します(キー強化)

phpassを見てください。

于 2010-07-07T03:36:00.913 に答える
1

特にstackoverflowで、パスワードハッシュを適切に行う方法について多くの混乱に気づきました。そして、私はいくつかの本当に悪い推奨事項を見てきました。だから私はすべてを片付ける必要があるページを書きました。単純なハッシュを使用するよりも、もう少し多くのことがあります。

詳細とソースコード:パスワードハッシュを適切に行う方法

パスワードのハッシュについて質問がある場合は、いつでもこのリンクを共有してください。これはstackoverflowに関する私の最初の投稿なので、正しく実行していない場合は申し訳ありません

于 2011-03-25T20:43:51.000 に答える
-1

本当に心配なら、SHA バリアントの 1 つの代わりにワールプール ハッシュ関数を使用することを検討します。Whirlpool は信じられないほど強力なハッシュ方法であることが証明されており、衝突やその他の弱点の履歴はありません (少なくとも私は知っています)。

PHPのハッシュ関数を利用することで、ワールプールを利用することができます。(ただし、hash() には PHP 5.1.2 以降が必要であることに注意してください。)

于 2010-07-07T04:57:07.060 に答える
-2

あなたの現在のアプローチで十分です。

于 2010-07-07T03:38:06.230 に答える