傳輸模式傳輸模式是 IPSec 的預設模式,用於進行端對端的通訊(例如,用於用戶端和伺服器之間的通訊)。當使用傳輸模式時,IPSec 只對 IP 負載進行加密。傳輸模式通過 AH 或 ESP 前序對 IP 負載提供保護。典型的 IP 負載包括 TCP 段(包含 TCP 前序與 TCP 段資料)、一條 UDP 訊息(包含 UDP 前序與 UDP 訊息資料)以及一條 ICMP 訊息(包含 ICMP 前序與 ICMP 訊息資料)。
身分識別驗證前序傳輸模式
身分識別驗證前序 (AH) 可對整個資料包(IP 前序與資料包中的資料負載)提供身分識別驗證、完整性與抗重播保護。但是它不提供保密性,即它不對資料進行加密。資料可以讀取,但是禁止修改。AH 使用加密雜湊演算法簽名資料包以求得完整性。詳細資料,請參閱使用雜湊函數的資料完整性。
例如,使用電腦 A 的 Alice 將資料發送給使用電腦 B 的 Bob。IP 前序、AH 前序和資料的完整性都得到保護。這意味著 Bob 可以確定確實是 Alice 發送的資料並且資料未被修改。
完整性與身分識別驗證是通過在 IP 前序與 IP 負載之間置入的 AH 前序提供的.
在 IP 前序中使用 IP 協議 ID 51 來標識 AH。AH 可以獨立使用,也可以與“封裝式安全措施負載 (ESP)”協議組合使用。
AH 前序包含下欄欄位:
下一個前序
使用 IP 協議 ID來標識 IP 負載。例如,值 6 表示 TCP。
長度
表示 AH 前序的長度。
安全參數索引 (SPI)
與目標地址及安全性通訊協定(AH 或 ESP)組合使用,以確保通訊的正確安全性關聯。接收方使用該值確定資料包是使用哪一安全性關聯標識的。
序數
為該資料包提供抗重播保護。序數是 32 位、遞增的數字(從 1 開始),它表示通過通訊的安全性關聯所發送的資料包數。在快速模式安全性關聯的生存期內序號不能重複。接收方將檢查該欄位,以確認使用該數位安全性關聯資料包還沒有被接收過。如果一個已經被接收,則資料包被拒絕。
驗證資料
包含完整性校正值 (ICV),也稱為訊息身分識別驗證碼,用於驗證訊息身分識別驗證與完整性。接收方計算 ICV 值並對照發送方計算的值校正它,以驗證完整性。ICV 是通過 IP 前序、AH 前序與 IP 負載來計算的。
使用 AH 前序進行資料包簽名
AH 為了完整性而對整個資料包進行簽名,除了在傳輸過程中可能更改的 IP 前序中的某些欄位之外(例如,“存留時間”與“服務類型”欄位)。如果除了 AH 外還在使用另一個 IPSec 前序,則會在所有其他 IPSec 前序前插入 AH 前序。
封裝式安全措施負載傳輸模式
封裝式安全措施負載 (ESP) 不僅為 IP 負載提供身分識別驗證、完整性和抗重播保護,還提供機密性。傳輸模式中的 ESP 不對整個資料包進行簽名。只對 IP 負載(而不對 IP 前序)進行保護。ESP 可以獨立使用,也可與 AH 組合使用。
例如,使用電腦 A 的 Alice 將資料發送給使用電腦 B 的 Bob。IP 負載經過加密和簽名,以保護其完整性。收到並在完整性驗證過程結束後,資料包中的資料負載便被解密。於是 Bob 可以確定確實是 Alice 發送的資料並且資料未被修改,沒有其他人能夠讀取這些資料。
在 IP 前序中使用 IP 協議 ID 50 標識 ESP。如所示,ESP 前序置於 IP 負載之前,ESP 尾端與 ESP 驗證尾端置於 IP 負載之後。
ESP 前序包含下欄欄位:
安全參數索引
與目標地址及安全性通訊協定(AH 或 ESP)組合使用時,確保通訊的正確安全性關聯。接收方使用該值確定應該使用哪個安全相關聯標識此資料包。
序數
為該資料包提供抗重播保護。序數是 32 位、遞增的數字(從 1 開始),它表示通過通訊的快速模式安全性關聯所發送的資料包數。在快速模式安全性關聯的生存期內序號不能重複。接收方將檢查該欄位,以確認使用該數位安全性關聯資料包還沒有被接收過。如果有已被接收的資料包,則其將被拒絕。
ESP 尾端包含下欄欄位:
填充
填充 0~255 個位元組用來確保使用填充位元組加密的負載可達密碼編譯演算法所需的位元組邊界。
填充長度
表示“填充”欄位的長度(以位元組為單位)。在使用填充位元組的加密負載解密之後,接收方使用該欄位來刪除填充位元組。
下一個前序
標識負載中的資料類型,例如 TCP 或 UDP。
ESP 驗證尾端包含下欄欄位:
驗證資料
包含完整性校正值 (ICV),也稱為訊息身分識別驗證碼,用於驗證訊息身分識別驗證與完整性。接收方計算 ICV 值並對照發送方計算的值校正它,以驗證完整性。ICV 是通過 ESP 前序、負載資料與 ESP 尾端計算的。
資料包簽名與加密
如所示,ESP 可為 IP 負載提供保護。資料包的簽名部分表示資料包的完整性和身分識別驗證簽名是在哪裡進行的。資料包的加密部分表示什麼資訊受到機密性保護。
IP 前序未簽名,也不必加以保護以防修改。要為 IP 前序提供資料完整性與身分識別驗證,請使用 ESP 與 AH。
AH與ESP進行比較
IP報文|ESP報文|IP報文|IP負載(TCP報文,UDP段,ICMP報文)|ESP報尾|ESP AUTH報尾