2012-02-16 8 views
-1

私は以下のようなシナリオに関する質問があります:
パスワードを暗号化して暗号化するためにjasyptを使いたいと思います。塩の場所、塩の隠蔽

次の場合は
私は環境変数から取得したパスワードで塩を暗号化するためにパスワードベースの暗号化を使用します。暗号化された値を持つことができます。私は環境変数から取得するパスワードを介してそれを解読する(実際にはEnvironmentStringPBEConfigオブジェクトを持つことになり、EnvironmentStringPBEConfigオブジェクトはEnvironmentStringPBEConfigオブジェクトから環境変数を取得し、EnvironmentStringPBEConfig最終的に塩を使います。

ありがとうございます。

編集:上記のように塩を隠しているのが良い習慣であるかどうか知りたいのですが、私はそのような解決法を今実装していません。

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

推奨:それは難しい全体の塩を盗むために作る

追加の推奨機能強化の数が、検討のための基本的な塩漬け機構にあります

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

推奨:塩の単離

追加のパスワード記憶防御機構は、パスワードハッシュとは異なる場所に塩を格納することを含みます。パスワードハッシュがデータベースやLDAPサーバーなどの別の場所に格納されていると仮定すると、サーバーのファイルシステムの使用は、塩分の分離によく使用されるメカニズムの1つです。この防御メカニズムは、塩がデータベースデータに含まれないため、データベースファイルが盗まれたときのパスワード盗難のリスクを軽減します。パスワードのハッシュと塩の両方が一緒にバックアップされないように注意してください。また、分離してバックアップする必要があります。

答えて

2

なぜ塩を暗号化しますか?塩は通常、公開情報です。パスワードのデータベースに対する事前計算された「虹の表」によるオフライン攻撃を防ぐためにのみ存在します。私はあなたが何をしようとしているのか、またその理由についてより明確にする必要があると思います。

+0

アイデアは、予防のためだけに塩を見つけるのが難しく、私の質問は「それは意味をなさない」から始まることに注意してください。私は実際にそうしているとは言いませんでした。上記のように塩を隠すのにも適しているかどうかを知る –

+0

OWASP iの推奨事項にも注意してください。 –