2016-10-13 8 views
0

以下のURLで、RijndaelとAsp.netのハッシング実装について、以下のサイトを参照しました。Asp.netアイデンティティハッシングはセキュリティ保護されていますか?

  1. Rijndaelの - パスワードのランダムバイトを取得するために使用され、次の実装の両方でASP.NET Identity default Password Hasher, how does it work and is it secure?

、 - How to generate Rijndael KEY and IV using a passphrase?

  • Asp.netハッシュ。 ラインダール

    Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(password, SALT); 
    

    Asp.netアイデンティティは、上記のコードの後に​​

    Rfc2898DeriveBytes bytes = new Rfc2898DeriveBytes(providedPassword, salt, HasingIterationsCount) 
    

    ハッシング、ラインダールは、返されたバイトの暗号化を適用します。 しかし、asp.netのアイデンティティは、saltバイト配列をそのままコピーし、ハッシュされたキーを返します。

    ここで私は混乱しました。 RijnDaelとAsp.netのIDハッシュは同じものを使用しますRfc2898DeriveBytes

    RijnDaelが(Rfc2898DeriveBytesの助けを借りて行われる)暗号化されたキーを復号化できる場合、なぜAsp.net Identityハッシュキーの復号化を行うことができますか?

    これを行う可能性はありますか? Asp.netのIDは保護されていますか?

  • +1

    1)作成されたと思ったことはすべて壊れる可能性があります - それは人生のルールです。したがって、asp.identity暗号化キーをどのように解読するかを理解するよりも、asp.identity暗号化キーをどのように把握すればよいでしょうか。 2)入力パスワードを暗号化する独自のアルゴリズムを作成し、このハッシュ文字列をAsp.netに送信してもう一度暗号化するよりも、ユーザーのパスワードをより安全にしたい場合。 3)ユーザー入力パスワードがデータベースにあるものと同じであるかどうかを確認する場合は、入力を暗号化し、このハッシュと既にデータベースに入っているハッシュとを比較する必要があります – DespeiL

    +0

    パスワードをハッシュする前に、セキュリティのための良いアイデアでしょうか? –

    +1

    "RijnDaelが暗号化されたキーを解読できるとき"。いいえ、ハッシュされたパスワードを解読することはできません。ハッシュと暗号を混同しますか? – Martheen

    答えて

    1

    はい、ASP.NETのパスワードハッシュ方法は安全です。あなたが提供した例で

    、ユーザーは(もラインダールとして知られているAES)のAdvanced Encryption Standardとして知ら暗号技術を使用しています。これがシークレットを解読できる理由です。

    ユーザーはkeyinitialisation vectorを得るために、Rfc2898DeriveBytesクラスを使用します。

    このクラスは、秘密メッセージをハッシュするために使用されません。暗号化はメッセージを隠すものです。

    ASP.NETは、Rfc2898DeriveBytesクラスを使用してパスワードをハッシュします。この手順は元に戻すことはできません。

    +0

    ありがとう@ローワンフリーマン。あなたは私が答えであると思ったものを持っています。どうもありがとう。 –

    関連する問題