工控网首页
>

应用设计

>

基于SSL的VPN系统的研究

基于SSL的VPN系统的研究

2006/5/22 9:47:00
关键词:虚拟专用网;安全套接层协议层;IP安全体系结构;网络安全 中图分类号:TP393,TP309.7 文献标识码:A The Analysis of VPN System Based On SSL HE Liang,Yuan Hong-chun (School of Computer Science and Enginering, UESTC of China Chengdu 610054, China) Abstract: In recent years, to secureing the global digital commerce and data communication, Virtual Private Network (VPN) has emerged as the leading solution. At the present time, SSL and IPSec are the leading VPN technologies. In this paper, the fundamental knowledges of SSL and IPSec are introduced at first and re- searched the model that uses SSL to provide Virtual Private Network. In the end, the paper shed light on one model, which can deploy a secutiry SSL VPN system. Key words: Virtual Private Network; SSL; IPSec; Network Security 1 引言 随着全球信息化的迅速发展,因特网安全越来越成为人们关注的焦点。虚拟专用网(VPN)被定义为通过一个公用网络建立一个临时的、安全的连接,是一条穿过混乱的公用网络安全、稳定的隧道。 2 VPN的两大主流方向 目前流行的VPN的解决方案大多是基于 IPSec和SSL两种协议的。 IPSec协议又叫第三层隧道协议。它工作在 IP层,为IP层及其上层协议提供保护。这种隧道协议是在IP上进行的,因此不支持多协议。IPSec为Internet业务提供最强的安全功能,与其他隧道和安全技术相比,其优越性在于它的安全性、互操作性,但是管理复杂。如果需要相对安全、保密的通道,网络流量有限,对业务实时性要求不高,应首选IPSec。 SSL是最著名的第四层隧道协议,现已成为远程移动访问VPN的新宠。除了具备与IPSec VPN相当的安全性外,还增加了访问控制机制,客户端只需要拥有支持SSL的浏览器即可,可以说是零配置,非常适合移动用户访问企业内部网。 3 SSL协议综述 SSL的英文全称是“Secure Sockets Layer”,它是网景(Netscape)公司提出的基于WEB应用的安全协议。协议指定了一种在应用程序协议和 TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
3.1 SSL3.0记录层 SSL3.0协议的底层使记录层。它在客户和服务器之间发送能够容纳16383个字节的数据块。每个SSL记录包括如下信息: [1]:内容提要[2]:协议版本号[3]:长度[4]:数据载荷(压缩和加密)[5]:信息认证码(MAC)MAC是使用下面的公式进行计算的: hash (MAC-write-secret + pad-2 + hash (MAC- write-secret + pad-1 + seq-num + length + con- tent) ) 其中:①.MAC-write-wecret是一个由SSL客户和服务器共享的秘密,它使得传输更加有效②. pad-1是字符0X36被重复48次用于MD50X36被重复40次用于SHA-1这是一个任意常量。普遍认为它使得MAC计算更安全③.pad-2是字符0X5C被重复48次用来作为MD5。0X5C被重复了40次来作为SHA-1。这是另一个重复的常量。④.seq-num是信息序列号。⑤.hash()是散列算法。散列算法在当前使用的SSL加密中被定义。 3.2 SSL3.O协议 SSL协议是通过使用记录层进行发送的特定信息类型。SSL3.0定义了3个协议: (1)报警协议 报警是能够通过SSL记录层进行传输的特定类型信息报警由两个部分组成:一个报级,一个报警说明。他们都是用8位数进行编码的。SSL报警被加密和压缩。 (2)改变加密说明协议 改变加密说明协议用于一种加密算法于另一个加密算法之间的转变。为了改变加密法,客户/服务器首先成功建立了一个新的加密说明以及密钥。然后,它们各自发送一条改变加密说明信息从而使接收程序开始启动并且使用新的改变加密说明以及密钥。 (3)握手协议 SSL握手协议主要被用来向客户认证SSL服务器(服务器或客户),以及在一个最初加密算法以及密钥上达成一致。 4 SSL 3.0握手 当一个SSL客户连接到一个SSL服务器上时,这个SSL握手就开始了。SSL的握手是通过客户与服务器之间交换10部分信息来实现的。{}表明是任选项。 ①客户打开一个连接并发送ClientHello。 ②服务器发送一个ServerHello。 ③{服务器发送它的证书。} ④{服务器发送一个服务器密钥交换。} ⑤{服务器发送一个证书请求。} ⑥{客户发送它的证书。} ⑦客户发送一个客户密钥交换。 ⑧{客户发送一个证书确认。} ⑨客户和服务器同时发送改变加密说明信息 ⑩客户和服务器同时发送完成信息。 5 SSL VPN的优势 (1)可以绕过防火墙和代理服务器进行访问:基于SSL的远程访问方案中,使用NAT(网络地址转换)服务的远程用户或者因特网代理服务的用户可以从中受益,因为这种方案可以绕过防火墙和代理服务器进行访问公司资源,这是采用基于IPSec安全协议的远程访问所很难或者根本做不到的。而且,移动用户经常使用电话线上网,还经常改变 IP地址.如果使用IPSec VPN就会经常的改变设置和策略.也许,对于计算机高手来说问题不大,但是对于一般的用户来说,就有些勉为其难了。 (2)用户无需安装客户端软件:绝大多数的主流浏览器都把SSL整合在其中。 (3)适用大多数嵌入式设备:未来的移动用户一定会大量地使用各种轻巧地嵌入式设备。 基于Web访问的开放体系可以在运行标准的浏览器下可以访问任何设备,包括非传统设备,如可以上网的电话和PDA通讯产品。NOKIA的 SSL VPN系统是一个典型的代表。 (4)减少费用:基于SSL的VPN网络可以非常经济地提供远程访问服务。而IPSec VPN高昂的价格并不能体现出优势。 6 一个安全的SSL VPN系统的模型设计 一个传统的SSL VPN系统,或多或少存在着一些弊端。由于SSL VPN的使用者都是使用各式各样的浏览器从远程使用SSL VPN系统。所以先从浏览器端谈起。 6.1 浏览器端存在的问题 (1)如果用户使用公用计算机,敏感数据在用户结束对话后,有可能仍然保留在计算机中。例如:一个使用SSL VPN的用户,利用浏览器打开某个WORD文档,当他结束VPN连接后,敏感数据仍然保留在浏览器的临时文件夹中。这就给其他的用户得到敏感数据带来了可能。收藏夹中的 URL,在VPN对话时建立的Cookies和历史记录都会带来类似的安全威胁。 (2)当用户结束VPN会话后,用户的认证信息有可能仍然留在公用计算机中。一些充满好奇心的用户能够重新建立合法VPN用户的会话(甚至连用户名和密码都不知道)。这是因为,SSL VPN是面向应用程序的。但是有很多的应用程序是建立在基础的HTTP认证技术,而基础的HTTP认证技术会将用户的认证信息保存在浏览器的 Cache里面,这样用户在每次登陆时就不会被提醒输入认证信息。表面上是方便了用户,但是由于 SSL VPN系统在结束会话后,并不会清除保存在浏览器的Cache里面的认证信息,所以就出现了安全威胁。 (3)用户可能会忘记注销。许多的用户认为关闭了浏览器的窗口就可以结束VPN会话。实际上,如果用户不是使用注销结束VPN会话,连接是始终存在的。服务器端的资源仍然可以被浏览器端使用。 (4)在服务器端或浏览器端的蠕虫和病毒可以通过SSL VPN传播到利用SSL VPN协作的网络中。如果是集中管理的计算机系统,可以通过安装反病毒软件来解决。但是,很难要求公共使用的计算机也是这样。例如网吧里面的计算机。 6.2 传统的SSL VPN系统的服务器端同样也存在安全的隐患。 6.2.1 为了提高安全性,SSL VPN系统不是把服务器设在DMZ非军事区),就是设置在内部网里。 6.2.1.1如果是前者,存在如下的问题: (1)内部的防火墙可能由于为了使SSL VPN的服务器正常工作,会开放一些存在安全隐患的端口并实施一些欠妥当的策略。 (2)SSL解密的密钥被保留在事实上并不完全安全的DMZ里面。 (3)由于解密SSL的过程是在DMZ里面完成,所以敏感数据在不安全的DMZ里面通讯数据就变成了明码。 (4)外部防火墙也会为了使SSL VPN的服务器正常工作,开放一些存在安全隐患的端口并实施一些欠妥当的策略,使一些本该被过滤掉的危险数据流入DMZ,从而使黑客有机可趁。 6.2.1.2如果把服务器放在内部网络里面仍然有安全隐患。 (1)内部和外部防火墙为了使SSL VPN的服务器正常工作,会使本应被阻挡的数据流入网络。 (2)一些非法的用户可以利用SSL VPN系统将一些威胁网络安全的数据直接送进内网扩散。 6.2.2 应用程序级的缺陷 绝大多数的SSL VPN解决方案都是利用 WEB服务器作为体系的基础。防火墙在处理加密的数据和认证信息等时通常是开放端口,不加阻挡。如果不安全的数据也通过这条通道来进入内部的其它网络,必将造成程度不同的损失。并且作为为用户提供VPN服务的服务器或多或少存在潜在的安全漏洞。而且运行VPN系统的操作系统的内核也存在某些漏洞。这些漏洞一旦被利用,VPN系统将没有安全可言。 6.3 为了应对上述的问题,可以建立了一个安全模型来加以解决,体系结构如图2,部署见图3所示。 6.3.1 浏览器端的安全方案 使用“自动销毁”系统。这是一个从SSL VPN系统的服务器端自动下载到浏览器端运行的程序。用户可以自由选择安装运行。它的功能有:
①清除用户使用过的临时文件,会话产生的 Cookies和历史记录,以及用户的认证信息和收藏夹里面敏感的URL联接。这一点对于远程移动的用户非常有用,特别是那些没有专用计算机的用户。②无响应提醒。当SSL VPN系统没有数据传输时,程序产生一个提示信息,如果用户没有应答,程序将在某个短时间里自动结束会话。<
投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机