資訊與網路安全技術 第 十二章 虛擬私有網路 - IPSec 上一頁  下一頁

 

12-10 IPSec ESP 協定運作

內容:

基本上,在 RFC 2406 中並沒有規定標準的運作程序,因此,不同的實作也許會有不一樣的程序,我們在此僅列出其應有功能的運作程序。

12-10-1 封包外送處理程序

執行 IPSec ESP 功能的裝置也許是移動式主機或安全閘門,當它收到一個往外送的 IP 封包時,其處理 ESP 功能的運作程序如圖 12-19 (a) 所示,步驟如下:

  • 步驟 1 ESP 裝置收到一個往外送的封包,首先由封包標頭的某些欄位(如目的位址、通訊協定、傳輸埠口)作為搜尋關鍵,檢視『安全政策資料庫』(SPD)是否給予 IPSec 處理(是否可得到 SPI 值),如果沒有安全措施,便直接讓封包通過;否則接下一步驟。

  • 步驟 2利用 SPI 搜尋 SAD 資料庫,是否有得到相關的安全關聯(SA),如沒有則啟動 ISAKMP 協定建立所需的 SA;否則依照 SA 參數封裝 IPSec ESP 封包。其中相關參數可能有:安全協定(AH ESP)、操作模式(傳輸或通道模式)、驗證演算法、編碼演算法(加/解密)、共享秘密金鑰等等。

  • 步驟 3增加序號(Sequence Number),做為反重播攻擊使用。

  • 步驟 4倘若隱密性功能啟動的話,便執行加密處理,又如果加密演算需要初始向量(IV),則將初始向量放置於承載資料的最前面。如果是傳輸模式的話,則加密範圍可由原承載資料(TCP UPD 標頭及資料)到 ESP 標尾;如果是通道模式,則必須再包括原 IP 封包標頭。

  • 步驟 5倘若啟動認證功能的話,則計算完整性檢查值(ICV),計算範圍除了原封包所承載資料外,還包含 ESP 標頭。

  • 步驟 6封包分段:依照封包到達目的位址之間的最大傳輸量(MTU),決定是否給予封包分段,如封包長度大於 MTU 時,便需要分段傳輸。

12-19 IPSec ESP 協定的運作程序

12-10-2 封包接收處理程序

當安全閘門或主機收到 IPSec 封包後,處理程序如下:(如圖 12-19 (b) 所示)

  • 步驟 1封包完整接收,如果封包有經過分段,必須全部收完才可以做適當處理,這是因為原封包是經過 IPSec 處理後再分段。

  • 步驟 2利用封包標頭的目的位址、SPI 與協定欄位作為索引,查詢『安全關聯資料庫』(SAD),是否有相關的安全連線(SA),如果搜尋不到便拋棄該封包;否則接下一步驟。

  • 步驟 3查詢順序號碼(SN)是否在回應範圍內,以避免重播攻擊。如果該序號已回應過,便拋棄該封包;否則接下一步驟。

  • 步驟 4如果已啟動認證功能,便依照 SA 參數計算完整檢查值(ICV’),再和封包內的完整檢查值(ICV)比較,如果兩者不相同(ICVICV’),則拋棄該封包;否則接下一步驟。

  • 步驟 5如果資料隱密功能已啟動的話,便依照 SA 參數將封包解密。

  • 步驟 6利用封包標頭某些欄位,搜尋 SPD 資料庫,是否有相關的政策規定。如不符合政策規定,便拋棄該封包;否則便將該封包轉送到適當的主機或網路閘門上,其中搜尋關鍵字可能是 IP 封包標頭或所承載協定(TCP UDP)標頭上的欄位,譬如目的位址、TCP/UDP 協定或傳輸埠口等等。

主講人:粘添壽博士

 

資訊與網路安全技術