《安全协议认证协议.ppt》由会员分享,可在线阅读,更多相关《安全协议认证协议.ppt(51页珍藏版)》请在三一办公上搜索。
1、第2讲 认证协议,经典认证协议,主要内容,1,针对经典认证协议的攻击,2,其他重要的认证协议,3,认证协议的设计原则,4,认证协议是网络安全的一个重要组成部分,需要通过认证协议进行实体之间的认证、在实体之间安全地分配密钥或其他各种秘密、确认发送和接受的消息的非否认性等。近年来,认证协议越来越多地用于保护因特网上传送的各种交易,保护针对计算机系统的访问。但是经验表明,设计和分析一个正确的认证协议是一项十分困难任务。迄今所知的许多协议都存在这样或那样的安全缺陷,其原因是多方面的,例如,缺乏正确设计认证协议的指导原则;对认证协议进行非形式化的推理分析;缺乏有力地分析认证协议的形式化工具;没有考虑到针
2、对认证协议的多种攻击类型等。因此,目前的状况大体是:设计一个认证协议发现其安全缺陷改进该协议发现新的安全缺陷进一步改进该协议,1997年,Clark和Jacob对认证协议进行了概括和总结,并列举了一系列有研究意义和实用价值的认证协议。他们将认证协议如下进行分类:(1)无可信第三方的对称密钥协议。(2)应用密码校验函数的认证协议。(3)具有可信第三方的对称密钥协议。(4)对称密钥重复认证协议。(5)无可信第三方的公开密钥协议。(6)具有可信第三方的公开密钥协议。,1.经典认证协议,本节介绍几个典型的经典认证协议,他们的共同特点是:都是早期设计的认证协议,反映了当时的设计和分析水平。它们或多或少都
3、存在一些安全缺陷,但是它们在认证协议的发展史中都起过重要的作用,为今天认证协议设计与分析技术的发展积累了宝贵的经验。其中,许多认证协议已经成为认证协议设计与分析的“试验床”,即每当出现一个新的形式化分析方法,都要先分析这几个认证协议,验证新方法的有效性。同时,研究人员也经常以它们为例,说明认证协议的设计原则和各种不同分析方法的特点。,Needham-Schroeder认证协议是1978年提出的,在认证协议的发展史中具有历程培的意义。该协议就是一个最常用的认证协议与分析的“试验床”。它可以分为对称密码体制和非对称密码体制下的两种版本,分别简称NSSK协议和NSPK协议。,NSSK协议的目的是在通
4、信双方之间分配会话密钥。其中,前3条消息的作用是主体A在认证服务器S的帮助下,进行会话密钥的分配。后2条消息的目的是使B相信A现在在线,但不能使B相信会话密钥是新鲜的。该协议如图2-1所示。,图2-1 NSSK协议,(1)针对NSSK协议的“新鲜性”型攻击,(2)针对上述攻击的改进,解决这一问题的另一个方法是,令B也向S发送一个临时值,然后S将B的临时值放在发送给B的密钥证书中。,攻击NSSK协议的一种新方法 即使攻击者P没有得到泄漏的会话密钥,A也不能通过消息3、4、5推断出B知道会话密钥。攻击如下:,改进:,图2-2 NSPK协议,以其他大多数公开密钥认证协议不同,NSPK协议的目的是使通
5、信双方安全地交换两个彼此独立的秘密。,针对NSPK协议的攻击,针对NSPK协议的最有名的攻击来自Lowe。Lowe指出,NSPK协议的主要安全缺陷在于其中的消息6。由于消息中没有B的标识符,攻击者可以假冒B的身份发送消息6。,改进后的NSPK协议:,Otway-Rees协议是1978年提出的一种早期的认证协议。,图2-3 Otway-Rees协议,注意:在Otway-Rees协议中,M是会话识别号;而临时值 和 不仅提供了时序信息,还因为在消息1和消息2中受到了加密保护,所以在消息4和消息5中这两个临时值作为主体身份的替身出现。S检查消息2中两个加密消息内的M,A,B是否一致,如果匹配,才会为
6、A,B生成会话密钥,并向B发送消息3。,针对Otway-Rees协议的“类型缺陷”型攻击“类型攻击”的特点是利用认证协议实现时的固定格式对协议进行攻击。假定在Otway-Rees协议中,M的长度是64比特,A和B的长度各为32比特,会话密钥的长度为128比特。用户A在发起协议后,预期在协议的第4步可以收回他在协议第1步建立的临时值,以及认证服务器S为他分配的会话密钥。这时,攻击者P可以冒充B,重放消息1中的加密分量,将它作为消息4中的加密分量发送给A,攻击过程如下:,攻击者还可以冒充认证服务器S攻击Otway-Rees协议。这时,P只需将消息2中的加密分量重放给B即可。攻击过程如下:,Otwa
7、y-Rees协议Abadi-Needham改进版本,1,2,3,4,攻击Otway-Rees协议的2种新方法(卿斯汉发现)(1)攻击原始Otway-Rees协议的一种新方法,该攻击的成功需要对服务器S进行下述假设:(1)服务器S对A,B之间时间相隔很短的两次密钥申请不进行限制;(2)服务器S只对消息2中两个加密消息内的会话识别号M及主体身份进行匹配检查,而对A,B之间密钥分配请求中的M不做记录。,(2)攻击Otway-Rees协议Abadi-Needham改进版本的一种新方法,1.,注意:这种攻击的成功,也需要关于服务器S的如下假设成立:S对A,B之间时间间隔很短的两次密钥申请不进行限制。,1
8、988年提出的Yahalom协议是另外一个经典认证协议。该协议的特别之处在于,A向S间接发送临时值,并从S处直接取得会话密钥,B直接发送临时值,并从S处间接得到会话密钥。,图2-4 Yahalom协议,BAN逻辑的分析结果与Yahalom协议的改进建议 应用BAN逻辑分析Yahalom协议的结果表明,如果A在第4条消息中选择一个旧密钥重放给B,则B不可能发现这个问题。为此,对Yahalom协议作了如下修改,修改后的协议成为BAN-Yahalom协议。,针对BAN-Yahalom协议的攻击,图2-5 Andrew安全RPC协议,针对Andrew安全RPC协议的攻击(1)针对Andrew安全RPC
9、协议的“类型缺陷”型攻击 假设临时值、序列号与密钥的长度都相同,例如均为128比特,则攻击者P可以记录监听到的消息2,截获A发送给B的消息3,并在第4步重放消息2给A。攻击过程如下:,如此协议执行后,A相信临时值 是服务器B新分配给她的会话密钥,因此攻击是有效的。虽然,这时攻击者并不一定知道新的会话密钥。但是,临时值的作用与密钥不同,绝对不能当作会话密钥使用。猜测密钥要比猜测临时值困难得多。因为,在协议的各个回合中,临时值均不相同就足够了,并不要求临时值一定是随机的。因此,临时值往往容易猜测。,(2)针对Andrew 安全RPC协议的“新鲜性”型攻击 攻击者P可以记录在协议前一个回合中监听到的
10、消息4,并在第4步重放该消息给A。,“大嘴青蛙”协议是由Burrows提出的,这是一种最简单的、应用对称密码的三方认证协议。,图2-6“大嘴青蛙”协议,针对“大嘴青蛙”协议的攻击这个简单的协议有多种安全缺陷,攻击它也有多种方法。一种方法是在有效的时间范围内重放第1个消息,其后果实将进行重新认证。第二种攻击方法需要应用3个协议回合,攻击过程如下:,在回合1中,攻击者P记录A与B之间的一次会话。然后,在第2与第3回合,攻击者假冒A与B从S处获得对他有用的消息 和 这时,攻击者P可以假冒S向A与B重放上述消息,引起A与B之间的重新认证。,2.其他重要的认证协议,(1)Helsinki协议的描述Hel
11、sinki协议是国际标准ISO/IEC DIS 11770-3中提出的认证协议草案。,图2-8 Helsinki协议,Helsinki协议的目标是为主体A和B安全地分配一个共享会话密钥,他最终由 和 和单向函数 确定,即,(2)针对Helsinki协议的Horng-Hsu攻击Horng和Hsu指出,Helsinki协议存在安全缺陷,不能达到它的安全目标。Horng-Hsu攻击是一种内部攻击,即攻击者必须是合法的协议主体,而且其他合法主体希望与他通过协议分配共享通信密钥。Horng-Hsu攻击的过程如下:,经过上述两回合协议运行之后,主体A相信,他成功地完成了一次与主体P的会话,并获得共享会话密
12、钥 但是主体P并不知道会话密钥 的组成部分。同时,主体B相信,他与主体A成功地进行了一次会话,并获得会话密钥。但是主体A并不知道会话密钥 的组成部分。因此,攻击者P的攻击是有效的。,(3)Mitchell-Yeun的改进协议Mitchell和Yeun对Helsinki协议进行了改进。他们认为Horng-Hsu攻击成功的原因是A相信B发送的第2条消息 来源于P。这是因为消息2没有明确指出消息来源,从而造成了消息的重放。因此,攻击者P虽然并不知道消息2的真实内容,但P可以将消息2转发给A,使A相信消息2来源于P。基于上述理由,Mitchell-Yeun的改进协议如下:,Woo-Lam单向认证协议是
13、Woo和Lam于1992年提出的。,图2-9 Woo-Lam协议,针对Woo-Lam协议的攻击方法,攻击1:,攻击2:,攻击3:,如果Woo-Lam协议所应用的对称密码算法满足交换律,则这种攻击方法可以奏效。,临时值与时间戳,临时值的作用是保证消息的新鲜性,防止消息重放。时间戳和临时值都是用于保证消息的新鲜性的,但它们之间有很重要的区别。使用时间戳时,一般要求各主体的时钟同步,但时间戳并不和某个主体之间关联,任何一个主体产生的时间戳都能被其他主体用来检验消息的新鲜性。临时值则是某个主体产生的随机数值,一个主体只能根据他自己所产生的临时值来检验消息的新鲜性。此外,时间戳不具有唯一性,它通常有一个
14、有效范围,只要它位于这个有效范围内,主体都接受它的新鲜性。因此,在一次会话中使用的时间戳可能在另一次时间上接近的会话中被主体接收为新鲜的。临时值则具有唯一性,任何一个主体在两次会话中产生的临时值在很长一段时间内不可能相同。所以在一次会话中使用的临时值不可能在另一次会话中被主体接收为新鲜的临时值。,认证协议的设计原则,设计目标明确,无二义性;最好应用描述协议的形式语言,对认证协议本身进行形式化描述;通过形式化分析方法证明认证协议实现了设计目标;安全性与具体采用的密码算法无关;保证临时值和会话密钥等重要消息的新鲜性,防止重放攻击;尽量采用异步认证方式,特别是防止重放攻击的能力;具有抵抗常见攻击,特别是防止重放攻击的能力;进行运行环境的风险分析,做尽可能少的初始安全假设实用性强,可用于各种网络的不同协议层;尽可能减少密码运算,降低成本,扩大应用范围。,思考题,试述Dolev-Yao攻击者模型的主要内容及其在安全协议研究中的意义。临时值与时间戳在保证消息新鲜性方面有哪些贡献?临时值与时间戳之间有哪些区别?“类型缺陷”型攻击的特点是什么?在认证协议的设计中,应该如何注意防止类型缺陷型的攻击?,Thank you!,