• 山西省国家密码管理局
  • www.sxgmj.gov.cn
商密知识

说说商用密码的安全性:(二)商密产品的安全性

发布日期:2018-10-29  来源:山西省国家密码管理局

前面我们已经对商密算法的安全性有了一定的了解,不少人还有这样的疑问,既然商密算法都公开了,那为什么商密产品跟普通的网络安全产品不一样,需要获得专门的产品型号证书才能销售使用呢?从技术层面分析,密码设备自身的安全性对于信息系统安全来说至关重要,商密产品型号检测是确保密码设备安全性符合要求的基础手段。下面我们就来看看密码设备的安全性都有哪些要求吧。

1、密码产品的分级标准

商用密码产品按形态可以划分为软件、芯片、模块、板卡、整机和系统等六大类。

目前,密码芯片的安全性要求及检测遵循《GM/T 0008-2012 安全芯片密码检测准则》,其中将密码芯片的安全等级从低到高分为一级、二级和三级。

密码芯片之外的其它各类产品均遵循《GM/T 0028-2014 密码模块安全技术要求》和《GM/T 0039-2014 密码模块安全检测要求》,将密码模块的安全等级从低到高分为一级、二级、三级和四级。0028标准中所谓的“密码模块”是一个专有词汇,特指实现了密码功能的硬件、软件和/或固件的集合,包含在明确的密码边界以内,不是仅仅以背板形态出现、不具备完整密码功能的产品。也就是说,六大类商密产品中,除芯片和系统之外的其它四类产品均可视为“密码模块”,其安全性可划分为四级。

2、安全等级的含义

密码产品的安全等级越高,其自身的安全防护能力就越强,密码产品的安全性就越高。那么密码产品的安全性是如何度量和区分出来的呢?国密0028标准明确指出,“安全要求从安全目标的最低等级开始,随着安全目标等级的递增而增加”。也就是说,密码产品的安全等级,表明了密码产品达到以下安全目标的能力水平。等级越高,满足安全目标的能力越强:

安全功能:使用并正确实现核准的安全功能,以保护敏感信息。核准的安全功能包括分组密码、序列密码、非对称密码、消息鉴别码、杂凑函数、实体鉴别、密钥建立和随机比特生成器。

授权控制:防止非授权地操作或使用密码模块;防止非授权地泄露密码模块的内容,其中包括关键安全参数;

非授权访问的检测:防止对密码模块和密码算法进行非授权或检测不到的修改,包括非授权地修改、替换、插入和删除敏感安全参数;

运行状态指示:提供密码模块运行状态的指示; 核准的工作模式:保证密码模块在核准的工作模式下能够正确运行;

错误检测:检测出密码模块运行中的错误,防止这些错误非授权地公开、修改、替换或使用关键安全参数,或者非授权地修改或替换公开安全参数;

设计分发和实现:保证正确地设计、分配和实现密码模块。

3、分级要求

国密0028标准具体从十一个域分别提出了四个等级的安全要求,包括:

密码模块规格:密码模块的类型(硬件模块、软件模块、固件模块、混合软件模块、混合固件模块)、边界、工作模式;

密码模块接口:接口类型、定义(数据、控制、状态、电源)、可信信道;

角色、服务和鉴别:角色(密码主管、用户、维护员)、服务(显示版本、状态、自测试、安全功能、置零)、旁路能力(绕开密码功能)、自启动密码服务能力、鉴别(角色、身份、多因素);

软件/固件安全:完整性保护、加载安全;

运行环境:密码模块运行所依赖的软件、固件、硬件等;运行环境类型(不可修改、收限制、可修改);

物理安全:三类物理实体(单芯片、多芯片嵌入式、多芯片独立式);外壳、抗探测、环境失效;

非入侵式安全:能量分析、计时分析、电磁泄露;

敏感安全参数管理:生成、建立、输入输出、存储、置零;

自测试:运行前自测试、条件自测试、周期性自测试;

生命周期保障:版本配置管理、设计一致性、有限状态模型、开发、厂商测试、配送与操作、生命终止、指南文档;

以及对其他攻击的缓解:能量分析、计时分析、电磁泄露 感兴趣的请参阅标准文稿,所有已发布的国密标准均可以在密标委网站上访问到。

综上,密码算法、协议和机制的安全性与可靠性直接取决于实现它们的密码产品。关于密码产品的安全性,目前已经有了比较系统的级别划分,也有相对明确的安全技术要求和检测要求。