因為第
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完成了協商,資料將會在被傳送之間進行壓縮。類似的,如果如果已經選擇使用資料加密並完成了協商,資料(或被壓縮資料)將會在傳送之前進行加密。
【宣告】摘自_vpnc
PPP點對點協議分析
ppp point to point protocol 即點對點協議,為在點對點連線上傳輸多協議資料報提供了乙個標準方法。設計目的主要是用來通過撥號或專線方式建立點對點連線傳送資料,使其成為各種主機 網橋和路由器之間簡單連線的一種共通的解決方案。ppp 最初設計是為兩個對等節點之間的 ip 流量傳輸...
PPP 點對點協議 網路大典
點對點協議 ppp 為基於點對點連線的多協議自定址資料報的傳輸提供了乙個標準方法。ppp 最初設計是為兩個對等結構之間的 ip 流量的傳輸提供一種封裝協議。在 tcp ip 協議集中它是一種關於同步調製連線的資料鏈路層協議 osi 模式中的第二層 替代了原非標準第二層協議,即 slip。除了 ip ...
3 2點對點協議PPP
對於點對點鏈路,ppp是目前使用最廣泛的資料鏈路層協議。ppp就是使用者計算機和isp進行通訊時所使用的資料鏈路層協議。組成ppp協議的三個部分 1 乙個將ip資料報封裝到序列鏈路的方法。ppp既支援非同步鏈路 也支援面向位元的同步鏈路。ps 參考 同步傳輸和非同步傳輸 參考 網路程式設計中同步傳輸...