密码模块分级检测申请材料 编写说明

  • 前言
  • 材料编写说明
    • 总体说明
    • 密码模块规格
    • 密码模块接口
    • 角色、服务与鉴别
    • 软件/固件安全
    • 运行环境
    • 物理安全
    • 非入侵式安全
    • 敏感安全参数管理
    • 自测试
    • 生命周期保障

前言

目前商密认证的企业集中反馈问题比较多的是密码模块分级检测申请材料的编写。里面抽象的概念和送检产品本身如何对应,如何回答材料中的安全要求,甚至如何对产品分类等等。这些问题确实是我们面对的第一道关口,关系后面整体材料的方向。受限于时间和精力,这篇文档不可能面面俱到,我们只能简单分析出问题比较多的点。后续我会定期更新同类型的产品所对应的密码模块要求,以及各类产品涉及的规范要求。如有商密认证问题或需要可站内留言或联系微信号15011462285。

材料编写说明

总体说明

商用密码产品认证,在提交认证申请时,首先要同步提交密码模块分级检测材料。该材料立足于GM/T 0028-2014《密码模块安全技术要求》和GM/T 0039-2015《密码模块安全检测要求》。由于这两个规范里面都是抽象的概念,对于初次编写这个材料的人来说存在一定的困难。

本文的目的是为初次编写《密码模块分级检测申请材料》的人提供基本的入门指引。虽不能对每种类型的产品都能具体举例,但编写文档时用到基本的概念、编写思路和关键点会重点介绍。

总体而言,《密码模块分级检测申请材料》编写者需将送检产品与GM/T 0028和GM/T 0039对应,从密码规格、接口、角色服务与鉴别、软件固件安全、运行环境、物理安全、非入侵式安全、敏感安全参数管理、自测试、生命周期保障、对其他攻击的缓解等共11个域分析产品情况,是否满足密码模块相关等级的安全要求。

密码模块的整体评级为11个域中对应的最低评级。因此对于一个产品,应提前熟悉规范,确定产品能达到的评级(安全等级)。在编写材料时超出自身安全等级的不必关注,但产品达不到该安全等级要求的需及时调整,避免被检测降级。总体而言,目前通过商密检测的产品多数为安全一级和安全二级,极个别为三级,目前没有四级。在密评时会对商密产品的安全等级进行要求,目前来说具备硬件的产品应尽量按照安全二级来申报。

《密码模块分级检测申请材料》中采用“安全要求+产品实现情况”形式实现对产品的安全评估。其中安全要求采用<CYxx.xx: 安全要求>(安全级别)的形式,在文档模板中已经写好,编写者不要修改;产品实现情况为产品针对安全要求的具体实现,由编写者编写。材料应回答安全要求中提出的问题,描述产品实现方式,最终得出产品符合安全要求的结论。在编写时应尽量避免出现“抄规范”或者直接“写结论”这两种情况。

下面的章节会选取部分重要安全要求进行解读并附示例。详细内容和示例见文档:https://download.csdn.net/download/Lapedius/12563828

密码模块规格

<CY02.03:材料应描述密码模块类型,并解释选择这一类型的依据;材料应提供密码模块的规格,以标识所有密码模块的硬件、软件和/固件部件。>(安全级别1,2,3,4)
密码模块类型包括硬件模块、软件模块、固件模块、混合软件模块和混合固件模块,应根据送检产品的特征定义该模块类型,并写出判断依据,以及说明送检产品的软硬件组成部分。在确定密码模块的类型前,需首先划定密码边界,边界非常非常重要,涉及产品名称、类型、材料和检测等所有重要的环节。密码边界即为报送的产品要明确哪些软件和硬件包含在内,哪些不包含。

<CY02.07:材料应明确界定密码模块的密码边界,详细说明密码边界内的所有软硬件部件>(安全级别1,2,3,4)
密码边界由定义明确的边线(例如,硬件、软件或固件部分的集合)组成,该边线建立了密码模块所有部件的边界,该边界至少包含密码模块内所有安全相关的算法、安全功能、过程和部件。

<CY02.09:材料应提供密码边界内所有与安全相关的算法、安全功能、过程和部件清单,安全功能包括但不限于:分组密码、流密码、非对称密码算法和技术、消息鉴别码、杂凑函数、实体鉴别、密钥管理、随机比特生成器>(安全级别1,2,3,4)
本部分要描述实现算法、实现过程(比如密码卡实现加解密、签名验签运算,比如pos采用xx算法实现pin管理,安全协议、交易)。一定要写出产品具体实现什么功能,怎么用算法实现的功能,不能所有产品写的都像抽象的产品。部件不能简单只写密码卡、芯片、智能密码钥匙,要有详细清单。

密码模块接口

<CY03.01:材料中应说明密码模块的每个物理端口和逻辑接口;材料中应通过GM/T 0028-2014附录A.2.2和附录B.2.2要求提供的框图、设计规格、源代码以及原理图,说明密码模块的信息流和物理接入点。同时还需提供其他有助于明确说明信息流、物理接入点和物理端口、逻辑接口的关系的文档;对于密码模块的每一个物理或逻辑的输入,以及物理或逻辑的输出,材料中应明确逻辑接口所对应的物理输入或输出。>
应说明密码模块所有的物理端口与逻辑接口,并且明确物理端口的输入输出、逻辑接口的类型;对于逻辑接口,应说明密码模块与外部交互的协议所遵照标准,若无标准则应详细描述协议过程。

<CY03.02:送检单位的设计应根据AY03.04所列的类别将模块的接口分成逻辑上不同和相互分离的类别,并且如果适用,AY03.12亦可作为依据。这些信息应符合AY03.01描述的逻辑接口和物理端口的规格。材料中应提供每类逻辑接口到密码模块的物理端口的之间的映射。逻辑接口可以在物理上分布在多个物理端口上,或两个或多个逻辑接口可以共享一个物理端口。如果两个或多个逻辑接口共享同一个物理端口,送检单位的文档中应说明这些不同类别接口的信息流是如何在逻辑上相互分离的。>
应说明送检产品支持几种逻辑接口和物理端口,物理端口与逻辑接口之间的关系,各个接口实现的功能是什么。
密码模块接口这个章节要讲物理端口有哪些,逻辑端口有哪些,物理端口就是usb、7816、RJ45、串口等等,逻辑接口就比如软件API、SDF等各种接口,要定义出来有哪些物理和逻辑,输入输出什么输入,参数是什么。上面两个标黄的问题,要每个问题都回答。特别是CY03.02中逻辑接口与物理接口的映射,比如PCI各种SDF接口,那怎么对应到一个PCI接口上,这么多逻辑接口都用一个物理端口做输入输出,那怎么区分,怎么隔离,怎么知道这个数据是这个逻辑接口的。

<CY03.05:密码模块应有数据输入接口。所有输入到模块和由模块处理的数据(除通过控制输入接口输入的控制数据)应通过数据输入接口进入,包括:
——明文数据;
——密文或签名数据;
——加密密钥和其他密钥管理数据(明文或密文);
——认证数据(明文或加密的);
——来自外部的状态信息;
——其他输入数据。
若适用,材料中应说明所有与密码模块同时使用的外部输入设备,此设备用于输入数据到数据输入接口,如智能卡、令牌、键盘、密钥加载器和/或生物识别设备。>(安全级别1,2,3,4)
注:应说明每个数据输入接口的功能、性能、传输数据的报文格式等。如有远程配置接口、专用密钥注入接口等也须说明说明。

角色、服务与鉴别

<CY04.05:材料中应描述密码主管角色的功能,包括:执行密码初始化或管理功能,以及常用的安全服务,例如,模块初始化、CSP和PSP的管理以及审计功能。>(安全级别1,2,3,4)
送检单位的文档中需描述密码主管角色的功能,密码主管角色的权限和许可的服务。密码主管的定义需要与其执行的操作关联,并赋予其相应权限,包括执行密码初始化、CSP和PSP的管理、审计功能。

<CY04.16:材料中应说明密码模块核准的工作模式中使用核准的安全功能。>(安全级别1,2,3,4)
要与CY02.19回答的对应,各个模式,各个功能。
<CY04.43:应记录模块内实现的鉴别类型。应记录用于执行操作员身份鉴别的机制、操作员的身份鉴别、一个或多个角色隐式地或显示地选择、操作员担任角色的鉴别。>
<CY04.50:材料中应说明采用何种核准的鉴别机制。>
<CY04.54:材料中应说明密码模块鉴别机制的实现方法和原理。>
<CY04.58:应记录密码模块运行的鉴别类型。应记录操作员隐式或显示地选择一个或一系列角色的机制,及操作员担任角色的鉴别方法;材料中应提供操作员隐式或显示地担任角色的描述。>
这部分问题要回答遵循了0028附录E中哪个规范做的鉴别,具体如何实现,拼接数据的方式,如何跟规范对应的。不能简单说明发送签名给服务端或者验证口令。要写清楚怎么拼接,如何认证,几次鉴别。

<CY04.53:材料中应说明每个核准的鉴别机制在1min内的多次随机尝试使用通过核准的鉴别机制的成功概率。>
1min内可以暴力破解多少次就锁定啊或者不如登录啊,这样分析破解能成功的概率是多少,近乎为0啊,10万分之一啊,要有分析过程,不是随便说的。

软件/固件安全

<CY05.09:送检文档应说明通过SFMI、HSMI或HFMI服务按需执行已核准的完整性技术的方法。>(安全级别1,2,3,4)
注:SFMI为软件或固件模块接口,定义为用于请求软件或固件模块服务的命令全集,请求服务的命令中包括输入到密码模块或者由密码模块输出的参数。
HSMI或HFMI为混合软件或混合固件模块接口,定义为用于请求混合软件或混合固件模块服务的命令全集,请求服务的命令中包括输入到密码模块或者由密码模块输出的参数。

<CY05.14:送检单位应提供HM1、SFM1、HFM1或HSM1服务的说明>
这个问题回答要看0039中相应AY的要求,不能只看这一句话断章取义。

运行环境

<CY06.03:材料应按照GM/T0028——2014附录A.2.6中规定的要求编写。>
先分析属于可修改\不可修改\受限的哪种运行环境
像pci\密码机这样硬件模块基本都是不可修改的,协同签名这样软件模块安装到安卓\ios操作系统的都是可修改的,因为操作系统可以再安装其他软件.
对于不可修改和受限的运行环境,一级和二级都回答<CY06.05到<CY06.08:内容,并且6.2 不可修改运行环境的操作系统要求这个标题要从可修改改成不可修改.

物理安全

若密码模块完全由软件实现,使得物理安全仅由计算平台提供,那么该模块将不受物理安全要求的限制。
<CY07.09:送检文档应按照GM/T 0028—2014中7.7.1的要求明确说明密码模块的物理实体,包括单芯片密码模块、多芯片嵌入式模块,或多芯片独立式模块>(安全级别1,2,3,4)
注:送检单位根据产品情况表明所达到的安全级别并划分物理实体类型:
单芯片密码模块:单个集成电路(IC)芯片构成的模块,该芯片可以作为独立模块使用,或者可以嵌入可能没有物理保护的外壳或其它模块中。这个单芯片由片装和外部输入/输出连接器组成,其中片装使用统一的外部材料如塑料或陶瓷包装。例如:单IC芯片、单IC芯片智能卡或者包含实现密码功能的单IC芯片的其它系统。
多芯片嵌入式密码模块:模块由两个或两个以上互相连接的IC芯片构成,并物理嵌入到其他产品或未被物理保护的外壳中。例如:适配器和扩展板。
多芯片独立密码模块:两个或两个以上互相连接的IC芯片嵌入到完全受到物理保护的外壳中。例如:加密路由器、安全无线电话和USB令牌。
物理部件可包括外壳(如材质组成、缝合原理等)、内部元器件、IC芯片或其它硬件部件,能够监测或执行触发机制,以保证内部敏感信息安全。

非入侵式安全

<CY08.04:提供的文档详细说明用于保护模块CSP免受所有非入侵式攻击的缓解技术。>
通常指密码模块实现的,首先要写出怎么缓解的,具体方法是什么,不是笼统的介绍。要说清楚具体措施和机制。附录F的非入侵式攻击包括能量分析、计时分析、电磁泄漏,具体缓解方法详见附录F.2。

<CY08.05:材料中应详细说明每个缓解技术的有效性。>(安全级别1,2,3, 4)
有效性,要能够证明的,要有数据说话的,不是吧8.4再复制一遍.要给出证明文件,加缓解措施和没加缓解措施效果对比。

敏感安全参数管理

<CY09.01:送检单位的文档应描述模块内所有CSP的保护措施,包括防止非授权的访问、使用、泄露、修改和替换的实现机制>
像第九章要对每个密钥都展开描述,不是一句话csp能够保障xxx就行的,要分开A密钥xxxx措施xxxx保障使用,xxx措施保障泄露,B密钥xxxx措施xxxx保障使用,xxx措施保障泄露。

<CY09.03:送检单位提供的文档应描述生成的、输入或输出模块的SSP与被分配实体(即人、组、角色或进程)的关联关系>(安全级别1,2,3, 4)
注:材料书写时可使用图标方式将SSP与实体对应起来。

自测试

<CY10.07:送检文档应记录每一项自测试对应的错误状态,并标明该错误状态对应的错误指示>(安全级别1,2,3, 4)
注:此处应描述每一项自测试对应的错误状态及其对应的错误指示。
例:自检失败的错误状态和错误码如下所示:
错误状态 错误码
固件完整性校验失败 67 10
随机数自检失败 67 19

<CY10.24:送检文档应包括条件自测试的相关信息>
要写出具体原理、算法、随机数单次、周期、软固件完整性、密钥完整性等测试机制,预置数据。写的顺序最好跟执行顺序是一致的。

生命周期保障

<CY11.29:应提供材料详细说明在密码模块上执行的功能测试。>(安全级别1,2,3, 4)
这是开发完代码,你们厂商自己做的运维测试也好,产品测试也好,不属于来检测中心做的检测,这是两回事。
注:仔细读规范0028和0039,规范都写了详细说明,不要一句话糊弄,不是抄规范,要写出具体原理机制和自己的心得体会。

商用密码产品密码模块分级检测申请材料编写介绍相关推荐

  1. 商用密码产品及对应规范介绍

    商用密码产品及对应规范介绍 #密码标准框架 按照层级来划分,密码相关标准分为密码行业标准.国家标准和国际标准. 密码行业标准由密码行业标准化技术委员会(密标委)主导,密标委负责密码技术.产品.系统.管 ...

  2. 【密码学篇】商用密码产品的密钥体系结构小结

    [密码学篇]商用密码产品的密钥体系结构小结 商用密码产品的密钥体系结构笔记小结-[蘇小沐] 文章目录 [密码学篇]商用密码产品的密钥体系结构小结 1.商用密码产品密钥体系结构 (一)服务器密码机密钥体 ...

  3. 获颁《商用密码产品型号证书》,法大大全自主安全体系再添一翼

    近日,"法大大电子合同签约平台"获得了由国家密码管理局颁发的<商用密码产品型号证书>. 作为国内领先的第三方电子合同平台,该证书的获得一方面再度确认了法大大的产品符合国 ...

  4. 【密码产品篇】动态口令系统密钥体系结构(SM3、SM4)

    [密码产品篇]动态口令系统密钥体系结构(SM3.SM4) 动态口令是一种一次性口令机制,用户无须记忆口令,也无须手工更改口令.口令通过用户持有的客户端器件生成,并基于一定的算法与服务端形成同步,从而作 ...

  5. 【密码产品篇】智能密码钥匙密钥体系结构(非对称)

    [密码产品篇]智能密码钥匙密钥体系结构(非对称) 智能密码钥匙是一种具备密码运算.密钥管理能力,可提供密码服务的终端密码设备,其主要作用是"存储用户秘密信息(如私钥.数字证书),完成数据加解 ...

  6. 蓝牙模块的配置(HC05):修改密码、修改模块名字、修改波特率。

    蓝牙模块是电子开发经常使用的模块,通常使用串口协议的方式与蓝牙通信, 从而完成数据的传输,串口通信很常见,用起来也很简单,几乎所有的单片机都配有串口通信功能. 蓝牙模块用于小数据量的无线传输,使用很方 ...

  7. 【密码产品篇】VPN产品密钥体系结构

    [密码产品篇]VPN产品密钥体系结构 VPN产品只有"设备密钥"是"非对称密钥"-[蘇小沐] IPSec VPN密钥体系 IPSec VPN密钥体系:设备密钥. ...

  8. TCP穿透主流商用NAT产品的主要技术研究

    [摘要]近些年,标准化社区已经开发出一些UDP穿透NAT/防火墙的技术(也就是,在NAT之后的主机之间建立UDP流).然而,由于TCP连接建立的不对称特点,TCP的NAT穿透要困难的多.最近,研究者们 ...

  9. linux 正则 设置密码复杂度,Ubuntu修改密码及密码复杂度策略设置方法

    一.修改密码 1.修改普通用户密码 passwd 先输入当前密码确认,然后输入新的密码修改 2.修改root用户密码 sudo passwd root 默认root用户被禁止登录,如果需要解除限制,修 ...

最新文章

  1. 正则表达式相关案例(很实用很强大)
  2. mysql联合索引顺序调整_MySQL 关于联合索引的字段顺序规则讨论
  3. 阿里AI再出神器,“你是什么垃圾”一拍便知
  4. 云服务器虚拟主机区别,云服务器和虚拟主机的区别
  5. angular获取图片高宽_Angular 读书笔记
  6. easyui截取后缀名
  7. 注册微服务到Eureka Service
  8. 判断登陆权限的操作,登录后调到之前所操作的地址。
  9. 蛋糕是叫胚子还是坯子_最好吃的蛋糕胚子——分蛋海绵蛋糕详解
  10. 抖音网红穿的服装品牌,那些爆款女装号都是怎么拍的呢?
  11. HyperLynx(七)微带线串扰的仿真
  12. [node]request+watch开发自测的懒人神器
  13. VDI(Virtual Desktop Infrastructure)云桌面使用笔记
  14. java 句柄无效_java.io.IOException:句柄无效
  15. 局域网找不到其它电脑
  16. pip的安装,更新,卸载模块以及使用方法 python
  17. 洛谷——B2015 计算并联电阻的阻值(java)
  18. 字节,比特,字符,位,单位换算
  19. leetcode597. 好友申请 I :总体通过率(必会)
  20. WMS系统条码作业项目实施经验浅谈

热门文章

  1. 在UEFI模式下安装Ubuntu(一)——制作UEFI模式启动U盘
  2. 【python 人像抠图】利用阿里云api进行对本地图片进行批量人像抠图
  3. html、css、js文件加载顺序及执行情况
  4. 小白学逆向——入门基本概念
  5. 历城职专学前计算机专业,一年之计在于春,不负青春好时节——历城职专学前教育专业2019级技能运动会圆满举行...
  6. web前端期末大作业 绿色环境保护(4个页面) HTML5网站模板农业展示网站 html5网页制作代码 html5网页设计作业代码 html制作网页案例代码
  7. stm32f407引脚相关配置
  8. 【问题解决】使用fmt格式化时间出现According to TLD or attribute directive in tag file, attribute value does not acce
  9. COSCon'22第七届中国开源年会火热筹备中,第一波赞助伙伴已集结,一起上车共赴开源盛宴吧~...
  10. zzuli 1904 小火山的股票交易