SSL VPN在电子政务网中的应用
2012-10-17侯刚周洲杜波
侯刚 周洲 杜波
1 云南省电子政务网络管理中心 云南 650228
2 云南省委办公厅信息技术中心 云南 650021
0 前言
虚拟专用网络(Virtual Private Network,VPN)是一种在公共的网络基础平台(如Internet)上建立专用的数据通信网络的技术。VPN通过对数据包进行加密和封包,在公共网络基础平台上构建出安全、可靠的专用隧道,使私有数据在公共网络上安全传输。用户使用 VPN技术,不需要建设自己的专用网络,节省投资,使用便捷,VPN技术因而获得了广泛的应用。
VPN技术发展至今,产生了多个种类,有工作在2层的L2TP VPN,工作在3层的IPsec VPN,工作在传输层和应用层之间的安全套接层(Secure Socket Layer,SSL)VPN,基于虚拟路由表和标签转发的MPLS/BGP VPN 等。其中SSL VPN由于接入方便、方便用户通过公共网络(如Internet)接入业务网络,在远程接入上应用广泛。
SSL是一个独立于平台并独立于应用的协议,用户保护基于TCP的应用。在TCP/IP四层架构中,SSL在传输层之上,应用层之下,像TCP连接所连接的套接字一样工作。
SSL VPN 技术帮助用户使用标准的 Web 浏览器就可以通过公共网络平台接入所要访问的远程资源。在用户的计算机上,不需要安装客户端软件及进行复杂的配置,大大方便了用户,仅仅通过一台接入了Internet 的计算机就能访问远程资源。这为企业及政府提高效率也带来了方便。
SSL协议的体系架构如图1所示。
图1 SSL协议的体系架构
SSL工作在传输层和应用层之间,本身的协议就分为上下两层。下层是记录协议;上层包含握手协议(Handshake Protocol),修改密码规范协议(Change Cipher Spec Protocol),报警协议(Alert Protocol)和各种应用协议。
下面对各协议的功能进行阐述:
(1) 记录协议。记录协议是一个从相邻层接收原始数据的协议,它将所接收到的数据进行压缩、加/减密、身份认证和数据完整性检查,然后提交给相邻的上层或者下层。
(2) 握手协议。握手协议是通信主体双方在进行数据交换前协商各种参数的协议。所协商的参数包括:协议的版本号、双方所使用的加密算法、双方身份认证的信息、密钥材料等。
SSL VPN握手协议的协商过程如图2所示。
① 客户端发送“client hello”消息到服务器端,发起连接协商。在hello消息中包括客户端随机数和所支持的密码套件。
② 服务器发送“server hello”消息响应客户端hello,在hello消息中包括服务器随机数和所支持的密码套件。
图2 SSL VPN握手协议的协商过程
③ 服务器发送服务器证书到客户端,以提供身份认证。并且在许多情况下,也会向客户端发出证书请求。
④ 服务器发送“server hello done”消息,表示服务器的协商过程将要完毕。
⑤ 如果服务器向客户端请求证书,则客户端发送证书。
⑥ 客户端创建一个随机预主密钥,并用服务器证书中的公钥进行加密,然后把预主密钥发送到服务器上。
⑦ 服务器收到预主密钥,然后客户端和服务器各自依据这个预主密钥产生主密钥和会话密钥。
⑧ 客户端发送修改密码规范(change cipher spec)消息,通知服务器:客户端将开始使用新的会话密钥对消息进行哈希计算和加密。
⑨ 客户端发送“client finished”(客户端完成)。
⑩ 服务器接收到客户端发来的修改密码规范消息,把记录层切换到使用会话密钥的对称安全加密级别。
⑫ 客户端和服务器通过建立好的安全通道交换数据。
(3) 报警协议。报警协议是向通信主体传递SSL的相关警告信息的协议。报警信息传递的内容为信息错误的严重程度及警告描述。报警消息使用当前的安全状态发送,主要有警告、危急、致命三种,每一种报警协议对应着相应的处理方式。
(4) 修改密码规范协议。修改密码规范协议用来在SSL安全会话的双方之间进行加密策略改变的通知,使用一种称为“修改密码规范”的消息。协议由单个消息组成,该消息只包含一个值为1的单个字节。握手阶段由服务器或者客户端发给对方,用于通知对方:以后的数据交换将采用新协商的密码规范和密钥。
1 SSL VPN网关简介
用户所要访问的资源位于企业网或者政务网内部,在此情况下,需要部署SSL VPN 网关在企业网或者政务网的边缘,介于服务器与远程用户之间,控制二者的通信。如图 3所示。
图3 SSL VPN网关
SSL VPN网关除了作为隧道的终点,还要执行以下三种功能:代理,应用转换、端口转发。
(1) 代理:它将来自远端浏览器的页面请求(采用HTTPS协议)转发给Web服务器,然后将服务器的响应回传给远端用户。
(2) 如果用户所要访问的应用不是基于Web 的,就要借助于应用转换。将这些应用对客户端的响应转化为 HTTPS协议和HTML格式发往客户端,远端用户感觉这些服务器就是一些基于Web 的应用。
(3) 端口转发用于端口定义明确的应用。它需要在终端系统上运行一个非常小的 Java 或 ActiveX 程序作为端口转发器,监听某个端口上的连接。当数据包进入这个端口时,它们通过SSL 连接中的隧道被传送到SSL VPN 网关,SSL VPN 网关解开封装的数据包,将它们转发给目的应用服务器。使用端口转发器,需要终端用户指向他希望运行的本地应用程序,而不必指向真正的应用服务器。
2 Y省电子政务外网上的SSL VPN接入平台
目前,国内的电子政务蓬勃发展,国家电子政务外网管理中心启动了国家电子政务外网的建设,今后凡属社会管理和公共服务范畴及不需在国家电子政务内网上部署的业务应用,原则上应纳入国家电子政务外网运行。按照电子政务外网的定位,电子政务外网有广泛的用户群,需要为用户提供灵活、方便的接入方式,SSL VPN是满足此要求的最佳选择。以Y省电子政务网络管理中心在Y省电子政务外网上建设的SSL VPN接入平台为实例来阐述SSL VPN在电子政务网中的应用。
2.1 省级的VPN接入平台
Y省的VPN接入平台分省级和州市级两级来进行建设,省级VPN接入平台如图4所示。
图4 省级VPN接入平台
在省级层面建立全省统一的外网 VPN接入平台。VPN平台由两台高性能 VPN网关、线路负载均衡设备以及防火墙、数据交换机等组成。省级 VPN平台通过负载均衡设备与电信运营商提供的互联网线路相连,网络入口租用电信、移动、联通等运营商线路,以保证带宽及链路热备;同时,用户可以选择不同的运营商接入互联网,通过该运营商与VPN接入平台的接口线路构建VPN隧道接入电子政务外网。假设 VPN接入平台只与一家运营商提供的互联网接口线路相连,通过其他运营商接入互联网的用户需要跨越不同的运营商才能接入电子政务外网,而运营商间的互联网接口带宽较小,影响接入。
省级VPN平台设置的线路负载均衡设备可以对VPN接入流量进行负荷分配,不至于造成单台 VPN网关压力过重影响用户的正常接入和网络感知。
2.2 州市级VPN接入平台
Y省下辖有16个州市,各州市的信息化水平参差不齐,各州市的 VPN用户也多少不一。由于电子政务外网的骨干覆盖省级及16个州市,各州市可根据本地区VPN用户的数量来决定是否建设 VPN接入平台,如果不建设,本州市的VPN用户就直接接入省级的VPN接入平台。州市级VPN平台的部署如图5所示。
图5 州市级VPN平台
州市级VPN平台主要由VPN网关、防火墙、交换机等网络设备构成。防火墙可以集成在VPN网关内,也可以单独设置。各州市根据本地区的用户通过各家运营商接入因特网的数量的多少来选择合适的运营商提供因特网接口线路。
2.3 VPN用户的证书颁发
根据国家电子政务外网管理中心的要求,Y省电子政务网络管理中心在省级建设了RA中心,实现了基于RA认证的统一身份管理与授权管理系统。Y省省级和州市级的VPN用户的证书都由省级RA中心颁发。
2.4 VPN网关如何支持多用户同时接入
Y省电子政务外网的 VPN接入平台建设的目的是为用户提供一个简洁、方便的接入电子政务外网的方法,当多个用户同时接入时,VPN网关如何支持?有以下两种方法:
(1) 地址转换的方法
当同时接入的用户的数量较少时,采用地址转换的方法,如图6所示。
图6 用户数较少时采用地址转换的方法
用户与SSL VPN网关协商完毕,建立VPN隧道后,用户并没有获得电子政务外网的地址,用户所获得的是 VPN网关所分配的虚拟IP,每个用户所获得的虚拟IP是不同的,VPN网关用虚拟IP来区分不同用户的VPN隧道。
用户在访问电子政务外网中的应用时,经过 VPN网关时要进行地址转换,转换为VPN网关的内口地址,由于VPN网关的内口地址只有一个,在转换完毕后,不同的虚拟 IP转换成内网地址加不同的端口号。也就是说,在电子政务外网内部用VPN网关的内口地址加端口号来对用户进行区分。
(2) 地址池的方法
当同时接入的用户数量较多时,采用地址池的方法。如图7所示。
Y省电子政务外网专门分配一段IP给VPN的用户使用,地址池存储在VPN网关中。用户与SSL VPN网关协商完毕,建立VPN隧道后,用户获得由VPN网关分配的电子政务外网的地址。
用户在访问电子政务外网中的应用时,由于已经获得了电子政务外网的IP地址,不需要进行地址转换,直接访问电子政务外网中的应用。
目前Y省电子政务外网的VPN接入平台采用的是第二种方法。
图7 用户数较多时采用地址池的方法
3 结语
SSL VPN由于用户端配置简单,使用方便,在公众远程接入电子政务网方面应用广泛。Y省的VPN接入平台有以下特点。
(1) 分层次建设,在省级建设全省统一的VPN接入平台,各州市根据本州市的情况自行建设;
(2) 在省级建设统一的RA认证中心,实现了基于RA认证的统一身份管理与授权管理系统,可以根据用户的需求颁发证书给用户;
(3) 在省级建设了VPN网关群,配置负载均衡设备,实现了流量的负载均衡,VPN网关的热备及多家运营商线路的接入;由于州市级的用户较少,州市级在建设 VPN接入平台时,只配置了单台的VPN网关。
Y省通过在电子政务外网上建设SSL VPN接入平台,有效的延伸了电子政务外网,方便了公众对电子政务外网的访问,推动了Y省电子政务的发展。
[1]王达编著.飞思科技产品研发中心监制.网络工程师必读—网络安全系统设计2[M].电子工业出版社.2009.