IPSec提供了兩種安全機制:認證和加密。認證機制使IP通訊的資料接收方能夠確認資料傳送方的真實身份以及資料在傳輸過程中是否遭篡改。加密機制透過對資料進行編碼來保證資料的機密性,以防資料在傳輸過程中被竊聽。IPSec 協議組包含Authentication Header(AH)協議、Encapsulating Security Payload(ESP)協議和Internet Key Exchange(IKE)協議。其中AH協議定義了認證的應用方法,提供資料來源認證和完整性保證;ESP協議定義了加密和可選認證的應用方法,提供可靠性保證。在實際進行IP通訊時,可以根據實際安全需求同時使用這兩種協議或選擇使用其中的一種。AH和ESP都可以提供認證服務,不過,AH提供的認證服務要強於ESP。IKE用於金鑰交換(將在以後部分討論)。 一、Authentication Header(AH)協議結構 AH協議為IP通訊提供資料來源認證、資料完整性和反重播保證,它能保護通訊免受篡改,但不能防止竊聽,適合用於傳輸非機密資料。AH的工作原理是在每一個數據包上新增一個身份驗證報頭。此報頭包含一個帶金鑰的hash雜湊(可以將其當作數字簽名,只是它不使用證書),此hash雜湊在整個資料包中計算,因此對資料的任何更改將致使雜湊無效--這樣就提供了完整性保護。 AH報頭位置在IP報頭和傳輸層協議報頭之間,見圖一。 AH由IP協議號" 51"標識,該值包含在AH報頭之前的協議報頭中,如IP報頭。AH可以單獨使用,也可以與ESP協議結合使用。 圖1 AH報頭 AH報頭欄位包括: ·Next Header(下一個報頭): 識別下一個使用IP協議號的報頭,例如,Next Header值等於"6",表示緊接其後的是TCP報頭。 ·Length(長度): AH報頭長度。 ·Security Parameters Index (SPI,安全引數索引): 這是一個為資料報識別安全關聯的 32 位偽隨機值。SPI 值 0 被保留來表明"沒有安全關聯存在"。 ·Sequence Number(序列號):從1開始的32位單增序列號,不允許重複,唯一地標識了每一個傳送資料包,為安全關聯提供反重播保護。接收端校驗序列號為該欄位值的資料包是否已經被接收過,若是,則拒收該資料包。 ·Authentication Data(AD,認證資料): 包含完整性檢查和。接收端接收資料包後,首先執行hash計算,再與傳送端所計算的該欄位值比較,若兩者相等,表示資料完整,若在傳輸過程中資料遭修改,兩個計算結果不一致,則丟棄該資料包。
IPSec提供了兩種安全機制:認證和加密。認證機制使IP通訊的資料接收方能夠確認資料傳送方的真實身份以及資料在傳輸過程中是否遭篡改。加密機制透過對資料進行編碼來保證資料的機密性,以防資料在傳輸過程中被竊聽。IPSec 協議組包含Authentication Header(AH)協議、Encapsulating Security Payload(ESP)協議和Internet Key Exchange(IKE)協議。其中AH協議定義了認證的應用方法,提供資料來源認證和完整性保證;ESP協議定義了加密和可選認證的應用方法,提供可靠性保證。在實際進行IP通訊時,可以根據實際安全需求同時使用這兩種協議或選擇使用其中的一種。AH和ESP都可以提供認證服務,不過,AH提供的認證服務要強於ESP。IKE用於金鑰交換(將在以後部分討論)。 一、Authentication Header(AH)協議結構 AH協議為IP通訊提供資料來源認證、資料完整性和反重播保證,它能保護通訊免受篡改,但不能防止竊聽,適合用於傳輸非機密資料。AH的工作原理是在每一個數據包上新增一個身份驗證報頭。此報頭包含一個帶金鑰的hash雜湊(可以將其當作數字簽名,只是它不使用證書),此hash雜湊在整個資料包中計算,因此對資料的任何更改將致使雜湊無效--這樣就提供了完整性保護。 AH報頭位置在IP報頭和傳輸層協議報頭之間,見圖一。 AH由IP協議號" 51"標識,該值包含在AH報頭之前的協議報頭中,如IP報頭。AH可以單獨使用,也可以與ESP協議結合使用。 圖1 AH報頭 AH報頭欄位包括: ·Next Header(下一個報頭): 識別下一個使用IP協議號的報頭,例如,Next Header值等於"6",表示緊接其後的是TCP報頭。 ·Length(長度): AH報頭長度。 ·Security Parameters Index (SPI,安全引數索引): 這是一個為資料報識別安全關聯的 32 位偽隨機值。SPI 值 0 被保留來表明"沒有安全關聯存在"。 ·Sequence Number(序列號):從1開始的32位單增序列號,不允許重複,唯一地標識了每一個傳送資料包,為安全關聯提供反重播保護。接收端校驗序列號為該欄位值的資料包是否已經被接收過,若是,則拒收該資料包。 ·Authentication Data(AD,認證資料): 包含完整性檢查和。接收端接收資料包後,首先執行hash計算,再與傳送端所計算的該欄位值比較,若兩者相等,表示資料完整,若在傳輸過程中資料遭修改,兩個計算結果不一致,則丟棄該資料包。