FIPS140-2 仅处理加密模块必须运行和保护免受攻击的正确方式。一个人可以只兼容他的模块,或者一个人可以兼容并验证她的模块。有 4 个不同级别的合规性,从 1 到 4,较高级别比较低级别更具保护性。获得验证是一项昂贵的工作,通常由外部安全实验室完成。
FIPS140-2 没有讨论应用程序需要加密哪些数据。不同的标准机构,对每个感兴趣的行业部门都是独一无二的,建立了该行业特定的数据保护和加密的要求、程序和流程。例如,信用卡行业的 PCI DSS,医疗保健行业的 HIPAA。
这些机构可能会或可能不会要求加密模块符合 FIPS140-2,但肯定是一个谨慎的选择 - 至少从责任的角度来看。
infosecisland.com 的一些相关评论:
“我亲身完成了 FIPS 140-2 合规性任务:OpenSSL、OpenSSH、Sun Java 6、Apache Tomcat 5.5 和 6.0、Mozilla NSS。我可以告诉你,这些模块都没有在 FIPS 140-2 合规模式下运行默认情况下,让它们进入 FIPS 140-2 兼容模式并非易事,出于兼容性原因,在 FIPS 140-2 兼容模式下运行并不总是一个好主意。”
“请允许我澄清一些商业案例,即有人希望投入时间和费用来实现 FIPS 140-2 验证,而不仅仅是合规性:当你想出售与国防部或任何政府工作组加密相关的任何东西时“这将向国防部寻求安全规范。这不是典型的企业客户,而是需要 FIPS 140-2 提供的加密完整性保证的特定政府实体。”
因此,如果您的应用程序中没有密码模块,则 FIPS140-2 与您无关。如果您确实加密了程序的某些部分,例如数据或通信协议 - 无论是因为这是正确的做法,还是标准机构或客户要求或法规要求 - 并且您需要符合 FIPS140-2 ,该加密例程/模块需要遵守 FIPS 规范,甚至需要经过充分验证。