ch-06用对称密码实现保密性

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

南京农业大学信息学院1密码学南京农业大学信息学院主讲:赵力南京农业大学信息学院2第六讲用对称密码实现保密性密码学仅是安全性的一部分,甚至经常是很小的一部分。它仅在数学上使一个系统安全,这与实际使系统安全是两码事。人们在花费很多的时间讨论密钥应该有多长时,通常忘记了其他的事情。南京农业大学信息学院3本讲主要内容密码功能的设置密钥分配随机数的产生南京农业大学信息学院4如果要用加密来对抗针对保密性的攻击,我们就必须确定加密功能在系统中的设置位置。南京农业大学信息学院5典型商业组织计算机网的安全隐患工作站LAN通信服务器配线室碟形卫星天线PBX多路复用器多路复用器多路复用器电话公司交换中心帧中继或ATM网南京农业大学信息学院6易受攻击的位置局域网•广播网,担心被其他雇员窃听信息帧或监视流量•通信服务器如提供拨号接入能力,窃听者不一定必须在建筑物内。通信链路•路由器、调制解调器、通信服务器•通信服务器到配线室的线路•作为中转接点的配线室•天线、微波和卫星信道处理数据的软件和硬件南京农业大学信息学院7易受攻击的位置结论:攻击者无处不在攻击方式:被动攻击和主动攻击对于广域网,许多易受攻击的地方不为终端用户所控制。对于局域网,不安全的因素也有很多。南京农业大学信息学院8加密功能的实施方式密码学作为网络安全的核心。要运用加密机制来防止攻击和增强安全,就需要确立:•对什么内容进行加密•加密机制应该在什么地方实施南京农业大学信息学院9理论上加密可以在OSI模型的任何位置。事实上一般在最底层或较高层。•较底层:链到链加密(link-by-linkencryption)•较高层:端对端加密(end-to-endencryption)实施加密的位置南京农业大学信息学院10链到链加密使用链到链(链路)加密,是在通信链路两端加上加密设备,以保证链路上的安全信息传输。PBXPBXKK南京农业大学信息学院11链到链加密要让这个策略有效,所有潜在链路都要使用链路加密。共享一条链路的每对节点应共享唯一的密钥。每次分组交换都需要将消息解密,以获得必要的数据包头地址,以便巡径。EK1节点1DK1节点2EK2DK3节点4DK2节点3EK3链1链2链3PP南京农业大学信息学院12流量的保密性通常用户认为已经采用了加密机制保护数据,对流量的安全性不够重视,研究表明可以从流量分析攻击中得到如下信息类型:通信双方的身份;双方通信的频率和时间段;消息格式、消息长度或者消息频繁交换可以暗示出消息的重要性;与通信双方某些特定会话相关联的事件。南京农业大学信息学院13链-链加密的优缺点优点易操作,对用户透明,通过链路传送之前所有数据都被加密;每一个链接仅需要一组密钥;任何路由信息都被加密,提供流量保密性;加密是在线的。缺点在中间节点间数据易被暴露南京农业大学信息学院14端对端加密端对端加密的过程在两端系统中进行。由源主机或终端加密数据。密文经由网络传送到目的主机或终端。目的主机与源主机共享一个密钥以便解密。KK南京农业大学信息学院15端对端加密EK节点1节点2DK节点4节点3链1链2链3PP南京农业大学信息学院16端-端加密的优缺点优点保密级别更高缺点需要更复杂的密钥管理系统由于路由信息未被加密,流量分析是可能的加密的离线的。17链-链加密与端-端加密的比较1、从安全性看:链到链加密•消息在发送主机为明文;•消息在中间节点为明文端对端加密•消息在发送主机为密文•消息在中间节点为密文结论:终端和节点上端-端加密的安全性更高18链-链加密与端-端加密的比较-22、从用户的角色看链到链加密•与发送主机交互•加密过程对用户透明•主机含加密设备•所有用户使用一个加密设备•可以硬件实现•所有消息被加密或都不被加密端对端加密•与发送过程交互•用户自己使用加密•用户决定加密算法•用户选择加密体制•软件实现•用户决定每条消息是否加密19链-链加密与端-端加密的比较3、从实现看:链到链加密•每两个中间主机节点需一个密钥•提供主机鉴别端对端加密•每对用户需一个密钥•提供用户认证结论:链-链加密所需的密钥数较少20链到链加密端对端加密安全性消息在发送主机为明文消息在发送主机为密文消息在中间节点为明文消息在中间节点为密文用户的角色与发送主机交互与发送过程交互加密过程对用户透明用户自己使用加密主机含加密设备用户决定加密算法所有用户使用一个加密设备用户选择加密体制可以硬件实现软件实现所有消息被加密或都不被加密用户决定每条消息是否加密实现时要注意每个中间主机节点和每两个中间主机节点需一个密钥每对用户需一个密钥提供主机鉴别提供用户认证南京农业大学信息学院21分组交换网中两种加密方式的结合南京农业大学信息学院22本讲主要内容密码功能的设置密钥分配随机数的产生南京农业大学信息学院23密钥分配对称密码要求消息交换双方共享密钥,且此密钥不为他人所知。因此,密钥分配技术直接影响到整个密码系统的强度。密钥分配:是指将密钥发放给希望交换数据的双方而不让别人知道的过程。南京农业大学信息学院24密钥分配的研究密钥分配的研究一般需要解决两个主要问题:引进自动密钥分配机制,减轻负担,提高系统的效率;尽可能减少系统中驻留的密钥量,提高安全性。南京农业大学信息学院25共享密钥分配的基本办法-1、2两个需要通信的用户A和B获得共享密钥的方法:方法1:密钥由A选取,并亲自交给B。方法2:第三方C选取密钥后亲自交给A和B。南京农业大学信息学院26讨论方法1和方法2均为人工发送方法•链-链加密时,人工发送是可行的。•端-端加密时,人工发送是不可行的。问题的规模取决于通信双方的个数。如果每对主机一个密钥,N台主机需要N(N-1)/2对。1000个节点的网络需要50万个密钥。若它支持10000个应用,则应用层加密还得有5000万个密钥。结论:密钥分配的代价太大。南京农业大学信息学院27共享密钥分配的基本办法-3方法3:如果A、B事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方。讨论:•既可用于链路加密也可用于端对端加密•但是,攻击者一旦获得一个密钥就可很方便地获取以后的所有密钥。•并且,成千上万的初始密钥还是要想办法分发下去。结论:安全性不够。南京农业大学信息学院28共享密钥的基本办法-4方法4:如果A和B与第三方C分别有一保密信道,则C为A、B选取密钥后,分别在两个保密信道上发送给A、B。南京农业大学信息学院29密钥分配过程及相关概念其中的C通常是一个可信的负责为用户(主机、进程、应用程序)分配密钥的密钥分配中心(KDC)。每一用户X和KDC之间有一共享密钥Kx,称为主密钥,此密钥专用于密钥分配。两个用户A和B需要进行通信时,KDC选取一个临时密钥称为会话密钥Ks,并分别在主密钥KA、KB的保护下,将会话密钥密钥分配给用户,用于这一对用户之间的保密通信。通信完成后,Ks即被销毁。南京农业大学信息学院30层次式密钥数据会话密钥主密钥密码学方法保护密码学方法保护非密码学方法保护南京农业大学信息学院31讨论对于N个用户:•会话密钥数为N(N-1)/2,•主密钥数却只需N个。结论:主密钥仍需通过物理手段发送,但可实现会话密钥的自动分配。广泛用于端到端加密方式的密钥分配。南京农业大学信息学院32密钥自动分配实例假定用户A、B分别于密钥分配中心KDC有一个共享的主密钥KA和KB,A希望与B建立一个逻辑连接,并希望有一个一次性会话密钥来保护该连接上的数据传送,具体过程如下:南京农业大学信息学院33Step1:A向KDC发出会话密钥请求,该消息由两个数据项组成:A的身份IDA和B的身份IDB这次业务的惟一识别符N1,也称为零时交互号(nonce)KDCAB南京农业大学信息学院34Step2:KDC对A的请求发出应答,整个消息用A的主密钥KA加密,其中包括:给A的两项:1、一次性会话密钥KS;2、A在第1步中发出的请求,包括一次性随机数N1,给B的两项(用B的主密钥KB加密):1、一次性会话密钥KS;2、A的身份(例如A的网络地址)IDA。KDCAB[2]EKA[KS||Request||N1||EKB[KS||IDA]]南京农业大学信息学院35Step3:A存储KS备用,并将消息的后两项EKB[KS||IDA]转发给BB解密该消息,存储Ks备用到此为止,KDC将会话密钥安全地自动地分配给了A和B。KDCAB[3]EKB[KS||IDA]][2]EKA[KS||Request||N1||EKB[KS||IDA]]南京农业大学信息学院36Step4:B发送一零时交互号N2给A,该消息用KS加密Step5:A以f(N2)作为对B的应答,应答消息也用KS加密KDCAB[2]EKA[Ks|Request||N1||EKB[Ks,IDA]][4]EKs[N2][5]EKs[f(N2)][3]EKB[Ks||IDA]南京农业大学信息学院37密钥自动分配实例-几点解释零时交互号N1、N2用随机数最为合适,因为:•每次通话都应不同以防止重放•应难以猜测以防止假冒第2步中A通过KDC返回的N1能验证:•自己发出的请求在被KDC收到之前未被他人篡改•自己收到的应答不是对以前应答的重放。4、5两步可使B相信第3步收到的不是一个重放消息1~3步完成密钥分配,4~5步执行认证功能南京农业大学信息学院38密钥分配的分层控制如果网络中的用户数目多而且地域分布广,一个KDC将无法负担对所有用户的密钥分配任务。采用分层的KDC结构是一种较好的解决方式。如一些本地KDC各自负责整个网络中的一个小区域。分层结构的好处•可减少主密钥的分布,因大多数主密钥是在本地KDC和本地用户之间的共享。•可将虚假KDC的危害限制到一个局部区域内。南京农业大学信息学院39分布式密钥控制*集中式的密钥分配方案要求:•所有用户都信任KDC•同时还要求对KDC加以保护。如果密钥的分配是无中心的,也就是分布的,则不必有以上两个要求。每个端系统都能和自己想与之建立联系的另一端系统安全地通信。•对于有N个端系统的网络,采用分布式密钥分配策略时主密钥会多达N(N-1)/2个。当N很大是这种方案没有实用价值。•但是在整个网络的某个局部范围内却非常有用。南京农业大学信息学院40一个有缺陷的实例“我们的压力很大,福尔摩斯先生。”侦探莱斯垂德神情焦虑地说,“我们已经知道了政府重要文件的拷贝到了某外国驻伦敦大使馆的电脑里。而正常情况下,只在政府少数几台电脑里才有这些文件,而且这些电脑戒备森严。当然,有时候这些文件也会经过网络发送到政府其他电脑上。但是网络上的所有信息都已经被最强悍的加密算法加密过,这些算法是由我们最好的密码专家设计的,即使是CIA和KGB也没办法攻破。可是这些文件竟然出现在一个不值一提的小国手里,这是怎么回事呢?”南京农业大学信息学院41找到实施攻击的位置“你总想到了一些可疑人物吧?”“有,我们做了例行调查。有一名雇员合法地使用了政府的某台电脑。并且经常能够接触那个大使馆的文件。但是他的电脑不是核心电脑,正常情况下没有那些文件。他有些可疑,但是我们无法得知他是怎么搞到文件拷贝的。而且,即使他搞到了一个加密后的拷贝,他也没有办法解密呀。”南京农业大学信息学院42确认对手实施攻击的对象“嗯。描述一下网络所用的通信协议吧。”“网络的每个节点N都分配了一个唯一的主密钥Kn,用这个密钥来保证节点和可信任的服务器S之间的通信安全。服务器上也存储了所有的密钥。用户A向发送密文M给用户B,使用以下协议:南京农业大学信息学院43确认对手实施攻击的对象1.A产生一个随机数R并且将自己的名字、用户B的名字以及Eka[R]发送给服务器。2.服务器做出响应,发送Ekb[R]给A。3.A发送ER[M]和Ekb[R]给B。4.B知道Kb,因此将Ekb[R]解密,从而知道了R,然后用R解密ER[M]得到M。”44通信协议示意图ABS[2]EKb(R)[1]Da|

1 / 71
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功