首页 优秀范文 ssl协议

ssl协议赏析八篇

时间:2022-06-14 06:13:37

ssl协议

ssl协议第1篇

关键词:SSL协议;安全套接层;安全性

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)12-2726-03

当前,互联网技术的不断更新和发展,给我们的生活带来了很多便利。但与此同时也带来了很多网络信息安全性的威胁。随着信息网络的发展,信息安全越来越引起人们的关注。如当今流行的电子商务、电子政务、电子邮件等,除了其业务本身,人们更加关心的是其安全性。这样我们需要保证信息的保密性、完整性,通信双方的认证等,这正是过去网络所缺乏。这就有了安全套接层(Security Socket Layer Protocol,简称SSL协议)。它是现在互联网上保证信息安全传输的一种网络协议。

1概述

SSL是由Netscape公司设计的一种开放性协议,利用数据加密技术,保证数据在公开网络中传输不被截取及窃听修改,以保障互联网信息的安全传输。SSL协议是介于传输层和应用层之间的,为应用层提供数据保密服务。其优势在于它与应用层协议独立无关。这样SSL协议可以透明的为应用层协议提供服务。应用层协议在通信之前,SSL协议就将传输的数据加密、完成通信密钥的协商,以及服务器认证工作等。之后,应用层所传输的数据都是被加密的,从而保证通信的安全性。SSL协议目前已经有2.0和3.0版本。现在它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

SSL协议提供的安全信道有以下三个特性。

1)私密性:从应用层经过SSL协议的数据,所有的消息都是被加密后才到传输层的。

2)确认性:服务器端是被认证的。

3)可靠性:所有传输的消息都是经过完整性检查的。

2 SSL协议结构

SSL协议的目标在于在TCP的基础上提供安全可靠的传输服务。在SSL的体系结构中包括了SSL握手协议层和SSL记录协议层两个协议子层。这两大协议完成了SSL的大部分工作。SSL握手协议层建立在SSL记录协议层之上。建立在SSL记录协议层上的还有密码参数修改协议、报警协议、应用数据协议等子协议。

图1 SSL体系结构图

2.1 SSL记录协议

SSL记录协议限定了所有要传输的数据的打包,所有的传输数据都被封装在记录中。它提供了通信、身份认证功能。由上层传来的数据信息,将在记录协议层,划分数据分段。依据握手协议中协商的加密算法,给分段的数据压缩、计算MAC值、对数据加密处理,将数据变成记录。添上记录头后,传递到下层的TCP协议。

SSL记录头格式

SSL记录头包括记录头长度、记录数据长度的信息,及记录数据中是否填充数据。当最高位为1时,则不含有填充数据,记录头为两字节,记录数据最大长度为32767字节;当最高位为0时,则含有填充数据,记录头为三个字节,记录数据的最大长度为16383字节。当记录头长度是为三个字节时,次高位有特殊的含义。当次高位为1时,标识所传输的记录是普通的数据记录;当次高位为0时,标识所传输的记录是安全空白记录(被保留用于将来协议的扩展)。

SSL记录数据格式

SSL的记录数据包含三个部分:MAC数据、实际数据和填充数据(若是需要的话)。MAC数据为密钥,实际数据,填充数据,序号的拼接后的散列值。用于检查数据的完整性。

2.2 SSL握手协议层

SSL握手协议层包括握手协议(Handshake Protocol)、密码参数修改协议(SSL Change Cipher Spec Protocol)、应用数据协议(Application Data Protocol)和报警协议(Alert Protocol)。握手协议主要负责协商客户端和服务器端所有使用的参数,包括采用协议版本、加密算法、密钥等;建立独立的安全会话连接,认证双方的身份。密码参数修改协议主要负责协商双方修改密码参数,并指示记录层把即将读/写状态编程当前读/写状态。客户端和服务器均可发送此类消息,通知对方记录将使用新的协商密码说明和密钥。报警协议主要是负责通知对方警告信息。例如关闭通知、错误记录、解压失败、握手失败、无证书、错误证书等等。应用数据协议主要负责将应用数据直接传递给记录协议。

3 SSL协议工作过程

1)由客户端向服务器端发送“ClientHello”信息,以便开始一个新的安全对话连接。信息中将表明客户端密码能力。例如SSL版本,使用的加密算法、签名算法、密钥交换算法、可接受的压缩算法等。

2)由服务器回应客户端发送“SeverHello”信息(如果可以接受其回应的话,否则握手失败。注:客户端和服务器端必须要至少支持一个公共密码对,否则握手将会失败)。“ServerHello”消息将告知服务器的相关安全参数。

3)由服务器向客户端发送它使用的证书和密钥交换信息。若服务器端需要对客户端认证,则还会向客户端发出“数字证书”的请求消息。

4)服务器发出“ServerHello Done”消息并等待客户端响应。

5)客户端收到了“ServerHello Done”以后,将对服务器发送过来的数字证书验证,并检查服务端的安全参数是否可以接受。如果服务器端需要客户端的数字证书的话,则客户端将要发送它的数字证书。如果客户端没有数字证书可有,则发送一个警告信息表明没有数字证书,但将会导致本次握手失败(如果客户端数字证书认证是强制性的话)。

6)客户端发送“客户端密钥交换”消息。消息中包含有“预-主密钥”和消息认证代码( MAC )密钥(消息使用了服务器端公钥加密,故此消息只有服务器可以用私钥解密)。

7)客户端将计算出“主密钥”。然后,客户端发“更改密码规范”消息给服务器,以确定本次传输使用的加密套件和密钥。

8)服务器确定了本次传输使用的加密套件和密钥。完成本次握手。

9)此后的传输的数据都将加密后才传输。

图2 SSL协议工作过程

(标有括号的表示服务器需要验证客户端的情况)

4 SSL安全性分析

1)算法安全性。SSL协议v2/v3均支持的算法有RC2、RC4、IDEA、DES、3DES等。认证算法采用X.509电子证书标准,使用RSA算法进行数字签名。SSL协议通过使用数字证书来完成客户端和服务器端之间的身份验证。通过SSL握手,双方使用非对称密码体制协商并确定本次对话所要使用的加密算法和会话密钥。这样不仅保证了会话密钥协商过程的安全性,而且又克服了非对称密码加密速度慢的缺陷。SSL协议所提供的混合密码体制,可使SSL使用的加密算法和会话密钥适时的变更。此外,协议还提供完整性的检查,保证数据不被篡改。

2)抵抗重放攻击。SSL协议使用了序列号,序列号经加密后传输。在每一次握手都使用了一个随机数来标示本次握手,从而阻止了重放攻击。

5 SSL存在的问题和改进

1)加密强度问题。由于美国对加密技术出口的限制,SSL支持的对称加密算法受到了影响。如密钥长度朝超过40位的对称加密算法RC4、DES等不能用于SSL的数据加密。一般的,使用同一加密算法,密钥位数越高其安全性越强。尽管SSL所支持的加密算法的安全强度都比较高,但出口到我国的仅支持低位密钥算法,削弱了加密算法的安全性。此外加密数据的安全性还取决于密码管理的安全性。同样的,美国对密码技术出口的限制,如在SSL规范中限定RSA算法和DH算法采用512位的密钥。非对称算法如果要保证其安全性,一般是需要1024位以上的。这样使得密钥交换的安全性得不到保证。所以,首先在算法选择上,应当把一些不安全的算法如DES等移去。在实现中选择对称加密算法3DES、IDEA、AES等。在实现SSL时,都应该限定交换密钥长度必须为1024位或更多位。或者可以选用椭圆曲线算法。这样不仅可以密钥比较短,而且处理速度比较快。

2)签名问题。SSL协议不能数字签名。虽然SSL可很好保证数据传输的机密性和完整性,但缺乏数字签名是其在电子商务应用中一大缺憾。而事实上,SSL本身就有对消息进行数字签名和验证的潜力。因为原有的公私钥只是使用在服务器端和客户端之间密钥的交换,并由使用其来签名。基本的思路是,将签名服务作为SSL协议一个可选独立扩展功能,保证其向下兼容性;对发送的所有信息进行签名;利用原有的密码资源;

6结束语

SSL虽然存在一些缺陷,但也不失为一套完善安全的网络通信协议。在其广泛的实践中也证明了其高度的安全性。当然,它只是网络安全的一种工具。而要做到真正的安全还需要多方面的结合,这样才可以打造一个全面的、完善的、安全可靠的网络环境。

参考文献:

[1]方勇.信息系统安全理论与技术[M].北京:高等教育出版社,2008.

[2]卿斯汉.密码学与计算机网络安全[M].北京:清华大学出版社,2001.

ssl协议第2篇

[关键词] 电子商务 SSL协议 SET协议

一、引言

电子商务作为计算机应用技术与现代经济贸易活动结合的产物,已经成为人类跨入知识经济新纪元的重要标志之一。但美国的一个调查机构显示超过60%的人由于担心电子商务的安全问题而不愿进行网上购物。安全是电子商务发展的核心问题。

保证电子商务安全,其核心在于安全协议。迄今为止,国内外已经出现了多种电子支付协议,目前有两种安全在线支付协议被广泛采用,即安全套接层SSL协议和安全电子交易SET协议,二者均是成熟和实用的安全协议。

二、安全套接层协议(SSL)

SSL协议是由网景公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。

它已成为事实上的工业标准,独立于应用层,可加载任何高层应用协议,适合为各类C/S模式产品提供安全传输服务。它提供一种加密的握手会话,使客户端和服务器端实现身份验证、协商加密算法和压缩算法、交换密钥信息。这种握手会话通过数字签名和数字证书来实现客户和服务器双方的身份验证,采用DES、MD5等加密技术实现数据的保密性和完整性。在用数字证书对双方的身份验证后,双方就可以用密钥进行安全会话。

1.SSL安全协议主要提供三方面的服务

(1)用户和服务器的合法性认证:认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,SSL要求在握手交换数据进行数字认证,以此来确保用户的合法性。

(2)加密数据以隐藏被传送的数据:SSL采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。

(3)护数据的完整性:SSL采用Hash函数和机密共享的方法来提供信息的完整,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

2.SSL协议的缺点

(1)客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证。

(2)SSL只能保证资料信息传递的安全,而传递过程是否有人截取就无法保证了。所以,SSL并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。

三、安全电子交易SET协议

SET协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。SET中的核心技术主要有公开密钥加密、电子数字签名、电子信封、电子安全证书等。

1.SET支付系统的组成

SET支付系统主要由持卡人、商家、发卡行、收单行、支付网关、认证中心等六个部分组成。对应地,基于SET协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。

2.SET安全协议主要提供三方面的服务

(1)保证客户交易信息的保密性和完整性:SET协议采用了双重签名技术对SET交易过程中消费者的支付信息和订单信息分别签名,使得商家看不到支付信息,只能接收用户的订单信息;而金融机构看不到交易内容,只能接收到用户支付信息和帐户信息,从而充分保证了消费者帐户和定购信息的安全性。

(2)确保商家和客户交易行为的不可否认性:SET协议的重点就是确保商家和客户的身份认证和交易行为的不可否认性,采用的核心技术包括X.509电子证书标准,数字签名,报文摘要,双重签名等技术。

(3)确保商家和客户的合法性:SET协议使用数字证书对交易各方的合法性进行验证。通过数字证书的验证,可以确保交易中的商家和客户都是合法的,可信赖的。

3.SET协议的缺点

(1)只能建立两点之间的安全连线,所以顾客只能把付款信息先发送到商家,再由商家转发到银行,而且只能保证连接通道是安全的而没有其他保证。

(2)不能保证商家会私自保留或盗用他的付款信息。

4.SSL与SET协议的比较

(1)在认证要求方面,早期的SSL并没有提供商家身份认证机制,不能实现多方认证;而SET的安全要求较高,所有参与SET交易的成员都必须申请数字证书进行身份识别。

(2)在安全性方面,SET协议规范了整个商务活动的流程,从而最大限度地保证了商务性、服务性、协调性和集成性。而SSL只对持卡人与商店端的信息交换进行加密保护,可以看作是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此SET的安全性比SSL高。

(3)在网络层协议位置方面,SSL是基于传输层的通用安全协议,而SET位于应用层,对网络上其他各层也有涉及。

(4)在应用领域方面,SSL主要是和Web应用一起工作,而SET是为信用卡交易提供安全,但如果电子商务应用是一个涉及多方交易的过程,则使用SET更安全、更通用些。

四、结束语

由于两协议所处的网络层次不同,为电子商务提供的服务也不相同,因此在实践中应根据具体情况来选择独立使用或两者混合使用。

参考文献:

[1]陈兵主编:网络安全与电子商务[M].北京:北京大学出版社,2002.1

ssl协议第3篇

关键词:SSL协议;信息安全;网络通信

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

SSL Protocol in the Network Communication of the Application

ZHANG Yang

(Liaoning University Computing Center, Shenyang 110036, China)

Abstract: SSL protocol is to provide a secure channel between computers a security protocol, data transmission is encrypted. This article has wireless video surveillance system for the study, the introduction of the SSL protocol in the system, the application of the protocol on the server and the client’s network communication, which can achieve data transmission security, authentication and message integrity.

Key words: SSL protocol; information security; network communication

无线视频监控系统服务器和客户端之间采用的C/S模式组成的,实现对视频信号实时采集和压缩编码后,将图像传输到指定的视频服务器上。那么命令信息在传输过程中,数据的安全性是我们需要解决的重要问题。所以在该系统中引入了SSL协议,把SSL协议应用在服务器和客户端的网络通信中,通过数据加密提高信息的安全性。

1系统设计原则和目标

1.1系统设计原则

该系统的服务器和客户端都是在windows操作系统利用VC的socket建立连接,实现网络通信。考虑到服务器和客户端之间数据传输的安全性和有效性,设计过程中注意以下几个方面:

1)并发性:因为服务器和客户端之间建立联系,一般是一台服务器对应多个客户端进行通信的,每个终端优先级是平等的,为了实现客户端的并发,在服务器端采用VC中的多线程技术,使得每个客户端都能和服务器同时产生通信。

2)安全性:该系统是服务器和客户端之间利用socket通信,客户端向服务器发送请求命令,服务器收到后回应请求,如果在通信过程中命令信息不加密,信息容易被非法窃取,直接通过TCP协议传输信息是不安全的,所以要引入SSL协议,使所有的命令信息是加密传输的,保证了信息的安全性。

3)实时性:由于视频监控系统对画面的实时性要求非常高的,如果图像也是通过加密传输的话,会严重影响图像的传输速率,也就失去了实时性的要求,所以,我们在处理图像传输时就不像命令信息一样通过SSL加密传输了,满足了图像的实时性要求。1.2系统设计的目标

该系统实现的目标就是服务器端和客户端建立连接,满足并发性的要求;在通信过程中,双方发送的命令信息通过SSL加密传输,提高安全性;图像传输通过TCP协议传输,满足视频传输的实时性。

2网络通信模块的设计

主要讨论的是服务器和客户端之间的网络通信问题,服务器和客户端之间有两种信息:服务器向客户端转发的视频流信息;服务器和客户端之间传输的命令信息。从信息的安全性考虑,在该系统中引入SSL加密协议,在数据传输过程中,即使数据被黑客窃取也不会将数据还原。确保了数据的安全性。

因为监控视频对图像的实时性要求非常高,不能有太长的时间延迟,而视频在传输过程中产生的流量非常之大,直接通过TCP协议传输视频信息可以有效降低时间延迟。

因此,通过SSL协议传输各种命令信息,我们可以把SSL通信模块封装成sslclient类和sslserver类,提供了接口函数,只需要调用对应的API就可以实现SSL加密通信。

3 SSL网络通信技术的实现

3.1 SSL通信模块的工作流程

该系统的整个结构可以分为服务器和客户端两个部分组成,而其中的SSL通信模块为现实这两个部分之间的数据通信的安全传输提供服务。主要从外部和内部两个方面来分析,从外部来看,系统包括初始化握手部分和数据传输部分两个部分内容,这两个部分的内容具体对应SSL协议的“握手协议”和“记录协议”。从内部来看,SSL模块可划分为初始化、SSL连接、身份认证和数据传输几个模块,初始化主要为SSL连接做准备工作,身份认证主要是验证对方数字证书以证明身份的有效性。如果服务器也要求进行客户端身份认证,会以同样的方法对客户端的证书进行验证。当服务器和客户端互相进行验证之后。会在两者之间成功建立SSL连接,形成一个安全数据传输通道,传输数据类似于TCP的套接字,直接写入或者读取数据。如图1所示。

图1 SSL通信模块的结构图

3.2实现的过程

在通信模块中,服务器实现的过程很简单,和客户端实现的过程类似,服务器等待客户端发送请求的连接,之后初始化一条SSL连接,它就从客户端读取或写入数据发送到客户端。按照功能也可以分为四部分:初始化过程、连接过程、身份认证过程和数据传输。

1)初始化过程:客户端的开发时调用openssl函数实现的,首先是初始化SSL库,在选择会话连接所使用的协议:ssl_method* sslv3_client_method();再去申请SSL会话的CTX:ssl_ctx* ssl_ctx_new(ssl_method* meth);,目的是连接对象进行SSL握手、数据的读写;最后是家在私有密钥和数字证书并设置加密套件。

然而服务器初始化过程和客户端初始化过程类似,不同只是服务器调用sslv3_server_method()函数来实现的。

2)连接过程:服务器调用listen函数开始监听客户端的TCP连接请求,调用accept函数接受客户端的TCP连接;申请一个BIO对象,把SSL绑在在这个对象上;调用SSL的accept函数接受客户端的SSL连接。

3)身份认证:由于系统采用双向身份认证机制进行身份认证,所以服务器和客户端的证书都要互相进行认证方可正常通信,二者进行信息对比,如果一致,表明验证通过,否则将关闭与客户端之间的连接。

4)数据传输:服务器与客户端建立连接后就可传输数据,所有数据是经SS加密处理后进行传输的。

4结束语

在当今信息化飞速发展的社会中,信息数据在日常生活和工作中显得越来越重要,所以信息安全的重要性也越来越受到人们的重视,数据在保存和传输过程中如何可以防止黑客窃取,正是该文研究的对象。该文以视频监控作为实例来研究,既要保证视频传输的实时性,又要保障数据的安全性,所以我们采用服务器和客户端之间采用灵活的双重连接制,通过SSL协议进行数据加密传输,提高了机密信息传输的安全性。

参考文献:

[1]付沙,何诚,文旭华.基于SSL协议的安全网络通信的理论和实现[J].计算机与现代,2006(11).

[2]曾强.网络安全协议SSL原理及应用[D].天津:天津大学,2005.

[3]唐玲.数字证书系统的设计研究[D].合肥:合肥工业大学,2004.

[4]韩澄宗.网络实验室中的视频监控系统[D].杭州:浙江大学,2006.

[5]张磊.应用层加密传输VPN的研究与实现[D].西安:西安电子科技大学,2007.

ssl协议第4篇

【关键词】 SSL VPN 网络技术 企业 接入方案

一、引言

VPN(Virtual Private Network),虚拟专用网络指的是在公用网络上建立专用网络的技术。近些年来,随着计算 机网络技术的快速发展,越来越多的人也需要用到 VPN 来解决远程访问内部资源的问题。VPN网络技术主要是为企业提供易用、低成本、高性能的 安全远程网络访问方式,同时也具有优异的性能,该技术可以支持大量网络用户的并发访问,而且可以适应于各种异构的网络环境,具有很好的技术兼容性。

二、SSL VPN技术概述

SSL VPN 是解决远程用户访问敏感公司数据最简单 最安全的解决技术。SSL(安全套接层)协议是一种在互联网上保证发送信息安全的通用协议,采用B/S结构(浏览器/服务器模式)。它处在应用层,SSL用公钥加密通过SSL连接传输的数据来工作。SSL协议指定了在应用程序协议和TCP/IP 之间进行数据交换的安全机制,为TCP/IP连接提供数据加密、服务器认证以及可选择的客户机认证。只要计算机安装上SSL VPN就可以进行虚拟专用网的应用,那是因为SSL里面内嵌在浏览器中,所以不需要安装客户端,以方便的通信。

SSL协议可分为两层:一层是 SSL记录协议:它建立在可靠的传输协议之上,为高层协议提供数据封装、压 缩、加密等基本功能的支持。另外一层是SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。SSL协议的安全特性包括以下几个方面:(1)传输过程安全。传输的过程加密强度是决定了网络内部数据不被黑客所截获。数据在传输过程加密强度越高,传输安全性就越有保障。(2)用户身份验证。传统的用户名密码认证比较简单,不是很安全,SSL协议利用 PKI 体系进行加密,效果比较好。(3)客户端设备的安全性。客户端计算机需要安装杀毒软件,防火墙等,来防止SSL VPN 的密码被木马盗走,所以SSL VPN 需要对客户端进行检测。(4)服务端的日志跟踪。SSL VPN 服务器应该提供访问统计和跟踪功能,网络管理员可以通过服务端日志来了解系统访问的具体情况,所以对于服务器来说也是提供了多一种安全保障的方法。

三、SSL VPN网络技术在企业信息系统中的应用

3.1 远程接入方案实例

使用SSL VPN设备安装在企业的 DMZ 区上,IP地址是10.*.*.*,在防火墙上转换成互联网的IP地址:203.*.*.*,并开放443号端口。远程用户可以使用https:// 203.*.*.* 来访问企业内部信息系统。针对企业的网络特点,在实施时可以将企业的一些应用,如邮件系统、OA 系统、文件共享系统等安装到 SSL VPN上,同时可以通过 Active Directory 进行用户身份的统一管理。

3.2 接入技术方案

3.2.1 安全接入

SSL VPN设备能够检测或评估客户设备以确保它们遵从公司的安全策略,包括防火墙和防病毒软件、操作系统和补丁、间谍软件检查、设备类型以及网络配置等,违规设备将被拒绝访问网络,或被定向到软件更新网站。

3.2.2 SSL VPN用户认证、授权

SSL VPN认证对用户来说是一个简单的过程。所有的用户申请都流经一个专门的服务器:接入点、策略服务点和认证服务点,然后返回用户。但对于用户来说,Web浏览器是他们访问资源的唯一接入点。

多种认证方式。对于多个系统可实现单点登录(Single Sign-On),支持身份联盟:您可使用一个数字身份来访问多个部门甚至是整个企业的信息,可以有效降低管理负担,方便使用。

访问规则旨在允许用户访问资源。所有资产至少都与一个访问规则相对应,包括认证方法、日期或时间限制以及用户群成员关系等内容。SSL VPN还在内部系统中与防火墙和访问控制机制一起实施访问控制。防火墙在用户与系统互动时使用,访问控制与防火墙提供相同的安全性,应用在 IP和端口级别。

3.2.3 对应用的全面支持

支持所有应用,包括基于Web的应用、客户端/服务器、主机、终接服务器和双向应用(VoIP、在线协作工具)和文件服务器等。作为软件解决方案,现有 SSL VPN设备可定制用于支持任何类型的应用。

3.3 SSL VPN 安全接入在应用中的优势

通过 SSL VPN 实现安全接入,可以“帮助企业提高生产力,改善用户使用体验”。安全接入解决方案具有多种优点。

3.3.1 提高信息安全性

(1)防止信息泄漏。由于客户端与SSL VPN 网关之间实现高强度的加密信息传输,因此虽然信息传输是通过公网进行的,但是其安全性是可以得到保证的。第三方即使可以得到传输数据,但是却无法得到隐藏到其中的明文信息。因此敏感的信息如业务账号等被保护起来,杜绝了有效信的泄露。(2)杜绝非法访问。SSL VPN的访问要经过认证和授权,充分保证用户身份的合法性。SSL VPN只允许那些拥有相应权限的用户进行网络连接。如果请求连接的用户没有合法身份,则 SSL VPN将拒绝其连接请求,从而限制了非法用户对内网的访问。(3)保护信息的完整性。SSL VPN使用数字证书进行机密性与完整性参数的协商,它不仅能够对所传输的数据进行机密性的保护,同时也对其提供完整性保护。当在传输过程中的数据被篡改之后,SSL VPN是可以检测到的,如果检测到数据被篡改,他们就会放弃所接收到的数据。

3.3.2 灵活的用户管理和访问控制

提供多种多样的认证机制和授权访问机制,存在本地用户数据库,可以配置在SSL VPN网关设备上。SSL VPN 组网方案是面向应用的VPN 方案,可以做到基于应用的精细控制,基于用户和组赋予不同的应用访问权限,并对相关访问操作进行审计。这是一般基于网络的 VPN 所办不到的。

3.3.3 降低管理和维护成本

SSL VPN方案是无客户端的方案,由于客户端采用标准浏览器,SSL VPN的网关只需要在企业的数据中心部署,其他的维护操作都是在SP上面进行的,包括用户的授权,访问应用的各种配置等操作。它的管理工作属于集中管理和集中维护模式,可以极大地降低管理和维护成本。

四、结束语

由于现代化网络技术的迅速扩展,针对远程安全接入的需求也日益提升。VPN技术为企业用户提供了一个低成本、高效率、高安全性的资源共享和互联服务,是企业内部网的扩展和延伸。SSL VPN继承了IPSec VPN的远程使用与内网使用体验一致、与应用无关的优点,避免了因有客户端而导致的使用维护不便、某些网络条件下无法接通、带来大量病毒和蠕虫的入侵、无法与企业现有认证服务器结合、无法审计等问题,从功能上有网络访问、网上应用程序、Windows文件共享、移动电子邮件、应用程序访问、传统主机、终端服务器等众多功能。SSL VPN 技术在企业资源管理与配置、信息共享与交互、电子商务等方面都具有很高的应用价值和推广意义。

参 考 文 献

ssl协议第5篇

论文关键词:电子商务安全协议,电子交易,SSL协议,SET协议

随着互联网日益普及,基于Internet的电子商务已经深入到人们生活的方方面面。安全是电子商务的基石,如何保证电子商务交易活动中信息的机密性、真实性、完整性、不可否认性和存取控制等是电子商务发展中迫切需要解决的问题。为了保障电子商务交易安全,人们开发了各种用于加强电子商务安全的协议。这些协议主要有:安全套接层协议SSL、安全电子交易协议SET、超文本传输协议SHTTP、3-D secure协议和安全电子邮件协议(PEM、S/MIME)等。这其中应用最为广泛的协议主要有SSL、SET。

安全电子交易协议(SET)和安全套接层协议(SSL)是两种重要的通信协议,每一种都提供了通过Internet进行支付的手段。事实上,SET和SSL除了都采用RSA公钥算法以外,二者在其他技术方面没有任何相似之处,而RSA在二者中也被用来实现不同的安全目标。

二、电子商务安全协议

1.安全套接层协议(SSL)

安全套接层协议(Secure Socket Layer,简称SSL)是美国网景公司(Netscape)推出的一种安全通信协议,SSL提供了两台计算机之间的安全连接,对整个会话进行了加密,从而保证了安全传输,其主要设计目标是在Internet环境下提供端到端的安全连接。它能使客户/服务器应用之间的通信不被攻击者窃听。SSL协议建立在可靠的TCP传输控制协议之上。高层的应用层协议能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。

2.安全电子交易协议(SET)

安全电子交易协议(SecureElectronicTransaction,简称SET)是美国Visa和MasterCard两大信用卡组织联合于1997年5月31日推出的电子交易行业规范,它提供了消费者、商家和银行之间的认证,确保交易的保密性、可靠性和不可否认性,保证在开放网络环境下使用信用卡进行在线购物的安全,其实质是一种应用在Internet上、以信用卡为基础的电子付款系统规范,目的是为了保证网络交易的安全。SET本身并不是一个支付系统,而是一个安全协议集,SET规范保证了用户可以安全地在诸如Internet这样的开放网络上应用现有的信用卡支付设施来完成交易。SET较好地解决了信用卡在电子商务交易中的安全问题。SET已获得IETF(The Internet Engineer-ing Task Force,简称IETF)标准的认可。

三、SSL与SET协议比较分析

SSL和SET是当前在电子商务中应用最为广泛的安全协议,两者的差别主要体现在以下几个方面。

1.工作层次

SSL属于传输层的安全技术规范,不具备电子商务的商务性、协调性和集成性功能;而SET协议位于应用层,它规范了整个商务活动的流程,从持卡人到商家,到支付网关,到认证中心以及信用卡结算中心之间的信息流走向和必须采用的加密、认证都制定了严密的标准,从而最大限度地保证了商务性、服务性和集成性。

2.认证机制

早期的SSL协议并没有提供身份认证机制,虽然在SSL3.0中可以通过数字签名和数字证书实现浏览器和WEB服务器之间的身份认证,但仍不能实现多方认证,而且SSL中只有商家服务器的认证是必须的,客户端认证则是可选的。SET协议使用数字证书来确认交易涉及的各方(包括商家、持卡人、受卡行和支付网关)的身份,为在线交易提供一个完整的可信赖的环境。SET协议要求所有参与交易活动的各方都必须使用数字证书,较好的解决了客户与银行、客户与商家、商家与银行之间的多方认证问题。

3.加密机制

SSL是基于传输层加密,它为高层提供了特定接口,使得应用方无须了解传输层情况;然而由于传输层属于较高层,常用软件实现,这在很大程度上削弱了加密处理能力,同时,地址信息由低层控制,这种加密无法免于被攻击者流量分析。SET的加图2 SET协议的工作原理密过程则不同于SSL,SET中广泛使用了数字信封等技术,并采用严密的系统约束来保证数据传输的安全性。

4.完整方面

SET协议将发送的所有报文加密后,将为之产生一个唯一的消息摘要,一旦有人企图篡改报文中包含的数据,该摘要就会改变,从而被检测到,这就保证了信息的完整性。SSL协议是使用秘密共享和哈希函数进行MAC计算来提供信息的完整性服务的,它可以确保SSL对话的通信内容在传递途中毫无改变地送达目的地。

5.安全程度

在网上交易,安全是关键问题。从网络信息传输安全角度看,只有确保信息在网上传输时的机密性、可鉴别性及信息完整性才真正安全。SET协议是专为电子商务系统设计的,它位于应用层,采用公钥机制、信息摘要和认证体系,其中认证中心(CA)就是该体系的重要执行者,认证体系十分完善,能实现多方认证。而SSL中也采用了采用公钥机制、信息摘要和MAC检测,可以提供信息保密性、完整性和一定程序的身份鉴别功能,但SSL不能提供完备的防抵赖功能。特别是SSL协议不能实现多方认证,从网上安全结算这一角度来看,显然SET比SSL针对性更强,更受客户青睐。

6.运行效率

SET协议非常复杂、庞大、运行速度慢。一个典型的SET交易过程需验证电子证书9次、验证数字签名6次、传递证书7次、进行5次签名、4次对称加密和4次非对称加密,整个交易过程非常耗时;而SSL协议则简单很多,运行效率也比SET协议高。

7.部署成本

SSL协议已被大部分的浏览器和WEB服务器内置,无须安装专门软件;而SET协议中客户端要安装专门的电子钱包软件,在商家服务器和银行网络上也需安装相应的软件,部署成本高。

四、结束语

相对于SSL协议而言,SET协议更为安全,更适合于消费者、商家和银行三方进行网上交易的国际安全标准。SET协议是专为电子商务系统设计的,它位于应用层,其认证体系十分完善,能实现多方认证。在SET的实现中,消费者账户信息对商家来说是保密的。网上银行采用SET,确保交易各方身份的合法性和交易的不可否认性,使商家只能得到消费者的订购信息而银行只能获得有关支付信息,确保了交易数据的安全、完整和可靠,从而为人们提供了一个快捷、方便、安全的网上购物环境。因而SET是未来电子商务安全技术的发展方向。

参考文献

[1]何长领.电子商务交易[M].北京:人民邮电出版社,2001.

[2]梁晋,等.电子商务核心技术-安全电子交易协议的理论与设计[M].西安:西安电子科技大学出版社,2000.

[3]李琪.电子商务安全.重庆大学出版社,2004.

[4]李洪心.电子商务安全.东北财经大学出版社,2008,9.

[5]张爱菊.电子商务安全技术.清华大学出版社,2006,12.

ssl协议第6篇

1 SSL协议的安全性分析

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

1.1 SSL协议介绍

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.

ssl协议第7篇

【 关键词 】 SSL;SSL VPN;指纹识别;APT

1 引言

随着信息技术的飞速发展,互联网技术的普及,一方面为人们生活带来的便利,另一方面也出现越来越多的安全问题。自2013年美国“棱镜门”事件后,关于APT(高级持续性威胁)的讨论和研究也越来受到关注。

APT是一种针对特定目标组织的有经济或政治目的,且持续时间较长的一种攻击,它结合了传统的网络攻击方式同时利用0day漏洞,常常使受攻击者防不胜防,直到出现真正损失才觉察到攻击的存在。目前在APT攻击中,常利用SSL隐藏或传递机密信息,同时SSL木马的频繁使用,危害也日益严重,因此如何区分出正常和异常的SSL成为了预防APT攻击的一种有效方式。现有的方法主要是针对SSL证书的可信度检测上,但是近年来伪造证书可信度越来越高,所以单从证书角度已不全面可靠,还需要从SSL流量的端口、上下报文以及连接时长等流量统计特点出发进行。由于SSL有不同类型,比如SSL VPN、浏览器的SSL,不同类型具体的检测方式也不相同,因此在此之前需要对抓取的各类SSL流量进行分类。目前对SSL流量分类的相关研究仍是空白,本文基于此提出了各种SSL流量的“指纹识别”方法。

文章共分为四部分,首先介绍研究内容背景和意义,然后简要说明SSL握手协议,其次对SSL流量“指纹识别”方法进行详细阐述,最后分析方法的特点及未来研究展望。

2 SSL握手协议

SSL安全套阶层协议是为主机间提供安全通道的协议,位于传输层和应用层之间,提供连接的隐秘性、用户的真实性以及数据的可靠性。SSL协议由握手层协议、记录层协议、更改密文协议和警报协议组成,如图1所示。

其中握手协议是SSL协议中最为重要的协议,通过握手可以提供对双方的身份验证机制。在这一过程中客户端和服务器需要确认一个用于加密明文数据所使用的密钥和算法,同时协商双方的信息摘要算法、数据压缩算法等,过程如图2所示。

(1)ClientHello消息。客户端会首先向服务器发送这条消息,来通知对方客户端所支持的算法,以及为了将来生成多个加密密钥所需要的客户端随机数。

(2)ServerHello消息。服务器会从客户端发送的加密算法中选择其中的一种。

(3)Server Certificate 消息。Server Certificate包含了用于身份认证的服务器标识,以及一个用于生成加密参数的随机数。

(4)Certificate Request 消息。可选消息,如果服务器不需要验证客户端的身份,则不会发送这条消息。

(5)Server Hello Done消息。这条消息表示ServerHello消息与Certificate消息一经发送完毕,服务器会等候客户端的回应。客户端一旦收到这条消息,才开始数字证书合法性的验证。

(6)Client Certificate 消息。可选,如果没有收到Certificate Request消息,则不需要发送数字证书。

3 SSL类型识别

SSL握手是客户端和服务器进行密钥、算法协商的步骤,不同类型的SSL有特定的密钥和算法选择方式,这些可选择的密钥和算法通过ClientHello消息进行传递,因此本文将根据SSL握手协议中客户端发送的ClientHello消息来区分不同类型的SSL流量。

ClientHello消息中包含了SSL/TLS版本号、Cipher Suites(加密套件)和扩展部分的签名算法等。通常对于同一个客户端发出的不同类型SSL请求,其ClientHello消息是有差别的。目前SSL流量可大致分为SSL VPN和浏览器产生的SSL,我们通过Wireshake软件进行大量抓包后分析发现,通过Cipher Suites、SessionTicket TLS、Status_request这三个字段信息可以有效区分SSL VPN和浏览器的SSL流量,甚至可区分出不同浏览器和同一浏览器在不同操作系统下的SSL流量。

近几年Microsoft推出使用SSL进行加密的SSTP,方便了用户在Windows上直接建立VPN,所以本文对SSL VPN的分析着重集中在SSTP VPN。同时主流的浏览器有IE、Chrome、Firefox、Sougou,其中Sougou是使用IE和Chrome内核,因此不对Sougou浏览器进行分析。特别需要注意的是,IE的各个版本随着不同的操作系统版本SSL流量具有明显不同。

3.1 SSTP VPN

SSTP VPN仅支持Win7操作系统及以上版本,在Win7、Win8以及Win8.1客户端与Windows Server 2012间搭建SSTP VPN并抓取数据包,通过大量实验总结发现,SSTP VPN在Win7和Win8操作系统中通常使用TLSv1.0,而Win8.1则使用TLSv1.2。并且Win7和Win8下Cipher Suites的总数相同,共12个,相比之下Win8.1的 SSTP VPN Cipher Suites包含了24个加密套件。Cipher Suites通常由三个部分组成,第一是密钥交换算法,第二是对称加密算法,第三是摘要或者MAC算法, RFC2246中建议了很多中组合,一般写法是“密钥交换算法-对称加密算法-摘要算法”。

虽然Win7和Win8下SSTP VPN的加密套件数量相同,但是还可通过扩展部分是否包含SessionTicket TLS进行有效区分,实验表明只有Win8和Win8.1才包含该项。Session Ticket是用于在握手阶段SSL连接中断后重新握手使用的,与Session ID的区别在于即使客户端的重新请求发送至另一台服务器仍然可以恢复对话,但是它仅保存在客户端, 目前在浏览器中只有Firefox和Chrome和Win8以上版本的IE浏览器支持。此外三个操作系统下的SSTP VPN都不包含Status request扩展项,而浏览器则都包含,这是它们之间的最大区别。SSTP VPN的比较见表1,“√”表示包含,反之为“×”。

3.2 IE浏览器

对于IE浏览器,目前仍有使用的是IE8到IE11,其中Win7支持IE8、IE9,Win7 Sp1版本支持IE11以前的所有版本,从Win8.1开始则主要使用IE11。在Win8及以上版本,IE浏览器产生的SSL流量包含了SessionTicket TLS字段,这是Win7版本与Win8、Win8.1流量的最大区别,通过这一特点可快速区分出浏览器的操作系统环境。然而,在Win7及Win7 sp1版本中,IE8、IE9和IE10都没有区别,无论从握手协议扩展项或者加密密码套件上看都是相同的,数量都为12个,与Win7环境下SSTP VPN的加密套件一致。唯独能够进行区分的只有IE11,其加密密码套件Cipher Suites包含了21个,在原有12个的基础上新增了9个组合。

相比之下Win8.1则较容易识别,因为只使用IE11,且用TLS 1.2版本,不仅包含SessionTicket TLS,而且Cipher Suites共有19个,更新升级后的Win8.1专业版的Cipher Suites则包含24个,不只是数量上简单的增加,还去除了原有的几个加密算法组合。IE各版本识别如表2所示。

3.3 其他浏览器

针对其他两个非IE的浏览器,Firefox和Chrome,这两类浏览器产生的SSL流量都包含了SessionTicket TLS、Status_reques。但Cipher Suites数量上,在Win7系统下,当Firefox和Chrome使用TLS 1.0时, Firefox有11个Cipher Suites,而Chrome则有17个。除了在Cipher Suites的数量上的差别,Firefox和Chrome在其他扩展字段与IE浏览器有明显区别,主要体现在签名哈希算法数量以及椭圆曲线算法。在签名哈希算法数量选择上,Chrome共10个,比Firefox总数多了2个,且具体签名算法也不尽相同,而IE浏览器只有在使用TLS 1.2时扩展项才有签名哈希算法,数量为7个。不仅如此,在椭圆曲线算法上,Chrome浏览器、IE浏览器以及SSTP VPN各版本在数量和类型上都相同,只有Firfox多了一个。该特点即可区分Firefox与其他SSL类型。

通过以上ClientHello几个字段的比较可以明显区分各种类型的SSL流量,实现了SSL“指纹识别”,同时也为后续设计SSL检测模型防御APT攻击奠定了基础。虽然所提分类方式弥补了目前研究空缺,但是对浏览器的SSL流量识别仅集中在Win7及以上现今较流行操作环境,对微软早前的操作系统比如XP、Vista等未做分析,这是实验的不足之处。

4 结束语

本文通过分析现有APT和SSL研究背景,提出了一种通过SSL握手协议中的ClientHello消息进行SSL流量类型识别的方法,不仅对Win7及以上版本的SSTP VPN、各版本浏览器的SSL流量做了有效区分,也为以后提出SSL检测模型做好准备工作。未来我们将在此基础上深入分析各种SSL流量类型的异常检测。

参考文献

[1] Paul Giura, Wei Wang. A Context-Based Detection Framework for Advanced Persistent Threats. International Conference on Cyber Security[C].2012,69-74.

[2] 黄达理, 薛质. 进阶持续性渗透攻击的特征分析研究[J]. 信息安全与通信保密, 2012, (5): 87-89.

[3] Zigan Cao, Gang Qiong, Yong Zhao, et al. Two-Phased Method for Detection Evasive Network Attack Channels[J]. China Communication, 2014, (8): 47-58.

[4] Linshung Huang, Alex Rice, Erling Ellingsen,et al. Analyzing Forged SSL Certificates in the Wild. IEEE Security and Privacy [C].2014,83-97.

[5] 钟军, 吴雪阳, 江一等. 一种安全协议的安全性分析及攻击研究[J]. 计算机科学与工程, 2014,36(6): 1077-1082.

基金项目:

国家自然科学基金重点项目(云计算环境下软件可靠性和安全性理论、技术与实证研究)(编号:61332010)。

作者简介:

苏E昕(1992-),女,上海交通大学,硕士;主要研究方向和关注领域:网络安全、信息安全管理。

ssl协议第8篇

关键词:云计算 虚拟桌面 RDP显示协议 网络安全

中图分类号:TP311.5 文献标识码:A 文章编号:1007-9416(2015)07-0000-00

1引言

由微软公司首先推出远程显示协议RDP,便提供了客户和服务器之间的数据连接,其广泛的使用性一方面证明了该协议对信息处理的高效率,另一方面使其安全性也受到了极大的挑战。RDP是面向连结的传输层协议,它本身采用类似ISO协议的机构层次,主要分为五层:RDP层 、Secure层、MCS层、ISO层、TCP层。

RDP其安全性由Secure层提供,该层使用RSA-RC4密码套件。在RDP使用过程中主要存在以下三种形式的攻击:用户口令猜想、键盘记录脆弱性攻击和中间人攻击。

对此我们提出了使用ECC椭圆曲线密码系统对RDP协议进行改进,由于Secure层位于RDP层和MCS层之间,如果对将Secure层进行变动的话,将意味着要重写客户端的RDP层和终端服务器的RDP层,这种方式的改动工作量大,因此我们提出了对SSL安全套接层协议的研究,使其嵌套在TCP层的上面。

2 准备工作

本节中,我们将详细的分析现有的ECC椭圆曲线密码系统,对SSL协议中的算法的替换,及最终实现与RDP协议的嵌套工作。

2.1基于ECC椭圆密码系统扩展的SSL握手协议

ECC椭圆曲线密码系统的安全性是基于求解椭圆曲线上离散对数难题。其中若给出基点和公钥,尽管暴力攻击能够计算的倍点,直到找到Q,但是在实际的椭圆密码系统中,可能是非常大的,使用这种暴力攻击方式计算是不可行的。在扩展后的SSL握手协议,实现了客户端和服务器身份信息的双向认证,攻击者在客户端和服务器通信时,如果公钥信息被篡改,则验证签名时将不会成立。图1将详细描述了基于ECC椭圆密码系统的SSL握手协议握手过程。

改进后的SSL协议对通信双方进行了身份认证。用ECDH密钥交换算法代替了原来的DH算法,ECDSA签名算法代替了 RSA签名算法。由于政策方面的原因,RC4算法不能提供足够的安全,也将RC4对称加密算法更换为AES算法。在改进后的密钥交换过程中,密钥交换算法ECDH和签名算法ECDSA以及摘要算法SHA-1组合使用,实现通信双方的身份认证和共享密钥的协商。

2.2扩展后的SSL握手协议与RDP协议的集成

在综合考虑实现的方便性、安全性和性能等方面需求之后,我们采用SSL协议与RDP协议的集成的修改方案,在TCP层上面加上了SSL协议层。改进后的方案仍然保持RDP对称的结构层次。RDP的客户端结构层次与RDP服务器端的结构层次相同并且一一对应。TCP层建立通信连接后,在客户端和服务器端都添加一个SSL处理模块。

虽然里面的Secure层和SSL层有些重复,但实际的实现要容易得多。我们可以在Secure层采用低加密工作方式,以减少计算量。增加SSL层后最大的开销是SSL握手 ,但这也是保证在Internet环境中安全使用终端服务所必要的代价。保留RDP原有的协议层次结构,减少原代码的改动以利于实现和应用推广,提高安全性,达到不影响或少影响其性能。

3 结语

将ECC加密算法替换SSL协议中的RSA签名算法,并将扩展后的SSL协议与原始RDP协议进行集成,使在原有的单向身份认证的基础上,增加了双方身份的验证等操作。与原有的RDP协议相比,本改进方案将会消耗更多计算资源,但这都是为提升安全性所必要的牺牲,相信在硬件设备的性能快速提高的情形下,这不会构成问题。目前对其安全性的研究只有在PC机上进行了实验,相信使其能在计算能力相对较低的移动设备上实现运用,将会极大的带动VDI虚拟桌面技术的发展。

参考文献

[1][美],史蒂文斯(W.R.Stevens)《TCP.IP详解,2000-09-01,机械工业出版社.

[2]诸葛建伟,《网络攻防技术与实践》2011-06-01电子工业出版社.

[3]王春海《VMware虚拟化与云计算应用案例详解》,2013-10-01,中国铁道出版社.

[4][美],Venkata Joysula, Malcolm Orr《云计算与数据中心自动化》,2012-07-01,人民邮电出版社.

优秀范文