• 专属客服

    • 18927411650(认证)
    • 13510850104(检测)
    • 服务时间

    • 周一至周五 9:00-18:00
    • 扫一扫 添加客服微信

分级检测申请材料(密码模块)

 

 

 

 

 

 

密码模块分级检测

申请材料

 

 

 

 

 

产品名称:                       

申报等级:                       

认证委托方:     (加盖公章)    

 

     

 

 

 

 

目录

1 产品简介... 2

2     密码模块规格... 3

2.1         密码模块类型描述... 3

2.2         密码边界... 3

2.3         工作模式... 6

3     密码模块接口... 9

3.1         密码模块接口通用要求... 9

3.2         接口定义... 11

3.3         可信信道... 17

4     角色、服务和鉴别... 18

4.1         角色、服务和鉴别通用要求... 18

4.2         角色... 18

4.3         服务... 19

4.4         鉴别... 22

5     软件/固件安全... 26

6     运行环境... 28

6.1         运行环境通用要求... 28

6.2         可修改运行环境的操作系统要求... 28

7     物理安全... 32

7.1         物理安全实体... 32

7.2         通用物理安全要求... 33

7.3         物理安全实体的物理安全要求... 35

7.3.1 单芯片密码模块... 36

7.3.1 多芯片嵌入式密码模块... 37

7.3.3 多芯片嵌入式密码模块... 38

7.3.4 环境失效保护/测试... 39

8     非入侵式安全... 41

9     敏感安全参数管理... 41

9.1         敏感安全参数管理通用要求... 42

9.2         随机比特生成器... 43

9.3         敏感安全参数的生成... 45

9.4         敏感安全参数的建立... 45

9.5         敏感安全参数的输入和输出... 46

9.6         敏感安全参数的存储... 47

9.7         敏感安全参数的置零... 48

10          自测试... 49

10.1       自测试通用要求... 49

10.2       运行前自测试... 51

10.3       条件自测试... 53

11           生命周期保障... 56

11.1       生命周期保障通用要求... 56

11.2       配置管理... 57

11.3       有限状态模型... 57

11.4       开发... 60

11.5       厂商测试... 61

11.6       配送与操作... 62

11.7       生命终止... 63

11.8       指南文档... 63

12          对其他攻击的缓解... 63

 

 

 

材料编写说明

1、请结合GM/T 0039-2015《密码模块安全检测要求》和GM/T 0028-2014《密码模块安全技术要求》使用。

2、文档中<XX>中的内容请勿删除,如不涉及相关内容(如安全等级不涉及,产品类型不涉及等),请填写“送检产品不涉及此项安全评估”,并说明不涉及的理由。

3、可选择使用表格、图示等方式提供相关的材料。

4、如需提供的材料为独立的文档,或材料内容较多,请以附件的形式放在本文档最后,或以独立文件的形式提交,并在本文档最后提供文件清单。

5、涉及安全机制的说明,请尽量详细、深入、全面。

6、应保证本材料的真实性,并与送检产品的实际情况一致。

 

1 产品简介

<产品简介>

 

 

 

 

 

<产品申报的安全等级>

安全域

安全级别

1-4

1.密码模块规格

 

2.密码模块接口

 

3.角色、服务和鉴别

 

4.软件/固件安全

 

5.运行环境

 

6.物理安全

 

7.非入侵式安全

 

8. 敏感安全参数管理

 

9.自测试

 

10.生命周期保障

 

11.其他攻击的缓解

 

整体安全等级

 

 

 

 

  1. 密码模块规格
    1. 密码模块类型描述

<CY02.03:材料应描述密码模块类型,并解释选择这一类型的依据;材料应提供密码模块的规格,以标识所有密码模块的硬件、软件和/固件部件>(安全级别1,2,3,4

密码模块类型包括硬件模块、软件模块、固件模块、混合软件模块和混合固件模块,应根据送检产品的特征定义该模块类型,并写出判断依据,以及说明送检产品的软硬件组成部分。

例:智能密码钥匙是由硬件实体以及在硬件实体上运行的嵌入式软件组合的集合,该集合使用SM2SM3SM4等算法,完成存储个人证书和私钥并进行密码运算等功能。依据《GM/T 0028-2014 密码模块安全技术要求》对密码模块类型的划分,该智能密码钥匙可归类为硬件模块。

硬件实体由主控芯片(如安全芯片)、外围元器件、电路印刷板、USB接口、显示屏、按键和外壳组成。嵌入式软件在主控芯片内部存储和执行,完成维护应用内部逻辑、读取证书或密钥和调用底层硬件模块的功能,最终实现保护用户身份认证和交易安全的目的。

 

    1. 密码边界

<CY02.07:材料应明确界定密码模块的密码边界,详细说明密码边界内的所有软硬件部件>(安全级别1,2,3,4

密码边界由定义明确的边线(例如,硬件、软件或固件部分的集合)组成,该边线建立了密码模块所有部件的边界,该边界至少包含密码模块内所有安全相关的算法、安全功能、过程和部件。

例:芯片:说明相关功能,实现算法;电气元件:用于辅助主控芯片实现其接口功能所必备的电气元件,如LDO、发光二极管、电池、电阻、电感和电容等。

电路板:搭载主控芯片和其他有效电气元件的印刷电路板。

等等

 

<CY02.09:材料应提供密码边界内所有与安全相关的算法、安全功能、过程和部件清单,安全功能包括但不限于:分组密码、流密码、非对称密码算法和技术、消息鉴别码、杂凑函数、实体鉴别、密钥管理、随机比特生成器>(安全级别1,2,3,4

 

 

<CY02.10:材料中应列出用于核准的工作模式的非安全相关的算法、安全功能、过程和部件,并且证明他们不干扰或破坏密码模块核准的工作模式的运行>(安全级别1,2,3,4

送检产品是否支持在正常工作模式下使用非安全相关的算法(如非核准算法)、可以实现非安全相关的功能和部件,如有,则需证明这些功能不会干扰密码模块的正常运行。

例:支持初始化模式,正常工作模式;初始化模式实现xxxx功能,正常工作模式实现xxx功能。指纹采集部件,采集数据正确与否都不影响核准安全功能运行;一般存储器件,不影响安全功能的正常运行;核准的安全功能运行在IC芯片内(如安全芯片),各芯片之间交互不影响内部安全功能。

 

 

<CY02.11:材料中应提供密码模块的名称>(安全级别1,2,3,4

 

 

<CY02.12:送检单位应提供密码模块每个互不相同的硬件、软件和/或固件部件的特定版本信息>(安全级别1,2,3,4

注:应说明送检产品的硬件、软件或固件的版本号

例:主控芯片型号为SSXxxxx,软件版本为XXXX

 

 

<CY02.14:所有被排除在GM/T 0028-2014安全要求之外的硬件、软件和/或固件部件都应在材料中明确列出。材料中应提供每个部件被排除的理由,应表明即使发生故障或误用,每个部件也不会干扰或破坏密码模块核准的安全功能的运行>(安全级别1,2,3,4

注:原则上送检出产品中不应有排除的部件,如有请详细论证。

被排除的硬件、软件和/或固件是指:该部件的运行情况(正常/故障)都应不影响产品安全功能。若模块中有这样的部件,送检单位应在材料中表明这些部件排除在GM/T 0028-2014安全要求之外,并提供排除的理由。如:该部件不处理CSP、明文数据或其他一旦误用就可能导致危险的信息;或者该部件不与模块中允许以不恰当方式传递这些信息的安全相关部件连接;所有由该部件处理的信息仅供模块内部使用,并且不能以任何方式影响与模块连接的设备。

例:指纹采集部件,采集数据正确与否都不影响核准安全功能运行;一般存储器件,不影响安全功能的正常运行;核准的安全功能运行在IC芯片内(如安全芯片),各芯片之间交互不影响内部安全功能。

 

<CY02.15:材料中应标识硬件密码模块的所有硬件部件,并提供部件清单。材料中应标明模块的内部布局和安装方式(例如固定件和安装件),包括近似比例的图纸。材料中应描述模块的主要物理参数,包括对外壳、接入点、电路板、电源位置、电路接线、冷却系统以及其他关键参数的说明。材料应包括表示模块边界和其硬件部件相互关系的框图。>(安全级别1,2,3,4

注:硬件密码模块需提供送检产品的部件清单,电路原理图,主要物理参数,产品的内部部件关系框图。

 

 

<CY02.16:材料中应标识软件密码模块的所有软件部件,并提供部件清单。材料中应表明内部软件架构,包括软件部件是如何交互的。材料中应说明密码模块所运行的软件环境(例如操作系统,运行时库等)>(安全级别1,2,3,4

注:针对软件密码模块

 

<CY02.17:材料中应标识固件密码模块的所有固件部件,并提供部件清单。材料中应表明内部固件架构,包括固件部件是如何交互的。材料中应说明密码模块所运行的固件环境(例如,操作系统,运行时库等)。>(安全级别1,2,3,4

注:针对固件密码模块

 

<CY02.18:材料中应标识密码模块的类型是混合软件模块还是混合固件模块。

----混合软件模块应符合CY02.15.01~CY02.15.04CY02.16.01~CY02.16.03的要求;

----混合固件模块应符合CY02.15.01~CY02.15.04CY02.17.01~CY02.17.03的要求>(安全级别1,2,3,4

注:针对混合密码模块

应先说明送检产品属于混合软件模块还是混合固件模块。

混合软件模块需要提供送检产品的硬件部件清单,电路原理图,主要物理参数,产品的内部部件关系框图和软件的部件清单,操作系统,内部软件架构框图

混合固件模块则需要提供送检产品的软件的部件清单,操作系统,内部软件架构框图以及固件的部件清单,操作系统,内部固件架构框图。

 

    1. 工作模式

<CY02.19:材料中应说明密码模块核准的工作模式。材料中应描述如何启用核准的工作模式及方法。>(安全级别1,2,3,4

注:核准工作模式由产品定义,使用核准的算法、功能、过程的模式属于核准工作模式,此条应说明密码模块在哪种情况下属于工作在核准的工作模式,并描述如何启用。

密码机具有初始和就绪两个工作模式。未安装设备密钥的密码机处于初始模式,已安装设备密钥的密码机处于就绪状态。在初始状态下,除可读取设备信息、设备密钥的生成或恢复操作外,不能执行任何操作,生成或恢复设备密钥后,密码机处于就绪状态。在就绪模式下,除设备密钥的生成或恢复操作外,可执行任何操作。

 

<CY02.20:材料中应说明密码模块核准的工作模式所使用的核准的密码算法、安全功能或过程以及那些规定于GM/T 0028--20147.4.3中的服务。送检单位应提供一份所有核准的密码算法、安全功能或过程的验证证书。>(安全级别1,2,3,4

注:核准的密码算法,如已发布为国家标准或密码行业标准的SM2SM3SM4SM9等不需提供验证证书;按照标准中规定的算法用法实现安全功能或过程的不需提供验证证书。

例:密码机具有初始和就绪两个工作模式,初始模式通过xxx算法实现xxx功能;就绪模式下送检产品支持SM3SM4密码算法。送检产品上电后使用SM4-CBC算法校验软件、….的完整性;在送检产品运行过程中,上位机可通过USB接口获取产品信息(包括版本信息等)和工作状态;送检产品在运行模式下,可执行SM4算法的ECBCBC模式的加密和解密操作,执行SM2算法的密钥生成、加解密和签名验签操作,执行SM3算法的杂凑操作;送检产品支持SM3SM4算法模块和随机数发生器的上电自测试和运行前自测试;当用户不再使用本产品时可使用删除应用或锁定设备指令删除内部敏感安全参数,此时所有敏感安全参数均被…..覆盖。

表密码算法和功能清单

功能

密码算法

说明

通用对称加解密服务

SM4

使用会话密钥的通用加解密服务

校验软件和系统完整性

SM4

上电自测试时会校验软件、系统参数和文件系统数据的完整性。

角色身份服务

SM4

使用SM4算法进行内外部认证运算。

 

 

<CY02.21:送检单位应提供一份所有非核准的密码算法、安全功能和过程的清单。材料中应说明核准的工作模式中未使用非核准的密码算法、安全功能和过程或其他未规定于GM/T 0028-20147.4.3中的服务。如果核准的工作模式中使用了非核准的密码算法或安全功能,材料中应说明非核准的密码算法或安全功能是核准的过程的一部分,而且与核准的过程的安全无关,并且不干扰或破坏密码模块核准的工作模式的运行。材料应解释为什么使用的非核准的密码算法、安全功能和过程与核准的过程操作非安全相关。>(安全级别1,2,3,4

注:应说明送检产品实现的非核准算法、安全功能(如不在0028规范附录C中的功能),如果在核准的工作模式下使用了非核准的密码算法和安全功能,应说明该功能是否会干扰核准的过程。

 

<CY02.22:材料应提供完整的模块CSP清单,并说明它们在核准的和非核准的服务及工作模式中的作用。材料中应描述核准的和非核准的服务和工作模式的操作方式,并说明CSP是如何分离的>(安全级别1,2,3,4

注:应提供所有关键安全参数的清单,说明他们各自在核准和非核准的工作模式中的作用,如何区分,区分的理由是什么。

例:依据用途不同,对称算法密钥可分为主控密钥、外部认证密钥和会话密钥。主控密钥用于加密非对称私钥和在产品初始化阶段切换生命周期;外部认证密钥用于在维护应用时验证外部使用者的权限;会话密钥用于通用加解密服务。非对称算法私钥包括签名私钥和解密私钥,分别用于对外部数据签名运算和解密运算;个人PIN包括用户PIN和管理员PIN,分别对应于相应操作员权限。

所有关键安全参数在物理上位于不同的存储空间,对某一关键安全参数的读、写操作不会对其他关键安全参数产生任何影响。同时,不同的关键安全参数具备不同的操作指令和权限控制方式,从指令和安全控制方面隔离了关键安全参数,避免关键安全参数相互影响。

 

 

<CY02.23:送检单位的安全策略文档中应为模块所包括的每个工作模式(核准的和非核准的)定义完整的服务集合。>(安全级别1,2,3,4

注:按照0028附录B中的要求提交文档,提交本文档时一并附上。

描述模块的各个工作模式下实现了怎样的密码服务。

例:初始工作模式下实现了怎样的密码服务。

就绪工作模式下当送检产品通过USB接口接入上位机后,用户可通过获取设备信息指令读取送检产品相关信息,包括产品版本、厂商信息等。

送检产品上电后,会自动进入上电初始化状态,此时会执行运行前自测试,自测试包括算法自检、随机数自检….

送检产品上电自测试通过后即进入运行状态,此时产品可进行外部认证、PIN认证、…..等操作。

送检产品可以通过应用删除…..指令置零内部敏感安全参数。

 

<CY02.24:送检单位应给出当服务以核准的方式使用核准的密码算法、安全功能或过程以及其他规定于GM/T 0028-20147.4.3中的服务或过程时的状态指示方式。>(安全级别1,2,3,4

注:核准的工作模式和非核准的工作模式应能通过不同的状态指示方式进行区分,状态指示方式可通过状态指示灯或报文状态字形式。

1:送检产品通过指示灯反应不同的状态,当产品工作在核准的工作模式时,亮绿灯;当产品工作在非核准的工作模式时,亮蓝灯;当产品工作在错误状态时,亮红灯。

2:送检产品所提供的安全功能以接口方式对外服务,每个接口返回结果都能指示调用服务是否成功。通过状态字反馈信息。

 

  1. 密码模块接口
    1. 密码模块接口通用要求

<CY03.01:材料中应说明密码模块的每个物理端口和逻辑接口(包括物理端口和引脚分配;物理封盖,门或开口;逻辑接口、信号名称和功能;用于物理控制输入的手动控制;用于物理状态输出的物理状态指示仪;逻辑接口到物理端口、手动控制和模块物理状态显示之间的映射、上述端口和接口的物理的,逻辑的和电气的特性);材料中应通过GM/T 0028-2014附录A.2.2和附录B.2.2要求提供的框图、设计规格、源代码以及原理图,说明密码模块的信息流和物理接入点。同时还需提供其他有助于明确说明信息流、物理接入点和物理端口、逻辑接口的关系的文档;对于密码模块的每一个物理或逻辑的输入,以及物理或逻辑的输出,材料中应明确逻辑接口所对应的物理输入或输出。>(安全级别1,2,3,4

注:应说明密码模块所有的物理端口与逻辑接口,并且明确物理端口的输入输出、逻辑接口的类型;对于逻辑接口,应说明密码模块与外部交互的协议所遵照标准,若无标准则应详细描述协议过程。

例:送检产品存在四个物理接口,分别为USB接口、音码接口、显示屏和按键。其中USB接口和音码接口在逻辑上是分时复用接口,根据数据流向和指令功能的不同,可以作为数据输入、数据输出、控制输入、控制输出和状态输出接口;按键是控制输入接口,用于控制送检产品的开关机、控制显示信息和在关键签名时用于提供相应权限;显示屏是状态输出接口,用于显示设备的相关提示信息,提示用户进行相应操作。USB接口与上位机之间,传输层协议为USB CCID协议,应用层协议遵循GM/T 0017进行数据和控制输入输出。

框图:

设计规格:

原理图:

xxx逻辑接口所对应的xxx物理输入或输出。

 

<CY03.02:送检单位的设计应根据AY03.04所列的类别将模块的接口分成逻辑上不同和相互分离的类别,并且如果适用,AY03.12亦可作为依据。这些信息应符合AY03.01描述的逻辑接口和物理端口的规格。材料中应提供每类逻辑接口到密码模块的物理端口的之间的映射。逻辑接口可以在物理上分布在多个物理端口上,或两个或多个逻辑接口可以共享一个物理端口。如果两个或多个逻辑接口共享同一个物理端口,送检单位的文档中应说明这些不同类别接口的信息流是如何在逻辑上相互分离的。>(安全级别1,2,3,4

注:应说明送检产品支持几种逻辑接口和物理端口,物理端口与逻辑接口之间的关系,各个接口实现的功能是什么

例:支持五种逻辑接口:数据输入接口、数据输出接口、控制输入接口、控制输出接口和状态输出接口。其中,数据输入逻辑接口xxx映射到USB接口和蓝牙接口;数据输出逻辑接口xxx映射到USB接口和蓝牙接口;控制输入接口xxx映射到USB接口、蓝牙接口和按键接口;控制输出接口xxx映射到USB接口和蓝牙接口;状态输出接口映射到USB接口、蓝牙接口和显示屏。如蓝牙型智能密码钥匙作为硬件密码模块,需具备电能来源才能正常工作,送检产品内部具备锂电池,可以为蓝牙接口工作时提供电能来源;USB接口作为送检产品使用USB接口工作时的电源来源接口。

 

<CY03.03:材料中密码模块接口部分应按照GM/T 0028—2014附录A.2.3的要求编写。>(安全级别1,2,3,4

注:应说明密码模块支持的所有物理端口和逻辑接口,包括数据输入、数据输出、控制输入、控制输出、状态输出和电源接口。

针对安全三级和四级应进行可信信道接口的说明。

 

    1. 接口定义

<CY03.05:密码模块应有数据输入接口。所有输入到模块和由模块处理的数据(除通过控制输入接口输入的控制数据)应通过数据输入接口进入,包括:

——明文数据;

——密文或签名数据;

——加密密钥和其他密钥管理数据(明文或密文);

——认证数据(明文或加密的);

——来自外部的状态信息;

——其他输入数据。

若适用,材料中应说明所有与密码模块同时使用的外部输入设备,此设备用于输入数据到数据输入接口,如智能卡、令牌、键盘、密钥加载器和/或生物识别设备。>(安全级别1,2,3,4

注:应说明每个数据输入接口的功能、性能、传输数据的报文格式等。如有远程配置接口、专用密钥注入接口等也须说明说明。

例:PCIE密码卡密码模块的数据输入接口包括PCIE x1.0接口和USB1.0接口。身份认证信息通过USB接口输入,其余数据(待运算的数据原文、会话密钥密文、外部公钥明文、使用随机生成的加密密钥经SM4算法加密后的私钥密文、文件等数据)都经过PCIE接口输入;

外部输入设备包括拥有PCIE接口向模块输入数据的PC或服务器等,以及通过USB接口向模块输入身份认证信息的USBKEY等外部输入设备。

物理接口有PCI接口,输入xxx数据\USB接口,输入xxx数据.逻辑接口有SDF xxxx接口,输入xxx数据;SDF xxx接口,输入xxx数据

 

<CY03.06:密码模块应具有数据输出接口。所有已被处理以及由密码模块输出的数据(除通过状态输出接口输出的状态字外),包括:

——明文数据;

——密文数据和数字签名;

——加密密钥和其他密钥管理数据(明文或加密的);

——对外部目标的控制信息;

——经过处理或存储后从密码模块输出的其他信息。

若适用,材料中应说明所有和密码模块同时使用并用于从数据输出接口输出数据的外部输出设备,如智能卡、令牌、显示器、和/或其他存储设备。>(安全级别1,2,3,4

注:应说明输出接口输出哪些数据,以及送检产品与外部输出设备之间的交互过程。如为通信类产品,请详细说明通信接口的控制机制。

1:送检产品的USB接口是其与上位机交互的数据输出接口。运行于上位机的应用程序通过USB接口向产品发送指令和数据,指令和数据被嵌入式软件xxxx解释并处理,完成后指令响应通过USB接口返回上位机的应用程序。

2PCIE密码卡密码模块的数据输出接口有PCIE接口,输出数据包括:运算后数据、会话密钥密文、公钥、调用产生非对称密钥对接口时输出的私钥密文、文件等数据。当密码模块在错误状态下,除了获取板卡状态等简单命令可以处理之外,对于密码操作命令不做任何处理,直接返回错误指示。

物理接口有PCI接口,输出xxx数据\USB接口,输出xxx数据.逻辑接口有SDF xxxx接口,输出xxx数据;SDF xxx接口,输出xxx数据

 

<CY03.07:材料中应说明密码模块如何确保模块处在错误状态时,数据输出接口禁止输出所有数据(错误状态在GM/T 0028—20147.11.4中说明)。只要不含CSP,明文数据或其他滥用可能造成安全威胁的信息,状态信息可从状态输出接口输出以确定错误的类型。材料中应说明密码模块的设计如何能确保模块在自测试时,数据输出接口禁止输出所有数据(自测试在GM/T 0028—20147.10中说明)。只要不含CSP,明文数据或其他滥用可能造成安全威胁的信息,显示自测试的状态信息可从状态输出接口输出以确定错误类型。>(安全级别1,2,3,4

 

 

<CY03.08:密码模块应具有控制输入接口。用于控制密码模块操作的所有命令,信号和控制数据(除经数据输入接口输入的数据)须经控制输入接口进入,包括:

——命令输入,逻辑上通过API输入(如,软件和密码模块的固件);

——信号输入,逻辑或物理上通过一个或多个的物理端口(如,密码模块的硬件部件);

——手动控制输入(如,使用开关、按钮或键盘);

——其他输入控制控制数据。

若适用,材料中应说明所有与密码模块一起使用并用于向控制输入接口输入命令,信号和控制数据的外部输入设备,如智能卡、令牌或键盘。>(安全级别1,2,3,4

注:应说明具有哪些控制输入接口,控制其他外部设备,如智能卡、令牌、显示器和/或其他存储设备。如为通信类产品,请详细说明明通接口的控制机制。

控制输入接口

功能

电源按键

启动密码模块

 

 

 

 

 

<CY03.09:密码模块应具有控制输出接口。用于控制密码模块操作的输出命令,信号和控制数据须经控制输出接口输出。若适用,材料中应说明所有和密码模块同时使用并用于从控制输出接口输出控制数据的外部设备,如智能卡、令牌、显示器和/或其他存储设备。>(安全级别1,2,3,4

注:如密码模块产品有控制输出接口,则应说明具有哪些控制输出接口,控制其他外部设备,如智能卡、令牌、显示器和/或其他存储设备。

1:送检产品的USB接口是其与上位机交互的控制输出接口。运行于上位机的应用程序通过USB接口向产品发送控制指令,控制指令被嵌入式软件OnCOS解释并处理,完成后指令响应通过USB接口返回上位机的应用程序。

当送检产品向上位机返回应用管理相关指令响应时,USB接口属于控制输出接口。应用管理指令包括创建应用等等。输出的控制指令响应会向上位机返回当前送检产品的应用状态以及应用标识等控制数据,用于控制上位机后续的指令操作。

2PCIE密码卡密码模块通过PCIE接口获取控制命令,输入的控制数据包括:设备管理类命令(打开设备、关闭设备、获取设备信息、获取/释放私钥使用权限)、密钥管理类命令(生成密钥对、销毁会话密钥)、文件管理类命令(创建文件、删除文件)。

 

<CY03.10:材料中应说明密码模块处于错误状态时,采用什么策略来禁止密码模块通过“控制输出”接口来输出。材料应详细描述当密码模块处于自检状态时,密码模块的设计是如何保证控制输出接口禁止控制输出。>(安全级别1,2,3,4

 

 

<CY03.11:密码模块应具有状态输出接口。所有用于显示或指示模块状态的状态信息,信号,逻辑指示以及物理指示仪应通过状态输出接口输出,包括:

——状态信息输出,逻辑上通过API输出;

——信号输出,逻辑或物理上通过一个或多个物理端口输入的信号,如通过串行端口或PC卡下发的命令或信号;

——手动状态输出(如,使用灯、蜂鸣器、音调、铃声、指示器或显示器);

——其他输出状态信息。

若适用,材料中应说明所有的外部输出设备,该类设备用于通过状态输出接口输出状态信息,信号,逻辑指示和物理指示,如智能卡、令牌、显示器和/或其他存储设备。>(安全级别1,2,3,4

 

 

<CY03.13:如果密码模块需要向密码边界外的其他元件提供电能,或从密码边界外的其他元件获取电能(例如,电源或外部电池),材料中应指定电源接口及相关的物理端口。所有从密码边界外的其他元件输入到密码模块或从密码模块输出到密码边界外的其他元件的电能应通过指定电源接口。>(安全级别1,2,3,4

注:说明送检产品的电源接口。

例:智能密码钥匙使用USB接口与上位机通信时,需要依赖USB接口从上位机获取电能,实现模块的正常运转。USB接口符合USB2.0规范,上位机的USB Host负责提供标准5.0v电源供电。智能密码钥匙使用蓝牙接口与上位机通信时,产品内部的锂电池负责提供电能来源。

 

<CY03.14:材料中应说明密码模块是如何区分数据、控制信息和电源输入,以及数据、控制信息和状态信息输出。通过密码模块输入接口输入数据和控制信息的物理和逻辑路径,在物理上和逻辑上是如何与通过密码模块输出接口输出数据、控制信息和状态信息的物理和逻辑路径区分开来;材料中应说明用于输入数据和控制信息的物理逻辑路径如何在物理上和逻辑上与用于输出数据、控制信息和状态信息的物理逻辑路径区分开来。如果用于输入数据和控制信息的物理逻辑路径与用于输出数据、控制信息和状态信息的物理逻辑路径是物理共享的,材料中应说明密码模块是如何强制实现逻辑分离;材料应具有一致性,应说明密码模块区分数据、输入控制和数据控制、输出控制和输出状态,应说明通过密码模块可用的输入接口输入数据和状态信息的物理和逻辑路径,在物理上和逻辑上与通过密码模块可用的输出接口输出数据和状态信息的物理和逻辑路径是相分离的。>(安全级别1,2,3,4

注:说明密码模块如何区分数据、输入控制和数据控制、输出控制和输出状态,通过密码模块可用的输入接口输入数据和状态信息的物理和逻辑路径,在物理上和逻辑上与通过密码模块可用的输出接口输出数据和状态信息的物理和逻辑路径是相分离的,如何区分开来。

例:数据输入、输出,控制信息输入、输出共享一个物理端口。

输入的区分:每一种数据和控制输入,都由不同的命令组成,封装成不同的数据报文。密码卡根据不同的命令区分数据输入和控制输入。

输出的区分:不同输入对应不同输出,对于每一个输入,都会包含一个输出状态,指示命令是否正确执行,对于有数据输出的,在状态指示后面会紧跟着数据,从而很容易的分辨出数据和状态输出。

输入报文格式如下:

偏移

长度

标示

说明

0

1

CLA

命令类别

1

1

INS

命令字

2

1

P1

参数1

3

1

P2

参数2

4

2

LC

数据长度

5

LC

DATA

数据

输出报文格式:

偏移

长度

标示

说明

0

1

CLA

命令类别

1

1

INS

命令字

2

2

SW

状态

3

2

LE

数据长度

4

LE

DATA

数据

 

 

<CY03.15:材料中密码模块规格部分应明确规定密码模块输入数据以及控制信息的格式,包括对所有可变长度输入的限制。>(安全级别1,2,3,4

 

 

    1. 可信信道

<CY03.16:材料中应说明实现了可信信道,并描述可信信道的实现方式>(安全级别34

 

 

<CY03.17:材料中应说明可信信道可以防止在通信链路上的非授权修改、替换和泄露>(安全级别34

 

 

<CY03.18:材料中应说明可信信道所使用的物理端口,并描述其如何与其他物理端口实现物理隔离>(安全级别34

 

 

<CY03.19:材料中应说明可信信道所使用的逻辑接口,并描述其如何与其他逻辑接口隔离。>(安全级别34

 

 

<CY03.20:材料中应列举所有使用可信信道的服务。材料中应说明所有使用可信信道的服务采用了基于身份的鉴别,并描述实现方式>(安全级别34

 

 

<CY03.21:材料中应说明使用可信信道的状态指示器和状态信息。>(安全级别34

 

 

<CY03.22:材料中应说明所有使用可信信道的服务采用了基于身份的多因素鉴别,并描述实现方式。>(安全级别4

 

 

  1. 角色、服务和鉴别
    1. 角色、服务和鉴别通用要求

<CY04.02:材料中应说明是否支持多个操作员同时操作;如果密码模块支持多个操作员同时操作,材料中应描述怎样实现每一个操作员担任角色相隔离及相应服务相隔离的方法;材料中应描述对多个操作员的限制(例如,不允许一个操作员既是维护员角色又是用户角色)。>(安全级别1,2,3,4

 

 

<CY04.03:材料中角色、服务和鉴别部分应按照GM/T 0028—2014附录A.2.4中规定的要求编写。>(安全级别1,2,3,4

 

 

    1. 角色

<CY04.04:材料中密码模块产品应包括至少一个密码主管角色。>(安全级别1,2,3,4

 

 

<CY04.05:材料中应描述密码主管角色的功能,包括:执行密码初始化或管理功能,以及常用的安全服务,例如,模块初始化、CSPPSP的管理以及审计功能。>(安全级别1,2,3,4

注:送检单位的文档中需描述密码主管角色的功能,密码主管角色的权限和许可的服务。密码主管的定义需要与其执行的操作关联,并赋予其相应权限,包括执行密码初始化、CSPPSP的管理、审计功能。

例:送检产品由管理员或其它定义角色担任密码主管角色,执行模块初始化、产生密钥、制作证书、销毁密钥、清除敏感数据等。

 

 

<CY04.06:如果密码模块支持用户角色,材料中应说明用户角色负责执行的安全服务。>(安全级别1,2,3,4

 

 

<CY04.07:材料中应说明当维护员角色登陆或退出时,模块的SSP是怎样动态清零的。>(安全级别1,2,3,4

 

 

    1. 服务

<CY04.13:材料中应说明密码模块具有输出名称和模块标识符以及版本信息的服务,并描述具体操作步骤和方法;材料中应说明密码模块输出的名称或模块标识符以及版本信息的定义规则,并说明这些信息是否与模块的审验记录相关。>(安全级别1,2,3,4

 

 

<CY04.14:材料中应说明密码模块具有输出当前状态的服务。>(安全级别1,2,3,4

注:应描述密码模块涵盖的各种工作状态(如密码机的状态机:启动状态、工作状态、故障状态、关机状态等等),给出各个工作状态时密码模块输出的响应(如状态字、红灯闪、蜂鸣等);

 

<CY04.15:材料中应说明密码模块具有初始化和运行前自测试服务。>(安全级别1,2,3,4

 

 

<CY04.16:材料中应说明密码模块在核准的工作模式中使用核准的安全功能。>(安全级别1,2,3,4

 

 

<CY04.17:材料中应说明密码模块支持密码参数置零的服务。>(安全级别1,2,3,4

注:密码模块应提供用于模块内所有未受保护的敏感安全参数的置零方法。

例:送检产品可通过发送置零指令,以全01交替反复多次覆盖的方式对模块内未受保护的敏感安全参数进行置零。

 

 

<CY04.19:如果模块实现旁路能力,材料中应描述这个旁路服务;材料中应说明在开启密码模块的旁路功能之前,操作员应担任相应的授权角色>(安全级别1,2,3,4

 

 

<CY04.21:材料中应说明使用两个独立的内部操作来激活旁路能力;材料中应说明两个独立的内部操作能够改变用于控制旁路能力的软件和/或硬件配置,并描述这两个独立的内部操作。>(安全级别1,2,3,4

 

 

<CY04.22:材料中应描述如何由两个不同的操作员共同完成两个独立的内部操作才能激活旁路能力。>(安全级别1,2,3,4

 

 

<CY04.23:材料中应描述如何指示旁路能力是否被激活的状态。>(安全级别1,2,3,4

 

 

<CY04.24:如果密码模块支持自启动密码服务能力,材料中应说明该功能只能由密码主管配置,在模块重置、重启或开关电源之后可以保留下来。>(安全级别1,2,3,4

 

 

<CY04.25:应定义两个独立的内部操作来激活自启动密码服务能力;材料中应说明两个独立的内部操作是如何改变控制自启动输出密码能力的软件和/或硬件的行为;材料中应详细说明两个独立的内部操作是如何防止单个错误造成不经意的输出。>(安全级别1,2,3,4

 

 

<CY04.26:材料中应描述内部操作如何改变用于控制旁路能力的软件和/或硬件配置。>(安全级别1,2,3,4

 

 

<CY04.27:材料中应描述如何由两个不同的操作员共同完成两个独立的内部操作才能激活自启动密码服务能力。>(安全级别1,2,3,4

 

 

<CY04.28:材料中应描述如何指示自启动密码服务能力是否被激活的状态。>(安全级别1,2,3,4

 

 

<CY04.30:应提供加载的软件或固件的文件清单和说明;应提供审验机构提供的审验报告或证明。>(安全级别1,2,3,4

 

 

<CY04.31:材料中应描述在加载及加载测试过程中禁止数据输出的过程。>(安全级别1,2,3,4

注:“加载”是指产品经核验之后需要从外部加载软件或固件进行升级的情况。

审验机构为密码检测认证机构,首次送检的产品不需要审验报告或证明。

 

<CY04.32:材料中应描述运行加载的软件/固件的操作步骤和方法;材料中应说明在运行加载的代码之前执行了GM/T 0028-20147.10.3.4中规定的软件/固件加载条件自测试,并描述操作步骤和方法。>(安全级别1,2,3,4

 

 

<CY04.33:材料中应说明任何已经加载的或已被修改的核准的安全功能在运行之前,应该成功执行GM/T 0028-20147.10.2中规定的运行前自测试;材料中应描述运行前自测试的方法和步骤。>(安全级别1,2,3,4

 

 

<CY04.34:材料中应描述运行加载的软件/固件的版本信息;材料中应描述获取模块版本信息的方法和步骤。>(安全级别1,2,3,4

 

 

<CY04.35:如果新软件或固件的加载是镜像的完全更替,应提供审验机构重新核发的审验报告或证明。>(安全级别1,2,3,4

注:若支持加载新软件或固件,且为镜像的完全更替,则加载的新软件或固件应是密码检测认证机构核准过的。

 

 

<CY04.36:如果支持镜像的完全替换,材料中应详细说明新加载的软件或固件镜像在模块上电重置之后是如何运行的。>(安全级别1,2,3,4

 

 

<CY04.37:材料中应列举所有SSP,并说明所有SSP在运行镜像之前被置零;材料中应提供如何实施置零技术的原理性解释。>(安全级别1,2,3,4

 

 

    1. 鉴别

 

<CY04.39:应描述模块实现的鉴别类型。应记录用来实现隐式地或显示地选择一个或多个角色的机制,以及鉴别操作员担任的角色。>(安全级别234

例:送检产品运行过程中使用基于角色的鉴别机制。送检产品支持密码主管、用户和管理员共三种角色。通过设备认证后操作员处于密码主管角色(隐式的选择);在应用内部成功认证用户PIN的操作员处于用户角色(显式的选择);在应用内部成功认证管理员PIN的操作员处于管理员角色(显式的选择)。

 

 

<CY04.40:材料中应描述操作员变换角色的能力,还必须说明怎样鉴别操作员担任的新角色。>(安全级别234

 

 

<CY04.43:应记录模块内实现的鉴别类型。应记录用于执行操作员身份鉴别的机制、操作员的身份鉴别、一个或多个角色隐式地或显示地选择、操作员担任角色的鉴别。>(安全级别1,2,3,4

 

 

<CY04.44:材料中应描述操作员改变角色的能力,还应说明对操作员新角色的身份鉴别是必要的。>(安全级别3,4

 

 

<CY04.45:材料中应描述当模块被重置、重启、关闭时,如何将之前的鉴别结果清除。>(安全级别1,2,3,4

 

 

<CY04.46:材料中应描述所有鉴别数据的保护措施。保护措施应包括防止未经授权的泄露、修改和替换机制。>(安全级别1,2,3,4

 

 

<CY04.47:材料中应说明在初始化模块之前控制模块访问的方法。>(安全级别2,3,4

 

 

<CY04.48:材料中应说明默认鉴别数据的内容和使用方式。>(安全级别2,3,4

 

 

<CY04.49:材料中应说明采用何种核准的安全功能鉴别操作员。>(安全级别2,3,4

注:鉴别机制基于密码协议,通过密钥来区分特定的实体,注意密钥与实体之间的关系绑定。送检单位应描述鉴别密码协议,且鉴别采用的安全功能符合GM/T0028-2014附录C要求。

例:送检产品采用对称算法实现操作员鉴别,通过与实体对应的鉴别密钥产生鉴别数据,鉴别密码协议如下……,该协议可抵抗……攻击等。

 

 

<CY04.50:材料中应说明采用何种核准的鉴别机制。>(安全级别2,3,4

注:给出密码模块操作员鉴别机制,符合附录E的何种鉴别机制,详细描述鉴别实现过程。

例:模块采用KEY与口令结合方式进行身份认证,认证过程中采用基于SM2数字签名技术进行签名验签,实现角色的鉴别。

 

<CY04.51:提供符合GM/T0028——2014附录B要求的安全策略文档,描述鉴别机制的预期强度。>(安全级别2,3,4

注:作为产品生产单位,对这个鉴别强度的期望值是怎样的数量级

 

<CY04.52:材料中应说明密码模块支持的每个核准的鉴别机制,及鉴别强度。>(安全级别2,3,4

例:送检产品如果采用8位数字PIN码,可认为强度是10^8

用户通过xxx约束条件使得鉴别强度满足了CY04.51中厂商期望值。

 

<CY04.53:材料中应说明每个核准的鉴别机制在1min内的多次随机尝试使用通过核准的鉴别机制的成功概率。>(安全级别2,3,4

1:送检产品的设备认最多可重试三次,若连续三次都认证失败,设备认证密钥将被锁定。

2:送检产品采用用户口令和管理员口令进行认证时,如口令长度为8位,每位均为数字,则口令的单次随机尝试的成功概率为1/10^8

 

<CY04.54:材料中应说明密码模块鉴别机制的实现方法和原理。>(安全级别2,3,4

注:要求对密码模块采用的鉴别协议进行详细说明

例:账号口令机制:在具体实现时,操作员和密码模块对口令使用基于SM3算法的PBKDF计算出鉴别密钥,使用鉴别密钥实现GB/T 15843.2定义的两次传递单向鉴别,协议交互过程如下图所示:……

 

<CY04.55:材料中应说明软件密码模块所采用的操作系统;材料中应说明操作系统实现的鉴别机制。>(安全级别2

 

 

<CY04.56:材料中应说明在输入鉴别数据时,隐藏鉴别数据给操作员的反馈信息的方法。>(安全级别2,3,4

 

 

<CY04.57:材料中应说明在操作员输入鉴别数据时使用的反馈机制。>(安全级别2,3,4

 

 

<CY04.58:应记录密码模块运行的鉴别类型。应记录操作员隐式或显示地选择一个或一系列角色的机制,及操作员担任角色的鉴别方法;材料中应提供操作员隐式或显示地担任角色的描述。>(安全级别1,2,3,4

 

 

<CY04.61:材料中应说明密码模块采用的基于身份的多因素鉴别机制。>(安全级别4

 

 

  1. 软件/固件安全

<CY05.02:送检材料的软件/固件安全应按照GM/T 0028-2014附录A.2.5中规定的要求编写。>(安全级别1,2,3,4

 

 

<CY05.04:送检单位应提供软件和固件的说明书;送检文档应描述如何确保在安装前所有的软件与固件未被修改。>(安全级别1,2,3,4

 

 

<CY05.05:送检文档中应详细说明所有的软件和固件部件所使用的、已核准的完整性技术。这些完整性技术可由该密码模块提供,也可由另一个经审验的密码模块提供;送检文档中应明确说明如何在所有的软件和固件部件中应用了完整性技术(使用单个的消息鉴别码或签名,或多个分离的鉴别码或签名);送检文档应明确说明完整性技术所使用密钥的位置。如果核准的数字签名被当做完整性技术使用,那么送检材料应明确说明签名私钥(用于生成参考签名)的位置。>(安全级别1,2,3,4

 

 

<CY05.06:送检单位应提供软件和固件完整性测试的说明书。这个机制应是核准的安全功能;送检文档中应说明如果完整性测试失败,模块将进入错误状态;送检文档中应说明在多个分离的消息鉴别码或签名中,任何一个消息鉴别码或签名验证失败都会导致模块进入错误状态。>(安全级别1,2,3,4

 

 

<CY05.09:送检文档应说明通过SFMIHSMIHFMI服务按需执行已核准的完整性技术的方法。>(安全级别1,2,3,4

注:SFMI为软件或固件模块接口,定义为用于请求软件或固件模块服务的命令全集,请求服务的命令中包括输入到密码模块或者由密码模块输出的参数。

HSMIHFMI为混合软件或混合固件模块接口,定义为用于请求混合软件或混合固件模块服务的命令全集,请求服务的命令中包括输入到密码模块或者由密码模块输出的参数。

例:送检产品的SFMI中定义了请求执行软件完整性自测试的接口,用户可按需执行核准的完整性自测试。

 

 

<CY05.11:送检单位应提供通过已审验的模块实现软件/固件加载测试的说明。>(安全级别1,2,3,4

 

 

<CY05.13:送检单位应提供可执行形式的软件和固件的说明>(安全级别2,3,4

 

 

<CY05.14:送检单位应提供HM1SFM1HFM1HSMI服务的说明>(安全级别2,3,4

 

 

<CY05.16:送检文档应标识用于保持密码软件和固件部件完整性的技术>(安全级别2,3,4

 

 

<CY05.19:送检文档应说明核准的数字签名机制;送检文档应说明如果使用核准的数字签名机制对密码边界内的软件或固件进行计算的结果不等于之前生成的结果,则检测失败,模块应进入错误状态>(安全级别34

注:对于安全级别34级的密码模块,文档中应说明使用的核准的数字签名机制,并应说明,采用该数字签名机制对软件固件进行完整性保护时,如检测失败,密码模块应该进入错误状态,此时,密码模块应当不能对外提供任何密码服务。

 

 

<CY05.21:送检文档应满足CY05.05.03的要求。送检单位的设计应确保生成参考签名的签名私钥保存在密码模块的边界之外>(安全级别34

 

 

  1. 运行环境
    1. 运行环境通用要求

<CY06.03:材料应按照GM/T0028——2014附录A.2.6中规定的要求编写。>(安全级别12

注:密码模块运行环境说明,包括(如果适用的话)模块所使用的操作系统,包括但不限于配置运行环境的安全规则、设置和限制条件的说明,配置操作系统符合相应要求的管理员指南文档等。

    1. 可修改运行环境的操作系统要求

<CY06.05:材料中应描述用来确保密码模块的加密进程运行时每一个实例能够控制和支配自己的SSP的操作系统机制。>(安全级别12

例:密码模块所涉及的敏感安全参数(如各类密钥、交易参数等),均有各自的存储区域(安全芯片中对应的各个分区),保证控制和支配的独立性,同时,操作员没有权限接触和更改相应配置,而所有试图控制模块安全参数的外部进程,均会导致模块的触发。

 

<CY06.06:材料中应描述运行环境机制用来提供应用进程间相互隔离的能力,以阻止进程间对CSP不受控的访问以及对SSP不受控的修改,无论CSPSSP是在进程内存中还是存储在运行环境内的永久性存储体中。>(安全级别12

例:送检产品运行环境的应用进程间采用进程间通信,应用进程间相互隔离,可以阻止进程间对CSP不受控的访问以及对SSP不受控的修改。

 

<CY06.07:应提供文档描述对运行环境配置的所有规定。>(安全级别12

例:运行环境的软件、固件、主控固件的加载、更新均需要通过相应的校验;运行环境的异常会导致模块进入触发状态;运行环境的各类自检确保了关键功能、算法的正确性。

 

<CY06.08:材料中应描述用来确保密码模块产生的进程由模块自己所有,不由外部进程/操作员所有的操作系统机制。>(安全级别12

例:密码模块产生的进程由模块自己所有,不由外部进程/操作员所有。送检产品的密钥存储功能进行密码计算是实现在内核中,送检产品的密码原语功能进行密码计算实现在调用者所在的进程空间内,进程空间的安全性是由操作系统保证。因此外部进程不能读取送检产品所涉及的密码操作。

 

<CY06.09:应提供材料描述运行环境;材料中应比较密码模块的运行环境和审验机构许可的运行环境。>(安全级别2

注:如果运行环境要求由审验机构指定,则应满足CY06.09-CY06.28的要求。

 

<CY06.10:提供操作系统文档描述操作系统控制机制,该机制应实现了基于角色的访问控制,或者实现了自主访问控制,该自主访问控制可通过访问控制列表(ACL)来定义新的组合分配权限,并且能够给每个用户分配多个组。>(安全级别2

例:送检产品的所有密码软件、SSP、控制和状态信息在操作系统的控制之下,操作系统实现了Windows ACL访问控制。

 

<CY06.11:应提供操作系统文档描述操作系统控制机制,该机制正确配置后可以防止非授权地执行、修改和读取SSP、控制和状态数据。>(安全级别2

例:送检产品的操作系统通过Windows ACL访问控制和进程隔离可防止非授权地执行、修改和读取SSP、控制和状态数据。

<CY06.12:应提供操作系统文档描述操作系统的访问控制机制如何进行相关配置,以定义和实现有权运行模块中密码软件的角色或组以及它们相关的权限。>(安全级别2

例:送检产品的操作系统的访问控制机制定义和实现了有权运行模块中密码软件的角色或组以及与它们相关的权限。

 

<CY06.13:应提供操作系统文档描述操作系统的访问控制机制如何进行相关配置,以定义和实现有权修改(写、替换和删除)存储在密码边界内软件的角色或组以及它们相关的权限,这些软件包括执行密码功能的程序、密码操作相关数据(例如,密码操作的审计数据)、SSP和明文数据。>(安全级别2

例:只有Windows ACL访问控制下授权的密码主管角色有权修改(写、替换和删除)存储在密码边界内软件。除安全密码模块自身外的所有应用(非系统应用)都无法修改存储在密码边界内的任何密码操作相关数据以及敏感信息等数据。

 

<CY06.14:应提供材操作系统文档描述操作系统的访问控制机制应如何进行相关配置,以定义和实现了有权读取密码操作相关数据(例如,密码操作的审计数据)、CSP和明文数据的角色、分组以及它们相关的权限。>(安全级别2

例:只有Windows ACL访问控制下授权的密码主管角色有权读取密码操作相关数据(例如,密码操作的审计数据)、CSP和明文数据。除安全密码模块自身外的所有应用(非系统应用)都无法读取密码操作相关数据(例如,密码操作的审计数据)、CSP和明文数据

 

<CY06.15:应提供操作系统文档描述操作系统的访问控制机制如何进行相关配置,以定义和实现有权输入SSP的角色、分组以及与它们相关的权限。>(安全级别2

 

 

<CY06.17:应提供操作系统文档描述当密码模块不在维护模式时,操作系统如何防止所有操作员和运行的进程修改正在运行的密码经常(例如,已加载的和正执行的密码程序镜像);提供的有关密码模块不在维护模式时,操作系统如何防止所有操作员和运行的进程修改正在运行的密码进程(例如,已加载的和正执行的密码程序镜像)的说明书应与安全策略中已定义的角色、分组和服务相一致。>(安全级别2

例:操作系统的进程间隔离可防止所有操作员和运行的进程修改正在运行的密码进程。

 

<CY06.18:应提供操作系统文档描述操作系统如何防止用户进程对其他进程的SSP以及系统SSP进行读或写操作;提供的有关操作系统如何防止用户进程对其他进程的SSP以及系统SSP进行读或写操作的说明书应与安全策略中已定义的角色、分组和服务相一致。>(安全级别2

例:操作系统的进程间隔离能防止用户进程对其他进程的SSP以及系统SSP进行读或写操作。

 

<CY06.19:应提供管理员指南文档描述操作系统的配置如何满足了CY06.16~CY06.18的。>(安全级别2

注:提供管理员指南文档,描述操作系统的配置。

 

<CY06.20:应提供管理员指南文档声明操作系统是按照需要保护的模式内容所指定的要求进行的配置。>(安全级别2

注:管理员指南应当声明:操作系统必须按照需要保护的模块内容所指定的要求进行配置。

 

 

<CY06.24:应提供操作系统文档描述操作系统提供的审计机制,以及审计事件日前和时间的标注方法。>(安全级别2

例:送检产品的操作系统具有审计事件和时间的审计机制。

 

<CY06.25:应提供材操作系统文档描述密码模块为操作系统的审计机制提供审计记录的服务。>(安全级别2

 

 

<CY06.26:应提供材操作系统文档描述被操作系统审计机制记录的所有密码模块事件。>(安全级别2

 

 

<CY06.27:应提供材操作系统文档描述被操作系统审计机制记录的所有操作系统事件。>(安全级别2

 

 

<CY06.28:应提供材操作系统文档描述如何配置操作系统以防止操作员,除安全策略中给出的、拥有特权的操作员以外,修改存储在密码模块运行环境中的密码模块软件和审计数据。>(安全级别2

例:送检产品的操作系统能够保证除安全密码模块自身以外,都无法修改密码模块运行环境中的密码模块软件和审计数据。

 

  1. 物理安全

若密码模块完全由软件实现,使得物理安全仅由计算平台提供,那么该模块将不受物理安全要求的限制。

    1. 物理安全实体

<CY07.01:送检文档中应描述模块使用的、适用的物理安全机制,模块中所有的硬件、软件、固件及数据(包括未经加密的加密密钥和未经加密的CSP)均应受到保护>(安全级别1,2,3,4

注:应说明密码模块产品采用的物理安全机制

例:如拆机留痕、传感器等

    1. 通用物理安全要求

<CY07.09:送检文档应按照GM/T 0028—20147.7.1的要求明确说明密码模块的物理实体,包括单芯片密码模块、多芯片嵌入式模块,或多芯片独立式模块>(安全级别1,2,3,4

注:送检单位根据产品情况表明所达到的安全级别并划分物理实体类型:

单芯片密码模块:单个集成电路(IC)芯片构成的模块,该芯片可以作为独立模块使用,或者可以嵌入可能没有物理保护的外壳或其它模块中。这个单芯片由片装和外部输入/输出连接器组成,其中片装使用统一的外部材料如塑料或陶瓷包装。例如:单IC芯片、单IC芯片智能卡或者包含实现密码功能的单IC芯片的其它系统。

多芯片嵌入式密码模块:模块由两个或两个以上互相连接的IC芯片构成,并物理嵌入到其他产品或未被物理保护的外壳中。例如:适配器和扩展板。

多芯片独立密码模块:两个或两个以上互相连接的IC芯片嵌入到完全受到物理保护的外壳中。例如:加密路由器、安全无线电话和USB令牌。

物理部件可包括外壳(如材质组成、缝合原理等)、内部元器件、IC芯片或其它硬件部件,能够监测或执行触发机制,以保证内部敏感信息安全。

例:送检产品采用XX材质的金属/塑料外壳包裹电路板等元器件,防止磨损等,内部敏感信息存储及运算均在SSX1234安全芯片内部,由安全芯片提供安全防护,芯片之间采用SPI通信,整个核心安全区设有触发检测机制等。

 

 

<CY07.10:送检材料应明确说明检测到拆卸行为后,置零操作的响应时间>(安全级别1,2,3,4

 

 

<CY07.11:送检文档应描述模块使用的维护访问接口>(安全级别1,2,3,4

 

 

<CY07.12:送检文档应说明维护访问接口,包括任何封盖或门>(安全级别1,2,3,4

 

 

      <CY07.13:送检文档应说明维护访问接口,包括任何封盖或门>(安全级别1,2,3,4

 

 

<CY07.15:模块应是一个标准的、产品级质量的IC芯片,并应达到商业级规范中对电源、温度、可靠性、震动和振动等的要求。模块应对整个芯片使用标准钝化技术。送检材料中应说明IC芯片的质量。如果使用的芯片不是标准的设备,也应该说明其钝化设计>(安全级别1,2,3,4

注:描述产品使用了哪些IC芯片,描述IC芯片质量,是否为标准的、产品级质量的IC芯片,是否达到商业级规范中对电源、温度、可靠性、震动和振动等的要求。

例:送检产品使用的主控芯片是A公司生产的可应用于….的产品级芯片,该芯片已经通过检测认证的级安全芯片资质认证。主控芯片和电源转换芯片都经过标准钝化处理,其表面被一层….覆盖,可以有效抵挡工作环境对芯片本身的腐蚀。

 

 

<CY07.19:送检材料应明确说明拆卸存迹的材料、涂层或外壳在可见光范围内为不透明或半透明的>(安全级别2,3,4

注:描述拆卸痕迹的材料具有怎样的特点,是否为半透明或不透明。

例:送检产品的主壳体使用厚度约….毫米的硬质塑料外壳。主壳体采用结构卡扣,当外界试图拆卸送检产品时,拆卸行为会导致结构卡扣损坏,外壳产生明显变形。

主壳体和LCD屏幕在可见光范围内均为不透明的,防止对模块关键区域的部结构进行信息收集。

 

 

<CY07.20:送检材料应说明通风的物理设计方法。如果被封盖或外壳包含的模块含有任何通风孔或缝,则这些通风孔或缝应具有特殊的构造,从而防止通过直接观察外壳内部的构造或部件进行信息收集>(安全级别2,3,4

 

 

<CY07.25:送检材料应说明通风结构的物理设计方法。如果被封盖或外壳包含的模块含有任何通风孔或缝,则这些通风孔或缝应能防止未被检测到的对模块内部的物理探测>(安全级别3,4

 

 

<CY07.26:送检材料应说明外壳的硬度,以及该硬度适用于该模块设计的原因>(安全级别3,4

 

 

<CY07.27:如果使用了拆卸封条,送检材料应提供拆卸存迹封条的明确说明>(安全级别3,4

 

 

<CY07.32:送检材料应明确指出防止错误注入攻击的保护机制>(安全级别4

 

<CY07.33:送检材料应明确指出模块使用的粗无注入缓解技术和缓解指标,并按照GM/T 0028附录B的要求进行记录(安全级别4

 

 

    1. 物理安全实体的物理安全要求

7.3.1单芯片密码模块

<CY07.35:送检材料应说明芳拆卸涂层及其特点>(安全级别2,3,4

 

 

<CY07.36:送检材料应说明防拆卸涂层及其特点声明AY07.37AY07.38中的哪一种用来满足这一要求>(安全级别3,4

 

 

<CY07.37:送检材料应清晰描述在AY07.34中指定的方法被用于满足此要求,应提供详细的设计信息,特别是涂层材料的种类和特性>(安全级别3,4

 

 

<CY07.39:送检材料应提供详细的设计信息,特别是当模块封装含有任何门或封盖或指定的维护访问接口时,封装的设计使移除或入侵封装的尝试极有可能对密码模块内部的电路造成严重损坏;如果模块封装含有任何门或封盖或指定的维护访问接口,则该模块须含有拆卸相应和清零电路。该电路应持续检测这些封盖和门,并且在移除封盖或打开门之前,所有未经加密的CSP应清零。当未经加密的CSP包含在模块中,则电路应是运行的>(安全级别4

 

 

<CY07.41:送检材料应清晰核实使用的涂层的种类,并提供涂层材料的详细特性,特别是它的硬度和抗移除性;模块应当由坚固不透明的、抗移除的涂层所覆盖。材料的硬度和粘性使得将材料从模块块上剥离或撬开的尝试极有可能导致模块的严重损坏(例如,模块将不可运转)。涂层材料在可见光范围内是不透明的>(安全级别4

 

 

<CY07.42:送检材料应描述移除材料的溶解特性。涂层的溶解特性使通过溶解材料移除抗移除材料极可能会溶解或严重损害模块>(安全级别4

 

 

7.3.2多芯片嵌入式密码模块

<CY07.43:模块应整个包含在一个产品级的外壳或封盖中。送检文档应对外壳或封盖进行描述>(安全级别1,2,3,4

 

 

<CY07.45:送检材料应提供坚固封装的设计文档,模块部件使用拆卸存迹的涂层或灌封装料(例如,耐腐蚀涂层或防渗透涂料)覆盖,以阻止直接观察并提供企图拆卸或移动模块部件的证据>(安全级别2,3,4

 

 

<CY07.46:送检材料应描述如下内容:模块被整个包在金属或硬质塑料的产品级外壳中,该外壳可以有门或封盖>(安全级别2,3,4

 

 

<CY07.47:如果外壳包含门或封盖,则门或封盖应使用防撬锁锁住,送检文档应描述防撬机械锁及其物理的或逻辑的钥匙>(安全级别2,3,4

 

 

<CY07.48:送检材料应描述拆卸存迹的封印>(安全级别2,3,4

 

 

<CY07.50:送检材料应提供硬质涂料或灌封材料的设计文档;应提供硬质涂料或灌封材料的不透明特性的相关文档>(安全级别3,4

 

 

<CY07.51:送检材料需提供坚固封装的设计文档。模块须完全包含在坚固封装中。封装设计须满足如下如下要求:移除封装极有可能对模块造成严重的损害(即模块将不可运行);如果外壳含有门或封盖,则密码模块应含有拆卸响应和置零电路,该电路应能够持续检测这些封盖和门,并且在封盖移除或门被打开之前,所有的未经加密的CSP应置零;只有未经加密的CSP包含在模块中,则电路应运行>(安全级别3,4

 

 

<CY07.53:模块须包含在一个拆卸探测外壳中,该防拆卸外壳监测对模块灌封材料或外壳的攻击。送检文档须描述该外壳的设计>(安全级别4

 

 

<CY07.55:模块须包含在一个拆卸探测外壳中,该防拆卸外壳监测对模块灌封材料或外壳的攻击。送检文档须描述拆卸探测外壳的设计>(安全级别4

 

 

<CY07.57:密码模块应包含拆卸响应和置零电路,该电路应持续地监测拆卸探测外壳,一旦检测到拆卸行为,须对所有未经加密的CSP进行置零。当模块内含有未经加密的CSP时,置零电路应持续运行。送检文档应描述拆卸响应和置零电路的设计>(安全级别4

 

 

<CY07.58:模块须包含拆卸响应和置零电路,该电路应不断监测拆卸探测外壳,并且一旦检测到拆卸行为,须对所有未经加密的CSP进行置零。送检文档应描述拆卸响应和置零电路的设计>(安全级别4

 

 

7.3.3 多芯片独立式密码模块

<CY07.60:模密码模块应完全包含于金属的或坚硬塑胶的产品级封装内,该封装可能包含门或封盖。送检文档应描述封装及其硬度特性>(安全级别1,2,3,4

 

 

<CY07.62:如果外壳包含门或封盖,则它们须被由物理的或逻辑钥匙可打开的防撬机械锁锁定。送检文档应描述由物理的或逻辑的钥匙可打开的防撬机械锁机制>(安全级别2,3,4

 

 

<CY07.63:如果外壳通过例如证据胶带或全息封条的防篡改封条保护,送检文档应描述防篡改封条>(安全级别2,3,4

 

 

<CY07.65:送检文档应提供坚固外壳的设计文档。模块须完全包含在坚固外壳中。外壳设计须满足如下要求:移除外壳极可能对模块的内部电路造成严重的损害(例如:模块将不能工作)。如果外壳含有门或封盖,则密码模块须含有拆卸响应和置零电路。该电路应持续地检测这些封盖和门,并且在封盖移除和门被打开之前,应置零所有的未经加密的CSP。只要模块中包含未经加密的CSP,电路就应该运行>(安全级别3,4

 

 

<CY07.67:封装或灌封材料须使用拆卸探测机制的拆卸探测外壳进行封装。送检文档应描述拆卸探测外壳的设计机制>(安全级别4

 

 

<CY07.71:密码模块应包含拆卸响应和置零电路,该电路应持续监测拆卸检测外壳,并且一旦检测到拆卸行为须立即置零所有未经加密的CSP。当模块中包含未经加密的CSP时,拆卸响应及置零电路应持续运行。送检文档应描述拆卸响应和置零电路的设计>(安全级别4

 

 

7.3.4 环境失效保护/测试

<CY07.73:送检单位使用下述中的一种:

——EFP特征;或

——EFT

正如在GM/T 0028-2014 7.7.4中指出,确保如下四种异常环境状况或超出了模块常规运行范围的波动(意外的或有意的)将不会危及模块的安全:

——低温

——高温

——大负电压

——大正电压

送检单位应选择为每种条件使用EFPEFT,但是每个选择相对于其他条件的选择是独立的。送检单位应为每个条件提供相应的配套文档,指出选择的方法是如何使用的>(安全级别3,4

 

 

<CY07.77:如果EFP在特定条件下使用,则模块应监测并且正确的响应在该条件下超出了正常工作范围的温度及电压波动。保护功能应持续地测量这些环境条件。如果一种条件确定超过模块正常的运行范围,保护电路应做出如下反应之一:

——关闭模块;或者

——清零所有明文的SSP

文件应声明哪种方法被选择,并且提供在模块内执行EFP功能的详细说明>(安全级别3,4

 

 

<CY07.81:如果EFP在特定条件下使用,模块应在AY07.82中提到的温度和电压范围内进行检测。模块应满足:

——继续正常运行;或者

——停止;或者

——置零所有未经加密的SSP

文档应描述选择的方法,并且提供对EFT的详细描述>(安全级别4

 

 

  1. 非入侵式安全

注:对于运行于可修改环境中的软件模块,“非入侵式安全”要求是可选的。对于硬件和固件模块,“非入侵式安全”要求应当适用。对于混合模块,硬件部件应当满足“非入侵式安全”中的所有适用要求。

<CY08.04:提供的文档详细说明用于保护模块CSP免受所有非入侵式攻击的缓解技术。>

注:描述密码模块针对附录F中实现的产品级非入侵攻击的缓解技术。

附录F的非入侵式攻击包括能量分析、计时分析、电磁泄漏,具体缓解方法详见附录F.2

 

<CY08.05:材料中应详细说明每个缓解技术的有效性。>

 

 

<CY08.06:材料中应说明密码模块实现了用于保护CSP免受GM/T00282014附录F中所有非入侵式攻击的缓解技术。>(安全级别3

 

 

<CY08.07:应在材料中详细说明每个缓解技术的有效性;应在材料中描述缓解技术有效性的测试方法。>(安全级别3

 

 

<CY08.08:应提交文档以说明密码模块使用的非入侵式攻击缓解方法。>(安全级别4

 

 

  1. 敏感安全参数管理
    1. 敏感安全参数管理通用要求

<CY09.01:送检单位的文档应描述模块内所有CSP的保护措施,包括防止非授权的访问、使用、泄露、修改和替换的实现机制>(安全级别1,2,3, 4

注:应分别指出不同种类的CSP对应的保护措施,包括但不限于机密性、完整性。

例:送检产品采用三级密钥机制,分别为主密钥、次主密钥、数据密钥,主密钥采用微电保护存储方式,存储在XXXPCI-E密码卡中,依靠送检产品的销毁密钥的触发装置,当触发装置被触发时,销毁存储的所有密钥;次主密钥由主密钥采用SM4算法加密后存储在XXXPCI-E密码卡中,数据密钥由次主密钥采用SM4算法加密后存储在数据库中。

 

<CY09.02:送检单位的文档中应描述防止所有PSP被未经授权的修改和替换的保护措施>(安全级别1,2,3, 4

 

 

<CY09.03:送检单位提供的文档应描述生成的、输入或输出模块的SSP与被分配实体(即人、组、角色或进程)的关联关系>(安全级别1,2,3, 4

注:材料书写时可使用图标方式将SSP与实体对应起来。

例:

SSP类型

生成方式

使用角色

读取角色

修改角色

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

注:SSP的生成、输入或输出是否与某权限、某管理员等相关联。

例:送检产品内部的敏感安全参数见表。其中除A密钥外的对称密钥和根公钥证书为外部导入,用于签名的非对称私钥为内部生成。产品内部的公钥证书可以输出到产品外部。敏感安全参数与用户或密码主管角色的关联关系如表..所示。

… SSP与被分配实体的关联关系

密钥属性

生成方式

使用角色

读取角色

修改角色

密钥

外部导入

密码主管

密码主管

密钥

外部导入

密码主管

密码主管

外部导入

用户

用户/管理员

<CY09.04:送检单位提交的文档中应描述如何保护口令的杂凑值、随机比特生成器状态信息和密钥生成的中间值>(安全级别1,2,3, 4

 

 

<CY09.05:送检单位提交的有关SSP管理的文档>(安全级别1,2,3, 4

例:

XXX密钥

密钥生成/导入

 

密钥导出

 

密钥存储

 

密钥更新

 

密钥使用

 

密钥销毁

 

密钥备份

 

 

    1. 随机比特生成器

<CY09.06:送检单位应提供用于核准的安全功能的所有RBG的清单,密码模块内SSP生成或SSP建立方法和它们的用途;送检材料应描述核准的安全功能、SSP生成或SSP建立所使用的随机数均由核准的随机比特生成器产生>(安全级别1,2,3, 4

注:列出有哪些SSP,各SSP如何产生,使用核准随机比特生成器产生。

例:送检产品内部使用A作为主控芯片,该芯片的真随机数发生器是送检产品内部唯一的随机比特生成器,并且智能密码钥匙运行过程中所有的随机比特均来自A的真随机数发生器。主控芯片A为通过检测认证的级安全芯片,其内部真随机数发生器模块符合《随机性检测规范》的相关要求。

当送检产品在内部生成对称算法密钥或SM2签名密钥对时,A的真随机数发生器是唯一的随机比特来源。

 

 

<CY09.07:如果熵是从模块密码边界外部收集的,送检单位提交的文档中应说明使用该熵作为输入所生成的数据流被视为CSP>(安全级别1,2,3, 4

注:若模块随机数由已获认证芯片产生,可直接描述随机数由xx芯片产生,若软件实现随机数,则需要描述具体原理,熵从哪里收集,熵是否被保护。

1:送检产品的随机比特均来自密码模块外主控芯片A内部的真随机数发生器。

2:送检产品的随机比特熵来自外部温度、湿度、震动、CPU风扇转速等物理随机源,送检方对每个物理源采集了128Mb数据,按照GM/T0005附录A.12的方法进行近似熵估计,随机比特发生器以估计值的1/2倍做实际输出(例如每128比特估计熵为10比特,则自物理源采集累积256比特并后处理后,才输出10比特随机数),具体原理如下:……

 

<CY09.08:无论熵从密码边界内部还是外部收集,送检单位的文档中应说明对于任何一个CSP,其最小熵值不小于256比特>(安全级别1,2,3, 4

注:若模块随机数由已获认证芯片产生,可直接描述随机数由xx芯片产生,若软件实现随机数,则需要描述具体原理。

例:送检产品的随机比特均来自密码模块内主控芯片A内部的真随机数发生器,对于任何一个CSP,其最小熵值不小于256比特。

 

 

<CY09.09:如果熵从内部收集,送检单位的文档中应描述随机比特的产生原理>(安全级别1,2,3, 4

注:若模块随机数由已获认证芯片产生,可直接描述随机数由xx芯片产生,若软件实现随机数,则需要描述具体原理。

例:送检产品运行过程中所有的随机比特均来自密码模块内主控芯片A内部的真随机数发生器。

 

 

    1. 敏感安全参数的生成

<CY09.10:送检单位的文档中应提供依据表明破坏SSP生成方法的安全性(例如,猜测用于初始化确定性随机比特生成器的种子值)应当至少与猜测已生成的SSP值的代价相当>(安全级别1,2,3, 4

注:送检单位应提供明确依据证明上述事实

 

 

<CY09.11:送检单位提交的文档应列出所有的SSP以及它们的用处,这些SSP或者是核准的RBG的输出、或者是用于核准的安全功能的输入到模块的SSP衍生、或者是用于密码模块的SSP建立方法>(安全级别1,2,3, 4

 

 

    1. 敏感安全参数的建立

<CY09.12:送检单位提交的文档中应列出所有自动SSP的建立方法及其用途>(安全级别1,2,3, 4

注:此处应描述自动的敏感安全参数的建立方法(包括自动的SSP传输和协商)及用途。

例:

密钥/敏感安全参数

用途描述

产生/建立

会话密钥

用于用户数据加解密运算

密钥协商

 

 

    1. 敏感安全参数的输入和输出

<CY09.15:送检单位提交的文档中应描述所有受密码技术保护的SSP(无论是输入模块的或从模块输出的);送检单位提交的文档中应描述所有受密码技术保护的SSP(无论是输入模块的或从模块输出的)的加密方法>(安全级别1,2,3, 4

注:此处应描述输入模块的或从模块输出的SSP及其输入输出加密的方法。

例:送检产品输入的SSP包括密码模块主密钥的三个分量、私钥授权码、PIN口令,它们均通过已定义的HMI接口(USB2.0接口)进行传输。输入SSP时,送检产品主密钥的三个分量使用加密密钥加密输入,PIN口令和私钥授权码使用SM3算法计算Hash值后输入到密码模块。

送检产品输出的SSP包括用户密钥对。用户密钥对公钥的输出采用明文的方式直接输出,用户密钥对的私钥输出时使用密码模块主密钥加密输出。

 

 

<CY09.16:对于加密的SSP,文档中的SSP输入机制不应显示它们的明文值>(安全级别1,2,3, 4

 

 

<CY09.18:如果模块输出任何明文CSP,送检单位的文档应描述这种输出服务;对于明文CSP的输出,有限状态模型图以及其他的送检材料应说明该输出需要两个独立的内部操作>(安全级别1,2,3, 4

 

 

<CY09.20:如果模块通过无线接口输入或输出CSP、密钥分量和鉴别数据,送检单位的文档应描述无线服务;如果模块通过无线接口输入或输出CSP、秘钥分量和鉴别数据,送检文档应描述对CSP、密钥分量和鉴别数据的加密方法>(安全级别1,2,3, 4

 

 

<CY09.21:送检单位提交的文档中应描述软件部件中CSP、密钥分量和鉴别数据输入或输出的方法;送检单位提交的文档中应描述CSP、密钥分量和鉴别数据的输入或输出应只保留在该运行环境中;送检单位的文档中应说明CY09.19.01提到的运行环境满足GM/T 0028——2014 7.6.3中规定的要求>(安全级别1,2,对于软件模块或混合软件模块的软件部分)

 

 

<CY09.23:送检单位提交的文档中应描述明文形式的对称密钥和私钥知识拆分过程,并使用可信信道输入或输出模块>(安全级别3, 4

 

 

<CY09.24:送检单位提交的文档中应描述每个密钥分量使用了基于身份的鉴别>(安全级别3

 

 

<CY09.25:送检单位提交的文档中应说明构建原来的CSP所需要的密钥分量>(安全级别3

 

 

<CY09.26:送检单位提交的文档中应说明每个密钥分量使用了基于身份的多因素操作员鉴别>(安全级别4

 

 

    1. 敏感安全参数的存储

<CY09.27:送检单位提交的文档中应描述在密钥存储时,每个密钥与相应的实体正确关联的机制>(安全级别1,2,3, 4

注:实体包括操作员、角色或进程,密钥的存储应与实体相关联。

例:送检产品涉及的所有密钥存储,均由密码主管角色经鉴别授权后,调用密钥存储接口实现密钥存储。

例:可以图标形式展现密钥与对应实体的关联机制

密钥类型

存储方式

使用角色、实体

 

 

 

 

 

 

 

 

<CY09.29:送检单位提交的文档中应说明禁止非授权操作员修改PSP>(安全级别1,2,3, 4

 

 

    1. 敏感安全参数的置零

<CY09.31:送检单位的文档应详细说明如何确保SSP被置零之后无法从模块中恢复>(安全级别1,2,3, 4

 

 

<CY09.31:送检单位文档应详细说明以下SSP置零信息:

——置零技术

——约束(当明文SSP能被置零时)

——置零的明文SSP

——未置零的明文SSP和原理

——说明如何在危害明文SSP之前执行置零技术>(安全级别2,3, 4

 

 

<CY09.33:送检文档中应描述对未受保护的SSP置零的方法。>(安全级别2,3, 4

例:

拆卸置零

密码模块工作状态下,模块的拆卸检测及拆卸响应机制会对拆卸物理防护外壳的行为作出置零反应,当检测到拆卸动作,密码模块会复位密码模块的主控及模块内所有算法模块,该复位动作会置零易失存储空间的SSP数据。

2)手动置零

密码模块的管理者当识别到入侵风险时,也可触发手动置零技术。手动置零信号可以接入到密码模块的密钥销毁接入端子,密码模块在上电状态下可检测到手动置零信号,会执行SSP置零代码,将模块内的所有明文SSP执行置零操作。

 

<CY09.34:送检单位文档应明确说明临时SSP在使用完毕之后被置零>(安全级别2,3, 4

 

 

<CY09.35:送检单位文档应明确说明模块在置零完成时提供输出状态指示。>(安全级别2,3, 4

 

 

<CY09.38:送检单位的文档应说明模块置零是及时的、不可中断的,而且发生在足够短的时间内,以防止在开始置零到置零实际完成之间的时间内恢复出敏感数据>(安全级别4

 

 

<CY09.39:送检单位的文档应说明所有未受保护的SSP(无论是明文还是受密码技术保护的)被置零,使得模块返回到出厂状态>(安全级别4

 

 

  1. 自测试
    1. 自测试通用要求

<CY10.06:针对每一项错误状态,送检文档应提供状态名称和状态描述,并列举状态的引发事件和可清除该状态并恢复正常运行的操作>(安全级别1,2,3, 4

注:应列出每一项错误状态的状态名称、状态描述、引发事件和可清除该状态并恢复正常运行的操作。

例:

错误状态

状态描述

引发事件

清除及恢复操作

ABCD0001

随机数自检失败

随机数模块异常

重新测试/更换硬件

ABCD0004

SM2模块自检失败

SM2模块异常

重新测试/更换硬件

ABCD0008

SM3模块自检失败

SM3模块异常

重新测试/更换硬件

ABCD0010

SM4模块自检失败

SM4模块异常

重新测试/更换硬件

ABCD0080

完整性自检失败

固件异常

重新加载正确固件

……

……

……

……

 

 

<CY10.07:送检文档应记录每一项自测试对应的错误状态,并标明该错误状态对应的错误指示>(安全级别1,2,3, 4

注:此处应描述每一项自测试对应的错误状态及其对应的错误指示。

例:自检失败的错误状态和错误码如下所示:

错误状态

错误码

固件完整性校验失败

67

10

随机数自检失败

67

19

SM2算法自检失败

67

1B

SM3算法自检失败

67

1C

SM4算法自检失败

67

1D

RSA2048算法自检失败

67

1E

密钥完整性测试失败

67

1F

……

 

 

<CY10.08:送检文档应满足CY03.07.01CY03.07.02CY03.10.01CY03.10.02的要求。送检单位的设计应保证密码模块在错误状态下不能执行密码操作>(安全级别1,2,3, 4

例:当自测失败时,仅能够执行获取设备信息和获取随机数指令,其他与密钥相关的操作和运算都会返回错误。

 

<CY10.09:送检文档应说明密码模块不能使用自测试失败的功能和算法,直至它们重新被测试并成功通过>(安全级别1,2,3, 4

例:密码模块在使用相应的功能和算法时,会对自测结果进行判断,如果自测失败则会返回错误码。当再次执行自测并通过后,相应的功能和算法才能够被使用。

 

 

<CY10.10:如果模块自测试失败时模块不输出错误状态,送检单位应提供非私有的安全策略用以判断该模块是否已经进入了错误状态>(安全级别1,2,3, 4

例:密码模块的所有指令均会按照固定格式返回数据和状态字,可通过返回数据的格式和状态字是否正确判断密码模块是否已进入错误状态。

 

<CY10.11:送检文档应具体说明模块的错误日志功能,包括日志中记录的信息类型(例如失败的自测试和错误的发生时间)。>(安全级别3, 4

注:对于三级、四级模块,模块应具备错误日志功能,记录最近的错误事件。

 

    1. 运行前自测试

<CY10.14:送检文档应提供每一项运行前自测试的信息;送检文档应说明在密码模块上电或实例化之后至模块转入到操作状态之前的这段时间内执行运行前自测试的程序>(安全级别1,2,3, 4

例:密码模块上电后将依次进行密码算法正确性检测、完整性检测、随机数检测,只有测试均通过后密码模块才能正常运行,否则返回错误码。

 

<CY10.16:送检文档应描述密码边界内所有软件和固件部件的完整性验证所用的核准的技术;送检文档应说明核准的完整性技术是由密码模块本身实现的,还是由运行在核准的工作模式的另一个有效密码模块实现的;送检文档应描述实现完整性技术的实施机制;送检文档应按照CY02.20.01的要求提交该标准的完整性技术的有效性证明>(安全级别1,2,3, 4

例:密码模块对flash中的所有数据计算SM4算法的MAC值,并与预留的MAC值进行比较,如果不同则检测失败。如果完整性比较失败,则密码模块返回错误码。

 

 

<CY10.20:送检文档应说明密码模块是如何确保管理旁路能力的逻辑是正确的>(安全级别1,2,3, 4,如果实现了旁路能力)

 

 

<CY10.21:送检单位提交的文档中应描述运行前旁路测试的说明;送检文档应说明如何将旁路开关设置在加密位置;送检文档应描述旁路机制是如何通过将旁路开关设置在加密位置来实现加密数据通过数据路径传输的;送检文档应说明如何将旁路开关设置在非加密位置;送检文档应描述旁路机制是如何通过将旁路开关设置在非加密位置来实现非加密数据通过数据路径传输的>(安全级别1,2,3, 4,如果实现了旁路能力)

 

 

<CY10.23:送检文档应提供所有重要安全功能的说明材料。针对每一项重要安全功能,送检单位应指出:a)重要安全功能的目的;b)重要安全功能对应哪一项运行前重要安全功能测试;c)重要安全功能对应哪一项条件自测试>(安全级别1,2,3, 4

 

 

    1. 条件自测试

<CY10.24:送检文档应包括条件自测试的相关信息>(安全级别1,2,3, 4

注:在下列测试规定的条件出现时,密码模块应当执行对应的测试:密码算法自测试、配对一致性测试、软件/固件加载测试、手动密钥输入测试、条件旁路测试以及条件关键功能测试。

 

<CY10.26:送检文档应包括条件密码算法自测试的详细说明;送检文档应提供原理说明如何在密码算法第一次运行使用之前进行条件密码算法自测试的;送检文档应具体说明是否针对模块的密码算法使用了已知答案测试或对比测试,如果采用了对比测试,送检文档应明确指出>(安全级别1,2,3, 4

例:已知答案测试:使用预置密钥对预置明文进行加密,加密结果与预置密文比较,若一致则表示加密自检成功,否则自检失败;

使用预置密钥对预置密文进行解密,解密结果与预置明文比较,若一致则表示解密自检成功,否则自检失败。

对比测试:送检产品每次上电时,会同时调用密码芯片和算法库对同样的数据进行运算,比对结果是否一致,若一致则自检成功,否则自检失败。

 

 

<CY10.27:送检文档应详细说明用于比较计算输出与已知答案的方法;送检文档应展示下列转变过程:当计算输出与已知答案不一致时,模块应进入错误状态并输出错误指示>(安全级别1,2,3, 4

例:当计算输出和已知答案不一致时,将进入测试失败状态。错误信息将在界面显示。

 

<CY10.28:送检文档应详细说明模块采用的每一个条件密码算法自测试>(安全级别1,2,3, 4

注:列出所有支持的条件自测试的密码算法。

 

<CY10.32:送检文档应描述密码算法对比自测试的实施方法;送检文档应满足CY10.27.03的要求>(安全级别1,2,3, 4

 

 

<CY10.33:送检文档应说明错误检测是对模块的密码算法采用已知答案测试还是比较测试>(安全级别1,2,3, 4

 

 

<CY10.34:如果密钥传输或非对称算法使用公私钥对,则送检文档应描述公私钥对的一致性测试。该测试的步骤之一是用公钥对明文值或编码信息进行加密。所得的密文结果应与原明文值进行比较以验证二者的不同:a)如二者相等,则密码模块应进入错误状态并通过状态接口输出错误指示;b)如二者不等,则应使用私钥解密该密文,如果解密的结果与原明文不等,则公私钥对一致性测试不通过。如果非对称密钥对仅用于数字签名的计算和/或验证,则送检文档应详细说明密码模块是通过数字签名的计算和验证来进行公私钥对一致性测试。如果该数字签名不能得以验证,则公私钥对一致性测试不通过。如果公私钥对用于实现SSP协议,则送检文档应描述公私钥对一致性测试。文档应指明SSP协议的必要算法。此外,该测试的步骤之一是利用密钥对实现必要算法,核查其是否通过公私钥对一致性测试。>(安全级别1,2,3, 4

注:描述公私钥对一致性测试机制。

 

 

<CY10.36:送检文档应描述密码模块为验证加载软件或固件完整性而实现的核准的鉴别技术;如果模块实现了核准的鉴别技术,送检单位应按照CY02.20.01的要求提交相关的有效证明;送检文档应描述在软件/固件加载之前,如何将核准的鉴别技术所需的鉴别密钥独立地加载到模块中的;如果软件/固件加载测试失败,则加载的软件/固件不可使用,送检文档应描述这一实现机制。>(安全级别1,2,3, 4,如果密码模块支持从外部加载软件或固件)

 

 

<CY10.45:送检单位应提供手动密钥输入测试文档。基于使用错误检测码或两次输入密钥的录入方式,手动密钥输入测试应包括:

a)   错误检测码(EDC):

——EDC算法的描述

——校验过程的描述

——测试成功或失败的预期输出

b)   两次重复密钥录入

——验证过程的描述

——测试成功或失败的预期输出>

如果错误检测码(EDC)用于SSP或密钥分量,描述SSP或密钥分量格式(参见AY09.03)的文档应包括对错误检测码域的说明。(安全级别1,2,3, 4,如果密码模块支持手动输入SSP或密钥分量)

例:SSP包括私钥授权码和管理员口令等能够通过管理工具进行手动输入,在输入时采用输入两次的方式来保证输入的数据是正确的。

 

 

<CY10.47:如果密码模块实现了旁路功能,送检单位应进行旁路测试以确认当开关在旁路服务和加密服务之间进行切换时密码服务能够正确运行;送检单位应提供旁路测试说明,旁路测试应说明当转换为加密服务时,模块不输出明文信息。>(安全级别1,2,3, 4,如果密码模块支持旁路功能)

 

 

<CY10.48:如果密码模块能够自动在旁路服务与密码服务之间切换,那么送检单位应执行旁路以确认当管理切换程序的机制改变时,密码服务能够正确运行;送检单位应提供旁路测试说明,旁路测试应确保当管理切换程序的机制改变时:a)确认该机制在最后一次修改后没有被更改。如果该机制被改变,密码模块应进入错误状态并由状态接口输出错误指示。b)通过证明模块没有输出明文信息来验证密码服务的正确运行。如果模块输出明文信息,则测试不通过。>

(安全级别1,2,3, 4,如果密码模块支持旁路能力)

 

 

<CY10.50:送检文档应详细说明修改管理旁路能力的内部信息的方法;送检单位应提供管理旁路能力的内部信息、更新信息的内部顺序以及用核准的完整技术来校验信息完整性的机制的详细说明。>(安全级别1,2,3, 4,如果密码模块支持旁路能力)

 

 

<CY10.52:送检文档应描述操作员由周期测试需求的情况下启动运行前自测试的程序。所有的运行前自测试都应覆盖。送检文档应描述操作员由周期测试需求的情况下启动条件自测试的程序。所有的条件自测试都应覆盖。>(安全级别1,2,3, 4

 

 

<CY10.53:送检文档应说明模块如何在已定义的时间周期内自动重复执行运行前或条件自测试,且无需外部的输入或控制。送检文档应详细说明用于指示密码模块运行被运行前或条件自测试中断的状态指示。送检单位提供的非私有安全策略应提供在已定义的时间周期内,重复运行前自测试或条件自测试之间导致模块运行中断的信息和条件。>(安全级别3, 4

 

 

  1. 生命周期保障
    1. 生命周期保障通用要求

<CY11.01:提供的文档应按照GM/T00282014附录A.2.11中规定的要求编写。>

例:送检密码模块生命周期保障文档按照{GM/T 0028-2014附录}A.2.11中规定的要求编写。各项描述要求详见本文档11.2~11.8

 

    1. 配置管理

<CY11.03:材料中应对配置管理系统进行说明,该配置管理系统为密码模块及其部件的开发过程以及相关文档进行系统管理。>(安全级别1,2,3, 4

 

 

 

<CY11.04:材料中应包括所有配置条目的配置清单,并应对唯一核实配置条目的方法进行说明;材料中应描述用以唯一标识每个经审验的配置条目版本的方法。>(安全级别1,2,3, 4

 

 

 

<CY11.05:材料应详细说明只有经过授权才能对配置条目进行更改的方法。>(安全级别1,2,3, 4

 

 

 

<CY11.06:材料中应详细说明配置管理系统如何提供一套自动化方法以支持密码模块的生成。>(安全级别34

 

 

 

    1. 有限状态模型

<CY11.08:应提供有限状态模型的描述,描述应包括对模块所有状态的标识和描述、以及对所有相关状态转移的描述,状态转移的描述应包括内部模块条件、引起状态转移的数据输入和控制输入,以及由状态转移导致的数据输出和状态输出;材料中应建立以下完整描述:

——正常工作;

——数据输入接口;

——数据输出接口;

——控制输入接口;

——控制输出接口;

——状态输出接口;

——可信信道;

——密码主管角色;

——用户角色;

——其他角色(若适用);

——安全服务;

——SSP输入服务(若适用);

——显示状态服务;

——操作员鉴别;                                                                          

——自测试;

——其他授权的服务、运行和功能(若适用);

——错误状态;

——旁路服务(若适用);

——维护访问接口(若适用);

——维护员角色(如果提供了维护访问接口);

——SSP产生和建立服务(若适用);

——SSP输出服务(若适用);

——空闲状态(若适用);

——非初始化状态(若适用)。>

(安全级别1,2,3, 4

注:应阐述模块包含的全部状态类型,可使用状态转移图、状态转移表、状态转移描述进行展示;

例:送检产品的有限状态模型包括电源关闭状态、普通初始化状态、自测试状态、密码主管状态、关键安全参数导入状态、用户状态、管理员状态、用户角色核准的状态、管理员角色核准的状态和错误状态。

电源关闭状态:当产品的USB接口未与上位机相连接时,产品处于电源关闭状态。此时产品没有电能来源,主控芯片和所有元器件皆处于停止工作状态。当用户将产品的USB接口或蓝牙接口接入上位机,智能密码钥匙从电源关闭状态进入到…..状态。

普通初始化状态:送检产品上电后,首先对主控芯片的硬件和软件运行环境进行初始化。软件运行环境的初始化包括中断向量表…..初始化。初始化完成后进入自测试状态。

自测试状态:送检产品执行运行前自测试,包括…..等自测试,为后续安全功能做准备。若自测试出现异常,则产品进入错误状态;若自测试通过,则进入就绪状态。

就绪状态:送检产品的操作员尚未进行角色鉴别,此时送检产品不支持与安全功能有关的服务。操作员可以按照4.4节所述鉴别流程执行密码主管、用户和管理员的角色鉴别流程。鉴别通过后,送检产品会进入相应的密码主管、用户或管理员角色状态。

密码主管状态:操作员取得密码主管权限后进入密码主管状态,此状态可以执行……。当密码主管开始修改….时,产品进入关键安全参数输入状态。

关键安全参数输入状态:智能密码钥匙在此状态下需校验…..正确性和完整性,然后保存相关关键安全参数。关键安全参数写入完成后,产品返回密码主管状态。

用户或管理员状态:操作员通过…..认证后进入用户或管理员角色状态。此时送检产品可以执行相关应用指令,以完成模块允许的安全功能。用户角色可以执行更新…….等密码运算服务;管理员可以执行解锁用户PIN等指定的服务。当送检产品接收到上位机发送相应的应用指令时,进入对应角色的核准的状态。

用户或管理员角色的核准的状态:送检产品接收到上位机发送的应用指令,检测当前的安全状态是否满足执行条件。满足条件的指令将被进一步解析,完成该指令所需完成的安全功能或服务。处理完成后将相应的执行结果返回上位机,送检产品返回原来的用户或管理员角色状态。

 

 

<CY11.11:对于不需要维护、服务或维修的密码模块错误状态,材料中应描述其适用的恢复方法。>(安全级别1,2,3, 4

 

 

 

<CY11.13:材料中应说明除密码主管以外,任何其他角色被禁止转换成密码主管状态。>(安全级别1,2,3, 4

 

 

 

    1. 开发

<CY11.15:对于包含软件和固件的密码模块,应提供源代码、编程语言、编译器、编译器版本和编译器选项、链接器和链接器选项、运行时库和运行时库设置、配置设置、生成过程和方法、生成选项、环境变量以及所有用于编译和链接源代码使其成为可执行形式的其他资源;对于CY11.15.01中记录的每一个条目,应提供材料说明这些条目采用了配置管理系统进行追踪。>(安全级别1,2,3, 4

 

 

<CY11.16:应提供包含在密码模块中的所有软件和固件部件名称的清单;应提供包含在密码模块中的所有软件和固件部件的带有注释的源代码。>(安全级别1,2,3, 4

 

 

 

<CY11.17:应提供包含在密码模块中的硬件部件清单。>(安全级别1,2,3, 4

 

 

 

<CY11.18:应提供包含在密码模块中的所有硬件部件的带有注释的HDL代码清单。>(安全级别1,2,3, 4

 

 

 

<CY11.19:对于软件和固件密码模块以及混合模块中的软件或固件部件,应提供材料说明GM/T002820147.5GM/T002820147.10中规定的完整性和验证技术机制的结果,在模块开发过程中,已计算并集成到软件或固件模块内。>(安全级别1,2,3, 4

 

 

 

<CY11.21:应提供文档说明密码模块应使用工业等级的开发工具(例如,编译器)进行开发。>(安全级别1,2,3, 4

 

 

 

<CY11.23:应提供文档说明密码模块内所有软件或固件采用了高级非私有语言实现。>(安全级别2,3,4

 

 

 

<CY11.24:应标识所有未使用高级语言的软件和固件部件,并对部件使用低级语言的根据。该根据应引证是由于高级语言不可用或提高软件或固件性能所需。>(安全级别2,3,4

 

 

 

<CY11.25:应提供使用高级规范语言实现的硬件部件文档。>(安全级别2,3,4

 

 

 

<CY11.26:对于软件密码模块,应提供文档说明软件的设计和实现避免使用了对模块功能和运行不必要的代码、参数或符合。>(安全级别2,3,4

 

 

 

<CY11.28:所有硬件、软件和固件部件的源代码应包括注释,如同CY11.28       要求的前提条件及后续条件。>(安全级别4

 

 

 

    1. 厂商测试

<CY11.29:应提供材料详细说明在密码模块上执行的功能测试。>(安全级别1,2,3, 4

 

 

 

<CY11.30:对于软件或固件密码模块以及混合模块中的软件或固件部件,应提供文档说明使用了通用的自动安全诊断工具(例如,检查缓冲区溢出等)。>(安全级别1,2,3, 4

 

 

 

<CY11.31:材料中应详细说明在密码模块上执行的底层测试的过程与结果。>(安全级别3,4

 

 

 

    1. 配送与操作

<CY11.32:材料中应描述对密码模块的安全安装,初始化以及启动所需的步骤。>(安全级别1,2,3, 4

 

 

<CY11.33:材料中应描述在将密码模块分发给已授权操作员的过程中用以维持安全性所需的流程。>(安全级别2,3,4

 

 

<CY11.34:材料中应详细说明在将密码模块配送、安装和初始化密码模块给已授权操作员的过程中,如何检测模块是否被拆过的流程。>(安全级别23,4

 

 

<CY11.35:材料中应说明针对已授权的操作员使用厂商提供的鉴别数据对模块进行鉴别的流程。>(安全级别4

 

 

    1. 生命终止

<CY11.36:应提供文档详细说明安全清理密码模块的流程。>(安全级别1,2,3, 4

 

 

 

<CY11.37:应提供文档详细说明安全销毁密码模块的流程。>(安全级别34

 

 

    1. 指南文档

<CY11.38:提供的文档中应包括CY11.38中列出的信息;密码模块相应的管理员应可以得到非私有的指南。>(安全级别1,2,3, 4

 

 

<CY11.39:文档中应包含AY11.39中列出的信息;密码模块相应的非管理员可以得到非私有的指南。>(安全级别1,2,3, 4

 

 

  1. 对其他攻击的缓解

<CY12.01:文档中应按照GM/T00282014附录A.2.12中规定的要求编写。>(安全级别1,2,3, 4

 

 

 

<CY12.02:应提供支持文档列举出模块能够缓解的攻击。>(安全级别1,2,3, 4

注:如果将密码模块设计为可缓解一种或多种本标准未定义的特定攻击,应列举出密码模块用以缓解攻击的安全机制。

 

<CY12.04:材料中应详细说明用于缓解攻击的方法;材料中应详细说明测试缓解技术有效性的测试方法;材料中应详细说明缓解技术的有效性。>(安全级别4

    • 专属客服

    • 189 2741 1650
    • 服务时间

    • 周一至周五 9:00-18:00
    • 微信扫一扫 领取免费咨询

首页    商密    分级检测申请材料(密码模块)

   相 关 推 荐    

业务专线 18927411650

最新资讯:

Qualification certificate

公安检测

GA certificate

RF

  实验室

RF无线射频测试实验室

配备多套测试设备

 

 

蓝牙

WIFI

手机

数据终端

国际认证服务

 

熟悉各国法规要求 快速出证 后顾无忧