程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP入門教程 >> VPN技術詳解(下)

VPN技術詳解(下)

編輯:ASP入門教程
(緊接中篇)

數據傳輸階段

一旦完成上述4階段的協商,PPP就開始在連接對等雙方之間轉發數據。每個被傳送的數據報都被封裝在PPP包頭內,該包頭將會在
到達接收方之後被去除。如果在階段1選擇使用數據壓縮並且在階段4完成了協商,數據將會在被傳送之間進行壓縮。類似的,如果
如果已經選擇使用數據加密並完成了協商,數據(或被壓縮數據)將會在傳送之前進行加密。

點對點隧道協議(PPTP)

PPTP是一個第2層的協議,將PPP數據桢封裝在ip數據報內通過IP網絡,如Internet傳送。PPTP還可用於專用局域網絡之間的連
接。RFC草案“點對點隧道協議”對PPTP協議進行了說明和介紹。該草案由PPTP論壇的成員公司,包括微軟,Ascend,3Com,和
ECI等公司在1996年6月提交至IETF。可在如下站點http://www.ietf.org http://www.IEtf.org參看草案的在線拷貝.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。可以在以下網站http://www.IEtf.org 
http://www.IEtf.org獲得草案拷貝。
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)
用戶或客戶端計算機可以通過發送VPN請求配置和創建一條自願隧道。此時,用戶端計算機作為隧道客戶方成為隧道的一個端點。
2.強制隧道(Compulsorytunnel)
由支持VPN的撥號接入服務器配置和創建一條強制隧道。此時,用戶端的計算機不作為隧道端點,而是由位於客戶計算機和隧道服務
器之間的遠程接入服務器作為隧道客戶端,成為隧道的一個端點。
目前,自願隧道是最普遍使用的隧道類型。以下,將對上述兩種隧道類型進行詳細介紹。

自願隧道
當一台工作站或路由器使用隧道客戶軟件創建到目標隧道服務器的虛擬連接時建立自願隧道。為實現這一目的,客戶端計算機必須
安裝適當的隧道協議。自願隧道需要有一條IP連接(通過局域網或撥號線路)。使用撥號方式時,客戶端必須在建立隧道之前創建
與公共互聯網絡的撥號連接。一個最典型的例子是Internet撥號用戶必須在創建Internet隧道之前撥通本地ISP取得與Internet的
連接。
對企業內部網絡來說,客戶機已經具有同企業網絡的連接,由企業網絡為封裝負載數據提供到目標隧道服務器路由。
大多數人誤認為VPN只能使用撥號連接。其實,VPN只要求支持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為創建VPN提供了極大的方便,但是需要建立強大的安全功能以確保企業內部網絡不受到外來攻擊,確保通過公共網
絡傳送的企業數據的安全。 

對稱加密與非對稱加密(專用密鑰與公用密鑰)
對稱加密,或專用密鑰(也稱做常規加密)由通信雙方共享一個秘密密鑰。發送方在進行數學運算時使用密鑰將明文加密成密文。
接受方使用相同的密鑰將密文還原成明文。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包頭。

用戶管理

在選擇VPN技術時,一定要考慮到管理上的要求。一些大型網絡都需要把每個用戶的目錄信息存放在一台中央數據存儲設備中(目錄
服務)便於管理人員和應用程序對信息進行添加,修改和查詢。每一台接入或隧道服務器都應當能夠維護自己的內部數據庫,存儲
每一名用戶的信息,包括用戶名,口令,以及撥號接入的屬性等。但是,這種由多台服務器維護多個用戶帳號的作法難以實現及時
的更新,給管理帶來很大的困難。因此,大多數的管理人員采用在目錄服務器,主域控制器或RADIUS服務器上建立一個主帳號數據
庫的方法,進行有效管理。

RAS支持

微軟的遠程接入服務器(RAS)使用域控制器或RADIUS服務器存儲每名用戶的信息。因為管理員可以在單獨的數據庫中管理用戶信
息中的撥號許可信息,所以使用一台域控制器能夠簡化系統管理。
微軟的RAS最初被用作撥號用戶的接入服務器。現在,RAS可以作為PPTP和L2TP協議的隧道服務器(NT5將支持L2TP)。這些第2層
的VPN方案繼承了已有的撥號網絡全部的管理基礎。

擴展性

通過使用循環DNS在同屬一個安全地帶(securityperimeter)的VPN隧道服務器之間進行請求分配,可以實現容余和負荷平衡。一
個安全地帶只具有一個對外域名,但擁有多個IP地址,負荷可以在所有的IP地址之間進行任意的分配。所有的服務器可以使用一個
共享數據庫,如NT域控制器驗證訪問請求。

RADIUS

遠程驗證用戶撥入服務(RADIUS)協議是管理遠程用戶驗證和授權的常用方法。RADIUS是一種基於UDP協議的超輕便
(lightweight)協議。RADIUS服務器可以被放置在Internet網絡的任何地方為客戶NAS提供驗證(包括PPP PAP,CHAP,MSCHAP
和EAP)。另外,RADIUS服務器可以提供代理服務將驗證請求轉發到遠端的RADIUS服務器。例如,ISP之間相互合作,通過使用
RADIUS代理服務實現漫游用戶在世界各地使用本地ISP提供的撥號服務連接Internet和VPN。如果ISP發現用戶名不是本地注冊用
戶,就會使用RADIUS代理將接入請求轉發給用戶的注冊網絡。這樣企業在掌握授權權利的前提下,有效的使用ISP的網絡基礎設
施,使企業的網絡費用開支實現最小化。

記費,審計和報警

為有效的管理VPN系統,網絡管理人員應當能夠隨時跟蹤和掌握以下情況:系統的使用者,連接數目,異常活動,出錯情況,以及其
它可能預示出現設備故障或網絡受到攻擊的現象。日志記錄和實時信息對記費,審計和報警或其它錯誤提示具有很大幫助。例如,
網絡管理人員為了編制帳單數據需要知道何人在使用系統以及使用了多長時間。異常活動可能預示著存在對系統的不正確使用或系
統資源出現不足。對設備進行實時的監測可以在系統出現問題時及時向管理員發出警告。一台隧道服務器應當能夠提供以上所有信
息以及對數據進行正確處理所需要的事件日志,報告和數據存儲設備。
NT4.0在RAS中提供了對記費,審計和報警的支持。RADIUS協議對呼叫-記費請求(call-accountingrequest)進行了規定。當RAS
向RADIUS發送呼叫-記費請求後由後者建立記費記錄分別記錄呼叫開始,結束以及預定中斷的情況。

結論

如本文所述,Windows系統自帶的VPN服務允許用戶或企業通過公共或專用網絡與遠端服務器,分支機構,或其他公司建立安全和可
靠的連接。雖然上述通訊過程發生公共互聯網絡上,但是用戶端如同使用專用網絡進行通訊一樣建立起安全的連接。使用Windows
系統的VPN技術可以解決在當今遠程通訊量日益增大,企業全球運作分布廣泛的情況下,員工需要訪問中央資源,企業相互之間必須
能夠進行及時和有效的通訊的問題。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved