10.17 IPsec VPN工作原理詳解

我們知道 相當於是基於Internet上建立了一個虛擬的專用通道,和物理專線還是不一樣,數據其實還是通過Internet在傳輸的,那這樣還是不能夠保證這些私有的數據傳輸安全,所以VPN是需要有一個保護機制的,最常用的就是IPsec,IPsec是IP security的縮寫,即IP安全協議。它不是一個單獨的協議,而是一系列為IP網絡提供安全性的協議和服務的集合。

IPsec VPN工作原理詳解

IPSec是一個框架性架構,具體由兩類協議組成:

  • AH協議(Authentication Header,使用較少):可以同時提供數據完整性確認、數據來源確認、防重放等安全特性,不具備加密功能。
  • ESP協議(Encapsulated Security Payload,使用較廣):可以同時提供數據完整性確認、數據加密、防重放等安全特性,具備加密功能。

這些部分都可以採用多種算法來實現。我們來看一下IPsec主要涉及到的一些協議和密碼算法是怎麼來滿足信息安全性的。關於這些算法的原理內容這裡就細說了,有興趣可以去看一看密碼學。

1. 通過加密把數據從明文變成無法讀懂的密文,從而確保數據的私密性。

IPsec VPN工作原理詳解

如果加密密鑰與解密密鑰是相同的稱為對稱加密,由於對稱加密的運算速度比較快,所以IPsec使用對稱加密算法來加密數據。

主要有:

  • DES(Data Encryption Standard)數據加密標準,是一種應用比較廣泛的傳統加密算法標準。
  • 3DES三重數據加密標準,相當於是對每個數據塊執行三次標準的DES加密算法。比DES更加安全。
  • AES(Advanced Encryption Standard)高級加密標準,它的安全性機制高於DES,3DES。

2、通過對數據進行hash運算,產生類似於指紋的數據摘要,以保證數據的完整性。

IPsec VPN工作原理詳解

主要是兩種hash算法:

  • MD5:使用128位共享安全秘鑰和變長消息組合在一起運行輸出一個128位的哈希值,該值被附加在原始消息的後面發往遠端。
  • SHA-1:使用160位共享安全密鑰和變成消息組合一起運行輸出160位哈希值,該值被附加在原始消息的後面發往遠端。SHA-1安全性高於MD5。

對稱加密和hash都是要求通信雙方具有相同的密鑰,那怎麼在雙方之間安全地傳遞密鑰呢?

  • DH(Diffe-Hellman)算法:一種確保共享密鑰安全穿越不安全網絡的方法。使用DH算法建立只有協商兩端才知道的一個共享安全密鑰。

3、通過身份認證保證數據的真實性,確定數據確實是由特定的對端發出的。

IPsec VPN工作原理詳解

常用的身份認證方式:

  • Pre-shared key預共享密鑰:指通信雙方在配置時預先手工輸入相同的密鑰。

IPSec除了一些協議原理外,我們更關注的是協議中涉及到方案制定的內容:

  • 興趣流:IPSec是需要消耗資源的保護措施,並非所有流量都需要IPSec進行處理,而需要IPSec進行保護的流量就稱為興趣流,最後協商出來的興趣流是由發起方和響應方所指定興趣流的交集,如發起方指定興趣流為192.168.1.0/24<>10.0.0.0/8,而響應方的興趣流為10.0.0.0/8<>192.168.0.0/16,那麼其交集是192.168.1.0/24<>10.0.0.0/8,這就是最後會被IPSec所保護的興趣流。
  • 發起方:IPSec會話協商的觸發方,IPSec會話通常是由指定興趣流觸發協商。
  • 響應方: IPSec會話協商的接收方,響應方是被動協商,響應方可以指定興趣流,也可以不指定(完全由發起方指定)。
  • 發起方和響應方協商的內容主要包括:雙方身份的確認和密鑰種子刷新週期、AH/ESP的組合方式及各自使用的算法,還包括興趣流、封裝模式等。
  • SA(Security Assocaition)安全關聯:發起方、響應方協商的結果就是SA。

具體執行協商任務的協議叫做互聯網密鑰交換協議IKE(Internet Key Exchange)。我們以最常見的IPSec隧道模式為例,解釋一下IPSec的協商過程:

IPsec VPN工作原理詳解

  1. 發起方定義的興趣流是源192.168.1.0/24目的10.0.0.0/8,所以在接口發送發起方內網PC發給響應方內網PC的數據包,能夠得以匹配。
  2. 滿足興趣流條件,在轉發接口上檢查SA不存在、過期或不可用,都會進行協商,否則使用當前SA對數據包進行處理。
  3. 協商的過程通常分為兩個階段,第一階段是為第二階段服務,第二階段是真正的為興趣流服務的SA,兩個階段協商的側重有所不同,第一階段主要確認雙方身份的正確性,主要目的就是對建立IPSec的雙方進行認證,以確保只有合法的對等體(peer)才能建立IPSec VPN。協商得到的結果就是IKE SA。第二階段則是為興趣流創建一個指定的安全套件,其最顯著的結果就是第二階段中的興趣流在會話中是密文。第二階段的主要目的就是根據需要加密的實際流量(感興趣流),來協商保護這些流量的策略。協商的結果就是IPSec SA。

我們對這一過程做一個簡單的比喻:IKE協商過程就像兩個公司做生意過程。兩個公司在具體合作之前需要相互瞭解,最簡單的方法可能就是核查對方公司的工商牌照、公司營業和信譽狀況。目的就是相互進行認證,建立基本的信任關係。這個過程其實就是IKE第一個階段需要完成的任務。一個階段完成後,信任關係建立了,相應的IKE SA也就建立了。緊接著的主要任務就是基於具體的項目來簽訂合同。對於IPSec VPN而言,具體的項目就是安全保護通信點之間的流量,具體處理這些流量的策略(IPSec SA)就是合同。IKE第二階段的任務就是基於需要被加密的流量協商相應的IPSec SA。一旦雙方在第一階段建立起了信任關係,他們就沒有必要重複進行認證了。接下來,雙方的議題就是根據第一階段建立的IKE SA,給兩個站點之間的很多需要被加密的流量協商不同的第二階段策略(IPSec SA)。

可以說IPsec VPN內容還是比較多的,而且還比較難理解,後面會有具體的配置案列說明,IPsec在兩種VPN模式站點到站點和遠程訪問下的應用,歡迎大家關注哈~


分享到:


相關文章: