信息安全概述.ppt_第1页
信息安全概述.ppt_第2页
信息安全概述.ppt_第3页
信息安全概述.ppt_第4页
信息安全概述.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(第九讲) 基本协议 山西大学计算机与信息技术学院 郭丽峰,信息安全,密码协议的基本概念,所谓协议,就是指两个或两个以上的参与 者为了完成某一特定任务而采取的一系列 执行步骤。 这里包含三层含义: (1)协议是一个有序的执行过程。每一步骤都必须执行,而且执行是依序进行的。随意增加和减少执行步骤或改变步骤的,密码协议的基本概念,执行顺序,都是对协议的篡改或攻击。 (2)协议至少要有两个参与者。虽然一个人通过执行一系列的步骤来完成某种任务,但是它不构成协议。 (3)协议的执行必须能完成某种任务。,算法与协议的比较,算法是求解问题的一组有穷的运算规则, 这些规则给出了求解特定类型问题的运算 序列。算

2、法具有以下特征: (1)有穷性。一个算法总是在运算有穷步之后结束,而且每一步都可以在有穷时间内完成。 (2)确定性。算法的每一个步骤都必须有确定的含义,无二义性,并且在任何条件下算法都只有唯一的一条执行路径。,算法与协议的比较,(3)输入。算法可以无输入,也可以有输入。这些输入是在算法开始执行前提供给算法的。 (4)输出。算法有一个或多个输出。这些输出是与输入有某种确定关系的量。 (5)能行性.算法的执行所花费的时间和空间是在现实计算资源条件下实现的。,算法与协议的比较,协议与算法的相同点:都要求有穷性、确 定性和能行性。 不同之处:协议强调至少有两个参与者, 而且双方之间还要进行通信。 协议

3、强调完成某一特定任务,而算法强调 问题求解。即,协议强调处理,算法强调 计算。,算法与协议的比较,协议的执行步骤在粒度上比较粗,比较宏 ,而算法的执行步骤在粒度上比较细,其 步骤常常是一些基本运算。由于算法强调 计算,所以输入和输出都是一些量。而协 议的输入通常是执行的一些条件,而输出 是协议执行的结果,结果通常表现为一种 状态。,算法与协议的比较,算法和协议是两种不同层次上的概念。算 法是低层次上的概念,而协议是高层次上 的概念,协议建立在算法的基础之上。,9.1密钥交换,9.1.1混合密码系统 在讨论把DES算法(1977.1)作为标准的同时 ,公开了第一个公开密钥算法(1976)。这 导

4、致了密码学团体中的政治党派之争。 公开密钥算法不会代替对称算法。公开密 钥算法不用来加密消息,而用来加密密钥 。,9.1.1混合密码系统,因为: 1)公开密钥算法比对称算法慢,对称算法一般比公开密钥算法快1000倍。 2)公开密钥密码系统对选择明文攻击是脆弱的。如果C=E(P),当P是n个可能明文集中的一个明文,那么密码分析者只需要加密所有可能的明文,并能与C比较结果。用这种方法,不可能恢复解密密钥,但他能够确定P.,9.1.1混合密码系统,如果P是比一百万美元少的某个美元值,密 码分析家尝试所有一百万个可能的美元值,就可能得到结果。 在大多数实际的实现中,公开密钥密码用 来保护和分发会话密钥

5、,这些会话密钥用 在对称算法中,对通信消息进行保密,称 这种系统为混合密码系统(hybrid cryptosystem),9.1.1混合密码系统,(1)Bob将他的公开密钥发给Alice. (2)Alice产生随机会话密钥K,用Bob的公开密钥加密,并把加密的密钥EB(K)送给Bob. (3)Bob用他的私人密钥解密Alice的消息,恢复出会话密钥:DB(EB(K)=K. (4)他们两人用同一个会话密钥对他们的通信消息进行加密。,9.1.1混合密码系统,把公开密钥密码用于密钥分配解决了重要 的密钥管理问题。,9.1.2对称密码学的密钥交换协议,9.1.2对称密码学的密钥交换协议,这个协议依赖于

6、Trent的绝对安全性。Trent更可 能是可信的计算机程序,而不是可信的人。如果 Malice破坏了Trent,整个网络都会遭受损害。他 有Trent与每个用户共享的所有秘密密钥;他可 以读所有过去和将来的通信业务。 另一个问题:Trent可能会成为瓶颈。他必须参 与每一次密钥交换,如果Trent失败了,这个系统就会被破坏。,9.1.3公开密钥密码学的密钥交换协议,(1)Alice从PKDB得到Bob的公开密钥。 (2)Alice产生随机会话密钥,用Bob的公开密钥加密,并把加密的密钥EB(K)送给Bob. (3)Bob用他的私人密钥解密Alice的消息,恢复出会话密钥:DB(EB(K)=K

7、. (4)他们两人用同一个会话密钥对他们的通信消息进行加密,9.1.3公开密钥密码学的密钥交换协议,中间人攻击: Malice能够截取Alice的数据库查询,并用 自己的公开密钥代替Bob的公开密钥,对 Bob他能做同样的事情。因为Alice和Bob无 法验证他们的互相交谈。,9.1.4使用数字签名的密钥交换,在会话密钥交换协议期间采用数字签名能防止中 间人攻击。Trent对Alice和Bob的公开密钥签名。 签名的密钥包括一个已签名的所有权证书。当 Alice和Bob收到密钥时,他们每人都能验证Trent 的签名。那么他们就知道公开密钥是哪个人的。,9.1.5 密钥和消息传输,Alice和B

8、ob在交换消息前不需要完成密钥 交换协议。在下面的协议中,Alice在没有 任何以前的密钥交换协议的情况下,将消 息M传送给Bob: (1)Alice产生一随机会话密钥K,并用K加密M: EK(M). Alice可以把加密的消息传送给几个人。,9.1.5 密钥和消息传输,(2)Alice从数据库中得到Bob的公开密钥。 (3)Alice用Bob的公开密钥加密K:EB(K) (4)Alice用加密的消息和加密的会话密钥传送给Bob: EK(M), EB(K). (5)Bob用他的私人密钥将Alice的会话密钥K解密。 (6)Bob用会话密钥将Alice的消息解密。,9.1.6密钥和消息广播,Al

9、ice把加密消息传送给Bob, Carol, Dave: (1)Alice产生一随机会话密钥K, 并用K加密消息M: EK(M). (2)Alice 从数据库中得到Bob, Carol, Dave的公开密钥。 (3)Alice用Bob的公开密钥加密K,用Carol的公开密钥加密K,用Dave的公开密钥加密K: EB(K),EC(K),ED(K).,9.1.6密钥和消息广播,(4)Alice广播加密的消息和所有加密的密钥,将它传送给要接收它的人: EB(K),EC(K),ED(K). (5)只有Bob, Carol, Dave能用他们的私钥将K解密。 (6)只有Bob, Carol, Dave能

10、用K将Alice的消息解密。 这个协议可以再存储转发网络上实现。,9.2鉴别,当Alice登录计算机(或自动柜员机、电话银行系 统或其他的终端类型)时,计算机怎么知道她是 谁呢?计算机怎么知道她不是由其他人冒充的呢 ?传统的办法是用口令来解决这个问题的。Alice 先输入她的口令,然后计算机确认它是正确的。 Alice和计算机两者都知道这个口令,当Alice每次 登录时,计算机都要求Alice输入口令。,9.2.1 使用单向函数鉴别,计算机没有必要知道口令。计算机只需有 能力区别有效口令和无效口令。 使用单向函数实现。 计算机存储口令的单向函数而不是存储口 令。,9.2.1 使用单向函数鉴别,

11、(1)Alice将她的口令传送给计算机。 (2)计算机完成口令的单向函数计算。 (3)计算机把单向函数的运算结果和它以前存储的值进行比较。 由于计算机不再存储每人的有效口令表, 所以某些人侵入计算机,并偷取口令的威 胁就减少了。由口令的单向函数产生的口,9.2.1 使用单向函数鉴别,令表是没有用的,因为单向函数不可能逆 向恢复出口令。,9.2.2字典式攻击和Salt,用单向函数加密的口令文件还是比较脆弱。 Malice编制了1000000个常用的口令表,他 用单向函数对所有1000000个口令进行运 输,并将结果存储起来。如果每个口令大 约是8个字节,运算结果的文件不会超过 8M字节。现在Ma

12、lice偷出加密的口令文件,9.2.2字典式攻击和Salt,将它与自己可能口令文件进行比较,再观 察哪个能匹配。 使用Salt方法抵制这种攻击。 Salt是一个随机字符串,它与口令连接在一 起,再用单向函数对其运算,然后将salt值 和单向函数运算的结果存入主机数据库中 。如果可能的salt值的数目足够大的话,它,9.2.2字典式攻击和Salt,消除了字典式攻击。 许多salt是必须的,大多数UNIX系统仅使 用12位的salt.,9.2.3 SKEY,SKEY是一种鉴别程序,它依赖于单向函数 的安全性。 为了设置系统,Alice输入随机数R,计算机 计算f(R), f(f(R), f(f(f

13、(R)等大约100次。 调用x1,x2, x3.,x100这些数。计算机打 印出这些数的列表,Alice把这些数放入安 全地方,计算机也顺利地登陆数据库中,9.2.3 SKEY,Alice的名字后面存储x101的值。 当Alice第一次登陆时,她输入她的名字和 x100,计算机计算f(x100),并把它和x101 比较,如果它们匹配,那么证明Alice的身 份是真的。然后,计算机用x100代替数据 库中的x101. Alice将从她的列表中取消x100.,9.2.3 SKEY,Alice每次登陆时,都输入她的列表中未取 消的最后的数xi,计算机计算f(xi), 并和存储 在它的数据库中的xi+

14、1比较,因为每个数 只被用一次,并且这个函数是单向的,所 以敌手不可能得到任何有用的信息。 Alice用完了她的列表上面的数后,必须重 新初始化系统。,9.2.4 使用公开密钥密码鉴别,前面的协议安全问题:当Alice将她的口令 发送给主机时,能够进入她的数据通道的 任何人都可读取她的口令。如果敌手可以 存取主机的处理机存储器,那么在主机对 口令进行单向计算前,敌手就能够得到口 令。,9.2.4 使用公开密钥密码鉴别,使用公钥密码解决此问题: (1)主机发送给一个随机字符串给Alice. (2)Alice用她的私钥对此随机字符串加密,并将此字符串和她的名字一起传送回主机。 (3)主机在它的数据

15、库中查找Alice的公钥,并用公钥解密。,9.2.4 使用公开密钥密码鉴别,(4)如果解密后的字符串与主机在第一步中发送给Alice的字符串匹配,则允许Alice访问系统。,9.3 秘密分割,假设你有一个做蛋糕的秘方,给一个雇员 又怕不安全,万一他辞职,将你的秘方全 部带走,怎么办?将秘密分割! 每一个雇员有一部分,那么只有他们放在 一起才能做出美味的蛋糕!如果任意一个 雇员辞职带走一部分配方,它本身都毫无 用处!,9.3 秘密分割,在两个人之间分割一消息是最简单的共享 问题。下面是Trent把一消息分割给Alice和Bob的一个协议: (1)Trent产生一随机位串R,和消息M一样长。 (2)Trent用R异或M得到S: M R=S (3)Trent把R给Alice,将S给Bob.,9.3 秘密分割,为了重构此消息,Alice和Bob只需一起做 一步: (4)Alice和Bob将他们的消息异或就可得到此消息: SR=M. 实质上,Trent是用一次一密乱码本加密消 息,并将密文给一人,乱码本给另一人。,9.3 秘密分割,下面是在多个人中分割一消息,Trent把消 息划分成四部分: (1)Trent产生三个随机位串R、S、T,每个随机串与消息M一样长。 (2)T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论