1.引言
1998年被稱作“電子商務年”,而1999年則將是“政府上網年”。的確,Intemet作為具有世界范圍連通性的“第四媒體”,已經成為一個具有無限商機的場所。如何利用Intemet來開展商務活動,是目前各個企業討論的熱門話題。但將Internet實際運用到商業中,還存在一些亟待解決的問題,其中最重要的兩個問題是服務質量問題和安全問題。服務質量問題在有關廠商和ISP的努力下正在逐步得以解決,而VPN技術的產生為解決安全問題提供了一條有效途徑。
所謂VPN(VirtualPrivate Network,虛擬私有網絡)是指將物理上分布在不同地點的網絡通過公用骨干網聯接而成邏輯上的虛擬子網,這里的公用網主要指Interet。為了保障信息在Internet上傳輸的安全性,VPN技術采用了認證、存取控制、機密性、數據完整性等措施,,以保證了信息在傳輸中不被偷看、篡改、復制。由于使用Internet進行傳輸相對于租用專線來說,費用極為低廉,所以VPN的出現使企業通過Internet既安全又經濟地傳輸私有的機密信息成為可能。
VPN技術除了可以節省費用外,還具有其它特點:
●伸縮性椂能夠隨著網絡的擴張,很靈活的加以擴展。當增加新的用戶或子網時,只需修改已有網絡軟件配置,在新增客戶機或網關上安裝相應軟件并接人Internet后,新的VPN即可工作。
●靈活性棗除了能夠方便地將新的子網擴充到企業的網絡外,由于Intemet的全球連通性,VPN可以使企業隨時安全地將信息存取到全球的商貿伙伴和顧客。
●易于管理棗用專線將企業的各個子網連接起來時,隨著子網數量的增加,需要的專線數以幾何級數增長。而使用VPN時Internet的作用類似一個HUB,只需要將各個子網接入Internet即可,不需要進行各個線路的管理。
VPN既可以用于構建企業的Intranet,也可以用于構建Extranet。隨著全球電子商務熱的興起,VPN應用必將越來越廣泛。據Infonetics Reseach的預測,VPN的市場分額將從今天的兩億美元增長到2001年時的119億美元,其中VPN產品的銷售收入就要占其中的十分之一。
2.基于IPSec規范的VPN技術
1)IPSec協議簡介
IPSec(1P Security)產生于IPv6的制定之中,用于提供IP層的安全性。由于所有支持TCP/IP協議的主機進行通信時,都要經過IP層的處理,所以提供了IP層的安全性就相當于為整個網絡提供了安全通信的基礎。鑒于IPv4的應用仍然很廣泛,所以后來在IPSec的制定中也增添了對IPv4的支持。
最初的一組有關IPSec標準由IETF在1995年制定,但由于其中存在一些未解決的問題,從1997年開始IETF又開展了新一輪的IPSec的制定工作,截止至1998年11月份主要協議已經基本制定完成。不過這組新的協議仍然存在一些問題,預計在不久的將來IETF又會進行下一輪IPSec的修訂工作。
2)IPSec基本工作原理
IPSec的工作原理(如圖l所示)類似于包過濾防火墻,可以看作是對包過濾防火墻的一種擴展。當接收到一個IP數據包時,包過濾防火墻使用其頭部在一個規則表中進行匹配。當找到一個相匹配的規則時,包過濾防火墻就按照該規則制定的方法對接收到的IP數據包進行處理。 這里的處理工作只有兩種:
丟棄或轉發。
圖1 IPSec工作原理示意圖
IPSec通過查詢SPD(Security P01icy Database安全策略數據庫)決定對接收到的IP數據包的處理。但是IPSec不同于包過濾防火墻的是,對IP數據包的處理方法除了丟棄,直接轉發(繞過IPSec)外,還有一種,即進行IPSec處理。正是這新增添的處理方法提供了比包過濾防火墻更進一步的網絡安全性。
進行IPSec處理意味著對IP數據包進行加密和認證。包過濾防火墻只能控制來自或去往某個站點的IP數據包的通過,可以拒絕來自某個外部站點的IP數據包訪問內部某些站點,.也可以拒絕某個內部站點方對某些外部網站的訪問。但是包過濾防火墻不能保證自內部網絡出去的數據包不被截取,也不能保證進入內部網絡的數據包未經過篡改。只有在對IP數據包實施了加密和認證后,才能保證在外部網絡傳輸的數據包的機密性,真實性,完整性,通過Internet進新安全的通信才成為可能。
IPSec既可以只對IP數據包進行加密,或只進行認證,也可以同時實施二者。但無論是進行加密還是進行認證,IPSec都有兩種工作模式,一種是與其前一節提到的協議工作方式類似的隧道模式,另一種是傳輸模式。
傳輸模式,如圖2所示,只對IP數據包的有效負載進行加密或認證。此時,繼續使用以前的IP頭部,只對IP頭部的部分域進行修改,而IPSec協議頭部插入到IP頭部和傳輸層頭部之間。
圖2 傳輸模式示意圖
隧道模式,如圖3所示,對整個IP數據色進行加密或認證。此時,需要新產生一個IP頭部,IPSec頭部被放在新產生的IP頭部和以前的IP數據包之間,從而組成一個新的IP頭部。
圖3隧道模式示意圖
3)IPSec中的三個主要協議
前面已經提到IPSec主要功能為加密和認證,為了進行加密和認證IPSec還需要有密鑰的管理和交換的功能,以便為加密和認證提供所需要的密鑰并對密鑰的使用進行管理。以上三方面的工作分別由AH,ESP和IKE三個協議規定。為了介紹這三個協議,需要先引人一個非常重要的術語棗SA(Securlty Association安全關聯)。所謂安全關聯是指安全服務與它服務的載體之間的一個“連接”。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和維護。只要實現AH和ESP都必須提供對SA的支持。#p#分頁標題#e#
通信雙方如果要用IPSec建立一條安全的傳輸通路,需要事先協商好將要采用的安全策略,包括使用的加密算法、密鑰、密鑰的生存期等。當雙方協商好使用的安全策略后,我們就說雙方建立了一個SA。SA就是能向其上的數據傳輸提供某種IPSec安全保障的一個簡單連接,可以由AH或ESP提供。當給定了一個SA,就確定了IPSec要執行的處理,如加密,認證等。SA可以進行兩種方式的組合,分別為傳輸臨近和嵌套隧道。
1)ESP(Encapsulating Secuity Fayload)
ESP協議主要用來處理對IP數據包的加密,此外對認證也提供某種程度的支持。ESP是與具體的加密算法相獨立的,幾乎可以支持各種對稱密鑰加密算法,例如DES,TripleDES,RC5等。為了保證各種IPSec實現間的互操作性,目前ESP必須提供對56位DES算法的支持。
ESP協議數據單元格式三個部分組成,除了頭部、加密數據部分外,在實施認證時還包含一個可選尾部。頭部有兩個域:安全策略索引(SPl)和序列號(Sequencenumber)。使用ESP進行安全通信之前,通信雙方需要先協商好一組將要采用的加密策略,包括使用的算法、密鑰以及密鑰的有效期等。“安全策略索引”使用來標識發送方是使用哪組加密策略來處理IP數據包的,當接收方看到了這個序號就知道了對收到的IP數據包應該如何處理。“序列號”用來區分使用同一組加密策略的不同數據包。加密數據部分除了包含原IP數據包的有效負載,填充域(用來保證加密數據部分滿足塊加密的長度要求)包含其余部分在傳輸時都是加密過的。其中“下一個頭部(Next Header)”用來指出有效負載部分使用的協議,可能是傳輸層協議(TCP或UDP),也可能還是IPSec協議(ESP或AH)。
通常,ESP可以作為IP的有效負載進行傳輸,這JFIP的頭UKB指出下廣個協議是ESP,而非TCP和UDP。由于采用了這種封裝形式,所以ESP可以使用舊有的網絡進行傳輸。
前面已經提到用IPSec進行加密是可以有兩種工作模式,意味著ESP協議有兩種工作模式:傳輸模式(Transport Mode)和隧道模式(TunnelMode)。當ESP工作在傳輸模式時,采用當前的IP頭部。而在隧道模式時,侍整個IP數據包進行加密作為ESP的有效負載,并在ESP頭部前增添以網關地址為源地址的新的IP頭部,此時可以起到NAT的作用。
2)AH(Authentication Header)
AH只涉及到認證,不涉及到加密。AH雖然在功能上和ESP有些重復,但AH除了對可以對IP的有效負載進行認證外,還可以對IP頭部實施認證。主要是處理數據對,可以對IP頭部進行認證,而ESP的認證功能主要是面對IP的有效負載。為了提供最基本的功能并保證互操作性,AH必須包含對HMAC?/FONT>SHA和HMAC?/FONT>MD5(HMAC是一種SHA和MD5都支持的對稱式認證系統)的支持。
AH既可以單獨使用,也可在隧道模式下,或和ESP聯用。
3)IKE(Internet Key Exchange)
IKE協議主要是對密鑰交換進行管理,它主要包括三個功能:
●對使用的協議、加密算法和密鑰進行協商。
●方便的密鑰交換機制(這可能需要周期性的進行)。
●跟蹤對以上這些約定的實施。
3.VPN系統的設計
如圖4所示,VPN的實現包含管理模塊、密鑰分配和生成模塊、身份認證模塊、數據加密/解密模塊、數據分組封裝/分解模塊和加密函數庫幾部分組成。
管理模塊負責整個系統的配置和管理。由管理模塊來決定采取何種傳輸模式,對哪些IP數據包進行加密/解密。


