商用密码产品检测框架
- GM/T 0028-2014《密码模块安全技术要求》将密码模块安全分为从一级到四级安全性逐次增强的4个等级
- GM/T 0008-2012《安全芯片密码检测准则》将安全芯片安全分为从一级到三级安全性逐次增强的3个等级。
对于不同安全等级密码产品的选用,应考虑以下两个方面∶
- 运行环境提供的防护能力
- 所保护信息资产的重要程度
密码算法合规性检测
商用密码算法实现合规性
检测项目如下:
- ZUC算法∶基于ZUC的机密性算法128-EEA3的合规性检测;基于ZUC的完整性算法128-EIA3的合规性检测。
- SM2、SM9算法∶密钥对生成合规性检测;加/解密实现的合规性检测;签名/验签实现的合规性检测;密钥协商实现(发起方/响应方)的合规性检测。
- SM3算法∶杂凑算法实现的合规性检测。
- SM4算法∶在 ECB、CBC等不同工作模式下加/解密实现的合规性检测。
随机数生成合规性检测
- 产生随机数的部件称为随机数发生器。对随机 数质量的检测是保证密码产品安全的基础
相关标准
GM/T 0001-2012《祖冲之序列密码算法》
- 祖冲之密码算法是128比特密钥的序列密码算法,本标准中定义了使用祖冲之算法产生密钥流并加密明文,或对明文生成MAC的方法,其中MAC为32比特。本标准的内容与3GPPLTE机密性算法128-EEA3和完整性算法128-EIA3保持一致。虽然祖冲之算法的初始设计是为移动通信服务的,但同样适用于其他采用128比特密钥的数据加密和完整性保护场合。
GM/T 0002-2012《SM4分组密码算法》
- SM4分组密码算法,是一种密钥长度 128比特,分组长度也是 128 比特的密码算法。SM4分组密码算法是我国自主设计的分组密码算法
GM/T 0003-2012《SM2椭圆曲线公钥密码算法》
- 标准描述 SM2公钥密码算法,可广泛用于 SSL、IPSec等使用公钥密码算法的安全协议,以及电子支付、通信保护等应用场合,以实现数字签名、密钥协商、公钥加密等安全机制。
GM/T 0004-2012《SM3密码杂凑算法》
- SM3密码杂凑算法是一种杂凑值长度为256比特的算法,适用于我国商用密码应用中的数字签名和验证、消息鉴别码的生成和验证以及随机数的生成,可满足多种密码应用的安全需求
GM/T 0005-2012《随机性检测规范》
- 是针对随机数发生器所产生随机数序列的质量检测规范,用于对所有的随机数发生软/硬件产品所产生的随机数进行检测,并判断其质量是否合规。
GM/T 0009-2012《SM2密码算法使用规范》
- 旨在为使用 SM2密码算法的产品提供统一的算法使用规范,为算法的实现方、使用方和检测方提供依据和指导,为包含SM2密码算法的产品开发、使用及检测提供基准,有利于提高密码产品的标准化和互联互通。
GM/T 0010-2012《SM2密码算法加密签名消息语法规范》
- 定义了使用SM2密码算法的加密签名消息语法,适用于使用SM2算法进行加密和签名操作时对操作结果的标准化封装。该标准定义的加密签名消息语法可广泛用在密码芯片、密码模块、密码设备、密码服务、密码应用系统之中,增强不同设备或系统之间的互联互通性。
GM/T 0044-2016《SM9标识密码算法》
- 基于标识的密码算法SM9。SM9 属于公钥密码算法的一种,可用于数字签名、数据加密、密钥协商等。
- 公钥是由用户身份标识唯一确定的,因而无须使用"数字证书"来将二者绑定,这使密钥管理环节可得到适当简化,公钥是由用户身份标识唯一确定的,因而无须使用"数字证书"来将二者绑定,这使密钥管理环节可得到适当简化。
GM/T 0062-2018《密码产品随机数检测要求》
该标准将随机数检测划为A类、B类、C类、D类和E类五个不同产品形态,对每个产品形态的随机数检测划分为送样检测、出厂检测、上电检测、使用检测四个不同的应用阶段。
- A 类产品的主要特征为不能独立作为功能产品使用;典型产品形态为随机数发生器芯片等。
B类产品的主要特征为 用时上电,随机数检测处理能力有限 ,对上电响应速度 有 严格要求;典型产品形态为IC卡等。 C类产品的主要特征 为用时上电,随机数检测处理能力有限 ,对上电响应速度 没有 严格要求;典型产品形态为 智能密码钥匙 等。 D类产品的主要特征为 长期加电,随机数检测处理能力有限 ,对上电响应速度 没有 严格要求;典型产品形态为 POS机 等。 E类产品的主要特征为 长期加电,具有较强的随机数检测处理能力 ,对上电响应速度 没有 要求;典型产品形态为 服务器 等
密码模块检测
安全功能
- 特指与密码相关的运算。GM/T 0028-2014《密码模块安全技术要求》核准的安全功能包括分组密码、流密码、公钥密码算法和技术、消息鉴别码、杂凑函数、实体鉴别、密钥管理和随机比特生成器
密码边界
- 密码边界应当至少包含密码模块内所有安全相关的算法、安全功能、进程和部件。非安全相关的算法、安全功能、进程和部件也可以包含在密码边界内。
- 密码模块的密码边界是相对的,一个密码模块产品有可能包含另一个或几个规模更小的密码模块。
密码模块类型
- 硬件密码模块
- 软件密码模块
- 固件密码模块
- 混合密码模块
安全策略文件
- 每个密码模块都有一个安全策略(Security Policy)文件
- 一般而言,安全等级越高的密码模块,安全策略越简单,即安全等级高的密码模块可以运行在相对不太安全的环境下
相关标准
GM/T0028-2014《密码模块安全技术要求》
- 对密码模块提出了安全要求,但不对密码模块的正确应用和安全部署进行规范
- 该标准适用于密码模块的设计、生产、使用和检测,密码模块厂商可参照本标准执行设计,以确保产品满足该标准指定等级的安全要求;商用密码检测机构依据该标准执行检测,以确认送检产品是否达到了声称的安全等级
-
规定了从安全一级到安全四级四个安全要求递增的安全等级
- 安全一级:基础级,块一般不具有物理安全防护能力
- 安全二级:在安全一级的基础上增加了拆卸证据、基于角色的鉴别等功能要求。但不针对探针攻击
- 安全三级:在安全二级的基础上,增强了物理安全、身份鉴别、环境保护、非入侵式攻击缓解、敏感参数管理等安全机制,可以抵抗使用简单工具的中等强度攻击,受安全三级密码模块保护数据的价值是较高的。
- 安全四级:是标准中的最高安全等级,该等级包括安全一级、安全二级、安全三级中所有的安全特性,并增加了一些扩展特性。可以抵抗使用特制工具的高强度长时间攻击,受安全四级密码模块保护数据的价值是很高的
安全芯片检测
- 安全芯片是含有密码算法、安全功能,可实现密钥管理机制的集成电路芯片(GM/T 0008-2012)。典型的安全芯片一般具有CPU,可以运行固件、片上操作系统(COS)及各类应用程序
相关标准
GM/T0008-2012《安全芯片密码检测准则》
- 该标准在密码算法、安全芯片接口、密钥管理、敏感信息保护、安全芯片固件安全、自检、审计、攻击的削弱与防护和生命周期保证9个领域考查安全芯片的安全能力,并对每个领域的安全能力划分为安全性依次递增的三个安全等级
安全一级:要求安全芯片对密钥和敏感信息提供基本的保护措施,具有的2个独立的物理随机源
安全二级:规定了安全芯片的安全能力所能达到的中等安全等级要求,应具有4个独立物理随机源
安全三级:规定了安全芯片的安全能力所能达到的高安全等级要求,具有8个相互独立且分散布局的物理随机源