安全协议理论与方法.ppt

上传人:小飞机 文档编号:6224527 上传时间:2023-10-07 格式:PPT 页数:111 大小:306.49KB
返回 下载 相关 举报
安全协议理论与方法.ppt_第1页
第1页 / 共111页
安全协议理论与方法.ppt_第2页
第2页 / 共111页
安全协议理论与方法.ppt_第3页
第3页 / 共111页
安全协议理论与方法.ppt_第4页
第4页 / 共111页
安全协议理论与方法.ppt_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《安全协议理论与方法.ppt》由会员分享,可在线阅读,更多相关《安全协议理论与方法.ppt(111页珍藏版)》请在三一办公上搜索。

1、安全协议理论与方法,第一章 引论,1.1 密码体制,发送者,接收者,明文P,密文C,明文P,加密,解密,Key=K,Key=K-1,图1.1 加密与解密,两种基本秘密体制,对称密钥密码体制 加密 K 解密 K-1,公钥密码体制公开密钥 pk私有密钥 sk加密算法E解密算法D公开,1.2 数字签名,至少应满足的3个条件 签名者事后不能否认自己的签名。接收者能验证签名,而任何其他人都不能伪造签名。当双方关于签名的真伪发生争执时,第三方能解决双方之间发生的争执。,数字签名技术与加密技术的结合,签名:保证信息完整性和真实性,但不能 保证秘密性。加密:保密性Email、电子商务等需要上述三种性质。,几种

2、新型的数字签名方案,1.高效可验证的安全数字签名2.防止适应性攻击的门限签名3.面向流信息的数字签名4.不可否认数字签名,1.3 Hash函数,密码学上的Hash函数定义:一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。1.强碰撞自由的Hash函数。2.弱碰撞自由的Hash函数。,Hash函数特性,1.必须是真正单向的,即对于一个给定的消息摘要,构造一个输入消息将其映射为该消息摘要是计算上不可行的。2.构造两个不同的消息将它们映射为同一个消息摘要必须是计算上不可行的。,不安全信道,不安全信道,Hash函数,签名者对h(x)签名,Hash函数,签名者验证y是否为H(x)的签名,使用Has

3、h函数的数字签名方案,最可靠的Hash函数,1.基于分组密码算法的Hash函数。2.系列Hash函数,例如MD系列3.美国政府的安全Hash标准(SHA-1)。,1.4 密钥管理与分配,1.密钥的管理2.密钥的分配(1)基于对称密码体制的密钥分配(2)基于可逆公钥密码体制的密钥分配(3)Diffie-Hellman密钥分配(4)公钥密码体制的密钥分配,公钥证明书,一个可信的CA已经在证书上签名证书有良好的完整性在有效期内使用方式与任何声明的策略和使用限制一致没有被撤销,1.5 PKI公钥基础设施,1.认证机关2.证书库3.证书撤销4.密钥备份及恢复系统5.证书作废处理系统6.客户端软件,6.客

4、户端软件,核心的安全服务1)认证2)完整性3)机密性,客户端-PKI认证服务的签名数据,三类数据的杂凑值1)被认证的一些数据2)用户希望发送到远程设备的请求3)远程设备生成的随机挑战信息,客户端-PKI完整性服务,二选一1)数字签名技术(同认证服务)2)消息认证码或MAC 采用对称分组密码(DES-CBC-MAC)或 密码杂凑函数(HMAC-SHA),客户端-PKI机密性服务,采用类似于完整性服务的机制 A生成一个对称密钥,用对称密钥加密数据,将加密后的数据以及A的公钥或用B的公钥加密后的对称密钥发送给B。,客户端-PKI的信任模型,1).认证机构的严格层次结构2).分布式信任结构3).Web

5、模型4).以用户为中心的信任5).交叉认证,安全协议,2.1 安全协议概述,2.1 安全协议概述,1).重设计2).面向具体应用3).基于经验和软件测试来保证安全性4).对现有协议改进和优化,安全协议的概念,定义:建立在密码体制基础上的一种高互通协议,它运行在计算机通信网或分布式系统中,为安全需求的各方提供一系列保障,借助于密码算法来达到密钥分配、身份认证、信息保密以及安全地完成电子交易等目的。,安全协议常见类型,1.密钥交换协议2.认证协议3.认证和密钥交换协议4.电子商务协议,1.密钥交换协议,应用:完成会话密钥的建立,与认证协议结 合使用。密码算法:对称密码体制或非对称密码体制,2.认证

6、协议,实体(身份)认证消息认证数据源认证数据目的认证作用:防止假冒、篡改、否认等攻击,3.认证和密钥交换协议,(1)先对通信实体的身份认证(2)在成功认证的基础上,为下一步的安全通信分配所使用的密钥。实例:互联网密钥交换协议(IKE)分布安全服务协议(DASS)Kerberos 认证协议,4.电子商务协议,应用:以公平性为基础,保证交易双方都 不能通过损害对方利益而得到它不应得到的利益。实例:SET协议等,安全协议系统模型(1),系统环境:消息的发送和接收者、攻击者、管理消息发送和接收的规则。恶意网络环境:攻击者操作:截取、重放和篡改。级联、分离、加密和解密。被动攻击者:知道信息。主动攻击者:

7、操纵信息。,安全协议系统模型(2),攻击的行为表现:1)转发消息到其意定接收者处。2)延迟消息的送达。3)将消息篡改后转发。4)将消息与以前接收的消息合并。5)改变部分或全部消息的去处。6)重放消息。,安全协议系统模型示意图(3),诚实主体,诚实主体,诚实主体,诚实主体,环境/攻击者,安全协议的性质及实现,1.认证性2.机密性3.完整性4.不可否认性,1.认证性实现,通过共享秘密实现,例如:加密的密钥。解释:如果当主体不拥有密钥时,它将不能生成一个秘密消息或解密用此密钥加密的消息,主体通过用密钥进行加密来证明它拥有此密钥。用途:对抗假冒攻击,确保身份,从而获取对某人或某事的信任。,认证性实现的

8、方法,1)声称者使用仅为其与验证者知道的密钥封装消息,如果验证者能够成功地解密消息或验证封装是正确的,则证毕。2)声称者使用私钥对消息签名,验证者使用声称者的公钥验证签名,如正确,证毕。3)声称者通过可信第三方来证明自己。,2.秘密性的实现,应用:不泄漏消息明文。实现方法:对消息明文加密。,3.完整性的实现,应用:保护协议消息不被非法篡改、删除 和替代。常用方法:封装和签名。即用加密的方法或者Hash函数产生一个明文的摘要附在传送的消息上,作为验证消息完整性的依据,成为完整性校验值。问题:冗余,4.不可否认性的实现,收集证据,以便事后能够向可信仲裁证明对方主体的确发送或接收了消息。证据实现:签

9、名形式。协议提供:证据的正确性,交易的公平性。,安全协议,2.2 安全协议的缺陷,缺陷的来源,1.由于设计时的不规范引起的。2.具体执行时产生的。,协议设计准则,1.消息独立完整性2.消息前提准确3.主体身份标识4.加密目的原则5.签名6.随机数的使用7.时戳的使用8.编码原则,1.消息独立完整性原则,一条消息的解释应完全由其内容来决定,而不必借助于上下文来推断。发送者标识接收者标识:消息 AB:m m应包含A,B的标识,否则易造成攻击。,2.消息前提准确原则,与消息的执行相关的先决前提条件应当明确指出,并且其正确性与合理性能够得到验证,由此可判断出此消息是否应当接收。,3.主体身份标识原则,

10、在消息中附上主体名称的方式1)显式:主体的名字以明文形式出现。2)隐式:采用加密或签名技术,从消息格 式中推知消息所属主体的身份。,4.加密目的原则,加密可实现多种安全目的:秘密性、完整性、认证性 因此在协议中使用加密算法时,要事先确定什么目的并能够保证某种安全性的实现。,5.签名原则,1)主体对加密消息签名时,并不表明主体知道加密消息的内容。2)如果主体对一个消息签名后再加密,则表明主体知道消息的内容。问题:同时使用加密与签名时,怎样处理?,6.随机数的使用原则,作用:提供消息的新鲜性。关键问题:真正随机性。,7.时戳的使用原则,作用:可信任计算的重要部分。问题:考虑各个机器的时钟与当地标准

11、时 间的差异,这种差异不能影响到协议执行有效性。,8.编码原则,明确指出具体的编码格式编码要与协议的安全性相关。,安全协议缺陷分类,1.基本协议缺陷2.口令/密钥猜测缺陷3.陈旧消息缺陷4.并行会话缺陷5.内部协议缺陷6.密码系统缺陷,1.基本协议缺陷,设计时没有考虑或很少考虑攻击者攻击而引发的协议缺陷。实例:对加密的消息签名,从而可使攻击者通过用他自己的签名替换原有的签名来伪装成发送者。,2.口令/密钥猜测缺陷,1)可检测的口令在线猜测攻击:不成功的登录能被检测并限定次数。2)不可检测的口令在线猜测攻击:3)可离线的口令猜测攻击:,防范措施,1)认证服务器只响应新鲜的请求。2)认证服务器只响

12、应可验证的真实性。,3.陈旧消息缺陷,在协议设计中没有对消息的新鲜性充分考虑。从而存在重放攻击。,4.并行会话缺陷,通过交换一定的协议消息获得重要的消息。,5.内部协议缺陷,协议的可达性存在问题,协议的参与者中至少有一方不能够完成所有必需的动作而导致缺陷。,6.密码系统缺陷,密码算法的安全强度导致协议不能满足所要求的机密性、认证等需求而产生的缺陷。,消息重放攻击及对策,1.消息重放攻击2.对策,1.消息重放攻击,攻击者利用其消息再生能力生成诚实用户所期望的消息格式并重放,从而达到破坏协议安全性质的目的。分为 本协议的轮内攻击和轮外攻击。,影响消息去向的攻击,偏转攻击:将消息返还给发方-反射攻击

13、非协议 的双方-第三方攻击直接攻击-意定的接收方,但被延迟。,诚实主体收到的重放消息类型,1)本轮内的消息重放2)无重叠轮外消息的重放3)有重叠轮外消息的重放4)延迟的消息,对 策,保持消息的“新鲜性”。1.序列号机制2.时戳机制3.挑战-应答机制,1.序列号机制,方法:接收方通过比较消息中的序列号以判断消息是新产生的还是重放的。问题:开销增大适用范围:通信系统中成员较少。,2.时戳机制,消息的新旧是由消息上盖的时戳决定的,只有当消息上的时戳与当前本地时间的差值在一定范围内,接收方才接收这个消息。问题:需要全局时钟,但仍难以同步。,时戳带来的可能攻击,1)如果验证者弄错了当前的时间,那么旧消息

14、就能被很容易地重放。2)如果一个合法的声称者弄错了当前的时间,那么就有可能被利用在一个合理的时间点接收验证者重放后产生的认证请求。3)如果双方的时钟都有较大的偏差,则双方都会被攻击者利用。,3.挑战-应答机制,消息的时间变量参数由接收方在该消息传递前明确地向消息发送方说明。问题:系统开销增加。,安全协议(密码协议),安全服务的项目包含:对代理和结点的认证个建立结点之间的会话密钥确保安全性、完整性、不可否认性使用的密码机制:对称、非对称、哈希函数、数字签名、时戳、随机数和序列号等。,设计和分析安全协议的困难,1.安全协议所确保的各种性质非常细微。2.协议的执行环境复杂且充满入侵者,要考虑代理蓄意

15、破坏协议的可能性。3.完全获知入侵者的能力极其困难。入侵者除了通常操纵经过的网络信息外,还假定他们掌握密码分析技术。例:很多协议的漏洞都经过若干年才发现。,Needham-Schroeder安全协议(NSSK),Jeeves共享密钥(Anne)共享密钥(Bob)Anne Kab Bob 安全通道的建立,一些假设,ServerKey(a)【kas】长期密钥ServerKey(b)【kbs】长期密钥每个用户与服务器有一个长期密钥用户之间没有长期密钥为什么不是每两个用户之间都拥有一个长期密钥?N个用户,N2个密钥。,NSSK协议步骤,消息1aJ:a.b.na消息2Ja:na.b.Kab.kab.aS

16、erverKey(b)ServerKey(a)消息3ab:kab.a ServerKey(b)消息4ba:nbkab 消息5ab:nb-1kab,协议中的符号含义,一般格式 消息 m ab:data data k:该符号表示用密钥k对data加密后得到的值。m.n:该符号表示正文m后紧跟着(连接符)文本n。na:随机数(nonce),本协议目标,若协议正常运行,则用户Anne和Bob最终可以使用临时密钥kab共享信息。消息4和5:认证信息。a收到消息4可以确认b知道密钥Kab。b收到消息5可以确认a知道密钥Kab。,安全协议的脆弱性例1,1.用户Anne向Bob发送一条消息XpkAnne。2.

17、当用户Bob不能阅读收到的消息,只有用户Anne可以解密。因此BobXpkAnne pkBob并将它发送回给用户Anne。3.现在根据RSA算法的交换性,可以得出:XpkAnnepkBob=XpkBobpkAnne4.用户Anne可以将上述结果回发给用户Bob,然后也只有Bob能解密。,中间人攻击,1.攻击者Yves截获用户Anne向Bob发送的第1条消息XpkAnne,用自己的公钥对它加密。XpkAnne pkYves2.攻击者将加密结果发给用户Anne,而用户Anne无法识别这个应答消息是不是它所期望的从用户Bob发出的。XpkYves3.攻击者Yves在消息传递至用户Bob之前再次截获它

18、,解密就得到了秘密信息X。,安全协议的脆弱性例2穿插,攻击者试图使协议在两个或者多个连接中间时执行以多个步骤之间的重叠。考察 Needham-Schroeder公钥协议消息1ab:a.napkb消息2ba:na.nbpka消息3ab:nbpkb,最终所有用户都确信的原则,他们知道自己正在和谁进行会话。他们对na和nb的值达成一致。没有其他人知道na和nb的值。多年以后发现的一个攻击:G.Lowe,Breaking and fixing the Needham-Schroeder public-key protocol using FDR.Proceedings of TACAS number

19、1055 in LNCS,Springer,1996,攻击原理如下,消息.1AY:a,naPKY消息.1 Y(A)B:a,naPKB消息.2BY(A):na.nbPKA消息.2YA:na.nbPKA消息.3AY:nbPKY消息.3Y(A)B:nbPKBAnne、Yvve共享na,nb。Bob、Anne却认为仅他们单独共享na,nb。,密码泄漏,消息1ab:a.na消息2bJ:b.a.na.nbserverkey(b)消息3Jb:,安全协议,2.3 安全协议及其受到的攻击实例,2.3 安全协议及受到攻击的实例,A,B,:表示参与协议的主体。Kij:主体i,j共享的会话密钥。Ki:主体i的公钥。K

20、i-1:主体i的私钥。Ri:主体i生成的随机数。Ni:主体i生成的序列号。Ti:主体i生成的时戳。m1|m2:表示消息 的级联,续上页,E(k:m):表示用密钥K对消息m加密。Text1,Text2,:为消息常量。fKab(X):表示用Kab加密的Hash函数。Z:表示攻击者。,无可信第三方参与的对称密钥协议,1.ISO one-pass 单方对称密钥认证协议 1)AB:Text2,E(Kab:Ta|Na,B,Text1)2.ISO two-pass 单方对称密钥认证协议 1)BA:Rb,Text12)AB:Text3,E(Kab:Rb,B,Text2),无可信第三方参与的对称密钥协议(2),

21、3.ISO two-pass 双方对称密钥认证协议 1)AB:Text2,E(Kab:Ta|Na,B,Text1)2)BA:Text4,E(Kab:Tb|Nb,A,Text3),无可信第三方参与的对称密钥协议(3),4.ISO three-pass 双方对称密钥认证协议1)BA:Rb,Text12)AB:Text3,E(Kab:Ra,Rb,B,Text2)3)BA:Text5,E(Kab:Rb,Ra,Text4),无可信第三方参与的对称密钥协议(4),5 使用单向函数1)BA:B,Rb2)AB:A,E(Kab:f(Rb),Ra,A,K)3)BA:B,E(K:f(Ra)使用单向函数验证消息的正确

22、性。,无可信第三方参与的对称密钥协议(5),6.RFC 协议AB:A,E(Kab:Na)BA:E(Kab:Na+1,Nb)AB:E(Kab:Nb+1)BA:E(Kab:Kab,Nb)有缺陷,例如4)易被 E(Kab:Na+1,Nb)替代,并且A不能觉察()。,RFC协议的修改,AB:A,NaBA:E(Kab:Na,Kab)AB:A,E(Kab:Na)BA:Nb仍有缺陷,存在多重会话攻击,多重会话攻击(选讲,仔细),AZ(B):A,Na1)Z(B)A:B,Na2)AZ(B):E(Kab:Na,Kab)Z(B)A:E(Kab:Na,Kab)AZ(B):A,E(Kab:Na)3)Z(B)A:A,E(

23、Kab:Na)Z(B)A:Ni4)AZ(B):Na,有可信第三方参与的对称密钥协议(1),1.Needham-Schroeder私钥协议AS:A,B,NaSA:E(Kas:Na,B,Kab,E(Kbs:Kab,A)AB:E(Kbs:Kab,A)BA:E(Kab:Nb)AB:E(Kab:Nb-1)问题:消息3)新鲜性无法保证。若使用流密码则消息4)和5)差别很小,易被攻击。,缺陷分析,若在给定的时间内旧密钥Kab被解密,则该协议有问题:由于消息3)中没有新鲜性标记,因此攻击者重放一个以前A发给B的报文。Z(A)B:E(Kbs:Kab,A)使得B以为是A发来的。,2.修订的Needham Schr

24、oeder协议,AB:ABA:E(Kbs:A,Nb)AS:A,B,Na,E(Kbs:A,Nb)SA:E(Kas:Na,B,Kab,E(Kbs:Kab,Nb,A)AB:E(Kbs:Kab,Nb,A)BA:E(Kab:Nb)AB:E(Kab:Nb-1),该协议仍然有缺陷,见文献 C.Boyd.Towards a formal framework for authentication.Manuscript,University of Manchester,1990,3.Yahalom 协议,AB:A,NaBS:B,E(Kbs:A,Na,Nb)SA:E(Kas:B,Kab,Na,Nb),E(Kbs:A

25、,Kab)AB:E(Kbs:A,Kab),E(Kab:Nb),对协议的一个攻击为,Z(A)B:A,NaBZ(S):B,E(Kbs:A,Na,Nb)SA:E(Kas:B,Kab,Na,Nb),E(Kbs:A,Kab)Z(A)B:E(Kbs:A,Na,Nb),E(Na,Nb:Nb)Nb怎么获取?若Z为A很容易做到。,其他协议,Needham-Schroeder签名协议大嘴青蛙协议Carlson SKI协议ISO四向认证协议ISO五向认证协议Woo&Lam 认证协议Neuman Stubblebine协议,2.3.3 无可信第三方参与的公钥协议,1.ISO one-pass 单方公钥认证协议AB:C

26、ertA,Ta|Na,B,Text2,E(Ka-1:Ta|Na,B,Text1)2.ISO two-pass 单方公钥认证协议BA:Rb,Text1AB:CertA,Ra,Rb,B,Text3,E(Ka-1:Ra,Rb,B,Text2),3.Diffie-Hellman协议,AB:X=Gxmod NBA:Y=Gymod NG,N是通信主体A、B的共识。协议执行完成后,双方计算得到新的密钥K=GXY mod N(本协议不提供认证),4.station-to-station协议,AB:A,B,axBA:B,A,ay,E(K:(ayax)AB:A,B,E(K:(axay),对该协议的攻击,AZ(B)

27、:A,B,ax1)ZB:Z,B,ax2)BZ:B,Z,ay,E(K:(ayax)Z(B)A:B,A,ay,E(K:(ayax)AZ(B):A,B,E(K:(axay),对STS协议的修改,AB:A,B,axBA:B,A,ay,E(K:(A,ayax)AB:A,B,E(K:(B,axay)此时,2)BZ:B,Z,ay,E(K:(Z,ayax)2)Z(B)A:B,A,ay,E(K:(Z,ayax),其他协议,ISO two-pass 双方公钥认证协议ISO three-pass 双方公钥认证协议Bilateral密钥交换公钥协议Station-to-Station协议,有可信第三方参与的公钥协议,

28、1.Needham-Schroeder公钥协议AS:A,BSA:E(Ka-1:Kb,B)AB:E(Kb:Na,A)BS:B,ASB:E(Ks-1:Ka,A)BA:E(Ka:Na,Nb)AB:E(Kb:Nb),Lowe发现的对此协议的攻击,AZ:E(Kz:Na,A)3)Z(A)B:E(Kb:Na,A)ZA:E(Ka:Na,Nb)AZ:E(Kz:Nb)7)Z(A)B:E(Kb:Nb)Lowe的修改 6)BA:E(Ka:Na,Nb,B),2.Denning Sacco密钥分配协议,AS:A,BSA:Certa,CertbAB:Certa,Certb,E(Kb:E(Ka-1:Kab,T)欺骗过程:BS

29、:B,CSA:Certb,CertcBC:Certa,Certc,E(Kc:E(Ka-1:Kab,T),其他协议,SPLICE/AS 认证协议Denning Sacco密钥分配协议SRA three-pass协议Gong双方认证协议加密的密钥交换协议,2.4 安全协议的形式化分析,新兴领域目前的技术主要用于对密钥正确的认证安全协议的形式化分析有助于:1.更准确地描述安全协议的行为。2.更准确地定义安全协议的特性。3.证明安全协议满足其说明,以及证明安 全协议在什么条件下不能满足其说明。,安全协议形式化分析的历史与现状(1),实现网上密钥分配与实体认证。最早提出对安全协议形式化分析思想的是Nee

30、dham和Schroeder.,Using encryption for authentications of large networks of computers.Communications of the ACM,21(12),993-999,1978,安全协议形式化分析的历史与现状(2),真正在此领域做出工作的为Dolev 和Yao。1989年,Burrows,Abadi 和Needham提出了BAN逻辑,较成功。目前典型的方法:以BAN逻辑代表的基于推理结构性方法。基于攻击结构性方法。基于证明结构性方法。,相关问题-open-ended协议,针对有限主体通信:数据结构固定,如随机数、

31、名字、密钥等。变动(1)协议并行执行的数目不可知。(2)攻击者为创建一个消息而执行的操作 数是不受限制的。,相关问题-拒绝服务,攻击者开始一个协议之后就放弃,使得受骗者处于悬挂等待状态,由于受骗者占用一定的资源以维持连接直到协议连接等待时间到。认证可缓解解决:识别攻击者的来源,从而受骗者可断开与攻击者的连接。,相关问题-匿名通信,防止“旁观者”判断服务请求的来源与去处,主要的方法是采用加密手段使得路径上的节点只知道与其直接通信的节点,而对其他节点忽略不计。,相关问题-可合成性,在同一环境下,两个或多个协议同时执行时,一个协议的消息是否会破坏其他协议的安全目标。,相关问题-局限性,1.对安全协议的分析或推证往往是基于环境某些假设之上的,只有当假设成立时,证明才成立。一旦某种假设不成立,一切的证明无效。2.一些关键性的假设,只要攻击者违反了他们,仍可成功入侵系统。3.安全特性对不同的要求侧重点不一样,甚至矛盾。例如匿名性和可追究性是冲突的。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号