FIPS 合规性(或欧洲同等水平,如 EAL 级别)是某些市场或实现某些合法属性的要求;例如,在法国,时间戳被认为是合法的证明(证明责任在于声称时间戳不具约束力的一方),只有当时间戳权威通过认证过程时,它是必需的“认证” HSM(硬件安全模块)用于存储和使用授权私钥。如果这种情况发生在美国而不是法国,那么“经过认证的 HSM”将是“符合 FIPS-140 4 级的 HSM”。
在私有领域(例如银行),对认证和/或 FIPS 140 级别的要求来自保险公司:银行可以以疯狂但可行的价格获得保险,因为他们可以证明他们使用严格的安全规则,而 FIPS 140 级别是这样的规则。VISA 和万事达卡对安全性特别严格(这关乎金钱,因此很重要)。
在更实际的情况下,FIPS 140 级别是通过证明实现了一些安全特性来获得的(参见@bethlakshmi 的回复),这涉及硬件和软件。由于通常无法证明软件的正确性,因此认证过程涉及表明系统是通过所有应有的工艺开发的(单元测试、代码审查、经过验证的源代码版本控制,直至并包括对开发人员本身的背景调查)。这涉及时间、金钱(想想 10 万美元以上)和大量纸张。所以真正的,实际的意义符合 FIPS 140 的一个原因是有人花了很多时间和金钱来认为系统并非公然不安全。这并不意味着该系统是安全的,但至少有一些实质性的努力和投资来实现这一目标。
大多数开源项目都使用集市模型,这种模型可以高效地快速生成优质代码,但与认证过程完全不兼容。此外,大多数开源项目没有资金或资金很少。这就解释了为什么 Bouncy Castle 不符合 FIPS 标准,甚至像 Sun(现在的 Oracle)这样的大公司也不愿意运行该流程。再说一次,不符合 FIPS 并不意味着“不安全”,甚至不能宣布系统符合 FIPS,只是没有人认为通过正式的 FIPS 合规的昂贵管理障碍值得付出努力。