私はクライアントで使用されているWCFサービスを持っていますが、以下は現在のユーザー認証の実装です。RSACryptoServiceProviderクラスを使用して暗号化されたパスワードをDBに挿入しますか?
私は、クライアントがすべての(ファイルに保存されている)は、公開鍵を使用して、ログインし、それを送ってパスワードを暗号化する必要があり、データベースに
を暗号化されたユーザーのパスワードを保存するためにRSACryptoServiceProvider クラス(RSAの実装)を使用しています秘密鍵を使用して、ユーザー名、サーバー側で
指定されたユーザー名の暗号化されたパスワードを選択して、復号化されたパスワードを比較 ログインの方法は、(ユーザとDB 1により送信された)場合のロギング方法
注:生成された同じ公開 キー新しい暗号化されたバイトでRSAを使用して 文字列を暗号化するたびに、 ので、私は暗号化された パスワードを比較することはできませんし、私は
PS 答えは誰もがそうWH、彼は秘密鍵を持っている場合を除き、パスワードを解読することはできません場合、私が求めています
「認証目的のためにあなたは、可逆暗号化を使用してパスワードを保存しないようにすべきである」と言いますで、問題は、ハッシュは可逆ではないが、それは壊れている!
これは強く推奨できません。ユーザーのパスワードに戻ることのできるものは決して保管しないでください。常にハッシュを使用し、元のパスワードではなくハッシュされたパスワードを比較してください。 – Andrew
データベースが盗まれてもパスワードクラッカーを防ぐことができると私は推測しました –
攻撃者は、RSA暗号化パスワードを持つデータベースに対してハッシュされたパスワードを持つデータベースを好んでいます。パスワードが暗号化されても、攻撃者は辞書検索を実行できます。攻撃者は事前計算テーブルを使用できません。データベースがRSAで正しく暗号化されている場合、辞書攻撃は不可能です。 – Accipitridae