密钥管理与密钥分配现代密码学课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《密钥管理与密钥分配现代密码学课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密钥 管理 分配 现代 密码学 课件
- 资源描述:
-
1、1密钥管理与密钥分配密钥管理与密钥分配现代密码学现代密码学第第10章章2本章主要内容本章主要内容n1 1、单钥加密体制的密钥分配单钥加密体制的密钥分配n2、公钥加密体制的密钥管理、公钥加密体制的密钥管理n3、密钥托管、密钥托管n习题习题31.1 密钥分配的基本方法密钥分配的基本方法 两个用户(主机、进程、应用程序)在用单钥密码体制进行保密通信时,首先必须有一个共享的秘密密钥,而且为防止攻击者得到密钥,还必须时常更新密钥。因此,密码系统的强度也依赖于密钥分配技术。1.单钥加密体制的密钥分配单钥加密体制的密钥分配4两个用户A和B获得共享密钥的方法有以下几种:密钥由A选取并通过物理手段发送给B。密钥
2、由第三方选取并通过物理手段发送给A和B。如果A、B事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方。如果A和B与第三方C分别有一保密信道,则C为A、B选取密钥后,分别在两个保密信道上发送给A、B。密钥分配的基本方法密钥分配的基本方法5 前两种方法称为人工发送。在通信网中,若只有个别用户想进行保密通信,密钥的人工发送还是可行的。然而如果所有用户都要求支持加密服务,则任意一对希望通信的用户都必须有一共享密钥。如果有n个用户,则密钥数目为n(n-1)/2。因此当n很大时,密钥分配的代价非常大,密钥的人工发送是不可行的。密钥分配的基本方法密钥分配的基本方法6 对于第3种方法
3、,攻击者一旦获得一个密钥就可获取以后所有的密钥;而且用这种方法对所有用户分配初始密钥时,代价仍然很大。密钥分配的基本方法密钥分配的基本方法7 第4种方法比较常用,其中的第三方通常是一个负责为用户分配密钥的密钥分配中心。这时每一用户必须和密钥分配中心有一个共享密钥,称为主密钥。通过主密钥分配给一对用户的密钥称为会话密钥,用于这一对用户之间的保密通信。通信完成后,会话密钥即被销毁。如上所述,如果用户数为n,则会话密钥数为n(n-1)/2。但主密钥数却只需n个,所以主密钥可通过物理手段发送。密钥分配的基本方法密钥分配的基本方法8 下图是密钥分配的一个实例。假定两个用户A、B分别与密钥分配中心KDC(
4、key distribution center)有一个共享的主密钥KA和KB,A希望与B建立一个共享的一次性会话密钥,可通过以下几步来完成:1.2 密钥分配实例密钥分配实例9密钥分配实例密钥分配实例10 A向KDC发出会话密钥请求。表示请求的消息由两个数据项组成,第1项是A和B的身份,第2项是这次业务的惟一识别符N1,称N1为一次性随机数,可以是时戳、计数器或随机数。每次请求所用的N1都应不同,且为防止假冒,应使敌手对N1难以猜测。因此用随机数作为这个识别符最为合适。密钥分配实例分析密钥分配实例分析11 KDC为A的请求发出应答。应答是由KA加密的消息,因此只有A才能成功地对这一消息解密,并且
5、A可相信这一消息的确是由KDC 发出的。消息中包括A希望得到的两项内容:一次性会话密钥KS;A在中发出的请求,包括一次性随机数N1,目的是使A将收到的应答与发出的请求相比较,看是否匹配。因此A能验证自己发出的请求在被KDC收到之前,是否被他人篡改。而且A还能根据一次性随机数相信自己收到的应答不是重放的过去的应答。密钥分配实例分析密钥分配实例分析12 此外,消息中还有B希望得到的两项内容:一次性会话密钥KS;A的身份(例如A的网络地址)IDA。这两项由KB加密,将由A转发给B,以建立A、B之间的连接并用于向B证明A的身份。密钥分配实例分析密钥分配实例分析13 A存储会话密钥,并向B转发EKBKS
6、IDA。因为转发的是由KB加密后的密文,所以转发过程不会被窃听。B收到后,可得会话密钥KS,并从IDA可知另一方是A,而且还从EKB知道KS的确来自KDC。密钥分配实例分析密钥分配实例分析14 这一步完成后,会话密钥就安全地分配给了A、B。然而还能继续以下两步工作:B用会话密钥KS加密另一个一次性随机数N2,并将加密结果发送给A。A以f(N2)作为对B的应答,其中f是对N2进行某种变换(例如加1)的函数,并将应答用会话密钥加密后发送给B。这两步可使B相信第步收到的消息不是一个重放。注意:第步就已完成密钥分配,第、两步结合第步执行的是认证功能。密钥分配实例分析密钥分配实例分析15 网络中如果用户
7、数目非常多而且分布的地域非常广,一个KDC就无法承担为用户分配密钥的重任。问题的解决方法是使用多个KDC的分层结构。例如,在每个小范围(如一个LAN或一个建筑物)内,都建立一个本地KDC。同一范围的用户在进行保密通信时,由本地KDC为他们分配密钥。如果两个不同范围的用户想获得共享密钥,则可通过各自的本地KDC,而两个本地KDC的沟通又需经过一个全局KDC。这样就建立了两层KDC。类似地,根据网络中用户的数目及分布的地域,可建立3层或多层KDC。1.3 密钥的分层控制密钥的分层控制16 分层结构可减少主密钥的分布,因为大多数主密钥是在本地KDC和本地用户之间共享。再者,分层结构还可将虚假KDC的
8、危害限制到一个局部区域。17 会话密钥更换得越频繁,系统的安全性就越高。因为敌手即使获得一个会话密钥,也只能获得很少的密文。但另一方面,会话密钥更换得太频繁,又将延迟用户之间的交换,同时还造成网络负担。所以在决定会话密钥的有效期时,应权衡矛盾的两个方面。1.4 会话密钥的有效期会话密钥的有效期18 对面向连接的协议,在连接未建立前或断开时,会话密钥的有效期可以很长。而每次建立连接时,都应使用新的会话密钥。如果逻辑连接的时间很长,则应定期更换会话密钥。19 无连接协议(如面向业务的协议),无法明确地决定更换密钥的频率。为安全起见,用户每进行一次交换,都用新的会话密钥。然而这又失去了无连接协议主要
9、的优势,即对每个业务都有最少的费用和最短的延迟。比较好的方案是在某一固定周期内或对一定数目的业务使用同一会话密钥。20 用密钥分配中心为用户分配密钥时,要求所有用户都信任KDC,同时还要求对KDC加以保护。如果密钥的分配是无中心的,则不必有以上两个要求。然而如果每个用户都能和自己想与之建立联系的另一用户安全地通信,则对有n个用户的网络来说,主密钥应多达n(n-1)/2个。当n很大时,这种方案无实用价值,但在整个网络的局部范围却非常有用。1.5 无中心的密钥控制无中心的密钥控制21 无中心的密钥分配时,两个用户A和B建立会话密钥需经过以下3步,见下图:A向B发出建立会话密钥的请求和一个一次性随机
10、数N1。B用与A共享的主密钥MKm对应答的消息加密,并发送给A。应答的消息中有B选取的会话密钥、B的身份、f(N1)和另一个一次性随机数N2。A使用新建立的会话密钥KS对f(N2)加密后返回给B。22无中心的密钥分配无中心的密钥分配23 密钥可根据其不同用途分为会话密钥和主密钥两种类型,会话密钥又称为数据加密密钥,主密钥又称为密钥加密密钥。由于密钥的用途不同,因此对密钥的使用方式也希望加以某种控制。如果主密钥泄露了,则相应的会话密钥也将泄露,因此主密钥的安全性应高于会话密钥的安全性。一般在密钥分配中心以及终端系统中主密钥都是物理上安全的,如果把主密钥当作会话密钥注入加密设备,那么其安全性则降低
11、。1.6 密钥的控制使用密钥的控制使用24单钥体制中的密钥控制技术有以下两种。(1)密钥标签 用于DES的密钥控制,将DES的64比特密钥中的8个校验位作为控制使用这一密钥的标签。标签中各比特的含义为:一个比特表示这个密钥是会话密钥还是主密钥;一个比特表示这个密钥是否能用于加密;一个比特表示这个密钥是否能用于解密;其他比特无特定含义,留待以后使用。密钥的控制使用密钥的控制使用25 由于标签是在密钥之中,在分配密钥时,标签与密钥一起被加密,因此可对标签起到保护作用。本方案的缺点:第一,标签的长度被限制为8比特,限制了它的灵活性和功能;第二,由于标签是以密文形式传送,只有解密后才能使用,因而限制了
12、对密钥使用的控制方式。密钥的控制使用密钥的控制使用26(2)控制矢量 这一方案比上一方案灵活。方案中对每一会话密钥都指定了一个相应的控制矢量,控制矢量分为若干字段,分别用于说明在不同情况下密钥是被允许使用还是不被允许使用,且控制矢量的长度可变。控制矢量是在KDC产生密钥时加在密钥之中的,过程由下图所示。密钥的控制使用密钥的控制使用27 首先由一杂凑函数将控制矢量压缩到与加密密钥等长,然后与主密钥异或后作为加密会话密钥的密钥,即 其中CV是控制矢量,h是杂凑函数,Km是主密钥,KS是会话密钥。会话密钥的恢复过程如下图所示,表示为:minmoutKHSHh CVKKHKEKmmsKHKHSKDEK
13、密钥的控制使用密钥的控制使用28控制矢量的使用方式控制矢量的使用方式29 KDC在向用户发送会话密钥时,同时以明文形式发送控制矢量。用户只有使用与KDC共享的主密钥以及KDC发送来的控制矢量才能恢复会话密钥,因此还必须保留会话密钥和它的控制矢量之间的对应关系。密钥的控制使用密钥的控制使用30 与使用8比特的密钥标签相比,使用控制矢量有两个优点:第一,控制矢量的长度没有限制,因此可对密钥的使用施加任意复杂的控制;第二,控制矢量始终是以明文形式存在,因此可在任一阶段对密钥的使用施加控制。密钥的控制使用密钥的控制使用31 前面介绍了单钥密码体制中的密钥分配问题,而公钥加密的一个主要用途是分配单钥密码
14、体制使用的密钥。本节介绍两方面内容:一是公钥密码体制所用的公开密钥的分配,二是如何用公钥体制来分配单钥密码体制所需的密钥。2.公钥加密体制的密钥管理公钥加密体制的密钥管理32 本小节讲述公钥的分配方法。1.公开发布 公开发布指用户将自己的公钥发给每一其他用户,或向某一团体广播。例如PGP(pretty good privacy)中采用了RSA算法,它的很多用户都是将自己的公钥附加到消息上,然后发送到公开(公共)区域,如因特网邮件列表。2.1 公钥的分配公钥的分配33 这种方法虽然简单,但有一个非常大的缺点,即任何人都可伪造这种公开发布。如果某个用户假装是用户A并以A的名义向另一用户发送或广播自
15、己的公开钥,则在A发现假冒者以前,这一假冒者可解读所有意欲发向A的加密消息,而且假冒者还能用伪造的密钥获得认证。公钥的发布公钥的发布342.公用目录表 公用目录表指一个公用的公钥动态目录表,公用目录表的建立、维护以及公钥的分布由某个可信的实体或组织承担,称这个实体或组织为公用目录的管理员。与第1种分配方法相比,这种方法的安全性更高。该方案有以下一些组成部分:管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项:一是用户名,二是用户的公开钥。每一用户都亲自或以某种安全的认证通信在管理者那里为自己的公开钥注册。公钥的目录表公钥的目录表35 用户如果由于自己的公开钥用过的次数太多或由于与公开
16、钥相关的秘密钥已被泄露,则可随时用新密钥替换现有的密钥。管理员定期公布或定期更新目录表。例如,像电话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新。用户可通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信。公钥的目录表公钥的目录表36 本方案的安全性虽然高于公开发布的安全性,但仍易受攻击。如果敌手成功地获取管理员的秘密钥,就可伪造一个公钥目录表,以后既可假冒任一用户又能监听发往任一用户的消息。而且公用目录表还易受到敌手的窜扰。公钥的目录表公钥的目录表373.公钥管理机构 如果在公钥目录表中对公钥的分配施加更严密的控制,安全性将会更强。与公用目录表类似,这里假定有一个公钥
17、管理机构来为各用户建立、维护动态的公钥目录,但同时对系统提出以下要求,即:每个用户都可靠地知道管理机构的公开钥,而只有管理机构自己知道相应的秘密钥。公开钥的分配步骤如下,如下图:38公钥管理机构分配公钥公钥管理机构分配公钥39 用户A向公钥管理机构发送一个带时戳的消息,消息中有获取用户B的当前公钥的请求。管理机构对A的请求作出应答,应答由一个消息表示,该消息由管理机构用自己的秘密钥SKAU加密,因此A能用管理机构的公开钥解密,并使A相信这个消息的确是来源于管理机构。公钥管理机构分配公钥公钥管理机构分配公钥40应答的消息中有以下几项:B的公钥PKB,A可用之对将发往B的消息加密;A的请求,用于A
18、验证收到的应答的确是对相应请求的应答,且还能验证自己最初发出的请求在被管理机构收到以前是否被篡改;最初的时戳,以使A相信管理机构发来的消息不是一个旧消息,因此消息中的公开钥的确是B当前的公钥。公钥管理机构分配公钥公钥管理机构分配公钥41 A用B的公开钥对一个消息加密后发往B,这个消息有两个数据项:一是A的身份IDA,二是一个一次性随机数N1,用于惟一地标识这次业务。B以相同方式从管理机构获取A的公开钥(与步骤、类似)。这时,A和B都已安全地得到了对方的公钥,所以可进行保密通信。然而,他们也许还希望有以下两步,以认证对方。公钥管理机构分配公钥公钥管理机构分配公钥42 B用PKA对一个消息加密后发
19、往A,该消息的数据项有A的一次性随机数N1和B产生的一个一次性随机数N2。因为只有B能解密的消息,所以A收到的消息中的N1可使其相信通信的另一方的确是B。A用B的公开钥对N2加密后返回给B,可使B相信通信的另一方的确是A。公钥管理机构分配公钥公钥管理机构分配公钥43 以上过程共发送了7个消息,其中前4个消息用于获取对方的公开钥。用户得到对方的公开钥后保存起来可供以后使用,这样就不必再发送前4个消息了,然而还必须定期地通过密钥管理中心获取通信对方的公开钥,以免对方的公开钥更新后无法保证当前的通信。公钥管理机构分配公钥公钥管理机构分配公钥444.公钥证书 上述公钥管理机构分配公开钥时也有缺点,由于
20、每一用户要想和他人联系都需求助于管理机构,所以管理机构有可能成为系统的瓶颈,而且由管理机构维护的公钥目录表也易被敌手窜扰。公钥证书公钥证书45 分配公钥的另一方法是公钥证书,用户通过公钥证书来互相交换自己的公钥而无须与公钥管理机构联系。公钥证书由证书管理机构CA(certificate authority)为用户建立,其中的数据项有与该用户的秘密钥相匹配的公开钥及用户的身份和时戳等,所有的数据项经CA用自己的秘密钥签字后就形成证书,即证书的形式为CA=ESKCAT,IDA,PKA,其中IDA是用户A的身份,PKA是A的公钥,T是当前时戳,SKCA是CA的秘密钥,CA即是为用户A产生的证书。产生
展开阅读全文