PBKDF2是一种非FIPS认证的算法?

4

PBKDF2算法被用于SimpleMembership提供者(通用提供者)2.0中,它是否是非FIPS Complaint算法?请确保正确的解决方案。


Websecurity.createuserandaccount是否使用了FIPS不符合标准的算法? - kalimuthu
1个回答

6
“PBKDF2算法被用于SimpleMembership提供程序(universalprovider)2.0中,是一种非FIPS Complaint算法。”
“如果我理解正确,这里有三个问题。首先,您正在询问SimpleMembership的实现细节。其次,您正在询问PBKDF2是否获得了FIPS验证密码学的批准。第三,您正在询问SimpleMembership的PBKDF是否获得了批准。”
“第一个问题”
“我记得SimpleMembership使用了非标准的PBKDF。您应该在System.Security.Cryptography中使用Rfc2898DeriveBytes。”
“一般来说,获得FIPS批准的算法和验证实现位于System.Security.Cryptography中,它们是非托管的。实际上,根据KB 811833,{{link1:“系统密码学:在Windows XP及更高版本中使用FIPS兼容算法进行加密、哈希和签名”安全设置影响}}:”
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)。但我只知道一个例外情况,即在TLS中允许使用SHA-1作为PRF。该例外情况是SP800-108中的脚注(如我所记得的)。
第三

SimpleMembership的PBKDF未获批准使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接