SSL协议安全性能分析及改进措施研究
2017-01-13曹聪聪蒋亚平
曹聪聪,蒋亚平,郭 浩
(郑州轻工业学院 计算机与通信工程学院,河南 郑州 450002)
SSL协议安全性能分析及改进措施研究
曹聪聪,蒋亚平,郭 浩
(郑州轻工业学院 计算机与通信工程学院,河南 郑州 450002)
随着信息传递的速度飞速增长,网络通信安全防御成为网络安全领域的重点研究之一.目前绝大多数网络安全厂商将改进完善现有的网络安全协议作为一种重要的防御手段.但由于加密技术出口的限制政策,我国无法进口.国内电子商务的安全问题又日益严重,故提出了改进SSL协议安全性的研究.主要从SSL协议漏洞和SSL协议攻击两个方面进行分析,发现一些重大漏洞,并得出相应的改进措施.同时,详细地分析并改进了密钥强度漏洞、密钥管理漏洞、数字签名漏洞、防范通信业务流攻击、Change Cipher Spec消息丢失、密钥交换算法欺骗预防方式、中间人攻击等防范措施,并画出改进措施流程图.
SSL协议;密钥交换算法;数字签名;数字证书;攻击
随着网络通信安全隐患越来越多,波及范围越来越广,从而会产生一些个人隐私信息的泄露事件.而随着互联网通信水平不断发展,网络通信安全问题也不断恶化,用户对于网络通信过程中的信息安全和隐私保护的要求也越来越高.而通过研究表明,普通的网络安全协议已经无法满足当前人们对日益严重的网络通信安全问题的需要.因此,对网络安全协议进行进一步研究和改进,便成了一个非常好的办法.现如今,SSL(Secure Sockets Layer,安全套接层)协议以其简单可靠的特点,已经成为国内外应用最广泛的安全协议.为了保证个人隐私数据在网络传输过程中的安全,全球许多知名企业都采用了对SSL协议进行改进的方法,以应对日益严重的信息安全问题.
本文通过对SSL协议工作原理、安全认证和加密机制、SSL协议漏洞以及可能受到的攻击进行分析研究.着重分析了SSL中间人攻击、通信业物流攻击、Change Cipher Spec消息丢失、密钥交换算法欺骗等攻击方式可行性,通过研究这些攻击方式,总结出了这些攻击方式的攻击特点,研究如何防范这些攻击的措施,并画出了相关的流程图.
1 针对SSL协议漏洞的改进措施研究
1.1 密钥强度漏洞的改进措施
在解决密钥强度这个问题上,可以采用加强加密算法的安全程度和增加密钥位长度等方法来解决.如果通过加强加密算法的安全程度,可以把SSL协议中的一些安全性不高的加密算法移除,使用目前国际标准加密算法中安全强度比较高的IDEA、3DES、AES等算法.这样就解决了SSL协议本身的加密算法安全性不高的问题[1].
在SSL V3.0版本支持的加密算法有RSA算法.在SSL协议中可以使用的RSA算法有两种:一种是永久RSA密钥;另一种是临时RSA密钥.在密钥位长度相同的时候,临时RSA算法要比永久RSA算法在进行密钥交换时的安全性更高.但上文中讲到,在RSA加密算法中,密钥位长度是没有限制的.但是,由于美国政府对于加密技术出口的限制政策,我国目前使用的SSL协议中只能使用512位的密钥[1].因此,在使用SSL协议时,为确保SSL协议中产生的密钥的安全性,需严格限制交换密钥的密钥位长度必须为1 024位或者大于1 024位.这样就可以避免由于RSA密钥长度不足导致的加密安全问题,从而对SSL协议密钥强度漏洞进行改进并弥补.
图1 SSL协议密钥生成算法缺陷的改进措施Fig.1 The improvement measure of SSL protocol key generation algorithm
1.2 密钥管理漏洞的改进措施
要解决密钥管理问题就要确保主密钥的安全,而主密钥的安全就需要从保护随机数和改进密钥交换算法的角度入手[2].
在SSL协议中预加密主密钥是由客户端产生的一组随机数,因此,SSL协议的安全性,很大的程度上取决于客户端产生的这一组随机数的安全性.使用硬件设备产生真正的随机数,或者使用软件产生伪随机数,可以很好地提高SSL协议中客户端产生的这组随机数的安全性.从安全角度来考虑的话,使用硬件设备产生的随机数在安全性方面,比使用软件产生的伪随机数高很多.但是由于硬件设备的价格以及复杂程度等客观问题,导致只能使用软件运行随机数生成算法来产生随机数.而大多数的随机数生成算法,主要通过采集一些随机数种子的方法来生成随机数的.因此,随机数的安全性则取决于随机数生成算法采集到的随机数种子.而在随机数生成算法中,都是对系统中的程序进程表、时间、以及网络数据等实时变化的系统状态进行收集随机数种子[3].这样就保证了产生的随机数的随机性和安全性,同时也保证了客户端产生预加密主密钥的安全性.如图1所描述的是针对SSL协议密钥生成算法缺陷的改进措施.
在客户端与服务器端进行握手的时候,会使用到客户端和服务器端产生的随机数(分别为ClientHello.random和SeverHello.random)[4].由于客户端和服务器端在交换双方随机数的过程,都是以明文的方式进行传输,所以这两组随机数都很容易被窃听到,没有安全性可言.因此在客户端和服务器端交换随机数的时候,可以在握手过程中添加一组对称加密密钥,对双方交换的随机数进行加密保护[5].所添加的一组对称加密密钥可以在SSL协议提供的加密算法中进行选择.同样的,通过对握手过程进行添加加密密钥处理,也可以解决密钥交换算法的安全漏洞问题[6].如图2所描述的是SSL协议密钥交换算法安全漏洞的改进措施.
1.3 数字签名漏洞的改进措施
通常情况下,由于公共密钥在签名和加密的过程中存在周期不同,所以一对公共密钥不可同时用做加密密钥和签名密钥.由于握手过程中,公共密钥当作交换密钥使用时,只存在于当前握手的过程,公共密钥的存在周期很短.所以存在周期不同的问题就可以避免.所以握手过程中用来做密钥交换的公共密钥也可以用来做数字签名.因此,SSL协议本身就可以添加对消息进行数字签名和数字认证的功能.但是在现有的SSL协议中,公开密钥加密技术的公钥和私钥只是被用于服务器端与客户端进行握手时的密钥交换算法,并没有利用这些公钥和私钥进行数字签名以及签名认证.为了使SSL协议具有数字签名功能,可以对现有的SSL协议添加数字签名和数字认证功能,对进行网络安全传输的数据信息进行数字签名和数字认证,并可以将其称为SSL签名协议.如图3所描述的是针对SSL协议数字签名漏洞的改进措施.
图2 SSL协议密钥交换算法安全漏洞的改进措施Fig.2 The improvement measure of SSL protocol key exchange algorithm
图3 SSL协议数字签名漏洞改进措施Fig.3 The improvement measure of SSL protocol digital signature holes
SSL签名协议可以用来处理需要进行数字签名的数据信息,而SSL签名协议是在现有的SSL协议基础上改进而来的,它利用了SSL协议原有的加密资源,例如公共密钥对、私密密钥对、公开密钥算法等.可以以现有的SSL协议为蓝本,创建一个相对独立的功能模块来实现SSL协议的数字签名功能.这样就可以保证SSL签名协议的兼容性,并且可以对原SSL协议进行替换,使用SSL签名协议来实现数字签名功能.
2 针对SSL协议攻击的防范措施研究
2.1 防范通信业务流攻击
通信业务流攻击需要在某些特定的前提之下才会攻击成功,但以目前的情况来看,通信业务流攻击只能算是一种潜在的威胁.然而在通常使用SSL协议中,对于通信业务流攻击这种潜在的威胁,也是要尽量避免的.由于SSL协议在设计之初的问题以及网络结构,所决定其无法拒阻通信业务流攻击.但是对于通信业务流攻击也不是不可避免的.
同样的,在SSL协议上改进过来的TLS协议也无法抵抗通信业务流攻击.只是TLS协议在介绍中讲述并强调了通信业务流攻击对TLS协议的危害性.建议用户不要在未受保护的通信业务流中进行通信,避免个人隐私和机密信息的暴露.对于通信业务流攻击,只是一种被动的攻击方式,防范意识可以弥补攻击者的攻击方法.对于日常网络通信的用户来说,建议不要在未经认证的网站上输入自己的相关信息,更不要使用虚假网站和陌生网站进行登录,以免使个人的基本信息和隐私信息被盗取.
2.2 针对Change Cipher Spec消息丢失防范措施
对于Change Cipher Spec消息丢失攻击的防范措施,可以将Change Cipher Spec消息认证添加到Finished消息的消息认证中,并且要求通信双方只有收到Change Cipher Spec消息才能发送Finished消息.在防范Change Cipher Spec消息丢失攻击的时候,应当使用相关加密软件或者网络安全厂商研发的安全协议进行通信.这样就能在Finished消息丢失的时候断开信息传输,或者发送崩溃错误信息,这种方法实际上是对SSL协议Change Cipher Spec消息丢失漏洞的弥补.如图4所描述的针对Change Cipher Spec消息丢失防范措施.
图4 针对Change Cipher Spec消息丢失的防范措施Fig.4 The improvement measure of Change Cipher Spec message loss
图5 对Server Key Exchange消息进行签名认证Fig.5 The Server Key Exchange message of signature certification
图6 对Server Key Exchange消息进行加密处理Fig.6 The Server Key Exchange message of encryption processing
对于防范Change Cipher Spec消息丢失攻击,用户需要在安全的网络环境下进行网络通信,并且避免使用公共网络,因为在公共网络中,时常存在攻击者对用户进行Change Cipher Spec消息丢失攻击.而使用安全的网络通信方式,以及使用网络安全厂商的安全协议可以进一步保障用户的通信安全,这样就能够防止攻击者对个人隐私和机密信息地窃取.
2.3 密钥交换算法欺骗预防方式
对于密钥交换算法欺骗攻击,用户可以通过特殊处理SSL协议来加以避免,例如,可以在SSL协议中添加Server Key Exchange消息签名认证过程[7],如图5所示;或者对Server Key Exchange消息进行公开密钥加密技术处理后再传输给客户端,如图6所示.而用户也可以在接收到Server Key Exchange消息的时候,仔细检查数据信息的公开参数域的长度信息,来加以区分所使用的密钥交换算法,从而达到初步的预防作用.最后让用户采用较低安全性的密钥加密算法,比如可以让用户选择密钥长度只有40位的DES算法[8],这样就可以避免密钥交换算法欺骗攻击.
对于防范密钥交换算法欺骗的攻击,用户可以使用一些杀毒软件和网络安全软件进行防护,并且建议用户不要轻易关闭计算机中的安全软件和防火墙.这些安全软件和防火墙可以检测到计算机中的网络通信异常状态,这样就可以进一步保护用户的网络通信安全.
2.4 中间人攻击的防御措施
防范SSL中间人攻击的方式有很多,最常见的就是防止“中间人”存在.由于DNS劫持攻击方式[9]通常存在于公网之中,所以主要防范的是单个用户,且注意不可在不信任的网站上进行网上交易,不登陆来历不明的网站和链接.并且事先记录好自己所要登陆的网站的域名地址,也可以记录下自己常用的网站的IP地址,需要时可以进行手动输入IP地址登录.如果需要与其他用户进行网上交易,建议用户选择安全的通信方式和网络,不要随意在陌生网站上进行网络通信.
对于ARP欺骗攻击的防范措施,可以设置静态ARP或者将IP地址和MAC地址绑定,这些方法在计算机的网络服务中都可以进行修改,甚至可以停用自己的ARP协议.这样就可以有效防止ARP欺骗攻击.
对于代理服务器攻击方式,则需要自己谨慎使用陌生服务器,甚至不使用陌生服务器.建议用户不在陌生的网络中进行网络通信和网上交易,用户的个人隐私信息也不要在陌生的网络和服务器中传输.
中间人攻击作为一种黑客常用的一种攻击手段[10],各大网络安全厂商对于中间人攻击防护研究都有重大成果.用户可以使用这些网络安全厂商的软件,为自己的网络通信安全增添一份安全保障.
3 结论
随着人们对网络的需求越来越大,人们也对自己信息安全方面的重视程度也逐渐提高,同时也产生了很多用于保护用户隐私安全的产业.同时,安全问题也是电子商务领域的核心问题之一,种种研究表明SSL协议(Secure Sockets Layer,安全套接层协议)凭借其简单可靠的特性成为目前应用最广泛的协议.目前国外许多厂商都推出了基于SSL协议改进而来的安全保护产品,但是由于加密技术出口的限制政策,我国无法进口.国内电子商务的安全问题又日益严重,本文提出了改进SSL协议安全性的研究.
本文主要讲述了SSL协议存在的比较严重的漏洞,并对各种漏洞产生的原因,如何利用这些漏洞对SSL协议下的通信过程进行攻击,都进行了详细的论述.通过对这些漏洞的分析进一步得出SSL协议容易遭受的攻击,并分析这些攻击方式,对SSL协议保护下的通信过程造成的伤害.经过对SSL协议存在的漏洞和易遭受的攻击进行分析,针对SSL协议漏洞的改进措施进行研究分析,以及研究SSL协议攻击的防范措施.
[1] 王衍波.应用密码学[M].北京:机械工业出版社,2003.
[2] 王芙蓉,童则余.栏截和转发网络数据包的设计与实现[J].电信快报,2005(4):21-23.
[3] 尚志会,张建伟,马琳琳,等.基于iOS平台的网购应用客户端的设计与实现[J].湖北民族学院学报(自然科学版),2016,34(2):210-213.
[4] 史默然,韩永飞,栗颖佳.SSL握手协议的分析与改进[J].电脑与信息技术,2012(4):8-10.
[5] 刘丹.电子计算机联锁系统通信协议设计及安全性分析[J].电子技术与软件工程,2016(7):1-3.
[6] 王立斌,温伟强.后量子时代密钥交换协议的分析与设计[J].西安邮电大学学报,2016,21(1):1-6.
[7] 黄雪琴,耿强.一种基于改进的SSL协议仿真测试方法[J].实验室研究与探索,2014(6):124-127.
[8] 沈济南,梁芳.基于SSI的学生工作管理系统的设计与实现[J].湖北民族学院学报(自然科学版),2015,33(1):58-61.
[9] 杨光,聂敏,杨武军.SIP协议量子身份认证与密钥协商方案[J].四川大学学报(自然科学版),2016,53(1):87-92.
[10] 杨文军,孙希杰,王春东,等.基于ECC算法的SSL协议改进[J].南开大学学报(自然科学版),2016,49(2):8-14.
责任编辑:高 山
Secure Sockets Layer Protocol Security Performance
Analysis and Improvement Measures
CAO Congcong,JIANG Yaping,GUO Hao
(College of Computer and Communication Engineering,Zhengzhou University of Light Industry,Zhengzhou 450002,China)
With the rapid increase of the speed of information transmission,network communication security defense has become one of the key researches in the field of network security.At present, the majority of network security vendors will improve the existing network security protocols as an important means of defense.However,due to the restricted export of encryption technology,China can not import it.Domestic e-commerce security issues are increasingly serious,so it is proposed to improve the research of the security of SSL protocol.This article makes an analysis mainly from the SSL agreement and the SSL protocol attack.Some major loopholes are found and the corresponding improvement measures are put forward.At the same time,we made a detailed analysis of and improved the strength of key loopholes,key management loopholes,digital signature loopholes, prevention of traffic flow attack,Change Cipher Spec message loss,fraud prevention through the key exchange algorithm,man-in-the-middle attacks and other preventive measures.
secure sockets layer protocol;key exchange algorithm;digital signature;digital certificate;attack
2016-09-27.
国家自然科学基金项目(61272038);河南省科技厅科技攻关基金项目(0624220084);河南省科技厅基础与前沿技术项目(122300410255);河南省教育厅自然科学基金(2010A520044).
曹聪聪(1993- ),女,硕士生,主要从事网络安全、智能计算的研究.
1008-8423(2016)04-0446-05
10.13501/j.cnki.42-1569/n.2016.12.019
TP393.08
A