ペイロードではなく認証をセキュリティで保護するにはどうすればよいですか?
-
03-07-2019 - |
質問
認証を保護するための既存のHTTPプロトコルを探していますが、それに続くペイロードは探していません。サーバーにユーザー名、ハッシュされたパスワード、ユーザーごとに異なるソルトを保存してほしい。
すべてのアカウントが同じソルトを使用するため、HTTPダイジェスト認証はこれらの要件を満たしません。 SSLは接続全体を暗号化するため失敗します。
編集して追加:
これは、Webサービスと通信するデスクトップクライアント用です(ブラウザは含まれません)
解決
認証メカニズムをSSLで保護してから、通常のHTTPで実行されるアプリケーションの残りの部分に転送するだけではどうですか?
他のヒント
一般的なスキームは、ログインフォームをSSLで保護し、サイトの残りの部分ではSSLを使用しないことです。たとえば、人気のソーシャルネットワーキングサイトをご覧ください。
ユーザーを示すために元のリクエストURLを構成する方法はありますか?次に、サーバーは、HTTPダイジェスト認証応答のすべてのユーザーに対して異なる「レルム」(「塩」として機能)で応答できます。たとえば、 http://user.y.com/service
または http://www.y.com/user/service
の形式のリクエストURLは、次のようなチャレンジレスポンス:
WWW-Authenticate: Digest realm="user@y.com", nonce="oqa9hvq49krprkphtqc"
「暗号化なし」の原因は何ですか?委任?中間者攻撃の対象になっている場合、リクエスト全体の整合性を保護する必要があります。そこでは、SSLが非常に役立ちます。絶対に暗号化できない場合、暗号化されていない暗号スイートを使用したSSLは受け入れられますか?
所属していません StackOverflow