1. 程式人生 > >VPN的實現技術(隧道技術、加密技術、祕鑰管理技術、身份認證技術)

VPN的實現技術(隧道技術、加密技術、祕鑰管理技術、身份認證技術)

為了在Internet等公共網路基礎設施上高效、安全的實現資料傳輸,VPN綜合利用了隧道技術、加密技術、祕鑰管理技術和身份認證技術。

1、隧道技術是VPN的核心技術,VPN的所有實現都是依賴於隧道。隧道主要利用協議的封裝來實現的。即用一種網路協議來封裝另一種網路協議的報文。

    簡單說:就是在隧道的一端把B協議報文封裝在A協議報文中,然後按照A協議報文在已建立的隧道中進行傳輸,到達另一端的時候,在進行解封裝的操作,從A協議報文中解析出B協議報文,將得到的原始資料交給對端裝置。

    在進行資料封裝時,根據封裝協議(隧道協議)在OSI/RM中位置的不同,可以分為第二層隧道技術和第三層隧道技術兩種型別,其中,第二層隧道技術是在資料鏈路層使用隧道協議對資料進行封裝,再把封裝後的資料通過資料鏈路層的協議進行傳輸。

第三層隧道技術是在網路層進行資料封裝,即利用網路層的隧道協議對資料進行封裝,封裝後的資料再通過網路層協議進行傳輸

 

協議名稱   RFC編號 封裝化 協議號碼 L2/L3 加密與否 LAN連線型別VPN 遠端訪問型別VPN
L2F     2341 L2F UDP(17) 第二層 ×
PPTP 草案 DRE GRE(47) 第二層
L2TP 草案 L2TP UDP(17) 第二層
ATMP 2107 GRE GRE(47) 第三層 ×
BayDVS GRE GRE(47) 第三層 ×
GRE 1701 GRE GRE(47) 第三層  
IPSec ESP 2406 ESP ESP(50) 第三層 √        

    

 

IPSec AH 2406 AH AH(51) 第三層

二層隧道協議主要有:L2F、PPTP、L2TP,這三種協議通常是基於PPP協議的並且主要面向撥號使用者,由此導致了這3種協議應用的侷限性

三層隧道協議主要有:IPSec、GRE

 

在資料鏈路層上實現VPN具有一定的優點,加密時可使用硬體裝置進行加密,這樣做的好處在於速度快。缺點:不易擴充套件,而且僅在專用鏈路上才能很好的工作,另外,進行通訊的兩個實體必須在物理上連線到一起。

 

2.加密技術

加密技術對VPN來說是非常重要的技術。

資訊加密體制包括對稱加密體制和非對稱加密體制,實際應用中通常是融合二者的混合加密技術,

非對稱加密技術(公開祕鑰)多用於認證、數字簽名以及安全傳輸會話祕鑰等場合,

對稱加密技術則用於大量傳輸資料的加密和完整性保護。

在VPN解決方案中最普遍使用的對稱加密演算法主要有DES、3DES、AES、RC4、RC5和IDEA等演算法

普遍使用的非對稱加密演算法主要有RSA、Diffie-Hellman和橢圓曲線加密等。

當VPN封閉在特定的ISP內並且該ISP能夠保證VPN路由及安全性時,攻擊者不大可能竊取資料,因此可以不採用加密技術。

 

3.祕鑰管理技術

現行祕鑰管理技術分為SKIP和ISAKMP/OAKLEY兩種。

SKIP主要利用Diffie-Hellman演算法在開放網路上安全傳輸祕鑰,

而ISAKMP則採用公開祕鑰機制,通訊實體雙方均有兩把祕鑰,分別為公鑰、私鑰,不同的VPN實現技術選用其一或者兼而有之。

4.身份認證技術

因為認證協議一般都要採用基於雜湊函式的訊息摘要技術,因而還可以提供訊息完整性驗證。從實現技術來看,目前VPN採用的身份認證技術主要分為非PKI體系和PKI體系兩類。

非PKI體系一般採用使用者ID+密碼的模式,主要包括以下幾種:

(1)PAP(密碼認證協議),以明文形式傳送,PAP是一種不安全的協議

(2)SPAP(Shiva Password Authentication Protocol,密碼認證協議),針對PAP不足而設計的,他會進行加密,但是加密形式不變,很容易受到攻擊

(3)CHAP(Challenge-Handshake Authentication Protocol,挑戰握手認證協議)。採用挑戰-響應的方式進行身份的認證,認證端傳送一個隨機數給被認證者,被認證者傳送給認證端的不是明文口令,而是將口令和隨機數連線後經MD5演算法處理而得到的雜湊值,一旦CHAP輸入一次口令失敗,就中斷連線,不能再次輸入。

(4)MS-CHAP(微軟挑戰握手認證協議),採用MPPE加密方法將使用者的密碼和資料同時進行加密後再發送,應答分組的格式和Windows網路的應答格式具有相容性,雜湊演算法採用MD4,還具有口令交換功能、認證失敗時重輸入等擴充套件功能。

(5)EAP(擴充套件身份認證協議)是一個提供多個認證方法的協議框架,允許使用者來根據自己的需要來自行定義認證方式。EAP的認證使用非常廣泛,它不僅用於系統之間的身份認證,而且還用於無線和有線網路的認證,除此之外,相關廠商可以自行開發所需要的EAP認證方式,例如視網膜認證、指紋認證等都可以使用EAP。

(6)RADIUS(Remote Authentication Dial In User Service),是為接入伺服器開發的認證系統,具有集中管理遠端撥號使用者的資料庫功能,

PKI體系主要通過CA,採用數字簽名和雜湊函式保證資訊的可靠性和完整性