安全聯盟
安全聯盟是IPsec對等體間對某些要素的約定,例如,使用哪種協議(AH、ESP還是兩者結合使用)、協議的封裝模式(傳輸模式和隧道模式)、加密算法(DES、AES和3DES)、特定數據流中保護數據的共享密鑰以及密鑰的生存週期等。
出入SA+對方SA
安全聯盟由一個三元組來唯一標識,這個三元組包括:
· SPI(Security Parameter Index)
SPI是爲唯一標識SA而生成的一個32比特的數值,它在AH和ESP頭中傳輸。
· 目的IP地址
· 安全協議號(AH或ESP)
安全聯盟具有生存週期。生存週期的計算包括兩種方式:
· 以時間爲基準,即每隔指定長度的時間就進行更新。
· 以流量爲基準,即每傳輸指定的數據量(字節)就進行更新。
無論哪一種類型的生存週期先到期,安全聯盟都會失效。安全聯盟快要失效前,IKE將爲IPsec協商建立新的安全聯盟,這樣在舊的安全聯盟失效時新的安全聯盟就已經準備好。
安全聯盟的協商方式
安全聯盟的協商方式有兩種:
· 手工協商(manual)方式
· IKE自動協商(isakmp)方式
IPsec協議的封裝模式
IPsec協議的封裝模式有兩種:
· 傳輸模式
IPheader+AH+TCP header+data
IPheader+ESP+TCP header+data+ESP tail+ESP auth data
IPheader+AH+ESP+TCP header+data+ESP tail+ESP auth data
· 隧道模式
· IP header+AH+Raw IP header +TCPheader+data
· IP header+ESP+ Raw IP header+TCP header+data+ESP tail+ESP auth data
· IP header+AH+ESP Raw IPheader ++TCP header+data+ESP tail+ESP auth data
驗證算法與加密算法
· 驗證算法
AH和ESP都能夠對IP報文的完整性進行驗證,以判別報文在傳輸過程中是否被篡改。驗證算法的實現主要是通過雜湊函數。雜湊函數是一種能夠接受任意長的消息輸入,併產生固定長度輸出的算法,該輸出稱爲消息摘要。IPsec對等體計算摘要,如果兩個摘要是相同的,則表示報文是完整、未經篡改的。一般來說IPsec使用如下幾種驗證算法。
§ MD5(MessageDigest 5)
MD5通過輸入任意長度的消息,產生128bit的消息摘要。
§ SHA-1(SecureHash Algorithm)
SHA-1通過輸入任意長度的消息,產生160bit的消息摘要。
§ SHA2-256(SecureHash Algorithm 2)
SHA2-256通過輸入任意長度的消息,產生256bit的消息摘要。
MD5、SHA1、SHA2-256三種認證算法的計算速度是逐級遞減的,而複雜度、安全性和對設備性能的要求是逐級遞增的。
· 加密算法
ESP能夠對IP報文內容進行加密保護,防止報文內容在傳輸過程中被窺探。加密算法實現主要通過對稱密鑰系統,它使用相同的密鑰對數據進行加密和解密。一般來說IPsec使用三種加密算法。
§ DES
使用56bit的密鑰對一個64bit的明文塊進行加密。
§ 3DES
使用三個56bit的DES密鑰(共168bit密鑰)對明文進行加密。
§ AES
使用AES(AdvancedEncryption Standard)密鑰對明文進行加密。密鑰的長度分爲128bit、192bit、256bit。
3DES具有更高的安全性,但其加密數據的速度要比DES慢得多。而AES則在安全性和性能上取得了更好的平衡,也更加靈活。
數據保護方式
IPsec通過對要保護數據進行加密和驗證來提供隧道保護。
用戶可以在設備上配置IPsec採用AH方式、ESP方式或者同時使用AH和ESP方式對需要通過隧道傳輸的數據進行保護:
· AH保護方式
當用戶配置IPsec採用AH方式對要傳送數據進行保護時,可以實現如下功能:
§ 數據完整性校驗
防止數據在發送過程中被非法篡改。通過數據發送方和數據接收方持有相同驗證密鑰,並使用相同驗證算法對要保護的數據進行驗證來實現。
數據發送方在發送數據前使用驗證密鑰和指定驗證算法對要發送的數據進行運算,並將運算後的結果隨同要發送的數據報文一同發送給接收方;接收方接收到報文後,也使用相同的驗證密鑰和驗證算法對報文內容進行運算,如果計算出來的結果與隨同在數據報文中的發送方的計算結果一致,則認爲數據報文在網絡傳送過程中沒有被非法篡改,否則會認爲已經被篡改並丟棄。
使用AH保護方式對數據進行保護時,會對整個IP報文進行驗證,安全性較ESP方式更高。
§ 數據源驗證
驗證報文的發送方是否合法。
§ 防報文重放功能
當數據接收方遭到來自網絡上的重複報文***時,可以防止數據接收方重複處理同一個數據報文
· ESP保護方式
當用戶配置IPsec採用ESP方式對要傳送數據進行保護時,可以實現如下功能:
§ 數據完整性校驗
防止數據在發送過程中被非法篡改。通過數據發送方和數據接收方持有相同驗證密鑰,並使用相同驗證算法對要保護的數據進行驗證來實現。
驗證過程與AH方式相同,當設備配置使用ESP保護方式對數據進行保護時,不保護頭。
§ 數據加密
防止數據在傳送過程中被非法查看。通過數據發送方和數據接收方持有相同加密密鑰,並使用相同加密算法對要保護的數據分別進行加密和解密還原實現。
數據發送方在發送數據前使用加密密鑰和指定加密算法對要發送的數據進行加密,將加密後的密文發送給接收方;接收方接收到密文後,也使用相同的加密密鑰和加密算法對報文內容解密和還原,由於使用密文傳輸,爲要傳送報文提供了安全保護。
§ 數據源驗證
驗證報文的發送方是否合法。
§ 防報文重放功能
當數據接收方遭到來自網絡上的重複報文***時,可以防止數據接收方重複處理同一個數據報文。