第5章密钥分配与密钥管理 现代密码学教案课件.ppt

上传人(卖家):晟晟文业 文档编号:4422785 上传时间:2022-12-08 格式:PPT 页数:136 大小:1.02MB
下载 相关 举报
第5章密钥分配与密钥管理 现代密码学教案课件.ppt_第1页
第1页 / 共136页
第5章密钥分配与密钥管理 现代密码学教案课件.ppt_第2页
第2页 / 共136页
第5章密钥分配与密钥管理 现代密码学教案课件.ppt_第3页
第3页 / 共136页
第5章密钥分配与密钥管理 现代密码学教案课件.ppt_第4页
第4页 / 共136页
第5章密钥分配与密钥管理 现代密码学教案课件.ppt_第5页
第5页 / 共136页
点击查看更多>>
资源描述

1、第第5章章 密钥分配与密钥管理密钥分配与密钥管理5.1 单钥加密体制的密钥分配单钥加密体制的密钥分配5.2 公钥加密体制的密钥管理公钥加密体制的密钥管理5.3 密钥托管密钥托管5.4 随机数的产生随机数的产生5.5 秘密分割秘密分割习题习题两个用户(主机、进程、应用程序)在用单钥密码两个用户(主机、进程、应用程序)在用单钥密码体制进行保密通信时,首先必须有一个共享的秘密体制进行保密通信时,首先必须有一个共享的秘密密钥,而且为防止攻击者得到密钥,还必须时常更密钥,而且为防止攻击者得到密钥,还必须时常更新密钥。因此,密码系统的强度也依赖于密钥分配新密钥。因此,密码系统的强度也依赖于密钥分配技术。技

2、术。5.1 单钥加密体制的密钥分配单钥加密体制的密钥分配 5.1.1 密钥分配的基本方法密钥分配的基本方法两个用户两个用户A和和B获得共享密钥的方法有以下几种:获得共享密钥的方法有以下几种:密钥由密钥由A选取并通过物理手段发送给选取并通过物理手段发送给B。密钥由第三方选取并通过物理手段发送给密钥由第三方选取并通过物理手段发送给A和和B。如果如果A、B事先已有一密钥,则其中一方选取新事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方。密钥后,用已有的密钥加密新密钥并发送给另一方。如果如果A和和B与第三方与第三方C分别有一保密信道,则分别有一保密信道,则C为为A、B选取密

3、钥后,分别在两个保密信道上发送给选取密钥后,分别在两个保密信道上发送给A、B。第第4种方法比较常用,其中的第三方通常是一个负责种方法比较常用,其中的第三方通常是一个负责为用户分配密钥的密钥分配中心。这时每一用户必为用户分配密钥的密钥分配中心。这时每一用户必须和密钥分配中心有一个共享密钥,称为主密钥。须和密钥分配中心有一个共享密钥,称为主密钥。通过主密钥分配给一对用户的密钥称为会话密钥,通过主密钥分配给一对用户的密钥称为会话密钥,用于这一对用户之间的保密通信。通信完成后,会用于这一对用户之间的保密通信。通信完成后,会话密钥即被销毁。如上所述,如果用户数为话密钥即被销毁。如上所述,如果用户数为n,

4、则会则会话密钥数为话密钥数为n(n-1)/2。但主密钥数却只需但主密钥数却只需n个,所以主个,所以主密钥可通过物理手段发送。密钥可通过物理手段发送。图图5.1是密钥分配的一个实例。假定两个用户是密钥分配的一个实例。假定两个用户A、B分分别与密钥分配中心别与密钥分配中心KDC(key distribution center)有一有一个共享的主密钥个共享的主密钥KA和和KB,A希望与希望与B建立一个共享的建立一个共享的一次性会话密钥,可通过以下几步来完成:一次性会话密钥,可通过以下几步来完成:5.1.2 一个实例一个实例图图5.1 密钥分配实例密钥分配实例 A向向KDC发出会话密钥请求。表示请求的

5、消息由发出会话密钥请求。表示请求的消息由两个数据项组成,第两个数据项组成,第1项是项是A和和B的身份,第的身份,第2项是这项是这次业务的惟一识别符次业务的惟一识别符N1,称称N1为一次性随机数,可为一次性随机数,可以是时戳、计数器或随机数。每次请求所用的以是时戳、计数器或随机数。每次请求所用的N1都都应不同,且为防止假冒,应使敌手对应不同,且为防止假冒,应使敌手对N1难以猜测。难以猜测。因此用随机数作为这个识别符最为合适。因此用随机数作为这个识别符最为合适。KDC为为A的请求发出应答。应答是由的请求发出应答。应答是由KA加密的消加密的消息,因此只有息,因此只有A才能成功地对这一消息解密,并且才

6、能成功地对这一消息解密,并且A可相信这一消息的确是由可相信这一消息的确是由KDC 发出的。消息中包括发出的。消息中包括A希望得到的两项内容:希望得到的两项内容:一次性会话密钥一次性会话密钥KS;A在中发出的请求,包括一次性随机数在中发出的请求,包括一次性随机数N1,目的目的是使是使A将收到的应答与发出的请求相比较,看是否匹将收到的应答与发出的请求相比较,看是否匹配。配。因此因此A能验证自己发出的请求在被能验证自己发出的请求在被KDC收到之前,是收到之前,是否被他人篡改。而且否被他人篡改。而且A还能根据一次性随机数相信自还能根据一次性随机数相信自己收到的应答不是重放的过去的应答。己收到的应答不是

7、重放的过去的应答。此外,消息中还有此外,消息中还有B希望得到的两项内容:希望得到的两项内容:一次性会话密钥一次性会话密钥KS;A的身份(例如的身份(例如A的网络地址)的网络地址)IDA。这两项由这两项由KB加密,将由加密,将由A转发给转发给B,以建立以建立A、B之之间的连接并用于向间的连接并用于向B证明证明A的身份。的身份。A存储会话密钥,并向存储会话密钥,并向B转发转发EKBKSIDA。因为转因为转发的是由发的是由KB加密后的密文,所以转发过程不会被窃加密后的密文,所以转发过程不会被窃听。听。B收到后,可得会话密钥收到后,可得会话密钥KS,并从并从IDA可知另一可知另一方是方是A,而且还从而

8、且还从EKB知道知道KS的确来自的确来自KDC。这一步完成后,会话密钥就安全地分配给了这一步完成后,会话密钥就安全地分配给了A、B。然而还能继续以下两步工作:然而还能继续以下两步工作:B用会话密钥用会话密钥KS加密另一个一次性随机数加密另一个一次性随机数N2,并并将加密结果发送给将加密结果发送给A。A以以f(N2)作为对作为对B的应答,其中的应答,其中f是对是对N2进行某种进行某种变换(例如加变换(例如加1)的函数,并将应答用会话密钥加密)的函数,并将应答用会话密钥加密后发送给后发送给B。这两步可使这两步可使B相信第步收到的消息不是一个重放。相信第步收到的消息不是一个重放。注意:注意:第步就已

9、完成密钥分配,第、两步结第步就已完成密钥分配,第、两步结合第步执行的是认证功能。合第步执行的是认证功能。网络中如果用户数目非常多而且分布的地域非常广,网络中如果用户数目非常多而且分布的地域非常广,一个一个KDC就无法承担为用户分配密钥的重任。问题就无法承担为用户分配密钥的重任。问题的解决方法是使用多个的解决方法是使用多个KDC的分层结构。例如,在的分层结构。例如,在每个小范围(如一个每个小范围(如一个LAN或一个建筑物)内,都建或一个建筑物)内,都建立一个本地立一个本地KDC。同一范围的用户在进行保密通信同一范围的用户在进行保密通信时,由本地时,由本地KDC为他们分配密钥。如果两个不同范为他们

10、分配密钥。如果两个不同范围的用户想获得共享密钥,则可通过各自的本地围的用户想获得共享密钥,则可通过各自的本地KDC,而两个本地而两个本地KDC的沟通又需经过一个全局的沟通又需经过一个全局KDC。这样就建立了两层这样就建立了两层KDC。类似地,根据网络类似地,根据网络中用户的数目及分布的地域,可建立中用户的数目及分布的地域,可建立3层或多层层或多层KDC。5.1.3 密钥的分层控制密钥的分层控制分层结构可减少主密钥的分布,因为大多数主密钥分层结构可减少主密钥的分布,因为大多数主密钥是在本地是在本地KDC和本地用户之间共享。再者,分层结和本地用户之间共享。再者,分层结构还可将虚假构还可将虚假KDC

11、的危害限制到一个局部区域。的危害限制到一个局部区域。会话密钥更换得越频繁,系统的安全性就越高。因会话密钥更换得越频繁,系统的安全性就越高。因为敌手即使获得一个会话密钥,也只能获得很少的为敌手即使获得一个会话密钥,也只能获得很少的密文。但另一方面,会话密钥更换得太频繁,又将密文。但另一方面,会话密钥更换得太频繁,又将延迟用户之间的交换,同时还造成网络负担。所以延迟用户之间的交换,同时还造成网络负担。所以在决定会话密钥的有效期时,应权衡矛盾的两个方在决定会话密钥的有效期时,应权衡矛盾的两个方面。面。5.1.4 会话密钥的有效期会话密钥的有效期对面向连接的协议,在连接未建立前或断开时,会对面向连接的

12、协议,在连接未建立前或断开时,会话密钥的有效期可以很长。而每次建立连接时,都话密钥的有效期可以很长。而每次建立连接时,都应使用新的会话密钥。如果逻辑连接的时间很长,应使用新的会话密钥。如果逻辑连接的时间很长,则应定期更换会话密钥。则应定期更换会话密钥。无连接协议(如面向业务的协议),无法明确地决无连接协议(如面向业务的协议),无法明确地决定更换密钥的频率。为安全起见,用户每进行一次定更换密钥的频率。为安全起见,用户每进行一次交换,都用新的会话密钥。然而这又失去了无连接交换,都用新的会话密钥。然而这又失去了无连接协议主要的优势,即对每个业务都有最少的费用和协议主要的优势,即对每个业务都有最少的费

13、用和最短的延迟。比较好的方案是在某一固定周期内或最短的延迟。比较好的方案是在某一固定周期内或对一定数目的业务使用同一会话密钥。对一定数目的业务使用同一会话密钥。用密钥分配中心为用户分配密钥时,要求所有用户用密钥分配中心为用户分配密钥时,要求所有用户都信任都信任KDC,同时还要求对同时还要求对KDC加以保护。如果密加以保护。如果密钥的分配是无中心的,则不必有以上两个要求。然钥的分配是无中心的,则不必有以上两个要求。然而如果每个用户都能和自己想与之建立联系的另一而如果每个用户都能和自己想与之建立联系的另一用户安全地通信,则对有用户安全地通信,则对有n个用户的网络来说,主密个用户的网络来说,主密钥应

14、多达钥应多达n(n-1)/2个。当个。当n很大时,这种方案无实用价很大时,这种方案无实用价值,但在整个网络的局部范围却非常有用。值,但在整个网络的局部范围却非常有用。5.1.5 无中心的密钥控制无中心的密钥控制 无中心的密钥分配时,两个用户无中心的密钥分配时,两个用户A和和B建立会话密钥建立会话密钥需经过以下需经过以下3步,见图步,见图5.2:A向向B发出建立会话密钥的请求和一个一次性随机发出建立会话密钥的请求和一个一次性随机数数N1。B用与用与A共享的主密钥共享的主密钥MKm对应答的消息加密,并对应答的消息加密,并发送给发送给A。应答的消息中有应答的消息中有B选取的会话密钥、选取的会话密钥、

15、B的的身份、身份、f(N1)和另一个一次性随机数和另一个一次性随机数N2。A使用新建立的会话密钥使用新建立的会话密钥KS对对f(N2)加密后返回给加密后返回给B。图图5.2 无中心的密钥分配无中心的密钥分配密钥可根据其不同用途分为会话密钥和主密钥两种密钥可根据其不同用途分为会话密钥和主密钥两种类型,会话密钥又称为数据加密密钥,主密钥又称类型,会话密钥又称为数据加密密钥,主密钥又称为密钥加密密钥。由于密钥的用途不同,因此对密为密钥加密密钥。由于密钥的用途不同,因此对密钥的使用方式也希望加以某种控制。钥的使用方式也希望加以某种控制。如果主密钥泄露了,则相应的会话密钥也将泄露,如果主密钥泄露了,则相

16、应的会话密钥也将泄露,因此主密钥的安全性应高于会话密钥的安全性。一因此主密钥的安全性应高于会话密钥的安全性。一般在密钥分配中心以及终端系统中主密钥都是物理般在密钥分配中心以及终端系统中主密钥都是物理上安全的,如果把主密钥当作会话密钥注入加密设上安全的,如果把主密钥当作会话密钥注入加密设备,那么其安全性则降低。备,那么其安全性则降低。5.1.6 密钥的控制使用密钥的控制使用单钥体制中的密钥控制技术有以下两种。单钥体制中的密钥控制技术有以下两种。(1)密钥标签密钥标签用于用于DES的密钥控制,将的密钥控制,将DES的的64比特密钥中的比特密钥中的8个个校验位作为控制使用这一密钥的标签。标签中各比校

17、验位作为控制使用这一密钥的标签。标签中各比特的含义为:特的含义为:一个比特表示这个密钥是会话密钥还是主密钥;一个比特表示这个密钥是会话密钥还是主密钥;一个比特表示这个密钥是否能用于加密;一个比特表示这个密钥是否能用于加密;一个比特表示这个密钥是否能用于解密;一个比特表示这个密钥是否能用于解密;其他比特无特定含义,留待以后使用。其他比特无特定含义,留待以后使用。由于标签是在密钥之中,在分配密钥时,标签与密由于标签是在密钥之中,在分配密钥时,标签与密钥一起被加密,因此可对标签起到保护作用。本方钥一起被加密,因此可对标签起到保护作用。本方案的缺点:案的缺点:第一,标签的长度被限制为第一,标签的长度被

18、限制为8比特,限制比特,限制了它的灵活性和功能;第二,由于标签是以密文形了它的灵活性和功能;第二,由于标签是以密文形式传送,只有解密后才能使用,因而限制了对密钥式传送,只有解密后才能使用,因而限制了对密钥使用的控制方式。使用的控制方式。(2)控制矢量控制矢量这一方案比上一方案灵活。方案中对每一会话密钥这一方案比上一方案灵活。方案中对每一会话密钥都指定了一个相应的控制矢量,控制矢量分为若干都指定了一个相应的控制矢量,控制矢量分为若干字段,分别用于说明在不同情况下密钥是被允许使字段,分别用于说明在不同情况下密钥是被允许使用还是不被允许使用,且控制矢量的长度可变。控用还是不被允许使用,且控制矢量的长

19、度可变。控制矢量是在制矢量是在KDC产生密钥时加在密钥之中的,过程产生密钥时加在密钥之中的,过程由图由图5.3(a)所示。所示。首先由一杂凑函数将控制矢量压缩到与加密密钥等首先由一杂凑函数将控制矢量压缩到与加密密钥等长,然后与主密钥异或后作为加密会话密钥的密钥,长,然后与主密钥异或后作为加密会话密钥的密钥,即即其中其中CV是控制矢量,是控制矢量,h是杂凑函数,是杂凑函数,Km是主密钥,是主密钥,KS是会话密钥。会话密钥的恢复过程如图是会话密钥。会话密钥的恢复过程如图5.3(b)所示,所示,表示为表示为:minmoutKHSHh CVKKHKEKmmsKHKHSKDEK图图5.3 控制矢量的使用

20、方式控制矢量的使用方式KDC在向用户发送会话密钥时,同时以明文形式发在向用户发送会话密钥时,同时以明文形式发送控制矢量。用户只有使用与送控制矢量。用户只有使用与KDC共享的主密钥以共享的主密钥以及及KDC发送来的控制矢量才能恢复会话密钥,因此发送来的控制矢量才能恢复会话密钥,因此还必须保留会话密钥和它的控制矢量之间的对应关还必须保留会话密钥和它的控制矢量之间的对应关系。系。与使用与使用8比特的密钥标签相比,使用控制矢量有两个比特的密钥标签相比,使用控制矢量有两个优点优点:第一,控制矢量的长度没有限制,因此可对密第一,控制矢量的长度没有限制,因此可对密钥的使用施加任意复杂的控制钥的使用施加任意复

21、杂的控制;第二,控制矢量始终第二,控制矢量始终是以明文形式存在,因此可在任一阶段对密钥的使是以明文形式存在,因此可在任一阶段对密钥的使用施加控制。用施加控制。前一节介绍了单钥密码体制中的密钥分配问题,而前一节介绍了单钥密码体制中的密钥分配问题,而公钥加密的一个主要用途是分配单钥密码体制使用公钥加密的一个主要用途是分配单钥密码体制使用的密钥。本节介绍两方面内容:的密钥。本节介绍两方面内容:一是公钥密码体制一是公钥密码体制所用的公开密钥的分配,二是如何用公钥体制来分所用的公开密钥的分配,二是如何用公钥体制来分配单钥密码体制所需的密钥。配单钥密码体制所需的密钥。5.2 公钥加密体制的密钥管理公钥加密

22、体制的密钥管理本小节讲述公钥的分配方法。本小节讲述公钥的分配方法。1.公开发布公开发布公开发布指用户将自己的公钥发给每一其他用户,公开发布指用户将自己的公钥发给每一其他用户,或向某一团体广播。例如或向某一团体广播。例如PGP(pretty good privacy)中采用了中采用了RSA算法,它的很多用户都是将自己的公算法,它的很多用户都是将自己的公钥附加到消息上,然后发送到公开(公共)区域,钥附加到消息上,然后发送到公开(公共)区域,如因特网邮件列表。如因特网邮件列表。5.2.1 公钥的分配公钥的分配这种方法虽然简单,但有一个非常大的缺点,即任这种方法虽然简单,但有一个非常大的缺点,即任何人

23、都可伪造这种公开发布。如果某个用户假装是何人都可伪造这种公开发布。如果某个用户假装是用户用户A并以并以A的名义向另一用户发送或广播自己的公的名义向另一用户发送或广播自己的公开钥,则在开钥,则在A发现假冒者以前,这一假冒者可解读所发现假冒者以前,这一假冒者可解读所有意欲发向有意欲发向A的加密消息,而且假冒者还能用伪造的的加密消息,而且假冒者还能用伪造的密钥获得认证。密钥获得认证。2.公用目录表公用目录表公用目录表指一个公用的公钥动态目录表,公用目公用目录表指一个公用的公钥动态目录表,公用目录表的建立、维护以及公钥的分布由某个可信的实录表的建立、维护以及公钥的分布由某个可信的实体或组织承担,称这个

24、实体或组织为公用目录的管体或组织承担,称这个实体或组织为公用目录的管理员。与第理员。与第1种分配方法相比,这种方法的安全性更种分配方法相比,这种方法的安全性更高。该方案有以下一些组成部分:高。该方案有以下一些组成部分:管理员为每个用户都在目录表中建立一个目录,管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项目录中有两个数据项:一是用户名,二是用户的公开一是用户名,二是用户的公开钥。钥。每一用户都亲自或以某种安全的认证通信在管理每一用户都亲自或以某种安全的认证通信在管理者那里为自己的公开钥注册。者那里为自己的公开钥注册。用户如果由于自己的公开钥用过的次数太多或由用户如果由于自己的公开

25、钥用过的次数太多或由于与公开钥相关的秘密钥已被泄露,则可随时用新于与公开钥相关的秘密钥已被泄露,则可随时用新密钥替换现有的密钥。密钥替换现有的密钥。管理员定期公布或定期更新目录表。例如,像电管理员定期公布或定期更新目录表。例如,像电话号码本一样公布目录表或在发行量很大的报纸上话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新。公布目录表的更新。用户可通过电子手段访问目录表,这时从管理员用户可通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信。到用户必须有安全的认证通信。本方案的安全性虽然高于公开发布的安全性,但仍本方案的安全性虽然高于公开发布的安全性,但仍易受攻击。如果敌

26、手成功地获取管理员的秘密钥,易受攻击。如果敌手成功地获取管理员的秘密钥,就可伪造一个公钥目录表,以后既可假冒任一用户就可伪造一个公钥目录表,以后既可假冒任一用户又能监听发往任一用户的消息。而且公用目录表还又能监听发往任一用户的消息。而且公用目录表还易受到敌手的窜扰。易受到敌手的窜扰。3.公钥管理机构公钥管理机构如果在公钥目录表中对公钥的分配施加更严密的控如果在公钥目录表中对公钥的分配施加更严密的控制,安全性将会更强。与公用目录表类似,这里假制,安全性将会更强。与公用目录表类似,这里假定有一个公钥管理机构来为各用户建立、维护动态定有一个公钥管理机构来为各用户建立、维护动态的公钥目录,但同时对系统

27、提出以下要求,即:每的公钥目录,但同时对系统提出以下要求,即:每个用户都可靠地知道管理机构的公开钥,而只有管个用户都可靠地知道管理机构的公开钥,而只有管理机构自己知道相应的秘密钥。公开钥的分配步骤理机构自己知道相应的秘密钥。公开钥的分配步骤如下,如图如下,如图5.4:图图5.4 公钥管理机构分配公钥公钥管理机构分配公钥 用户用户A向公钥管理机构发送一个带时戳的消息,向公钥管理机构发送一个带时戳的消息,消息中有获取用户消息中有获取用户B的当前公钥的请求。的当前公钥的请求。管理机构对管理机构对A的请求作出应答,应答由一个消息的请求作出应答,应答由一个消息表示,该消息由管理机构用自己的秘密钥表示,该

28、消息由管理机构用自己的秘密钥SKAU加密,加密,因此因此A能用管理机构的公开钥解密,并使能用管理机构的公开钥解密,并使A相信这个相信这个消息的确是来源于管理机构。消息的确是来源于管理机构。应答的消息中有以下几项:应答的消息中有以下几项:B的公钥的公钥PKB,A可用之对将发往可用之对将发往B的消息加密;的消息加密;A的请求,用于的请求,用于A验证收到的应答的确是对相应请求验证收到的应答的确是对相应请求的应答,且还能验证自己最初发出的请求在被管理的应答,且还能验证自己最初发出的请求在被管理机构收到以前是否被篡改;机构收到以前是否被篡改;最初的时戳,以使最初的时戳,以使A相信管理机构发来的消息不是相

29、信管理机构发来的消息不是一个旧消息,因此消息中的公开钥的确是一个旧消息,因此消息中的公开钥的确是B当前的公当前的公钥。钥。A用用B的公开钥对一个消息加密后发往的公开钥对一个消息加密后发往B,这个消这个消息有两个数据项息有两个数据项:一是一是A的身份的身份IDA,二是一个一次二是一个一次性随机数性随机数N1,用于惟一地标识这次业务。用于惟一地标识这次业务。B以相同方式从管理机构获取以相同方式从管理机构获取A的公开钥(与步骤的公开钥(与步骤、类似)。这时,、类似)。这时,A和和B都已安全地得到了对方都已安全地得到了对方的公钥,所以可进行保密通信。然而,他们也许还的公钥,所以可进行保密通信。然而,他

30、们也许还希望有以下两步,以认证对方。希望有以下两步,以认证对方。B用用PKA对一个消息加密后发往对一个消息加密后发往A,该消息的数据该消息的数据项有项有A的一次性随机数的一次性随机数N1和和B产生的一个一次性随机产生的一个一次性随机数数N2。因为只有因为只有B能解密的消息,所以能解密的消息,所以A收到的消收到的消息中的息中的N1可使其相信通信的另一方的确是可使其相信通信的另一方的确是B。A用用B的公开钥对的公开钥对N2加密后返回给加密后返回给B,可使可使B相信相信通信的另一方的确是通信的另一方的确是A。以上过程共发送了以上过程共发送了7个消息,其中前个消息,其中前4个消息用于获个消息用于获取对

31、方的公开钥。用户得到对方的公开钥后保存起取对方的公开钥。用户得到对方的公开钥后保存起来可供以后使用,这样就不必再发送前来可供以后使用,这样就不必再发送前4个消息了,个消息了,然而还必须定期地通过密钥管理中心获取通信对方然而还必须定期地通过密钥管理中心获取通信对方的公开钥,以免对方的公开钥更新后无法保证当前的公开钥,以免对方的公开钥更新后无法保证当前的通信。的通信。4.公钥证书公钥证书上述公钥管理机构分配公开钥时也有缺点,由于每上述公钥管理机构分配公开钥时也有缺点,由于每一用户要想和他人联系都需求助于管理机构,所以一用户要想和他人联系都需求助于管理机构,所以管理机构有可能成为系统的瓶颈,而且由管

32、理机构管理机构有可能成为系统的瓶颈,而且由管理机构维护的公钥目录表也易被敌手窜扰。维护的公钥目录表也易被敌手窜扰。分配公钥的另一方法是公钥证书,用户通过公钥证分配公钥的另一方法是公钥证书,用户通过公钥证书来互相交换自己的公钥而无须与公钥管理机构联书来互相交换自己的公钥而无须与公钥管理机构联系。公钥证书由证书管理机构系。公钥证书由证书管理机构CA(certificate authority)为用户建立,其中的数据项有与该用户的为用户建立,其中的数据项有与该用户的秘密钥相匹配的公开钥及用户的身份和时戳等,所秘密钥相匹配的公开钥及用户的身份和时戳等,所有的数据项经有的数据项经CA用自己的秘密钥签字后

33、就形成证书,用自己的秘密钥签字后就形成证书,即证书的形式为即证书的形式为CA=ESKCAT,IDA,PKA,其中其中IDA是是用户用户A的身份,的身份,PKA是是A的公钥,的公钥,T是当前时戳,是当前时戳,SKCA是是CA的秘密钥,的秘密钥,CA即是为用户即是为用户A产生的证书。产生的证书。产生过程如图产生过程如图5.5所示。用户可将自己的公开钥通过所示。用户可将自己的公开钥通过公钥证书发给另一用户,接收方可用公钥证书发给另一用户,接收方可用CA的公钥的公钥PKCA对证书加以验证,即对证书加以验证,即DPKCACA=DPKCAESKCAT,IDA,PKA=(T,IDA,PKA)图图5.5 证书

34、的产生过程证书的产生过程因为只有用因为只有用CA的公钥才能解读证书,接收方从而验的公钥才能解读证书,接收方从而验证了证书的确是由证了证书的确是由CA发放的,且也获得了发送方的发放的,且也获得了发送方的身份身份IDA和公开钥和公开钥PKA。时戳时戳T为接收方保证了收到为接收方保证了收到的证书的新鲜性,用以防止发送方或敌方重放一旧的证书的新鲜性,用以防止发送方或敌方重放一旧证书。因此时戳可被当作截止日期,证书如果过旧,证书。因此时戳可被当作截止日期,证书如果过旧,则被吊销。则被吊销。公开钥分配完成后,用户就可用公钥加密体制进行公开钥分配完成后,用户就可用公钥加密体制进行保密通信。然而由于公钥加密的

35、速度过慢,以此进保密通信。然而由于公钥加密的速度过慢,以此进行保密通信不太合适,但用于分配单钥密码体制的行保密通信不太合适,但用于分配单钥密码体制的密钥却非常合适。密钥却非常合适。5.2.2 用公钥加密分配单钥密码体制的密钥用公钥加密分配单钥密码体制的密钥1.简单分配简单分配图图5.6表示简单使用公钥加密算法建立会话密钥的过表示简单使用公钥加密算法建立会话密钥的过程,如果程,如果A希望与希望与B通信,可通过以下几步建立会话通信,可通过以下几步建立会话密钥:密钥:A产生自己的一对密钥产生自己的一对密钥PKA,SKA,并向并向B发送发送PKA|IDA,其中其中IDA表示表示A的身份。的身份。B产生

36、会话密钥产生会话密钥KS,并用并用A的公开钥的公开钥PKA对对KS加密加密后发往后发往A。A由由DSKAEPKAKS恢复会话密钥。因为只有恢复会话密钥。因为只有A能能解读解读KS,所以仅所以仅A、B知道这一共享密钥。知道这一共享密钥。A销毁销毁PKA,SKA,B销毁销毁PKA。图图5.6 简单使用公钥加密算法建立会话密钥简单使用公钥加密算法建立会话密钥A、B现在可以用单钥加密算法以现在可以用单钥加密算法以KS作为会话密钥进作为会话密钥进行保密通信,通信完成后,又都将行保密通信,通信完成后,又都将KS销毁。这种分销毁。这种分配法尽管简单,但却由于配法尽管简单,但却由于A、B双方在通信前和完成双方

37、在通信前和完成通信后,都未存储密钥,因此,密钥泄露的危险性通信后,都未存储密钥,因此,密钥泄露的危险性为最小,且可防止双方的通信被敌手监听。为最小,且可防止双方的通信被敌手监听。这一协议易受到主动攻击,如果敌手这一协议易受到主动攻击,如果敌手E已接入已接入A、B双方的通信信道,就可通过以下不被察觉的方式截双方的通信信道,就可通过以下不被察觉的方式截获双方的通信:获双方的通信:与上面的步骤相同。与上面的步骤相同。E截获截获A的发送后,建立自己的一对密钥的发送后,建立自己的一对密钥PKE,SKE,并将并将PKEIDA发送给发送给B。B产生会话密钥产生会话密钥KS后,将后,将EPKEKS发送出去。发

38、送出去。E截获截获B发送的消息后,由发送的消息后,由DSKEEPKEKS解读解读KS。E再将再将EPKAKS发往发往A。现在现在A和和B知道知道KS,但并未意识到但并未意识到KS已被已被E截获。截获。A、B在用在用KS通信时,通信时,E就可以实施监听。就可以实施监听。2.具有保密性和认证性的密钥分配具有保密性和认证性的密钥分配图图5.7所示的密钥分配过程具有保密性和认证性,因所示的密钥分配过程具有保密性和认证性,因此既可防止被动攻击,又可防止主动攻击。此既可防止被动攻击,又可防止主动攻击。图图5.7 具有保密性和认证性的密钥分配具有保密性和认证性的密钥分配假定假定A、B双方已完成公钥交换,可按

39、以下步骤建立双方已完成公钥交换,可按以下步骤建立共享会话密钥:共享会话密钥:A用用B的公开钥加密的公开钥加密A的身份的身份IDA和一个一次性随机和一个一次性随机数数N1后发往后发往B,其中其中N1用于惟一地标识这一业务。用于惟一地标识这一业务。B用用A的公开钥的公开钥PKA加密加密A的一次性随机数的一次性随机数N1和和B新新产生的一次性随机数产生的一次性随机数N2后发往后发往A。因为只有因为只有B能解读能解读中的加密,所以中的加密,所以B发来的消息中发来的消息中N1的存在可使的存在可使A相相信对方的确是信对方的确是B。A用用B的公钥的公钥PKB对对N2加密后返回给加密后返回给B,以使以使B相信

40、相信对方的确是对方的确是A。A选一会话密钥选一会话密钥KS,然后将然后将M=EPKBESKAKS发发给给B,其中用其中用B的公开钥加密是为保证只有的公开钥加密是为保证只有B能解读能解读加密结果,用加密结果,用A的秘密钥加密是保证该加密结果只有的秘密钥加密是保证该加密结果只有A能发送。能发送。B以以DPKADSKBM恢复会话密钥。恢复会话密钥。Diffie-Hellman密钥交换是密钥交换是W.Diffie和和M.Hellman于于1976年提出的第一个公钥密码算法,已在很多商业年提出的第一个公钥密码算法,已在很多商业产品中得以应用。算法的惟一目的是使得两个用户产品中得以应用。算法的惟一目的是使

41、得两个用户能够安全地交换密钥,得到一个共享的会话密钥,能够安全地交换密钥,得到一个共享的会话密钥,算法本身不能用于加、解密。算法本身不能用于加、解密。算法的安全性基于求离散对数的困难性。算法的安全性基于求离散对数的困难性。5.2.3 Diffie-Hellman密钥交换密钥交换图图5.8表示表示Diffie-Hellman密钥交换过程,其中密钥交换过程,其中p是大是大素数,素数,a是是p的本原根,的本原根,p和和a作为公开的全程元素。作为公开的全程元素。用户用户A选择一保密的随机整数选择一保密的随机整数XA,并将并将YA=aXA mod p发送给用户发送给用户B。类似地,用户类似地,用户B选择

42、一保密的随机整选择一保密的随机整数数XB,并将并将YB=aXB mod p发送给用户发送给用户A。然后然后A和和B分别由分别由K=YXAB mod p和和K=YXBA mod p计算出的计算出的就是共享密钥,这是因为就是共享密钥,这是因为YXAB mod p=(aXB mod p)XA mod p=(aXB)XA mod p =aXBXA mod p=(aXA)XB mod p =(aXA mod p)XB mod p=YXBA mod p图图5.8 Diffie-Hellman密钥交换密钥交换因因XA,XB是保密的,敌手只能得到是保密的,敌手只能得到p,a,YA,YB,要想得到要想得到K,则

43、必须得到则必须得到XA,XB中的一个,这意味中的一个,这意味着需要求离散对数。因此敌手求着需要求离散对数。因此敌手求K是不可行的。是不可行的。例如:例如:p=97,a=5,A和和B分别秘密选分别秘密选XA=36,XB=58,并分别计算并分别计算YA=536 mod 97=50,YB=558 mod 97=44。在交换在交换YA,YB后,分别计算后,分别计算K=YXAB mod 97=4436 mod 97=75,K=YXBA mod 97=5058 mod 97=75密钥托管也称为托管加密,其目的是保证对个人没密钥托管也称为托管加密,其目的是保证对个人没有绝对的隐私和绝对不可跟踪的匿名性,即在

44、强加有绝对的隐私和绝对不可跟踪的匿名性,即在强加密中结合对突发事件的解密能力。其实现手段是把密中结合对突发事件的解密能力。其实现手段是把已加密的数据和数据恢复密钥联系起来,数据恢复已加密的数据和数据恢复密钥联系起来,数据恢复密钥不必是直接解密的密钥,但由它可得解密密钥。密钥不必是直接解密的密钥,但由它可得解密密钥。数据恢复密钥由所信任的委托人持有,委托人可以数据恢复密钥由所信任的委托人持有,委托人可以是政府机构、法院或有契约的私人组织。一个密钥是政府机构、法院或有契约的私人组织。一个密钥可能是在数个这样的委托人中分拆。调查机构或情可能是在数个这样的委托人中分拆。调查机构或情报机构通过适当的程序

45、,如获得法院证书,从委托报机构通过适当的程序,如获得法院证书,从委托人处获得数据恢复密钥。人处获得数据恢复密钥。5.3 密钥托管密钥托管 密钥托管加密技术提供了一个备用的解密途径,政密钥托管加密技术提供了一个备用的解密途径,政府机构在需要时,可通过密钥托管技术解密用户的府机构在需要时,可通过密钥托管技术解密用户的信息,而用户的密钥若丢失或损坏,也可通过密钥信息,而用户的密钥若丢失或损坏,也可通过密钥托管技术恢复自己的密钥。所以这个备用的手段不托管技术恢复自己的密钥。所以这个备用的手段不仅对政府有用,而且对用户自己也有用。仅对政府有用,而且对用户自己也有用。1993年年4月,美国政府为了满足其电

46、信安全、公众安月,美国政府为了满足其电信安全、公众安全和国家安全,提出了托管加密标准全和国家安全,提出了托管加密标准EES(escrowed encryption standard),该标准所使用的托管加密技该标准所使用的托管加密技术不仅提供了强加密功能,同时也为政府机构提供术不仅提供了强加密功能,同时也为政府机构提供了实施法律授权下的监听功能。这一技术是通过一了实施法律授权下的监听功能。这一技术是通过一个防窜扰的芯片个防窜扰的芯片(称为称为Clipper芯片芯片)来实现的。来实现的。5.3.1 美国托管加密标准简介美国托管加密标准简介它有两个特性:它有两个特性:一个加密算法一个加密算法Ski

47、pjack算法,该算法是由算法,该算法是由NSA设计的,用于加(解)密用户间通信的消息。设计的,用于加(解)密用户间通信的消息。该算法已于该算法已于1998年年3月公布。月公布。为法律实施提供为法律实施提供“后门后门”的部分的部分法律实施存法律实施存取域取域LEAF(law enforcement access field)。通过这个通过这个域,法律实施部门可在法律授权下,实现对用户通域,法律实施部门可在法律授权下,实现对用户通信的解密。信的解密。1.Skipjack算法算法Skipjack算法是一个单钥分组加密算法,密钥长算法是一个单钥分组加密算法,密钥长80比比特,输入和输出的分组长均为特

48、,输入和输出的分组长均为64比特。可使用比特。可使用4种工种工作模式:电码本模式,密码分组链接模式,作模式:电码本模式,密码分组链接模式,64比特比特输出反馈模式,输出反馈模式,1、8、16、32或或64比特密码反馈模比特密码反馈模式。式。算法的内部细节在向公众公开以前,政府邀请了一算法的内部细节在向公众公开以前,政府邀请了一些局外人士对算法作出评价,并公布了评价结果。些局外人士对算法作出评价,并公布了评价结果。评价结果认为算法的强度高于评价结果认为算法的强度高于DES,并且未发现陷门。并且未发现陷门。Skipjack的密钥长是的密钥长是80比特,比比特,比DES的密钥长的密钥长24比特,比特

49、,因此通过穷搜索的蛮力攻击比因此通过穷搜索的蛮力攻击比DES多多224倍的搜索。倍的搜索。所以若假定处理能力的费用每所以若假定处理能力的费用每18个月减少一半,那个月减少一半,那么破译它所需的代价要么破译它所需的代价要1.524=36年才能减少到今天年才能减少到今天破译破译DES的代价。的代价。2.托管加密芯片托管加密芯片Skipjack算法以及在法律授权下对加密结果的存取是算法以及在法律授权下对加密结果的存取是通过防窜扰的托管加密芯片来实现的。芯片装有以通过防窜扰的托管加密芯片来实现的。芯片装有以下部分:下部分:Skipjack算法;算法;80比特的族密钥比特的族密钥KF(family ke

50、y),同一批芯片的族密同一批芯片的族密钥都相同钥都相同;芯片单元识别符芯片单元识别符UID(unique identifier);80比特的芯片单元密钥比特的芯片单元密钥KU(unique key),它是两个它是两个80比特的芯片单元密钥分量比特的芯片单元密钥分量(KU1,KU2)的异或的异或;控制软件。控制软件。这些部分被固化在芯片上。编程过程是在由两个托这些部分被固化在芯片上。编程过程是在由两个托管机构的代表监控下的安全工厂中进行的,一段时管机构的代表监控下的安全工厂中进行的,一段时间一批。编程过程如图间一批。编程过程如图5.9所示。所示。图图5.9 托管加密芯片的编程过程托管加密芯片的编

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第5章密钥分配与密钥管理 现代密码学教案课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|