基于SSL协议的VVEB服务器安全性研究

    吴柏华

    摘要:如何保证交易过程中所传递的敏感信息的安全是电子商务系统的重要问题,SSL协议使用对称加密算法,本文介绍了一种基于Kerberos的认证方式来改进SSL握手协议的密钥交换方式的方法。此外,考虑到SSL协议对服务器资源的大量占用,本文给出了提高服务器效率的方法。

    关键词:安全套接字层协议SSL;服务器;加密算法

    0 引言

    建立在Internet之上的电子商务系统以其高效率、低开销、高收益和全球性的特点,得到很多国家政府和企业的重视,发展非常迅速。但是在电子商务系统传输的数据中涉及到很多私密信息,如账号密码、银行卡号等。如何保证数据的安全传输成为最首要的问题。SSL普遍被认为是足够安全的,但是有部分安全研究人员声称能够拦截SSL连接,这对网络安全的研究提出了新的挑战,促使我们不断完善SSL协议,不断改进。

    1 SSL协议概述

    1.1 SSL安全机制

    SSL协议位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入https,而不是http。默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击者可以通过安装监听程序来获得我们和服务器之间的通讯内容。

    1.2 SSL体系结构

    SSL不是一个单一的协议,而是由多个协议组成,包括SSL记录协议、SSL握手协议、SSL修改密文规约协议、SSL告警协议,SSL记录协议为高层协议提供基本的安全服务。特别是为Web客户端/服务器交互提供传送服务的HTTP协议可以在上层访问SSL,而高层协议负责对SSL交换进行管理。

    2 Web服务器的安全性实现

    2.1 SSL在Web服务器中的应用

    SSL协议是建立在TCP的基础上,而不是UDP。这就保证了数据传输的可靠性和完整性。那么具体SSL协议是如何保证Web服务器的安全性的呢?当客户端使用具有SSL功能的浏览器(比如IE浏览器)和Web服务器通信时,主要会进行以下几个步骤以保证通信安全。首先C/S双方进行身份认证。通过交换各自的数字证书,对客户端和服务器进行身份认证,确保连接到正确的站点。然后客户端向服务器发送通过证书服务中公共密钥加密的48位主密钥,服务器使用自身私有密钥对主密钥进行解密。

    2.2 如何提高SSL在Web服务器中的效率

    据测试,当处理安全的SSL会话时,标准的Web服务器只能处理1%~10%的正常负载。电子商务时代,服务器反应速度至关重要。那么如何解决SSL协议在会话启动阶段对服务器资源占用过大,影响整个系统效率的问题则显得非常重要。

    SSL加速器将SSL协议中的大量函数计算转移出网络服务器,所有由SSL加密过的数据流经过SSL加速器时,加密的数据流都会被解密然后才被传输给服务器,另一方面由服务器发出SSL数据流则被SSL加速器加密后传向客户。

    2.3 SSL握手协议密钥交换方式改进

    SSL握手协议提供了一种C/S双方都没有证书的匿名密钥交换方式。SSL提供这种密钥交换方式,其主要目的是为了增强协议的实用性,但也带来了不安全因素。

    如果采用匿名密钥交换方式,比较容易受到中间人攻击,攻击者可以使用匿名身份与双方会话。主要有三种情况:第一,攻击者可能冒充其他合法用户进入服务器进行操作;第二,攻击者可以通过改变服务器的网络体制,发送伪造请求;第三,攻击者可以对用户和服务器的会话进行监听或者使用重放攻击,来获得服务或进行破坏活动。

    Kerberos认证协议通过提供—个集中的认证服务器来负责用户对服务器的认证和服务器对用户的认证,保护用户信息和服务器资源。Kerberos仅仅依赖于对称的加密机制而没有使用公钥加密机制。接下来介绍基于Kerberos的SSL认证过程:

    (1)客户端向AS发送用户标识和TGS标识,申请TGT;

    (2)AS通过查找自身数据库,得到TGT,使用用户口令中的密钥机密后发送给客户端。同时提示客户端用户输入口令,如果口令输入正确,则产生密钥,对传递的数据进行解密,还原TGT;

    (3)客户端将用户标识、服务标识和TGT发送给TGS用于申请一个服务票据;

    (4)TGS对TGT进行解密,并验证TGT的正确性。如果TGT未过期,且用户标识和网络地址与消息来源一致,则TGS发布相应的服务授权票据。

    (5)客户端将包含用户标识和服务授权票据的消息发送到服务器,请求服务。服务器同服务授权票据的内容对用户进行合法性认证。

    由Kerberos的认证过程可以看出,Kerberos认证协议基本上能够改进SSL握手协议中存在的不足。

    3 结论

    随着电子商务的发展,电子支付过程中单一认证问题就越来越突出。本文集中讨论了基于安全套接层协议的安全通信问题,提出了对SSL协议的改进,并且利用这个协议完成安全Web服务器的实现,可以进一步的提高网络通信安全。