GB-T 37092-2018 信息安全技术 密码模块安全要求.pdf
- 文档编号:14660822
- 上传时间:2023-06-25
- 格式:PDF
- 页数:52
- 大小:842.15KB
GB-T 37092-2018 信息安全技术 密码模块安全要求.pdf
《GB-T 37092-2018 信息安全技术 密码模块安全要求.pdf》由会员分享,可在线阅读,更多相关《GB-T 37092-2018 信息安全技术 密码模块安全要求.pdf(52页珍藏版)》请在冰点文库上搜索。
ICS35.040L80中华人民共和国国家标准GB/T370922018信息安全技术密码模块安全要求InformationsecuritytechnologySecurityrequirementsforcryptographicmodules2018-12-28发布2019-07-01实施国家市场监督管理总局中国国家标准化管理委员会发布目次前言引言1范围12规范性引用文件13术语和定义14缩略语35密码模块安全等级35.1概述35.2安全一级45.3安全二级45.4安全三级45.5安全四级56功能安全目标57安全要求67.1通用要求67.2密码模块规格87.3密码模块接口107.4角色、服务和鉴别117.5软件/固件安全147.6运行环境157.7物理安全187.8非入侵式安全247.9敏感安全参数管理247.10自测试277.11生命周期保障307.12对其他攻击的缓解33附录A(规范性附录)文档要求34附录B(规范性附录)密码模块安全策略39附录C(规范性附录)核准的安全功能43附录D(规范性附录)核准的敏感安全参数生成和建立方法44附录E(规范性附录)核准的鉴别机制45附录F(规范性附录)非入侵式攻击及缓解方法检测指标46参考文献47GB/T370922018前言本标准按照GB/T1.12009给出的规则起草。
本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。
本标准起草单位:
中国科学院数据与通信保护研究教育中心、国家密码管理局商用密码检测中心、北京握奇智能科技有限公司、北京数字认证股份有限公司、飞天诚信科技股份有限公司、北京海泰方圆科技有限公司、北京华大智宝电子系统有限公司、北京创原天地科技有限公司。
本标准主要起草人:
荆继武、高能、屠晨阳、郑昉昱、江伟玉、周国良、马原、刘宗斌、刘泽艺、汪婧、罗鹏、汪雪林、陈国、詹榜华、朱鹏飞、蒋红宇、陈跃、张万涛、刘丽敏、向继。
GB/T370922018引言在信息技术中,密码技术的使用需求日益增强,比如数据需要密码机制的保护以防止非授权的泄露或操控。
密码机制可以用于支持实体鉴别和不可抵赖等安全服务,密码机制的安全性与可靠性直接取决于实现它们的密码模块。
本标准对密码模块提出了四个递增的、定性的安全要求等级,但不对密码模块的正确应用和安全部署进行规范。
密码模块的操作员在使用或部署密码模块时,有责任确保密码模块提供的安全保护是充分的,且对信息所有者而言是可接受的,同时任何残余风险要告知信息所有者。
密码模块的操作员有责任选取合适的安全等级的密码模块,使得密码模块能够满足应用的安全需求并适应所处环境的安全现状。
GB/T370922018信息安全技术密码模块安全要求1范围本标准针对密码模块规定了安全要求,为密码模块定义了四个安全等级,并分别给出了四个安全等级的对应要求。
本标准适用于保护计算机与电信系统内敏感信息的安全系统所使用的密码模块。
本标准也为密码模块的设计、开发提供指导,为密码模块安全要求的检测提供参考。
2规范性引用文件下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T15843(所有部分)信息技术安全技术实体鉴别GB/T15852(所有部分)信息技术安全技术消息鉴别码GB/T17964信息安全技术分组密码算法的工作模式GB/T25069信息安全技术术语GB/T32905信息安全技术SM3密码杂凑算法GB/T32907信息安全技术SM4分组密码算法GB/T32918(所有部分)信息安全技术SM2椭圆曲线公钥密码算法GB/T33133.1信息安全技术祖冲之序列密码算法第1部分:
算法描述GM/T0001.2祖冲之序列密码算法第2部分:
基于祖冲之算法的机密性算法GM/T0001.3祖冲之序列密码算法第3部分:
基于祖冲之算法的完整性算法GM/T0044(所有部分)SM9标识密码算法3术语和定义GB/T25069界定的以及下列术语和定义适用于本文件。
3.1证书certificate关于实体的一种数据,该数据由认证机构的私钥或秘密密钥签发,并无法伪造。
3.2条件自测试conditionalself-test当规定的测试条件出现时,由密码模块执行的测试。
3.3关键安全参数criticalsecurityparameter与安全相关的秘密信息,这些信息被泄露或被修改后会危及密码模块的安全性。
注:
关键安全参数可以是明文形式的也可以是经过加密的。
3.4密码边界cryptographicboundary明确定义的边线,该边线建立了密码模块的物理和/或逻辑边界,并包括了密码模块的所有硬件、软件和/或固件部件。
1GB/T3709220183.5密码模块cryptographicmodule实现了安全功能的硬件、软件和/或固件的集合,并且被包含在密码边界内。
注:
密码模块根据其组成,可分为硬件密码模块、固件密码模块、软件密码模块以及混合密码模块。
3.6密码模块接口cryptographicmoduleinterface密码模块的逻辑入口或出口,为逻辑信息流提供进出模块的通道。
3.7密码模块安全策略cryptographicmodulesecuritypolicy密码模块运行应遵从的安全规则的明确说明,其中包含了从本标准的要求导出的规则以及厂商要求的规则。
3.8差分功耗分析differentialpoweranalysis对密码模块的功耗变化进行分析,并用以获取密码操作相关的信息。
3.9故障注入faultinduction通过应用短暂的电压、辐射、激光或时钟偏移技术,导致硬件中的操作行为发生变化的技术。
3.10多因素鉴别multi-factorauthentication至少具有两个独立鉴别因素的鉴别。
注:
独立的鉴别因素类别包括:
已知某物,拥有某物,以及具有某属性。
3.11非入侵式攻击non-invasiveattack一种针对密码模块的攻击,该攻击对密码边界内的部件不进行直接的物理接触,且这类攻击不会更改密码模块所处的状态。
3.12运行环境operationalenvironment密码模块安全运行所需要的所有软件、固件和硬件的集合,其中包括操作系统和硬件平台。
注:
运行环境分为可修改的运行环境、受限制的运行环境以及不可修改的运行环境。
3.13运行前自测试pre-operationalself-test密码模块在上电或实例化(在关闭电源、重置、重启、冷启动、供电中断等之后)至转换到运行状态之间执行的测试。
3.14公开安全参数publicsecurityparameter与安全性相关的公开信息,一旦被修改,会威胁到密码模块安全。
注:
例如,公钥、公钥证书、自签名证书、信任锚、与计数器和内部保持的日期和时间相关联的一次性口令。
公开安全参数如果不能被修改或者修改后能够被密码模块发现,此时可以认为该公开安全参数是受保护的。
3.15运行时环境runtimeenvironment一种虚拟机状态,在计算机运行时,为进程和程序提供软件服务。
注:
运行时环境可能与操作系统本身,也可能与其下运行的软件有关,其主要目的在于实现“平台无关”的编程目标。
2GB/T3709220183.16安全功能securityfunction密码算法及其工作模式,包括:
分组密码、序列密码、非对称密码、消息鉴别码、杂凑函数、随机数生成、实体鉴别和敏感安全参数生成和建立等。
3.17敏感安全参数sensitivesecurityparameters包括关键安全参数(3.3)和公开安全参数(3.14)。
3.18简单功耗分析simplepoweranalysis对指令执行(或单个指令的执行)模式的直接(主要是可视化的)分析,它与密码模块的功耗有关,并用以获取密码操作相关的信息。
3.19知识拆分splitknowledge密钥被拆分成多个密钥分量,从密码模块输出给多个实体的过程。
单个分量不能提供原始密钥的知识。
密钥分量被各个实体输入密码模块能够重新组合成原始密钥,合成密钥可以需要所有分量或一部分分量来完成。
3.20敏感安全参数建立sensitivesecurityparameterestablishment将共享的敏感安全参数提供给一个或多个实体的过程。
注:
敏感安全参数建立包括敏感安全参数协商、传输以及输入或输出。
4缩略语下列缩略语适用于本文件。
API:
应用程序接口(ApplicationProgramInterface)CBC:
密码分组链接(CipherBlockChaining)ECB:
电子译码本(ElectronicCodebook)EDC:
错误检测码(ErrorDetectionCode)EFP:
环境失效保护(EnvironmentalFailureProtection)EFT:
环境失效测试(EnvironmentalFailureTesting)FSM:
有限状态模型(FiniteStateModel)HDL:
硬件描述语言(HardwareDescriptionLanguage)HMAC:
基于杂凑的消息鉴别码(Hash-BasedMessageAuthenticationCode)IC:
集成电路(IntegratedCircuit)PIN:
个人身份识别码(PersonalIdentificationNumber)5密码模块安全等级5.1概述密码模块是指实现密码运算、密钥管理等功能的硬件、软件、固件或者其组合。
本标准适用于保护计算机与电信系统内敏感信息的安全系统所使用的密码模块。
为了保护密码模块和密码模块中包含和控制的敏感安全参数,以及满足众多应用领域的、不同程度的安全需求,本标准规定了4个要求递增的安全等级,高安全等级在低安全等级的基础上进一步提高了安全性。
本标准中给出的一些常见的例子,3GB/T370922018是用于阐明如何满足本标准的安全要求,而不是为了约束或列举所有的情况。
下文分别概述了4个安全等级。
4个安全等级所涉及的密码技术是相同的。
本标准采用了“应xx.yy”方式对标准中的所有安全要求进行标识和顺序编号,其中,xx表示条款,yy是该条款中的数字索引。
如果本标准中的某句话中出现“应xx.yy”,即表示该句是本标准的一项安全要求,编号为xx.yy。
本标准总共有12个条款,与密码模块的安全通用要求以及11个安全域相对应,112分别代表:
通用要求;密码模块规格;密码模块接口;角色、服务和鉴别;软件/固件安全;运行环境;物理安全;非入侵式安全;敏感安全参数管理;自测试;生命周期保障;以及对其他攻击的缓解。
每个条款中又包含具体的安全要求,每个安全要求从xx.01开始按顺序编号。
本标准下文中凡是包含“应xx.yy”的句子都被视为密码模块的一项安全要求,这种标识方式可以被本标准对应的后续检测标准直接引用,也可被密码模块厂商提交的文档引用。
5.2安全一级安全一级提供了最低等级的安全要求。
安全一级阐明了密码模块的基本安全要求,例如,密码模块应使用至少一个核准的安全功能或核准的敏感安全参数建立方法。
软件或固件密码模块可以运行在不可修改的、受限的或可修改的运行环境中。
硬件密码模块除了需要达到产品级部件的基本要求之外,没有其他特殊的物理安全机制要求。
密码模块实现的针对非入侵式攻击或其他攻击的缓解方法需要有文档记录。
安全一级密码模块的例子有:
个人计算机中的硬件加密板卡、运行在手持设备或通用计算机上的密码工具包。
当密码模块外部的应用系统已经配置了物理安全、网络安全以及管理过程等控制措施时,安全一级的密码模块就非常适用。
这使得密码模块的使用者可以选择多种密码解决方案来满足安全需求。
5.3安全二级安全二级在安全一级的基础上增加了拆卸证据的要求,例如使用拆卸存迹的涂层或封条,或者在封盖或门上加防撬锁等手段以提供拆卸证据。
拆卸存迹的封条或防撬锁应安装在封盖或门上,以防止非授权的物理访问。
当物理访问密码模块内的安全参数时,密码模块上拆卸存迹的涂层或封条就应破碎。
安全二级要求基于角色的鉴别。
密码模块需要鉴别并验证操作员的角色,以确定其是否有权执行对应的服务。
安全二级的软件密码模块可以运行在可修改的环境中,该环境应实现基于角色的访问控制或自主访问控制,但自主访问控制应能定义新的组,通过访问控制列表(ACL)分配权限,以及将一个用户分配给多个组。
访问控制措施应防止非授权地执行、修改以及读取实现密码功能的软件。
5.4安全三级除了安全二级中要求的拆卸存迹物理安全机制外,安全三级还要求更强的物理安全机制,以进一步防止对密码模块内敏感安全参数的非授权访问。
这些物理安全机制应能够以很高的概率检测到以下行为并作出响应,这些行为包括:
直接物理访问、密码模块的使用或修改,以及通过通风孔或缝隙对密码模块的探测。
上述物理安全机制可以包括坚固的外壳、拆卸检测装置以及响应电路。
当密码模块的封盖/门被打开时,响应电路应将所有的关键安全参数置零。
安全三级要求基于身份的鉴别机制,以提高安全二级中基于角色的鉴别机制的安全性。
密码模块需要鉴别操作员的身份,并验证经鉴别的操作员是否被授权担任特定的角色以及是否能够执行相应的服务。
安全三级要求手动建立的明文关键安全参数是经过加密的、使用可信信道或使用知识拆分来输入或输出。
4GB/T370922018安全三级的密码模块应有效防止电压、温度超出密码模块正常运行范围对密码模块安全性的破坏。
攻击者可以故意让密码模块的环境参数偏离正常运行范围,从而绕过密码模块的防护措施。
密码模块应设计有环境保护特性,用以检测环境异常并置零关键安全参数,或者能够通过环境失效测试从而提供一个合理的保障,确保不会因环境异常破坏密码模块的安全性。
安全三级的密码模块应提供非入侵式攻击缓解技术的有效性证据和检测方法。
对于软件密码模块,并没有在本标准的所有条款中给出安全三级的要求。
因此,软件密码模块能够达到的最大整体安全等级限定为安全二级。
安全三级的密码模块增加了生命周期保障的要求,比如自动配置管理、详细设计、底层测试以及基于厂商所提供的鉴别信息的操作员鉴别。
5.5安全四级安全四级是本标准中的最高安全等级。
该等级包括较低等级中所有的安全特性,以及一些扩展特性。
安全四级的物理安全机制应在密码模块周围提供完整的封套保护,其目的是无论外部电源是否供电,当密码模块包含敏感安全参数时,检测并响应所有非授权的物理访问。
从任何方向穿透密码模块的外壳都会以很高的概率被检测到,并将导致所有未受保护的敏感安全参数立刻被置零。
由于安全四级的密码模块自身具有较高的安全机制,所以它特别适用于无物理保护的环境。
安全四级要求对操作员进行多因素鉴别。
最低限度下,要求使用下列因素中的两个:
已知某物,如秘密口令;拥有某物,如物理钥匙或令牌;具有某属性,如生物特征。
安全四级的密码模块应有效防止电压、温度超出密码模块正常运行范围对密码模块安全性的破坏。
密码模块应设计有环境保护特性,专门用以检测环境异常并置零关键安全参数,从而提供一个合理的保障,确保不会因环境异常破坏密码模块的安全性。
按照国家相关部门规定的、安全四级的非入侵式攻击缓解检测指标,检测密码模块中实现的、7.8中规定的针对非入侵式攻击的缓解方法。
安全四级要求密码模块的设计应通过一致性验证,即验证前置和后置条件与功能规格之间的一致性。
6功能安全目标本标准中规定的安全要求涉及密码模块的安全设计和实现。
安全要求从安全目标的最低等级开始,随着安全目标等级的递增而增加。
这些要求源于密码模块的下列功能性安全目标:
使用并正确实现核准的安全功能,以保护敏感信息;防止非授权地操作或使用密码模块;防止非授权地泄露密码模块的内容,其中包括关键安全参数;防止对密码模块和密码算法进行非授权或检测不到的修改,包括非授权地修改、替换、插入和删除敏感安全参数;提供密码模块运行状态的指示;保证密码模块在核准的工作模式下能够正确运行;检测出密码模块运行中的错误,防止这些错误非授权地公开、修改、替换或使用关键安全参数,或者非授权地修改或替换公开安全参数;保证正确地设计、分配和实现密码模块。
5GB/T3709220187安全要求7.1通用要求符合本标准的密码模块应01.01满足的安全要求。
这些安全要求涵盖了密码模块的设计、实现、操作以及废弃相关的域,具体包括:
密码模块规格;密码模块接口;角色、服务和鉴别;软件/固件安全;运行环境;物理安全;非入侵式安全;敏感安全参数管理;自测试;生命周期保障;以及对其他攻击的缓解。
表1总结了每个域的安全要求。
密码模块应01.02针对各个域的要求进行检测。
密码模块应01.03在每个域中独立地进行评级。
上述11个安全域中,有些域随着安全等级的递增,安全要求也相应增加。
密码模块在这些域中获得的评级反映了密码模块在该域中所能达到的最高安全等级,即密码模块应满足该域针对该等级的所有安全要求。
另外一些域的安全要求不分安全等级,那么密码模块在这些域中将获得与整体评级相当的评级。
除了在每个安全域中获得独立的评级之外,密码模块还将获得一个整体评级。
整体评级设定为11个域所获得的最低评级。
本标准要求密码模块提供相关的文档,具体要求见附录A和附录B。
待确认或评估的密码模块应01.04提供所有相关文档,包括用户和安装手册、设计说明、生命周期文档等。
附录C、附录D、附录E和附录F提供了核准的安全功能、核准的敏感安全参数生成和建立方法、核准的鉴别机制以及非入侵式攻击及常用的缓解方法等相关内容。
表1安全要求总表安全域安全一级安全二级安全三级安全四级1密码模块规格密码模块、密码边界、核准的密码功能以及正常的工作模式的说明;密码模块的描述,包括所有硬件、软件和固件部件;所有服务提供状态信息以指示服务何时按照核准的方式使用核准的密码算法、安全功能或过程2密码模块接口要求的和可选的接口;所有接口和所有输入输出数据路径的说明可信信道3角色、服务和鉴别要求的角色、服务与可选的角色、服务逻辑上相隔离基于角色或基于身份的操作员鉴别基于身份的鉴别多因素鉴别4软件/固件安全核准的完整性技术,以及定义的软件或固件密码模块接口、混合固件密码模块接口基于核准的数字签名或带密钥信息消息鉴别码的完整性测试基于核准的数字签名的完整性测试以及混合软件固件密码模块接口;可执行代码6GB/T370922018表1(续)安全域安全一级安全二级安全三级安全四级5运行环境不可修改的、受限的;对敏感安全参数的控制可修改的;对敏感安全参数的控制可修改的;基于角色或自主访问控制;审计机制6物理安全产品级部件拆卸证据;不透明的遮盖物或外壳封盖和门上的拆卸检测与响应电路;牢固的外壳或涂层;防止直接探测的保护;EFP或EFT拆卸检测和响应封壳;EFP;故障注入的缓解7非入侵安全能够缓解附录F中规定的非入侵式攻击文档阐明附录F中规定的缓解技术和有效性提供缓解检测方法缓解检测8敏感安全参数管理随机数生成器、敏感安全参数生成、建立、输入和输出、存储以及置零自动的敏感安全参数传输或敏感安全参数协商使用核准方法手动建立的敏感安全参数可以以明文的形式输入或输出手动建立的敏感安全参数,可以以加密的形式、通过可信信道或使用知识拆分过程输入或输出9自测试运行前:
软件/固件完整性测试、旁路测试以及关键功能测试条件:
密码算法、配对一致性、软件/固件加载、手动输入、条件旁路以及关键功能测试10生命周期保障1)配置管理密码模块、部件和文档的配置管理系统。
每一项在整个生命周期中都有唯一标识并可追踪自动配置管理系统2)设计密码模块设计成允许对所有提供的安全相关服务进行测试3)FSM有限状态模型4)开发有注释的源代码、版图或HDL软件高级语言;硬件高级描述语言文档注明密码模块部件执行的前置条件,以及当部件执行完毕时预期为真的后置条件5)测试功能测试底层测试6)配送与操作初始化流程配送流程使用厂商提供的鉴别信息的操作员鉴别7)生命终止安全清理密码模块的流程安全销毁密码模块的流程8)指南文档管理员和非管理员指南11其他攻击的缓解缓解其他攻击的说明,目前对这些攻击还没有可检测要求验证缓解技术的有效性7GB/T3709220187.2密码模块规格7.2.1密码模块规格通用要求密码模块应02.01是硬件、软件、固件,或它们之间组合的集合,该集合至少使用一个核准的密码算法、安全功能或过程实现一项密码服务,并且包含在定义的密码边界内。
密码模块文档应02.02按照A.2.2中规定的要求编写。
7.2.2密码模块类型密码模块应02.03定义为下列一种密码模块类型:
硬件密码模块:
密码边界规定为硬件边线。
固件和/或软件,其中还可以包括操作系统,可以被包含在硬件密码边界内。
软件密码模块:
密码边界为执行在可修改的运行环境中的纯软件部件(可以是一个或多个软件部件)划定界线。
软件密码模块的运行环境所包含的计算平台和操作系统,在定义的密码边界之外。
固件密码模块:
密码边界为执行在受限的或不可修改的运行环境中的纯固件部件划定界线。
固件密码模块的运行环境所包含的计算平台和操作系统,在定义的密码边界之外,但是与固件密码模块明确绑定。
混合软件密码模块:
密码边界为软件部件和分离的硬件部件(即软件部件不在硬件密码模块边界中)的集合划定界线。
软件运行的环境所包含的计算平台和操作系统,在定义的混合软件密码模块边界之外。
混合固件密码模块:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB-T 37092-2018 信息安全技术 密码模块安全要求 GB 37092 2018 信息 安全技术 密码 模块 安全 要求