密码学05-密钥分配与密钥管理

上传人:油条 文档编号:1271039 上传时间:2017-06-04 格式:PPT 页数:89 大小:2.76MB
返回 下载 相关 举报
密码学05-密钥分配与密钥管理_第1页
第1页 / 共89页
密码学05-密钥分配与密钥管理_第2页
第2页 / 共89页
密码学05-密钥分配与密钥管理_第3页
第3页 / 共89页
密码学05-密钥分配与密钥管理_第4页
第4页 / 共89页
密码学05-密钥分配与密钥管理_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《密码学05-密钥分配与密钥管理》由会员分享,可在线阅读,更多相关《密码学05-密钥分配与密钥管理(89页珍藏版)》请在金锄头文库上搜索。

1、本科生必修课:现代密码学,第五章密钥分配与密钥管理,主讲教师:董庆宽研究方向:密码学与信息安全Email :个人主页:http:/ 单钥加密体制的密钥分配5.2 公钥加密体制的密钥管理5.3 密钥托管5.4 随机数的产生5.5 秘密分割,本章提要,3/84,5.1 单钥加密体制的密钥分配,5.1.1 密钥分配的基本方法两个用户(主机、进程、应用程序)在用单钥密码体制进行保密通信时,首先必须有一个共享的秘密密钥,为防止攻击者得到密钥,还必须时常更新密钥。因此,密码系统的强度也依赖于密钥分配技术两个用户A和B获得共享密钥的方法有以下4种: 密钥由A选取并通过物理手段发送给B 密钥由第三方选取并通过

2、物理手段发送给A和B 如果A、B事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方 如果A和B与第三方C分别有一保密信道,则C为A、B选取密钥后,分别在两个保密信道上发送给A、B,4/84,第1和第2种方法称为人工发送在通信网中,若只有个别用户想进行保密通信,密钥的人工发送还是可行的。然而如果所有用户都要求支持加密服务,则任意一对希望通信的用户都必须有一共享密钥。如果有n个用户,则密钥数目为n(n-1)/2。因此当n很大时,密钥分配的代价非常大,密钥的人工发送是不可行的系统的主密钥或初始密钥一般物理手段发送,5/84,对于第3种方法攻击者一旦获得一个密钥就可获取以后所

3、有的密钥;而且用这种方法对所有用户分配初始密钥时,代价仍然很大。,6/84,第4种方法比较常用其中的第三方通常是一个负责为用户分配密钥的密钥分配中心(KDC)。这时每一用户必须和密钥分配中心有一个共享密钥,称为主密钥。(可通过第二种方法)通过主密钥分配给一对用户的密钥ks称为会话密钥,用于这一对用户之间的保密通信。通信完成后,会话密钥即被销毁。如上所述,如果用户数为n,则会话密钥数为n(n-1)/2。但主密钥数却只需n个,所以主密钥可通过物理手段发送。,7/84,5.1.2密钥分配的一个实例,如图:假定两个用户A、B分别与密钥分配中心KDC (key distribution center)有

4、一个共享的主密钥KA和KB,A希望与B建立一个共享的一次性会话密钥,可通过以下几步来完成: A向KDC发出会话密钥请求,表示请求的消息由两个数据项组成: 第1项Request是A和B的身份,第2项是这次业务的惟一识别符N1,称N1为一次性随机数,可以是时戳、计数器或随机数,每次的N1都应不同,且为防止假冒,应使敌手对N1难以猜测。因此用随机数作为这个识别符最为合适。,防重放,防篡改,8/84, KDC为A的请求发出应答应答由KA加密,只有A能成功解密,且A可相信这一消息的确是由KDC 发出的。消息中包括A希望得到的两项内容:一次性会话密钥KS;A在中发出的请求,包括一次性随机数N1,目的是使A

5、将收到的应答与发出的请求相比较,看是否匹配A能验证自己发出的请求在被KDC收到之前,是否被他人篡改A还能根据一次性随机数相信收到的应答不是重放的过去的应答消息中还有B希望得到的两项内容: 一次性会话密钥KS;A的身份(例如A的网络地址)IDA。这两项由KB加密,将由A转发给B,以建立A、B之间的连接并用于向B证明A的身份。,9/84, A存储会话密钥KS,并向B转发EKBKSIDA因为转发的是由KB加密后的密文,所以转发过程不会被窃听B收到后,可得会话密钥KS,并从IDA可知另一方是A,而且还从EKB知道KS的确来自KDC这一步完成后,会话密钥就安全地分配给了A、B。然而还能继续以下两步工作:

6、 B用会话密钥KS加密另一个一次性随机数N2,并将加密结果发送给A A以f(N2)作为对B的应答,其中f是对N2进行某种变换(例如加1)的函数,并将应答用会话密钥加密后发送给B这两步可使B相信第步收到的消息不是一个重放注意: 第步就已完成密钥分配,第、两步结合第步执行的是认证功能,10/84,5.1.3 密钥的分层控制,网络中如果用户数目非常多且分布的地域非常广,则需要使用多个KDC的分层结构在每个小范围(如一个LAN或一个建筑物)内,都建立一个本地KDC。同一范围的用户在进行保密通信时,由本地KDC为他们分配密钥如果两个不同范围的用户想获得共享密钥,则可通过各自的本地KDC,而两个本地KDC

7、的沟通又需经过一个全局KDC。这样就建立了两层KDC根据网络中用户的数目及分布的地域,可建立3层或多层KDC分层结构可减小主密钥的分布,因为大多数主密钥是在本地KDC和本地用户之间共享。分层结构还可将虚假KDC的危害限制到一个局部区域,但会降低信任度,11/84,5.1.4 会话密钥的有效期,会话密钥更换得越频繁,系统的安全性就越高。因为敌手即使获得一个会话密钥,也只能获得很少的密文。但另一方面,会话密钥更换得太频繁,又将延迟用户之间的交换,同时还造成网络负担。所以在决定会话密钥的有效期时,应权衡矛盾的两个方面对面向连接的协议(如TCP)一次会话一密:在连接未建立前或断开时,会话密钥的有效期可

8、以很长。而每次建立连接时,都应使用新的会话密钥。如果逻辑连接的时间很长,则应定期更换会话密钥。无连接协议(如用户数据报协议UDP)无法明确地决定更换密钥的频率。为安全起见,用户每进行一次交换,都用新的会话密钥。然而这又失去了无连接协议主要的优势,即对每个业务都有最少的费用和最短的延迟。比较好的方案是在某一固定周期内或对一定数目的业务使用同一会话密钥。,12/84,5.1.5 无中心的密钥控制,用密钥分配中心为用户分配密钥时,要求所有用户都信任KDC,同时还要求对KDC加以保护。如果密钥的分配是无中心的,则不必有以上两个要求然而如果每个用户都能和自己想与之建立联系的另一用户安全地通信,则对有n个

9、用户的网络来说,主密钥应多达n(n-1)/2个。当n很大时,这种方案无实用价值但在整个网络的局部范围却非常有用,13/84,无中心的密钥分配时,两个用户A和B建立会话密钥需经过以下3步: A向B发出建立会话密钥的请求和一个一次性随机数N1 B用与A共享的主密钥MKm对应答的消息加密,并发送给A应答的消息中有B选取的会话密钥KS、B的身份IDB、f(N1)和另一个一次性随机数N2 A使用新建立的会话密钥KS对f(N2)加密后返回给B,14/84,5.1.6 密钥的控制使用,密钥可根据其不同用途分为会话密钥和主密钥两种类型会话密钥又称为数据加密密钥主密钥又称为密钥加密密钥由于密钥用途不同,对密钥的

10、使用方式也希望加以某种控制如果主密钥泄露了,则相应的会话密钥也将泄露,因此主密钥的安全性应高于会话密钥的安全性一般在密钥分配中心以及终端系统中主密钥都是物理上安全的如果把主密钥当作会话密钥注入加密设备,那么其安全性则降低,15/84,单钥体制中的密钥控制技术有以下两种:(1) 密钥标签用于DES的密钥控制,将DES的64比特密钥中的8个校验位作为控制使用这一密钥的标签。标签中各比特的含义为:一个比特表示这个密钥是会话密钥还是主密钥;一个比特表示这个密钥是否能用于加密;一个比特表示这个密钥是否能用于解密;其他比特无特定含义,留待以后使用。由于标签是在密钥之中,在分配密钥时,标签与密钥一起被加密,

11、因此可对标签起到保护作用。本方案的缺点:第一,标签的长度被限制为8比特,限制了它的灵活性和功能;第二,由于标签是以密文形式传送,只有解密后才能使用,因而限制了对密钥使用的控制方式。,16/84,(2) 控制矢量对每一会话密钥都指定了一个相应的控制矢量,控制矢量分为若干字段,分别用于说明在不同情况下密钥是被允许使用还是不被允许使用,且控制矢量的长度可变控制矢量是在KDC产生密钥时加在密钥之中的,17/84,首先由一杂凑函数将控制矢量压缩到与加密密钥等长,然后与主密钥异或后作为加密会话密钥的密钥,即H=h(CV); Kin=KmH; Kout=EKmHKS其中CV是控制矢量,h是杂凑函数,Km是主

12、密钥,KS是会话密钥会话密钥的恢复过程表示为:KS=DKmHEKmH KSKDC在向用户发送会话密钥时,同时以明文形式发送控制矢量用户只有使用与KDC共享的主密钥以及KDC发送来的控制矢量才能恢复会话密钥,因此必须保留会话密钥和它的控制矢量之间的对应关系与使用8比特的密钥标签相比,控制矢量有两个优点: 第一,控制矢量的长度无限制,可对密钥的使用施加任意复杂的控制第二,控制矢量始终以明文形式存在,可在任一阶段对密钥的使用施加控制,18/84,5.2 公钥加密体制的密钥管理,本节介绍两方面内容:一是公钥密码体制所用的公开密钥的分配二是如何用公钥体制来分配单钥密码体制所需的密钥这是公钥加密的一个主要

13、用途,19/84,5.2.1 公钥的分配,1. 公开发布公开发布指用户将自己的公钥发给每一其他用户,或向某一团体广播如PGP(pretty good privacy)中采用了RSA算法,它的很多用户都是将自己的公钥附加到消息上,然后发送到公开(公共)区域,如因特网邮件列表缺点很明显,即任何人都可伪造这种公开发布如果某个用户假装是用户A并以A的名义向另一用户发送或广播自己的公开钥,则在A发现假冒者以前,这一假冒者可解读所有意欲发向A的加密消息,而且假冒者还能用伪造的密钥获得认证,20/84,2. 公用目录表公用目录表指一个公用的公钥动态目录表公用目录表的建立、维护以及公钥的分布由某个可信的实体或

14、组织承担,称这个实体或组织为公用目录的管理员该方案有以下一些组成部分: 管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项: 用户名;用户的公开钥 每一用户都亲自或以某种安全的认证通信在管理者那里为自己的公开钥注册,用户能够直接操作目录表 用户如果由于自己的公开钥用过的次数太多或由于与公开钥相关的秘密钥已被泄露,可随时用新密钥替换现有的密钥,21/84, 管理员定期公布或定期更新目录表例如,像电话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新 用户可通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信安全性高于公开发布,但仍易受攻击如果敌手成功地获取管理员的秘密

15、钥(密码),就可伪造一个公钥目录表,以后既可假冒任一用户又能监听发往任一用户的消息。公用目录表还易受到敌手的窜扰(破坏)用户需要登录到公钥目录表中自己查找收方的公钥,22/84,3. 公钥管理机构为防止用户自行对公钥目录表操作所带来的安全威胁,假定有一个公钥管理机构来为各用户建立、维护动态的公钥目录即由用户提出请求,公钥管理机构通过认证信道将用户所需要查找公钥传给用户该认证信道主要基于公钥管理机构的签名,23/84, 用户A向公钥管理机构发送一个带时戳的消息,消息中有获取用户B的当前公钥的请求 管理机构对A的应答由一个消息表示,该消息由管理机构用自己的秘密钥SKAU加密,因此A能用管理机构的公

16、开钥解密,并使A相信这个消息的确是来源于管理机构应答的消息中有以下几项:B的公钥PKB,A可用之对将发往B的消息加密;A的请求,用于A验证收到的应答的确是对相应请求的应答,且还能验证自己最初发出的请求在被管理机构收到以前是否被篡改;抗篡改最初的时戳,以使A相信管理机构发来的消息不是一个旧消息,因此消息中的公开钥的确是B当前的公钥抗重放,24/84, A用PKB对一个消息加密后发往B,包含两个数据项: 一是A的身份IDA二是一次性随机数N1,用于惟一地标识这次业务 、步骤中:B以相同方式从管理机构获取A的公开钥这时,A和B都已安全地得到了对方的公钥,所以可进行保密通信。前5个消息用于安全的获取对方的公开钥用户得到对方的公开钥后保存起来可供以后使用,这样就不必再发送消息、 、了用户还可以通过以下两步进行相互认证: B用PKA加密一次性随机数N1和B产生的一次性随机数N2,发往A,可使A相信通信的另一方的确是BA用PKB对N2加密后返回给B,可使B相信通信另一方的确是A必须定期地通过密钥管理中心获取通信对方的公开钥,以免对方的公开钥更新后无法保证当前的通信,

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

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号