侯剛 周洲 杜波
1 云南省電子政務網(wǎng)絡管理中心 云南 650228
2 云南省委辦公廳信息技術(shù)中心 云南 650021
虛擬專用網(wǎng)絡(Virtual Private Network,VPN)是一種在公共的網(wǎng)絡基礎平臺(如Internet)上建立專用的數(shù)據(jù)通信網(wǎng)絡的技術(shù)。VPN通過對數(shù)據(jù)包進行加密和封包,在公共網(wǎng)絡基礎平臺上構(gòu)建出安全、可靠的專用隧道,使私有數(shù)據(jù)在公共網(wǎng)絡上安全傳輸。用戶使用 VPN技術(shù),不需要建設自己的專用網(wǎng)絡,節(jié)省投資,使用便捷,VPN技術(shù)因而獲得了廣泛的應用。
VPN技術(shù)發(fā)展至今,產(chǎn)生了多個種類,有工作在2層的L2TP VPN,工作在3層的IPsec VPN,工作在傳輸層和應用層之間的安全套接層(Secure Socket Layer,SSL)VPN,基于虛擬路由表和標簽轉(zhuǎn)發(fā)的MPLS/BGP VPN 等。其中SSL VPN由于接入方便、方便用戶通過公共網(wǎng)絡(如Internet)接入業(yè)務網(wǎng)絡,在遠程接入上應用廣泛。
SSL是一個獨立于平臺并獨立于應用的協(xié)議,用戶保護基于TCP的應用。在TCP/IP四層架構(gòu)中,SSL在傳輸層之上,應用層之下,像TCP連接所連接的套接字一樣工作。
SSL VPN 技術(shù)幫助用戶使用標準的 Web 瀏覽器就可以通過公共網(wǎng)絡平臺接入所要訪問的遠程資源。在用戶的計算機上,不需要安裝客戶端軟件及進行復雜的配置,大大方便了用戶,僅僅通過一臺接入了Internet 的計算機就能訪問遠程資源。這為企業(yè)及政府提高效率也帶來了方便。
SSL協(xié)議的體系架構(gòu)如圖1所示。
圖1 SSL協(xié)議的體系架構(gòu)
SSL工作在傳輸層和應用層之間,本身的協(xié)議就分為上下兩層。下層是記錄協(xié)議;上層包含握手協(xié)議(Handshake Protocol),修改密碼規(guī)范協(xié)議(Change Cipher Spec Protocol),報警協(xié)議(Alert Protocol)和各種應用協(xié)議。
下面對各協(xié)議的功能進行闡述:
(1) 記錄協(xié)議。記錄協(xié)議是一個從相鄰層接收原始數(shù)據(jù)的協(xié)議,它將所接收到的數(shù)據(jù)進行壓縮、加/減密、身份認證和數(shù)據(jù)完整性檢查,然后提交給相鄰的上層或者下層。
(2) 握手協(xié)議。握手協(xié)議是通信主體雙方在進行數(shù)據(jù)交換前協(xié)商各種參數(shù)的協(xié)議。所協(xié)商的參數(shù)包括:協(xié)議的版本號、雙方所使用的加密算法、雙方身份認證的信息、密鑰材料等。
SSL VPN握手協(xié)議的協(xié)商過程如圖2所示。
① 客戶端發(fā)送“client hello”消息到服務器端,發(fā)起連接協(xié)商。在hello消息中包括客戶端隨機數(shù)和所支持的密碼套件。
② 服務器發(fā)送“server hello”消息響應客戶端hello,在hello消息中包括服務器隨機數(shù)和所支持的密碼套件。
圖2 SSL VPN握手協(xié)議的協(xié)商過程
③ 服務器發(fā)送服務器證書到客戶端,以提供身份認證。并且在許多情況下,也會向客戶端發(fā)出證書請求。
④ 服務器發(fā)送“server hello done”消息,表示服務器的協(xié)商過程將要完畢。
⑤ 如果服務器向客戶端請求證書,則客戶端發(fā)送證書。
⑥ 客戶端創(chuàng)建一個隨機預主密鑰,并用服務器證書中的公鑰進行加密,然后把預主密鑰發(fā)送到服務器上。
⑦ 服務器收到預主密鑰,然后客戶端和服務器各自依據(jù)這個預主密鑰產(chǎn)生主密鑰和會話密鑰。
⑧ 客戶端發(fā)送修改密碼規(guī)范(change cipher spec)消息,通知服務器:客戶端將開始使用新的會話密鑰對消息進行哈希計算和加密。
⑨ 客戶端發(fā)送“client finished”(客戶端完成)。
⑩ 服務器接收到客戶端發(fā)來的修改密碼規(guī)范消息,把記錄層切換到使用會話密鑰的對稱安全加密級別。
? 客戶端和服務器通過建立好的安全通道交換數(shù)據(jù)。
(3) 報警協(xié)議。報警協(xié)議是向通信主體傳遞SSL的相關警告信息的協(xié)議。報警信息傳遞的內(nèi)容為信息錯誤的嚴重程度及警告描述。報警消息使用當前的安全狀態(tài)發(fā)送,主要有警告、危急、致命三種,每一種報警協(xié)議對應著相應的處理方式。
(4) 修改密碼規(guī)范協(xié)議。修改密碼規(guī)范協(xié)議用來在SSL安全會話的雙方之間進行加密策略改變的通知,使用一種稱為“修改密碼規(guī)范”的消息。協(xié)議由單個消息組成,該消息只包含一個值為1的單個字節(jié)。握手階段由服務器或者客戶端發(fā)給對方,用于通知對方:以后的數(shù)據(jù)交換將采用新協(xié)商的密碼規(guī)范和密鑰。
用戶所要訪問的資源位于企業(yè)網(wǎng)或者政務網(wǎng)內(nèi)部,在此情況下,需要部署SSL VPN 網(wǎng)關在企業(yè)網(wǎng)或者政務網(wǎng)的邊緣,介于服務器與遠程用戶之間,控制二者的通信。如圖 3所示。
圖3 SSL VPN網(wǎng)關
SSL VPN網(wǎng)關除了作為隧道的終點,還要執(zhí)行以下三種功能:代理,應用轉(zhuǎn)換、端口轉(zhuǎn)發(fā)。
(1) 代理:它將來自遠端瀏覽器的頁面請求(采用HTTPS協(xié)議)轉(zhuǎn)發(fā)給Web服務器,然后將服務器的響應回傳給遠端用戶。
(2) 如果用戶所要訪問的應用不是基于Web 的,就要借助于應用轉(zhuǎn)換。將這些應用對客戶端的響應轉(zhuǎn)化為 HTTPS協(xié)議和HTML格式發(fā)往客戶端,遠端用戶感覺這些服務器就是一些基于Web 的應用。
(3) 端口轉(zhuǎn)發(fā)用于端口定義明確的應用。它需要在終端系統(tǒng)上運行一個非常小的 Java 或 ActiveX 程序作為端口轉(zhuǎn)發(fā)器,監(jiān)聽某個端口上的連接。當數(shù)據(jù)包進入這個端口時,它們通過SSL 連接中的隧道被傳送到SSL VPN 網(wǎng)關,SSL VPN 網(wǎng)關解開封裝的數(shù)據(jù)包,將它們轉(zhuǎn)發(fā)給目的應用服務器。使用端口轉(zhuǎn)發(fā)器,需要終端用戶指向他希望運行的本地應用程序,而不必指向真正的應用服務器。
目前,國內(nèi)的電子政務蓬勃發(fā)展,國家電子政務外網(wǎng)管理中心啟動了國家電子政務外網(wǎng)的建設,今后凡屬社會管理和公共服務范疇及不需在國家電子政務內(nèi)網(wǎng)上部署的業(yè)務應用,原則上應納入國家電子政務外網(wǎng)運行。按照電子政務外網(wǎng)的定位,電子政務外網(wǎng)有廣泛的用戶群,需要為用戶提供靈活、方便的接入方式,SSL VPN是滿足此要求的最佳選擇。以Y省電子政務網(wǎng)絡管理中心在Y省電子政務外網(wǎng)上建設的SSL VPN接入平臺為實例來闡述SSL VPN在電子政務網(wǎng)中的應用。
Y省的VPN接入平臺分省級和州市級兩級來進行建設,省級VPN接入平臺如圖4所示。
圖4 省級VPN接入平臺
在省級層面建立全省統(tǒng)一的外網(wǎng) VPN接入平臺。VPN平臺由兩臺高性能 VPN網(wǎng)關、線路負載均衡設備以及防火墻、數(shù)據(jù)交換機等組成。省級 VPN平臺通過負載均衡設備與電信運營商提供的互聯(lián)網(wǎng)線路相連,網(wǎng)絡入口租用電信、移動、聯(lián)通等運營商線路,以保證帶寬及鏈路熱備;同時,用戶可以選擇不同的運營商接入互聯(lián)網(wǎng),通過該運營商與VPN接入平臺的接口線路構(gòu)建VPN隧道接入電子政務外網(wǎng)。假設 VPN接入平臺只與一家運營商提供的互聯(lián)網(wǎng)接口線路相連,通過其他運營商接入互聯(lián)網(wǎng)的用戶需要跨越不同的運營商才能接入電子政務外網(wǎng),而運營商間的互聯(lián)網(wǎng)接口帶寬較小,影響接入。
省級VPN平臺設置的線路負載均衡設備可以對VPN接入流量進行負荷分配,不至于造成單臺 VPN網(wǎng)關壓力過重影響用戶的正常接入和網(wǎng)絡感知。
Y省下轄有16個州市,各州市的信息化水平參差不齊,各州市的 VPN用戶也多少不一。由于電子政務外網(wǎng)的骨干覆蓋省級及16個州市,各州市可根據(jù)本地區(qū)VPN用戶的數(shù)量來決定是否建設 VPN接入平臺,如果不建設,本州市的VPN用戶就直接接入省級的VPN接入平臺。州市級VPN平臺的部署如圖5所示。
圖5 州市級VPN平臺
州市級VPN平臺主要由VPN網(wǎng)關、防火墻、交換機等網(wǎng)絡設備構(gòu)成。防火墻可以集成在VPN網(wǎng)關內(nèi),也可以單獨設置。各州市根據(jù)本地區(qū)的用戶通過各家運營商接入因特網(wǎng)的數(shù)量的多少來選擇合適的運營商提供因特網(wǎng)接口線路。
根據(jù)國家電子政務外網(wǎng)管理中心的要求,Y省電子政務網(wǎng)絡管理中心在省級建設了RA中心,實現(xiàn)了基于RA認證的統(tǒng)一身份管理與授權(quán)管理系統(tǒng)。Y省省級和州市級的VPN用戶的證書都由省級RA中心頒發(fā)。
Y省電子政務外網(wǎng)的 VPN接入平臺建設的目的是為用戶提供一個簡潔、方便的接入電子政務外網(wǎng)的方法,當多個用戶同時接入時,VPN網(wǎng)關如何支持?有以下兩種方法:
(1) 地址轉(zhuǎn)換的方法
當同時接入的用戶的數(shù)量較少時,采用地址轉(zhuǎn)換的方法,如圖6所示。
圖6 用戶數(shù)較少時采用地址轉(zhuǎn)換的方法
用戶與SSL VPN網(wǎng)關協(xié)商完畢,建立VPN隧道后,用戶并沒有獲得電子政務外網(wǎng)的地址,用戶所獲得的是 VPN網(wǎng)關所分配的虛擬IP,每個用戶所獲得的虛擬IP是不同的,VPN網(wǎng)關用虛擬IP來區(qū)分不同用戶的VPN隧道。
用戶在訪問電子政務外網(wǎng)中的應用時,經(jīng)過 VPN網(wǎng)關時要進行地址轉(zhuǎn)換,轉(zhuǎn)換為VPN網(wǎng)關的內(nèi)口地址,由于VPN網(wǎng)關的內(nèi)口地址只有一個,在轉(zhuǎn)換完畢后,不同的虛擬 IP轉(zhuǎn)換成內(nèi)網(wǎng)地址加不同的端口號。也就是說,在電子政務外網(wǎng)內(nèi)部用VPN網(wǎng)關的內(nèi)口地址加端口號來對用戶進行區(qū)分。
(2) 地址池的方法
當同時接入的用戶數(shù)量較多時,采用地址池的方法。如圖7所示。
Y省電子政務外網(wǎng)專門分配一段IP給VPN的用戶使用,地址池存儲在VPN網(wǎng)關中。用戶與SSL VPN網(wǎng)關協(xié)商完畢,建立VPN隧道后,用戶獲得由VPN網(wǎng)關分配的電子政務外網(wǎng)的地址。
用戶在訪問電子政務外網(wǎng)中的應用時,由于已經(jīng)獲得了電子政務外網(wǎng)的IP地址,不需要進行地址轉(zhuǎn)換,直接訪問電子政務外網(wǎng)中的應用。
目前Y省電子政務外網(wǎng)的VPN接入平臺采用的是第二種方法。
圖7 用戶數(shù)較多時采用地址池的方法
SSL VPN由于用戶端配置簡單,使用方便,在公眾遠程接入電子政務網(wǎng)方面應用廣泛。Y省的VPN接入平臺有以下特點。
(1) 分層次建設,在省級建設全省統(tǒng)一的VPN接入平臺,各州市根據(jù)本州市的情況自行建設;
(2) 在省級建設統(tǒng)一的RA認證中心,實現(xiàn)了基于RA認證的統(tǒng)一身份管理與授權(quán)管理系統(tǒng),可以根據(jù)用戶的需求頒發(fā)證書給用戶;
(3) 在省級建設了VPN網(wǎng)關群,配置負載均衡設備,實現(xiàn)了流量的負載均衡,VPN網(wǎng)關的熱備及多家運營商線路的接入;由于州市級的用戶較少,州市級在建設 VPN接入平臺時,只配置了單臺的VPN網(wǎng)關。
Y省通過在電子政務外網(wǎng)上建設SSL VPN接入平臺,有效的延伸了電子政務外網(wǎng),方便了公眾對電子政務外網(wǎng)的訪問,推動了Y省電子政務的發(fā)展。
[1]王達編著.飛思科技產(chǎn)品研發(fā)中心監(jiān)制.網(wǎng)絡工程師必讀—網(wǎng)絡安全系統(tǒng)設計2[M].電子工業(yè)出版社.2009.