SSL协议安全缺陷分析
   
  要:近年来,随着对Int ernet上传输数据保密性的需要,安伞套接字层(SSL1被J“泛地使用o SSL协议基于公开密钥技
术,提供了一种保护客户端,服务器通信安全的机制。但是,SSL协议仍存在一些安全缺隅,对使用SSL协议的通儒带来蔓
争隐患。文中简要介绍了SSL 3.O协议的内容,重点讨论了SSL 3.0协议的安争缺陷并针对缺陷提出了相应的改进方法
为协议的灾现提供了参考。
关键词:安全套接字层;安全;缺陷
中图分类号: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警示消息    警示土要用于报
告各种类型的错误。大多数警示斥于报告握手中出现的问题,但是也有一些指示在对记录试图进行解密或认证时发送的错误。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消息捌ssl协议未开启的危害么通信双方捋不再更新当前的cip her - suite,也就不再难发途的数据作MAC认证了。由于商定的cip her suite彳使用加密,则很容易从{ 111)t得到数据mo这样,协议对遁信数据失去了认证能力,攻击者在通信双方不知道的情饬下获得了对数据进行任意窜改的能力。
    如果通信双方蔺定的cip her—suite使用加密,该攻击就不容易实现了。但是,如果系统使用的是弱的密码算法,例如当密钥长度为40此特的DES算法时,那么在现有的计算能力下进
行密钥的穷举攻击还是能够成功的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。