.NET Framework 4.8的FIPS合规性验证及实现方式咨询
.NET Framework 4.8 FIPS合规性研究结论确认与疑问解答
研究结论确认
- Microsoft Enhanced RSA and AES Cryptographic Provider 已不再符合FIPS合规要求,因其底层实现
rsaenh.dll的认证已属于历史认证。 - 调用
AES.Create使用AES的方式不符合FIPS合规,因为它会默认使用AesCryptoServiceProvider,而该组件依赖上述已不合规的加密提供者。正确做法是直接实例化AesCng,它基于符合FIPS合规的bcryptprimitives.dll实现,拥有有效的NIST认证。 - 使用
RNGCryptoServiceProvider时,可通过传入指向智能卡的csp参数来实现FIPS合规,但AesCryptoServiceProvider不支持自定义csp参数,因此无法通过该途径达成合规。
疑问解答
如今使用Microsoft Enhanced RSA and AES Cryptographic Provider并不会自动重定向到bcryptprimitives这类合规组件,该提供者本身确实已不符合当前FIPS合规要求。为确保环境满足FIPS合规标准,建议你迁移至CNG(Cryptography Next Generation)实现,比如AesCng这类基于CNG的加密类。
内容的提问来源于stack exchange,提问作者Mari Faleiros
相关产品推荐
相关产品推荐

