SSL协议脆弱性分析

来源 :科学与财富 | 被引量 : 0次 | 上传用户:c1093682
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文从密码强度和版本兼容两方面分析了SSL协议可能存在的脆弱性问题,在此基础上研究了中间人攻击、证书攻击、通信业务流分析三种针对SSL协议的攻击方法对SSL加密通信造成的影响。
  关键词:SSL协议 证书 版本回溯 密码强度
  1 引言:
  随着网络安全意识的普遍提升,越来越多的网络应用逐步采用了SSL加密传输。由于SSL技术采用了加密、认证、密钥协商等机制来保障通信双方数据传输的保密性、完整性和通信端点的认证,因此SSL协议目前在网银交易、邮箱登陆、数据加密传输等方面得到了广泛应用。但SSL协议在实现过程中为了满足兼容性和易用性的要求,自身仍然存在一定的脆弱性问题,攻击者可以利用SSL协议的弱点对其进行攻击以获取敏感信息。
  2 SSL协议
  安全套接层协议(SSL)是在Internet基础上提供的一种保证私密性的安全协议。它能使客户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户进行认证。SSL协议是建立在可靠的传输层协议(如TCP)之上,同时与应用层协议独立无关,高层的应用层协议(如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上(图1所示)。
  从SSL的发展过程来看,目前主要包含了三个版本:SSLv2、SSLv3、TSL。SSLv2的首要设计目标是为客户端和服务器之间的传输提供保密性,但在协议安全性方面存在一定的安全隐患。SSLv3改善了SSLv2的部分安全性问题,采用了更多的加密算法,包括数字签名标准DSS、DH协议等,以及支持防止对數据流进行截断攻击的关闭握手。TLS在SSLv3的基础上又增强了对DH的支持和新的密钥扩展。
  SSL协议在实现过程中主要包括两个阶段:握手和数据传输阶段。握手阶段主要对服务器进行认证并确立用于保护数据传输的加密密钥。SSL必须在传输应用数据之前完成握手,一旦握手完成,数据就被分成一系列经过保护的记录进行传输。在传输片段之前,SSL协议通过计算数据的MAC来提供完整性保护,将MAC付加到片段的尾部,并对数据与MAC整合在一起的内容进行加密,以形成经过加密的负载,最后给负载装上头信息,其过程如图2所示。
  3 SSL协议脆弱性分析
  3.1 密码强度问题
  SSL协议是以CipherSuite(加密套件)的形式确定数据传输所使用的加密算法,SSL会话一次连接的所有加密选项都被捆绑成各种加密套件,由任意选取的两字节常量来表示。加密套件指定会话双方的认证算法、密钥交换算法、加密算法和摘要(消息完整性)算法。表1列出了SSL协议采用的部分加密套件:
  从表1可以看出,SSL协议支持各种各样的加密套件,这些加密套件指定一组供连接使用的算法。这些算法的强度从较弱的可出口型(如40位模式的RC4)到强度较高的如3DES都包含在内,SSL连接的安全自然就有赖于它所使用的加密算法的安全。从目前的计算能力来看出口模式中如RC4_40和DES等加密算法都能被破译,若SSL连接采用此类加密算法,其加密数据的保密性就无从谈起,攻击者可以很容易利用现有的密码破译技术获取加密传输的数据。正常情况下SSL通信双方都会选择加密强度较高的加密套件,但以下两种情况可能在加密强度上为攻击者提供契机:
  (1)由于客户端与服务器必须就共同的加密套件达成一致才能通信,服务器和客户端为了保持较好的交互性通常会提供较多可供选择的加密套件,其中不乏加密强度较弱的加密算法(图3所示),这为攻击者对SSL协议的攻击提供了一定的条件,例如攻击者可以尝试对SSL通信双方的会话过程进行干扰,迫使通信双方选择加密强度较低的加密算法,为攻击者对加密数据的破译提供条件。
  (2)由于SSL协议中采用的各种加密和认证算法需要一定的系统开销,如SSL协议握手阶段对pre_master_secret的RSA私用密钥解密及计算master_secret和pre_master_secret的密钥处理都会消耗一定的系统资源,在数据传输阶段对记录的加密以及对记录的MAC计算同样会消耗系统资源。而高安全的加密算法在系统开销上需要消耗较多系统资源,因此SSL协议在某些应用的实现过程中会采用较低加密强度的密码算法,这也会为攻击者提供破译条件。
  3.2 版本兼容问题
  SSL协议从设计和使用过程来看主要包括SSLv2、SSLv3、TLS三个版本,每个后续版本都对前一版本的安全性问题进行了改进,因此高版本协议能够较好地保障通信安全。但为了方便实际应用,SSL协议是允许向下兼容,会话双方可以通过协商采用低版本协议进行通信,并且该过程可以自动完成不需要用户进行干预。这样就产生了潜在的版本翻转攻击威胁,攻击者可以降低协议版本再利用低版本协议存在的脆弱性问题对通信过程进行攻击。其中SSLv2对协议的握手过程没有很好的保护措施,将导致攻击者对SSL协议握手过程进行攻击,进而对加密算法进行篡改。图4展示了SSLv3和TLS协议的握手过程:
  从图中可以看出SSLv3和TLS协议在握手结束后会对之前的协商过程进行MAC值的校验(图4中第5、6步所示),并且其校验值是以加密的形式进行传输,这样可以有效防止攻击者对握手过程的篡改,保障了协商过程的可靠性。而SSLv2协议恰好缺乏对握手过程MAC值的校验,攻击者可以在SSL通信的握手过程中伪冒其中一方对协议版本进行篡改,迫使通信双方采用低版本的SSL协议进行通信,由于缺乏握手过程的校验,该攻击可以顺利实施。
  SSLv2协议还存在另一个问题,它仅仅使用TCP连接关闭来指示数据结束,这意味着它可能受制于截断攻击。由于SSL协议是构建于TCP协议之上,而TCP协议自身并不是一种安全性协议,它对TCP会话的完整性、有效性和一致性没有很好地保障,攻击者可以简单地伪造TCP FIN数据报,而接收者无法辨别出它是否是合法的数据结束标志,从而误认为数据接收完成。SSLv3之后的协议通过使用显式的关闭警示缓解了这一问题。
  4 结束语
  利用SSL协议进行加密传输的方式在日常应用中大量存在,除本文中提到的攻击方法外,攻击者仍在尝试更多的攻击途径。对于敏感的信息和通信过程应该采用多种加密方式共同完成,提高攻击的难度,降低敏感信息被窃取的风险。
  参考文献
  [1] 埃里克·雷斯克拉,SSL与TLS,2002.
  [2] Daniel Lucq,SSL security in the .be TLD,www.scanit.be,2008
  [3] Qualys SSL Labs, SSL survey http rating guide. www.ssllabs.com,2010.
  [4] Moxie Marlinspike,More tricks for defeating SSL in practice,Blacd Hat USA 2009,2009.
其他文献
去年以来,整个IT市场已经分成两大阵营,一个是传统的IT厂商,一个就是新兴的ISP和ICP,ISP和ICP的发展为IT厂商带来了新的市场机遇,作为IT产品的供应商和服务商,传统IT厂商也加
期刊
阐述了黄山市黄山区中药材的资源优势、产业发展现状及存在问题,提出了发展思路与主要措施。
自“96119”火灾隐患举报投诉工作开展以来,全国及时受理和查处了一大批火灾隐患。本文结合沧州市实际对此进行了探讨。
统一性与一致性的需求,正在渗透至企业信息化建设过程中的每一个环节。新系统与旧系统之间的融合、各个子系统与整体系统之间的协调,从某种程度上决定了信息化建设的成败
期刊
数字通讯是通讯技术的主要技术之一,其实现了通讯信号的转换,多应用在信号输入和输出的环节中。在通讯技术中使用数字通讯技术是其他同类技术所不能比拟的,因为其能够表现出更多
甘肃农业大学是甘肃省人民政府与农业都合作共建大学、国家中西部商笛教育振兴计划入选百所高校之一。学校1946年创建于兰州,时名国立兽医学院。我国杰出的畜牧兽医科学家、教
提出马鞍山市都市型现代农业的发展目标定位,围绕加快都市型现代农业产业发展,阐述了"十二五"产业发展的总体思路(指导思想、目标任务)、重点产业、优化产业布局和保障措施。
巨峰葡萄是一种极佳的经济作物,符合优质果品的消费理念,具有广阔的市场空间。本文从巨峰葡萄的园地选择、果苗选择与定值、施肥及灌水、整形修剪、病虫防治几个方面着手,探讨了
【正】 企业家的经营活动,是建立在理性预测的基础之上,只有预测在一定时间后可以赢利的情况下,他才会投入经营;从这一点上来说,做一家企业和在街头摆一个烤白薯摊并无本质的
作为IA架构服务器在关键应用领域的主力产品,8路服务器在市场中一直起到冲锋陷阵的作用,它前进的步伐就是整个IA架构服务器向关键应用领域进军的一个缩影