FIPS 140-3 是美国国家标准与技术研究院(NIST)发布的一项针对加密模块的安全要求标准,英文全称为 “Security Requirements for Cryptographic Modules (FIPS PUB 140-3)” 。该标准于 2019 年 3 月 22 日获得批准,用以取代之前的 FIPS 140-2 标准。它规定了在保护敏感但非机密信息的安全系统中,所使用的加密模块应满足的一系列安全要求。
安全等级划分
FIPS 140-3 定义了四个逐步增强的安全等级,即 1 级、2 级、3 级和 4 级。这些级别旨在覆盖各种可能使用加密模块的应用场景和环境。不同安全等级在多方面存在差异,以满足不同程度的安全需求。
1 级:要求验证至少一种批准的算法或安全功能,需要明确或隐含的身份验证、生产级组件以及进行功能测试。此为基础级别,适用于对安全要求相对较低的场景。
2 级:在 1 级基础上,增加了基于角色的身份验证要求,并且对物理安全方面提出了防篡改证据的相关要求。适用于安全需求稍高,需一定物理安全保障及角色权限管理的场景。
3 级:进一步要求基于身份的身份验证,同时增加了物理防篡改要求,对温度和电压等环境条件也有所规定,还需要为未受保护的密钥材料传输提供可信通道。适用于对安全性有较高要求,需严格身份验证和物理安全防护的场景。
4 级:要求基于多因素的身份验证,增加了篡改检测和响应机制,以及对故障注入缓解等方面的要求。这是最高安全等级,适用于对安全极为敏感,不容许任何安全漏洞的场景。
安全要求涵盖领域
该标准的安全要求覆盖了与加密模块安全设计、实施和操作相关的多个领域:
密码模块规格:对加密模块的功能、接口等方面进行详细规范,确保模块设计符合安全标准。
密码模块接口:定义了加密模块与外部系统交互的接口规范,保障数据交互的安全性。
角色、服务和身份验证:明确了不同角色在加密模块使用中的权限和服务范围,以及身份验证的相关要求,防止非法访问。
软件 / 固件安全:确保加密模块所使用的软件和固件不存在安全漏洞,防止被恶意攻击或篡改。
运行环境:对加密模块运行所处的环境条件,如温度、湿度、电压等作出规定,保障模块在适宜环境中稳定运行。
物理安全:从物理层面防止加密模块被非法访问、拆卸或破坏,例如采用防篡改外壳等措施。
非侵入式安全:防范通过非侵入手段,如电磁干扰、射频识别等方式对加密模块进行攻击。
敏感安全参数管理:规范对敏感安全参数,如加密密钥等的生成、存储、传输和销毁等操作,确保参数的安全性。
自检:加密模块需具备自我检测功能,能够定期或在特定事件触发时检测自身的运行状态和安全性,及时发现问题。
生命周期保证:对加密模块从设计、开发、生产、使用到最终报废的整个生命周期进行安全把控,确保在每个阶段都符合安全要求。
减轻其他攻击:针对其他可能出现的未知攻击方式,制定相应的防范和应对措施。
Photo for reference 涉及图片:
Sample report 样本报告: