《第八章密钥分配与管理.ppt》由会员分享,可在线阅读,更多相关《第八章密钥分配与管理.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章 密钥分配与管理密钥分配与管理8.1 密钥分配方案密钥分配方案8.2 密钥的管理密钥的管理本章重点和复习要点本章重点和复习要点本章重点和复习要点本章重点和复习要点n通信方通信方A、B的主密钥如何进行安全分配;通信的主密钥如何进行安全分配;通信方方A和和B共享的对话密钥如何进行安全分配共享的对话密钥如何进行安全分配nD-H中有无中有无KDC?D-H是对称加密算法还是公是对称加密算法还是公开加密算法?开加密算法?K是对称加密密钥还是公开加密是对称加密密钥还是公开加密密钥?该方案有无鉴别通信双方的功能,所以密钥?该方案有无鉴别通信双方的功能,所以容易遭受什么攻击?容易遭受什么攻击?nN-
2、S算法有无算法有无KDC?它是一个对称加密算法还?它是一个对称加密算法还是公开加密算法?是公开加密算法?KS是对称加密密钥还是公开是对称加密密钥还是公开加密密钥?加密密钥?nN-S的密钥分配和相互鉴别过程的密钥分配和相互鉴别过程n为什么说为什么说CA相对相对KDC来说不容易形成瓶颈?来说不容易形成瓶颈?返回首页返回首页 目前,大部分加密算法都已经公开了,像目前,大部分加密算法都已经公开了,像DES和和RSA等加密算法甚至作为国际标准来推行。等加密算法甚至作为国际标准来推行。因此明文的保密在相当大的程度上依赖于密钥因此明文的保密在相当大的程度上依赖于密钥的保密。的保密。1)设计安全的密钥算法和协
3、议是不容易的,但)设计安全的密钥算法和协议是不容易的,但可以依靠大量的学术研究。可以依靠大量的学术研究。2)相对来说,对密钥进行保密更加困难。)相对来说,对密钥进行保密更加困难。如何如何安全可靠、迅速高效地分配密钥,如何管理密安全可靠、迅速高效地分配密钥,如何管理密钥一直是密码学领域的重要问题。钥一直是密码学领域的重要问题。8.1 密钥分配方案密钥分配方案1)要使)要使常规加密常规加密有效进行,通信双方必须共享有效进行,通信双方必须共享一个密钥,这个密钥还要防止被他人获得。一个密钥,这个密钥还要防止被他人获得。2)要使)要使公开加密公开加密有效进行,通信双方必须发布有效进行,通信双方必须发布其
4、公开密钥,并防止其私钥被其他人获得。其公开密钥,并防止其私钥被其他人获得。此外,密钥还需此外,密钥还需经常更换经常更换,以便在攻击者知,以便在攻击者知道密钥的情况下使得泄漏的数据量最小化。道密钥的情况下使得泄漏的数据量最小化。对于通信的双方对于通信的双方A和和B,密钥的分配可以有以密钥的分配可以有以下的几种方法:下的几种方法:返回首页返回首页(1)密钥可以由密钥可以由A选定,然后通过物理的方法安选定,然后通过物理的方法安全地传递给全地传递给B。(2)密钥可以由可信任的第三方密钥可以由可信任的第三方C选定,然后通选定,然后通过物理的方法安全地传递给过物理的方法安全地传递给A和和B。上述方法由于需
5、要对密钥进行人工传递,对上述方法由于需要对密钥进行人工传递,对于大量连接的现代通信而言,显然不适用。于大量连接的现代通信而言,显然不适用。(3)如果如果A和和B都有一个到可信任的第三方都有一个到可信任的第三方C的加的加密连接,那么密连接,那么C就可以通过加密连接将密钥安就可以通过加密连接将密钥安全地传递给全地传递给A和和B。采用的是密钥分配中心技术,可信任的第三采用的是密钥分配中心技术,可信任的第三方方C就是密钥分配中心就是密钥分配中心KDC,常用于常规加密常用于常规加密密钥的分配。密钥的分配。(4)如果如果A和和B都由可信任的第三方发布自己的公都由可信任的第三方发布自己的公开密钥,它们就可用
6、彼此公开密钥加密通信。开密钥,它们就可用彼此公开密钥加密通信。采用的是密钥认证中心技术,可信任的第三采用的是密钥认证中心技术,可信任的第三方方C就是证书授权中心就是证书授权中心CA,更多用于公开加密更多用于公开加密密钥的分配。密钥的分配。8.1.1 常规加密密钥的分配常规加密密钥的分配1.集中式密钥分配方案集中式密钥分配方案 由一个中心节点或者由一组节点组成层次结由一个中心节点或者由一组节点组成层次结构负责密钥产生并分配给通信双方,用户只需构负责密钥产生并分配给通信双方,用户只需保存同中心节点的加密主密钥,用于安全传送保存同中心节点的加密主密钥,用于安全传送由中心节点产生的即将用于与第三方通信
7、的会由中心节点产生的即将用于与第三方通信的会话密钥。话密钥。这种方式缺点是通信量大,同时需要较好的这种方式缺点是通信量大,同时需要较好的鉴别功能以鉴别中心节点和通信方。鉴别功能以鉴别中心节点和通信方。目前这方面的主流技术是目前这方面的主流技术是密钥分配中心密钥分配中心KDC技术。我们假定:技术。我们假定:1)每个通信方与密钥分配中心)每个通信方与密钥分配中心KDC之间共享一之间共享一个惟一的主密钥;个惟一的主密钥;2)这个主密钥通过其他安全的途径传递。)这个主密钥通过其他安全的途径传递。实际上,到第实际上,到第(3)步已经完成步已经完成密钥的分配密钥的分配过过程,通信的双方已经共享了当前的会话
8、密钥程,通信的双方已经共享了当前的会话密钥Ks,第第(1)步到第步到第(5)步共完成了两次步共完成了两次鉴别功能鉴别功能。单个密钥分配中心单个密钥分配中心KDC无法支持大型的通信无法支持大型的通信网络。网络。因为因为每两个可能要进行安全通信的终端都必须每两个可能要进行安全通信的终端都必须同某个密钥分配中心共享主密钥。同某个密钥分配中心共享主密钥。所以所以当通信的终端数量很大时,将出现这样的当通信的终端数量很大时,将出现这样的情况:情况:1)每个终端都要同许多密钥分配中心共享主密每个终端都要同许多密钥分配中心共享主密钥,增加了终端的成本和人工分发密钥分配中钥,增加了终端的成本和人工分发密钥分配中
9、心和终端共享的主密钥的成本。心和终端共享的主密钥的成本。2)需要几个特别大的密钥分配中心,每个密钥)需要几个特别大的密钥分配中心,每个密钥分配中心都同几乎所有终端共享主密钥。然而分配中心都同几乎所有终端共享主密钥。然而各个单位往往希望自己来选择或建立自己的密各个单位往往希望自己来选择或建立自己的密钥分配中心。钥分配中心。解决方案:解决方案:1)为了同时支持没有共同密钥分配中心的终端)为了同时支持没有共同密钥分配中心的终端之间的密钥信息的传输,可以建立一系列的密之间的密钥信息的传输,可以建立一系列的密钥分配中心,各个密钥分配中心之间存在钥分配中心,各个密钥分配中心之间存在层次层次关系关系。2)各
10、个密钥分配中心按一定方式进行协作,这)各个密钥分配中心按一定方式进行协作,这样,一方面主密钥分配所涉及的工作量减至最样,一方面主密钥分配所涉及的工作量减至最少,另一方面也可以使得某个少,另一方面也可以使得某个KDC失效时,只失效时,只影响其管辖区域,而不至于影响整个网络。影响其管辖区域,而不至于影响整个网络。2.分散式密钥分配方案分散式密钥分配方案 使用使用KDC进行密钥的分配要求进行密钥的分配要求KDC是可信任是可信任的并且应该保护它免于被破坏。的并且应该保护它免于被破坏。1)如果)如果KDC被被破坏破坏,那么所有依靠该,那么所有依靠该KDC分配分配会话密钥进行通信的所有通信方将不能进行正会
11、话密钥进行通信的所有通信方将不能进行正常的安全通信。常的安全通信。2)如果)如果KDC被被控制控制,那么所有依靠该,那么所有依靠该KDC分配分配会话密钥进行通信的所有通信方之间的通信信会话密钥进行通信的所有通信方之间的通信信息将被窃听。息将被窃听。解决方案:解决方案:1)把单个)把单个KDC分散成几个分散成几个KDC,将会降低这,将会降低这种风险。种风险。2)更进一步,把几个)更进一步,把几个KDC分散到所有的通信方,分散到所有的通信方,也就是说每个通信方自己保存同其他所有通也就是说每个通信方自己保存同其他所有通信方的主密钥。信方的主密钥。优缺点:有优缺点:有n个通信方的网络要保存个通信方的网
12、络要保存n(n一一1)/2个主密钥。对于较大网络,这种方案不适用,个主密钥。对于较大网络,这种方案不适用,但对于小型网络或大型网络的局部范围,该但对于小型网络或大型网络的局部范围,该分散化方案可行。分散化方案可行。分散式密钥分配方案中分散式密钥分配方案中会话密钥的产生会话密钥的产生通过通过如下的步骤实现:如下的步骤实现:(1)AB:IDa|N1 A给给B发出一个要求会话密钥的请求,报文内发出一个要求会话密钥的请求,报文内容包括容包括A的标识符的标识符IDa和一个现时和一个现时N1,告知:告知:A希望与希望与B进行通信,进行通信,并请并请B产生一个会话密钥用于安全通信。产生一个会话密钥用于安全通
13、信。(2)BA:EMKmKs|IDa|IDb|f(N1)|N2 B使用一个用使用一个用A和和B之间共享的主密钥加密的之间共享的主密钥加密的报文进行响应。响应的报文包括:报文进行响应。响应的报文包括:B产生的会话密钥、产生的会话密钥、A的标识符的标识符IDa、B的标识符的标识符IDb、f(N1)的值、的值、另一个现时另一个现时N2。(3)AB:EKsf(N2)A使用使用B产生的会话密钥产生的会话密钥Ks对对f(N2)进行加密,进行加密,返回给返回给B。优缺点:优缺点:1)每个通信方都必须保存多达每个通信方都必须保存多达(n一一1)个主个主密钥;密钥;2)但是需要多少会话密钥就可以产生多少;)但是
14、需要多少会话密钥就可以产生多少;3)同时,使用主密钥传输的报文很短,所)同时,使用主密钥传输的报文很短,所以对主密钥的分析也很困难。以对主密钥的分析也很困难。8.1.2 公开加密密钥的分配公开加密密钥的分配 公开加密密钥的分配要求和常规加密密钥的公开加密密钥的分配要求和常规加密密钥的分配要求有着本质的区别。分配要求有着本质的区别。公开密钥技术使得密钥较易分配,但它也有公开密钥技术使得密钥较易分配,但它也有自己的问题。自己的问题。获取一个人的公开密钥有如下四种途径。获取一个人的公开密钥有如下四种途径。1.公开密钥的公开宣布公开密钥的公开宣布 任何参与者都可以将他的公开密钥发送给另外任何参与者都可
15、以将他的公开密钥发送给另外任何一个参与者,或者把这个密钥广播给相关任何一个参与者,或者把这个密钥广播给相关人群,比如人群,比如PGP。致命的漏洞致命的漏洞:任何人都可以伪造一个公开的:任何人都可以伪造一个公开的告示,冒充其他人,发送一个公开密钥给另一告示,冒充其他人,发送一个公开密钥给另一个参与者或者广播这样一个公开密钥。个参与者或者广播这样一个公开密钥。2.公开可用目录公开可用目录1)由一个可信任组织负责维护一个公开的公开)由一个可信任组织负责维护一个公开的公开密钥动态目录。密钥动态目录。2)公开目录为每个参与者维护一个目录项)公开目录为每个参与者维护一个目录项标识,标识,公开密钥公开密钥,
16、每项信息都需经过安全认证。,每项信息都需经过安全认证。3)任何其他方都可以从这里获得所需要通信方)任何其他方都可以从这里获得所需要通信方的公开密钥。的公开密钥。致命的弱点致命的弱点:如果一个敌对方成功地得到或:如果一个敌对方成功地得到或者计算出目录管理机构的私有密钥,就可以伪者计算出目录管理机构的私有密钥,就可以伪造公开密钥,并发送给其他人达到欺骗的目的。造公开密钥,并发送给其他人达到欺骗的目的。3.公开密钥管理机构公开密钥管理机构1)更严格控制公开密钥从目录中分配的过程就)更严格控制公开密钥从目录中分配的过程就可以使得公开密钥的分配更安全。可以使得公开密钥的分配更安全。2)比公开可用目录多了
17、公开密钥管理机构和通)比公开可用目录多了公开密钥管理机构和通信方的认证以及通信双方的认证。信方的认证以及通信双方的认证。3)每个通信方都由安全渠道得到该中心权威机)每个通信方都由安全渠道得到该中心权威机构的公开密钥,而其对应的私有密钥只有该构的公开密钥,而其对应的私有密钥只有该中心权威机构才持有。中心权威机构才持有。4)任何通信方都可以向该中心权威机构获得其)任何通信方都可以向该中心权威机构获得其他任何通信方的公开密钥,通过该中心权威他任何通信方的公开密钥,通过该中心权威机构的公开密钥便可判断它所获得的其他通机构的公开密钥便可判断它所获得的其他通信方的公开密钥的可信度。信方的公开密钥的可信度。
18、4.公开密钥证书公开密钥证书需求:需求:1)公开密钥管理机构往往会成为通信网络中的瓶公开密钥管理机构往往会成为通信网络中的瓶颈。颈。2)如果不需要与公开密钥管理机构通信,也能证)如果不需要与公开密钥管理机构通信,也能证明其他通信方的公开密钥的可信度,明其他通信方的公开密钥的可信度,公开公开密钥证书。密钥证书。3)目前,公开密钥证书即数字证书由)目前,公开密钥证书即数字证书由CA颁发。颁发。1)CA作为网络通信中受信任的第三方,承担作为网络通信中受信任的第三方,承担检验公开密钥的合法性的责任。检验公开密钥的合法性的责任。2)CA中心为每个用户发放中心为每个用户发放数字证书数字证书(经(经CA签签
19、名的包含公开密钥拥有者信息以及公开密钥名的包含公开密钥拥有者信息以及公开密钥的文件)的文件),作用是证明证书中列出的用户合作用是证明证书中列出的用户合法拥有证书中列出的公开密钥法拥有证书中列出的公开密钥。3)CA机构的数字签名使得攻击者不能伪造和机构的数字签名使得攻击者不能伪造和篡改证书。篡改证书。4)证书的格式遵循)证书的格式遵循X.509标准。标准。8.1.3 利用利用公开密钥加密公开密钥加密进行常规加密密钥的进行常规加密密钥的分配分配1)用公开加密方法来保护常规加密密钥的传送,)用公开加密方法来保护常规加密密钥的传送,保证了保证了常规加密密钥的安全性常规加密密钥的安全性。2)用常规加密方
20、法来保护传送的数据,由于其)用常规加密方法来保护传送的数据,由于其加密密钥是安全的,因而其传送的数据也是加密密钥是安全的,因而其传送的数据也是安全的,也利用了安全的,也利用了常规加密速度快的特点常规加密速度快的特点。假定通信的双方假定通信的双方A和和B已经通过某种方法得到已经通过某种方法得到对方的公开密钥,用于常规加密密钥分发过程如对方的公开密钥,用于常规加密密钥分发过程如下步骤所示:下步骤所示:(1)AB:EKUbN1|IDa A使用使用B的公开密钥的公开密钥KUb加密一个报文发给加密一个报文发给B,报文内容包括:报文内容包括:一个一个A的标识符的标识符IDa 一个现时值一个现时值N1 (2
21、)BA:EKUaN1|N2 B返回一个用返回一个用A的公开密钥的公开密钥KUa加密的报文给加密的报文给A,报文内容包括报文内容包括A的现时值的现时值N1和和B新产生的现时新产生的现时值值N2。因为只有因为只有B才可以解密才可以解密(1)中的报文,报文中的报文,报文(2)中中的的N1存在使得存在使得A确信对方是确信对方是B。(3)AB:EKUbN2 A返回一个用返回一个用B的公开密钥的公开密钥KUb加加密的报文给密的报文给B,因为只有因为只有A才可以解密才可以解密(2)中的报文,报文中的报文,报文(3)中的中的N2存在使得存在使得B确信对方是确信对方是A。(4)AB:EKUbEKRaKs A产生
22、一个常规加密密钥产生一个常规加密密钥Ks,并用并用A的私有密的私有密钥钥KRa加密,保证只有加密,保证只有A才能发送它,再用才能发送它,再用B的公的公有密钥有密钥KUb加密,保证只有加密,保证只有B才能解读它。才能解读它。(5)B计算计算DKUaDKRbEKUbEKRaKs得到得到Ks,从而获得与从而获得与A共享的常规加密密钥,因而通共享的常规加密密钥,因而通过过Ks可以与之安全通信。可以与之安全通信。其分发过程如图其分发过程如图8.4所示。所示。8.2 密钥的管理密钥的管理1)常规加密体制)常规加密体制通常是设立通常是设立KDC来管理密钥,来管理密钥,但增加了网络成本,降低了网络的性能。但增
23、加了网络成本,降低了网络的性能。2)或者利用公开密钥加密技术来实现对常规密)或者利用公开密钥加密技术来实现对常规密钥的管理钥的管理,这使密钥管理变得简单,同时解,这使密钥管理变得简单,同时解决了对称密钥中的可靠性和鉴别的问题。决了对称密钥中的可靠性和鉴别的问题。3)公开密钥的管理通常采用数字证书)公开密钥的管理通常采用数字证书。密钥的管理涉及密钥的生成、使用、存储、密钥的管理涉及密钥的生成、使用、存储、备份、恢复以及销毁等多个方面,涵盖了密钥备份、恢复以及销毁等多个方面,涵盖了密钥的整个生存周期。的整个生存周期。返回首页返回首页8.2.1 密钥的生成密钥的生成1)算法的安全性依赖于密钥,如果用
24、一个弱的密算法的安全性依赖于密钥,如果用一个弱的密钥产生方法,那么整个系统都将是弱的。钥产生方法,那么整个系统都将是弱的。2)DES有有56位的密钥,正常情况下任何一个位的密钥,正常情况下任何一个56位位的数据串都能成为密钥,所以共有的数据串都能成为密钥,所以共有256种可能的种可能的密钥密钥。3)在某些实现中,仅允许用)在某些实现中,仅允许用ASCII码的密钥,并码的密钥,并强制每一字节的最高位为零。有的实现甚至将强制每一字节的最高位为零。有的实现甚至将大写字母转换成小写字母。大写字母转换成小写字母。4)这些密钥产生程序都使得)这些密钥产生程序都使得DES的攻击难度比正的攻击难度比正常情况下低几千倍。常情况下低几千倍。表表8.1、表、表8.2分别给出了在不同输入限制下可分别给出了在不同输入限制下可能的密钥数,并给出了在每秒一百万次测试的能的密钥数,并给出了在每秒一百万次测试的情况下,寻找所有这些密钥消耗的时间。情况下,寻找所有这些密钥消耗的时间。随着计算能力的加快,现有的安全密码长度,随着计算能力的加快,现有的安全密码长度,也许很快就会变得不安全了。也许很快就会变得不安全了。