首页 SSL协议安全缺陷分析

SSL协议安全缺陷分析

举报
开通vip

SSL协议安全缺陷分析SSL协议安全缺陷分析 摘要:近年来,随着对Int ernet上传输数据保密性的需要,安伞套接字层(SSL1被J“泛地使用o SSL协议基于公开密钥技 术,提供了一种保护客户端,服务器通信安全的机制。但是,SSL协议仍存在一些安全缺隅,对使用SSL协议的通儒带来蔓 争隐患。文中简要介绍了SSL 3.O协议的内容,重点讨论了SSL 3.0协议的安争缺陷并针对缺陷提出了相应的改进方法 为协议的灾现提供了参考。 关键词:安全套接字层;安全;缺陷 中图分类号:TP393.08 文献标识码:A 又章编号:167...

SSL协议安全缺陷分析
SSL协议安全缺陷分析 摘要:近年来,随着对Int ernet上传输数据保密性的需要,安伞套接字层(SSL1被J“泛地使用o SSL协议基于公开密钥技 术,提供了一种保护客户端,服务器通信安全的机制。但是,SSL协议仍存在一些安全缺隅,对使用SSL协议的通儒带来蔓 争隐患。文中简要介绍了SSL 3.O协议的内容,重点讨论了SSL 3.0协议的安争缺陷并针对缺陷提出了相应的改进 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 为协议的灾现提供了参考。 关键词:安全套接字层;安全;缺陷 中图分类号:TP393.08 文献标识码:A 又章编号:1673 - 629X(2006) 12 - 0224 - 03 Analysis of the Vulnera bilities of SSL Protocol LI Wei , HOU 2heng2feng (Dept. of Computer , Hefei University of Technology , Hefei 230009 +China) Abstract :The use of secure socket s layer ( SSL ) o n the Internet has grown significantly in recent years as mo re applicatio ns LISe the Inter: nct to dclivcr data which rcquirc t raftic to bc co nfidcntial . The SSL p rotocol which is bascd o n t hc p ublic kcy tcchniquc is intcndcd to p ro: vide a mechanism fo r Internet client/ server co mrminicatio ns securit y. However , SSL p rotocol gtill has so me vulnerabilities . which brint so me dangers to Internet co rnrnunications. Int ro duce t he co ntent of t he SSL 3 . o p rotocol and discuss chiefly several securit y vulnerabilitie: and attackR on t he p rotocol. Accordi ng to these vulne ra bijities . also p re sent some i mprove ment sugge clions , whic h give so me references to t hc implcmc ntatio n of the p rotocol. Key "ords :SSL ; recuritv ; vulnerabilitv 0剖言 随着电子商务的广泛应用,在开放的网络上进行安至’口』靠的数据通信已经成为安夸交易的重要内容。其中安全套接字层(SSL)协议是目前使刚最广泛的川于Web浏览器的安全协议。该协议向基于TCP/IP的客户端,服务器应用程序提供了客户机和服务器的鉴别数据完整性以及机密件等安全措施,为网络上的客户机/服务器提供了一个实际的应用层的面向连接的安伞通信机制。 1996年,Net scape公司发布了SSL 3.0,该版本增力c了对除了RSA算法以外的其他算法的支持和一些新的苤全特性,并且修改了前一个版本中存在的安全缺陷。lSSL 3.0结构SSL 3.O是一种分层胁议,它是由记录层以及记录层上承载的不同消息类型组成,而记录层叉由某种可靠的传输协议TCP承载。下面简要分析一下协议的结构1 。 1.1记录协议 记录协议位于SSL协议的底层,用于定义传输数据的格式加密/解密压缩/解压缩MAC计算等操作。记录由记录头和记录数据组成。记录头包括的信息有:记录失的长度记录数据的长度记录数据中是否有填充数据。其中填充数据是在使用块加密算法时填充实际数据使其长度恰好是块的整数倍。记录数据由三部分组成:消息认证码实际数据和填充数据。 1.2握于协议 握手协议处于记录协议之上,它产生会话的压缩、MAC加密的计算参数。当客户端发起SSL会话后,通过握手协议,双方协商随后通信中使用的协议版本密码算法,彼此互相鉴 别验证,使用公开密钥密码技术协商产生共享密钥。典型的握手过程如下: (1)客户端发途第一条消息client.hello,其中包含了客户端所推荐的加密参数,包括它准备使用的加密算法。此外,还包括一个在密钥产生过程中使用的随机值。 (2)服务器以三条消息进行响应:首先发途选择加密与压缩算法的server - hello,这条消息包含一个从服务器过来的随机值。然后,服务器发途certificate消息,其中包含服务器的公用密钥。服务器可选地发送certifcate - re2quest消息,要求客户端的证书。最后,服务器发送表示握手阶段不再有任何消息的server- hello- done。 (3)如果服务器要求客户端证T,客户端应发送一条 收稿日期:2006 03 22 作者简介:李玮(1983 -),男,安徽台肥人,硕士研究牛,研究方向为网络安全;侯整风,教授,研究方向为计算机刚络与信息安全。 第12期 李玮等:SSI-协议安全缺陷分析certificate消息给服务器。然后客户端发送一条client.key—exchange消息,其巾包含了一个随机产生的用服务器的RSA密钥加密的pre.master.secret。如果客户端证书具有签名功能的话,客户端还应发送certificate—verify 消息。这条消息后面跟着一条指示客户端在此之后发送的所有消息都将使用刚刚商定的密码进行加密的change -ciper.spec消息。finished消息包含了对整个连接过程的校验,这样服务器就能够判断要使用的加密算法是否是安全商定的。 (4) -旦服务器接受到了客户端的finished消息,它就会发送自己的change - cip her - cpec和fnished消息,于是连接就准备好进行应用数据的传输了。1.3警示消息警示土要用于 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 各种类型的错误。大多数警示斥于报告握手中出现的问题,但是也有一些指示在对记录试图进行解密或认证时发送的错误。1.4ChangeCipherSpec消息change.cip her.spec表示记录加密及认证的改变。一旦握手茼定J-组新的密钥,就发送change - cip her - spec采指示此刻捋启刷新的密钥。 2 SSL 3.0安全缺陷和改进 2.1通信业务流分析攻击 SSL协议提供了通信消息的机密性和完整性,在选择恰当的密码算法的基础上,所有在习络中传输的消息都被加密,并且使用MAC对消息的完整性进行保护。因此,对通信信道的窃听是不能获得机密信息的。于是攻击者就口J甫巨采用另一种被动攻击手段——通信业务流分析2。通信业务流分析目的通过分析IP包未经加密的字段和未受保护的属性,恢复受保护会话的机密信息。如通过检验未经加密的IP源和目的地址或观祭网络的流量状况,可确定会话双方的身份正在使用何种服务甚至猜测IL[J,商务或个人关系的信息。 在用户使用HTTP协议进行www浏览的时候,攻击者使用通信业务流的分析方法,对浏览器和www服务器之间的SSL通信进行攻击,可以发现非常有效的攻击方法。通过检查密文信息的长度等综合的业务流分析,可以得到双方的IP地址端口号URL请求的长度Web页面的长度等。结合现在高效的Web搜索引擎技术,以上信息使攻击省发现用户调用的Web页面。这种攻击的关键是得到密文的长度,而由小在SSL中,无论是分组密码算法还是流密码算法,密文的长度都足近似准确的。 SSL协议对这种攻击的脆弱是由于其所处的网络协议的层次决定的。要想从根本上防f 卜.这种攻击必须从网络层甚至数据链路层着手,分层解决。用户也应该注意在通信过程rf1,尽量避免机密信息的暴露。 2。2 ChangeCipherSpec消息的丢弃攻击 在SSL 3.0协议rf1,一个小的漏洞是在finished消息rf1没有对change.cipher.spec 消息的认证3。这一缺陷将会导致一种潜在的攻击方法:丢弃change—cip her一spec消 息攻击。 在正常的情况下,双方的通信流程如下: C—S: chan ge. cipher. spec C—S:finished:{a}k S—÷C: chan ge- cipher- spec s_c:finished:{a}k C—S:{111}k 其中{3}指对数据进行加密保护:m代表密钥交换完成后传输的数据,a代表消息认证码,是蚶所有握手消息进行MAC计算的结果。在接受到change - cipher.sp ec消息之前,当前的cip her—suite -般不加密和不作MAC保护,而此时待决的cipher.suite LL『包含了茼定的加密算法等参数。通信艾体在接受到change - cip her - spec浦息之后,就把待决的cip her—suite复制成当前的cipher—sulte,记录层开始对通信数据进行加密和完整性保护。假设一种特殊情形:茼定的cip her suite H蚶消息进行认证,不作加密保护。在这种情形下攻击者就可以发起中间人攻击。双方的通信流程如下: C{M:chan ge—cip her一spec C÷M:finished:{a}k M—}S:finished:a S—M:chan ge.cip her.sp ec S÷M:finished:{a}k M—}C:finished:a C -*M:{lll}k M—}S:m 攻击者M截取并删除了change—cip her - spec消息捌么通信双方捋不再更新当前的cip her - suite,也就不再难发途的数据作MAC认证了。由于商定的cip her suite彳使用加密,则很容易从{ 111)t得到数据mo这样,协议对遁信数据失去了认证能力,攻击者在通信双方不知道的情饬下获得了对数据进行任意窜改的能力。 如果通信双方蔺定的cip her—suite使用加密,该攻击就不容易实现了。但是,如果系统使用的是弱的密码算法,例如当密钥长度为40此特的DES算法时,那么在现有的计算能力下进行密钥的穷举攻击还是能够成功的。 避觅上进攻击的方法是捋chanoe一cipher一spec加入到finished消息的消息认证计算中。该安全缺陷也可j≥在协议实现中使用某种手段避免而不需要修改协议的妻本框架。强调在通信实体发送finished消息之前必然接受到chan ge - cip her一spec消息,否则必然引起协议的致命错误。但是胰用这种方法改进协议的安全缺陷需要依莉协议实现者的谨慎。 2.3密钏交换算法欺骗攻击 首先描遗一下SSL 3.O中server.key.exchange消息的数据结构4。计算机技术与发展第16卷 struct { select { Key ExchangeAlorit hm} { case diffie - hellman : ServerDHParams params ; Signature signed - params ; caAe rsa : ServerRSA Para ms para ms ; Signat ure signed ~ para ms ; } Server KeyExchange ; st ruct i* opaque RSA _ mo dulus : opaque RSA exponent : } ServerRSAParams ; struct { opaque DH _ p ; opaque DH . g ; opaque DH _ Ys ; } ServerDHParams ; enum{ rsa ,diffie _ hell man} KeyExc hangeAlgo rit hm ; 服务器使用server.key.exchange消息来发送用服务器私钥签名的临时公开参数,客户端使用这些公开参数和服务器交换密钥,获得共享的pre - maste:r - secret。协议规定可以使用多种密钥交换算法,例如RSA算法和DiffieHellman算法。由:]:服务器对公开参数的签名内容没有包含KeyExchangeAlgorithm蜮,因此给攻击者提供__r可乘之机3 。攻击者使用cip her.sⅢte回转攻击使服务器使用临时DH密钥交换,而客户端使用临时RSA密铜交换。这样,服务器的DH素数模p和生成因子g被客户端理解为临时RSA的模p和指数go客户端使用伪造的参数加密pre.master.secret。攻击者截获用RSA加密的值kgmod p,因为p是素数,所以容易恢复出pre master secret的PKCS编码k。这样pre- master- secret就泄露给攻击者了。以后所有的握手消息都可以被伪造,包括finished消息。 此后,攻击者可以在SSL连接上解密传输过程中所有机密应用数据利伪造任何数据。下面描述J,这种攻击的通信流: client _ hello : C -M : SSL RSA _ M S: SSL. DHE. RSA_ server - hello : S -*M : SSL ~ DHE RSA_ M C: SSL- RSA_ server - key- exchange : S M : {p ,g ,y}ks ,diffie _ hellrnan M C: {p gg ,y}ks ,rsa client - key- exchange : C M: kgniod p M ->S:旷mod p 其中客户端的p re - master - secret倩是k,而服务器端通过计算gxy mod p得到pre - master—secret,这里x是攻击者M选择的。该安全缺陷也可以通过协议实现者的特殊处理加』≥避免。协议实现者需要在客户端接受到server - key - ex:change消息时检查公开参数域的长度,这样就能够区分序使用的密钥交换算法从而避觅这种攻击。 2.4密钥交换巾的重放攻击 密钥交换算法中在server - key - exchange消息中绑定了公开参数和服务器和客户端的随机值的签名,但是在匿名的密钥交换算法中没有绑定签名3 。随机值用来阻止在新握手过程中重放前一次的server key exchange消息。下面描逋了Signat ure消息的数据结构 4。 select( Signat ureAJ gorithm) { case ano nymo us:st ruct{};case rsa: digi tally.signed st ruct{ opaque md5 hash16;opaquc sha. hash20: ); case dsa: digjtally.signcd struct{ opaque sha—hash20; } } Signature; md5. hash=MD5 f client. random+server. random+Server2 Paramsl: 如果攻击者知道服务器使用了匿名的密钥交换,则攻击者能够重放服务器的server—key- exchange。客户端在匿名的密钥交换中容易被欺骗。为避免这种攻击,服务器应选择对公开参数和随机值的签名算法。 2.5密码分析方法攻击 在加密应川数据时,数据长度可以很大,如传输多嫦体信息。在SSL协议中,基于同一密钥传输大量数据是不安伞的,它提供大量的南文信息和其他附加信息,攻击者可以利用 筹分分析方法和线性分析方法破解密码,获得密钥5 。改进的出发点是定义加密的粒度,即同一密钥能加密的最大长度的明文数捌,当长度超过粒度时,密钥必须更新,粒度大小应在握手中协商。下面是对client - hellc消息的扩展: st ructf ProtocaIVersion cLient—versaon: Random random: SessionID session.id: CipherSuite cip her—sulte; Co mp ressionMet ho d co mpressio n _ met ho d ; Uint8 key _ refresh ; } client _ hello ; (T转第229 Di) 第12期游强华等:基于Struts框架的Web系统的角色权限验证 2两种方法的比较 (1)两种方法都实现了用户角色权限的验证,保证了系统儒息的安全性。 (2)第一种方法没有将模式和视图分开,随着系统能增大,将会导致系统更新的复杂化,以及系统的町扩展性较差。 (3)第一种方法将逻辑和视图分开。通过对Action的覆写,实际上实现了对JSP页面的定义,将单个的JSI页面映射称为一个权限,从而通过对应的权限实现了对柞应页面的访问。这样提高了系统的可扩展性。对于新堆的JSP页面只要新增对应的Action以及系统权限,即可伢证系统权限验证的完整性。 (4)第二种方法通过禁止对“3.jsp”页面的直接谑求,隐藏了系统的文件信息,即隐藏了系统的文件结构,无形中也提高了系统安全性。 3结论 在B/S结构中,系统的权限验证比as中更显重要,d S结构由于具有特定的客户端,因此用户的权限验证可以通过客户端实现或通过客户端+服务器检测实现,而BlS结构中,用户通过浏览器进行系统信息的访问,如果没有一个伞面的权艰验证,那么‘芎}法用户”很可能通过祛览器访问到BlS结构系统中非授权功能。因此BlS结棰中用户角色的权限验证将是倮证系统信息安全性的-叶核心部分。文rf1构建的基于St rut s框架的Web系统从名方面对用户提交的请求进行验证,防止了用户提交不合汪的参数而获取非法信息的可能性,并隐藏丫系统的文件耀构,最大程度上保证了系统信息的安全性。 参考文献: 1 张梓元,贾燕枫+ Struts开发入门与项H实践M.北京:人民邮电出版社,2005: 2 -8.暴志Ⅲ,胡艳军,顾新建.基于Web的系统权限管理实现方法J.计算机 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 ,2006,32(1): 169 - 170.张租平,干磊.基于多种模式的权限摔制技术研究J.计算机工程,2006,32{1): 177 - 178.剧杰.对Strut s应用开发框架的研究和改进J.计算机d 工程,2004,30(增甲j):144 - 145.孙卫琴,基于MVC的Java Web 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 与开发M.北京:电子工业出版社,2004:5 - 10.(上接第219 iTi)程序的编写,有这方面编程经验者可参考/uc/ GUI用户手nf) API部分。3总结以卜l详细论述了S 3 C44BOX微处理器的GUl硬件设计及LCD模块的驱动机理,在,uc/ GU I的基础上,着重介绍了GUI工作机理,详细论遗了基于ARM的GUl的移植万法。其广_很多部分仅是提崩了概要的描述,实际工作rf1还有很多细节工作需要完善。 参考文献: 1 王田苗,嵌入式系统设计与实例开发M 北京:清华大学出版社,2002:123 - 126..Samsung公司.S3C44BOX date sheet Samsung公刊技术资。料M.韩国: Samsung,2004 Micrium公刊。Ltci GUI user manual,Mi crium公刊用户 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 3 M. s.1.:Micrium ,2002:325 - 347. 陈冰峰,姜卓,王剑钢基于ARM7 S:3C44BOX嵌入式系4 统GUI设计J.仪器仪表用户,2004 (4):30 - 31.杜春雷ARM体系结构与编程M 北京:清华大学出版‘社,2001:377 - 379.(I|‘接第226页) 这里添加了key refresh字段,表示加密的粒度为1kcy-”frcsh个字节。协荷了加密的粒度之后,现在对原来雌密钥导出两数进行修改。密钥分组的计算过程如下:key—block= PRF( master—secret,¨key expansion , server—random+ client—random+Seq - Num) 其中Seq.Num取值依次为O.2崎-曲““,2~key-曲““,3 >2key refresh。协议实现中记录已传输的字节数,当传输的数据达到lkey refresh个宁节的时候,SSL连接两端重新计算密钥分组。 3结束语 通过l义寸SSL协议本身安全性的分析和几种针蚶SSL协议攻击手段的讨论,发现虽然上述攻击手段’口J‘以通过协议实现中进行特殊处理而避免,但是从安全协议设计的角度看,协议自身应当避免安全隐患,而不要依赖于协议实现者的谨慎。 参考文献: 1 Frier A. Karlton P.Kocher P.The SSL 3,O ProtocolIBOL. Netsca pe Communications Corp. 1996 - 11. scape. com/ enq ss13/ ssl - toc. ht ml 2 戴英侠.SSL协议的安全缺辑与改进J.中国科学院研究生院学报,2000 ,17 (1):86 - 92. Wagner D,Schneier B.Analyse of the SSL3.o ProtocoIC 3 Proceedings of the 2nd Usenix workshop on electronic com2merce. s.1.:USENIX Press. 1996:29 - 40. 4 Rescorla E SSL句TLSM 崔凯详.北京:中国电力出版社,2002, 5 孙红林,传输层安全防议的安全性分析及改进J 软件学报,2003,14 (3):518 – 52
本文档为【SSL协议安全缺陷分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_882336
暂无简介~
格式:doc
大小:35KB
软件:Word
页数:15
分类:军事
上传时间:2018-12-05
浏览量:13