APP下载

面向中小企业低成本SSLVPN网关的设计与实现*

2012-03-22沈卫文胡智文

武汉交通职业学院学报 2012年2期
关键词:加密算法网关引擎

沈卫文 肖 磊 胡智文

(1.武汉交通职业学院,湖北 武汉 430065;2、3.温州大学,浙江 温州 325035)

0 引言

2011年4月6日,全球知名的IT调研公司Frost&Sullivan发布了2010年中国SSL VPN市场分析报告。该报告显示,中国SSLVPN市场在过去的一年里保持了10.3%的增长。这主要源于中国企事业单位的快速扩张及网络信息化的高速建设。

目前国内外基于VPN安全网关的研究及开发,大多都是以大型企业为应用背景,并且大多数的VPN是基于IPSEC技术。一方面为适应企业的高性能及高负荷需求,这类VPN采用了专用处理器及硬件加密卡来提高产品性能,这无疑大大增加了成本,使其无法被普通中小企业用户所接受;另一方面,IPSECVPN的技术特点也决定了它难以避免的VPN部署管理复杂性问题,需要专业人员来配置和维护。对于普通中小企业用户而言,这过于复杂,难以适用。而新兴的SSLVPN技术却解决了这一难题,满足了中小企业需求。

因此,研究基于面向中小企业的安全可靠、成本低廉、简单易用的SSLVPN安全网关显得尤为重要,也有着广阔的市场应用前景。

1 SSL VPN网关的国内外研发及应用现状

SSLVPN与IPSecVPN相比具有部署简单、使用灵活、维护成本低、对网络设备透明、应用安全性高等优点,SSLVPN能够保障应用系统的安全并适应移动办公用户和其他远程终端随时随地的灵活接入,因此众多的安全设备厂商都在研究和推出相关的SSLVPN产品[1]。

目前SSLVPN在国内市场推广面临几大不利因素。首先,当前很多防火墙已经把IPSecVPN做为一个默认功能安装进去,无需再购买专门的IPSecVN终结设备,而SSLVPN设备需要单独购买。这样,SSLVPN相对较高的价格,就限制了它应用的普及性。其次,国内主流运营商在IPSecVPN领域已经有足够成熟的解决方案与运营体系。从商业的角度出发,在过去的一段时间内,运营商更倾向于IPSecVPN从而对SSLVPN的推广采取了保守策略。

虽然存在这样一些问题,但是SSLVPN在国内市场的前景光明。在国内笔记本销售逐年增长情况下,移动办公越来越成为企业普遍的现象,用户需要更灵活的远程安全访问方案,而SSLVPN无疑是最适合的一种。

另外,从国家对安全产品的限制来看,SSLVPN的发展也更符合我国“国情”。IPSecVPN产品本身涉及到加密算法,而我国国家规定,在政府、军队等信息敏感部门,要采取经过国家相关部门认证的“第三方”加密算法。实际上,很多IPSecVPN的厂商,都是在采取自己的一套加密算法,虽然大家也都在口头上表示支持第三方加密算法,但是在同自身硬件紧密结合上,以及由此带来的加密效率和性能体现上都不尽如人意。而SSLVPN则不存在这个问题,由于其加密算法是由SSL协议实现,而且这SSL是在浏览器中受到支持。除非国家禁止浏览器的使用,否则就没有办法来严禁当前SSLVPN的加密。

2 低成本SSL VPN网关的设计思路

SSLVPN是正在发展的技术,更新换代可能会比较快,因此用户在选购时可以少考虑一些扩展性,多注重产品的实用性。毕竟,只有适合企业实际需求的才是最理想的选择。

由于潜在目标客户群体(中小企业主)对设备购置费用的敏感度要远高于大中型国有企业,在相近性能的情况下,价格优势将是决定产品能否迅速抢占市场的第一要素。因此,低成本SSLVPN网关的设计,必须同时兼顾性能指标和产品成本等因素。

低成本嵌入式SSLVPN网关的设计方案包括硬件架构设计及软件系统开发,其中硬件架构的选型及设计直接决定了产品的硬件成本。

2.1 硬件架构设计

在VPN安全网关中,加密算法的安全、高效,是VPN网关安全性和有效性的重要保证。由于本设计要兼顾高网络性能和低成本,并且还要支持硬件加密,通过比较市场上的多款适用CPU,我们初步选定了INTELXSCALIXP425。

INTELXSCALIXP425属于INTEL公司专门面向嵌入式领域涉及的XScale处理器系列中的一款低端网络处理器,属于网络通信领域应用最广,客户接受度最好的一款CPU。

IXP425集成有三个专门针对网络应用设计的网络处理引擎NPE(NetworkProcessorEngine)。每个NPE引擎连有协处理单元,专注于内核比较难对付的加密、解密和译码等特定功能处理,并且能够与网络处理引擎的内核同时并行工作处理数据,进一步提高网络处理效率;引擎的内核在硬件上支持多线程的快速切换,以满足高速网络的需要。网络处理器借助网络处理引擎处理数据的能力从而达到线性的速度,特别是在NAT、Firewall等对数据处理运算要求不高的应用,IXP425可以达到非常优越的性能[2]。

在一个Firewall/NAT应用的网关上,IXP425可以达到90Mb/s的带宽,满足大多数非加密通道的需求。在进行加解密数据处理时,IXP425的能力相对有限,利用网络处理引擎硬件加密进行3DES、SHA1运算仅能提供20Mb/s的带宽。不过考虑到中小型企业的VPN实际使用情况,该性能指标已经能满足绝大多数情况的需要。

如果在某些特殊环境下,需要更高性能的VPN连接,该硬件设计也可以利用IXP425自带的miniPCI接口来扩充对专用加密卡的支持。例如,利用IXP425高效的数据转发功能,结合SafeNet公司的SafeXcel系列加解密卡或是国密办批准的分组加密卡SSF10来提高加解密的速率,共同实现一个更加高速的VPN网关。

此外我们在设计中采用了一种硬件和软件加密模块相结合的方式,使得我们的SSLVPN网关可以在性能和价格上取得一定平衡。在要求不高的情况下,也可以采用纯软件加密从而降低成本;在要求较高的情况下,可选用硬件加密来提升性能。在本设计的默认配置中将使用XSCALE IXP425嵌入式CPU自带的加密引擎。

图1 XSCALE IXP 425系统框架示意

整个系统的结构框如图1所示。CPU IXP425与8MFLASH及16MDRAM共同组成一个最小系统。Switch芯片用于实现网卡的PHY层,共支持5个网口。一个用于连接外网,接受外部发起的SSLVPN连接。另四个连接企业内网,可分别连接不同的服务器。RS232用于实现串行口终端,可用于对调试信息输出和系统管理。JTAG用于对系统进行调试和在线编程。

2.2 软件系统技术路线

目前的大多数SSL VPN通过端口代理的方法实现。“代理服务器根据应用协议的类型(如TELNET,SMTP,HTTP等)做相应的端口代理,客户端与代理服务器之间建立应用层的SSL安全连接,所有数据传输通过代理服务器转发”[3]。这种实现仅适用于用TCP固定端口进行通信的应用系统并每个需要代理的端口进行单独配置;对于使用动态端口的协议需要重新开发并在代理中解析才能实现代理;不能对TCP以外的其它网络通信协议进行代理;严格地来说,这并非一种真正意义上的虚拟网络,只是一个SSL代理网关而已。本方案将实现一个如图2所示真正的基于网络层的IP隧道连接,通过虚拟网卡及虚拟网络的方式实现了SSLVPN的功能。其工作原理如下:

SSLVPN服务器为每一个成功建立SSL连接的客户端动态分配一个虚拟IP地址。这样物理网络中的客户端和VPN服务器就连接成一个虚拟网络上的星型结构局域网,VPN服务器成为每个客户端在虚拟网络上的网关。当客户端对VPN服务器后端的应用服务器的任何访问时,数据包都会经过路由流经虚拟网络,VPN程序上截获数据IP报文,然后使用SSL协议将这些IP报文封装起来,再经过物理网卡发送出去[4]。VPN服务器和客户端就建立起一个虚拟的局域网络,这个虚拟的局域网对系统的用户来说是透明的。

图2 本方案技术示意图

目前,SSL有其开放源码的实现库OpenSSL。OpenSSL包含了一套程序以及函数库,提供前端使用SSL功能,并且允许软件开发人员将SSL模块与他们的程序结合。本设计将充分使用这一资源来确保认证及加密的安全性。由于本设计需要支持Intel IXP425系列内置加密加速引擎,我们将开发其硬件加密引擎的驱动,并整合到OpenSSL,通过设备驱动CryptoDev来实现对硬件加密引擎的调用。

3 产品指标分析

通过对按照设计方案试制的样机进行初步测试,本产品能实现以下指标:

3.1 产品技术指标

(1)提供基于SSL协议的点对点安全传输通道;(2)支 持 Blowfish/AES/DES/DES3 加 密 方式;(3)支持基于数字证书的强身份鉴别及静态密钥共享的简单身份认证;(4)提供基于硬件加密与软件加密压缩相结合的安全功能;(5)支持至多八点同时接入虚拟网络;(6)非加密通道实现80-90Mb/s的吞吐量;加密通道实现10-20Mb/s的吞吐量。

3.2 产品经济指标

通过以XSCALE RISC嵌入式CPU芯片为硬件核心,以嵌入式LINUX操作系统为软件平台,来实现SSLVPN系统,可以极大的降低SSLVPN安全网关的部署费用,对中小企业信息安全提供强有力的保障。

目前国内市场主流SSL VPN市场价格一般处于高位。即便是国内市场占有率最大的深信服公司,其低端产品SSLVPN如 M5100-S,其市场的报价也大致位于¥14000.00-¥16800.00之间,而联想系列相关产品价格一般位于3万以上。

本设计将能极大幅度的降低该类产品的价格,经初步测算成本约为M5100-S市场价格的15%甚至更低。

[1]刘洋.IPSecVPN 和SSLVPN 的分析比较[J].电 脑知识与技术,2009,(2):67-69.

[2]丛欣.ARM处理器在网络安全领域中的应用[J].信息安全与通信保密,2011,(5):48-49.

[3]唐黎,朱正超.利用OpenVPN实现在系统中的多种安全访问.计算机与信息技术,2008,(12):41-43.

[4]龙锦远.SSLVPN技术研究及系统构建[J].微计算机信息,2009,(36):110-112.

猜你喜欢

加密算法网关引擎
信号系统网关设备的优化
三生 三大引擎齐发力
蓝谷: “涉蓝”新引擎
混沌参数调制下RSA数据加密算法研究
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
对称加密算法RC5的架构设计与电路实现