第5章 密钥分配与密钥管理.ppt

上传人:s****8 文档编号:68146652 上传时间:2022-12-27 格式:PPT 页数:124 大小:1.91MB
返回 下载 相关 举报
第5章 密钥分配与密钥管理.ppt_第1页
第1页 / 共124页
第5章 密钥分配与密钥管理.ppt_第2页
第2页 / 共124页
点击查看更多>>
资源描述

《第5章 密钥分配与密钥管理.ppt》由会员分享,可在线阅读,更多相关《第5章 密钥分配与密钥管理.ppt(124页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第第第5 5章章章章 密钥分配与密钥管理密钥分配与密钥管理密钥分配与密钥管理密钥分配与密钥管理郝艳华郝艳华漳州师范学院计算机科学与工程系漳州师范学院计算机科学与工程系12/27/202215.1 单钥加密体制的密钥分配单钥加密体制的密钥分配5.2 公钥加密体制的密钥管理公钥加密体制的密钥管理5.3 密钥托管密钥托管5.4 随机数的产生随机数的产生5.5 秘密分割秘密分割12/27/202225.1 单钥加密体制的密钥分配单钥加密体制的密钥分配5.1.1 密钥分配的基本方法密钥分配的基本方法两个用户(主机、进程、应用程序)在用单两个用户(主机、进程、应用程序)在用单钥密码体制进行保密通信时,首

2、先必须有一钥密码体制进行保密通信时,首先必须有一个共享的秘密密钥,而且为防止攻击者得到个共享的秘密密钥,而且为防止攻击者得到密钥,还必须时常更新密钥。因此,密钥,还必须时常更新密钥。因此,密码系密码系统的强度也依赖于密钥分配技术。统的强度也依赖于密钥分配技术。12/27/20223两个用户两个用户A和和B获得共享密钥的方法有以下几种:获得共享密钥的方法有以下几种:密钥由密钥由A选取并通过物理手段发送给选取并通过物理手段发送给B。密钥由第三方选取并通过物理手段发送给密钥由第三方选取并通过物理手段发送给A和和B。如果如果A、B事先已有一密钥,则其中一方选取新事先已有一密钥,则其中一方选取新密钥后,

3、用已有的密钥加密新密钥并发送给另密钥后,用已有的密钥加密新密钥并发送给另一方。一方。如果如果A和和B与第三方与第三方C分别有一保密信道,则分别有一保密信道,则C为为A、B选取密钥后,分别在两个保密信道上发选取密钥后,分别在两个保密信道上发送给送给A、B。12/27/20224前两种方法称为前两种方法称为人工发送人工发送。在通信网中,。在通信网中,若只有个别用户想进行保密通信,密钥的若只有个别用户想进行保密通信,密钥的人工发送还是可行的。然而如果所有用户人工发送还是可行的。然而如果所有用户都要求支持加密服务,则任意一对希望通都要求支持加密服务,则任意一对希望通信的用户都必须有一共享密钥。如果有信

4、的用户都必须有一共享密钥。如果有n个用户,则密钥数目为个用户,则密钥数目为n(n-1)/2。因此当因此当n很大时,密钥分配的代价非常大,密钥的很大时,密钥分配的代价非常大,密钥的人工发送是不可行的。人工发送是不可行的。12/27/20225第第3种方法,攻击者一旦获得一个密钥就可获取种方法,攻击者一旦获得一个密钥就可获取以后所有的密钥;而且用这种方法对所有用户分以后所有的密钥;而且用这种方法对所有用户分配初始密钥时,代价仍然很大。配初始密钥时,代价仍然很大。第第4种方法比较常用,其中的第三方通常是一个种方法比较常用,其中的第三方通常是一个负责为用户分配密钥的密钥分配中心。这时每一负责为用户分配

5、密钥的密钥分配中心。这时每一用户必须和密钥分配中心有一个共享密钥,称用户必须和密钥分配中心有一个共享密钥,称为为主密钥主密钥。通过主密钥分配给一对用户的密钥称为。通过主密钥分配给一对用户的密钥称为会话密钥会话密钥,用于这一对用户之间的保密通信。通,用于这一对用户之间的保密通信。通信完成后,会话密钥即被销毁。如上所述,如果信完成后,会话密钥即被销毁。如上所述,如果用户数为用户数为n,则会话密钥数为则会话密钥数为n(n-1)/2。但主密钥但主密钥数却只需数却只需n个,所以主密钥可通过物理手段发送。个,所以主密钥可通过物理手段发送。12/27/202265.1.2 一个实例一个实例假定两个用户假定两

6、个用户A、B分别与密钥分配中心分别与密钥分配中心KDC(key distribution center)有一个共有一个共享的主密钥享的主密钥KA和和KB,A希望与希望与B建立一建立一个共享的一次性会话密钥,可通过以下个共享的一次性会话密钥,可通过以下几步来完成:几步来完成:12/27/20227图图5.1 密钥分配实例密钥分配实例12/27/20228 A向向KDC发出会话密钥请求发出会话密钥请求。表示请求的。表示请求的消息由两个数据项组成,第消息由两个数据项组成,第1项是项是A和和B的的身份,第身份,第2项是这次业务的惟一识别符项是这次业务的惟一识别符N1,称称N1为一次性随机数,可以是时戳

7、、计为一次性随机数,可以是时戳、计数器或随机数。每次请求所用的数器或随机数。每次请求所用的N1都应不都应不同,且为防止假冒,应使敌手对同,且为防止假冒,应使敌手对N1难以猜难以猜测。因此用随机数作为这个识别符最为合测。因此用随机数作为这个识别符最为合适。适。12/27/20229 KDC为为A的请求发出应答的请求发出应答。应答是由。应答是由KA加密加密的消息,因此只有的消息,因此只有A才能成功地对这一消息解才能成功地对这一消息解密,并且密,并且A可相信这一消息的确是由可相信这一消息的确是由KDC 发出发出的。消息中包括的。消息中包括A希望得到的两项内容:希望得到的两项内容:一次性会话密钥一次性

8、会话密钥KS;A在在中发出的请求,包括一次性随机数中发出的请求,包括一次性随机数N1,目的是使目的是使A将收到的应答与发出的请求相比较,将收到的应答与发出的请求相比较,看是否匹配。看是否匹配。因此因此A能验证自己发出的请求在被能验证自己发出的请求在被KDC收到之收到之前,是否被他人篡改。而且前,是否被他人篡改。而且A还能根据一次性还能根据一次性随机数相信自己收到的应答不是重放的过去的随机数相信自己收到的应答不是重放的过去的应答。应答。12/27/202210 此外,消息中还有此外,消息中还有B希望得到的两项内容:希望得到的两项内容:一次性会话密钥一次性会话密钥KS;A的身份(例如的身份(例如A

9、的网络地址)的网络地址)IDA。这两项由这两项由KB加密,将由加密,将由A转发给转发给B,以建立以建立A、B之之间的连接并用于向间的连接并用于向B证明证明A的身份。的身份。A存储会话密钥,并向存储会话密钥,并向B转发转发EKBKSIDA。因为因为转发的是由转发的是由KB加密后的密文,所以转发过程不会加密后的密文,所以转发过程不会被窃听。被窃听。B收到后,可得会话密钥收到后,可得会话密钥KS,并从并从IDA可可知另一方是知另一方是A,而且还从而且还从EKB知道知道KS的确来自的确来自KDC。12/27/202211 这一步完成后,会话密钥就安全地分配给这一步完成后,会话密钥就安全地分配给了了A、

10、B。然而还需要继续以下两步工作:然而还需要继续以下两步工作:B用会话密钥用会话密钥KS加密另一个一次性随机数加密另一个一次性随机数N2,并将加密结果发送给并将加密结果发送给A。A以以f(N2)作为对作为对B的应答,其中的应答,其中f是对是对N2进进行某种变换(例如加行某种变换(例如加1)的函数,并将应答)的函数,并将应答用会话密钥加密后发送给用会话密钥加密后发送给B。这两步可使这两步可使B相信第相信第步收到的消息不是一步收到的消息不是一个重放。个重放。注意:注意:第第步就已完成密钥分配,第步就已完成密钥分配,第、两步结合第两步结合第步执行的是认证功能。步执行的是认证功能。12/27/20221

11、25.1.3 密钥的分层控制密钥的分层控制网络中如果用户数目非常多而且分布的地域非常广,一个网络中如果用户数目非常多而且分布的地域非常广,一个KDC就无法承担为用户分配密钥的重任。问题的解决方就无法承担为用户分配密钥的重任。问题的解决方法是使用多个法是使用多个KDC的分层结构。的分层结构。例如,在每个小范围例如,在每个小范围(如一个(如一个LAN或一个建筑物)内,都建立一个本地或一个建筑物)内,都建立一个本地KDC。同一范围的用户在进行保密通信时,由本地同一范围的用户在进行保密通信时,由本地KDC为他们为他们分配密钥。如果两个不同范围的用户想获得共享密钥,则分配密钥。如果两个不同范围的用户想获

12、得共享密钥,则可通过各自的本地可通过各自的本地KDC,而两个本地而两个本地KDC的沟通又需经的沟通又需经过一个全局过一个全局KDC。这样就建立了两层这样就建立了两层KDC。类似地,根类似地,根据网络中用户的数目及分布的地域,可建立据网络中用户的数目及分布的地域,可建立3层或多层层或多层KDC。分层结构可减少主密钥的分布,分层结构可减少主密钥的分布,因为大多数主密钥是在本因为大多数主密钥是在本地地KDC和本地用户之间共享。再者,分层结构还可将虚和本地用户之间共享。再者,分层结构还可将虚假假KDC的危害限制到一个局部区域。的危害限制到一个局部区域。12/27/2022135.1.4 会话密钥的有效

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

14、。而每而每次建立连接时,都应使用新的会话密钥。次建立连接时,都应使用新的会话密钥。如果逻辑连接的时间很长,则应定期更换如果逻辑连接的时间很长,则应定期更换会话密钥。会话密钥。无连接协议(如面向业务的协议),无法无连接协议(如面向业务的协议),无法明确地决定更换密钥的频率。明确地决定更换密钥的频率。为安全起见,为安全起见,用户每进行一次交换,都用新的会话密钥。用户每进行一次交换,都用新的会话密钥。然而这又失去了无连接协议主要的优势,然而这又失去了无连接协议主要的优势,即对每个业务都有最少的费用和最短的延即对每个业务都有最少的费用和最短的延迟。比较好的方案迟。比较好的方案是在某一固定周期内或是在某

15、一固定周期内或对一定数目的业务使用同一会话密钥。对一定数目的业务使用同一会话密钥。12/27/2022155.1.5 无中心的密钥控制无中心的密钥控制用密钥分配中心为用户分配密钥时,要用密钥分配中心为用户分配密钥时,要求所有用户都信任求所有用户都信任KDC,同时还要求对同时还要求对KDC加以保护。加以保护。如果密钥的分配是无中心的,则不必有如果密钥的分配是无中心的,则不必有以上两个要求。然而如果每个用户都能以上两个要求。然而如果每个用户都能和自己想与之建立联系的另一用户安全和自己想与之建立联系的另一用户安全地通信,则对有地通信,则对有n个用户的网络来说,主个用户的网络来说,主密钥应多达密钥应多

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

17、个一次性随机数随机数N2。A使用新建立的会话密钥使用新建立的会话密钥KS对对f(N2)加密后加密后返回给返回给B。12/27/202217图图图图5.2 5.2 无中心的密钥分配无中心的密钥分配无中心的密钥分配无中心的密钥分配12/27/2022185.1.6 密钥的控制使用密钥的控制使用密钥可根据其不同用途分为密钥可根据其不同用途分为会话密钥会话密钥和和主密钥主密钥两种类型,会话密钥又称为两种类型,会话密钥又称为数据数据加密密钥加密密钥,主密钥又称为,主密钥又称为密钥加密密钥密钥加密密钥。由于密钥的用途不同,因此对密钥的使由于密钥的用途不同,因此对密钥的使用方式也需要加以某种控制。用方式也需

18、要加以某种控制。如果主密钥泄露了,则相应的会话密钥如果主密钥泄露了,则相应的会话密钥也将泄露,因此也将泄露,因此主密钥的安全性应高于主密钥的安全性应高于会话密钥的安全性会话密钥的安全性。一般在密钥分配中。一般在密钥分配中心以及终端系统中主密钥都是物理上安心以及终端系统中主密钥都是物理上安全的,如果把主密钥当作会话密钥注入全的,如果把主密钥当作会话密钥注入加密设备,那么其安全性则降低。加密设备,那么其安全性则降低。12/27/202219单钥体制中的密钥控制技术有以下两种。单钥体制中的密钥控制技术有以下两种。(1)密钥标签密钥标签用于用于DES的密钥控制,将的密钥控制,将DES的的64比特密比特

19、密钥中的钥中的8个校验位作为控制使用这一密钥个校验位作为控制使用这一密钥的标签。标签中各比特的含义为:的标签。标签中各比特的含义为:一个比特表示这个密钥是会话密钥还是主密一个比特表示这个密钥是会话密钥还是主密钥;钥;一个比特表示这个密钥是否能用于加密;一个比特表示这个密钥是否能用于加密;一个比特表示这个密钥是否能用于解密;一个比特表示这个密钥是否能用于解密;其他比特无特定含义,留待以后使用。其他比特无特定含义,留待以后使用。12/27/202220由于标签是在密钥之中,在分配密钥时,由于标签是在密钥之中,在分配密钥时,标签与密钥一起被标签与密钥一起被加密加密,因此可对标签起,因此可对标签起到保

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

21、不同情况下密钥是被允许使用还是不被允许使用,且控制矢量的许使用,且控制矢量的长度可变长度可变。控制矢量是在控制矢量是在KDC产生密钥时产生密钥时加在密钥之加在密钥之中中的。的。12/27/202222首先由一杂凑函数将控制矢量压缩到与加密密钥等首先由一杂凑函数将控制矢量压缩到与加密密钥等首先由一杂凑函数将控制矢量压缩到与加密密钥等首先由一杂凑函数将控制矢量压缩到与加密密钥等长,然后与主密钥异或后作为加密会话密钥的密钥,长,然后与主密钥异或后作为加密会话密钥的密钥,长,然后与主密钥异或后作为加密会话密钥的密钥,长,然后与主密钥异或后作为加密会话密钥的密钥,即即即即其中其中其中其中CVCV是控制矢

22、量,是控制矢量,是控制矢量,是控制矢量,h h是杂凑函数,是杂凑函数,是杂凑函数,是杂凑函数,KKmm是主密钥,是主密钥,是主密钥,是主密钥,KKS S是会话密钥。会话密钥的恢复过程表示为是会话密钥。会话密钥的恢复过程表示为是会话密钥。会话密钥的恢复过程表示为是会话密钥。会话密钥的恢复过程表示为:12/27/202223图图5.3 控制矢量的使用方式控制矢量的使用方式12/27/202224KDC在向用户发送会话密钥时,同时以明在向用户发送会话密钥时,同时以明文形式发送控制矢量。用户只有使用与文形式发送控制矢量。用户只有使用与KDC共享的主密钥以及共享的主密钥以及KDC发送来的控制发送来的控制

23、矢量才能恢复会话密钥,因此还必须保留矢量才能恢复会话密钥,因此还必须保留会话密钥和它的控制矢量之间的对应关系。会话密钥和它的控制矢量之间的对应关系。与使用与使用8比特的密钥标签相比,使用控制矢比特的密钥标签相比,使用控制矢量有两个优点量有两个优点:控制矢量的长度没有限制,因此可对密钥的使控制矢量的长度没有限制,因此可对密钥的使用施加任意复杂的控制用施加任意复杂的控制;控制矢量始终是以明文形式存在,因此可在任控制矢量始终是以明文形式存在,因此可在任一阶段对密钥的使用施加控制。一阶段对密钥的使用施加控制。12/27/2022255.2 公钥加密体制的密钥管理公钥加密体制的密钥管理前一节介绍了单钥密

24、码体制中的密钥分配前一节介绍了单钥密码体制中的密钥分配问题,而公钥加密的一个主要用途是分配问题,而公钥加密的一个主要用途是分配单钥密码体制使用的密钥。单钥密码体制使用的密钥。本节介绍两方面内容:本节介绍两方面内容:公钥密码体制所用的公开密钥的分配公钥密码体制所用的公开密钥的分配如何用公钥体制来分配单钥密码体制所需的密如何用公钥体制来分配单钥密码体制所需的密钥。钥。12/27/2022265.2.1 公钥的分配公钥的分配1.公开发布公开发布公开发布指用户将自己的公钥发给每一其他用户,公开发布指用户将自己的公钥发给每一其他用户,或向某一团体广播。例如或向某一团体广播。例如PGP(pretty go

25、od privacy)中采用了中采用了RSA算法,它的很多用户都是算法,它的很多用户都是将自己的公钥附加到消息上,然后发送到公开(公将自己的公钥附加到消息上,然后发送到公开(公共)区域,如因特网邮件列表。共)区域,如因特网邮件列表。这种方法虽然简单,但有一个非常大的缺点,即任这种方法虽然简单,但有一个非常大的缺点,即任何人都可伪造这种公开发布。如果某个用户假装是何人都可伪造这种公开发布。如果某个用户假装是用户用户A并以并以A的名义向另一用户发送或广播自己的的名义向另一用户发送或广播自己的公开钥,则在公开钥,则在A发现假冒者以前,这一假冒者可解发现假冒者以前,这一假冒者可解读所有意欲发向读所有意

26、欲发向A的加密消息,而且假冒者还能用的加密消息,而且假冒者还能用伪造的密钥获得认证。伪造的密钥获得认证。12/27/2022272.公用目录表公用目录表公用目录表指一个公用的公钥动态目录表,公用公用目录表指一个公用的公钥动态目录表,公用目录表的建立、维护以及公钥的分布由某个可信目录表的建立、维护以及公钥的分布由某个可信的实体或组织承担,称这个实体或组织为公用目的实体或组织承担,称这个实体或组织为公用目录的管理员。录的管理员。与第与第1种分配方法相比,这种方法的安全性更高。种分配方法相比,这种方法的安全性更高。该方案有以下一些组成部分:该方案有以下一些组成部分:管理员为每个用户都在目录表中建立一

27、个目录,管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项目录中有两个数据项:一是用户名,二是用户的一是用户名,二是用户的公开钥。公开钥。每一用户都亲自或以某种安全的认证通信在管每一用户都亲自或以某种安全的认证通信在管理者那里为自己的公开钥注册。理者那里为自己的公开钥注册。12/27/202228 用户如果由于自己的公开钥用过的次数太多或由用户如果由于自己的公开钥用过的次数太多或由于与公开钥相关的秘密钥已被泄露,则可随时用于与公开钥相关的秘密钥已被泄露,则可随时用新密钥替换现有的密钥。新密钥替换现有的密钥。管理员定期公布或定期更新目录表。例如,像电管理员定期公布或定期更新目录表。例如

28、,像电话号码本一样公布目录表或在发行量很大的报纸话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新。上公布目录表的更新。用户可通过电子手段访问目录表,这时从管理员用户可通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信。到用户必须有安全的认证通信。本方案的安全性虽然高于公开发布的安全性,但本方案的安全性虽然高于公开发布的安全性,但仍易受攻击。如果敌手成功地获取管理员的秘密仍易受攻击。如果敌手成功地获取管理员的秘密钥,就可伪造一个公钥目录表,以后既可假冒任钥,就可伪造一个公钥目录表,以后既可假冒任一用户又能监听发往任一用户的消息。而且公用一用户又能监听发往任一用户的消息。而

29、且公用目录表还易受到敌手的窜扰。目录表还易受到敌手的窜扰。12/27/2022293.公钥管理机构公钥管理机构如果在公钥目录表中对公钥的分配施加更严密如果在公钥目录表中对公钥的分配施加更严密的控制,安全性将会更强。与公用目录表类似,的控制,安全性将会更强。与公用目录表类似,这里假定有一个公钥管理机构来为各用户建立、这里假定有一个公钥管理机构来为各用户建立、维护动态的公钥目录,但同时对系统提出以下维护动态的公钥目录,但同时对系统提出以下要求,即:要求,即:每个用户都可靠地知道管理机构的每个用户都可靠地知道管理机构的公开钥,而只有管理机构自己知道相应的秘密公开钥,而只有管理机构自己知道相应的秘密钥

30、钥。公开钥的分配步骤如下:。公开钥的分配步骤如下:12/27/202230图图5.4 公钥管理机构分配公钥公钥管理机构分配公钥12/27/202231 用户用户A向公钥管理机构发送一个带时戳的消息,向公钥管理机构发送一个带时戳的消息,消息中有获取用户消息中有获取用户B的当前公钥的请求。的当前公钥的请求。管理机构对管理机构对A的请求作出应答,应答由一个消息的请求作出应答,应答由一个消息表示,该消息由管理机构用自己的秘密钥表示,该消息由管理机构用自己的秘密钥SKAU加密,因此加密,因此A能用管理机构的公开钥解密,并使能用管理机构的公开钥解密,并使A相信这个消息的确是来源于管理机构相信这个消息的确是

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

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

33、项有A的一次性随机数的一次性随机数N1和和B产生的一个新一产生的一个新一次性随机数次性随机数N2。因为只有因为只有B能解密能解密的消息,的消息,所以所以A收到的消息中的收到的消息中的N1可使其相信通信的另可使其相信通信的另一方的确是一方的确是B。A用用B的公开钥对的公开钥对N2加密后返回给加密后返回给B,可使可使B相相信通信的另一方的确是信通信的另一方的确是A。12/27/202233以上过程共发送了以上过程共发送了7个消息,其中前个消息,其中前4个消息用个消息用于获取对方的公开钥。用户得到对方的公开钥于获取对方的公开钥。用户得到对方的公开钥后保存起来可供以后使用,这样就不必再发送后保存起来可

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

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

36、A,PKA。其中。其中IDA是用户是用户A的身份,的身份,PKA是是A的公钥,的公钥,T是当前时戳,是当前时戳,SKCA是是CA的秘密钥,的秘密钥,CA即是为用户即是为用户A产生的证书。产生的证书。12/27/202235图图5.5 证书的产生过程证书的产生过程12/27/202236用户可将自己的公开钥通过公钥证书发给另一用用户可将自己的公开钥通过公钥证书发给另一用户,接收方可用户,接收方可用CA的公钥的公钥PKCA对证书加以验证,对证书加以验证,即即 DPKCACA=DPKCAESKCAT,IDA,PKA=(T,IDA,PKA)因为只有用因为只有用CA的公钥才能解读证书,接收方从的公钥才能

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

38、密体制进行保密通信。然而由于公钥加密的速度过慢,以此进行保密通信不太密的速度过慢,以此进行保密通信不太合适,但用于分配单钥密码体制的密钥合适,但用于分配单钥密码体制的密钥却非常合适。却非常合适。12/27/2022381.简单分配简单分配如果如果A希望与希望与B通信,可通过以下几步建通信,可通过以下几步建立会话密钥:立会话密钥:A产生自己的一对密钥产生自己的一对密钥PKA,SKA,并向并向B发送发送PKA|IDA,其中其中IDA表示表示A的身份。的身份。B产生会话密钥产生会话密钥KS,并用并用A的公开钥的公开钥PKA对对KS加密后发往加密后发往A。A由由DSKAEPKAKS恢复会话密钥。因恢复

39、会话密钥。因为只有为只有A能解读能解读KS,所以仅所以仅A、B知道这知道这一共享密钥。一共享密钥。A销毁销毁PKA,SKA,B销毁销毁PKA。12/27/202239图图5.6 简单使用公钥加密算法建立会话密钥简单使用公钥加密算法建立会话密钥12/27/202240A、B现在可以用单钥加密算法以现在可以用单钥加密算法以KS作为会话密作为会话密钥进行保密通信,通信完成后,又都将钥进行保密通信,通信完成后,又都将KS销毁。销毁。这种分配法尽管简单,但却由于这种分配法尽管简单,但却由于A、B双方在通双方在通信前和完成通信后,都未存储密钥,因此,密钥信前和完成通信后,都未存储密钥,因此,密钥泄露的危险

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

41、KE KS解读解读KS。E再将再将EPKAKS发往发往A。现在现在A和和B知道知道KS,但并未意识到但并未意识到KS已被已被E截获。截获。A、B在用在用KS通信时,通信时,E就可以实施监听就可以实施监听。12/27/2022422.具有保密性和认证性的密钥分配具有保密性和认证性的密钥分配该密钥分配过程具有保密性和认证性,该密钥分配过程具有保密性和认证性,因此既可防止被动攻击,又可防止主动因此既可防止被动攻击,又可防止主动攻击。攻击。图图5.7 具有保密性和认证性的密钥分配具有保密性和认证性的密钥分配12/27/202243假定假定A、B双方已完成公钥交换,可按以下步骤建立共享双方已完成公钥交换

42、,可按以下步骤建立共享会话密钥:会话密钥: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相信对方的相信对方的确是确是A。A选一

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

44、。算法的惟一目的是使得两个用户能够安全地法的惟一目的是使得两个用户能够安全地交换密钥,得到一个共享的会话密钥,算交换密钥,得到一个共享的会话密钥,算法本身不能用于加、解密。法本身不能用于加、解密。算法的安全性基于求离散对数的困难性。算法的安全性基于求离散对数的困难性。12/27/202245p是大素数,是大素数,a是是p的本原根,的本原根,p和和a作为公开的全程元素。作为公开的全程元素。用户用户A选择一保密的随机整数选择一保密的随机整数XA,并将并将YA=aXAmod p发送给用户发送给用户B。类似地,用户类似地,用户B选择一保密的随机整数选择一保密的随机整数XB,并将并将YB=aXB mod

45、 p发送给用户发送给用户A。然后然后A和和B分分别由别由K=(YB)XA mod p和和K=(YA)XBmod p计算出的就计算出的就是共享密钥。是共享密钥。图图5.8 Diffie-Hellman密钥交换密钥交换12/27/202246证明:证明:(YB)XA mod p=(aXB mod p)XA mod p=(aXB)XA mod p =aXB XA mod p=(aXA)XB mod p=(aXA mod p)XB mod=(YA)XBmod p因因XA,XB是保密的,敌手只能得到是保密的,敌手只能得到p,a,YA,YB,要想得到要想得到K,则必须得到则必须得到XA,XB中的中的一个,

46、这意味着需要求离散对数。因此敌手一个,这意味着需要求离散对数。因此敌手求求K是不可行的。是不可行的。12/27/202247例如:例如:p=97,a=5,A和和B分别秘密选分别秘密选XA=36,XB=58,并分别计算并分别计算YA=536 mod 97=50,YB=558 mod 97=44。在交换在交换YA,YB后,分别计算后,分别计算 K=(YB)XA mod 97=4436 mod 97=75,K=(YA)XBmod 97=5058 mod 97=7512/27/202248三人以上的三人以上的三人以上的三人以上的DiffieDiffie-Hellman-Hellman密钥交换密钥交换密

47、钥交换密钥交换12/27/2022495.3 密钥托管密钥托管密钥托管也称为托管加密,其目的是保证对个密钥托管也称为托管加密,其目的是保证对个人没有绝对的隐私和绝对不可跟踪的匿名性,人没有绝对的隐私和绝对不可跟踪的匿名性,即在强加密中结合对突发事件的解密能力。即在强加密中结合对突发事件的解密能力。其实现手段是把已加密的数据和数据恢复密钥其实现手段是把已加密的数据和数据恢复密钥联系起来,数据恢复密钥不必是直接解密的密联系起来,数据恢复密钥不必是直接解密的密钥,但由它可得解密密钥。钥,但由它可得解密密钥。数据恢复密钥由所信任的委托人持有,委托人数据恢复密钥由所信任的委托人持有,委托人可以是政府机构

48、、法院或有契约的私人组织。可以是政府机构、法院或有契约的私人组织。一个密钥可能是在数个这样的委托人中分拆。一个密钥可能是在数个这样的委托人中分拆。调查机构或情报机构通过适当的程序,如获得调查机构或情报机构通过适当的程序,如获得法院证书,从委托人处获得数据恢复密钥。法院证书,从委托人处获得数据恢复密钥。12/27/202250密钥托管加密技术提供了一个备用的解密钥托管加密技术提供了一个备用的解密途径,密途径,政府机构在需要时,可通过密政府机构在需要时,可通过密钥托管技术解密用户的信息,而用户的钥托管技术解密用户的信息,而用户的密钥若丢失或损坏,也可通过密钥托管密钥若丢失或损坏,也可通过密钥托管技

49、术恢复自己的密钥。技术恢复自己的密钥。所以这个备用的所以这个备用的手段不仅对政府有用,而且对用户自己手段不仅对政府有用,而且对用户自己也有用。也有用。12/27/2022515.3.1 美国托管加密标准简介美国托管加密标准简介1993年年4月,美国政府为了满足其电信安全、公众月,美国政府为了满足其电信安全、公众安全和国家安全,提出了托管加密标准安全和国家安全,提出了托管加密标准EES(escrowed encryption standard)该标准所使用的托管加密技术不仅提供了强加密该标准所使用的托管加密技术不仅提供了强加密功能,同时也为政府机构提供了实施法律授权下功能,同时也为政府机构提供了

50、实施法律授权下的监听功能。的监听功能。这一技术是通过一个防窜扰的芯片这一技术是通过一个防窜扰的芯片(称为称为Clipper芯芯片片)来实现的。来实现的。12/27/202252它有两个特性:它有两个特性:一个加密算法一个加密算法Skipjack算法,该算法是由算法,该算法是由NSA设计的,用于加(解)密用户间通信的消息。设计的,用于加(解)密用户间通信的消息。该算法已于该算法已于1998年年3月公布。月公布。为法律实施提供为法律实施提供“后门后门”的部分的部分法律实施存法律实施存取域取域LEAF(law enforcement access field)。通过这通过这个域,法律实施部门可在法律

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com