就在当前大多数远程访问解决方案是利用基于IPSec安全协议的VPN网络的情况下,一种最新的研究表明近乎90%的企业利用VPN进行的内部网和外部网的联接都只是用来进行因特网访问和电子邮件通信,另外10%的用户是利用诸如x11、聊天协议和其它私有客户端应用,属非因特网应用。而这些90%的应用都可以利用一种更加简单的VPN技术--SSL VPN来提供更加有效的解决方案。基于SSL协议的VPN远程访问方案的更加容易配置和管理,网络配置成本比起目前主流的IPSec VPN还要低许多,所以许多企业已经开始转而利用基于SSL加密协议的远程访问技术来实现VPN通信了。
一、 SSL基础
VPN技术可以扩展企业的内部网络,使在外工作的员工和合作伙伴通过标准、公用的因特网访问他们的内部网络。它相对传统的专线网络方案的主要优势是各项费用将大大降低。专线网络需要在合作伙伴或者远程员工与公司总部之间有一个物理封闭的网络连接,或者采用远程拨号访问方案,或者采用T1之类的数字专线连接。VPN是一个非常实用的技术,它允许客户(包括员工)和合作伙伴利用标准的因特网进行廉价连接,它允许采用IPSec安全协议方案。事实上,在VPN技术中包括许多加密和安全协议,SSL就是其中一个,同样主流VPN应用的IPSec也是其中的一种。所以总的来说IPSec VPN与SSL VPN是VPN技术在两种不同的安全协议下实现VPN通信的两种平等方案。所以理解SSL VPN的关键就在于理解SSL这一安全协议。
SSL的英文全称是“Secure Sockets Layer”,中文名为“安全套接层协议层”,它是网景(Netscape)公司提出的基于WEB应用的安全协议。SSL协议指定了一种在应用程序协议(如Http、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作“Form Signing”(表单签名)的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。综上所述,在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用"SSL+表单签名"模式能够为电子商务提供较好的安全性保证。因它是一个应用层协议,所以通常SSL (Secure socket Layer)安全套接层协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。
SSL与IPSec安全协议一样,也可提供加密和身份验证安全方法。但是不管怎样,SSL协议只对通信双方所进行的应用通道进行加密,而不是对从一个主机到另一主机的整个通道进行加密。因为绝大多数客户应用,是不必加密从一个系统到另一个系统的整个通道的,仅加密应用数据这一方案更显恰当。
“加密”和“安全”协议都是属于传输协议,它们是用来确保重要数据的安全转输。加密是任何安全协议的核心技术,它相对采用明文密码加密或者不经过加密数据有3方面的优势:
?数据的私密性:在传输过程中可以使数据保持隐藏,不被非法查看;
?数据的真实性和完整性:因为在有关数字加密、安全协议有关的技术可以确保数据在传输过程中不被修改或者损坏;
?连接的可靠性:数据加密的另一个数学特征是可以证明事件的发生。在使用SSL协议的通信中,每一个应用是一个安全的独立体,而不像IPSec那样,操作与应用脱节。要使用SSL协议进行VPN通信,则所进行的远程通信应用必须能识别SSL技术,不过现在常见的应用一般都能识别SSL技术的,如IE、Netscape浏览器,OutLook、 Eudora 邮件应用等。
目前SSL VPN主要应用于采用VPN与远程网络进行通信的应用主要是基于Web的客户,这些Web应用目前主要是内部网页游览、电子邮件及其它基于Web的查询工作。
在SSL VPN通信中通常还合用一种SSL Proxy(SSL代理)的技术来提高VPN服务器的通信性能和安全身验证能力,主要表面在以下两个方面:
(1)增加通信连接的性能
SSL本身就是一种非常快的协议,像所有加密协议一样, 在安全的通信建立之前它必须采用专门的CPU来提高数学运算速度。其中的一个运算法则就是RSA,RSA运算法则是采用SSL协议在客户端和服务器端传递密钥的。许多Modem拨号Web服务器,大约每秒可经接受75个新的SSL连接,每一个新的连接RSA都必须完成翻译和检验工作。如果系统每秒所有接受超过75个,CPU的利用率就会超过可接受有极限而停止对新的网络连接请求进行响应。
为了提高服务器的接受能力,SSL代理可以采用SSL加速器技术。一个SSL加速器就像一个486SX/DXPC机上的核心处理器一样。SSL加速器就可以分担服务器CPU的计算任务,通过加速后,一部只能完成接受每秒75个SSL连接的服务器,就可达到接受每秒800个以上连接的性能。
你可能对如果在你的服务器有一个SSL加速器时,为什么还需要SSL代理产生疑惑。事实上理解起来非常简单,还是一个节省资金的问题。对于一个大、中型企业,或者网络服务提供商,通常可能有多台接入服务器,如果没有SSL代理技术,则你有多少服务器需要SSL加速器,就得需要大笔的资金为每一台服务器都配置SSL加速器S。SL代理的好处就是可以使多台服务器共用一个SSL加速器。
从安全代理到网络代理,例如你现在可以开通每钞800条SSL连接来访问你的资源,而只需要维护后端服务器的一个SSL代理连接。注意安全代理可以减少在后端服务器中打开的SLL连接数量,尽管服务器每秒的连接达到800个。这样的好处就是使你的服务器的SSL连接永远不会超出负荷。
(2)内置身份验证
商业SSL协议的另一个优势就是内置身份验证方法。SSL协议的身份验证方法包括在服务器端和客户端进行的密码身份验证方法。不管怎样,所有安全都是基于一个理论:客户端的私钥密码要求安全保管。如果这个密钥遭到破坏或者丢失,你就不可能再得到客户的信任。这样就需要在SSL顶级授权机构申请添加一个新的身份验证方法,以使您的用户或者客户承认你的身份。不管怎样,SSL代理都可为客户在连接后端网络资源前提供强大的身份验证。SSL代理可以执行比后端资源自身的身份验证方法更加强大的身份验证,许多Web服务器自身并不支持比SSL更加强大的身份验证方法。