1、IPSec概覽
IPSec (Internet 協議安全)是一個工業標准網絡安全協議,為 IP 網絡通信提供透明的安全服務,保護 TCP/IP 通信免遭竊聽和篡改,可以有效抵御網絡攻擊,同時保持易用性。
IPSec有兩個基本目標:1)保護IP數據包安全;2)為抵御網絡攻擊提供防護措施。
IPSec基於一種端對端的安全模式,即對經過的通訊數據進行加密,而掌握數據加解密方法的只有發送端和接收端,網絡中其他負責轉發的路由器等無須支持IPSec。
2、IPSec基本原理
兩台IPSec計算機在交換數據之前,必須先建立某種約定,這種約定,稱為"安全關聯(SA)",指雙方需要就如何保護信息、交換信息等公用的安全設置達成一致以及安全的交換密鑰供連接使用。IKE提供了一種方法供兩台計算機建立安全關聯(SA)。
1)IKE(Internet Key Exchange Protocol)Internet密鑰交換協議:
主要負責安全關聯SA(Security Associations)的集中化管理和密鑰的生成與管理
2)SA(Security Associations)安全關聯:
定義了計算機間如何使用安全服務(如加密)進行通信,是一條單向的邏輯連接。內容包括采用何種IPSec協議(AH還是ESP )、運行模式(傳輸模式還是隧道模式)、驗證算法、加密算法、加密密鑰、密鑰生存期、抗重放窗口,從而決定了保護什么、如何保護以及誰來保護
3、IPSec協商過程
IKE使用了兩個階段的ISAKMP(Internet安全關聯和密鑰管理協議):
第一階段:
協商創建一個通信信道(IKE SA,雙向),並對該信道進行認證,為雙方進一步的IKE通信提供機密性、數據完整性以及數據源認證服務。(為建立信道而進行的安全關聯)
包括兩種模式:主模式(Main Mode)與野蠻模式(Aggressive Mode)。
IPSec協商報文(主模式)
IPSec協商報文(野蠻模式)
主模式:
第一步:
主要協商出加密算法(如AES、3DES)、HASH算法(如MD5、SHA)、認證方法(證書、預共享)、Diffie-Hellman (DH)組的選擇等
第二步:
雖然叫密鑰交換,但事實上在任何時候,兩台通信主機之間都不會交換真正的密鑰,它們之間交換的只是一些DH算法生成共享密鑰所需要的基本材料信息,如DH公共值,Nonce隨機數等
第三步:
發起端向對方發起身份驗證,通過第一步協商的加密算法,第二步的密鑰將預共享密鑰或數字簽名等本端身份信息進行加密,加密數據發送給對端,響應端回應報文類似。
第二階段:
使用已建立的IKE SA建立IPsec SA(單向)協商,為快速模式(Quick Mode)。(為數據傳輸而建立的安全關聯)
包1中發起端主要是進行IPSec SA的協商,報文中包含加密算法(AES、DES等)、HASH算法(MD5、SHA等)、安全協議(ESP、AH)、封裝模式(隧道模式、傳輸模式)、生存時間、感興趣流等。
包2中響應端同意發起端的各屬性,同時起到確認收到了發起端發送的信息。
包3中發起端確認響應端的信息並證明發起端處於Active狀態(表明包1信息非偽造)
以上三個報文包數據均為加密狀態