2011-02-18 9 views
2

古いパスワードでOAuthを使用していないユーザーもいるので、実際にパスワードを解読できるようにする必要があります。したがって、片方向のハッシュは私のためには機能しません。私はAESでパスワードを保存し、パスワードの塩漬けされたハッシュをキーとして使用する最良の方法だと言われました。どのように私はすべてのキーを格納し、私は塩を格納するのですか?基本的に私はこれをどうやって正確に実装しますか?AESを使用してパスワードを保存する

+0

あなたの質問はあまり意味がありません。これらの「古いウェブサイト」にアクセスするためにあなたのクレデンシャル(ログイン/パスワード)を使用していますか?つまり、*あなたの*各ユーザーは、これらのサードパーティのウェブサイト上に自分のアカウントを持っているのですか、あなたの*アカウントを共有できるのですか?あなたのユーザーは*あなたの*ウェブサイトにパスワードでログインしていますか? – erickson

答えて

1

私が正しく理解している場合は、次のような状況になります。ユーザーは、ユーザー名とパスワードでシステムにログインします。あなたのシステムは、あなたが与えたシステムのユーザーのユーザー名とパスワードを使って制御しない別のシステムにログインすることによって、これらのユーザーを偽装する必要があります。

これが正しい場合は、AESを使用して他のWebサイトの資格情報を暗号化するのが妥当かもしれません。この場合、私はこれらのクレンドセンタを暗号化するために使用された鍵を保存しません。ユーザーがシステムにアクセスするために使用するパスワードは、キーとして使用する必要があり、どこにも保管しないでください。このようにして、ユーザーのプライバシーを保護する機会が得られます(もちろん、システムの残りの部分の設計によって異なります)。

ハッシュではなく暗号化しているため、暗号化キーがユーザーごとに異なるため、塩漬けは必要ありません。

また、パスワードだけでなく、資格情報もすべて暗号化します。あなたのユーザーは最初に信用証明を与えて信じられないほどの信用を示しているので、私は信用を正当化するために可能な限りすべてをやります!

0

あなたのアプローチは、ハッシュ関数としてAESを使用することが本質的であるが、これはあなたが(ブルートフォースまたは一部まだツー・発見され、脆弱性の短い)のパスワードを解読することはできませんありがとうございました。

代わりに非対称キー暗号化(RSAなど)を考慮する必要があります。パスワードを解読する必要があると思われる各人の公開鍵(ユーザーを含む)でパスワードを暗号化する必要があります。