1

現在、JBossポータルサーバー用のフォームベースのログインを作成しました。ログインページは次のようになります(HTTPSでのみ提供):

<form action="j_security_check" method="post">
     Enter UserName: <input name="j_username" type="text" />

     Enter Password: <input name="j_password" type="password" />

     <input type="submit" value="Submit" /> <input type="reset" value="Reset" />
     </form>

アプリケーションのセキュリティテストでは、パスワードをプレーンテキストで送信せず、代わりにMD5またはその他の暗号化を使用して、要求を傍受したときにパスワードを抽出できないようにすることをお勧めします。

これをJBossポータルフォームベースのログインに実装するにはどうすればよいですか?

4

1 に答える 1

1

ここで悪いアドバイスがあります。

リンクがSSL/TLSで保護されている場合は、パスワード自体をサーバーに送信するのが標準的な方法です。アプリケーションはそのパスワードを受け取り、それをハッシュし(MD5ではなく、正当なソルトハッシュ(またはbcrypt、そこでの最良のソリューション))、保存されているソルトハッシュと比較する必要があります。したがって、アプリケーションがユーザーパスワードを保存することはありません。そのため、パスワードファイル/データベースが危険にさらされた場合、誰のパスワードも公開されず、強力なソルトハッシュ/ bcryptアルゴリズムを使用すると、誰もハッシュをブルートフォースして実際のパスワードを回復することができなくなります。 。

ただし、これは、アプリケーション内のサーバー側で行う必要があります。アプリケーションはパスワードを取得し、このハッシュを実行する必要があります。クライアントでパスワードをハッシュし、実際のソルトハッシュをアプリケーションに送信すると、別の攻撃にさらされることになります。誰かがあなたのパスワードファイル/データベースを盗んだ場合、彼らはユーザーのパスワードのハッシュを知っているでしょう。クライアントにハッシュをサーバーに送信させると、攻撃者は送信するハッシュを正確に把握し、任意のユーザーのアカウントにアクセスする可能性があります。代わりに、クライアントにパスワード自体を送信させ、サーバーにパスワードに基づいてハッシュを生成させるようにします。これにより、攻撃者はユーザーとしてログインしようとして何を送信すればよいかわかりません(ソルトされたハッシュを取得して回復することはできないため)。強力なソルトハッシュ実装を想定した、そこからのパスワード)。

于 2011-12-29T17:32:30.253 に答える