8

私は私たちのウェブサイトのセキュリティを強化する必要があり、現在ここでガイドを使用しています:http: //crackstation.net/hashing-security.htm、そしてまたここでランダムパスワードの生成:https ://defuse.ca/generated -random-passwords.htm。どちらもmcrypt_create_iv()ランダムなバイト(またはビット?)を生成する関数を使用していると思いますが、何らかの理由で、CentOS 6でphp-mcryptをインストールするときにエラーが発生します。幸い、最初のリンクにopenssl_random_pseudo_bytes()は、CSPRNG(およびPHPのドキュメントと他の情報源もその主張を裏付けています)、そしてPHP 5.4の現在のサーバーインストールで利用可能であるため、現時点ではそれを使用するしかありません。これらを念頭に置いて、私は次のことを聞きたいと思います。

  1. セキュリティに影響を与えることなく、直接コード置換で十分ですか?(つまり、tomcrypt_create_iv()への呼び出しを置き換えるだけで十分openssl_random_pseudo_bytes()ですか?)

  2. コード(http://crackstation.net/hashing-security.htm#properhashing)で言及されている定数について、ガイドは「[m]ソルトが少なくともハッシュ関数の出力と同じ長さであることを確認してください」と述べています。関数の出力は、使用される基礎となるアルゴリズムが32(256ビットの場合)ではなく24バイトであるため、PBKDF2_SALT_BYTESとは両方とも24バイトに設定されていると仮定するのは正しいですか?(はい、私もキーストレッチを使用しています。)関連するメモでは、24バイトで問題ありませんか、それとも増減する必要がありますか。また、どのような影響がありますか?PBKDF2_HASH_BYTESpbkdf2()sha256

答えてくれる人たちに感謝します。

4

1 に答える 1

8
  1. openssl_random_pseudo_bytes($len, true)どちらの関数も暗号的に安全な疑似乱数ジェネレーター(NB:と)であるため、セキュリティは影響を受けないと思いますmcrypt_create_iv($len, MCRYPT_DEV_RANDOM)
  2. PBKDF2_SALT_BYTESテスト関数でのみ使用され、それ自体では使用されcreate_hash()ませんpbkdf2()。したがって、これらのCSPRNGを使用して独自のソルト生成機能を実装する必要があります。
于 2012-09-03T15:13:11.053 に答える