1

scryptユーザーのパスワードの強力なハッシュを生成するために使用しています。ユーザーをログインさせたいが、パスワードをプレーンテキストでネットワーク経由で送信したくない場合、パスワードがソルト化されているため、(往復なしで) 正しいかどうかを確認するにはどうすればよいですか?

クライアント/サーバーのシナリオがあります。クライアントはデスクトップ コンピューター上のアプリケーションです (Web サイトや http サーバーではありません)。

どうすればこれを達成できますか?ここまで来ただけです。クライアントでソルト + ハッシュを生成し、それから mcf を作成してサーバーに送信します。mcf をデータベースに保存します。私はパスワードを送信していません。実際には役に立たないハッシュだけです (scrypt は非常に強力であり、元に戻すには数百万年かかるため)。プレーンテキストのパスワードをサーバーに送信して比較することなく、ユーザーをサービスにログインさせるにはどうすればよいですか? 別のソルトのために別のハッシュになるため、再ハッシュできませんか? ソルトをクライアントに送信し、パスワードをハッシュし、ハッシュをサーバーに送信し、それを比較して、認証トークンを送り返す必要があります。

どうすればこれを達成できますか?認証トークンは実際に安全ですか? 誰かになりすますために簡単に使用できますね。

4

2 に答える 2

1

あなたの質問に簡単に答えることはできません. しかし、グレイが言うように、TLS 保護は必要です。

クライアント側の暗号化処理を行いたい 場合に、これを行う正しい方法について詳細な説明を提供する 2 つの情報源があります。

  1. Web アプリケーションのデータベースでパスワードを保護する方法。すべての理論的根拠を理解したくない場合は、セクション 4 にジャンプして実装を確認してください (PPF = your scrypt)。
  2. サーバーを過負荷にすることなくブルート フォース攻撃に対するセキュリティを向上させる潜在的な方法としてのクライアント プラス サーバー パスワード ハッシュ

それらはわずかに異なるソリューションですが、同じアイデアに基づいており、どちらでも十分です。

于 2015-09-30T22:50:16.227 に答える