密码模块安全技术要求
2021-02-02 08:46:03 18 举报
AI智能生成
国家密码行业标准GM/T 0028-2014
作者其他创作
大纲/内容
密码模块安全等级
安全一级
是密码模块的基本安全要求。
安全二级
安全三级
安全四级
最高安全等级
功能安全目标
使用并正确实施核准的安全功能,以保护敏感信息;
防止非授权地操作或使用密码模块;
防止非授权地泄露密码模块的内容,其中包括关键安全参数;
防止对密码模块和密码算法进行非授权或检测不到的修改,包括非授权地修改、替换、插入和删除敏感安全参数;
提供密码模块运行状态的指示;
保证密码模块能够正确地运行于核准的工作模式下;
检测出密码模块操作中的错误,防止操作错误破坏或修改敏感数据和敏感安全参数;
保证正确地设计、分配和实现密码模块。
安全要求
密码模块规格
密码模块类型
硬件模块
软件模块
固件模块
混合软件模块
混合固件模块
密码边界
工作模式
核准工作模式
非核准工作模式
密码模块接口
接口类型
硬件模块接口(HMI)
软件或固件模块接口(SFMI)
混合软件或混合固件模块接口(HSMI或HFMI)
接口定义
数据输入接口
数据输出接口
控制输入接口
控制输出接口
状态输出接口
电源接口(*软件密码模块不包含此接口)
可信信道
安全三级及以上才有基于不同等级需求的可信信道要求。
角色、服务与鉴别
角色
密码主管角色(*必须):负责执行密码初始化管理功能
用户角色(可选):执行常用的安全服务
维护角色(可选):物理维护服务和/或逻辑维护服务
其他角色(可选)
服务
显示模块版本号(*必须)
显示状态(*必须)
执行自测试(*必须)
执行核准的安全功能(*必须)
执行置零(*必须)
旁路能力(可选)
自启动密码服务能力(可选)
软件/固件加载能力(可选)
鉴别
鉴别机制
基于角色的鉴别:模块要求操作员选择角色,鉴别其能否担任所选的角色。不鉴别操作员的个人身份。
基于身份的鉴别:模块要求操作员选择角色,鉴别操作员身份,以及操作员是否被授权担任所选定的角色。
安全等级要求
安全一级:不要求密码模块采用鉴别机制
安全二级:至少采用基于角色的鉴别
安全三级:采用基于身份的鉴别
安全四级:采用基于身份的多因素鉴别机制
软件/固件安全
安全一级
符合“配送与操作”中的规定
使用核准的完整性技术进行保护
若完整性测试失败,模块进入错误状态
操作员通过“接口类型”服务按需执行核准的完整性技术
“接口定义”中规定的密码模块的所有数据和控制输入,数据、控制和状态输出,以及“服务”应当通过定义的HMI、SFMI、HFMI、HSMI完成。
安全二级
满足一级要求
只包含可运行形式的代码
确保操作者无法通过HMI、SFMI、HFMI或HSMI接口启动或执行调试技术
使用核准的数字签名或带密钥的消息鉴别码进行保护
安全三级和四级
满足二级要求
使用核准的数字签名进行保护
数字签名技术可包含单个签名,或多个部分签名,但任何一个签名的验证失败都会导致模块进入错误状态
运行环境
不可修改的运行环境:环境中的模块部件、计算平台或操作系统是不允许被修改的
受限的运行环境:环境中的模块部件、计算平台或操作系统的修改必须满足相关的要求
可修改的运行环境:通过增加/删除/修改某些功能可以重新配置,包含通用操作系统功能
物理安全
要求总结
环境失效保护(测试)
安全等级要求
安全一级、二级:不要求具有EFP特性或接收EFT
安全三级:具有EFP特性或经过EFT
安全四级:具有EFP特性
EFP特性:环境失效保护特性保护密码模块,防止由于故意或意外超出模块正常运行范围,对模块的安全性造成破坏。
EFT:环境失效测试对密码模块进行分析、仿真和测试,从而提供合理的保障,确保密码模块的安全性不会因模块温度和电压超出正常运行范围而遭到破坏。
非入侵安全
安全等级要求
安全一级、二级:应对措施应包括可以证明每个缓解技术(附录F)有效性的证据
安全三级:应对措施应包括可以证明每个缓解技术(附录F)有效性的证据,并提供测试方法。
安全四级:应接收测试以满足国家的非入侵式攻击缓解测试的指标要求。
敏感安全参数管理
敏感安全参数内容
关键安全参数:在模块内受保护以防止非授权的访问、使用、泄露、修改和替换
公共安全参数:在模块内受保护以防止非授权的修改和替换
管理
随机比特生成器
敏感安全参数生成
敏感安全参数建立
自动的敏感安全参数传输或敏感安全参数协商方法
直接或电子方法进行手动的敏感安全参数输入或输出
敏感安全参数输入和输出
安全一级、二级
通过物理端口和逻辑接口输入和输出,端口和接口可以是与密码模块的其他端口和接口共享的。
软件模块可以以加密或明文的形式输入或输出
安全三级
满足安全一级、二级的要求
以加密的形式或通过可信信道输入或输出模块
明文的对称密钥和私钥夫案件安全参数应使用知识拆分过程与可信信道输入或输出
若使用知识拆分,则应使用基于身份的操作员分别鉴别每个密钥分量的输入或输出
安全四级
满足安全三级要求
使用基于身份的多因素操作员分别鉴别每个密钥分量的输入或输出
敏感安全参数存储
未受保护的敏感安全参数置零
安全一级
由模块管理员按照文档中的管理要求执行
安全二级、三级
不许使用未受保护的敏感安全参数来覆盖另一个未受保护的敏感安全参数
临时敏感安全参数使用后应被置零
置零完成时提供输出状态指示
安全四级
满足安全二级、三级的要求
置零应是及时的、不可中断的
置零使得模块恢复到出厂状态
自测试
运行前自测试
运行前软件/固件完整性测试
运行前旁路测试
运行前关键功能测试
条件自测试
密码算法自测试
配对一致性条件测试
软件/固件加载条件测试
手动输入条件测试
旁路条件测试
关键功能条件测试
周期自测试
生命周期保障
配置管理
安全一级和二级
使用配置管理系统管理
每个配置条目的每个版本被分配唯一的身份标识码
密码模块的整个生命周期中,配置管理系统应追踪并维护标识和版本的更改
安全三级和四级
满足安全一级和二级的要求
使用自动的配置关系系统对配置条目进行管理
设计
有限状态模型FSM
电源开启/关闭状态(*必须)
普通初始化状态(*必须)
密码主管状态(*必须)
关键安全参数输入状态(*必须)
核准的状态(*必须)
自测试状态(*必须)
错误状态(*必须)
旁路状态(可选)
不活动状态(可选)
开发
供应商测试
安全一级和二级
阐明密码模块上执行的功能测试
供应商使用通用的自动安全诊断工具
安全三级和四级
满足安全一级和二级的要求
阐明密码模块上执行的底层测试的过程和结果
配送与操作
生命终止
指导文档
其他攻击的缓解
安全一级、二级和三级
若设计未可缓解未定义的特定攻击,则相关文档应列举出模块能缓解的攻击
对缓解攻击的安全机制进行验证
安全四级
满足安全一级、二级和三级的安全要求
文档应详细说明缓解攻击的方法以及测试该缓解技术有效性的方法
收藏
收藏
0 条评论
下一页