密钥管理简介
密钥,即密匙,一般泛指生产、生活所应用到的各种加密技术,能够对个人资料、企业机密进行有效的监管,密钥管理就是指对密钥进行管理的行为,如加密、解密、破解等等。
密钥管理包括,从密钥的产生到密钥的销毁的各个方面。主要表现于管理体制、管理协议和密钥的产生、分配、更换和注入等。对于军用计算机网络系统,由于用户机动性强,隶属关系和协同作战指挥等方式复杂,因此,对密钥管理提出了更高的要求。
密钥的种类
a) 基本密钥或初始密钥:基本密钥是用户选出的由系统分配给用户的可能在较长时间内用户所专用的密钥,又称用户密钥。基本密钥和会话密钥一起启动和控制由某种算法所构成的密钥产生器,依次产生用于加密数据的密钥流
b) 会话密钥:会话密钥是两个通信终端用户在一次交换数据时所采用的密钥,当用其保护传输密钥时称为数据加密密钥,当用其保护文件时,称之为文件密钥。会话密钥可以由通信双方互相约定,也可由系统动态地赋予通信双方,故又称专用密钥
c) 密钥加密密钥,密钥加密密钥是对通信中传送的会话或文件密钥进行加密时所采用的密钥,通信网中每一个结点都有这样的一个密钥
d) 主机主密钥:主机主密钥是对密钥加密密钥进行加密的密钥,存储于主处理器中。
密钥管理目的和适用范围
目的:
规范公司产品开发及生产过程中密钥使用的保密要求,以防止因不当操作发生信息泄露。
适用范围:
本规定适用于公司产品设计开发及生产过程中密钥使用的管理。
密钥管理的基本任务与要求
1、安全数据的产生
开始进行个人化之前,必须创建相应的加密密钥,必须按本部分的规定进行。至少应生成以下的密钥:
a)发卡行主密钥(KMC):用来派生KMAC、KENC和KDEK三个密钥。
●KMAC——用来锁闭中国金融集成电路(IC)卡的应用区,并对个人化过程中装载到卡片的个人化数据进行检验,证实它们完整无损,且没有被修改;
●KENC——用来生成IC卡密文和验证主机密文;
●KDEK——用来加密在个人化过程中写入卡片的保密数据。
KMC对每个发卡行是独有的,而KMAC、KENC和KDEK对每张卡是独有的。
b)主密钥(MDK)——用来导出:UDK——用于联机的卡认证和发卡行认证。
就每个BIN(银行标识码)而言,MDK通常是唯一的,而UDK对每张卡都必须是唯一的。c)发卡行公私钥对——通常由发卡行生成,公钥应传输给中国金融集成电路(IC)卡认证机构,供其创建发卡行公钥证书。私钥被保存在发卡行的HSM(主机加密模块)内。
d)密钥交换密钥(KEK)——用来对发卡行个人化输入文件中的机密数据进行加密,每个发卡行的KEK必须是唯一的。
e)传输密钥(TK)——用来对数据准备系统向个人化系统传送的发卡行个人化输入文件中的机密数据进行加密。
作为选择,也可以用发卡行公私钥对生成这些密钥。
f)ICC公私钥对——IC卡利用这一对密钥执行DDA和CDA/AC密文生成算法。其中,公钥须经过发卡行私钥的签名,才能获得发卡行公钥证书。每张卡的ICC公私钥对必须是独一无二的。
g)MDKENC——用来导出:UDKENC——用来加密发卡行的脚本机密信息。
h)MDKMAC——用来校验发卡行的脚本信息。
2、密钥的形成与分发
不同类型的加密算法支持《EMV卡个人化规范:2003》中的不同功能。然而,当加密算法没有得到正确实施时,加密算法的预定作用将受到负面的影响。一种安全的实施将取决于规范所需的不同密钥被签发者管理的好坏程度。以下材料的目的是提供不同算法类型所扮演的加密角色的一个概述,以及提出安全地管理密钥所必需的基本要求。a)非对称(SM2/RSA)密钥管理IC卡的安全性取决于私钥(签名)的保护。不能保证用来对静态或动态数据元签名的私钥的安全性将使IC卡面临被伪造的风险。私钥面临的主要风险包括:——成功地解决ECDLP问题,以及成功地分解RSA模数;——私钥自身的泄漏。
为了限制这些风险所代表的潜在的泄露问题,我们推荐使用以下发卡行要求。私钥(签名)的安全性取决于许多因素,包括:
——SM2/RSA密钥模数位的长度,例如:256或者1024和1152;——组成公钥/私钥模数的主要数字的质量;
——用来从物理上保障(保护)私钥(签名)不受未经授权的访问和暴露/危害的影响的方法,特别是当IC卡或其它安全加密设备(SCD)使用它们时为密钥提供的保护。
SM2/RSA密钥生成当生成SM2/RSA公私钥对时,推荐在一台物理安全的设备的受保护内存中完成这个过程。这种设备必须包含一个随机或伪随机数字生成器,执行原始校验例程,并支持篡改响应机制。
——SM2/RSA私钥(签名)可能对物理安全设备而言是暂时性的;
——密钥生成将利用一个随机或伪随机过程,以使得不可能预测出任何密钥或者确定密钥空间中的某些密钥比其它任意密钥可能性更大;
——个人计算机或其它类似的不安全设备,即不被信任的设备,将永远不能用来生成SM2/RAS公私钥对。
密钥传输和存储为了保护公私钥对的完整性,对发卡行而言,确保这种密钥数据使用以下步骤非常重要:
——公钥应能被确保安全以及用一种能够保证它们完整性的方式来传输。推荐公钥始终在诸如一个证书之类的数据结构中传输,或者可以跟一个报文鉴别码(MAC)来保证完整性,这个报文鉴别码是由一个仅用于该用途的密钥按照ISO9807定义的算法应用于公钥和相关数据而得。也推荐使用双重控制技巧来确保公钥的接收方有办法验证它的发送方和完整性,即通过公钥上的一个校验值的单独和独立的传输来实现这一点;
——私钥必须用一种能够保证它们的完整性和私密的方式来保障安全和传输。传输机制可能包括:
一台安全加密设备;
利用至少与加密相等力量的对称算法来对被保护密钥的私钥进行解密;作为几个部分(在IC卡上保障安全),并使用一个对称算法来进行解密。
对称密钥管理JR/T0025中的对称密钥用于特殊的事务功能。对称密钥是在个人化期间从一个主导出密钥(MasterDerivationKey)中导出的。最终的卡片级密钥是唯一的。发卡行主密钥包括:
——发卡行主导出密钥(IDKAC):用来导出卡片密钥,该密钥用于生成称为应用密文(AC)的MAC;
——发卡行安全报文主密钥(IMKSMCIMKSMI):用来导出卡片密钥,这些卡片密钥用在卡片和验证系统之间的安全报文中,即卡片锁定、应用锁定/解锁、更新卡片特定数据和修改PIN。
密钥生成发卡行将使用以下原则来使密钥数据在创建期间泄漏的机会最小化:
——在生成密钥时,它们必须要么在一台由篡改响应机制保护的物理安全的设备中生成,要么必须由授权的工作人员以一部分一部分的形式生成(见下文)。设备必须包含一个随机或伪随机的数字生成器;
——任何时候一个未被保护的密钥都不能存在于一台物理安全的设备的被保护内存之外。任何时候物理安全的设备都不能输出纯文本的密钥,除非作为密码或者以两个或更多部分的形式输出;
——当密钥由授权工作人员通过一个将各部分组合的过程来生成时,必须要求每一方生成一个和要生成的密钥一样长的部分。密钥组合过程在一个物理安全的设备内部进行。此外,组合各部分的方法应当是,知道了各部分的任何一个子集也无法知道密钥值。分开的密钥由一个管理机构掌握,至少应有一个部分持有人是发卡行的一名员工;
——应当为实际密钥的全部计算校验位;
——个人电脑或类似的不安全设备永远不能用来生成密钥资料;
——如果发现任何密钥存在于一个物理安全的设备之外,或者密钥的各个部分被人所知,或者有被单个人掌握的嫌疑,那么该密钥将被认为已被泄漏,并且必须用一个新的密钥来替换它。密钥传输和存储对称密钥可能需要被传输和存储。例如包括将对称密钥从发卡行的站点传输给一个第三方的处理商或卡片个性化供应商。当对称密钥正被传输或存储时,以下措施将限制数据泄漏的潜在危险:
——对称密钥可以被安全地转移到一块安全令牌或智能卡的保护之下,以进行传输和存储;
——对称密钥只能以以下方式在安全令牌或智能卡的受保护内存之内进行传输或存储:
利用双重控制和分持机密的原则,以两个或更多部分的形式作为密码,密码是用一个由各方安全地建立的传输或存储密钥来创建的。
3、根密钥明文数据的保存
根密钥明文数据的保存要求如下:
a)一旦接收到密钥资料,负责的密钥管理人员必须立即检查邮包是否篡改,并且必须验证内容;
b)如果接收的管理人员对密钥数据的完整性有任何不确定的地方,必须立即通知发送方。发送方与接收方商议决定密钥数据将来的状况。关于继续使用密钥资料的任何决定的基础必须记录在案并由双方保留;
c)如果硬拷贝数据要保留任意一段时间,那么各个硬拷贝组成部分、安全令牌或智能卡必须保存在一个序列化的保密信封中;
d)这个序列化的保密信封必须持续保存在一个物理安全的容器中,这个容器仅能由指定的密钥管理人员或预备人员访问。每次对密钥数据的访问都必须记入日志,包括时间、日期、信封序列号、目的和签名。这些日志将可以向任何相应的请求机构提供;
e)密钥资料永远不能在超过任务所需的访问必需的时间之后保留在保密信封和它们的物理安全的环境之外。
4、其他密钥数据的保存
下面给出了关于密钥存储问题的一些一般的指导,它适用于非对称和对称密钥存储:
a)PC板的使用
一块向主机提供加密服务的PC板可以看作是HSM的一种形式和类似的期望保护级别。
注:使用加密安全设备的主要原因是保护密钥。如果使用HSM主机的系统自身是不安全的,那么攻击者将更容易危害系统的软件功能,而忽略HSM。
b)访问控制
所有在卡外和HSM外保存的密钥都应当保持在至少双重的控制之下。c)HSM和IC安全内存
一般而言,HSM将包含单独的存储和处理设备,而密钥资料将跨内部硬件总线传送。由于这个原因,当检测到了危害时,HSM清除(或归零)它的内存是很重要的。此外,HSM的硬件设计解决电磁辐射的问题也很重要。HSM一般设计位于一个安全的环境之中。
5、人员管理
负责管理加密密钥和密钥要素及其它密钥数据设备的人员必须由技术副总指派。指派专人负责监控密钥数据时,必须落实足够的保密控制措施,以保证任何个人或未经认可的个人没有任何机会读取密钥的数据成分。密钥保管人必须是正式受托的职员,决不可以是临时佣工或顾问。另外,为了确保服务的连续性,可以把候补人员当作主要密钥管理人的“备份”。选择“备份”管理人的标准应该和选择主要密钥管理人的标准相同。密钥管理人的责任重大,而且是发卡行安全协议的一个基本组成部分,他们所要管理的密钥数据是发卡行发卡程序中最重要的加密操作码。每个发卡行应对内部密钥管理程序和下列业务的有关人员的作用进行核查:
a)密钥管理人员的职责包括密码资料的控制、验证和安全存储;
b)密钥管理人或其“备份”的责任是:
●接收和安全存储密钥元;
●对读取和使用密钥数据的记录或日志进行管理,包括读取次数、日期、目的和重新安全存储情况;
●对传输给发卡行控制权限以外的其它所有指定人员的密钥数据进行验证;
对过期密钥元的销毁进行签名作证;
●时常根据需要将密钥数据输入安全加密模块;
●依据数据所有人的通知,指导和监视过期密码资料的销毁。
c)密钥数据最初生成时的密钥管理人,应负责保护该数据,并将其转发给接收单位的指定密钥管理人,这个责任还包括对数据收讫进行验证。
-
密钥管理
+关注
关注
0文章
23浏览量
7575
发布评论请先 登录
相关推荐
评论