1

私は、ユーザーのパスワードをデータベースに保存しておくシステム(PHPベースですが、これには重要ではありません)に取り組んでいます。ただし、セキュリティの観点から、パスワードを保護する方法と、パスワード転送メカニズムの整合性を確保する方法について考える必要があります。

ソルトでハッシュされたDB内のパスワードを保護することを選択しましたが、ブラウザからサーバーへのパスワードの転送(安全でない接続で機能します)に関して、どのように確認できるかわかりませんそれ。

だから私の質問は、クライアントがパスワードを送信できるようにする安全なメカニズムを知っている人はいますか?それは、クライアントのブラウザのメモリを除いて、パスワードをプレーンテキストにすることなく、DB(ソルトを使用)と比較できますか?

4

1 に答える 1

4

これが業界全体で行われる方法は、SSLチャネルを介してクリアテキストでパスワードを送信することです。

つまり、ログインページ(およびログインページがロードするすべてのリソース)がHTTPS経由で提供されることを確認する必要があります。これにより、転送中のパスワードが保護されます。パスワードが反対側にあると、ハッシュしてデータベースにあるものと比較できます。

ハッシュまたはその他の難解なソリューションを送信すると(「ブラウザのメモリ内でのみクリアテキストのパスワードを尊重する」ため)、シークレットを別のシークレットと交換する以外に何も行われません。攻撃対象領域は変更されません。クライアント側でパスワードを難読化し、時間ベースのコンポーネントを追加できますが、とにかくすべてのロジックがクライアント上にある必要があるため、逆にすることができます。したがって、「隠すこと」を追加するだけです(隠すことによるセキュリティは価値がありません)。 )。

于 2012-06-13T16:53:31.440 に答える