GMT0028 《密码模块安全技术要求》详细解读课件.ppt
《GMT0028 《密码模块安全技术要求》详细解读课件.ppt》由会员分享,可在线阅读,更多相关《GMT0028 《密码模块安全技术要求》详细解读课件.ppt(98页珍藏版)》请在三一办公上搜索。
1、GM/T 00282014密码模块安全技术要求,详细解读李 勃2018年11月20日,引言,密码的安全性与可靠性直接取决于实现它们的密码模块。本标准规定了四个递增的、定性的安全要求等级。本标准规定的安全要求涵盖了有关密码模块的安全设计、实现、运行与废弃的安全元素(域)。本标准对密码模块提出了安全要求,但不对密码模块的正确应用和安全部署进行规范。,1 范围,本标准针对用于保护计算机与电信系统内敏感信息的安全系统所使用的密码模块,规定了安全要求。本标准为密码模块定义了4个安全等级,以满足敏感数据以及众多应用领域的、不同程度的安全需求。针对密码模块的11个安全域,本标准分别给出了四个安全等级的对应要
2、求,高安全等级在低安全等级的基础上进一步提高了安全性。,5.1 密码安全等级 概述,密码模块是指实现密码运算、密钥管理等功能的硬件、软件、固件或者其组合。为了保护密码模块和密码模块中包含和控制的敏感安全参数,本标准规定了4个要求递增的安全等级。,5.2 安全一级,安全一级提供了最低等级的安全要求。例如:模块应当使用至少一个核准的安全功能或核准的敏感安全参数建立方法。软件或固件模块可以运行在不可修改的、受限的或可修改的运行环境中。安全一级硬件密码模块除了需要达到产品级部件的基本要求之外,没有其他特殊的物理安全机制要求。安全一级密码模块的例子有:个人计算机中的硬件加密板卡运行在手持设备或通用计算机
3、上的密码工具包当模块外部的应用系统已经配置了物理安全、网络安全以及管理过程等控制措施时,安全一级的模块就非常适用(经济性)。,5.3 安全二级 1/2,安全二级在安全一级的基础上增加了拆卸证据的要求,例如使用拆卸存迹的涂层或封条,或者在封盖或门上加防撬锁等手段以提供拆卸证据。拆卸存迹的封条或防撬锁应安装在封盖或门上,以防止非授权的物理访问。当物理访问模块内的安全参数时,模块上拆卸存迹的涂层或封条就必须破碎。,5.3 安全二级 2/2,安全二级要求基于角色的鉴别。密码模块需要鉴别并验证操作员的角色,以确定其是否有权执行对应的服务。安全二级的软件密码模块可以运行在可修改的环境中,该环境应实现基于角
4、色的访问控制或自主访问控制,但自主访问控制应当能够定义新的组,通过访问控制列表(ACL)分配权限,以及将一个用户分配给多个组。访问控制措施应防止非授权地执行、修改以及读取实现密码功能的软件。,5.4 安全三级 1/3,除了安全二级中要求的拆卸存迹物理安全机制外,安全三级还要求更强的物理安全机制,以进一步防止对密码模块内敏感安全参数的非授权访问。这些物理安全机制应该能够以很高的概率检测到以下行为并作出响应,这些行为包括:直接物理访问密码模块的使用或修改以及通过通风孔或缝隙对模块的探测上述物理安全机制可以包括坚固的外壳、拆卸检测装置以及响应电路。当密码模块的封盖/门被打开时,响应电路应当将所有的关
5、键安全参数置零。,5.4 安全三级 2/3,安全三级要求基于身份的鉴别机制,以提高安全二级中基于角色的鉴别机制的安全性。密码模块需要鉴别操作员的身份,并验证经鉴别的操作员是否被授权担任特定的角色以及是否能够执行相应的服务。安全三级要求手动建立的明文关键安全参数是经过加密的、使用可信信道或使用知识拆分来输入或输出。安全三级的密码模块应有效防止电压、温度超出模块正常运行范围对密码模块安全性的破坏。攻击者可以故意让密码模块的环境参数偏离正常运行范围,从而绕过密码模块的防护措施。密码模块应当设计有环境保护特性,用以检测环境异常并置零关键安全参数,或者能够通过环境失效测试从而提供一个合理的保障,确保不会
6、因环境异常破坏模块的安全性。,5.4 安全三级 3/3,安全三级的密码模块应提供非入侵式攻击缓解技术的有效性证据和测试方法。对于软件密码模块,并没有在本标准的所有条款中给出安全三级的要求。因此,软件密码模块能够达到的最大整体安全等级限定为安全二级。安全三级的密码模块增加了生命周期保障的要求,比如自动配置管理、详细设计、底层测试以及基于厂商所提供的鉴别信息的操作员鉴别。,5.5 安全四级 1/3,安全四级是本标准中的最高安全等级。该等级包括较低等级中所有的安全特性,以及一些扩展特性。安全四级的物理安全机制应当在密码模块周围提供完整的封套保护,其目的是无论外部电源是否供电,当模块包含敏感安全参数时
7、,检测并响应所有非授权的物理访问。从任何方向穿透密码模块的外壳都会以很高的概率被检测到,并将导致所有未受保护的敏感安全参数立刻被置零。由于安全四级的密码模块自身具有较高的安全机制,所以它特别适用于无物理保护的环境。,5.5 安全四级 2/3,安全四级要求对操作员进行多因素鉴别。最低限度下,要求使用下列因素中的两个:已知某物,如秘密口令;拥有某物,如物理钥匙或令牌;物理属性,如生物特征。,5.5 安全四级 3/3,安全四级的密码模块应有效防止电压、温度超出模块正常运行范围对密码模块安全性的破坏。密码模块应当设计有环境保护特性,专门用以检测环境异常并置零关键安全参数,从而提供一个合理的保障,确保不
8、会因环境异常破坏模块的安全性。按照国家相关部门规定的、安全四级的非入侵式攻击缓解测试指标,测试密码模块中实现的、7.8中规定的针对非入侵式攻击的缓解方法。安全四级要求模块的设计应通过一致性验证,即验证前置和后置条件与功能规格之间的一致性。,6 功能性安全目标,使用并正确实现核准的安全功能,以保护敏感信息;防止非授权地操作或使用密码模块;防止非授权地泄露密码模块的内容,其中包括关键安全参数;防止对密码模块和密码算法进行非授权或检测不到的修改,包括非授权地修改、替换、插入和删除敏感安全参数;提供密码模块运行状态的指示;保证密码模块在核准的工作模式下能够正确运行;检测出密码模块运行中的错误,防止这些
9、错误非授权地公开、修改、替换或使用关键安全参数,或者非授权地修改或替换公开安全参数;保证正确地设计、分配和实现密码模块。,7.1 安全要求:通用要求,本条规定了符合本标准的密码模块应当满足的安全要求。这些安全要求涵盖了密码模块的设计、实现、操作以及废弃相关的域。密码模块应当针对各个域的要求进行测试。密码模块应当在每个域中独立地进行评级。密码模块在这些域中获得的评级反映了模块在该域中所能达到的最高安全等级,即密码模块必须满足该域针对该等级的所有安全要求。除了在每个安全域中获得独立的评级之外,密码模块还将获得一个整体评级。整体评级设定为11个域所获得的最低评级。,7.2 密码模块规格,密码模块应当
10、是硬件、软件、固件,或它们之间组合的集合,该集合至少使用一个核准的密码算法、安全功能或过程实现一项密码服务,并且包含在定义的密码边界内。,7.2.2 密码模块类型 1/2,硬件模块密码边界规定为硬件边线。固件和/或软件,其中还可以包括操作系统,可以被包含在硬件密码边界内。软件模块密码边界为执行在可修改的运行环境中的纯软件部件(可以是一个或多个软件部件)划定界线。软件密码模块的运行环境所包含的计算平台和操作系统,在定义的密码边界之外。固件模块密码边界为执行在受限的或不可修改的运行环境中的纯固件部件划定界线。固件密码模块的运行环境所包含的计算平台和操作系统,在定义的密码边界之外,但是与固件模块明确
11、绑定。混合软件模块密码边界为软件部件和分离的硬件部件(即软件部件不在硬件模块边界中)的集合划定界线。软件运行的环境所包含的计算平台和操作系统,在定义的混合软件模块边界之外。混合固件模块密码边界为固件部件和分离的硬件部件(即固件部件不在硬件模块边界中)的合成划定界线。固件运行的环境所包含的计算平台和操作系统,在定义的混合固件模块边界之外,但是与混合固件模块明确绑定。,7.2.2 密码模块类型 2/2,对于运行于可修改环境中的软件模块,7.7中规定的物理安全和7.8中规定的非入侵式安全要求是可选的。对于硬件和固件模块,7.7中规定的物理安全和7.8中规定的非入侵式安全要求应当适用。对于混合模块,软
12、件和固件部件应当满足7.5中规定的软件/固件安全和7.6中规定的运行环境中的所有适用要求。硬件部件应当满足7.7中规定的物理安全和7.8中规定的非入侵式安全中的所有适用要求。,7.2.3.1 密码边界 通用要求,密码边界应当由定义明确的边线(例如,硬件、软件或固件部件的集合)组成,该边线建立了密码模块所有部件的边界。密码边界应当至少包含密码模块内所有安全相关的算法、安全功能、过程和部件。非安全相关的算法、安全功能、过程和部件也可以包含在密码边界内。密码模块的名称应当代表密码边界内的部件构成,不应代表大于实际范围的构成或产品。密码模块应当至少具有代表每个互不相同的硬件、软件和/或固件部件的特定版
13、本信息。密码边界内的某些硬件、软件和/或固件部件可以从本标准的要求中排除。被排除的硬件、软件或固件部件的实现应当不干扰或破坏密码模块核准的安全运行。应当阐明被排除的硬件、软件或固件(附录A)。,7.2.3.2 密码边界的定义,a)硬件密码模块的密码边界:硬件部件集合,可包括:在部件之间提供互联的物理配线的物理结构,包括电路板、基板或其他表面贴装;有效电器元件,如半集成、定制集成或通用集成的电路、处理器、内存、电源、转换器等;封套、灌封或封装材料、连接器和接口之类的物理结构;固件,可以包含操作系统;上面未列出的其他部件类型。b)软件密码模块的密码边界:构成密码模块的可执行文件或文件集;保存在内存
14、中并由一个或多个处理器执行的密码模块的实例。c)固件密码模块的密码边界:构成密码模块的可执行文件或文件集;保存在内存中并由一个或多个处理器执行的密码模块的实例。d)混合密码模块的密码边界:由模块硬件部件的边界以及分离的软件或固件部件的边界构成;包含每个部件所有端口和接口的集合。混合密码模块除了分离的软件或固件部件,模块的硬件部件还可以包含嵌入式的软件或固件。,7.2.4 工作模式,密码模块可以有核准的工作模式和非核准的工作模式。核准的工作模式是指密码模块在该工作模式下只能使用核准的安全功能提供安全相关服务。非核准的密码算法、安全功能和过程或其它未规定于7.4.3中的服务不应当被操作员用于核准的
15、工作模式中,除非非核准的密码算法或安全功能是核准的过程的一部分,而且与核准的过程的安全无关。例如,使用非核准的密码算法或非核准的方式生成的密钥,混淆数据或关键安全参数,结果也被视为未受保护的明文,且不能提供安全相关功能。当服务正在以核准的方式使用核准的密码算法、安全功能或过程,以及其它规定于7.4.3中的服务或过程的时候,该服务应当给出相应的状态指示。,7.3 密码模块接口,所有进出密码模块的逻辑信息流,都应当只能通过已定义的物理端口和逻辑接口,这些端口和接口是出入模块密码边界的入口和出口。密码模块逻辑接口应当是相互分离的,这些逻辑接口可以共享一个物理端口,也可以分布在一个或多个物理端口上。密
16、码模块软件部件的应用程序接口(API)可以定义为一个或多个逻辑接口。,7.3.2 接口类型,硬件模块接口(HMI)定义为用于请求硬件模块服务的命令全集,请求服务的命令中包括输入到密码模块或者由密码模块输出的参数。软件或固件模块接口(SFMI)定义为用于请求软件或固件模块服务的命令全集,请求服务的命令中包括输入到密码模块或者由密码模块输出的参数。混合软件或混合固件模块接口(HSMI或HFMI)定义为用于请求混合固件模块服务的命令全集,请求服务的命令中包括输入到密码模块或者由密码模块输出的参数。,7.3.3 接口定义,密码模块应当具备下列五种接口(输入/输出是相对于模块而言的):数据输入接口数据输
17、出接口控制输入接口控制输出接口状态输出接口除软件密码模块以外,所有模块还应当具备电源接口(通过内部电池供电的,电源接口可以不存在)。密码模块应当区分数据、控制信息和电源输入,以及数据、控制信息和状态信息输出。密码模块规格应当明确规定输入数据以及控制信息的格式,包括对所有可变长度输入的长度限制。,7.3.4 可信信道 1/2,可信信道是在密码模块和发送者或接收者之间建立的链路,用于安全传输未受保护的明文关键安全参数、密钥分量以及鉴别数据。可信信道在模块定义的输入或输出端口以及预期的发送者或接收者终端的通信链路上,可以防止窃听以及来自恶意的操作员/实体、进程或其他设备的物理或逻辑篡改。对于安全一级
18、和二级,没有可信信道要求。,7.3.4 可信信道 2/2,对于安全三级:密码模块应当实现可信信道;可信信道应当防止在通信链路上的非授权修改、替换和泄露;可信信道使用的物理端口应当与其他物理端口实现物理隔离;可信信道使用的逻辑接口应当与其他逻辑接口实现逻辑隔离;基于身份的鉴别应当用于所有使用可信信道的服务;当可信信道在使用时,应当提供状态指示器。对于安全四级,除了安全三级的要求以外,基于身份的多因素鉴别应当用于所有使用可信信道的服务。,7.4 角色、服务和鉴别,密码模块应当支持操作员的授权角色以及与每个角色相对应的服务。一个操作员可以担任多种角色。如果密码模块支持多个操作员同时操作,那么模块内部
19、应当确保各个操作员担任的角色相隔离及相应的服务相隔离。当服务执行不会修改、泄露或替换关键安全参数和公开安全参数时,例如显示状态、自测试或者其他不影响模块安全的服务,操作员无需担任一个授权角色。密码模块可能需要鉴别机制,以鉴别操作员对模块的访问,以及验证操作员是否被授权担任请求的角色和执行该角色下的服务。,7.4.2 角色,密码模块应当至少支持密码主管角色。密码主管角色应当负责执行密码初始化或管理功能,以及常用的安全服务,例如,模块初始化、关键安全参数和公开安全参数的管理以及审计功能。密码模块可以支持用户角色。如果密码模块支持用户角色,那么用户角色应当负责执行一般的安全服务,包括密码操作和其他核
20、准的安全功能。密码模块可以支持维护员角色。维护员角色是指在物理维护服务(例如,打开模块封盖)和/或逻辑维护服务(例如,运行某种诊断如内置的自测试(BIST)时担任的角色。当进入或退出维护员角色时,所有不受保护的敏感安全参数应当被置零。除了上述角色以外,密码模块还可以支持其他角色。,7.4.3 服务,服务指密码模块所能执行的所有服务、操作或功能。服务输入应当包括密码模块在启动或获取特定服务、操作或功能时,所使用的所有数据或控制输入。服务输出应当包括由服务输入启动或获取的服务、操作或功能,所产生的所有数据和状态输出。每个服务输入应当产生一个服务输出。密码模块应当为操作员提供下列服务:显示模块版本号
21、。密码模块应当输出名称或模块标识符以及版本信息,这些信息可以与模块的审验记录相关联。显示状态。密码模块应当输出当前的状态。其中可以包括响应服务请求的状态指示器的输出。执行自测试。密码模块应当执行初始化和规定于7.10.2中的运行前自测试。执行核准的安全功能。密码模块应当至少执行一个在7.2.4中规定的核准的工作模式中使用的核准的安全功能。执行置零。密码应当按照7.9.7中的规定执行参数置零。除了上述规定的服务以外,密码模块还可以提供其他的服务、操作或功能,包括核准的和非核准的。一些特定的服务可能不止一个角色使用它,例如,用户角色和密码主管角色都可以使用密钥输入服务。,7.4.3.2 旁路能力,
22、旁路能力是指某种服务所具备的部分或全部绕过密码功能的能力。如果密码模块输出的数据是受到密码技术保护的(例如,经过加密),但是通过更改密码模块的配置或者由于操作员的干预,密码模块能够将数据直接输出(例如,不再经过加密),此时,应当定义该模块具有旁路能力。如果密码模块实现了旁路能力,那么:在开启密码模块的旁路功能之前,操作员应当担任相应的授权角色。应当使用两个独立的内部操作来激活旁路能力,以防止单个错误造成不经意地输出明文数据。这两个独立的内部操作应当能够改变用于控制旁路能力的软件和/或硬件配置(例如,设置两个不同的软件或硬件标志位,其中一个可以由用户发起)。对于安全四级模块,上述两个独立的内部操
23、作应当由两个不同的操作员完成。模块应当显示其状态以指示旁路能力是否:未被激活,表明模块此时只提供使用密码功能的服务(例如,明文数据经过加密之后输出模块);被激活,表明模块此时只提供没有使用密码功能的服务(例如,明文数据未经过加密就输出模块);同时存在激活和去活,表明模块此时提供的某些服务使用了密码功能,而某些服务没有使用密码功能(例如,对于拥有多个通信信道的模块,明文数据是否被加密取决于每个信道的配置)。,7.4.3.3 自启动密码服务能力,自启动密码服务能力是指无需外界操作员请求,模块就能够执行密码操作和其他核准的安全功能或敏感安全参数管理技术。自启动密码服务能力应当由密码主管配置,而且该配
24、置可以在模块经过重置、重启或开关电源之后保留下来。如果密码模块实现了自启动密码服务能力,那么:应当需要两个独立的内部操作来激活该能力,以防止单个错误造成不经意的输出。对于安全四级模块,上述两个独立的内部操作应当由两个不同的操作员完成。模块应当显示其状态以指示自启动密码服务能力是否被激活。,7.4.3.4 软件/固件加载,如果密码模块具有加载外部软件或固件的能力,那么应当满足下列要求:加载的软件或固件应当在加载之前经过审验机构的审验,以维持审验效力。应当禁止通过数据输出接口输出数据,直到软件/固件加载完成以及加载测试成功通过。在运行加载的代码之前应当执行7.10.3.4中规定的软件/固件加载条件
25、自测试。密码模块应当拒绝运行任何已经加载的或已被修改的核准安全功能,直到成功执行7.10.2中规定的运行前自测试。应当修改模块的版本信息,以表示增加和/或更新了最新加载的7.4.3中的软件或固件。如果新软件或固件的加载是镜像的完全替换,它应当构成一个全新的模块,需要由审验机构重新审验,以维持审验效力。新加载的软件或固件镜像应当在模块上电重置之后才能运行。所有敏感安全参数应当在运行新镜像之前被置零。,7.4.4 鉴别 1/4,密码模块可能需要鉴别机制以鉴别访问模块的操作员,并验证该操作员能否担任其请求的角色,以及能否执行相应的服务。基于角色的鉴别密码模块应当要求操作员隐式地或显式地选择一个或多个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码模块安全技术要求 GMT0028 密码模块安全技术要求详细解读课件 密码 模块 安全技术 要求 详细 解读 课件

链接地址:https://www.31ppt.com/p-1829387.html