1. FIPS 概述与历史

1.1 什么是 FIPS?它从哪来?

FIPS 的全称是 Federal Information Processing Standards,翻译过来就是“联邦信息处理标准”。说白了,这是美国联邦政府给自家用的技术规范。我刚开始接触这玩意儿的时候也纳闷:这不就是一个标准吗?后来在一个政府云项目里被卡了半年才明白——FIPS 不是建议,是强制要求。你不合规,就不能拿联邦合同。

FIPS 最早出现在 1968 年,当时美国商务部下属的国家标准局(NIST 的前身)开始发布系列标准。最开始挺杂的,连磁带记录格式、字符编码这种基础东西都管。真正让 FIPS 变得重要的转折点,是 90 年代后期网络安全开始受关注。我记得当年有个老同事开玩笑说:“FIPS 以前是图书管理员的标准,现在变成了保安的标准。” 嗯,这个比喻还挺贴切。

1.2 发展历程:从纸面到强制

时期关键事件对联邦系统的影响
1968—1980NBS 开始发布 FIPS 1–50主要规范数据格式、磁带、编码,影响有限
1981—1995FIPS 140 前身标准出现第一次把“安全”写进标准名称
1996—2005FIPS 140-1 / 140-2 发布加密模块成为合规焦点,我开始做第一个 FIPS 审计
2006—2015SP 800 系列与 FIPS 深度绑定联邦系统必须使用 NIST 批准的算法
2016 至今FIPS 140-3 / 新版 200 系列引入 CVL、模块分级更细

一个关键事实:FIPS 140-2 到 140-3 的过渡期长达 6 年。我见过不少团队以为“拖到旧版本失效才升级”,结果最后一个月被审计卡住。个人建议:一旦新版发布就启动规划,别等。

1.3 为什么 FIPS 在联邦系统中这么重要?

你想想看,联邦政府每年在 IT 上花好几百亿美元。如果每家承包商各搞一套加密、各用各的算法,那系统间根本没法互操作。FIPS 就像一把统一尺子——所有必须用它量。

具体来说,重要性体现在三个维度:

  • 合规强制:所有联邦机构、政府采购的系统、合同商都必须遵守。FIPS 140 是法定门槛。
  • 供应链安全:你用的加密芯片、密码模块必须经过 FIPS 验证。我曾做过一个审计,发现某硬件厂商悄悄改了算法实现,导致整个系统的验证失效。还好在正式部署前被发现了。
  • 互操作底线:不同机构间交换数据、共享签名,必须依赖同一套标准。不然 A 签的文件 B 读不了,那联邦工作就没法干。

⚠️ 注意:FIPS 只是最低要求,不是最高安全。千万别觉得“过了 FIPS 就等于安全”。我遇到过客户把全部安全策略押在 FIPS 上,结果密钥管理流程一塌糊涂。审计是起点,不是终点。

1.4 谁在管 FIPS?谁来审计?

管理主体是 NIST(美国国家标准与技术研究院)。它发布标准、维护算法列表、组织 CMVP(加密模块验证程序)。审计工作主要由第三方实验室执行,比如 CW Laboratories、atsec 这些机构。最终证书由 NIST 和加拿大 CSEC 联合签发。

我在审计中接触最多的是 FIPS 140-2 和 FIPS 140-3 的测试要求。两者差异不小,后面章节会详细拆解。这里先提醒一句:如果现在还在做新设计,尽量瞄准 140-3,因为 140-2 的证书在 2026 年之后就不再更新了。

1.5 一张图看懂 FIPS 核心结构

下面这张图概括了 FIPS 在联邦信息系统中的位置,以及它的核心组成。我个人习惯先把大框架画出来,再一点点填细节。你看了就知道,FIPS 不是一个孤立的“加密标准”,而是一整套规则体系。

FIPS 核心结构:标准、算法、模块、审计 FIPS 在联邦系统中的位置 联邦信息系统 采购 & 合同要求 (FAR / DFARS 引用) 密码模块 (FIPS 140-2 / 140-3) 算法与密钥 (FIPS 186 / SP 800-xxx) 合规审计 供应商资质 物理安全 逻辑接口 密钥管理 AES / SHA / RSA 随机数生成 FIPS 不是某一本标准,而是一整套“标准家族” 涵盖从算法、模块到合同、审计的完整链路

1.6 我的第一份 FIPS 审计教训

有一次,负责审计一个数据加密网关。团队把 AES-256 实现放在了一个硬件模块里,所有算法都选对了,测试向量也过了。但审计员看了一眼就说:“你模块的固件更新接口没有强制签名验证。” 就这么一条,整个项目被挂了三个月。

我后来总结了一套经验:FIPS 审计不是测算法对不对,而是测你的实现方式和流程有没有漏洞。算法对是应该的,真正容易栽跟头的往往是物理安全、角色分离、自检逻辑这些“非算法”的地方。

💡 个人习惯:每次做新项目,先把 FIPS 140-3 的 11 个要求域打印出来贴在工位上。什么安全等级、哪条是必选项,一眼就能扫到。这个小动作帮我避了不少坑。

1.7 常见误解你得知道

  • 误解一:FIPS 只跟美国有关。 不对。很多跨国企业、云服务商(AWS、Azure)都把 FIPS 140 作为全球安全基准。我在国内的项目也经常被客户要求对标 FIPS。
  • 误解二:过了 FIPS 就无需其他认证。 审计不是免死金牌。FIPS 只覆盖密码模块,系统层面还有 FedRAMP、SOC 2 等一堆等着你。
  • 误解三:FIPS 禁止使用非美国算法。 其实它只是要求:如果用了非标准算法,必须单独列出来说明,且不能在联邦场景中作为唯一加密手段。我曾经在项目中用过 SM4,合规方案是把 SM4 和 AES 并行,联邦流量走 AES,国内流量走 SM4。

1.8 FIPS 版本演变:一张速查表

标准版本发布年份当前状态主要变化
FIPS 140-11994已废止首次定义 4 个安全等级
FIPS 140-22001有效(2026 年 9 月后停发新证)引入角色分离、固件完整性验证
FIPS 140-32019当前主流采用 ISO 19790,增加 CVL 和 EAL 映射

🛑 特别提醒:如果你现在还在计划启动一个基于 FIPS 140-2 的新模块设计,我希望你三思。转化成本比你想的高。我曾经二次审计过一个转版项目,光文档重写就花了两个月。新设计直接上 140-3 吧。

1.9 小结:这一章你要带走什么?

FIPS 是联邦系统的“技术宪法”,不遵守就没法进场。它从 1968 年走来,已经演变成一个包含标准、算法、模块、合同、审计的完整生态。你不需要记住所有历史细节,但要理解:FIPS 审计的核心是“验证你像你说的一样安全”,而不是“检查你用了什么算法”。