12-4 IPSec AH協定
12-4-1 IPSec AH 協定簡介 『認證標頭』(Authentication Header, AH)是 IPSec 最基本的安全協定,它是針對 IP 封包標頭做安全認證,提供有『非連接導向的完整性』、『資料來源認證』、以及『反重播』等保護服務(12-6-1 節介紹)。另外 AH 並未對所承載的資料作任何保護,基本上,IP 封包在 Internet 網路上,乃經由路由器(或網路閘門)層層轉送才會到達目的地,每經過一個路由器轉送時,路由器便拆解該封包的標頭,根據標頭上所標示的目的位址,繼續往下一個路徑傳送;當然每一路由器都會重新包裝該封包,並製作新的封包標頭,所以有心人士非常容易去竄改封包標頭,或從事重播攻擊的行為。AH 的功能是對 IP 封包提供認證,確保遭受竄改的封包可以被偵測出來。 AH 使用密碼學的『訊息認證碼』(Message Authentication Code, MAC)來認證 IP 封包標頭。簡單的說,傳送端將 IP 封包標頭經過雜湊演算法得到一個訊息摘要(Message Digest, MD),再將此訊息摘要經過秘密金鑰加密,得到一個 MAC 碼,最後將此 MAC 碼(製作 AH 標頭)與 IP 封包一併傳送給接收端;接收端收到此封包後,以同樣的演算法與秘密金鑰產生另一個 MAC 碼。如果兩者 MAC 碼相同的話,表示封包未遭受竄改或偽造;否則需拋棄此封包。目前最常用的 MAC 演算法是 HMAC(Hash Message Authentication Code),主要原因是,它可以配合不同的雜湊演算法,譬如,MD5、SHA-1、RIPEMD-160 或 Tiger 等雜湊函數。另外加密時所需的秘密金鑰是在安全關聯(SA)裡所制定,在此暫時不去討論它如何產生。 12-4-2 AH 標頭格式 認證標頭(AH)是 IPSec AH 協定所產生的一個新認證標頭,主要功能是認證原封包標頭是否遭受竄改,並將它置放於原封包標頭的後面。AH 標頭包含五個固定長度的欄位和一個不定長度的認證資料欄位,如圖 12-7 所示,各欄位功能如下:
圖 12-7 認證標頭格式
接下來,我們來討論 AH 協定如何利用『序號』防止重播攻擊。它是利用『滑動視窗』(Sliding Window)的運作方式,當 SA 被建立時,傳送者與接收者的序號計數器都必須清除為 0 開始,傳送者每發送一筆封包出去便將序號計數器加一(不一定是給某一個固定接收者);接收者再利用滑動視窗法檢視哪一個序號的封包已經接收過,將所收到的封包號碼以環狀佇列排放,進入的封包序號依序填入佇列的前方(由前端指標指引),而佇列的後端表示已經回應過的序號(由後端指標指引)。在正常的情況下,接收端不斷接收與回應封包,前端指標與後端指標將會不停的滑動,因此稱之為滑動視窗法。當防止封包重播攻擊的功能啟動時,接收端收到封包後,將檢測封包序號是否小於後端指標所指引的數值,如果較小的話,表示該封包已回應過,可不予理會,如此便能避免重播攻擊。 |
翻轉工作室:粘添壽
資訊與網路安全技術
翻轉電子書系列:
|