安全域 | 安全一级 | 安全二级 | 安全三级 | 安全四级 | |
1.密码模块规格 |
密码模块、密码边界、核准的密码功能及正常的工作模式的说明; 密码模块的描述,包括所有硬件、软件和固件部件; 所有服务提供状态信息以指示服务何时按照核准的方式使用核准的密码算法、安全功能或过程; |
||||
2.密码模块接口 |
要求的和可选的接口; 所有接口和所有输入/输出数据路径的说明 |
可信信道 | |||
3.角色、服务与鉴别 | 要求的角色、服务与可选的角色、服务逻辑上相隔离 | 基于角色或基于身份的操作员鉴别 | 基于身份的鉴别 | 多因素鉴别 | |
4.软件/固件安全 | 核准的完整性技术和定义的SFMI、HFMI及HSMI;可执行代码 | 基于核准的数字签名或带密钥消息鉴别码的完整性测试 | 基于核准的数字签名的完整性算法 | ||
5.运行环境 |
不可修改的、受限的或可修改的; 对敏感安全参数的控制 |
可修改的; 基于角色或自主访问控制; 审计机制 |
|||
6.物理安全 | 产品级部件 |
拆卸证据; 不透明的遮盖物或外壳 |
封盖和门上的拆卸检测与响应电路; 牢固的外壳或涂层; 防止直接探测的保护; EFP或EFT |
拆卸检测和响应封壳; EFP; 错误注入的缓解 |
|
7.非入侵式安全 | 能够缓解附录F中规定的非入侵式攻击 | ||||
文档阐明附录F中规定的缓解技术和有效性 | 提供缓解测试方法 | 缓解测试 | |||
8.敏感安全参数管理 | 随机比特生成器、敏感安全参数生成、建立、输入和输出、存储及置零 | ||||
自动的敏感安全参数传输或敏感安全参数协商使用的核准方法 | |||||
手动建立的敏感安全参数可以以明文的形式输入或输出 | 手动建立的敏感安全参数可以以加密的形式、通过可信信道或使用知识拆分过程输入或输出 | ||||
9.自测试 | 运行前:软件/固件完整性测试、旁路测试及关键功能测试 | ||||
条件:密码算法、配对一致性、软件/固件加载、手动输入、旁路及关键功能测试 | |||||
10.生命周期保障 | 1)配置管理 |
密码模块、部件和文档的配置管理系统; 每一项在整个生命周期中都有唯一标识并可追踪 |
自动配置管理系统 | ||
2)设计 | 模块设计成允许所有提供的安全相关服务进行测试 | ||||
3)FSM | 有限状态模型 | ||||
4)开发 | 有注释的源代码、版图或HDL |
软件高级语言; 硬件高级描述语言 |
文档注明模块部件执行的前置条件,以及当部件执行完毕时预期为真的后置条件 | ||
5)测试 | 功能测试 | 底层测试 | |||
6)配送与操作 | 初始化流程 | 配送流程 | 使用厂商提供的鉴别信息的操作员鉴别 | ||
7)指导文档 | 管理员与非管理员指南 | ||||
11.其他攻击的缓解 | 缓解其他攻击的说明,目前对这些攻击还没有可测试要求 | 验证缓解技术的有效性 |
安全一级
安全一级是基础级,提供了最低等级的安全要求。在设计安全一级密码模块时,“软件/固件安全”“非入侵安全”“自测试”“敏感测试管理”(尤其是随机数产生部分)4个安全领域需要着重考虑,其他域的安全要求相对容易满足。例如,模块应当至少使用一个核准的安全功能或核准的敏感安全参数建立方法。软件或固件模块可以运行在不可修改的、受限的或可修改的运行环境中。安全一级硬件密码模块除了需要达到产品级部件的基础要求之外,没有其他特殊的物理安全机制要求。模块实现的针对非入侵攻击或其他攻击的缓解方法需要有文档记录。安全一级密码模块的例子有:个人计算机中的硬件加密板卡、运行在手持设备或通用计算机上的密码工具包。
安全一级密码模块一般不具有物理安全防护能力。对于物理密码模块,探针攻击和对部件的直接观察都是可行的;对于软件密码模块,对操作系统、应用和数据的访问都是可行的。安全一级密码模块的安全应当由操作员负责,在无保护运行环境下,受安全一级密码模块保护数据的价值是较低的。当模块外部的应用系统已经配置了物理安全、 络安全及管理过程等控制措施,提供了相对全面的安全防护时,安全一级的模块就非常适用。
安全二级
安全二级在安全一级的基础上增加了拆卸证据、基于角色的鉴别等功能要求。硬件密码模块的拆卸证据可以是拆卸存迹的涂层或封条,或者在封盖或门上加防撬锁等手段以提供拆卸证据。当通过物理方式访问模块内的安全参数时,模块上拆卸存迹的涂层或封条就必须破碎。角色鉴别要求密码模块鉴别并验证操作员的角色,以确定其是否有权执行对应的服务。软件密码模块能够达到的最高整体安全等级限定为安全二级。
安全二级硬件密码模块虽然具有拆卸证据,当不针对探针攻击;当安全第二软件密码模块的逻辑保护由操作系统提供,可以运行在可修改的环境中,该环境应实现基于角色的访问控制或自主访问控制,但自主访问控制应当能够定义新的组,通过访问控制列表(ACL)分配权限,以及将一个用户分配给多个组。访问控制措施应防止非授权的执行、修改及读取实现密码功能的软件。安全二级软件密码模块所在的进程应当由密码模块自己所有,并且与调用者在内的其他进程逻辑隔离;应当使用不依赖运行环境的安全机制,保护存储的敏感安全参数。安全二级密码模块可以抵抗使用简单工具的主动攻击。在无保护运行环境下,受安全二级密码模块保护数据的价值是一般的。
安全三级
安全三级在安全二级的基础上,增强了物理安全、身份鉴别、环境保护、非入侵式攻击缓解、敏感参数管理等安全机制。安全三级密码模块可以抵抗直接的探针攻击,并且具有防拆卸外壳或封装材料,若有门或盖的入侵,也可以提供主动防护的功能。例如,这些物理安全机制应该能够以很高的概率检测到一下行为并做出响应:直接物理访问、密码模块的使用或修改,以及通过通风孔或缝隙对模块的探测。上述物理安全机制可以包括坚固的外壳、拆卸检测装置及响应电路。当密码模块的封盖/门被打开时,响应电路应当将所有的关键安全参数置零。
安全三级要求基于身份的鉴别机制,以提高安全二级中基于角色的鉴别机制的安全性。密码模块需要鉴别操作员的身份,并验证经鉴别的操作员是否被授权担任特定的角色及是否能够执行相应的服务。安全三级要求手动建立的明文关键安全参数是经过加密的、使用可信信道或使用知识拆分来输入或输出,以有效保护明文关键安全参数或密钥分量的输入和输出。安全三级的密码模块应有效防止电压、温度超出模块正常运行范围对密码模块安全性的破坏,能够通过环境失效测试(EFT)或具备环境失效保护(EFP)确保不会因环境异常而破坏模块的安全性。安全三级的密码模块应提供非入侵式攻击环境技术的有效性证据和测试方法。安全三级的密码模块增加了对生命周期保障的要求,如自动配置管理、详细设计、底层测试及基于厂商所提供的鉴别信息的操作员鉴别、
安全上级密码模块可以抵抗使用简单工具的中等强度攻击,其安全性可以由密码模块提供。在无保护运行环境下,受安全三级密码模块保护数据的价值是较高的。
安全四级
安全四级是标准中的最高安全等级。该等级保护安全一级、安全二级、安全三级中所有的安全特性,并增加了一些拓展特性,安全四级的密码模块提供完整的封套保护,无论外部电源是否供电,都能够检测并响应所有非授权的物理访问,从任何方向穿透密码模块的外壳都会以很高的概率被检测到,并立即置零所有未受保护的敏感安全参数;支持多因素身份鉴别,至少包括“已知某物、拥有某物、物理属性”中的两个;实现规定的非入侵式攻击的环境办法;具有EFP和防止错误注入攻击的能力,从而能抵抗因环境异常带来的安全威胁。
安全四级密码模块可以抵抗使用特制工具的高强度长时间攻击。因此,安全四级密码模块自身具有很高的安全机制,特别适用于无物理保护的运行环境。在无保护运行环境下,受安全四级密码模块保护数据的价值是很高的。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!