,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,第三章 密钥管理与数字证书,密钥的管理内容,密钥的分配技术,对称密钥管理,公开密钥管理,第三方托管技术,数字证书,第三章 密钥管理与数字证书密钥的管理内容,1,3.1,密钥管理技术,3.1.1,密钥管理,密钥管理是处理密钥自产生到销毁整个过程中的有关问题:系统的初始化、密钥的产生、存储、备份恢复、装入、分配、保护、更新、控制、丢失、吊销和销毁等。,密钥的管理内容,1,密钥设置协议,(,1,)数据加密密钥(,DK,)(,2,)密钥加密密钥,(KK),2,密钥生成,3,密钥的分配,4,密钥的保护,5,密钥的存储,6,密钥的备份,/,恢复,7,密钥的泄露与撤销,8,密钥的有效期,(,1,)密钥使用时间越长,它泄露的机会就越大。,(,2,)如果密钥已泄露,那么密钥使用越久,损失就越大。,(,3,)密钥使用越久,人们花费精力破译它的诱惑力就越大,甚至采用穷举攻击法。,9,控制密钥使用,10,密钥的销毁,3.1 密钥管理技术3.1.1 密钥管理,2,3.1,密钥管理技术,密钥的分配技术,1,密钥分配实现的基本方法,(,1,)基于对称加密算法的,建立安全信道 (,2,)基于双钥体制的,利用数学上求逆的困难性,建立安全信道(,3,)基于量子密码建立安全信道,2,密钥分配实现的基本工具,3,密钥分配系统实现的基本模式,(,1,)模式一,(,2,)模式二,另一种是在一个大型网络中,如由,n,个用户组成的系统中,希望相互之间保密通信,则需要生成,n(n-1)/2,个密钥进行分配和存储,这样密钥的分配问题就变得复杂,因此为了解决这一问题,常采用密钥中心管理方式。在这种结构中,每个用户和密钥中心共享一个密钥,保密通信的双方之间无共享密钥。,3.1 密钥管理技术密钥的分配技术,3,3.1,密钥管理技术,密钥中心机构有两种形式:,密钥分配中心(,KDC,),密钥传送中心(,KTC,),k,k,k,k,k,k,k,k,k,k,k,3.1 密钥管理技术密钥中心机构有两种形式:k k k k,4,3.1,密钥管理技术,4.,密钥的验证,对称密钥管理,公开密钥管理,1.,公开密钥的公开宣布,3.1 密钥管理技术4.密钥的验证,5,3.1,密钥管理技术,2.,公开可以得到的目录,(1),管理机构为每个参与者维护一个目录项,名字,公开密钥,。,(2),每个参与者在目录管理机构登记一个公开密钥。登录必须面对面进行,或者通过某种安全的经过认证的通信方式进行。,(3),参与者可以随时用新的密钥更换原来的密钥,不论是因为希望更换一个已经 用于大量的数据的公开密钥,还是因为对应的私有密钥已经以某种途径泄露出去了。,(4),管理机构定期发表这个目录或者对目录进行更新。例如,可以出版一个很像 电话号码簿的打印版本,或者可以在一份发行量很大的报纸上列出更新的内容。,(5),参与者也可能以电子方式访问目录。为了这个目的,从管理机构到参与者的通信必须是安全的、经过鉴别的通信,。,3.1 密钥管理技术 2.公开可以得到的目录,6,3.1,密钥管理技术,3.,公开密钥管理机构,注:,KUa,和,KUb,分别是,A,和,B,的公开密钥。,注:,Cert-A,、,Cert-B,和,ID-A,、,ID-B,是,A,和,B,的数字证书和身份标识。,3.1 密钥管理技术3.公开密钥管理机构 注:KUa和KUb,7,3.1,密钥管理技术,4.,公开密钥证书,这种方案有如下要求:,(,1,)任何参与者都可以阅读证书以确定证书拥有者的名字和公 开密钥;,(,2,)任何参与者都可以验证证书是否来自证书管理机构;,(,3,)只有证书管理机构才可以制作和更新证书;,(,4,)任何参与者都可以验证证书的有效性。,3.1 密钥管理技术4.公开密钥证书,8,3.1,密钥管理技术,第三方托管技术,1.,密钥托管的发展,2.,密钥托管的应用,(,1,)用户向密钥托管者发送将要存储的文件。,(,2,)密钥托管者利用自己的秘密密钥,K1,来加密用于加密该文件的密钥,K2,。,(,3,)密钥托管者利用,K2,来加密该文件,并把加密后的,K2,和加密后的文件送回给用户。,3.,密钥托管的组成,Denning,把密钥托管加密分成了,3,个组成部分:用户安全部分、密钥托管部分和数据恢复部分。用户安全部分是用来提供信息加密和解密以及密钥托管功能的硬件设备或软件程序,它提供了一个数据恢复域,(DRF),到加密后的信息中去,,DRF,中包含了会话密钥的信息,它用来实现密钥托管功能;密钥托管部分可由密钥托管代理来操作,它采用一些安全方法从,DRF,中恢复出会话密钥来;数据恢复部分则利用从密钥托管部分中得到会话密钥来对截取到的密文进行明文的复出。,3.1 密钥管理技术第三方托管技术,9,3.1,密钥管理技术,4.,密钥托管的可行性分析,(1),保证数据的保密性、完整性。,(2),世界范围内的可用性。与国际、国内不同的密码政策相适应。,(3),足够的强度,能抗击实际使用中各种威胁及运行的风险。,(4),实施方法的细节应该是公开的。比如,SHIJACK,算法及,LEAF,产生方法。,(5),必须能为法律执行部门提供方便。,(6),滥用应该是困难的和容易发现的。,(7),形成一个合法的组织体系。,(8),必须考虑宪法赋予公民的合法权利。,(9),选择可信任的托管机构,KEA(Key Escrow Agency),时应有很大的灵活性。,(10),有足够的权利使用新开发的算法和标准。,(11),对任何人都是容易得到的而且费用不能太高。,(12),为用户提供可选的安会防范,以减小诸如密钥丢失或毁坏所造成的损失。而密钥托管至少在,(2)(3)(4)(6)(8)(11),上与所期望的相距甚远。,5.,美国密钥托管技术标准,3.1 密钥管理技术4.密钥托管的可行性分析,10,3.1,密钥管理技术,3.1.2,密钥交换协议,Diffie-Hellman,协议,设,F,为有限域,,gF,是,F,的乘法群,F*=F0=g,。并且对任意正整数,x,,计算,gx,是容易的;但是,已知,g,和,y,求,x,使,y,gx,,在计算上几乎使不可能的。这种问题称为有限域,F,上的离散对数问题。公钥密码学中使用最广泛的有限域为素域,Fp,(为素数)。对,Diffie-Hellman,密钥交换协议描述:,A,和,B,协商好一个大素数,p,,大的整数,g,,,1gp,,,g,最好是,FP,中的本原元,即,FP*=g,。,p,和,g,无须保密,可为网络上的所有用户共享。,当,A,和,B,要进行保密通信时,他们可以按如下步骤来做:,(,1,),A,选取大的随机数,x,(,0 xp-1,),并计算,X,gx(mod P),;,(,2,),B,选取大的随机数,y,(,0yp-1,),并计算,Y,gy(mod P),;,(,3,),A,将,X,传送给,B,,,B,将,Y,传送给,A,;,(,4,),A,计算,K,(gy)x(mod P),;,B,计算,K=(gx)y(mod P),,易见,,K=K=gxy(mod P),由(,4,)知,,A,和,B,已获得了相同得秘密值,K,。双方以,K,作为加解密钥以传统对称密钥算法进行保密通信。,3.1 密钥管理技术3.1.2 密钥交换协议,11,3.1,密钥管理技术,Oakley,协议,Diffie-Hellman,密钥交换协议有两个优势特征:,(,1,)密钥仅在需要时才被建立,不需要将密钥存储很长,段时间,因此不易受到攻击,降低了密钥泄露的危险性。,(,2,)协议除要求有预先协商好的全局参数外,不要求有其他预先已存在的基础设施,实现简单方便。,Diffie-Hellman,协议也存在着如下弱点。,(,1,)协议未提供有关通信双方身份的任何信息(,2,)易受中间人攻击。,(,3,)协议的计算量很大,因此易受到阻塞性攻击。,Oakley,有五个重要的特征:,(,1,)采用了称为,Cookie,程序的交换机制来防止阻塞攻击。,(,2,)通信双方可以协商,Diffie-Hellman,密钥交换所用的群,即协商所需的全局参数。(,3,)使用一次性随机数来防止重播攻击。(,4,)可使通信双方交换,Diffie-Hellman,公开密钥的值。(,5,)对,Diffie-Hellman,密钥交换加以鉴别,防止中间人攻击。,3.1 密钥管理技术Oakley协议,12,3.1,密钥管理技术,3.1.3 PGP,密钥管理技术,PGP,应用程序的第一个特点是它的速度快,效率高;另一个显著特点就是它的可移植性出色,它可以在多种操作平台上运行。,PGP,主要具有加密文件、发送和接收加密的,E-mail,、数字签名等。它采用了以下技术:,审慎的密钥管理,、,一种,RSA,和传统加密的杂合算法,、,用于数字签名的邮件文摘算法和加密的杂合算法,、,用于数字签名的邮件往往在加密前压缩,等,还有一个良好的人机会话设计。它功能强大,速度很快,而且其源代码是免费的。,PGP,的主要功能有:,(,1,)使用,PGP,对邮件加密,以防止非法阅读。,(,2,)能给加密的邮件追加上数字签名,从而使收信人进一步确信邮件的发送 者,而事先步需要任何保密的渠道用来传递密钥。,(,3,)可以实现只签名而不加密,适用于发表公开声明时证实声明人身份,也可防止声明人抵赖,这一点在商业领域有很大的应用前景。,(,4,)能够加密文件,包括图形文件、声音文件以及其他各类文件。,(,5,)利用,PGP,代替,Uuencode,生成,RADIX64,(就是,MIME,的,BASE64,格式)的编码文件。,3.1 密钥管理技术3.1.3 PGP密钥管理技术,13,3.1,密钥管理技术,PGP,的概念和原理,PGP,是目前最流行的一种加密软件,它是一个基于,RSA,公钥加密体系的邮件加密软件。采用了非对称的“公钥”和“私钥”加密体系。,(,1,),PGP,的加密机制,假设甲要寄信给乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于别人不知道乙的私钥,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面,由于每个人都知道乙的公钥,他们都可以给乙发信,那么乙怎么确信来信是不是甲的,这就是数字签名的必要性,用数字签名来确认发信的身份。,邮件文摘,对一封邮件用某种算法算出一个最能体现这封邮件特征的数来,一旦邮件有任何改变这个数都会发生变化,那么这个数加上用户的名字,(,实际上在用户的密钥里,),和日期等等,就可以作为一个签名了,3.1 密钥管理技术PGP的概念和原理,14,3.1,密钥管理技术,PGP,给邮件加密和签名的过程,首先甲用自己的私钥将上述的,128,位值加密,附加在邮件后,再用乙的公钥将整个邮件加密,(,要注意这里的次序,如果先加密再签名,别人可以将签名去掉后签上自己的签名,从而篡改了签名,),。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和签名,乙的,PGP,也从原文计算出一个,128,位的特征值来和用甲的公钥解密签名所得到的数进行比较,如果符合就说明这份邮件确实是甲寄来的。,PGP,还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份,可以用自己的私钥签名,这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明,RSA,算法计算量很大而且在速度上也不适合加密大量数据,所以,PGP,实际上用来加密的不是,RSA,本身,而是采用了一种叫,IDEA,的传统加密算法,又称为“对称加密法”。,3.1 密钥管理技术PGP给邮件加密和签名的过程,15,3.1,密钥管理技术,(,2,),PGP,的密钥管理,公钥体制的提出就是为了解决传统加密体系的密钥分配过程保密的缺点: