安全协议分析与设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 卫剑钒 陈钟 安全协议-第6章-下

上传人:E**** 文档编号:89357355 上传时间:2019-05-23 格式:PPT 页数:21 大小:1.02MB
返回 下载 相关 举报
安全协议分析与设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  卫剑钒 陈钟 安全协议-第6章-下_第1页
第1页 / 共21页
安全协议分析与设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  卫剑钒 陈钟 安全协议-第6章-下_第2页
第2页 / 共21页
安全协议分析与设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  卫剑钒 陈钟 安全协议-第6章-下_第3页
第3页 / 共21页
安全协议分析与设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  卫剑钒 陈钟 安全协议-第6章-下_第4页
第4页 / 共21页
安全协议分析与设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  卫剑钒 陈钟 安全协议-第6章-下_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《安全协议分析与设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 卫剑钒 陈钟 安全协议-第6章-下》由会员分享,可在线阅读,更多相关《安全协议分析与设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 卫剑钒 陈钟 安全协议-第6章-下(21页珍藏版)》请在金锄头文库上搜索。

1、安全协议分析与设计 第六章(下),卫剑钒,2,设计抵御拒绝服务攻击的安全协议,拒绝服务攻击(DoS)是一种常见而有效的攻击手段,它利用协议或系统中的缺陷,向服务提供方进行攻击,试图通过耗尽服务方资源或其他方式,达到使服务方“无法向授权用户提供服务或造成对时间要求急迫类服务的延迟”ISO89的效果。 分布式拒绝服务攻击(DDoS)作为DoS攻击的一种特殊形式,则是利用大量的傀儡主机向服务方发起攻击。 攻击者可冒充协议发起方发起大量的认证请求,安全协议如果在设计时未能考虑DoS攻击的威胁,响应方就很容易耗尽受限资源导致拒绝服务。,3,安全协议中的DoS攻击,下面以ISO/IEC 11770-3密钥

2、交换协议为例,来说明安全协议中普遍存在的DoS攻击隐患。 Na和Nb为Nonce,Kba和Kab为双方各自产生的密钥,协议运行完毕后,每个主体将Kab和Kba进行散列运算后得到会话密钥。,4,攻击者可以冒充发起方A发出大量的虚假消息Msg1,响应方B接收到Msg1后,不做任何判断(也不能做出判断),就开始进行Kba的生成以及一次公钥加密和一次签名运算,其中后两者在计算上都是较为昂贵的。 同时响应者还要在内存中保存这次认证的状态,如保存A、Na、Nb、Kab等信息,攻击者在短时间内可以冒充任意的发起方向响应方发送大量的Msg1,这样,协议同时受到内存耗尽和计算耗尽DoS攻击的威胁。,5,防御策略

3、,目前主要的解决策略有无状态、弱认证和增加发起代价3种。 无状态是指响应方在处理请求时,不保存针对每个发起者当前会话的状态,以避免内存资源耗尽; 弱认证是指响应方首先进行一个较小运算量的验证,对协议发起方的身份进行初步的认证,弱认证通过后,才开始安全协议中较为耗费资源的强认证部分; 增加发起代价则是针对DoS攻击发送大量消息的特点,适当增加其资源耗费代价,使得DoS攻击发起难度增大。,6,无状态连接方法,其出发点在于减轻响应方的内存资源载荷。在收到发起方的协议发起请求后,响应方执行协议但并不保存和协议相关的状态信息,而将状态信息作为响应消息的一部分发给发起方,发起方在下一条消息中再将该状态返回

4、给响应方。,7,其中I表示发起方,R表示响应方,Stater, i表示R在第i轮交互中生成的状态信息。整个协议可以不必是无状态的,但在确认对方不是DoS攻击者之前,响应方必须保持无状态。 状态信息中有些需要保持秘密,另一方面,应能防止攻击者对状态信息进行更改,所以需要响应方对状态信息进行机密性和完整性保护,Stater,i 可以改为 Stater,i Kre,HMAC Krm,Stater,i 其中,Kre和Krm是仅为响应方知道的分别用于机密性和完整性保护的秘密密钥。,8,对ISO/IEC 11770-3协议进行改进并优化后 ,可得:,这种方法虽然解决了内存资源耗尽的问题,但是计算资源并没有

5、得到减轻,如果要求状态的机密性和完整性,计算资源的消耗将会大于使用该方法前的消耗。,9,Cookie方法,自Karn和Simpson提出Photuris协议起KS99,cookie机制开始应用于安全协议中,在协议运行起始部分,响应方收到请求后,发送给发起方一小块数据(也即cookie),发起方必须在随后的消息中包含这块数据。其目的是防止攻击者使用假冒的网络地址(以下以IP地址为例)进行DoS攻击。,10,使用cookie的原则,cookie在使用时,应该注意满足如下原则。 原则1:cookie的产生必须和特定的发起方相绑定。 原则2:除响应方外,没有任何主体可以生成被响应方接受的cookie。

6、 原则3:cookie的生成和检验必须足够快,以防止机制本身被拒绝服务。 原则4:只有在cookie机制运行完毕并通过检验后,响应方才提供内存资源。,11,原则1是为防止一个攻击者使用真实的IP地址得到cookie,然后使用伪造的IP地址返回cookie,这可通过在产生cookie时和对方的IP地址及端口相绑定来实现;为满足原则2,响应者可在生成和验证cookie时使用本地秘密信息;原则3的实现可通过使用带密钥的单向函数来实现。在Photuris协议中,建议的cookie生成方法为 cookie = HMAC( secret, IP-I, IP-R, Port-I, Port-R, conte

7、xt ) 其中,IP-I和Port-I表示发起方的IP地址和端口,IP-R和Port-R表示响应方的IP地址和端口号,context表示和这次请求相关的一些其他信息。,12,针对cookie机制的攻击,(1)攻击者使用真实IP地址获得cookie,并使用真实IP地址进行攻击。这在DDoS攻击中较为普遍。 (2)攻击者使用虚假的IP地址发出请求,通过在返回的路径上窃听、使用IP源路由选项等方法获得cookie,并使用该cookie和虚假的IP地址进行DoS攻击。 (3)攻击者窃听到发给某个IP的cookie,然后使用该cookie并伪造该IP进行DoS攻击。,13,Cookie机制的使用要点,(

8、1)每个协议会话成功后,在一定时间内不允许相同的cookie再次出现,这可以防止攻击者在一次cookie交互成功后,继而发送大量的、相同的、可以被通过的cookie。 (2)对每个发起方进行资源限制,当在接收到协议请求时,如果检测发现该IP地址创建的会话多于某限定值时,则拒绝该发起方的协议请求。 (3)限制cookie本身的使用时间,如果在某个限定时间内没能收到发起方回送的cookie,则不再接收此cookie。用于防范较长时间内收集大量cookie并集中发送的可能,可通过定期改变本地秘密secret来实现。 IKE协议使用了cookie方法,但在使用上有一些问题。,14,failing-to

9、gether方法,主要思路是尽量减少响应方的计算量并适当增加发起方的计算量,目的是使得在双方计算能力可比的情况下,发起方的计算量大于或等于响应方的计算量。这样,攻击者在试图对响应方进行计算资源耗尽DoS攻击时,可能会先耗尽自己的计算资源。 这种方法的实现主要基于特殊的签名和签名验证算法,如SDSS签名算法Zhen97及schnorr签名算法Schn91,这类签名算法有如下的特性。 (1)签名中较为昂贵的部分可以预先计算,预先计算内容中包括一个现时材料RF。 (2)签名验证时,需要以较昂贵的代价从签名中重构RF。 这样,每个请求到来时,响应方使用较少的代价进行签名,发起方则需要较高的代价从签名中

10、求解一个RF,并将其回送给响应方,从而达到限制攻击者的目的。,15,更改原先Msg2中的签名方案为SDSS签名,SIGb是对Nb,Na,A,B,Kba,Rb进行签名而得,其中Rb就是RF,具体的签名算法见文献Zhen97。Kbe是仅为B所知的密钥,Rb,Kba Kbe用于使协议无状态。 Msg3中HASHa的计算方法如下,其中包含了RF信息Rb。 HASHa = Hash A, Na, Nb, B, A, Kab Kb Ka1,Rb ,16,B收到Msg3后,首先解密获得Rb,并用它来验证SIGb,(在已知RF的情况下,签名验证代价很低),验证通过后,再验证HASHa,以确保A确实进行了Rb的

11、求解。以上都是代价较低的计算,全部通过后,才开始进行相对昂贵的签名验证。 Failing-together方法虽然使协议发起方和响应方在计算量上达到了可比的程度,并且响应方实现了无状态。但这只能防止单个攻击者进行DoS攻击,对于DDoS,该方法无能为力。,17,client puzzle方法,为了防止垃圾邮件,Dwork和Naor在文献DN92中提出了工作量证明(Proof of Work)的思路,工作量证明要求client在发送每个邮件消息前向server证明自己已经耗费了一定量的资源代价,这使得大量发送垃圾邮件的代价变得昂贵而效率低下。Jules和Brainard在防御SYN-flood攻

12、击时采用了工作量证明的思路,在文献JB99中提出了client puzzle方法, Aura等人将client puzzle用于安全协议防御DoS中Aura00。其主要策略为:当收到协议发起请求时,响应方不保存任何状态,而是发给发起方一个密码学问题,等发起方解决了该问题后才开始继续协议。该问题的特点是解答较为耗费资源,而验证却十分容易,且问题的难度也可以较为容易地调整。,18,Client puzzle可以有多种方式,较为常见的是解决部分散列碰撞问题(PHC puzzle):给出一个b值,要求对方求解x,使得x的Hash值的左边b比特全为零。也即使得: Hash(x) = (left b) 0

13、k 对于理想的单向散列函数,PHC问题只能通过暴力测试来求解,平均需要探测的次数为2b次。,19,一个简单的PHC puzzle,响应方每过一段时间选择一个64位的随机数Ns保存在本地,发送Ns和b作为puzzle,要求发起方产生64位的随机数Nc,并求解64位的solution,使得下式成立: Hash ( Ns | Nc | solution ) =( left b ) 064 发起方求解完毕后返回Nc和solution,响应方使用保存在本地的Ns对其进行Hash验证,如果通过,才开始协议的运行。对于响应方,一次Hash是代价很小的运算,而发起方则要进行平均约2b次的测试,这就达到了增加发

14、起方代价的目的。,20,client puzzle的效果,如采用b = 18时,意味着发起方平均需要约218次测试才能求解puzzle并继续运行协议。经测试,对于一个每秒可以发送10万个消息的攻击者,攻击强度比不使用puzzle时下降了6万倍左右。对于使用傀儡机的DDoS攻击,则意味着为达到同等效果,需要征集参与攻击的主机数目为以前数目的上万倍之多,这是很难做到的。 使用PHC puzzle时,应该注意Ns、Nc和Solution的长度不能太小,否则攻击者可能构造数据库,预先计算每个可能求解组合并列表存放,以避免攻击时的计算。另外,为防止攻击者重放Nc及solution,应当保证Ns在短时间内更新。,21,Wei Jianfan,Thank You !,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号