×××技術詳解(一)
■ 引言
虛擬專用網絡能夠實現不一樣網絡的組件和資源之間的相互鏈接。虛擬專用網絡可以利用Internet或其它公共互聯網絡的基礎設施爲用戶建立隧道,並提供與專用網絡同樣的安全和功能保障。
虛擬專用網絡容許遠程通信方,銷售人員或企業分支機構使用Internet等公共互聯網絡的路由基礎設施以安全的方式與位於企業局域網端的企業服務器創建鏈接。虛擬專用網絡對用戶端透明,用戶好象使用一條專用線路在客戶計算機和企業服務器之間創建點對點鏈接,進行數據的傳輸。
虛擬專用網絡技術一樣支持企業經過Internet等公共互聯網絡與分支機構或其它公司創建鏈接,進行安全的通信。這種跨越Internet創建的×××鏈接邏輯上等同於兩地之間使用廣域網創建的鏈接。
雖然×××通信創建在公共互聯網絡的基礎上,可是用戶在使用×××時感受如同在使用專用網絡進行通信,因此得名虛擬專用網絡。
使用×××技術能夠解決在當今遠程通信量日益增大,企業全球運做普遍分佈的狀況下,員工須要訪問中央資源,企業相互之間必須進行及時和有效的通信的問題。
若是但願企業員工不管身處何地都可以與企業計算資源創建鏈接,企業必須採用一個可靠性高、擴展性強的遠程訪問解決方案。通常的,企業有以下選擇:
1.管理信息系統(MIS)部門驅動方案。創建一個內部的MIS部門專門負責購買,安裝和維護企業modem池和專用網絡基礎設施。
2.增值網絡(VAN)方案。企業僱傭一個外部公司負責購買,安裝和維護modem池和遠程通信網絡基礎設施。
從費用,可靠性,管理和便於鏈接等幾方面來看,這兩種方案都不能最大程度的知足企業對網絡安全性或擴展性的要求。所以,選擇一種基於Internet技術的廉價方案取代企業花費在modem池和專用網絡基礎設施上的投資就顯得極爲重要。
■ 虛擬專用網絡的基本用途
經過Internet實現遠程用戶訪問
虛擬專用網絡支持以安全的方式經過公共互聯網絡遠程訪問企業資源。
與使用專線撥打長途或(1-800)電話鏈接企業的網絡接入服務器(NAS)不一樣,虛擬專用網絡用戶首先撥通本地ISP的NAS,而後×××軟件利用與本地ISP創建的鏈接在撥號用戶和企業×××服務器之間建立一個跨越Internet或其它公共互聯網絡的虛擬專用網絡。
經過Internet實現網絡互連
能夠採用如下兩種方式使用×××鏈接遠程局域網絡。
1.使用專線鏈接分支機構和企業局域網。
不須要使用價格昂貴的長距離專用電路,分支機構和企業端路由器可使用各自本地的專用線路經過本地的ISP連通Internet。×××軟件使用與當本地ISP創建的鏈接和Internet網絡在分支機構和企業端路由器之間建立一個虛擬專用網絡。
2.使用撥號線路鏈接分支機構和企業局域網。
不一樣於傳統的使用鏈接分支機構路由器的專線撥打長途或(1-800)電話鏈接企業NAS的方式,分支機構端的路由器能夠經過撥號方式鏈接本地ISP。×××軟件使用與本地ISP創建起的鏈接在分支機構和企業端路由器之間建立一個跨越Internet的虛擬專用網絡。
應當注意在以上兩種方式中,是經過使用本地設備在分支機構和企業部門與Internet之間創建鏈接。不管是在客戶端仍是服務器端都是經過撥打本地接入電話創建鏈接,所以×××能夠大大節省鏈接的費用。建議做爲×××服務器的企業端路由器使用專線鏈接本地ISP。×××服務器必須一天24小時對×××數據流進行監聽。
鏈接企業內部網絡計算機
在企業的內部網絡中,考慮到一些部門可能存儲有重要數據,爲確保數據的安全性,傳統的方式只能是把這些部門同整個企業網絡斷開造成孤立的小網絡。這樣作雖然保護了部門的重要信息,可是因爲物理上的中斷,使其餘部門的用戶沒法,形成通信上的困難。
採用×××方案,經過使用一臺×××服務器既可以實現與整個企業網絡的鏈接,又能夠保證保密數據的安全性。路由器雖然也可以實現網絡之間的互聯,可是並不能對流向敏感網絡的數據進行限制。使用×××服務器,可是企業網絡管理人員經過使用×××服務器,指定只有符合特定身份要求的用戶才能鏈接×××服務器得到訪問敏感信息的權利。此外,能夠對全部×××數據進行加密,從而確保數據的安全性。沒有訪問權利的用戶沒法看到部門的局域網絡
×××技術詳解(二)
■ ×××的基本要求
通常來講,企業在選用一種遠程網絡互聯方案時都但願可以對訪問企業資源和信息的要求加以控制,所選用的方案應當既可以實現受權用戶與企業局域網資源的自由鏈接,不一樣分支機構之間的資源共享;又可以確保企業數據在公共互聯網絡或企業內部網絡上傳輸時安全性不受破壞.所以,最低限度,一個成功的×××方案應當可以知足如下全部方面的要求:
1.用戶驗證
×××方案必須可以驗證用戶身份並嚴格控制只有受權用戶才能訪問×××。另外,方案還必須可以提供審計和記費功能,顯示何人在什麼時候訪問了何種信息。
2.地址管理
×××方案必須可以爲用戶分配專用網絡上的地址並確保地址的安全性。
3.數據加密
對經過公共互聯網絡傳遞的數據必須通過加密,確保網絡其餘未受權的用戶沒法讀取該信息。
4.密鑰管理
×××方案必須可以生成並更新客戶端和服務器的加密密鑰。
5.多協議支持
×××方案必須支持公共互聯網絡上廣泛使用的基本協議,包括IP,IPX等。以點對點隧道協議(PPTP)或第2層隧道協議(L2TP)爲基礎的×××方案既可以知足以上全部的基本要求,又可以充分利用遍佈世界各地的Internet互聯網絡的優點。其它方案,包括安全IP協議(IPSec),雖然不能知足上述所有要求,可是仍然適用於在特定的環境。本文如下部分將主要集中討論有關×××的概念,協議,和部件(component)。
■ 隧道技術基礎
隧道技術是一種經過使用互聯網絡的基礎設施在網絡之間傳遞數據的方式。使用隧道傳遞的數據(或負載)能夠是不一樣協議的數據楨(此字不正確)或包。隧道協議將這些其它協議的數據楨或包從新封裝在新的包頭中發送。新的包頭提供了路由信息,從而使封裝的負載數據可以經過互聯網絡傳遞。
被封裝的數據包在隧道的兩個端點之間經過公共互聯網絡進行路由。被封裝的數據包在公共互聯網絡上傳遞時所通過的邏輯路徑稱爲隧道。一旦到達網絡終點,數據將被解包並轉發到最終目的地。注意隧道技術是指包括數據封裝,傳輸和解包在內的全過程。
隧道所使用的傳輸網絡能夠是任何類型的公共互聯網絡,本文主要以目前廣泛使用Internet爲例進行說明。此外,在企業網絡一樣能夠建立隧道。隧道技術在通過一段時間的發展和完善以後,目前較爲成熟的技術包括:
1.IP網絡上的SNA隧道技術
當系統網絡結構(SystemNetworkArchitecture)的數據流經過企業IP網絡傳送時,SNA數據楨將被封裝在UDP和IP協議包頭中。
2.IP網絡上的NovellNetWareIPX隧道技術
當一個IPX數據包被髮送到NetWare服務器或IPX路由器時,服務器或路由器用UDP和IP包頭封裝IPX數據包後經過IP網絡發送。另外一端的IP-TO-IPX路由器在去除UDP和IP包頭以後,把數據包轉發到IPX目的地。
近幾年不斷出現了一些新的隧道技術,本文將主要介紹這些新技術。具體包括:
1.點對點隧道協議(PPTP)
PPTP協議容許對IP,IPX或NetBEUI數據流進行加密,而後封裝在IP包頭中經過企業IP網絡或公共互聯網絡發送。
2.第2層隧道協議(L2TP)
L2TP協議容許對IP,IPX或NetBEUI數據流進行加密,而後經過支持點對點數據報傳遞的任意網絡發送,如IP,X.25,楨中繼或ATM。
3.安全IP(IPSec)隧道模式
IPSec隧道模式容許對IP負載數據進行加密,而後封裝在IP包頭中經過企業IP網絡或公共IP互聯網絡如Internet發送。
■ 隧道協議
爲建立隧道,隧道的客戶機和服務器雙方必須使用相同的隧道協議。
隧道技術能夠分別以第2層或第3層隧道協議爲基礎。上述分層按照開放系統互聯(OSI)的參考模型劃分。第2層隧道協議對應OSI模型中的數據鏈路層,使用楨做爲數據交換單位。PPTP,L2TP和L2F(第2層轉發)都屬於第2層隧道協議,都是將數據封裝在點對點協議(PPP)楨中經過互聯網絡發送。第3層隧道協議對應OSI模型中的網絡層,使用包做爲數據交換單位。IP overIP以及IPSec隧道模式都屬於第3層隧道協議,都是將IP包封裝在附加的IP包頭中經過IP網絡傳送。
■ 隧道技術如何實現
對於象PPTP和L2TP這樣的第2層隧道協議,建立隧道的過程相似於在雙方之間創建會話;隧道的兩個端點必須贊成建立隧道並協商隧道各類配置變量,如地址分配,加密或壓縮等參數。絕大多數狀況下,經過隧道傳輸的數據都使用基於數據報的協議發送。隧道維護協議被用來做爲管理隧道的機制。
第3層隧道技術一般假定全部配置問題已經經過手工過程完成。這些協議不對隧道進行維護。與第3層隧道協議不一樣,第2層隧道協議(PPTP和L2TP)必須包括對隧道的建立,維護和終止。
隧道一旦創建,數據就能夠經過隧道發送。隧道客戶端和服務器使用隧道數據傳輸協議準備傳輸數據。例如,當隧道客戶端向服務器端發送數據時,客戶端首先給負載數據加上一個隧道數據傳送協議包頭,而後把封裝的數據經過互聯網絡發送,並由互聯網絡將數據路由到隧道的服務器端。隧道服務器端收到數據包以後,去除隧道數據傳輸協議包頭,而後將負載數據轉發到目標網絡。
×××技術詳解(三)
■ 隧道協議和基本隧道要求
由於第2層隧道協議(PPTP和L2TP)以完善的PPP協議爲基礎,所以繼承了一整套的特性。
1.用戶驗證
第2層隧道協議繼承了PPP協議的用戶驗證方式。許多第3層隧道技術都假定在建立隧道以前,隧道的兩個端點相互之間已經瞭解或已經通過驗證。一個例外狀況是IPSec協議的ISAKMP協商提供了隧道端點之間進行的相互驗證。
2.令牌卡(Tokencard)支持
經過使用擴展驗證協議(EAP),第2層隧道協議可以支持多種驗證方法,包括一次性口令(one-timepassword),加密計算器(cryptographic calculator)和智能卡等。第3層隧道協議也支持使用相似的方法,例如,IPSec協議經過ISAKMP/Oakley協商肯定公共密鑰證書驗證。
3.動態地址分配
第2層隧道協議支持在網絡控制協議(NCP)協商機制的基礎上動態分配客戶地址。第3層隧道協議一般假定隧道創建以前已經進行了地址分配。目前IPSec隧道模式下的地址分配方案仍在開發之中。
4.數據壓縮
第2層隧道協議支持基於PPP的數據壓縮方式。例如,微軟的PPTP和L2TP方案使用微軟點對點加密協議(MPPE)。IETP正在開發應用於第3層隧道協議的相似數據壓縮機制。
5.數據加密
第2層隧道協議支持基於PPP的數據加密機制。微軟的PPTP方案支持在RSA/RC4算法的基礎上選擇使用MPPE。第3層隧道協議可使用相似方法,例如,IPSec經過ISAKMP/Oakley協商肯定幾種可選的數據加密方法。微軟的L2TP協議使用IPSec加密保障隧道客戶端和服務器之間數據流的安全。
6.密鑰管理
做爲第2層協議的MPPE依靠驗證用戶時生成的密鑰,按期對其更新。IPSec在ISAKMP交換過程當中公開協商公用密鑰,一樣對其進行按期更新。
7.多協議支持
第2層隧道協議支持多種負載數據協議,從而使隧道客戶可以訪問使用IP,IPX,或NetBEUI等多種協議企業網絡。相反,第3層隧道協議,如IPSec隧道模式只能支持使用IP協議的目標網絡
■ 點對點協議
由於第2層隧道協議在很大程度上依靠PPP協議的各類特性,所以有必要對PPP協議進行深刻的探討。PPP協議主要是設計用來經過撥號或專線方式創建點對點鏈接發送數據。PPP協議將IP,IPX和NETBEUI包封裝在PP楨內經過點對點的鏈路發送。PPP協議主要應用於鏈接撥號用戶和NAS。 PPP撥號會話過程能夠分紅4個不一樣的階段。分別以下:
階段1:建立PPP鏈路
PPP使用鏈路控制協議(LCP)建立,維護或終止一次物理鏈接。在LCP階段的初期,將對基本的通信方式進行選擇。應當注意在鏈路建立階段,只是對驗證協議進行選擇,用戶驗證將在第2階段實現。一樣,在LCP階段還將肯定鏈路對等雙方是否要對使用數據壓縮或加密進行協商。實際對數據壓縮/加密算法和其它細節的選擇將在第4階段實現。
階段2:用戶驗證
在第2階段,客戶會PC將用戶的身份明發給遠端的接入服務器。該階段使用一種安全驗證方式避免第三方竊取數據或冒充遠程客戶接管與客戶端的鏈接。大多數的PPP方案只提供了有限的驗證方式,包括口令驗證協議(PAP),挑戰握手驗證協議(CHAP)和微軟挑戰握手驗證協議(MSCHAP)。
1.口令驗證協議(PAP)
PAP是一種簡單的明文驗證方式。NAS要求用戶提供用戶名和口令,PAP以明文方式返回用戶信息。很明顯,這種驗證方式的安全性較差,第三方能夠很容易的獲取被傳送的用戶名和口令,並利用這些信息與NAS創建鏈接獲取NAS提供的全部資源。因此,一旦用戶密碼被第三方竊取,PAP沒法提供避免受到第三方***的保障措施。
2.挑戰-握手驗證協議(CHAP)
CHAP是一種加密的驗證方式,可以避免創建鏈接時傳送用戶的真實密碼。NAS向遠程用戶發送一個挑戰口令(challenge),其中包括會話ID和一個任意生成的挑戰字串(arbitrary challengestring)。遠程客戶必須使用MD5單向哈希算法(one-wayhashingalgorithm)返回用戶名和加密的挑戰口令,會話ID以及用戶口令,其中用戶名以非哈希方式發送。
CHAP對PAP進行了改進,再也不直接經過鏈路發送明文口令,而是使用挑戰口令以哈希算法對口令進行加密。由於服務器端存有客戶的明文口令,因此服務器能夠重複客戶端進行的操做,並將結果與用戶返回的口令進行對照。CHAP爲每一次驗證任意生成一個挑戰字串來防止受到再現***(replay attack).在整個鏈接過程當中,CHAP將不定時的向客戶端重複發送挑戰口令,從而避免第3方冒充遠程客戶(remoteclient impersonation)進行***。
3.微軟挑戰-握手驗證協議(MS-CHAP)
與CHAP相相似,MS-CHAP也是一種加密驗證機制。同CHAP同樣,使用MS-CHAP時,NAS會向遠程客戶發送一個含有會話ID和任意生成的挑戰字串的挑戰口令。遠程客戶必須返回用戶名以及通過MD4哈希算法加密的挑戰字串,會話ID和用戶口令的MD4哈希值。採用這種方式服務器端將只存儲通過哈希算法加密的用戶口令而不是明文口令,這樣就可以提供進一步的安全保障。此外,MS-CHAP一樣支持附加的錯誤編碼,包括口令過時編碼以及容許用戶本身修改口令的加密的客戶-服務器(client-server)附加信息。使用MS-CHAP,客戶端和NAS雙方各自生成一個用於隨後數據加密的起始密鑰。MS-CHAP使用基於MPPE的數據加密,這一點很是重要,能夠解釋爲何啓用基於MPPE的數據加密時必須進行MS-CHAP驗證。
在第2階段PPP鏈路配置階段,NAS收集驗證數據而後對照本身的數據庫或中央驗證數據庫服務器(位於NT主域控制器或遠程驗證用戶撥入服務器)驗證數據的有效性。
階段3:PPP回叫控制(callbackcontrol)
微軟設計的PPP包括一個可選的回叫控制階段。該階段在完成驗證以後使用回叫控制協議(CBCP)若是配置使用回叫,那麼在驗證以後遠程客戶和NAS之間的鏈接將會被斷開。而後由NAS使用特定的電話號碼回叫遠程客戶。這樣能夠進一步保證撥號網絡的安全性。NAS只支持對位於特定電話號碼處的遠程客戶進行回叫。
階段4:調用網絡層協議
在以上各階段完成以後,PPP將調用在鏈路建立階段(階段1)選定的各類網絡控制協議(NCP).例如,在該階段IP控制協議(IPCP)能夠向撥入用戶分配動態地址。在微軟的PPP方案中,考慮到數據壓縮和數據加密實現過程相同,因此共同使用壓縮控制協議協商數據壓縮(使用MPPC)和數據加密(使用MPPE)。
×××技術詳解(四)
■ 數據傳輸階段
一旦完成上述4階段的協商,PPP就開始在鏈接對等雙方之間轉發數據。每一個被傳送的數據報都被封裝在PPP包頭內,該包頭將會在到達接收方以後被去除。若是在階段1選擇使用數據壓縮而且在階段4完成了協商,數據將會在被傳送之間進行壓縮。相似的,若是若是已經選擇使用數據加密並完成了協商,數據(或被壓縮數據)將會在傳送以前進行加密。
點對點隧道協議(PPTP)
PPTP是一個第2層的協議,將PPP數據楨封裝在IP數據報內經過IP網絡,如Internet傳送。PPTP還可用於專用局域網絡之間的鏈接。RFC草案「點對點隧道協議」對PPTP協議進行了說明和介紹。該草案由PPTP論壇的成員公司,包括微軟,Ascend,3Com,和ECI等公司在1996年6月提交至IETF。可在以下站點
[url]http://www.ietf.org[/url]
[url]http://www.ietf.org[/url]參看草案的在線拷貝.PPTP使用一個TCP鏈接對隧道進行維護,使用通用路由封裝(GRE)技術把數據封裝成PPP數據楨經過隧道傳送。能夠對封裝PPP楨中的負載數據進行加密或壓縮。圖7所示爲如何在數據傳遞以前組裝一個PPTP數據包。
第2層轉發(L2F)
L2F是Cisco公司提出隧道技術,做爲一種傳輸協議L2F支持撥號接入服務器將撥號數據流封裝在PPP楨內經過廣域網鏈路傳送到L2F服務器(路由器)。L2F服務器把數據包解包之從新注入(inject)網絡。與PPTP和L2TP不一樣,L2F沒有肯定的客戶方。應當注意L2F只在強制隧道中有效。(自願和強制隧道的介紹參看「隧道類型」)。
第2層隧道協議(L2TP)
L2TP結合了PPTP和L2F協議。設計者但願L2TP可以綜合PPTP和L2F的優點。
L2TP是一種網絡層協議,支持封裝的PPP楨在IP,X.25,楨中繼或ATM等的網絡上進行傳送。當使用IP做爲L2TP的數據報傳輸協議時,可使用L2TP做爲Internet網絡上的隧道協議。L2TP還能夠直接在各類WAN媒介上使用而不須要使用IP傳輸層。草案RFC「第2層隧道協議」對L2TP進行了說明和介紹。該文檔於1998年1月被提交至IETF。能夠在如下網站
[url]http://www.ietf.org[/url]
[url]http://www.ietf.org[/url]得到草案拷貝。
IP網上的L2TP使用UDP和一系列的L2TP消息對隧道進行維護。L2TP一樣使用UDP將L2TP協議封裝的PPP楨經過隧道發送。能夠對封裝PPP楨中的負載數據進行加密或壓縮。圖8所示爲如何在傳輸以前組裝一個L2TP數據包。
PPTP與L2TP
PPTP和L2TP都使用PPP協議對數據進行封裝,而後添加附加包頭用於數據在互聯網絡上的傳輸。儘管兩個協議很是類似,可是仍存在如下幾方面的不一樣:
1.PPTP要求互聯網絡爲IP網絡。L2TP只要求隧道媒介提供面向數據包的點對點的鏈接。L2TP能夠在IP(使用UDP),楨中繼永久虛擬電路(PVCs),X.25虛擬電路(VCs)或ATM VCs網絡上使用。
2.PPTP只能在兩端點間創建單一隧道。L2TP支持在兩端點間使用多隧道。使用L2TP,用戶能夠針對不一樣的服務質量建立不一樣的隧道。
3.L2TP能夠提供包頭壓縮。當壓縮包頭時,系統開銷(overhead)佔用4個字節,而PPTP協議下要佔用6個字節。
4.L2TP能夠提供隧道驗證,而PPTP則不支持隧道驗證。可是當L2TP或PPTP與IPSEC共同使用時,能夠由IPSEC提供隧道驗證,不須要在第2層協議上驗證隧道。
■ IPSec隧道模式
IPSEC是第3層的協議標準,支持IP網絡上數據的安全傳輸。本文將在「高級安全」一部分中對IPSEC進行詳細的整體介紹,此處僅結合隧道協議討論IPSEC協議的一個方面。除了對IP數據流的加密機制進行了規定以外,IPSEC還制定了IPoverIP隧道模式的數據包格式,通常被稱做IPSEC隧道模式。一個IPSEC隧道由一個隧道客戶和隧道服務器組成,兩端都配置使用IPSEC隧道技術,採用協商加密機制。
爲實如今專用或公共IP網絡上的安全傳輸,IPSEC隧道模式使用的安全方式封裝和加密整個IP包。而後對加密的負載再次封裝在明文IP包頭內經過網絡發送到隧道服務器端。隧道服務器對收到的數據報進行處理,在去除明文IP包頭,對內容進行解密以後,獲的最初的負載IP包。負載IP包在通過正常處理以後被路由到位於目標網絡的目的地。
IPSEC隧道模式具備如下功能和侷限:
1.只能支持IP數據流
2.工做在IP棧(IPstack)的底層,所以,應用程序和高層協議能夠繼承IPSEC的行爲。
3.由一個安全策略(一整套過濾機制)進行控制。安全策略按照優先級的前後順序建立可供使用的加密和隧道機制以及驗證方式。當須要創建通信時,雙方機器執行相互驗證,而後協商使用何種加密方式。此後的全部數據流都將使用雙方協商的加密機制進行加密,而後封裝在隧道包頭內。
關於IPSEC的詳細介紹參看本文稍後的「高級安全」部分。
■ 隧道類型
1.自願隧道(Voluntarytunnel)
用戶或客戶端計算機能夠經過發送×××請求配置和建立一條自願隧道。此時,用戶端計算機做爲隧道客戶方成爲隧道的一個端點。
2.強制隧道(Compulsorytunnel)
由支持×××的撥號接入服務器配置和建立一條強制隧道。此時,用戶端的計算機不做爲隧道端點,而是由位於客戶計算機和隧道服務器之間的遠程接入服務器做爲隧道客戶端,成爲隧道的一個端點。
目前,自願隧道是最廣泛使用的隧道類型。如下,將對上述兩種隧道類型進行詳細介紹。
自願隧道
當一臺工做站或路由器使用隧道客戶軟件建立到目標隧道服務器的虛擬鏈接時創建自願隧道。爲實現這一目的,客戶端計算機必須安裝適當的隧道協議。自願隧道須要有一條IP鏈接(經過局域網或撥號線路)。使用撥號方式時,客戶端必須在創建隧道以前建立與公共互聯網絡的撥號鏈接。一個最典型的例子是Internet撥號用戶必須在建立Internet隧道以前撥通本地ISP取得與Internet的鏈接。
對企業內部網絡來講,客戶機已經具備同企業網絡的鏈接,由企業網絡爲封裝負載數據提供到目標隧道服務器路由。
大多數人誤認爲×××只能使用撥號鏈接。其實,×××只要求支持IP的互聯網絡。一些客戶機(如家用PC)能夠經過使用撥號方式鏈接Internet創建IP傳輸。這只是爲建立隧道所作的初步準備,並不屬於隧道協議。
強制隧道
目前,一些商家提供可以代替撥號客戶建立隧道的撥號接入服務器。這些可以爲客戶端計算機提供隧道的計算機或網絡設備包括支持PPTP協議的前端處理器(FEP),支持L2TP協議的L2TP接入集線器(LAC)或支持IPSec的安全IP網關。本文將主要以FEP爲例進行說明。爲正常的發揮功能,FEP必須安裝適當的隧道協議,同時必須可以當客戶計算機創建起鏈接時建立隧道。
以Internet爲例,客戶機向位於本地ISP的可以提供隧道技術的NAS發出撥號呼叫。例如,企業能夠與某個ISP簽訂協議,由ISP爲企業在全國範圍內設置一套FEP。這些FEP能夠經過Internet互聯網絡建立一條到隧道服務器的隧道,隧道服務器與企業的專用網絡相連。這樣,就能夠將不一樣地方合併成企業網絡端的一條單一的Internet鏈接。
由於客戶只能使用由FEP建立的隧道,因此稱爲強制隧道。一旦最初的鏈接成功,全部客戶端的數據流將自動的經過隧道發送。使用強制隧道,客戶端計算機創建單一的PPP鏈接,當客戶撥入NAS時,一條隧道將被建立,全部的數據流自動經過該隧道路由。能夠配置FEP爲全部的撥號客戶建立到指定隧道服務器的隧道,也能夠配置FEP基於不一樣的用戶名或目的地建立不一樣的隧道。
自願隧道技術爲每一個客戶建立獨立的隧道。FEP和隧道服務器之間創建的隧道能夠被多個撥號客戶共享,而沒必要爲每一個客戶創建一條新的隧道。所以,一條隧道中可能會傳遞多個客戶的數據信息,只有在最後一個隧道用戶斷開鏈接以後才終止整條隧道。
■ 高級安全功能
雖然Internet爲建立×××提供了極大的方便,可是須要創建強大的安全功能以確保企業內部網絡不受到外來***,確保經過公共網絡傳送的企業數據的安全。
對稱加密與非對稱加密(專用密鑰與公用密鑰)
對稱加密,或專用密鑰(也稱作常規加密)由通訊雙方共享一個祕密密鑰。發送方在進行數學運算時使用密鑰將明文加密成密文。接受方使用相同的密鑰將密文還原成明文。RSA RC4算法,數據加密標準(DES),國際數據加密算法(IDEA)以及Skipjack加密技術都屬於對稱加密方式。
非對稱加密,或公用密鑰,通信各方使用兩個不一樣的密鑰,一個是隻有發送方知道的專用密鑰,另外一個則是對應的公用密鑰,任何人均可以得到公用密鑰。專用密鑰和公用密鑰在加密算法上相互關聯,一個用於數據加密,另外一個用於數據解密。
公用密鑰加密技術容許對信息進行數字簽名。數字簽名使用發送發送一方的專用密鑰對所發送信息的某一部分進行加密。接受方收到該信息後,使用發送方的公用密鑰解密數字簽名,驗證發送方身份。
×××技術詳解(五) ■ 證書 使用對稱加密時,發送和接收方都使用共享的加密密鑰。必須在進行加密通信以前,完成密鑰的分佈。使用非對稱加密時,發送方使用一個專用密鑰加密信息或數字簽名,接收方使用公用密鑰解密信息。公用密鑰能夠自由分佈給任何須要接收加密信息或數字簽名信息的一方,發送方只要保證專用密鑰的安全性便可。 爲保證公用密鑰的完整性,公用密鑰隨證書一同發佈。證書(或公用密鑰證書)是一種通過證書籤發機構(CA)數字簽名的數據結構。CA使用本身的專用密鑰對證書進行數字簽名。若是接受方知道CA的公用密鑰,就能夠證實證書是由CA簽發,所以包含可靠的信息和有效的公用密鑰。 總之,公用密鑰證書爲驗證發送方的身份提供了一種方便,可靠的方法。IPSec能夠選擇使用該方式進行端到端的驗證。RAS可使用公用密鑰證書驗證用戶身份。 ■ 擴展驗證協議(EAP) 如前文所述,PPP只能提供有限的驗證方式。EAP是由IETF提出的PPP協議的擴展,容許鏈接使用任意方式對一條PPP鏈接的有效性進行驗證。EAP支持在一條鏈接的客戶和服務器兩端動態加入驗證插件模塊。 ■ 交易層安全協議(EAP-TLS) EAP-TLS已經做爲提議草案提交給IETF,用於創建基於公用密鑰證書的強大的驗證方式。使用EAP-TLS,客戶向撥入服務器發送一份用戶方證書,同時,服務器把服務器證書發送給客戶。用戶證書向服務器提供了強大的用戶識別信息;服務器證書保證用戶已經鏈接到預期的服務器。 用戶方證書能夠被存放在撥號客戶PC中,或存放在外部智能卡。不管那種方式,若是用戶不能提供沒有必定形式的用戶識別信息(PIN號或用戶名和口令),就沒法訪問證書。 ■ IPSEC IPSEC是一種由IETF設計的端到端的確保基於IP通信的數據安全性的機制。IPSEC支持對數據加密,同時確保數據的完整性。按照IETF的規定,不採用數據加密時,IPSEC使用驗證包頭(AH)提供驗證來源驗證(source authentication),確保數據的完整性;IPSEC使用封裝安全負載(ESP)與加密一道提供來源驗證,確保數據完整性。IPSEC協議下,只有發送方和接受方知道祕密密鑰。若是驗證數據有效,接受方就能夠知道數據來自發送方,而且在傳輸過程當中沒有受到破壞。 能夠把IPSEC想象成是位於TCP/IP協議棧的下層協議。該層由每臺機器上的安全策略和發送、接受方協商的安全關聯(security association)進行控制。安全策略由一套過濾機制和關聯的安全行爲組成。若是一個數據包的IP地址,協議,和端口號知足一個過濾機制,那麼這個數據包將要遵照關聯的安全行爲。 ■ 協商安全關聯(NegotiatedSecurityAssociation) 上述第一個知足過濾機制的數據包將會引起發送和接收方對安全關聯進行協商。ISAKMP/OAKLEY是這種協商採用的標準協議。在一個ISAKMP/OAKLEY交換過程當中,兩臺機器對驗證和數據安全方式達成一致,進行相互驗證,而後生成一個用於隨後的數據加密的個共享密鑰。 ■ 驗證包頭 經過一個位於IP包頭和傳輸包頭之間的驗證包頭能夠提供IP負載數據的完整性和數據驗證。驗證包頭包括驗證數據和一個序列號,共同用來驗證發送方身份,確保數據在傳輸過程當中沒有被改動,防止受到第三方的***。IPSEC驗證包頭不提供數據加密;信息將以明文方式發送。 ■ 封裝安全包頭 爲了保證數據的保密性並防止數據被第3方竊取,封裝安全負載(ESP)提供了一種對IP負載進行加密的機制。另外,ESP還能夠提供數據驗證和數據完整性服務;所以在IPSEC包中能夠用ESP包頭替代AH包頭。 ■ 用戶管理 在選擇×××技術時,必定要考慮到管理上的要求。一些大型網絡都須要把每一個用戶的目錄信息存放在一臺中央數據存儲設備中(目錄服務)便於管理人員和應用程序對信息進行添加,修改和查詢。每一臺接入或隧道服務器都應當可以維護本身的內部數據庫,存儲每一名用戶的信息,包括用戶名,口令,以及撥號接入的屬性等。可是,這種由多臺服務器維護多個用戶賬號的做法難以實現及時的更新,給管理帶來很大的困難。所以,大多數的管理人員採用在目錄服務器,主域控制器或RADIUS服務器上創建一個主賬號數據庫的方法,進行有效管理。 ■ RAS支持 微軟的遠程接入服務器(RAS)使用域控制器或RADIUS服務器存儲每名用戶的信息。由於管理員能夠在單獨的數據庫中管理用戶信息中的撥號許可信息,因此使用一臺域控制器可以簡化系統管理。 微軟的RAS最初被用做撥號用戶的接入服務器。如今,RAS能夠做爲PPTP和L2TP協議的隧道服務器(NT5將支持L2TP)。這些第2層的×××方案繼承了已有的撥號網絡所有的管理基礎。 ■ 擴展性 經過使用循環DNS在同屬一個安全地帶(securityperimeter)的×××隧道服務器之間進行請求分配,能夠實現容餘和負荷平衡。一個安全地帶只具備一個對外域名,但擁有多個IP地址,負荷能夠在全部的IP地址之間進行任意的分配。全部的服務器可使用一個共享數據庫,如NT域控制器驗證訪問請求。 ■ RADIUS 遠程驗證用戶撥入服務(RADIUS)協議是管理遠程用戶驗證和受權的經常使用方法。RADIUS是一種基於UDP協議的超輕便(lightweight)協議。RADIUS服務器能夠被放置在Internet網絡的任何地方爲客戶NAS提供驗證(包括PPP PAP,CHAP,MSCHAP和EAP)。另外,RADIUS服務器能夠提供代理服務將驗證請求轉發到遠端的RADIUS服務器。例如,ISP之間相互合做,經過使用RADIUS代理服務實現漫遊用戶在世界各地使用本地ISP提供的撥號服務鏈接Internet和×××。若是ISP發現用戶名不是本地註冊用戶,就會使用RADIUS代理將接入請求轉發給用戶的註冊網絡。這樣企業在掌握受權權利的前提下,有效的使用ISP的網絡基礎設施,使企業的網絡費用開支實現最小化。 ■ 記費,審計和報警 爲有效的管理×××系統,網絡管理人員應當可以隨時跟蹤和掌握如下狀況:系統的使用者,鏈接數目,異常活動,出錯狀況,以及其它可能預示出現設備故障或網絡受到***的現象。日誌記錄和實時信息對記費,審計和報警或其它錯誤提示具備很大幫助。例如,網絡管理人員爲了編制賬單數據須要知道何人在使用系統以及使用了多長時間。異常活動可能預示着存在對系統的不正確使用或系統資源出現不足。對設備進行實時的監測能夠在系統出現問題時及時向管理員發出警告。一臺隧道服務器應當可以提供以上全部信息以及對數據進行正確處理所須要的事件日誌,報告和數據存儲設備。 NT4.0在RAS中提供了對記費,審計和報警的支持。RADIUS協議對呼叫-記費請求(call-accountingrequest)進行了規定。當RAS向RADIUS發送呼叫-記費請求後由後者創建記費記錄分別記錄呼叫開始,結束以及預約中斷的狀況。 ■ 結論 如本文所述,Windows系統自帶的×××服務容許用戶或企業經過公共或專用網絡與遠端服務器,分支機構,或其餘公司創建安全和可靠的鏈接。雖然上述通信過程發生公共互聯網絡上,可是用戶端如同使用專用網絡進行通信同樣創建起安全的鏈接。使用Windows系統的×××技術能夠解決在當今遠程通信量日益增大,企業全球運做分佈普遍的狀況下,員工須要訪問中央資源,企業相互之間必須可以進行及時和有效的通信的問題。