サービスソルトの仕組みを知りたいです。パスワードを暗号化し、各ユーザーに一意のソルトを与える方法を知っています。しかし、サービスソルトを追加することで追加できる別のレイヤーもあると聞きました。それがどのように機能するのか興味があります。それと、ユーザー用に生成された一意のソルトの違いは何ですか?
ここで、サービス ソルトという用語を見ました: Web アプリケーション - パスワードの保存
サービスソルトの仕組みを知りたいです。パスワードを暗号化し、各ユーザーに一意のソルトを与える方法を知っています。しかし、サービスソルトを追加することで追加できる別のレイヤーもあると聞きました。それがどのように機能するのか興味があります。それと、ユーザー用に生成された一意のソルトの違いは何ですか?
ここで、サービス ソルトという用語を見ました: Web アプリケーション - パスワードの保存
「サービスソルト」(あなたが引用する質問では「サイト全体の静的ソルト」と呼ばれ、暗号文献では「ペッパー」と呼ばれることもあります)は、パスワードとパスワードとともにパスワードハッシュアルゴリズムに供給される単なる秘密の文字列です。ユーザーごとのユニークなソルト。
このような「サービスソルト」を持つことのポイントは、ユーザーごとのソルト値とは異なり、サービスソルトはデータベースではなく別の場所(通常は構成ファイルに保存されるか、アプリケーションにハードコードされる)に保存されることです。したがって、データベースを危険にさらすだけで、攻撃者がアプリの構成にアクセスすることを許可しない攻撃からパスワードを保護します。最新のWebアプリでは、このような攻撃シナリオは見た目ほどありそうにありません。たとえば、単純なSQLインジェクション攻撃がこのシナリオに適合することがよくあります。
覚えておくべき詳細の1つは、一意である必要があり、簡単に予測できない必要があるユーザーごとのソルトとは異なり、「ペッパー」には実際にはかなりの量のエントロピー(たとえば、128ビット)が含まれている必要があり、何の役にも立たないように秘密にしておいた。
いずれにせよ、パスワードハッシュの計算にこのような秘密の定数を含めるのは非常に簡単なので、そうしない理由はほとんどありません。パスワードハッシュアルゴリズムが明示的にサポートしていない場合でも、「」を追加するだけです。各パスワードに「コショウ」。
「ソルトされたパスワードを使用することによって提供される利点は、ソルトが十分に大きい場合、格納された値に対するルックアップ テーブル支援辞書攻撃を非現実的にすることです。つまり、攻撃者は事前計算されたルックアップ テーブル (つまり、レインボー テーブル) を作成できません。 ) ハッシュされた値 (パスワード + ソルト) の .
ソース: http://en.wikipedia.org/wiki/Salt_ (暗号化)
ソルトは、パスワードを簡単にハッキングすることを目的としたレインボーテーブルに対する逆チェックを防ぎます。「ソルト」は、ハッキングしやすいものを、ハッカーが解読しにくいものに変換します。
このAPIをいじってみることを強くお勧めします。 http://www.openwall.com/phpass/
それはあなたがセキュリティの専門家である必要なしにあなたのためにあなたのためにそのすべての本質的なパスワード生成をします。さらに、古い/弱いシステムで動作するようにフォールバックが組み込まれています。