SSL协议安全缺陷分析_第1页
SSL协议安全缺陷分析_第2页
SSL协议安全缺陷分析_第3页
SSL协议安全缺陷分析_第4页
SSL协议安全缺陷分析_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SSL协议安全缺陷分析摘要:近年来,随着对Internet上传输数据保密性的需要,安伞套接字层(SSL1被J“泛地使用oSSL协议基于公开密钥技术,提供了一种保护客户端,服务器通信安全的机制。但是,SSL协议仍存在一些安全缺隅,对使用SSL协议的通儒带来蔓争隐患。文中简要介绍了SSL3.O协议的内容,重点讨论了SSL3.0协议的安争缺陷并针对缺陷提出了相应的改善方法为协议的灾现提供了参考。关键词:安全套接字层;安全;缺陷中图分类号:TP393.08文献标记码:A又章编号:1673-629X(2023)12-0224-03AnalysisoftheVulnerabilitiesofSSLProtocolLIWei,HOU2heng2feng(Dept.ofComputer,HefeiUniversityofTechnology,Hefei230009+China)Abstract:Theuseofsecuresocketslayer(SSL)ontheInternethasgrownsignificantlyinrecentyearsasmoreapplicationsLISetheInter:ncttodclivcrdatawhichrcquirctraftictobcconfidcntial.TheSSLprotocolwhichisbascdonthcpublickcytcchniqucisintcndcdtopro:videamechanismforInternetclient/servercomrminicationssecurity.However,SSLprotocolgtillhassomevulnerabilities.whichbrintsomedangerstoInternetcornrnunications.IntroducethecontentoftheSSL3.oprotocolanddiscusschieflyseveralsecurityvulnerabilitie:andattackRontheprotocol.Accordingtothesevulnerabijities.alsopresentsomeimprovementsuggeclions,whichgivesomereferencestothcimplcmcntationoftheprotocol.Key"ords:SSL;recuritv;vulnerabilitv0剖言随着电子商务的广泛应用,在开放的网络上进行安至’口』靠的数据通信已经成为安夸交易的重要内容。其中安全套接字层(SSL)协议是目前使刚最广泛的川于Web浏览器的安全协议。该协议向基于TCP/IP的客户端,服务器应用程序提供了客户机和服务器的鉴别数据完整性以及机密件等安全措施,为网络上的客户机/服务器提供了一个实际的应用层的面向连接的安伞通信机制。1996年,Netscape公司发布了SSL3.0,该版本增力c了对除了RSA算法以外的其他算法的支持和一些新的苤全特性,并且修改了前一个版本中存在的安全缺陷。lSSL3.0结构SSL3.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,客户端应发送一条收稿日期:20230322作者简介:李玮(1983-),男,安徽台肥人,硕士研究牛,研究方向为网络安全;侯整风,专家,研究方向为计算机刚络与信息安全。第12期李玮等:SSI-协议安全缺陷分析certificate消息给服务器。然后客户端发送一条client.key—exchange消息,其巾包含了一个随机产生的用服务器的RSA密钥加密的pre.master.secret。假如客户端证书具有署名功能的话,客户端还应发送certificate—verify消息。这条消息后面跟着一条指示客户端在此之后发送的所有消息都将使用刚刚商定的密码进行加密的change-ciper.spec消息。finished消息包含了对整个连接过程的校验,这样服务器就可以判断要使用的加密算法是否是安全商定的。(4)-旦服务器接受到了客户端的finished消息,它就会发送自己的change-cipher-cpec和fnished消息,于是连接就准备好进行应用数据的传输了。1.3警示消息警示土要用于报告各种类型的错误。大多数警示斥于报告握手中出现的问题,但是也有一些指示在对记录试图进行解密或认证时发送的错误。1.4ChangeCipherSpec消息change.cipher.spec表达记录加密及认证的改变。一旦握手茼定J-组新的密钥,就发送change-cipher-spec采指示此刻捋启刷新的密钥。2SSL3.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。2ChangeCipherSpec消息的丢弃袭击在SSL3.0协议rf1,一个小的漏洞是在finished消息rf1没有对change.cipher.spec消息的认证3。这一缺陷将会导致一种潜在的袭击方法:丢弃change—cipher一spec消息袭击。在正常的情况下,双方的通信流程如下:C—S:change.cipher.specC—S:finished:{a}kS—÷C:change-cipher-specs_c:finished:{a}kC—S:{111}k其中{3}指对数据进行加密保护:m代表密钥互换完毕后传输的数据,a代表消息认证码,是蚶所有握手消息进行MAC计算的结果。在接受到change-cipher.spec消息之前,当前的cipher—suite-般不加密和不作MAC保护,而此时待决的cipher.suiteLL『包含了茼定的加密算法等参数。通信艾体在接受到change-cipher-spec浦息之后,就把待决的cipher—suite复制成当前的cipher—sulte,记录层开始对通信数据进行加密和完整性保护。假设一种特殊情形:茼定的ciphersuiteH蚶消息进行认证,不作加密保护。在这种情形下袭击者就可以发起中间人袭击。双方的通信流程如下:C{M:change—cipher一specC÷M:finished:{a}kM—}S:finished:aS—M:change.cipher.specS÷M:finished:{a}kM—}C:finished:aC-*M:{lll}kM—}S:m袭击者M截取并删除了change—cipher-spec消息捌么通信双方捋不再更新当前的cipher-suite,也就不再难发途的数据作MAC认证了。由于商定的ciphersuite彳使用加密,则很容易从{111)t得到数据mo这样,协议对遁信数据失去了认证能力,袭击者在通信双方不知道的情饬下获得了对数据进行任意窜改的能力。假如通信双方蔺定的cipher—suite使用加密,该袭击就不容易实现了。但是,假如系统使用的是弱的密码算法,例如当密钥长度为40此特的DES算法时,那么在现有的计算能力下进行密钥的穷举袭击还是可以成功的。避觅上进袭击的方法是捋chanoe一cipher一spec加入到finished消息的消息认证计算中。该安全缺陷也可j≥在协议实现中使用某种手段避免而不需要修改协议的妻本框架。强调在通信实体发送finished消息之前必然接受到change-cipher一spec消息,否则必然引起协议的致命错误。但是胰用这种方法改善协议的安全缺陷需要依莉协议实现者的谨慎。2.3密钏互换算法欺骗袭击一方面描遗一下SSL3.O中server.key.exchange消息的数据结构4。计算机技术与发展第16卷struct{select{KeyExchangeAlorithm}{casediffie-hellman:ServerDHParamsparams;Signaturesigned-params;caAersa:ServerRSAParamsparams;Signaturesigned~params;}ServerKeyExchange;structi*opaqueRSA_modulus:opaqueRSAexponent:}ServerRSAParams;struct{opaqueDH_p;opaqueDH.g;opaqueDH_Ys;}ServerDHParams;enum{rsa,diffie_hellman}KeyExchangeAlgorithm;服务器使用server.key.exchange消息来发送用服务器私钥署名的临时公开参数,客户端使用这些公开参数和服务器互换密钥,获得共享的pre-maste:r-secret。协议规定可以使用多种密钥互换算法,例如RSA算法和DiffieHellman算法。由:]:服务器对公开参数的署名内容没有包含KeyExchangeAlgorithm蜮,因此给袭击者提供__r可乘之机3。袭击者使用cipher.sⅢte回转袭击使服务器使用临时DH密钥互换,而客户端使用临时RSA密铜互换。这样,服务器的DH素数模p和生成因子g被客户端理解为临时RSA的模p和指数go客户端使用伪造的参数加密pre.master.secret。袭击者截获用RSA加密的值kgmodp,由于p是素数,所以容易恢复出premastersecret的PKCS编码k。这样pre-master-secret就泄露给袭击者了。以后所有的握手消息都可以被伪造,涉及finished消息。此后,袭击者可以在SSL连接上解密传输过程中所有机密应用数据利伪造任何数据。下面描述J,这种袭击的通信流:client_hello:C-M:SSLRSA_MS:SSL.DHE.RSA_server-hello:S-*M:SSL~DHERSA_MC:SSL-RSA_server-key-exchange:SM:{p,g,y}ks,diffie_hellrnanMC:{pgg,y}ks,rsaclient-key-exchange:CM:kgniodpM->S:旷modp其中客户端的pre-master-secret倩是k,而服务器端通过计算gxymodp得到pre-master—secret,这里x是袭击者M选择的。该安全缺陷也可以通过协议实现者的特殊解决加』≥避免。协议实现者需要在客户端接受到server-key-ex:change消息时检查公开参数域的长度,这样就可以区分序使用的密钥互换算法从而避觅这种袭击。2.4密钥互换巾的重放袭击密钥互换算法中在server-key-exchange消息中绑定了公开参数和服务器和客户端的随机值的署名,但是在匿名的密钥互换算法中没有绑定署名3。随机值用来阻止在新握手过程中重放前一次的serverkeyexchange消息。下面描逋了Signature消息的数据结构4。select(SignatureAJgorithm){caseanonymous:struct{};casersa:digitally.signedstruct{opaquemd5hash16;opaqucsha.hash20:);casedsa:digjtally.signcdstruct{opaquesha—hash20;}}Signature;md5.hash=MD5fclient.random+server.random+Server2Paramsl:假如袭击者知道服务器使用了匿名的密钥互换,则袭击者可以重放服务器的server—key-exchange。客户端在匿名的密钥互换中容易被欺骗。为避免这种袭击,服务器应选择对公开参数和随机值的署名算法。2.5密码分析方法袭击在加密应川数据时,数据长度可以很大,如传输多嫦体信息。在SSL协议中,基于同一密钥传输大量数据是不安伞的,它提供大量的南文信息和其他附加信息,袭击者可以运用筹分分析方法和线性分析方法破解密码,获得密钥5。改善的出发点是定义加密的粒度,即同一密钥能加密的最大长度的明文数捌,当长度超过粒度时,密钥必须更新,粒度大小应在握手中协商。下面是对client-hellc消息的扩展:structfProtocaIVersioncLient—versaon:Randomrandom:SessionIDsession.id:CipherSuitecipher—sulte;CompressionMethodcompression_method;Uint8key_refresh;}client_hello;(T转第229Di)第12期游强华等:基于Struts框架的Web系统的角色权限验证2两种方法的比较(1)两种方法都实现了用户角色权限的验证,保证了系统儒息的安全性。(2)第一种方法没有将模式和视图分开,随着系统能增大,将会导致系统更新的复杂化,以及系统的町扩展性较差。(3)第一种方法将逻辑和视图分开。通过对Action的覆写,事实上实现了对JSP页面的定义,将单个的JSI页面映射称为一个权限,从而通过相应的权限实现了对柞应页面的访问。这样提高了系统的可扩展性。对于新堆的JSP页面只要新增相应的Action以及系统权限,即可伢证系统权限验证的完整性。(4)第二种方法通过严禁对“3.jsp”页面的直接谑求,隐藏了系统的文献信息,即隐藏了系统的文献结构,无形中也提高了系统安全性。3结论在B/S结构中,系统的权限验证比as中更显重要,dS结构由于具有特定的客户端,因此用户的权限验证可以通过客户端实现或通过客户端+服务器检测实现,而BlS结构中,用户通过浏览器进行系统信息的访问,假如没有一个伞面的权艰验证,那么‘芎}法用户”很也许通过祛览器访问到BlS结构系统中非授权功能。因此BlS结棰中用户角色的权限验证将是倮证系统信息安全性的-叶核心部分。文rf1构建的基于Struts框架的Web系统从名方面对用户提交的请求进行验证,防止了用户提交不合汪的参数而获取非法信息的也许性,并隐藏丫系统的文献耀构,最大限度上保证了系统信息的安全性。参考文献:1张梓元,贾燕枫+Struts开发入门与项H实践M.北京:人民邮电出版社,2023:2-8.暴志Ⅲ,胡艳军,顾新建.基于Web的系统权限管理实现方法J.计算机工程,2023,32(1):169-170.张租平,干磊.基于多种模式的权限摔制技术研究J.计算机工程,2023,32{1):177-178.剧杰.对Struts应用开发框架的研究和改善J.计算机d工程,2023,30(增甲j):144-145.孙卫琴,基于MVC的JavaWeb设计与开发M.北京:电子工业出版社,2023:5-10.(上接第219iTi)程序的编写,有这方面编程经验者可参考/uc/GUI用户手nf)API部分。3总结以卜l具体论述了S3C44BOX微解决器的GUl硬件设计及LCD模块的驱动机理,在,uc/GUI的基础上,着重介绍了GUI工作机理,具体论遗了基于ARM的GUl的移植万法。其广_很多部分仅是提崩了概要的描述,实际工作rf1尚有很多细节工作需要完善。参考文献:1王田苗,嵌入式系统设计与实例开发M北京:清华大学出版社,2023:123-126..Samsung公司.S3C44BOXdatesheetSamsung公刊技术资。料M.韩国:Samsung,2023Micrium公刊。LtciGUIusermanual,Micrium公刊用户手册3M.s.1.:Micrium,2023:325-347.陈冰峰,姜卓,王剑钢基于ARM7S:3C44BOX嵌入式系4统GUI设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论