2012-03-28 11 views
0

パスワードを暗号化してDBに保存するjava関連のアプリケーションがありますので、パスワードを復号化して認証に使用し、パスワードを再度暗号化してDbに保存する必要があります基本的に私たちは暗号検証のためのencyption/decrption標準を使用しています。これはもともとDESedeアルゴリズムを使って実装されていました。だから私たちはそれらのecryption標準をいくつかの新しい標準に更新する必要があります。DESedeからAESへのJava暗号化標準のアップデート

私はAES-256アルゴリズムを考えていますので、有効な提案です。

+2

認証にハッシュを使用する代わりに、パスワードを暗号化する理由はありますか? –

+0

私たちはエンタイトルメント管理アプリケーションのようなもので、ユーザー認証のために高いセキュリティを必要とするため、パスワードを暗号化して解読する必要があります – redneck

答えて

2

暗号化/セキュリティの場合と同様に、間違ってしまうのは簡単です。 既存の標準/実装を見てください。 「パスワードを保護する」作業については、RFC 2898/PKCS#5 PBKDF2を検討してください。 http://www.faqs.org/rfcs/rfc2898.htmlhttp://www.rsa.com/rsalabs/node.asp?id=2127

をチェックしてくださいあなたは、おそらく実際に暗号にパスワードを望んでいません。あなたはシュラウドにしたいです。これを行うための既知の方法の1つは、シードされ反復されたハッシングを適用することです。パスワード自分でにアクセスする方法がないことを確認してください。そうしなければ、あなたのデータを読むことができる人は誰でも簡単に仕事をすることができます。使用されたIDとパスワードとシードが与えられたら、シュラウディングを再度適用して、結果を比較します。

もちろん、ブロック暗号を一方向関数に変換する方法があります。おそらく、あなたのシステムが既にそれを正しく実行している可能性があります。もしそうなら、ブロック暗号の単純な置き換えはおそらくOKかもしれません。