网络安全协议
(1)Alice和Bob协商用同一密码系统。 (2)Alice和Bob协商同一密钥。 (3)Alice用加密算法和选取的密钥加密他的明文消
息,得到了密文消息。 (4)Alice发送密文消息给Bob。 (5)Bob用同样的算法和密钥解密密文,然后读它。
PPT文档演模板
网络安全协议
l 对称密码算法存在下面的问题
网络安全协议
PPT文档演模板
2020/12/13
网络安全协议
为什么需要协议?
l 密码学的用途是解决种种难题。 l 密码学解决的各种难题围绕机密性、鉴别、完
整性和不诚实的人。 l 你可能了解各种算法和技术,但除非它们能够
解决某些问题,否则这些东西只是理论而已。
PPT文档演模板
网络安全协议
课程介绍
l 密码协议 l 网络安全应用:Kerberos、PGP、S/MIME、
l 公开密钥密码学( public-key cryptography )
l 使用两个不同的密钥,一个是公开的,另一个是秘 密的。
l 从公开密钥很难推断出私人密钥。 l 持有公开密钥的任何人都可加密消息,但却不能解
密,只有持有私人密钥的人才能解密。
PPT文档演模板
网络安全协议
l 例:下面描述Alice怎样使用公开密钥密码 发送消息给Bob
PPT文档演模板
网络安全协议
l 协议的目的
l 计算机需要正式的协议来完成人们不用考虑就能做 的事情。
l 保证公平和安全 l 根据完成某一任务的机理,协议抽象出完成此任务
的过程。
PPT文档演模板
网络安全协议
l 密码协议
l 使用密码学的协议。 l 参与该协议的伙伴可能是朋友和完全信任的人,
或者也可能是敌人和互相完全不信任的人。
l 仲裁者能帮助互不信任的双方完成协议。
PPT文档演模板
网络安全协议
Trend
Alice
Bob
l 例1:Alice要卖汽车给不认识的Bob,Bob想用支票付 账,但Alice不知道支票的真假。在Alice将车子转给 Bob前,他必须查清支票的真伪。同样,Bob也并不 相信Alice,就像Alice不相信Bob一样,在没有获得所 有权前,也不愿将支票交给Alice。这时就需要双方信 任的律师,在律师的帮助下,Alice和Bob能够用下面 的协议保证互不欺骗。
l 是现代密码学的中心,是许多协议的另一个结 构模块。
PPT文档演模板
网络安全协议
l 散列函数把可变输入长度串(叫做预映射)转 换成固定长度(经常更短)输出串(叫做散列 值)的一种函数。
l 简单的散列函数就是对预映射的处理,并且返 回由所有输入字节异或组成的一字节。
PPT文档演模板
网络安全协议
l 消息鉴别码
l 签名的文件是不可改变的。在文件签名后,文件不能改 变。
l 签名是不可抵赖的。签名和文件是物理的东西。签名者 事后不能声称他没有签过名。
PPT文档演模板
网络安全协议
l 使用对称密码系统和仲裁者对文件签名
l Trent是一个有权的、值得依赖的仲裁者。他能同 时与Alice和Bob(也可以是其他想对数据文件签名 的任何人)通信。他和Alice共享秘密密钥KA,和 Bob共享另一个不同的秘密密钥KB。
网络安全协议
第一章 协议结构模块
1.1 协议概述
l 什么是协议
l 一系列步骤,它包括两方或多方,设计它的目的是要完成一项 任务。
l 协议的特点
l 协议中的每个人都必须了解协议,并且预先知道所要完成的所 有步骤
l 协议中的每个人都必须同意并遵循它 l 协议必须是清楚的,每一步必须明确定义,并且不会引起误解 l 协议必须是完整的,对每种可能的情况必须规定具体的动作
PPT文档演模板
网络安全协议
l 例:
(1)Bob将他的公开密钥发给Alice。
(2)Alice产生随机会话密钥K,用Bob的公开密 钥加密,并把加密的密钥Eb(K)送给Bob.
(3)Bob用他的私人密钥解密Alice的消息,恢复 出会话密钥:DB(EB(K))=K。
(4)他们两人用同一会话密钥对他们的通信消息 进行加密。
PPT文档演模板
网络安全协议
l 使用公开密钥密码术对文件签名
l 有几种公开密钥算法能用作数字签名。在某些算 法中,例如RSA,公开密钥或者私人密钥都可用 作加密。用你的私人密钥加密文件,你就拥有安 全的数字签名。在其他情况下,如DSA,算法便 区分开来了——数字签名不能用于加密。
PPT文档演模板
网络安全协议
(1)Alice和Bob选用一个公开密钥密码系统; (2)Bob将他的公开密钥传送给Alice; (3)Alice用Bob的公开密钥加密他的消息,然后传
送给Bob; (4)Bob用他的私人密钥解密Alice消息。
PPT文档演模板
网络安全协议
l 一般的说,网络中的用户约定一公开密钥密码系 统,每一用户有自己的公开密钥和私人密钥,并 且公开密钥在某些地方的数据库中都是公开的。
监察人:在某些协议中保护Alice和Bob 证明人 验证者
网络安全协议
仲裁协议
l 仲裁者是在完成协议的过程中,值得信任的公正的第三 方。
l “公正”意味着仲裁者在协议中没有既得利益,对参与 协议的任何人也没有特别的利害关系。
l “值得信任”表示协议中的所有人都接受这一事实,即 仲裁者说的都是真实的,他做的是正确的,并且他将完 成协议中涉及他的部分。
PPT文档演模板
网络安全协议
l 签名过程
l 非仲裁子协议(每次都执行):
l Alice和Bob谈判合同的条款 l Alice签署合同 l Bob签署合同
l 裁决子协议(仅在有争议的时候执行)
l Alice和Bob出现在法官面前 l Alice提出他的证据 l Bob也提出他的证据 l 法官根据证据裁决
l 裁决者和仲裁者的不同:裁决者不总是必需的。
l 签名过程如下
(1)Alice用她的私人密钥对文件加密,从而对文件 签名。
(2)Alice将签名的文件传给Bob。 (3)Bob用Alice的公开密钥解密文件,从未验证签
名。
PPT文档演模板
网络安全协议
l 使用公开密钥密码学和单向散列函数对文 件签名
l 在实际的实现过程中,采用公开密钥密码算 法对长文件签名效率太低,为了节约时间, 数字签名协议经常和单向散列函数一起使用。
l 密钥必须秘密地分配,它们比任何加密的消息更有 价值,因为知道了密钥意味着知道了所有消息。
l 如果密钥被损害了(被偷窃,猜出来,被逼迫交出 来,受贿等等),那么Eve就能用该密钥去解密所 有传送的消息,也能够假装是协议的一方,产生虚 假消息去愚弄另一方。
l 假设网络中每对用户使用不同的密钥,那么密钥总 数随着用户数的增加迅速增多。
l 这个协议就更容易了
(1)Alice从数据库中得到Bob的公开密钥。 (2)Alice用Bob的公开密钥加密消息,然后送给Bob。 (3)Bob用自己的私人密钥解密Alice发送消息。
PPT文档演模板
网络安全协议
l 混合密码系统(Hybrid Cryptosystems)
l 在大多数实际的实现中,公开密钥密码用来保护和 分发会话密钥(session key),这些会话密钥用在 对称算法中,对通信消息进行保密,有时称这种系 统为混合密码系统。
l 有一个秘密陷门的一类特殊的单向函数。 l 在一个方向上易于计算而反方向却难于计算;但是
如果知道那个秘密,就能很容易在另一个方向上计 算出这个函数。
PPT文档演模板
网络安全协议
1.4 单向散列函数
l 单向散列函数有很多名字:压缩函数、收缩函 数、消息摘要、指纹、密码校验和、信息完整 性检验,操作检验码
l 消息鉴别码(Message Authentication Code,MAC) 也叫数据鉴别码(DAC),它是带有秘密密钥的单 向散列函数。散列值是预映射的值和密钥的函数。
l 在理论上,与散列函数一样,只有拥有密钥的某些 人才能验证散列值。
PPT文档演模板
网络安全协议
1.5 使用公开密钥密码学通信
PPT文档演模板
网络安全协议
l 协议中的角色
l 为了帮助说明协议,列出了几个人作为助手。
l Alice和Bob是开始的两个人,他们将完成所有的两 人协议。
l 按规定,由Alice发起所有协议,Bob响应。 l 如果协议需要第三或第四人,Carol和Dave将扮演
这些角色。
l 由其他人扮演的专门配角,将在后面介绍。
PPT文档演模板
网络安全协议
l 对协议的攻击
l 密码攻击可以直接攻击协议中所用的密码算法,或 用来实现该算法和协议的密码技术,或攻击协议本 身。
l 我们仅讨论最后一种情况,假设密码算法和密码技 术都是安全,只关注对协议本身的攻击。
PPT文档演模板
网络安全协议
l 被动攻击
l 与协议无关的人能够窃听协议的一部分或全部,因 为攻击者不可能影响协议,所以他能做的事是观察 协议并试图获取消息。
PPT文档演模板
网络安全协议
l 签名过程如下
(1)Alice用KA 加密她准备发送给Bob的消息,并把它传 送给Trent。
(2)Trent用KA 解密消息。 (3)Trent把这个解密消息和他收到Alice消息的声明,一
起用KB加密。 (4)Trent把加密的消息包传给Bob。
(5)Bob用KB解密消息包,他就能读Alice所发的消息和 Trent的证书,证明消息来自Alice。
PPT文档演模板
网络安全协议
1.3 单向函数
l 单向函数本身并不是一个协议,但对本书所要讨 论的大多数协议却是一个基本结构模块。