信息安全原理与实践-第二版10-真实世界中的安全协议课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《信息安全原理与实践-第二版10-真实世界中的安全协议课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 原理 实践 第二 10 真实 世界 中的 协议 课件
- 资源描述:
-
1、1Information Security:Principles and Practice,2nd Edition美Mark Stamp著张 戈译第10章 真实世界中的安全协议210.1 引言 几个广泛应用的真实世界中的安全协议 SSH协议 SSL协议 IPSec 协议 Kerberos协议 WEP GSM 310.2 SSHSecure Shell,简称为SSH,该协议创建了一个安全的通道,基于该通道,可以安全的方式执行原本不安全的命令。例如UNIX系统中用于实现远程登录的命令rloginSSH协议的认证过程可以基于公钥、数字证书或口令字。约定使用的术语:certificateA=Alice
2、s certificate(Alice的证书)certificateB=Bobs 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=HBobK=gab mod pSA=H,Alice,certificateAAlice h是加密哈希函数 4简化的SSH协议5数字签名可以用来提供双向交互认证。数字签名可以用来提供双向交互认证。因为nonce值RA是Alice发送给Bob的challenge
3、,而SB是Bob的响应。也就是说,nonce值RA提供了重放保护,只有Bob能够给出正确的响应,与此类似的交互过程可以证明Alice在最后一条消息中会被认证。10.3 SSL“套接字层”实际上处于IP协议栈中的应用层和传输层之间。在实践中,SSL协议最常应用的场景是Web浏览,在这种情况下,应用层的协议是HTTP,传输层的协议是TCP。例子:在上购买一本书6一个简单的SSL协议7其中的问题就是,Bob的身份并没有明白无误地被认证!对于Alice来说,唯一能够确认自己正在与Bob进行交流的方式可能就是,对接收到的加密数据进行验证,看其是否被正确加密了。基本SSL协议的一个比较完整的视图 约定术语
4、:n S=the pre-master secret(预备主密码)n K=h(S,RA,RB)n msgs=shorthand for all previous messages(表示“前面所有的消息”)n CLNT=literal string(文本串)n SRVR=literal string(文本串)8实际应用中会根据哈希值h(S,RA,RB)生成不止一个密钥。事实上,根据这个哈希计算可以生成以下6个量:n 两个加密密钥,其中一个用于加密从客户端发送给服务器的消息,另一个用于加密从服务器发送给客户端的消息。n 两个数据完整性密钥,与前面加密密钥的使用方式相同。n 两个初始化向量(IV),
5、其中一个用于客户端,另一个用于服务器。简而言之,在协议中不同的数据传送方向使用不同的密钥。这有助于防止某些特定类型的攻击。910.3.1 SSL协议和中间人攻击SSL协议中是什么机制可以防止中间人攻击呢?1010.3.2 SSL连接 SSL协议最初是由Netscape开发,主要用于Web浏览场景。应用层协议是HTTP,通常使用的HTTP协议有两个版本,分别是HTTP 1.0 和 HTTP 1.1。由于公开密钥运算操作的原因,要为这些HTTP连接中的每一个都建立新的SSL会话将是不小的负担。所以 SSL协议的设计者们内置了一种效率更高的协议:只要有一个SSL会话已然存在,再打开一个新的SSL连接
6、就可以使用这个高效的协议。SSL连接协议的详情:1110.3.3 SSL和IPSecIPSec即Internet Protocol Security,它的设计目标与SSL类似,就是提供网络通信的安全保护。12SSLIPSec复杂度简单相对复杂IP协议栈的层数嵌套字层网络层层次驻留在用户空间位于操作系统运行空间加密保护支持支持数据完整性保护支持支持身份认证支持支持10.4 IPSecSSL协议和IPSec协议逻辑上的基本差异 13IPSec协议的两个主要组成部分 n Internet密钥交换协议密钥交换协议,或简称为IKE(Internet Key Exchange),该协议提供了双向交互认证和
7、会话密钥。IKE协议包含两个阶段,这两个阶段分别相当于SSL协议的会话建立过程和连接建立过程。n 封装安全有效载荷和认证头封装安全有效载荷和认证头,或简称为ESP(Encapsulating Security Payload)和AH(Authentication Header),这两者一起构成了IPSec协议的第二部分。ESP提供IP数据包的加密和完整性保护,而AH则只提供完整性保护。IKE是一种独立的协议,可以脱离ESP/AH部分而独立运行。但是,既然在现实世界当中IKE协议似乎只应用于IPSec协议的场景中,所以我们就简单地将二者合在一起,统一称之为IPSec。14IKE协议协议包含了两个
8、阶段n 阶段一,建立所谓的IKE安全关联,也可以简称为IKE-SA。n 阶段二,建立IPSec安全关联,或被简称为IPSec-SA。阶段一相当于SSL协议中的会话建立,而阶段二则可以比作SSL协议中的连接建立。在IKE协议中,必须在完成了阶段一和阶段二之后,才能够执行ESP/AH。在IKE协议的阶段一中,有4个不同的密钥选项:n 公开密钥加密(原始版本)n 公开密钥加密(改进版本)n 数字签名n 对称密钥 上述每一个密钥选项都有一个主模式(main mode)和一个积极模式(aggressive mode)。结果就是IKE协议的阶段一总共有8个不同的版本。15接下来将要对阶段一的8个变体中的6
9、个进行讨论,分别是:n 数字签名(主模式和积极模式)、n 对称密钥(主模式和积极模式)n 公开密钥加密(主模式和积极模式)。每一个阶段一的变体都利用短时Diffie-Hellman密钥交换方案来建立会话密钥。这种方案的好处就是能够提供完全正向保密(Perfect Forword Secrecy,PFS)。对于我们要讨论的每一个变体,统一使用下面的Diffie-Hellman表示方法。n 令a为Alice的(短时)Diffie-Hellman协商过程指数,n 令b为Bob的(短时)Diffie-Hellman协商过程指数。n 令g为生成器,p为素数。p和g都是公开的。1610.4.1 IKE阶段
10、一:数字签名方式 数字签名版本的主模式 17每一个密钥选项都有一个主模式和一个积极模式。主模式的设计用于提供匿名特性,而积极模式则并非如此。数字签名密钥选项情况下的积极模式版本(请注意,其中并没有试图去隐藏Alice或Bob的身份,因此大幅地简化了该协议的交互过程。)介于数字签名主模式和积极模式之间的一个微妙差别是:在主模式中,有可能将g和p的值作为“crypto proposed(加密方案提议)”和“crypto accepted(加密方案选择)”消息的一部分进行协商。但是,在积极模式中却不是这样,因为Diffie-Hellman值ga mod p在第一条消息中就已经发送了。1810.4.2
11、 IKE阶段一:对称密钥方式 对称密钥选项方式的主模式这种主模式下存在所谓的Catch-22问题 可能存在的问题:n 首先,Alice必须有一个静态IP地址如果Alice的IP地址变化了,这个模式就会失效。n 这个协议太复杂,其中使用了6条消息,也可能就是为了隐匿通信者的身份。但是,该协议并没有成功地隐匿通信参与者的身份,除非你将静态IP地址也视为机密信息。1910.4.3 IKE阶段一:公开密钥加密方式 公开密钥加密选项版本,包括主模式和积极模式 在公钥加密版本的主模式下,Alice必须事先知道Bob的公钥,反过来对Bob也是一样。假设是Alice和Bob彼此都能够访问对方的数字证书,而不需
12、要再通过网络进行传递。公开密钥加密选项下的主模式协议详解:20公开密钥加密选项下的积极模式允许Alice和Bob保持匿名身份。存在的安全问题 假设Trudy生成了Diffie-Hellman的指数a和b,以及随机的nonce值RA和RB。然后,Trudy就可以计算协议里所有其他的量,即gab mod p、K、SKEYID、proofA和proofB。之所以Trudy能够做到这一点,就是因为Alice和Bob的公钥都是公开的。21为什么Trudy要不厌其烦地生成所有这些数值呢?一旦Trudy完成了这一切,她就能够创建完整的会话过程,使其看起来就像是Alice和Bob之间一次有效的IPSec交易。
13、令人震惊的是,这样伪造的一次会话过程让任何旁观者看起来都是有效的,包括Alice和Bob本人也无法否认!22可以否认性可以否认性 10.4.4 IPSec cookieIPSec协议中的这些cookie与Web网站的cookie毫无关系。在Web上,cookie是用于跨越多个HTTP会话的状态维护。而IPSec协议中cookie的目标是令拒绝服务(Denial of Service,DoS)攻击更加困难。TCP SYN flooding攻击攻击 每一个TCP SYN请求都将引发服务器执行少量的计算任务(比如创建SEQ号)并保持若干状态。正是这个状态的保持恰恰给攻击者提供了可乘之机。如果攻击者使
14、用数量庞大的SYN数据包对一台服务器进行狂轰滥炸,并且根本就不去继续完成这些建立中的半开连接,那么服务器最终将会耗尽自己的资源,无法再去处理合法的SYN请求,于是就会导致拒绝服务。IPSec的cookie对于DoS攻击防护并没有提供实质性的帮助。2310.4.5 IKE阶段一小结无论使用8个不同协议版本中的哪一个,IKE阶段一的成功完成将实现双向交互身份认证,并建立起共享的会话密钥,这就是所谓的IKE安全关联(IKE-SA)。在任何一种公开密钥加密选项模式下,IKE协议阶段一的运算都是代价高昂的,而且主模式还都需要6条消息。IKE协议的阶段二开销相对低廉,用于建立所谓的IPSec安全关联,或简
15、称为IPSec-SA。2410.4.6 IKE阶段二阶段二必须在IKE协议的阶段一完成后才能进行。此时,共享的会话密钥,IPSec的cookie、IC、RC以及IKE-SA都已经建立完成,并且这些信息对于Alice和Bob已均为已知。IKE阶段二的协商过程阶段二的协商过程 n 加密方案提议包括ESP或AH。在此阶段,Alice和Bob决定是否使用ESP或AH。n SA是在阶段一建立的IKE-SA的标识符。n 编号为1、2和3的哈希运算依赖于从阶段一得到的SKEYID、RA,RB以及IKESA。n 密钥的生成源于等式KEYMAT=h(SKEYID,RA,RB,junk),其中“junk”对所有人
16、(包括攻击者)均可知。n 值SKEYID依赖于阶段一的密钥方案。n 可以利用短时Diffie-Hellman密钥交换实现PFS(完全正向保密)特性,此为可选项。25IKE阶段二每一次阶段二生成的密钥与阶段一的密钥不同,并且彼此也不相同。IKE协议的阶段一完成之后,我们已经建立了一个IKE-SA。接下来IKE协议的阶段二完成之后,我们就建立了一个IPSec-SA。阶段二之后,Alice和Bob都已经完成了身份认证,并且他们也有了一个共享的会话密钥,用于当前连接的数据加密。2610.4.7 IPSec和IP数据报IP数据报包含IP数据包头和数据体两部分。如果选项字段为空,那么IP数据包头就包含20
17、个字节。为了IPSec的目的,有两个关键点:n 一个关键点就是路由器必须查看位于IP数据包头中的目的地址,以便能够对数据包进行路由转发。因为路由器无法访问会话密钥,所以不能对IP数据包头进行加密。n 第二个关键点就是IP数据包头中的某些字段要随着数据包的转发而改变。IPSec使用ESP或AH来保护IP数据报。依选择不同,ESP头或AH头将被包含在具备IPSec保护的数据报中。这个头信息会告诉接收方,这不是标准的IP数据报,而要按ESP数据包或AH数据包的方式对其进行处理 2710.4.8 运输和隧道方式无论是使用ESP保护还是使用AH保护,IPSec协议都可以独立地采用运输方式或隧道方式。在运
18、输方式中,原始的IP数据包头保持不变。运输方式的设计目标是用于“主机到主机”的通信。28在隧道方式中,整个原始的IP包都被封装在一个新的IP数据包当中。优点:原始的IP数据包头对于攻击者来说不再可见因为我们假定数据包已经被完整加密。如果Alice和Bob两人之间是直接进行沟通,那么新的IP数据包头将会与被封装的IP数据包头相同,所以隐藏原始的IP数据包头信息就显得没有什么意义。隧道方式的设计目标是用于保护防火墙到防火墙之间的通信。2910.4.9 ESP和AH一旦决定采用运输方式或隧道方式,接下来就必须考虑想要实际施加在IP数据报上的保护类型。在IPSec协议中,可以利用的选项只有AH和ESP
19、这两个。n AH(Authentication Header)只能提供数据完整性保护,并不支持加密。AH认证头的完整性保护可以用来保护的信息包括除了IP数据包头之外的所有信息,另外,IP数据包头信息中的某些字段也可以获得认证头的保护。n 在ESP(Encapsulating Security Payload)模式中,数据完整性和数据机密性都要求获得保护。ESP的机密性保护和完整性保护可以施加于除IP数据包头之外的所有信息上。ESP模式中的一种必须支持的加密方案就是NULL加密(即不加密的方案)。在ESP模式中,如果NULL加密被作为加密方案选中,那么就不会应用任何加密,但数据还是会获得完整性保
20、护。这种情况看起来就疑似AH的用法了。既然如此,那还要AH模式干什么用呢?30 AH模式独立存在的三个原因 n AH模式能够比“ESP/NULL”组合模式提供稍微多一些的数据完整性保护。n 在使用ESP模式的情况下,只要选择了一种非NULL的加密方案,自IP数据包头之后的所有数据都将被加密。n“如果AH模式惹恼了微软,那么就留下它吧,因为我们恨微软公司胜过恨AH模式”!3110.5 Kerberos在希腊神话中,Kerberos是一条有着三个头的狗,守卫着地狱之入口。在信息安全领域里,Kerberos是一种通用的认证协议,利用了对称密钥加密技术和时间戳技术。Kerberos的设计面向的是比较小
21、规模的应用场景,主要是类似局域网(Local Area Network,LAN)或是公司的内部网络等环境。在Kerberos方案中,可信任的第三方(TTP)是关键性的安全组件,被称为密钥分发中心或者简称为KDC。它扮演中间人的角色,确保任何一对用户彼此之间都能够安全地通信,进而实现协议的可扩展性。无状态的KDC是Kerberos方案中主要的安全特性之一。Kerberos协议用于身份认证并建立会话密钥,会话密钥可以用于随后数据通信中的机密性和完整性保护。在Kerboros认证框架中,KDC负责签发各种类型的票据(ticket)。每一个TGT票据都包含会话密钥、票据签发的目标用户的ID以及有效期。
22、3210.5.1 Kerberos化的登录Kerberos化登录过程的图解 n 密钥KA的计算方法由公式KA=h(Alices password)表示。n 由KDC创建会话密钥SA。n Alice的计算机利用KA获得SA和Alice的TGT票据;然后,Alice的计算机就会丢弃KA。n TGT=E(“Alice”,SA;KKDC)。33优点:所有安全相关的处理过程优点:所有安全相关的处理过程(在口令输入之后在口令输入之后)对于对于Alice都是透明的;都是透明的;缺点:整个框架的有效性完全依赖于缺点:整个框架的有效性完全依赖于KDC的安全性。的安全性。10.5.2 Kerberos中的票据一旦
展开阅读全文