2013-12-19 37 views
3

PBKDF2算法用於SimpleMembership提供程序(通用提供程序)2.0。它是非FIPS投訴算法嗎?請確保正確的解決方案?PBKDF2是非FIPS投訴算法?

+0

Websecurity.createuserandaccount有FIPS非投訴算法? – kalimuthu

回答

3

PBKDF2算法用於簡單會員提供程序(universalprovider)2.0是非FIPS投訴算法。

如果我正確閱讀這個問題,這裏有三個問題。首先,您正在詢問SimpleMembership的實施細節。其次,您在詢問PBKDF2是否被批准用於FIPS驗證的加密。第三,你在問SimpleMembership的PBKDF是否被批准使用。

首先

我似乎記得SimpleMembership使用非標準PBKDF。您應該在System.Security.Cryptography中使用Rfc2898DeriveBytes

一般來說,FIPS批准的算法和驗證的實現位於System.Security.Cryptography,它們是非管理。事實上,根據KB 811833,"System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing" security setting effects in Windows XP and in later versions of Windows

的Microsoft .NET Framework應用程序如Microsoft ASP.NET僅 允許使用由NIST認證 算法實現是FIPS 140標準。具體而言,可以實例化的唯一加密算法類是實現 FIPS兼容算法的算法類。這些類的名稱以 「CryptoServiceProvider」或「Cng」結尾。任何嘗試創建 其他加密算法類的實例(例如,名稱爲 的類以「Managed」結尾)會導致發生InvalidOperationException異常,從而導致發生 異常。

PBKDF2是如果使用經批准的哈希批准使用。由於Rfc2898DeriveBytes使用HMAC/SHA-1,因此您將無法使用它。 NIST SP800-56和SP800-57對於碰撞抵抗的哈希選擇非常清楚。

但是,您的用例有點不同 - SHA-1被用作僞隨機函數(PRF)。但是我只知道一個例外,其中SHA-1被允許用作PRF,這在TLS中。例外是SP800-108(IIRC)的腳註。

SimpleMembership的PBKDF沒有批准使用。