esp

封裝安全載荷

封裝徠安全載荷(ESP)定義在RFC2406中,用於為IP提供保密性和抗重播服務,包括數據包內容的保密性和有限的流量保密性。

簡介


作為可選的功能,ESP也提供和AH鑒別頭部同樣的數據完整性和兼備服務。由於ESP要對數據進行加密處理,因而它比AH需要更多的處理時間。

格式


基本的ESP協議定義和實際提供安全服務(保密性和鑒別服務)的演演算法的定義是分開的。ESP是一個通用的、易於拓展的安全機制,其組成格式如圖:
esp[封裝安全載荷]
esp[封裝安全載荷]
(1)安全參數索引(32 bit):標識一個安全關聯,同AH中的SPI。需要指出的是,SPI本身可以被鑒別,但不會被加密,否則無法處理。
(2)序列號(32 bit):一個單調遞增的計數器的值,同AH中討論的一樣,主要為了抵抗重放攻擊。同樣序列號也不會被加密。
(3)載荷數據(變長):為通過加密保護的傳輸級數據段(傳輸模式)或IP數據報(隧道模式)。
(4)填充:欄位長範圍為0到255位元組,用於將明文擴充到所需要的長度,保證邊界的正確,同時隱藏載荷數據的實際長度。
徠(5)填充長度(8 bit):表示千億欄位填充的位元組的數目。
(6)下一頭部(8 bit):標識下一個頭部的類型,從而表示負載數據的數據類型。同AH一樣,在傳輸模式下,將是處於保護中的IP上層協議的值,如UDP或TCP的協議類型值。在隧道模式中,值為4。
(7)鑒別數據(可變長):必須是32bit的整數倍,是在前面個欄位基礎上計算的出來的完整性校驗值ICV。
其中,“安全參數索引”和“序列號”欄位構成了ESP的頭部,“填充”,“填充長度”和“下一個頭部”3個欄位構成了ESP的尾部。保密性服務通過加密來提供,其中加密涉及的欄位:載荷數據、填充、填充長度和下一個頭部通常被稱為明文。數據完整性和鑒別服務通過鑒別數據欄位來實現,其覆蓋範圍包括ESP頭部、載荷數據和ESP尾部。
工作模式
ESP支持兩種工作模式:傳輸模式和隧道模式。這兩種工作模式下ESP載數據包中的位置如圖