Clear Text PasswordがWebサービスプロデューサーに保存されていない場合、PasswordDigestの代替とは何ですか?

StackOverflow https://stackoverflow.com/questions/3109232

質問

シナリオ:

Webサービスプロデューサーには、データベースに保存されているパスワードのSHA-1ハッシュのみがあります。ユーザー名/パスワードの組み合わせを使用して、Webサービスユーザーを認証する必要があります。


WebサービスセキュリティUsernAmetokenプロファイル この目的のために石鹸ヘッダーを追加できます。

この要素は、ユーザー名を提供する方法として、WSS:SOAPメッセージセキュリティドキュメントに導入されています。

要素内で、要素を指定できます。タイプのPasswordTextとPasswordDigestのパスワードは、実際のパスワードに限定されませんが、これは一般的なケースです。 (146-151)

PasswordTextパスワードタイプとは、パスワードがワイヤー上で送信されることを意味します。これは、トランスポートレベルのセキュリティメカニズムを使用していない場合、セキュリティの問題です。 PasswordDigestは、単純なテキストのパスワードの送信を避け、ハッシュを送信します。ただし、リプレイ攻撃を避けるため(つまり、ハッシュされたパスワードをキャプチャして別のリクエストで再送信するためにWiretapを使用して攻撃者)。パスワードディジェストは、ハッシュを計算する前にタイムスタンプと乱数をパスワードに追加します。この追加は、次の制限をもたらします。

PasswordDigestは、リクエスターと受信者の両方がプレーンテキストパスワード(またはパスワード等価)が利用できる場合にのみ使用できることに注意してください。 (196-197)


しかし、私たちの場合、単純なテキストパスワードはありません。私の質問は、サーバーでプレーンテキストのパスワードを使用できるようにするために、他にどのような代替品を持っていますか?

役に立ちましたか?

解決

SHA-1は、「平文」パスワードとして完全に使用できます。

  • ユーザーにパスワードに尋ねます
  • SHA-1に変換します
  • PasswordDigestのものを通してそれを実行します
  • サーバーはデータベース内のSHA-1で同じことをします
  • サーバーは、彼らが一致してアクセスを許可することを見つけます
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top