問題タブ [salt-creation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
27683 参照

php - ハッシュで使用するためのランダムで長いソルトを生成するにはどうすればよいですか?

PHPで、ハッシュで使用するためのランダムな可変長ソルトを作成する方法は何ですか?16文字の長い塩を作りたいとしましょう-どうすればいいですか?

0 投票する
1 に答える
378 参照

asp.net-mvc-2 - パスワードのソルト-タイムスタンプを使用するよりも優れたオプションはありますか?

現在、いくつかのASP.NET MVC 2サイトを構築していますが、パスワードをソルトするためのオプションは何でしょうか。私のPHPの仕事では、通常、ユーザーが登録したときのタイムスタンプを取得し、SHA1を使用してすべてをハッシュする前に、パスワード文字列の最後にタイムスタンプを追加しました。私の本能は、このアプローチでは不十分かもしれないということです。

とにかく、私はASP.NETを使用したユーザー管理にかなり慣れていないので、最初からベストプラクティスを開始することが私の最大の利益になると思います。ASP.NET Webフォームには組み込みのユーザー管理が利用できることは知っていますが、MVCについてはよくわかりません。

0 投票する
1 に答える
1578 参照

php - ポータブル PHP パスワード ハッシュ フレームワークでソルトを作成する

ポータブル PHP パスワード ハッシュ フレームワークを使用してパスワードをハッシュしたいと考えています。しかし、そのデモでは、パスワードのハッシュにソルトが使用されていないことがわかりました。しかし、パスワードをチェックするためにダミーのソルトを使用していますが、これは奇妙で、この考えがまったくわかりません。

一意のソルトを生成してデータベース内の各ユーザーに保存できる慣習的な方法を使用したい場合、Portable PHP パスワード ハッシュ フレームワークを使用してソルトを生成するにはどうすればよいでしょうか?

これは私がパスワードをハッシュするために使用する関数ですが、sha512 には sha1 と同じ問題があると言われています。ポータブル PHP パスワードハッシュフレームワークのような専門家を信頼するのが賢明です。

何かアイデアがあれば教えてください。ありがとう。

0 投票する
1 に答える
399 参照

security - 塩の場所、塩の隠蔽

次のシナリオについて質問があります
。パスワードを暗号化するためにjasyptを使用し、暗号化に特定のソルトを使用したい。

次の場合は意味がありますか(またはセキュリティへの影響がありますか):
パスワードベースの暗号化を使用して、環境変数から取得したパスワードでソルトを暗号化します。これにより、ソルトの暗号化された値をプロパティファイルに含めることができます。そこから取得し、環境変数から取得したパスワードを使用して復号化します(実際には、EnvironmentStringPBEConfigオブジェクトを取得し、EnvironmentStringPBEConfigオブジェクトから環境変数を取得し、EnvironmentStringPBEConfigが作成されたら環境変数を削除します)。塩。

ありがとうございました。

編集:上記のように塩を「隠す」ことが良い習慣であるかどうかを知りたいので、現在そのようなソリューションを実装していないことに注意してください。

編集: OWASPからの次の推奨事項にも注意してください。

推奨事項:塩全体を盗むのを難しくします

検討のために、基本的なソルティングメカニズムに推奨される追加の拡張機能がいくつかあります。

システム全体の固定値である追加の「システム」ソルトを用意します。これは、構成ファイルのどこかに保存する必要があります。この固定値をすべてのバックアップに含める必要はないため、攻撃者がハッシュ値を適切に計算するために必要なすべての要素を侵害することはさらに困難になります。システムソルトの一部をソースコードに埋め込む。これはオープンソースコードにはあまり役立ちませんが、カスタムアプリケーションの場合、システムソルトの一部をコードに含めることは、攻撃者がハッシュ値を適切に計算するために必要なもう1つの項目になります。ユーザーのパスワードが変更されるたびに、アカウントの新しいソルトを生成します。

推奨事項:塩の分離

追加のパスワードストレージ防御メカニズムには、パスワードハッシュとは異なる場所にソルトを保存することが含まれます。サーバーのファイルシステムの使用は、パスワードハッシュがデータベースやLDAPサーバーなどの別の場所に保存されていることを前提として、ソルト分離に一般的に使用されるメカニズムの1つです。この防御メカニズムにより、データベースファイルが盗まれた場合のパスワードの盗難のリスクが軽減されます。これは、ソルトがデータベースデータに含まれないためです。パスワードハッシュとソルトの両方が一緒にバックアップされないように注意してください。これらも別々にバックアップする必要があります。

0 投票する
2 に答える
139 参照

php - PHPログインシステムのソルト生成コードの拡張と使用

私はWebプロジェクトのphp/mysqlログインシステムに取り組んでいます。SOとウェブ上の多くの記事を調べた後、私は基本的なフレームワークを考え出し、そのためのコードを書き始めました。しかし、私はパスワード暗号化で少し行き詰まりました。

読む価値のある夜の後、私はそれを発見しました:

  • ユーザーのパスワードは少なくともsha1またはsha2である必要があります
  • また、ランダムに生成されたソルト(これは私が助けを必要としているものです)を使用し、暗号化する前にパスワードに追加する必要があります
  • ハッシュ化されたパスワードとランダムに生成されたソルトはデータベースに保存され、クエリされ、結合/暗号化されてから、ユーザーのハッシュ化されたパスワードと照合されます。

私の問題は、塩をランダムに生成することです。

0 投票する
4 に答える
2144 参照

security - base 64 でパスワードをソルティングするのは安全ですか?

Web アプリケーションでは、/dev/urandom から数バイトを読み取って、パスワードをハッシュするためのランダムなソルトを取得しています。

ハッシュする前にソルトをbase64にするのは良いですか? base64 エンコーディングでは末尾に = が追加されることがあるため、既知のプレーンテキスト攻撃が発生する可能性があります。しかし、ソルトはデータベースに保存されているため、問題はないかもしれません。それとも間違っていますか?

これはアプリケーションのセキュリティに影響しますか?

0 投票する
4 に答える
5105 参照

java - Java - ランダムなソルトの生成はランダムではありません

パスワードを安全に保管するために、ハッシュアルゴリズムで使用するソルトを Java で生成しようとしています。次のコードを使用して、ランダム ソルトを作成しています。

私のハッシュアルゴリズムで使用するために、完全に安全でランダムに生成されたソルトを生成する必要があります。ただし、コードを実行すると、毎回同じソルトが出力され続けます...生成されるソルトがまったくランダムではないことを示しています。

明らかなセキュリティ上の理由から、各ユーザーには一意のソルトが必要ですが、新しいアカウントが作成されるたびにこのコードを使用すると、すべてのユーザーが同じソルトを持つことになり、そもそもそれを持つ目的が無効になります。

私の質問はこれです:なぜこれは私に同じソルトを与え続けるのですか?コードが実行されるたびに生成されるソルトが完全にランダムになるようにするにはどうすればよいですか?

編集:

修正され、適切に動作するハッシュプログラム全体のソースコードを含めたいと思いました。これは、アカウントの作成時にハッシュを生成し、システムにログインするときにパスワードをチェックすることをシミュレートする単純なプロトタイプです。