隧道協(xié)議的類型 隨著VPN技術(shù)的不斷發(fā)展和在企業(yè)中的廣泛應用,隧道技術(shù)也在不斷的得到了完善,目前較為成熟的隧道技術(shù)主要有以下幾各種。 ?。?)IP網(wǎng)絡上的SNA隧道技術(shù) 當系統(tǒng)網(wǎng)絡結(jié)構(gòu)(System Network Architecture)的數(shù)據(jù)流通過企業(yè)IP網(wǎng)絡傳送時,SNA數(shù)據(jù)包將被封裝在UDP和IP協(xié)議包頭中。 ?。?)IP網(wǎng)絡上的Novell NetWare 隧道技術(shù) 當一個IPX數(shù)據(jù)包被發(fā)送到NetWare服務器或IPX路由器時,服務器或路由器用UDP和IP包頭將其重新封裝打包后再通過IP網(wǎng)絡發(fā)送。另一端的IP-TO-IPX路由器在去除UDP和IP包頭之后,把數(shù)據(jù)包轉(zhuǎn)發(fā)到IPX目的地。 ?。?)點對點隧道協(xié)議(PPTP) PPTP協(xié)議允許對IP、IPX或NetBEUI數(shù)據(jù)流進行加密,然后封裝在IP包頭中通過企業(yè)IP網(wǎng)絡或公共互聯(lián)網(wǎng)絡發(fā)送。 ?。?)第2層隧道協(xié)議(L2TP) L2TP協(xié)議允許對IP、IPX、或NetBEUI數(shù)據(jù)流進行加密,然后通過支持點對點的數(shù)據(jù)包傳遞的任意網(wǎng)絡發(fā)送,如IP、X.25、幀中繼或ATM等。 ?。?)安全IP(IPSec)隧道模式 IPSec隧道模式允許對IP數(shù)據(jù)進行加密,然后封裝在IP包頭中通過企業(yè)IP網(wǎng)絡或公共互聯(lián)網(wǎng)絡(如因特網(wǎng))發(fā)送。 為創(chuàng)建隧道,隧道的客戶機和服務器雙方必須使用相同的網(wǎng)絡隧道協(xié)議。目前能夠應用在虛擬專用網(wǎng)中的隧道協(xié)議比較多,但根據(jù)開放系統(tǒng)互聯(lián)(OSI)的參考模型,可以分為二層隧道協(xié)議和三層隧道協(xié)議兩種類型。其中第二層協(xié)議對應OSI模型中的數(shù)據(jù)鏈路層,它使用幀作為數(shù)據(jù)的交換單位,也就是說將數(shù)據(jù)封裝在點對點協(xié)議(PPP)幀中,通過互聯(lián)網(wǎng)發(fā)送。而第三層隧道協(xié)議對應OSI模型中的網(wǎng)絡層,使用包作為數(shù)據(jù)交換單位,它將IP包封裝在附加的IP包頭中通過IP公共互聯(lián)網(wǎng)絡傳送。表列出了幾種隧道協(xié)議的比較。
1 二層隧道協(xié)議 用于傳輸二層網(wǎng)絡協(xié)議的隧道協(xié)議稱為二層隧道協(xié)議,目前,這種二層隧道協(xié)議主要有以下3種。 PPTP協(xié)議:PPTP(Point to Point Tunneling Protocol,點對點隧道協(xié)議)協(xié)議是一種點對點的隧道協(xié)議,得到了Microsoft、Ascend、3COM等公司支持的,如 Windows NT 4.0以上版本的Microsoft操作系統(tǒng)中都增加了對該協(xié)議的支持。PPP支持多種網(wǎng)絡協(xié)議,可把IP、IPX、AppleTalk或NetBEUI的數(shù)據(jù)包封裝在PPP包中,再將整個報文封裝在PPTP隧道協(xié)議包中,最后,再嵌入IP報文或幀中繼或ATM中進行傳輸。PPTP提供流量控制,降低了數(shù)據(jù)擁塞的可能性,避免了由數(shù)據(jù)包丟失而引發(fā)報文重新傳輸?shù)臄?shù)量。PPTP的加密方法采用了Microsoft點對點加密(MPPE Microsoft Point-to-Point Encryption)算法,可以選用較弱的40位密鑰或強度較大的128位密鑰。 L2F協(xié)議:L2F協(xié)議(Layer 2 Forwarding)是一種二層轉(zhuǎn)發(fā)的隧道協(xié)議,它得到了Cisco、北方電信等公司支持的,主要用于Cisco的路由器和撥號訪問服務器。 L2TP協(xié)議:L2TP(Layer 2 Tunneling Protocol)協(xié)議是由IETF起草,Microsoft、Ascend、Cisco、3COM等公司參與的二層隧道協(xié)議,它結(jié)合了上述兩種協(xié)議,利用公共網(wǎng)絡封裝PPP幀,可以實現(xiàn)和企業(yè)原有非IP網(wǎng)絡的兼容,同時L2TP還繼承了PPTP的流量控制技術(shù),支持MP(Multilink Protocol),把多個物理通道捆綁為單一的邏輯信道,并使用PPP可靠性發(fā)送(RFC1663)實現(xiàn)數(shù)據(jù)包的可靠傳輸。L2TP隧道在兩端的VPN服務器之間采用口令握手協(xié)議CHAP來驗證對方的身份。L2TP作為更優(yōu)更新的標準,目前已經(jīng)得到了如Microsoft、Ascend、Cisco、3COM等公司的支持,以后還必將為更多的網(wǎng)絡廠商所支持,將是應用最為廣泛的虛擬專用網(wǎng)協(xié)議。 PPTP/L2TP的優(yōu)點是:對Microsoft操作系統(tǒng)的用戶來說非常方便,因為Microsoft已經(jīng)將這兩隧道協(xié)議作為了路由軟件的一部分。另外,PPTP/L2TP使用IP幀在兩臺計算機之間創(chuàng)建和打開數(shù)據(jù)通道,一旦通道打開,就不再需要源和目的用戶身份,這樣可能帶來某些安全方面的問題,因為它們不對兩個節(jié)點間的信息傳輸進行監(jiān)視和控制。PPTP和L2TP限制同時最多只能連接255個用戶,并且端點用戶需要在連接前通過手工方式建立加密通道,誰證和加密受到了限制。 PPTP和L2TP都使用點到點的PPP協(xié)議對數(shù)據(jù)進行封裝,然后添加附加包頭,用于數(shù)據(jù)在公共網(wǎng)絡上的傳輸,因此,它們之間既有區(qū)別又有聯(lián)系。表列出了PPTP和L2TP之間的不同點。
這里以L2TP協(xié)議為例介紹二層隧道協(xié)議。應用L2TP二層隧道協(xié)議所構(gòu)建的虛擬專用網(wǎng)的網(wǎng)絡圖。如圖所示。 其中,LAC表示表示L2TP訪問集中器(L2TP Access Concentrator),是附屬在交換網(wǎng)絡上的具有PPP端系統(tǒng)和L2TP協(xié)議處理能力的設備。LAC一般就是一個網(wǎng)絡接入服務器NAS(Network Access Server),它的作用是為用戶提供通過PSTN/ISDN的網(wǎng)絡接入服務。LNS表示L2TP網(wǎng)絡服務器(L2TP Network Server),實質(zhì)就是PPP端系統(tǒng)上用于處理L2TP協(xié)議的服務器軟件的。 在通過L2TP構(gòu)建的VPN網(wǎng)絡中,LNS和LAC對之間存在著兩種類型的連接,一種是隧道(tunnel)連接,它定義了一個LNS和LAC對;另一種是會話(session)連接,它復用在隧道連接之上,用于表示承載在隧道連接中的每個PPP會話過程。 L2TP連接的維護以及PPP數(shù)據(jù)的傳送都是通過L2TP消息的交換來完成的,這些消息再通過UDP的 1701端口承載于TCP/IP之上。L2TP消息可以分為兩種類型,一種是控制消息,另一種是數(shù)據(jù)消息??刂葡⒂糜谒淼肋B接和會話連接的建立與維護,其中的參數(shù)用AVP(Attribute Value Pair)值對來表示,使得協(xié)議具有很好的擴展性,同時在控制消息的傳輸過程中還應用了消息丟失后重新傳送和定時檢測通道連通性等機制來保證L2TP傳輸?shù)目煽啃裕粩?shù)據(jù)消息用于承載用戶的PPP會話數(shù)據(jù)包,L2TP數(shù)據(jù)消息的傳輸不采用重新傳輸機制,所以它無法保證傳輸?shù)目煽啃裕@一點可以通過上層協(xié)議如TCP等得到保證,另外,數(shù)據(jù)消息的傳輸可以根據(jù)應用的需要靈活地采用流量控制或非流量控制機制,甚至可以在傳輸過程中動態(tài)地使用消息序列號,從而動態(tài)地激活消息順序檢測和流量控制的功能。 L2TP還具有適用于VPN服務的以下幾個特性。 靈活的身份驗證機制以及高度的安全性。 L2TP繼承了PPP的所有安全特性,可以選擇多種身份驗證機制(如CHAP、口令驗證、PAP等),L2TP還可以對隧道端點進行驗證,這使得通過L2TP所傳輸?shù)臄?shù)據(jù)更加安全保密。而且,L2TP還可以根據(jù)特定的網(wǎng)絡安全要求方便的采用隧道加密、端對端數(shù)據(jù)加密或應用層數(shù)據(jù)加密等方案來提高數(shù)據(jù)的安全性。 內(nèi)部地址分配的支持 L2TP構(gòu)建的VPN網(wǎng)絡中,LNS可以放置于企業(yè)網(wǎng)絡的防火墻之后,它可以對遠端用戶的地址進行動態(tài)的分配和管理,可以支持DHCP和私有地址應用(RFC1918)等方案。遠端用戶所分配的地址不是因特網(wǎng)地址而是企業(yè)內(nèi)部的私有地址,這樣方便了地址的管理并可以增加安全性。 網(wǎng)絡計費的靈活性。 L2TP構(gòu)建的VPN網(wǎng)絡中,可以在LAC和LNS兩個環(huán)節(jié)同時計費。在網(wǎng)絡服務提供商處計費,用于產(chǎn)生企業(yè)的付費賬單;在企業(yè)處計費,用于計費及審計。L2TP能夠提供數(shù)據(jù)傳輸?shù)某鋈氚鼣?shù),字節(jié)數(shù)及連接的起始、結(jié)束時間等用于計費的數(shù)據(jù),可以根據(jù)這些數(shù)據(jù)方便地進行網(wǎng)絡計費。 可靠性。 L2TP協(xié)議可以支持備份的LNS,當主LNS出現(xiàn)故障后,LAC可以重新與備份LNS建立連接,這樣增加了VPN服務的可靠性和容錯性。 2 三層隧道協(xié)議 用于傳輸三層網(wǎng)絡協(xié)議的隧道協(xié)議稱為三層隧道協(xié)議。目前,三層隧道協(xié)議主要包括GRE(Generic Routing Encapsulation)協(xié)議和IETF的IP層加密標準協(xié)議IPSec。下面以IPSecy為例進行介紹。 IPSec是IETF(Internet Engineering Task Force,互聯(lián)網(wǎng)工程任務組)提出的IP安全標準。它在IP層對數(shù)據(jù)包進行高強度的加密和驗證,使安全服務獨立于各種應用程序,較好地保證了數(shù)據(jù)包在公共網(wǎng)絡上傳輸時的私有性、完整性和真實性。因此,IPSec提供的安全服務共享程度高,利用IPSec構(gòu)筑VPN代價低廉,可擴展性強。 IPSec協(xié)議不是一個單獨的協(xié)議,它給出了應用于IP層上網(wǎng)絡數(shù)據(jù)安全的整套用于認證、保護私有性和完整性的標準協(xié)議,包括網(wǎng)絡安全協(xié)議Authentication Header(AH)和Encapsulating Security Payload(ESP)協(xié)議、密鑰管理協(xié)議Internet Key Exchange(IKE)和用于網(wǎng)絡驗證及加密的一些算法如DES、三重DES、IDEA等。IPSec規(guī)定了如何在對等層之間選擇安全協(xié)議、確定安全算法和密鑰交換,向上提供了訪問控制、數(shù)據(jù)源驗證、數(shù)據(jù)加密等網(wǎng)絡安全服務。 ?。?)IPSec的優(yōu)點 傳統(tǒng)的安全體系一般都建立在應用層上。這些完全體系雖然具有一定的可行性,但也存在著巨大的安全隱患。其原因是,IP包本身不繼承任何安全特性,很容易被修改、偽造、查看和重播。IPSec在IP層上對數(shù)據(jù)包進行安全處理,提供數(shù)據(jù)源地驗證、無連接數(shù)據(jù)完整性、數(shù)據(jù)機密性、抗重播和有限業(yè)務流機密性等安全服務。各種應用程序可以享用IP層提供的安全服務和密鑰管理,而不必設計和實現(xiàn)自己的安全機制,因此減少密鑰協(xié)商的開銷,也降低了產(chǎn)生安全漏洞的可能性。 具體地說,IPSec具有如下優(yōu)點。 IPSec檢查傳輸?shù)臄?shù)據(jù)包的完整性,以確保數(shù)據(jù)沒有被修改。 IPSec可用來在多個防火墻和服務器之間提供安全性,以確保運行在TCP/IP上的多個VPN網(wǎng)絡之間的互操作性。 IPSec在傳輸層之下,對于應用程序來說是透明的。當在路由器或防火墻上安裝IPSec時,無需更改用戶或服務器系統(tǒng)中的軟件設置。即使在終端系統(tǒng)中執(zhí)行IPSec,應用程序一類的上層軟件也不會受到影響。 IPSec對終端用戶來說是透明的,因此不必對用戶進行安全機制的培訓。 如果需要,IPSec可以為個別用戶提供安全保障,這樣做就可以保護企業(yè)內(nèi)部的重要信息。 ?。?)IPSec的實現(xiàn)方式 IPSec安全協(xié)議,是一組開放協(xié)議的總稱,它可以在特定的通信方之間提供數(shù)據(jù)的私有性、完整性保護,并能對數(shù)據(jù)源進行驗證。IPSec使用密鑰管理協(xié)議IKE進行協(xié)議及算法的協(xié)商,并采用由IKE生成的密碼來加密和驗證,以便保證數(shù)據(jù)包在公共網(wǎng)絡上傳輸時的私有性、完整性和真實性。IPSec通過兩個安全協(xié)議AH和ESP,并配合一定的加密算法在IP層提供這些安全服務,對IP及所承載的數(shù)據(jù)提供保護。這些機制的實現(xiàn)不會對用戶、主機或其他Internet組件造成影響;用戶可以選擇不同的加密算法,而不會對實現(xiàn)的其他部分造成影響。IPSec提供以下幾種網(wǎng)絡安全服務。 私有性:IPSec在數(shù)據(jù)包傳輸之前將其加密,以保證數(shù)據(jù)的私有性。 完整性:IPSec在目的地要驗證數(shù)據(jù)包,以保證該數(shù)據(jù)包在傳輸過程中沒有任何不可檢測的數(shù)據(jù)丟失與改變。 真實性:IPSec端要驗證所有受IPSec保護的數(shù)據(jù)包,以保證該數(shù)據(jù)包在傳輸過程中沒有被替換或修改。 反重復:IPSec防止了數(shù)據(jù)包被捕捉并重新投放到網(wǎng)上,即目的地會拒絕老的或重復的數(shù)據(jù)包;這個功能可以通過與AH或ESP一起工作的序列號實現(xiàn)。 IPSec協(xié)議由3個基本要素來提供以上幾種安全保護服務:認證協(xié)議頭(AH)、安全加載封裝(ESP)和互聯(lián)網(wǎng)密匙管理協(xié)議(IKMP)。認證協(xié)議頭和安全加載封裝可以通過分開或組合使用來達到所希望的保護等級。 IPSec本身定義了如何在IP數(shù)據(jù)包中增加字段來保證IP包的完整性、私有性和真實性,這些協(xié)議還規(guī)定了如何對數(shù)據(jù)包加密。因此,使用IPSec協(xié)議,數(shù)據(jù)就可以在公共網(wǎng)絡上傳輸,而不必擔心數(shù)據(jù)被監(jiān)視、修改或偽造了。IPSec提供了兩個主機之間、兩個安全網(wǎng)關(guān)之間或主機和安全網(wǎng)關(guān)主機的保護。 IPSec定義了兩個新的數(shù)據(jù)包頭并將它們增加到IP包中,這些數(shù)據(jù)包頭用于保護IP數(shù)據(jù)包的安全性。這兩個數(shù)據(jù)包頭由AH(Authentication Header)和ESP(Encapsulating Security)和真實性,防止黑客截斷數(shù)據(jù)包或向網(wǎng)絡中插入偽造的數(shù)據(jù)包。AH采用了安全哈希算法來對數(shù)據(jù)包進行保護。ESP將需要保護的用戶數(shù)據(jù)進行加密后再封裝到IP包中,ESP可以保證數(shù)據(jù)的完整性、真實性和私有性。 IPSec有隧道和傳送兩種工作方式。在隧道方式中,用戶的整個IP數(shù)據(jù)包被用來計算ESP頭,且被加密,ESP頭和保密用戶數(shù)據(jù)被封裝在一個新的IP數(shù)據(jù)包中;在傳送方式中,只是傳輸層(如TCP、IDP、ICMP)數(shù)據(jù)被用來計算ESP頭,ESP頭和被加密的傳輸層數(shù)據(jù)被放置在原IP包頭后面。當IPSec通信的一端為安全網(wǎng)關(guān)時,必須采用隧道方式。 Internet密鑰管理協(xié)議(IKE)用于在兩個通信實體協(xié)商和建立安全相關(guān),如交換密鑰。安全相關(guān)(Security Association)是IPSec中的一個重要概念。一個安全相關(guān)表示兩個或多個通信實體之間經(jīng)過了身份認證,且這些通信實體都能支持相同的加密算法,成功地交換了會話密鑰,可以開始利用IPSec進行安全通信。IPSec協(xié)議本身沒有提供在通信實體間建立安全相關(guān)的方法,利用IKE建立安全相關(guān)。IKE定義了通信實體間進行身份認證、協(xié)商加密算法以及生成共享的會話密鑰的方法。IKE中身份認證采用共享密鑰和數(shù)字簽名兩種方式,密鑰交換采用DiffieHellman協(xié)議。 另外,安全相關(guān)也可以通過人工手動的方式來建立,人工手動管理方式是指管理員使用自己的密鑰及其他系統(tǒng)的密鑰手工設備每個系統(tǒng)。這種方法在小型網(wǎng)絡環(huán)境中使用比較實際。當虛擬專用網(wǎng)中節(jié)點增多時,手工配置將變得非常困難。手工管理系統(tǒng)在有限的安全需要系統(tǒng)中可以工作得很好。使用手工管理系統(tǒng),密匙由管理站點確定然后分發(fā)到所有的遠程用戶。真實的密匙可以用隨機數(shù)字生成器或簡單的拼湊計算出來,每一個密匙可以根據(jù)集團的安全策略進行修改。 |
|
來自: 雅心樓 > 《網(wǎng)絡技術(shù)》