點(diǎn)對(duì)點(diǎn)協(xié)議 |
發(fā)布時(shí)間: 2012/7/26 16:27:35 |
因?yàn)榈?層隧道協(xié)議在很大程度上依靠PPP協(xié)議的各種特性,因此有必要對(duì)PPP協(xié)議進(jìn)行深入的探討。PPP協(xié)議主要是設(shè)計(jì)用來(lái)通過(guò)撥號(hào)或?qū)>方式建立點(diǎn)對(duì)點(diǎn)連接發(fā)送數(shù)據(jù)。PPP協(xié)議將IP,IPX和NETBEUI包封裝在PP楨內(nèi)通過(guò)點(diǎn)對(duì)點(diǎn)的鏈路發(fā)送。PPP協(xié)議主要應(yīng)用于連接撥號(hào)用戶和NAS。 PPP撥號(hào)會(huì)話過(guò)程可以分成4個(gè)不同的階段。分別如下: 階段1:創(chuàng)建PPP鏈路 PPP使用鏈路控制協(xié)議(LCP)創(chuàng)建,維護(hù)或終止一次物理連接。在LCP階段的初期,將對(duì)基本的通訊方式進(jìn)行選擇。應(yīng)當(dāng)注意在鏈路創(chuàng)建階段,只是對(duì)驗(yàn)證協(xié)議進(jìn)行選擇,用戶驗(yàn)證將在第2階段實(shí)現(xiàn)。同樣,在LCP階段還將確定鏈路對(duì)等雙方是否要對(duì)使用數(shù)據(jù)壓縮或加密進(jìn)行協(xié)商。實(shí)際對(duì)數(shù)據(jù)壓縮/加密算法和其它細(xì)節(jié)的選擇將在第4階段實(shí)現(xiàn)。 階段2:用戶驗(yàn)證 在第2階段,客戶會(huì)PC將用戶的身份明發(fā)給遠(yuǎn)端的接入服務(wù)器。該階段使用一種安全驗(yàn)證方式避免第三方竊取數(shù)據(jù)或冒充遠(yuǎn)程客戶接管與客戶端的連接。大多數(shù)的PPP方案只提供了有限的驗(yàn)證方式,包括口令驗(yàn)證協(xié)議(PAP),挑戰(zhàn)握手驗(yàn)證協(xié)議(CHAP)和微軟挑戰(zhàn)握手驗(yàn)證協(xié)議(MSCHAP)。 1.口令驗(yàn)證協(xié)議(PAP) PAP是一種簡(jiǎn)單的明文驗(yàn)證方式。NAS要求用戶提供用戶名和口令,PAP以明文方式返回用戶信息。很明顯,這種驗(yàn)證方式的安全性較差,第三方可以很容易的獲取被傳送的用戶名和口令,并利用這些信息與NAS建立連接獲取NAS提供的所有資源。所以,一旦用戶密碼被第三方竊取,PAP無(wú)法提供避免受到第三方攻擊的保障措施。 2.挑戰(zhàn)-握手驗(yàn)證協(xié)議(CHAP) CHAP是一種加密的驗(yàn)證方式,能夠避免建立連接時(shí)傳送用戶的真實(shí)密碼。NAS向遠(yuǎn)程用戶發(fā)送一個(gè)挑戰(zhàn)口令(challenge),其中包括會(huì)話ID和一個(gè)任意生成的挑戰(zhàn)字串(arbitrary challengestring)。遠(yuǎn)程客戶必須使用MD5單向哈希算法(one-wayhashingalgorithm)返回用戶名和加密的挑戰(zhàn)口令,會(huì)話ID以及用戶口令,其中用戶名以非哈希方式發(fā)送。 CHAP對(duì)PAP進(jìn)行了改進(jìn),不再直接通過(guò)鏈路發(fā)送明文口令,而是使用挑戰(zhàn)口令以哈希算法對(duì)口令進(jìn)行加密。因?yàn)榉⻊?wù)器端存有客戶的明文口令,所以服務(wù)器可以重復(fù)客戶端進(jìn)行的操作,并將結(jié)果與用戶返回的口令進(jìn)行對(duì)照。CHAP為每一次驗(yàn)證任意生成一個(gè)挑戰(zhàn)字串來(lái)防止受到再現(xiàn)攻擊(replay attack).在整個(gè)連接過(guò)程中,CHAP將不定時(shí)的向客戶端重復(fù)發(fā)送挑戰(zhàn)口令,從而避免第3方冒充遠(yuǎn)程客戶(remoteclient impersonation)進(jìn)行攻擊。 3.微軟挑戰(zhàn)-握手驗(yàn)證協(xié)議(MS-CHAP) 與CHAP相類似,MS-CHAP也是一種加密驗(yàn)證機(jī)制。同CHAP一樣,使用MS-CHAP時(shí),NAS會(huì)向遠(yuǎn)程客戶發(fā)送一個(gè)含有會(huì)話ID和任意生成的挑戰(zhàn)字串的挑戰(zhàn)口令。遠(yuǎn)程客戶必須返回用戶名以及經(jīng)過(guò)MD4哈希算法加密的挑戰(zhàn)字串,會(huì)話ID和用戶口令的MD4哈希值。采用這種方式服務(wù)器端將只存儲(chǔ)經(jīng)過(guò)哈希算法加密的用戶口令而不是明文口令,這樣就能夠提供進(jìn)一步的安全保障。此外,MS-CHAP同樣支持附加的錯(cuò)誤編碼,包括口令過(guò)期編碼以及允許用戶自己修改口令的加密的客戶-服務(wù)器(client-server)附加信息。使用MS-CHAP,客戶端和NAS雙方各自生成一個(gè)用于隨后數(shù)據(jù)加密的起始密鑰。MS-CHAP使用基于MPPE的數(shù)據(jù)加密,這一點(diǎn)非常重要,可以解釋為什么啟用基于MPPE的數(shù)據(jù)加密時(shí)必須進(jìn)行MS-CHAP驗(yàn)證。 在第2階段PPP鏈路配置階段,NAS收集驗(yàn)證數(shù)據(jù)然后對(duì)照自己的數(shù)據(jù)庫(kù)或中央驗(yàn)證數(shù)據(jù)庫(kù)服務(wù)器(位于NT主域控制器或遠(yuǎn)程驗(yàn)證用戶撥入服務(wù)器)驗(yàn)證數(shù)據(jù)的有效性。 階段3:PPP回叫控制(callbackcontrol) 微軟設(shè)計(jì)的PPP包括一個(gè)可選的回叫控制階段。該階段在完成驗(yàn)證之后使用回叫控制協(xié)議(CBCP)如果配置使用回叫,那么在驗(yàn)證之后遠(yuǎn)程客戶和NAS之間的連接將會(huì)被斷開(kāi)。然后由NAS使用特定的電話號(hào)碼回叫遠(yuǎn)程客戶。這樣可以進(jìn)一步保證撥號(hào)網(wǎng)絡(luò)的安全性。NAS只支持對(duì)位于特定電話號(hào)碼處的遠(yuǎn)程客戶進(jìn)行回叫。 階段4:調(diào)用網(wǎng)絡(luò)層協(xié)議 在以上各階段完成之后,PPP將調(diào)用在鏈路創(chuàng)建階段(階段1)選定的各種網(wǎng)絡(luò)控制協(xié)議(NCP).例如,在該階段IP控制協(xié)議(IPCP)可以向撥入用戶分配動(dòng)態(tài)地址。在微軟的PPP方案中,考慮到數(shù)據(jù)壓縮和數(shù)據(jù)加密實(shí)現(xiàn)過(guò)程相同,所以共同使用壓縮控制協(xié)議協(xié)商數(shù)據(jù)壓縮(使用MPPC)和數(shù)據(jù)加密(使用MPPE)。 數(shù)據(jù)傳輸階段 一旦完成上述4階段的協(xié)商,PPP就開(kāi)始在連接對(duì)等雙方之間轉(zhuǎn)發(fā)數(shù)據(jù)。每個(gè)被傳送的數(shù)據(jù)報(bào)都被封裝在PPP包頭內(nèi),該包頭將會(huì)在到達(dá)接收方之后被去除。如果在階段1選擇使用數(shù)據(jù)壓縮并且在階段4完成了協(xié)商,數(shù)據(jù)將會(huì)在被傳送之間進(jìn)行壓縮。類似的,如果如果已經(jīng)選擇使用數(shù)據(jù)加密并完成了協(xié)商,數(shù)據(jù)(或被壓縮數(shù)據(jù))將會(huì)在傳送之前進(jìn)行加密。 點(diǎn)對(duì)點(diǎn)隧道協(xié)議(PPTP) PPTP是一個(gè)第2層的協(xié)議,將PPP數(shù)據(jù)楨封裝在IP數(shù)據(jù)報(bào)內(nèi)通過(guò)IP網(wǎng)絡(luò),如Internet傳送。PPTP還可用于專用局域網(wǎng)絡(luò)之間的連接。RFC草案“點(diǎn)對(duì)點(diǎn)隧道協(xié)議”對(duì)PPTP協(xié)議進(jìn)行了說(shuō)明和介紹。該草案由PPTP論壇的成員公司,包括微軟,Ascend,3Com,和ECI等公司在1996年6月提交至IETF?稍谌缦抡军c(diǎn)http://www.ietf.org http://www.ietf.org參看草案的在線拷貝.PPTP使用一個(gè)TCP連接對(duì)隧道進(jìn)行維護(hù),使用通用路由封裝(GRE)技術(shù)把數(shù)據(jù)封裝成PPP數(shù)據(jù)楨通過(guò)隧道傳送。可以對(duì)封裝PPP楨中的負(fù)載數(shù)據(jù)進(jìn)行加密或壓縮。圖7所示為如何在數(shù)據(jù)傳遞之前組裝一個(gè)PPTP數(shù)據(jù)包。 第2層轉(zhuǎn)發(fā)(L2F) L2F是Cisco公司提出隧道技術(shù),作為一種傳輸協(xié)議L2F支持撥號(hào)接入服務(wù)器將撥號(hào)數(shù)據(jù)流封裝在PPP楨內(nèi)通過(guò)廣域網(wǎng)鏈路傳送到L2F服務(wù)器(路由器)。L2F服務(wù)器把數(shù)據(jù)包解包之重新注入(inject)網(wǎng)絡(luò)。與PPTP和L2TP不同,L2F沒(méi)有確定的客戶方。應(yīng)當(dāng)注意L2F只在強(qiáng)制隧道中有效。(自愿和強(qiáng)制隧道的介紹參看“隧道類型”)。 第2層隧道協(xié)議(L2TP) L2TP結(jié)合了PPTP和L2F協(xié)議。設(shè)計(jì)者希望L2TP能夠綜合PPTP和L2F的優(yōu)勢(shì)。 L2TP是一種網(wǎng)絡(luò)層協(xié)議,支持封裝的PPP楨在IP,X.25,楨中繼或ATM等的網(wǎng)絡(luò)上進(jìn)行傳送。當(dāng)使用IP作為L(zhǎng)2TP的數(shù)據(jù)報(bào)傳輸協(xié)議時(shí),可以使用L2TP作為Internet網(wǎng)絡(luò)上的隧道協(xié)議。L2TP還可以直接在各種WAN媒介上使用而不需要使用IP傳輸層。草案RFC“第2層隧道協(xié)議”對(duì)L2TP進(jìn)行了說(shuō)明和介紹。該文檔于1998年1月被提交至IETF?梢栽谝韵戮W(wǎng)站http://www.ietf.org http://www.ietf.org獲得草案拷貝。 IP網(wǎng)上的L2TP使用UDP和一系列的L2TP消息對(duì)隧道進(jìn)行維護(hù)。L2TP同樣使用UDP將L2TP協(xié)議封裝的PPP楨通過(guò)隧道發(fā)送?梢詫(duì)封裝PPP楨中的負(fù)載數(shù)據(jù)進(jìn)行加密或壓縮。圖8所示為如何在傳輸之前組裝一個(gè)L2TP數(shù)據(jù)包。 PPTP與L2TP PPTP和L2TP都使用PPP協(xié)議對(duì)數(shù)據(jù)進(jìn)行封裝,然后添加附加包頭用于數(shù)據(jù)在互聯(lián)網(wǎng)絡(luò)上的傳輸。盡管兩個(gè)協(xié)議非常相似,但是仍存在以下幾方面的不同: 1.PPTP要求互聯(lián)網(wǎng)絡(luò)為IP網(wǎng)絡(luò)。L2TP只要求隧道媒介提供面向數(shù)據(jù)包的點(diǎn)對(duì)點(diǎn)的連接。L2TP可以在IP(使用UDP),楨中繼永久虛擬電路(PVCs),X.25虛擬電路(VCs)或ATM VCs網(wǎng)絡(luò)上使用。 2.PPTP只能在兩端點(diǎn)間建立單一隧道。L2TP支持在兩端點(diǎn)間使用多隧道。使用L2TP,用戶可以針對(duì)不同的服務(wù)質(zhì)量創(chuàng)建不同的隧道。 3.L2TP可以提供包頭壓縮。當(dāng)壓縮包頭時(shí),系統(tǒng)開(kāi)銷(overhead)占用4個(gè)字節(jié),而PPTP協(xié)議下要占用6個(gè)字節(jié)。 4.L2TP可以提供隧道驗(yàn)證,而PPTP則不支持隧道驗(yàn)證。但是當(dāng)L2TP或PPTP與IPSEC共同使用時(shí),可以由IPSEC提供隧道驗(yàn)證,不需要在第2層協(xié)議上驗(yàn)證隧道。 IPSec隧道模式 IPSEC是第3層的協(xié)議標(biāo)準(zhǔn),支持IP網(wǎng)絡(luò)上數(shù)據(jù)的安全傳輸。本文將在“高級(jí)安全”一部分中對(duì)IPSEC進(jìn)行詳細(xì)的總體介紹,此處僅結(jié)合隧道協(xié)議討論IPSEC協(xié)議的一個(gè)方面。除了對(duì)IP數(shù)據(jù)流的加密機(jī)制進(jìn)行了規(guī)定之外,IPSEC還制定了IPoverIP隧道模式的數(shù)據(jù)包格式,一般被稱作IPSEC隧道模式。一個(gè)IPSEC隧道由一個(gè)隧道客戶和隧道服務(wù)器組成,兩端都配置使用IPSEC隧道技術(shù),采用協(xié)商加密機(jī)制。 為實(shí)現(xiàn)在專用或公共IP網(wǎng)絡(luò)上的安全傳輸,IPSEC隧道模式使用的安全方式封裝和加密整個(gè)IP包。然后對(duì)加密的負(fù)載再次封裝在明文IP包頭內(nèi)通過(guò)網(wǎng)絡(luò)發(fā)送到隧道服務(wù)器端。隧道服務(wù)器對(duì)收到的數(shù)據(jù)報(bào)進(jìn)行處理,在去除明文IP包頭,對(duì)內(nèi)容進(jìn)行解密之后,獲的最初的負(fù)載IP包。負(fù)載IP包在經(jīng)過(guò)正常處理之后被路由到位于目標(biāo)網(wǎng)絡(luò)的目的地。 IPSEC隧道模式具有以下功能和局限: 1.只能支持IP數(shù)據(jù)流 2.工作在IP棧(IPstack)的底層,因此,應(yīng)用程序和高層協(xié)議可以繼承IPSEC的行為。 3.由一個(gè)安全策略(一整套過(guò)濾機(jī)制)進(jìn)行控制。安全策略按照優(yōu)先級(jí)的先后順序創(chuàng)建可供使用的加密和隧道機(jī)制以及驗(yàn)證方式。當(dāng)需要建立通訊時(shí),雙方機(jī)器執(zhí)行相互驗(yàn)證,然后協(xié)商使用何種加密方式。此后的所有數(shù)據(jù)流都將使用雙方協(xié)商的加密機(jī)制進(jìn)行加密,然后封裝在隧道包頭內(nèi)。 關(guān)于IPSEC的詳細(xì)介紹參看本文稍后的“高級(jí)安全”部分。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |