網絡隧道的三層隧道協議
IPSec 提供以下幾種網絡安全服務:
私有性 - IPsec 在傳輸數據包之前將其加密,以保證數據的私有性
完整性 - IPsec 在目的地要驗證數據包,以保證該數據包在傳輸過程中沒有被替換
真實性 - IPsec 端要驗證所有受 IPsec 保護的數據包
反重復 - IPsec 防止了數據包被撲捉並重新投放到網上,即目的地會拒絕老的或重復的數據包;它通過與 AH 或 ESP 壹起工作的序列號實現 IPSec 協議本身定義了如何在 IP 數據包中增加字段來保證 IP 包的完整性、私有性和真實性,這些協議還規定了如何加密數據包。使用 IPsec,數據就可以在公網上傳輸,而不必擔心數據被監視、修改或偽造了。IPsec 提供了兩個主機之間、兩個安全網關之間或主機和安全網關主機的保護。
IPSec 定義了兩個新的數據包頭增加到 IP 包,這些數據包頭用於保證 IP 數據包的安全性。這兩個數據包頭由AH(Authentication Header)和 ESP(Encapsulating Security Payload)規定。在網關上實現 IPSec,AH 將插到標準IP包頭後面,它保證數據包的完整性和真實性,防止黑客截斷數據包或向網絡中插入偽造的數據包。AH 采用了安全哈希算法來對數據包進行保護。AH 沒有對用戶數據進行加密。ESP 將需要保護的用戶數據進行加密後再封裝到IP包中,ESP 可以保證數據的完整性、真實性和私有性。
IPSec 有隧道和傳送兩種工作方式。在隧道方式中,用戶的整個 IP數據包被用來計算 ESP 頭,且被加密,ESP 頭和加密用戶數據被封裝在壹個新的 IP 數據包中;在傳送方式中,只是傳輸層(如TCP、UDP、ICMP)數據被用來計算 ESP 頭,ESP 頭和被加密的傳輸層數據被放置在原IP包頭後面。當 IPSec 通信的壹端為安全網關時,必須采用隧道方式。
Internet 密鑰交換協議(IKE)用於在兩個通信實體協商和建立安全相關,交換密鑰。安全相關(Security Association)是 IPSec 中的壹個重要概念。壹個安全相關表示兩個或多個通信實體之間經過了身份認證,且這些通信實體都能支持相同的加密算法,成功地交換了會話密鑰,可以開始利用 IPSec 進行安全通信。IPSec 協議本身沒有提供在通信實體間建立安全相關的方法,利用 IKE 建立安全相關。IKE 定義了通信實體間進行身份認證、協商加密算法以及生成***享的會話密鑰的方法。IKE中身份認證采用***享密鑰和數字簽名兩種方式,密鑰交換采用 Diffie Hellman 協議。
安全相關也可以通過手工方式建立,但是當 VPN 中結點增多時,手工配置將非常困難。