1、0,安全协议与标准,北京信息科技大学 刘凯,第15 讲,1,安全协议与标准,第十一章安全协议的分析,2,上节课回顾,无线网应用协议概述无线传输层安全WAP End-to-End 安全,3,第十一章 安全协议分析,概述 经典认证协议关于认证协议攻击的讨论针对经典认证协议的攻击有关认证协议的进一步讨论用BAN逻辑分析NSSK协议,4,11.1 概述,11.1.1安全协议的安全性与安全性分析 安全协议的安全性: 如果一个安全协议使得非法用户不可能从协议交换过程中获得比协议自身所体现的更多的有用信息,则称协议是安全的. 安全协议的安全性分析: 研究安全协议是否实现预定的安全功能,满足安全要求,称为协议
2、的安全性分析.密码算法的安全性协议逻辑的安全性,5,11.1 概述,11.1.2 安全协议安全性分析的基本方法非形式化方法根据已知各种攻击方法对协议进行攻击, 以攻击是否有效来检验安全协议是否安全形式化方法形式化分析方法是将安全协议形式化,而后借助人工推导甚至计算机辅助分析,来判别安全协议是否安全可靠.,6,11.2 经典认证协议,11.2.1 认证协议概述 认证协议是网络安全的重要组成部分。设计和分析一个正确的认证协议十分困难。目前状况:设计发现缺陷改进发现新的缺陷进一步改进70年代以来,认证协议的形式化分析成为研究热点。本节用大写字母A、B、C等表示一般主体;用K、Ka、Kb、Kab表示加
3、密密钥;解密密钥为K-1、 Ka-1、Kb-1、Kab-1AB:X ;表示A向B发送消息X描述攻击时:P(A) B: X; B P(A): Y,7,11.2 经典认证协议,11.2.2 经典认证协议介绍所介绍的几个经典认证协议,都是早期设计的认证协议。NSSK协议NSPK协议Otway-Rees协议Yahalom协议Andrew 安全PRC协议“大青蛙嘴”协议,继续,8,NSSK协议,Needham-Schroeder 认证协议是1978年提出的。NSSK是对称密码体制的版本,其目的是分配双方会话密钥。 (1) AS:A,B,Na(2) S A: Na, B, Kab , Kab , AKbs
4、kas(3) AB: Kab , A Kbs(4) B A:Nb Kab(5) AB: Nb-1 Kab临时值的作用临时值与时间戳的区别,9,NSSK协议,S,B,A,(1),(2),(3),(4),(5),返回,1 . AS:A,B,Na,2 .S A: Na, B, Kab , Kab , AKbskas,3. AB: Kab , A Kbs,4. B A:Nb Kab,5. AB: Nb-1 Kab,10,NSPK协议,NSPK协议是Needham-Schroeder公开密钥协议。其目的是使双方安全地交换两个彼此独立的秘密。(1) AS:A,B(2) S A: Kb, B Ks-1(3)
5、 A B: Na, A Kb(4) B S: B, A(5) S B: Ka, A Ks-1(6) B A: Na, Nb Ka (7) A B: Nb Kb,11,NSPK协议,S,B,A,(1),(2),(3),(6),(7),(4),(5),返回,1 . AS:A,B,2. S A: Kb, B Ks-1,3 . A B: Na, A Kb,4. B S: B, A,5. S B: Ka, A Ks-1,6. B A: Na, Nb Ka,7. A B: Nb Kb,12,Otway-Rees协议,该协议是1987年提出的一种早期的认证协议,其目的也是用于通信双方之间分配会话密钥。 (1
6、) A B: M, A, B,Na, M, A, B Kas (2) B S: M, A, B,Na, M, A, B Kas, Nb, M, A, B Kbs (3) S B: M, Na, Kab Kas, Nb, Kab Kbs (4) B A: M, Na, Kab Kas,13,Otway-Rees协议,S,B,A,(1),(4),(3),(2),返回,1 . A B: M, A, B,Na, M, A, B Kas,2. B S: M, A, B,Na, M, A, B Kas, Nb, M, A, B Kbs,3. S B: M, Na, Kab Kas, Nb, Kab Kbs
7、,4. B A: M, Na, Kab Kas,14,Yahalom协议,该协议是1988年提出的,其目的是在通信双方之间分配会话密钥。(1) A B: A, Na(2) B S: B, A, Na , NbKbs(3) S A: B, Kab , Na , Nb kas , A,Kab Kbs(4) A B:A, Kab Kbs , Nb kab上述三个在对称体制下的认证协议,都包含A、B和S,目的也一样,但协议的结构却不同。在NSSK中,只有发起者A与S打交道。在Otway-Rees中只有响应者B与S打交道。在Yahalom协议中发起者A和响应者B均与S打交道。,15,Yahalom协议,
8、S,B,A,(1),(2),(4),(3),返回,1 . A B: A, Na,2. B S: B, A, Na , NbKbs,3. S A: B, Kab , Na , Nb kas , A,Kab Kbs,4. A B:A, Kab Kbs , Nb kab,16,Andrew 安全PRC协议,Andrew 安全PRC协议只包含二个主体A和B。双方原先共享会话密钥Kab, 协议的目的是A向B申请一个新的会话密钥Kab。AB: A,Na KabBA: Na+1,Nb KabAB: Nb +1 KabBA: Kab , Nb Kab,17,Andrew 安全PRC协议,A,B,(1),(2)
9、,(3),(4),返回,1 . AB: A,Na Kab,2. BA: Na+1,Nb Kab,3. AB: Nb +1 Kab,4. BA: Kab , Nb Kab,18,“大青蛙嘴”协议,该协议是一种简单的三方认证协议,其特点是相信A可以生成适当的会话密钥,同时应用了同步时钟机制。(1) A S: A, Ta , B, Kab Kas(2) S B: Ts, A, Kab Kbs在S收到A的消息后,校验Ta 的新鲜性,如果是则完成第二步的工作。该协议中参加协议的主体需根据S的时钟校正自己的时钟。,19,“大青蛙嘴”协议,S,B,A,(1),(2),返回,1 . A S: A, Ta ,
10、B, Kab Kas,2 . S B: Ts, A, Kab Kbs,20,11.2 经典认证协议,11.2.3 关于认证协议的讨论 在设计认证协议时,必须对攻击对手有全面和深刻的认识,所设计的认证协议至少应当抵抗已知的各种攻击。Dolev Yao模型 攻击者的知识和能力重放攻击,继续,21,Dolev Yao模型,1983年Dolev 和Yao发表了认证协议发展史中一篇重要的论文。主要贡献有二点:将认证协议本身与认证协议所采用的密码系统分开。建立了攻击者模型。他们认为攻击者具有如下能力: 1) 可以窃听所有经过网络的消息 2) 可以阻止和截获所有经过网络的消息。 3) 可以存储所获得或自身创
11、造的消息 4) 可以根据存储的消息伪造消息,并发送该消息 5) 可以作为合法的主体参与协议的运行,返回,22,攻击者的知识和能力,还应假定攻击者除了具有上述的条件,还具备以下知识和能力:1) 熟悉加密、解密、散列等密码运算,拥有自己的加密密钥和解密密钥;2) 熟悉参与协议的主体标识符及其公钥;3) 具有密码分析的知识和能力;4) 具有进行各种攻击,例如,重放攻击的知识和能力。Dolev Yao模型的重要原则是:永远不要低估攻击者的知识与能力。应当根据具体的协议与应用环境,建立正确的攻击者模型。,返回,23,重放攻击,重放攻击是最基本、最常用、危害性最大的一种攻击形式。基于重放发生在什么回合的分
12、类如下当前回合外攻击交错攻击经典重放当前回合内攻击基于攻击者对消息的重定向方法的分类:偏转消息重放攻击反射重放攻击指向第三方的偏转攻击直接重放攻击,返回,24,11.2 经典认证协议,11.2.4 针对经典认证协议的攻击 经典认证协议虽然简单,但都存在明显的安全缺陷。下面是对这些协议的攻击:针对NSSK协议的攻击针对NSPK协议的攻击针对Otway Rees协议的攻击针对Yahalom协议的攻击针对Andrew安全RPC协议的攻击针对“大嘴青蛙”协议的攻击,继续,25,针对NSSK协议的攻击,针对NSSK协议的“新鲜性”型攻击 在NSSK协议的第(3)步,协议无法保证消息是由S在协议的当前回合
13、建立的假定攻击者P通过密码分析的方法,获得协议以前分配的会话密钥Kab , 并且记录了以前协议回合中的消息(3) Kab, A Kbs.攻击者可以实施如下攻击:(1) AS:A,B,Na(2) S A: Na, B, Kab, Kab,AKbs Kas(3) P(A) B: Kab, A Kbs(4) B P(A): Nb Kab(5) P(A)B: Nb-1 Kab,26,针对NSSK协议的攻击,针对NSSK协议的“新鲜性”型攻击,Denning和 Sacco建议用时间戳修改该协议, 修改后的Denning Sacco协议如下(1) AS:A,B(2) S A: B, Kab, T, A,
14、Kab, TKbs Kas(3) AB: A, Kab , T Kbs上式中T是时间戮。响应者B可以验证消息(3)中的新鲜性。Denning Sacco协议不需要NSSK协议中的第(4)和第(5)条消息,返回,27,针对NSPK协议的攻击,针对NSPK协议的最有名的攻击来自Lowe。 Lowe指出,NSPK协议的主要安全缺陷在于其中的消息(6)。由于消息中没有B的标识符,攻击者可以假冒B发送消息(6)。 Lowe改进后的NSPK协议如下:(1) AS:A,B(2) S A: Kb, B Ks-1(3) A B: Na, A Kb(4) B S: B, A(5) S B: Ka, A Ks-1(
15、6) B A: B, Na, Nb Ka 替代 B A: Na, Nb Ka (7) A B: Nb Kb,返回,28,针对Otway Rees协议的攻击,“类型缺陷(type flaw)”的特点是利用认证协议实现时的固定格式对协议进行攻击。假定在Otway Rees认证协议中,M的长度是64比特,A和B的长度各为32比特,Kab的长度是128比特。攻击者可以冒充B,重放消息(1)中的加密分量,将它作为消息(4)中的加密分量发送给A。攻击过程如下: (1) AP(B): M, A, B,Na, M, A, B Kas (4) P(B) A: M, Na, M, A, B Kas 替代 B A:
16、 M, Na, Kab Kas,29,针对Otway Rees协议的攻击,类似地,攻击者可以冒充认证服务器S攻击Otway Rees协议。这时P只需要将消息(2)中的加密分量重放给B即可。攻击过程如下:(1) A B: M, A, B, Na, M, A, B Kas(2) B P(S): M, A, B,Na, M, A, B Kas, Nb, M, A, B Kbs (3) P(S) B: M, Na, M, A, B Kas, Nb, M, A, B Kbs (4) B A: M, Na, M, A, B Kas攻击者攻击成功后,今后可以通过会话密钥(M, A, B)监听A和B之间的会话
17、。,返回,30,针对Yahalom协议的攻击,BAN逻辑分析结果: 在Yahalom协议中,如果A在第(4)条消息中选择一个旧密钥重放给B,则B不能发现这个问题。修改后的BAN- Yahalom协议如下:(1) A B: A, Na(2) B S: B, Nb, A, Na Kbs(3) S A: Nb, B, Kab , Na kas , A, Kab, Nb Kbs(4) A B: A, Kab, Nb Kbs , Nb kab,31,针对Yahalom协议的攻击,修改后的BAN- Yahalom协议,不能抵抗下述攻击,该攻击应用了三回合的协议执行:1. AP(B): A, Na(1) P
18、(B) A: B, Na(2) AP(S): A, Na, B, Na Kas P(A)S: A, Na, B, Na Kas SP(B): Na, A, Kab, Na Kbs , B,Kab,Na kas3. P(S)A: Np, B, Kab, Na, Kas,A, Kab, Na Kbs4. A P(B): A, Kab, Na Kbs,Np Kab,返回,(1) A B: A, Na(2) B S: B, Nb, A, Na Kbs(3) S A: Nb, B, Kab , Na kas , A, Kab, Nb Kbs(4) A B: A, Kab, Nb Kbs , Nb kab
19、,32,针对Andrew安全RPC协议的攻击,针对该协议的“类型缺陷”型攻击假设临时值、序列号与密钥的长度都相同,则攻击者可以记录监听到的消息(2), 截获A发送给B的消息(3), 并在第(4)步重放消息(2)给A。攻击过程如下: (1) AB: A,Na Kab (2) BA: Na+1,Nb Kab (3) AP(B): Nb +1 Kab (4) P(B)A: Na+1, Nb Kab临时值往往容易预测。 针对该协议的” 新鲜性”开攻击 攻击者P可以记录在协议前一个回合中监听到的消息(4),并在第(4)步重放该消息给A。,返回,33,针对“大嘴青蛙”协议的攻击,攻击过程如下:(1) A
20、S: A, Ta, B, KabKas(2) S B: Ts, A, KabKbs(1)P(B) S:B,Ts, A, Kab Kbs(2)S P(A): Ts, B, Kab Kas(1”)P(A) S: A, Ts, B, Kab Kas(2”)S P(B) : Ts, B, Kab Kbs攻击者假冒A与B从S处获得对它有用的消息(2)与(2”)后,可以假冒S向A与B重放上述消息,引起A与B的重新认证。 (1) P(S) A: Ts, B, Kab Kas(2) P(S) B: T”s, A, KabKbs,返回,34,小结,几种经典认证协议的形式针对经典认证协议的攻击Dolev Yao模型,35,作 业,1、读懂并分析所述针对一些经典协议的攻击过程. 2、“类型缺陷”型攻击的特点是什么?在认证协议的设计中,应该如何注意防止类型缺陷的攻击?,