信息安全原理与实践-第二版10 真实世界中的安全协议

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

21
为什么Trudy要不厌其烦地生成所有这些数值呢?
• 一旦Trudy完成了这一切,她就能够创建完整的会话过程,使其看起来 就像是Alice和Bob之间一次有效的IPSec交易 。令人震惊的是,这样 伪造的一次会话过程让任何旁观者看起来都是有效的,包括Alice和 Bob本人也无法否认!
可以否认性
4
简化的SSH协议
数字签名可以用来提供双向交互认证。 因为nonce值RA是Alice发送给Bob的challenge,而SB是Bob的响应。也就是 说,nonce值RA提供了重放保护,只有Bob能够给出正确的响应,与此类似 的交互过程可以证明Alice在最后一条消息中会被认证。
5
10.3 SSL
18
10.4.2 IKE阶段一:对称密钥方式
• 对称密钥选项方式的主模式
• 这种主模式下存在所谓的Catch-22问题 • 可能存在的问题:
首先,Alice必须有一个静态IP地址——如果Alice的IP地址变化了,这个 模式就会失效。 这个协议太复杂,其中使用了6条消息,也可能就是为了隐匿通信者的身 份。但是,该协议并没有成功地隐匿通信参与者的身份,除非你将静态IP
• “套接字层”实际上处于IP协议栈中的应用层和传输层之间。 • 在实践中,SSL协议最常应用的场景是Web浏览,在这种情况下,应 用层的协议是HTTP,传输层的协议是TCP。 • 例子:在amazon.com上购买一本书
6
一个简单的SSL协议
其中的问题就是,Bob的身份并没有明白无误地被认证!
对于Alice来说,唯一能够确认自己正在与Bob进行交流的方式可能就是,对接 收到的加密数据进行验证,看其是否被正确加密了。
12
10.4 IPSec
• SSL协议和IPSec协议逻辑上的基本差异
13
• IPSec协议的两个主要组成部分 Internet密钥交换协议,或简称为IKE(Internet Key Exchange), 该协议提供了双向交互认证和会话密钥。IKE协议包含两个阶段, 这两个阶段分别相当于SSL协议的会话建立过程和连接建立过程。 封装安全有效载荷和认证头,或简称为ESP(Encapsulating Security Payload)和AH(Authentication Header),这两者一起构成 了IPSec协议的第二部分。ESP提供IP数据包的加密和完整性保护 ,而AH则只提供完整性保护。
26
10.4.7 IPSec和IP数据报
令a为Alice的(短时)Diffie-Hellman协商过程指数, 令b为Bob的(短时)Diffie-Hellman协商过程指数。 令g为生成器,p为素数。p和g都是公开的。
16
10.4.1 IKE阶段一:数字签名方式
• 数字签名版本的主模式
17
Βιβλιοθήκη Baidu
• 每一个密钥选项都有一个主模式和一个积极模式。主模式的设计用于 提供匿名特性,而积极模式则并非如此。 • 数字签名密钥选项情况下的积极模式版本(请注意,其中并没有试图 去隐藏Alice或Bob的身份,因此大幅地简化了该协议的交互过程。)
25
IKE阶段二
• 每一次阶段二生成的密钥与阶段一的密钥不同,并且彼此也不相同。 • IKE协议的阶段一完成之后,我们已经建立了一个IKE-SA。接下来IKE 协议的阶段二完成之后,我们就建立了一个IPSec-SA。 • 阶段二之后,Alice和Bob都已经完成了身份认证,并且他们也有了一 个共享的会话密钥,用于当前连接的数据加密。
地址也视为机密信息。
19
10.4.3 IKE阶段一:公开密钥加密方式
• 公开密钥加密选项版本,包括主模式和积极模式 • 在公钥加密版本的主模式下,Alice必须事先知道Bob的公钥,反过来 对Bob也是一样。假设是Alice和Bob彼此都能够访问对方的数字证书, 而不需要再通过网络进行传递。
• 公开密钥加密选项下的主模式协议详解 :
15
• 接下来将要对阶段一的8个变体中的6个进行讨论,分别是:
数字签名(主模式和积极模式)、 对称密钥(主模式和积极模式) 公开密钥加密(主模式和积极模式)。
• 每一个阶段一的变体都利用短时Diffie-Hellman密钥交换方案来建立会 话密钥。这种方案的好处就是能够提供完全正向保密(Perfect Forword Secrecy,PFS)。 • 对于我们要讨论的每一个变体,统一使用下面的Diffie-Hellman表示方 法。
24
10.4.6 IKE阶段二
• 阶段二必须在IKE协议的阶段一完成后才能进行。此时,共享的会话 密钥,IPSec的cookie、IC、RC以及IKE-SA都已经建立完成,并且这 些信息对于Alice和Bob已均为已知。 • IKE阶段二的协商过程
加密方案提议包括ESP或AH。在此阶段,Alice和Bob决定是否使用ESP 或AH。 SA是在阶段一建立的IKE-SA的标识符。 编号为1、2和3的哈希运算依赖于从阶段一得到的SKEYID、 RA,RB以及 IKESA。 密钥的生成源于等式KEYMAT = h(SKEYID,RA,RB,junk),其中 “junk”对所有人(包括攻击者)均可知。 值SKEYID依赖于阶段一的密钥方案。 可以利用短时Diffie-Hellman密钥交换实现PFS(完全正向保密)特性,此为 可选项。
阶段一相当于SSL协议中的会话建立,而阶段二则可以比作SSL协议中 的连接建立。在IKE协议中,必须在完成了阶段一和阶段二之后,才能 够执行ESP / AH。 • 在IKE协议的阶段一中,有4个不同的密钥选项:
公开密钥加密(原始版本) 公开密钥加密(改进版本) 数字签名 对称密钥
上述每一个密钥选项都有一个主模式(main mode)和一个积极模式 (aggressive mode)。结果就是IKE协议的阶段一总共有8个不同的版本。
• IKE是一种独立的协议,可以脱离ESP/AH部分而独立运行。但是,既 然在现实世界当中IKE协议似乎只应用于IPSec协议的场景中,所以我 们就简单地将二者合在一起,统一称之为IPSec。
14
IKE协议 • 包含了两个阶段
阶段一,建立所谓的IKE安全关联,也可以简称为IKE-SA。 阶段二,建立IPSec安全关联,或被简称为IPSec-SA。
Information Security: Principles and Practice, 2nd Edition [美]Mark Stamp 张 戈 著 译
1
第10章 真实世界中的安全协议
2
10.1 引言
• • • • • • 几个广泛应用的真实世界中的安全协议 SSH协议 SSL协议 IPSec 协议 Kerberos协议 WEP
IPSec的cookie对于DoS攻击防护并没有提供实质性的帮助。
23
10.4.5 IKE阶段一小结
• 无论使用8个不同协议版本中的哪一个,IKE阶段一的成功完成将实现 双向交互身份认证,并建立起共享的会话密钥,这就是所谓的IKE安 全关联(IKE-SA)。 • 在任何一种公开密钥加密选项模式下,IKE协议阶段一的运算都是代 价高昂的,而且主模式还都需要6条消息。 • IKE协议的阶段二开销相对低廉,用于建立所谓的IPSec安全关联,或 简称为IPSec-SA。
• GSM
3
10.2 SSH
• Secure Shell,简称为SSH,该协议创建了一个安全的通道,基于该 通道,可以安全的方式执行原本不安全的命令。例如UNIX系统中用于 实现远程登录的命令rlogin • SSH协议的认证过程可以基于公钥、数字证书或口令字。
• 约定使用的术语:
certificateA = Alice's certificate(Alice的证书) certificateB = Bob's certificate(Bob的证书) CP = crypto proposed(加密方案的提议) CS = crypto selected(加密方案的选定) H=h(Alice, Bob,CP,CS,RA,RB,ga mod p,gb mod p,gab mod p) SB=[H]Bob K= gab mod p SA=[H, Alice, certificateA]Alice h是加密哈希函数
公开密钥加密选项下的 积极模式允许Alice和 Bob保持匿名身份。
20
• 存在的安全问题
• 假设Trudy生成了Diffie-Hellman的指数a和b,以及随机的nonce值RA 和RB。然后,Trudy就可以计算协议里所有其他的量,即gab mod p、 K、SKEYID、proofA和proofB。之所以Trudy能够做到这一点,就是因 为Alice和Bob的公钥都是公开的。
8
实际应用中会根据哈希值h(S, RA, RB)生成不止一个密钥。 事实上,根据这个哈希计算可以生成以下6个量: 两个加密密钥,其中一个用于加密从客户端发送给服务器的消息 ,另一个用于加密从服务器发送给客户端的消息。 两个数据完整性密钥,与前面加密密钥的使用方式相同。 两个初始化向量(IV),其中一个用于客户端,另一个用于服务器。
• 介于数字签名主模式和积极模式之间的一个微妙差别是:在主模式中, 有可能将g和p的值作为“crypto proposed(加密方案提议)”和“crypto accepted(加密方案选择)”消息的一部分进行协商。但是,在积极模式 中却不是这样,因为Diffie-Hellman值ga mod p在第一条消息中就已经 发送了。
11
10.3.3 SSL和IPSec
• IPSec即Internet Protocol Security,它的设计目标与SSL类似,就是 提供网络通信的安全保护。 SSL
复杂度 IP协议栈的层数 层次 加密保护 数据完整性保护 身份认证 简单 嵌套字层 驻留在用户空间 支持 支持 支持
IPSec
相对复杂 网络层 位于操作系统运行空间 支持 支持 支持
22
10.4.4 IPSec cookie
• IPSec协议中的这些cookie与Web网站的cookie毫无关系。在Web上, cookie是用于跨越多个HTTP会话的状态维护。而IPSec协议中cookie 的目标是令拒绝服务(Denial of Service,DoS)攻击更加困难。
• TCP SYN flooding攻击 • 每一个TCP SYN请求都将引发服务器执行少量的计算任务(比如创建 SEQ号)并保持若干状态。正是这个状态的保持恰恰给攻击者提供了可 乘之机。如果攻击者使用数量庞大的SYN数据包对一台服务器进行狂 轰滥炸,并且根本就不去继续完成这些建立中的半开连接,那么服务 器最终将会耗尽自己的资源,无法再去处理合法的SYN请求,于是就 会导致拒绝服务。
简而言之,在协议中不同的数据传送方向使用不同的密钥。这有助于防 止某些特定类型的攻击。
9
10.3.1 SSL协议和中间人攻击
• SSL协议中是什么机制可以防止中间人攻击呢?
10
10.3.2 SSL连接
SSL协议最初是由Netscape开发,主要用于Web浏览场景。应用 层协议是HTTP,通常使用的HTTP协议有两个版本,分别是HTTP 1.0 和 HTTP 1.1。 由于公开密钥运算操作的原因,要为这些HTTP连接中的每一个都 建立新的SSL会话将是不小的负担。所以 SSL协议的设计者们内置了 一种效率更高的协议:只要有一个SSL会话已然存在,再打开一个新 的SSL连接就可以使用这个高效的协议。 • SSL连接协议的详情 :
7
基本SSL协议的一个比较完整的视图 • 约定术语:
S = the pre-master secret (预备主密码) K = h(S, RA, RB) msgs = shorthand for "all previous messages" (表示“前面所有的消息”) CLNT = literal string(文本串) SRVR = literal string(文本串)
相关文档
最新文档