为什么SHA512管理不符合FIPS?

时间:2012-10-16 14:12:06

标签: .net security encryption hash

正如标题所示,为什么当FipsAlgorithmPolicy在一台机器上处于活动状态时,SHA512Managed加密会导致InvalidOperationException

FIP标准不够安全,还是太安全了?

2 个答案:

答案 0 :(得分:4)

FIPS不是单一标准,而是一系列广泛的标准。

“符合FIPS标准”是一个冗余术语 - 由FIPS定义的算法的任何实现都是兼容的,否则它将无法与其他实现互操作。

现在,存在FIPS 140-2 - 一组规则(主要是与管理和IT相关的,而不是纯粹与编程相关的),它们定义了可以被视为“安全”环境的内容。

现在我们接近......算法可以通过“FIPS认证”,经认证机构认可,可以满足各种标准的要求,包括FIPS 140-2。

启用FIPS模式时,实际上要求仅使用Windows的FIPS认证模块。 Windows并未对所有加密模块进行认证 - 认证既昂贵又耗时,因此只有一组本机(非托管)模块经过认证,并且只有这些模块的特定版本得到认证。

简而言之 - SHA512Managed类未经过认证,因此不符合政策要求。

答案 1 :(得分:3)

FIPS140-x一般涉及加密模块,它们更多的是关于验证加密实施情况的工作量。

现在FIPS180-4完全是关于Secure Hashing Standard的,你可以在这里找到有关SHA512及其所有变种的详细信息。也许SHA512Managed不执行FIPS180同意的操作,或者可能没有评估该操作模式。