12-8 IPSec ESP 協定
內容:
12-8-1 IPSec 協定簡介
VIDEO
IPSec 另一個安全協定為『封裝安全承載』( Encapsulation Security Payload, ESP),同樣包含 IPv4 與 IPv6 兩種規範。 ESP 協定是將原來封包所承載的資料經過加密處理之後,再重新封裝一個新的封包( ESP 封包)才傳送給接收端;接收端拆解 ESP 封包後,先將資料解密,再組合回原封包格式,故稱之為『封裝安全承載』,其特性歸納如下:
ESP 提供資料的隱密性、 資料來源認證、非連接方式完整性、反重播攻擊能力、以及有限度的流量機密性等功能。
具有傳輸模式( Transport Mode) 和通道模式( Tunnel Mode) 等兩種封包格式。
利用封包序號作為防禦重播攻擊 (如同 IPSec AH)。
對所承載的資料可進行加密, 以達到隱密性功能。一般都採用對稱加密法,針對加 /解密所需的秘密金鑰,以及加密演算法皆是由 SA 參數而定。基本規範有 DES 的 CBC 模式與 NULL 編碼演算法。
可利用 ICV 驗證整個封包資料,以達到資料來源驗證 。認證的範圍(亦是所選用的欄位)可由雙方協議的 SA 參數而定,認證演算法有 HMAC-MD5、 HMAC-SHA-1以及 NULL。
必須採用通道模式才具『有限度的流量機密性』 的功能。
可配合 AH 協定使用 ,以達到較完整的封包標頭驗證,與資料隱密性的功能。
相較於 AH, ESP 好像增加了資料隱密性和有限的流量機密性功能,但對於資料來源的認證,就沒有 AH 協定那麼完整。簡單的說, AH 協定主要是提供封包標頭的認證,任何有修改或偽裝封包將被偵測出來,但對於資料是否認證功能,完全取決於所選用的認證欄位而定;當然 ESP 協定除了提供簡單的封包標頭認證之外,並將所承載的資料加密,以達到資料隱密性的功能。
12-8-2 ESP 封包格式
VIDEO
ESP 封包格式與 AH 有很大的不同點, AH 是將認證標頭插入原封包標頭的後面或前面,基本上還是保留原來的封包格式;然而 ESP 為了達到資料的隱密性,會將原封包所承載的資料重新包裝成另一個『 ESP 封包格式』,並依照操作模式(傳輸或通道模式)處理原封包標頭。譬如,傳輸模式就是將 ESP 封包放置於原封包標頭的後面;而通道模式是新建立一個的封包標頭,放置於最前面(容後詳細介紹)。
圖 12-15 IPSec ESP 封包格式
圖 12-12 為 ESP 封包格式(未包含原封包標頭),它是將原封包所承載資料經過加密(或未加密)後,再重新包裝的格式。一般將 SPI 與 Sequence Number 稱之為『 ESP 標頭』( ESP Header),而 Payload Length 與 Next Header 兩個欄位稱之為『 ESP 標尾』( ESP Trailer),各欄位功能如下:
安全參數索引( Security Parameter Index, SPI) : 32 位元長度。 SPI 的功能和 AH 協定中的 SPI 相同,都是雙方事先協議完成安全關聯( SA)的索引值,但它必須配合目的位址和安全協定( AH 或 ESP)來查詢相關安全參數。
序號( Sequence Number) : 32 位元長度。如 AH 協定中的序號一樣,都是作為反重播攻擊使用( 12-4-1 節介紹)。
承載資料( Payload Data) :為不定長度的欄位。當有啟動隱密性資料功能時( SA 參數決定), ESP 協定先將原來 IP 封包所承載的資料( TCP、 UDP 或其他協定),經過某一加密演算法編碼後,再存入此欄位上傳送;如果沒有啟動隱密性功能,則填入原來 IP 所承載的資料。另一方面,如所選用的加密演算法需要『初始向量』( Initial Vector, IV)的話,則必須將 IV 值填入此欄位。基本上,無論是只有密文或密文附帶 IV 值,資料都必須是一個可以被 8 整除的長度。
填補( Padding): 此欄位是選項的不定長度。主要作用於對齊資料長度是否是 32 位元長的整數倍,但它的長度可以由 0 到 255 位元組。
填補長度( Pad Length) : 8 位元長度。此欄位是表示所加入的填補資料的長度,有效值是 0 ~ 255 之間。
下一個標頭( Next Header) : 8 位元長度。此欄位是用來辨識封包裡所承載資料的協定,譬如, Next Header = 6,表承載資料為 TCP 協定的資料封包。
認證資料( Authentication Data) :不定長度欄位。此欄位所存放的是『完整性檢查值』( ICV),認證範圍可以由 SPI 到 Next Header 欄位,這可由雙方協議的 SA 參數而定。
由上述的介紹,可以分辨出 AH 和 ESP 兩協定之間最大的不同點, AH 協定較著重於封包標頭認證,因此對於封包來源認證功能較強;然而 ESP 協定則偏重於承載資料的隱密性及認證,對於資料的保護較為嚴密。使用者可依照環境需求選擇 AH 或 ESP 協定,甚至也可以整合 AH 與 ESP 協定使用。