侯剛 周洲 杜波
1 云南省電子政務網絡管理中心 云南 650228
2 云南省委辦公廳信息技術中心 云南 650021
虛擬專用網絡(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的單個字節。握手階段由服務器或者客戶端發給對方,用于通知對方:以后的數據交換將采用新協商的密碼規范和密鑰。
用戶所要訪問的資源位于企業網或者政務網內部,在此情況下,需要部署SSL VPN 網關在企業網或者政務網的邊緣,介于服務器與遠程用戶之間,控制二者的通信。如圖 3所示。

圖3 SSL VPN網關
SSL VPN網關除了作為隧道的終點,還要執行以下三種功能:代理,應用轉換、端口轉發。
(1) 代理:它將來自遠端瀏覽器的頁面請求(采用HTTPS協議)轉發給Web服務器,然后將服務器的響應回傳給遠端用戶。
(2) 如果用戶所要訪問的應用不是基于Web 的,就要借助于應用轉換。將這些應用對客戶端的響應轉化為 HTTPS協議和HTML格式發往客戶端,遠端用戶感覺這些服務器就是一些基于Web 的應用。
(3) 端口轉發用于端口定義明確的應用。它需要在終端系統上運行一個非常小的 Java 或 ActiveX 程序作為端口轉發器,監聽某個端口上的連接。當數據包進入這個端口時,它們通過SSL 連接中的隧道被傳送到SSL VPN 網關,SSL VPN 網關解開封裝的數據包,將它們轉發給目的應用服務器。使用端口轉發器,需要終端用戶指向他希望運行的本地應用程序,而不必指向真正的應用服務器。
目前,國內的電子政務蓬勃發展,國家電子政務外網管理中心啟動了國家電子政務外網的建設,今后凡屬社會管理和公共服務范疇及不需在國家電子政務內網上部署的業務應用,原則上應納入國家電子政務外網運行。按照電子政務外網的定位,電子政務外網有廣泛的用戶群,需要為用戶提供靈活、方便的接入方式,SSL VPN是滿足此要求的最佳選擇。以Y省電子政務網絡管理中心在Y省電子政務外網上建設的SSL VPN接入平臺為實例來闡述SSL VPN在電子政務網中的應用。
Y省的VPN接入平臺分省級和州市級兩級來進行建設,省級VPN接入平臺如圖4所示。

圖4 省級VPN接入平臺
在省級層面建立全省統一的外網 VPN接入平臺。VPN平臺由兩臺高性能 VPN網關、線路負載均衡設備以及防火墻、數據交換機等組成。省級 VPN平臺通過負載均衡設備與電信運營商提供的互聯網線路相連,網絡入口租用電信、移動、聯通等運營商線路,以保證帶寬及鏈路熱備;同時,用戶可以選擇不同的運營商接入互聯網,通過該運營商與VPN接入平臺的接口線路構建VPN隧道接入電子政務外網。假設 VPN接入平臺只與一家運營商提供的互聯網接口線路相連,通過其他運營商接入互聯網的用戶需要跨越不同的運營商才能接入電子政務外網,而運營商間的互聯網接口帶寬較小,影響接入。
省級VPN平臺設置的線路負載均衡設備可以對VPN接入流量進行負荷分配,不至于造成單臺 VPN網關壓力過重影響用戶的正常接入和網絡感知。
Y省下轄有16個州市,各州市的信息化水平參差不齊,各州市的 VPN用戶也多少不一。由于電子政務外網的骨干覆蓋省級及16個州市,各州市可根據本地區VPN用戶的數量來決定是否建設 VPN接入平臺,如果不建設,本州市的VPN用戶就直接接入省級的VPN接入平臺。州市級VPN平臺的部署如圖5所示。

圖5 州市級VPN平臺
州市級VPN平臺主要由VPN網關、防火墻、交換機等網絡設備構成。防火墻可以集成在VPN網關內,也可以單獨設置。各州市根據本地區的用戶通過各家運營商接入因特網的數量的多少來選擇合適的運營商提供因特網接口線路。
根據國家電子政務外網管理中心的要求,Y省電子政務網絡管理中心在省級建設了RA中心,實現了基于RA認證的統一身份管理與授權管理系統。Y省省級和州市級的VPN用戶的證書都由省級RA中心頒發。
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 用戶數較多時采用地址池的方法
SSL VPN由于用戶端配置簡單,使用方便,在公眾遠程接入電子政務網方面應用廣泛。Y省的VPN接入平臺有以下特點。
(1) 分層次建設,在省級建設全省統一的VPN接入平臺,各州市根據本州市的情況自行建設;
(2) 在省級建設統一的RA認證中心,實現了基于RA認證的統一身份管理與授權管理系統,可以根據用戶的需求頒發證書給用戶;
(3) 在省級建設了VPN網關群,配置負載均衡設備,實現了流量的負載均衡,VPN網關的熱備及多家運營商線路的接入;由于州市級的用戶較少,州市級在建設 VPN接入平臺時,只配置了單臺的VPN網關。
Y省通過在電子政務外網上建設SSL VPN接入平臺,有效的延伸了電子政務外網,方便了公眾對電子政務外網的訪問,推動了Y省電子政務的發展。
[1]王達編著.飛思科技產品研發中心監制.網絡工程師必讀—網絡安全系統設計2[M].電子工業出版社.2009.