SSL中间人攻击对策研究

2012-04-29 00:44杨建平
电脑知识与技术 2012年33期
关键词:认证

杨建平

摘要:SSL协议是一个网络安全协议,安全性相对较高。该文对SSL协议作了简单的安全分析,围绕中间人攻击展开了研究,对SSL认证作出了改进。

关键词:SSL;arp欺骗;中间人攻击;认证

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2012)33-7913-02

Internet的飞速发展给人们交换信息带来了极大的便利,信息安全问题也随之而来。为了解决网络中的信息安全问题,SSL协议应运而生。SSL协议为TCP/IP链接提供数据加密和认证等功能,从而为数据通信建立了一条安全通道。

1SSL协议的安全性分析

SSL协议通过数据密钥进行加密,利用数字签名进行身份认证,这种数据加密和身份认证的安全机制能保证通信内容安全和完整,但是在实际应用中,例如在点对点数据过程中仍存在漏洞,会受到攻击。

1.1SSL协议介绍

SSL是Netscape公司于1996年推出的安全协议,它利用数据加密和认证技术保证数据传输安全,当前版本为SSL3.0。SLL协议分为上下两层,下层协议是记录协议,它的作用是对上层传输来的数据进行封装、压缩和加密等;下层协议是握手协议,它的作用是为通信双方提供相互认证、协商参数和交换密钥等功能。SSL记录协议为数据提供加密服务,能够保证通信信道的安全,在一定程度上能防止数据被窃听、篡改等安全攻击,那么SSL的安全是通过握手协议来进行保证的。SSL工作流程大致如下:

1)客户端向服务器发送开始信息Client-hello消息,包含加密参数和加密算法,开始一个新的会话连接;

2)服务器根据客户的信息确定是否需要生成新的主密钥,向客户端发送Server-hello消息、Server-certificate消息、Server-exchange消息、Server-hello-done消息,若服务器对客户端有认证请求,还会发出Certificate-request消息;

3)客户端根据Server-certificate消息对服务器证书进行认证,证书通过客户端验证后,以三个消息进行回应,即Client-key-exchange、Change-cipher-spec消息和Client-verify-msg消息,如果接收到服务器发出的Certificate-request消息,客户端也会发出Client-certificate消息;

4)服务器收到Client-verify-msg消息消息,就会发送自己的Change-cipher-spec消息和Server-verify-msg消息让客户端认证服务器。

至此,所有的协商工作均已经完成,会话开始应用数据的发送,而且所有会话内容都经过加密保护。

1.2中间人攻击分析

中间人攻击(MITM攻击)是一种间接的入侵攻击,就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。这种攻击模式是通过各种技术手段将受控的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台受控的计算机就称为“中间人”。它负责“转发”两台计算机之间的通信,这种攻击方式很难被发现。实施中间人攻击时,攻击者常考虑的方式是ARP欺骗或DNS欺骗等。

SSL协议是C/S结构,使用公钥技术作为服务器认证的基础。SSL协议的安全是通过握手协议进行保证,而中间人攻击就是通过截获客户端和服务器握手过程中相互传递的消息,通过伪造证书从而获得主密钥,这样中间人拦截所有客户端的连接请求,利用它得到的SSL服务器证书,假冒服务器与客户端进行身份鉴别并建立SSL安全通道进行数据传输;同时中间人又假冒客户端和服务器SSL连接,这样中间人就可以轻易地截获、转发客户端和服务器之间传送的数据并同时窃取敏感信息而不被发觉。

2对策研究

SSL协议虽然提供了有效的认证机制,但还是无法阻止中间人攻击。在SSL握手协议中,由于SSL证书密钥的泄密,中间人就可以通过一定的技术手段,伪造出一个合法有效的SSL证书,通过数字签名得到服务器的认证。

SSL易遭受到中间人攻击的根本原因不在于服务器对用户的认证机制,而是用户对缺乏服务器的认证,这使得服务器认证机制没有被很好的实施。失效的服务器认证导致了用户向中间人泄露自己的身份标识,因此防范中间人攻击的有效方法是强制执行有效的合法的服务器认证机制。

2.1双因素动态身份认证增强服务器认证

简单来说,双因素动态身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统,它属于带外认证。所谓带外身份验证是指由第三方值得信赖的媒体(Email或短消息验证)或者认证设备(认证令牌或动态口令卡)发行服务器主机密钥签名。它的最大优点在于用户每次使用的密码都不相同,使得不法分子无法冒充合法用户的身份,而且加密算法的安全性极高,在通信和会话的发起与传输过程中不怕被中间人替换或截获,从而来确认服务器证书的真实性和用户的真实性,而中间人攻击者却无法获得相关信息,以便它无法通过双方验证,再所难免的攻击失败。当然,这种方式比较麻烦,要求用户和服务器有其他的互动方式。

双因素动态身份验证,有效的提高了SSL服务器身份验证能力,可以发现服务器上的证书被篡改从而防御中间人攻击的威胁。利用动态身份验证发出一个临时代码,中间人由于缺乏秘密种子计算不出会话密钥,从而也就无法获得的服务器和客户端通信的内容,确保了会话的秘密性。而且双因素动态身份验证的临时验证码还用于增强用户身份验证机制,如果通过临时认证码的用户不能提供临时验证码计算的散列值,那么服务器就能确定通信方是不合法的用户。

由于需要身份的双重认证,双因素动态身份认证技术可抵御非法访问者,提高认证的可靠性,但是它最大的缺点是需要使用额外的通信手段。

2.2身份认证增强服务器认证

数据安全的核心是建立一个安全的认证体系,SSL会话通信实际上是用户在使用客户端与服务器进行通信。为了实现用户身份的识别,在服务器的数据库中必然有一个与用户端共享的秘密数据作为通信会话时的私钥身份认证信号,如用户用于登陆服务器的帐号和密码。这些数据是在使用SSL协议进行数据传输之前就已经约定好的。用户的账号和密码是服务器和客户端已知的共享秘密数据,而不需要通过SSL协议本身来进行协商。中间人攻击之所以能成功的原因是因为SSL握手过程中私钥的泄密,现在在用户端向服务器发送会话开始消息时就加入用户的账号和密码这样的私钥来加强身份认证,客户端在接收到服务器的证书后进行验证,查看证书是否被修改从而判断是否为合法用户。

对于这样的身份认证的增强,中间人无法获取通信双方的私钥,导致了中间人身份认证的失败,协商终止,这种方案简单有效的阻止了中间人攻击。

3结束语

总体来说,SSL协议是一个比较安全的网络协议,通过增强用户对服务器认证提高了SSL协议防御中间人攻击的能力。但在实际应用中SSL协议缺乏证书和用户的有效检验与管理,导致SSL协议容易受到中间人攻击的威胁。虽然我们通过改进了SSL协议认证体制,提高了协议对中间人攻击的免疫力,但还需要协议本身不断完善。另外还需要人们提高安全意识,规范数字证书的签发体系等。

参考文献:

[1]卿斯汉.安全协议[M].北京:清华大学出版社,2005.

[2]康荣保.张玲.兰昆.SSL中间人攻击分析与防范[J].信息安全与通信保密,2010(3).

[3]郭杰.安全套接层环境下中间人攻击的防范策略研究[D].华中科技大学,2004.

猜你喜欢
认证
智能家居系统物联安全性方案研究
排放水平信息不对称下低碳认证影响研究
小林印务:绿色印刷 不只“认证”这么简单
企业认证引领下高职电工实训“职业化”改革的研究
中职校园网络安全管理系统设计
ASME钢印锅炉安全阀PE认证实践
AACSB认证对我国西部财经院校建设的启示
一种测量光耦内部结构的方法