天天看點

IPSEC VPN兩個階段的協商過程

IPSEC ×××兩個階段的協商過程 第一階段

有主模式和積極模式2種

注意!!!隻有remote vpn和Easy vpn是積極模式的,其他都是用主模式來協商的

讓IKE對等體彼此驗證對方并确定會話密鑰,這個階段永DH進行密鑰交換,建立完IKE SA後,所有後續的協商都将通過加密合完整性檢查來保護

phase 1幫助在對等體之間建立了一條安全通道,使後面的phase 2過程協商受到安全保護

第二階段

快速模式

協商IPSEC SA使用的安全參數,建立IPSEC SA,使用AH或ESP來加密IP資料流

總結

第一階段作用-----對等體之間彼此驗證對方,并協商出IKE SA,保護第二階段中IPSEC SA協商過程

第二階段作用-----協商IPSEC 單向SA,為保護IPS資料流而建立

主模式協商

IKE phase 1在IPSEC對等體間交換6條消息,這些消息的具體格式取決于使用的對等體認證方法

一,使用預共享密鑰進行驗證的主模式(6條)

協商過程使用ISAKMP消息格式來傳遞(UDP 500)

第一階段

準備工作

在前2條消息發送以前,發送者和接受者必須先計算出各自的cookie(可以防重放和DOS攻擊),這些cookie用于辨別每個單獨的協商交換消息

cookie---RFC建議将源目IP,源目端口,本地生成的随機數,日期和時間進行散列操作.cookie成為留在IKE協商中交換資訊的唯一辨別,實際上cookie是用來防止DOS攻擊的,它把和其他裝置建立IPSEC所需要的連接配接資訊不是以緩存的形式儲存在路由器裡,而是把這些資訊HASH成個cookie值

1&2消息

消息1---發送方向對等體發送一條包含一組或多組政策提議,在政策提議中包括5元組(加密算法,雜湊演算法,DH,認證方法,IKE SA壽命)

消息2---接受方檢視IKE政策消息,并嘗試在本地尋找與之比對的政策,找到後,則有一條消息去回應

注意!!!發起者會将它的所有政策發送給接受者,接受者則在自己的政策中尋找與之比對的政策(對比順序從優先級号小的到大的)(預設政策實際就是個模版沒作用,如果認證隻配置預共享的話,其他參數就會copy預設政策裡的)

在1&2消息中報錯可能出現的原因

1,peer路由不通

2,crypto iskmp key沒有設定

3,一階段的政策不比對

3&4消息

這2條消息,用于交換DH的公開資訊和随機數

兩個對等體根據DH的公開資訊都算出了雙方相等的密植後,兩個nonce連通預共享密鑰生成第一個skeyID

随後便根據SKEY__ID來推算出其他幾個skeyID

skeyID_d---用來協商出後續IPSEC SA加密使用的密鑰的

skeyID_a---為後續的IKE消息協商以及IPSEC SA協商進行完整性檢查(HMAC中的密鑰)

skeyID_e---為後續的IKE消息協商以及IPSEC SA協商進行加密

5&6消息

這2條消息用于雙方彼此驗證,這個過程是受skeyID_e加密保護的

為了正确生成密鑰,每一個對等體必須找到與對方相對應的預共享密鑰,當有許多對等體連接配接時,每一對對等體兩端都需要配置預共享密鑰,每一對等體都必須使用ISAKMP分組的源IP來查找與其對等體對應的預共享密鑰(此時由于ID還沒到,彼此先用HASH來彼此驗證對方)

HASH認證成分---SKEYID_a,cookieA,cookieB,preshare_key,SA paload,轉換集,政策

在5&6消息中報錯可能出現的原因

1,crypto iskmp key設定錯了

消息6--接受者處理過程

1,用skeyID_e對消息進行加密   2,用ID(源IP)查找出與共享密鑰 3,skeyID_a和preshare-key等一堆東西一起來計算HASH 4,和收到的HASH做比較

第二階段(3條)

phase 2的目标是協商IPSEC SA,而且隻有一種模式,快速模式,快速模式的協商是受IKE SA保護的

消息1---發送方發送一條封包,其中包含HASH,IPSEC政策提議,NONCE和可選的DH,身份ID

HASH:是用于給接受方作完整性檢查的,用于再次認證對等體(必須)HASH的成分和5-6階段一樣

IPSEC政策提議:其中包括了安全協定,SPI,雜湊演算法,隧道模式,IPSEC SA生命周期(必須)

NONCE:用于防重播攻擊,還被用作密碼生成的材料,僅當啟用PFS時用到

ID:描述IPSEC SA是為哪些位址,協定和端口建立的

PFS(利用DH交換,可選):用了PFS後就會在第二階段重新DH出個資料加密KEY,這個KEY和以前IKE協商出來的KEY沒有任何關系,然後由這個新KEY來加密資料,隻有到這個IPSEC SA的生命周期後,會再次DH出新的KEY,這樣,安全性就提高了(普通等ipec SA過期或密鑰逾時時,重新生成的資料加密密鑰還是根據以階段DH出來的skeyID_d衍生出來的)(PFS啟用後,資料加密部分使用的密鑰就沒有了衍生的過程)

DH:重新協商IPSEC SA實使用的密鑰(正常情況下IPSEC階段使用的密鑰都是由skeyID_d衍生而來,密鑰之間都有一定的關系,就算IPSEC SA逾時,新的KEY還是和skeyID_d有一定的關系)