基于SSL的虚拟专用网研究

时间:2022-10-19 11:49:10

基于SSL的虚拟专用网研究

[摘要]研究基于以太帧转发的SSL VPN如何实现内网资源的远程访问,并且在远程安全接入上从各个方面对SSL VPN系统进行安全性设计。

[关键词]SSL虚拟专用网网络安全

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1110089-01

虚拟专用网技术可以扩展企业的内部网络,使在外工作的员工和合作伙伴可以通过标准、公用的因特网访问企业的内部网络。基于安全套接字层协议的VPN远程访问方案以其方便、安全、快捷、灵活的特性成为远程用户快速访问企业内部网络的首要选择。

一、SSL VPN部署架构设计

当今世界瞬息万变,全球化的商业环境使分布在世界各地的企业各分支机构员工、合作伙伴和客户之间的联系更加紧密。企业的各分支、合作伙伴、客户与企业总部使用什么样的接入模式共享内网资源,需随着具体的网络环境和相应的权限而定。根据网络应用环境的不同,VPN客户端的接入模式总体上可分为两种模式:端到边(End-to-Border)模式和边对边(Border-to-Border)模式。

(一)端到边接入模式

端到边的接入模式适合于任何地点的远程用户接入企业内网,共享企业内部资源和进行远程办公。在端到边的接入模式中,由于远程用户接入的地点是不确定的,所以需要提供一种既方便又安全的远程接入VPN。方便快捷地接入企业内网是此种接入模式的首要需求。由于此种模式的特点,不可能满足在每个远程接入点都加入接入设备,而且也不可能满足每个远程用户都熟悉远程接入技术,这就需要此种模式的接入程序不需任何其它设备和满足零配置。在使用方便之外,由于接入用户的多样性,必须给远程用户提供可控区域的接入,使其只能访问角色权限范围内的内网服务资源。同时,为了防止非授权用户利用VPN接入内网窃取商业秘密,必须提供高强度的身份认证和访问控制策略。

(二)边对边接入模式

边到边的接入模式适合于企业内部各分支机构、合作伙伴的互联。在企业总部的网关处架设VPN的服务器,在企业各分支的网关处架设VPN的客户端。由于此种模式的接入地点相对比较确定,而且资源的共享都是在企业内部之间,其安全性比较好(假设企业内网是可信任的),这种接入模式的首要要求是远程接入的性能,安全性主要是针对安全隧道的安全。由于地点的确定性,所以可以在各个网关处使用硬件手段来实现加密和传输。本文研究的基于以太帧转发的虚拟专用网可以实现上述两种模式的远程接入。由于端到边的接入模式同样也可以在边到边的网络环境下使用。而且端到边的接入模式更适合普遍SSL VPN的要求,可以完全做到利用ActiveX控件嵌入到Web里,从Web服务器下载使用,无需远程接入用户做任何配置,完全实现无客户端性(clientless)。基于上述考虑,本文主要研究、设计和实现端到边的远程接入。

二、SSL VPN系统工作原理

传统的SSL VPN支持的应用局限在基于Web的应用,文件共享和E-mail等和浏览器相关的一些网络应用服务。对于一些基于点对点和反向连接的网络服务都不能提供很好的支持。本文设计和实现了一种基于以太帧转发的SSL VPN的构架。其基本原理是利用IP层的路由机制,将与内网通信的以太帧路由到客户端上的虚拟网卡中,然后通过设备I/O读写接口将以太帧转发到应用层,接着SSL VPN客户端程序将以太帧写入建立好的SSL安全通道中,服务端在收到以太帧后,将其写入服务端虚拟网卡设备中,虚拟网卡将以太帧自下而上压出TCP/IP协议栈,在IP层查询路由表,根据以太帧的目的地址将其路由转发到连接内网的网络接口,最后以太帧到达真正的内网服务端。

以太帧从客户端到内网服务器的工作流程如下:从内网服务器发往客户端的以太帧也可以经VPN网关服务器通过SSL安全隧道传送给客户端。首先因VPN客户端虚拟网卡的IP地址不在内网网段内,内网服务器会将以太帧发给默认路由――VPN网关,VPN网关在收到以太帧后,将帧自下而上压出协议栈,到达IP层时,根据帧的目的IP地址比较路由表得知帧的下一跳出口为虚拟网卡,以太帧到达虚拟网卡后,VPN服务器通过虚拟网卡的设备接口将以太帧读出,接着将其通过SSL安全隧道发送给VPN客户端,同样VPN客户端将收到的帧送入虚拟网卡,最后虚拟网卡将帧自下而上送给客户端服务程序。

整个SSL VPN的工作原理如上所述。因为客户端与服务端转发的是以太帧,所以可以支持点到点和基于反向连接的网络服务。同样因为是基于以太帧转发的,所以在访问控制中需要对每个以太帧进行访问权限检测,相对于基于连接转发和基于Web应用的SSL VPN来说实现起来比较困难。

三、SSL VPN远程接入的安全设计

SSL协议本身为我们提供了消息的保密性,消息的完整性等安全特性。为了更进一步提高SSL VPN远程接入的安全性,本文还采用了基于PKI的身份认证机制,基于会话流的连接超时控制,基于角色资源的访问控制策略和远程接入点会话数据清除等安全策略来提高SSL VPN远程接入的安全性。最普通的身份认证形式是用户标识(ID)和密码(Password)的组合,这种方式的认证是基于用户知道什么的身份认证,系统的安全性依赖于用户密码的保密性。

在本文采用的基于PKI的身份认证当中,CA机构的角色由受信任的CA根证书担当,所有客户端和服务端的证书都有CA根证书签名颁发,在SSL VPN服务器上存放受信任CA根证书的数字证书,而客户端证书、服务端证书和证书吊销列表的生成颁发机构由本文提供一整套解决方案。SSL VPN系统的管理员能分别向每个远程接入用户颁发识别用户身份的个人数字证书,在需要撤销客户端证书时由系统管理员生成证书吊销列表,并及时更新SSL VPN服务器的CRL(证书吊销列表),拒绝被吊销证书的远程接入用户登录VPN服务器。远程用户登录SSL VPN服务器的整个过程为:首先远程接入用户输入用户名/密码进行最基本的身份认证,在连接服务器时,会用存放在客户端的CA根证书验证服务端证书的有效性,验证通过后会弹出服务端数字证书信息对话框供用户选择是否信任,选择信任后,服务器将对通过SSL安全通道传送过来得用户名/密码进行认证,在认证成功后,根据用户的登陆权限判断是否需要客户端证书认证,如果需要则在客户端程序中弹出导入个人数字证书的对话框,在用户选择导入数字证书时需要用户输入个人证书的私钥密码,输入结束后SSL VPN服务器将对客户端证书的有效性、是否撤销进行检测判断,一切认证通过后就可以进行SSL远程通信了。

参考文献:

[1]罗明宇、卢锡城,计算机网络安全技术,计算机科学,2000,27(10):63-65.

[2]马英杰、肖丽萍、何文才、李彦兵,SSL协议分析及其在Web服务应用中的改进,微处理机,2005(6):30-33.

[3]金仑、谢俊元,基元SSL协议的可信应用与实现,计算机应用研究,2006(1):103-105.

上一篇:基于IPTABLES的网络计费系统的设计 下一篇:基于VB的网络管理系统的研究