IPsec SA creation steps
There are two steps on the IPsec SA creation, phase 1 is to creat IKE-SA, and phase 2 is to creat IPSEC-SA, the phase2 will be protected by phase 1. phase 1 creat a security tunnel to protect phase2.
step 1: creat IKE-SA, there are two modes on this step, the major is main mode, which including six messages;
1,&2, to negotiate the security policy, 1,initiator send all type policys supported to remote, and if remote search one of them which it support too, it will respone to initiator;
including Authentication method: psk or md5; hash- algorithm : md5 or sha; encryption algorithm :des or 3des ; sa life time (duration) x seconds;
3&4 , to exchange the DH and key, and creat key;
5&6, those two messages had been protected by key_id, to authentication each other;
step2 : craet IPSEC-SA;
1, negotiate the IPSEC-protocol:esp or ah; ipsec-mode:tunnel or transport; hash-algorithm: md5 or sha;
2, ack and ack too .
第一階段
有主模式和積極模式2種
注意!!!只有remote vpn和Easy vpn是積極模式的,其他都是用主模式來協(xié)商的
讓IKE對等體彼此驗證對方并確定會話密鑰,這個階段永DH進(jìn)行密鑰交換,創(chuàng)建完IKE SA后,所有后續(xù)的協(xié)商都將通過加密合完整性檢查來保護(hù)
phase 1幫助在對等體之間創(chuàng)建了一條安全通道,使后面的phase 2過程協(xié)商受到安全保護(hù)
第二階段
快速模式
協(xié)商IPSEC SA使用的安全參數(shù),創(chuàng)建IPSEC SA,使用AH或ESP來加密IP數(shù)據(jù)流
詳細(xì)過程主模式協(xié)商
IKE phase 1在IPSEC對等體間交換6條消息,這些消息的具體格式取決于使用的對等體認(rèn)證方法
一,使用預(yù)共享密鑰進(jìn)行驗證的主模式(6條)
協(xié)商過程使用ISAKMP消息格式來傳遞(UDP 500)
第一階段
準(zhǔn)備工作
在前2條消息發(fā)送以前,發(fā)送者和接受者必須先計算出各自的cookie(可以防重放和DOS攻擊),這些cookie用于標(biāo)識每個單獨的協(xié)商交換消息
cookie ---RFC建議將源目IP,源目端口,本地生成的隨機數(shù),日期和時間進(jìn)行散列操作.cookie成為留在IKE協(xié)商中交換信息的唯一標(biāo)識,實際上 cookie是用來防止DOS攻擊的,它把和其他設(shè)備建立IPSEC所需要的連接信息不是以緩存的形式保存在路由器里,而是把這些信息HASH成個 cookie值
1&2消息
消息1---發(fā)送方向?qū)Φ润w發(fā)送一條包含一組或多組策略提議,在策略提議中包括5元組(加密算法,散列算法,DH,認(rèn)證方法,IKE SA壽命)
1.策略協(xié)商,在這一步中,就四個強制性參數(shù)值進(jìn)行協(xié)商:
1)加密算法:選擇DES或3DES
2)hash算法:選擇MD5或SHA
3)認(rèn)證方法:選擇證書認(rèn)證、預(yù)置共享密鑰認(rèn)證或Kerberos v5認(rèn)證
4)Diffie-Hellman組的選擇
消息2---接受方查看IKE策略消息,并嘗試在本地尋找與之匹配的策略,找到后,則有一條消息去回應(yīng)
注意!!!發(fā)起者會將它的所有策略發(fā)送給接受者,接受者則在自己的策略中尋找與之匹配的策略(對比順序從優(yōu)先級號小的到大的)(默認(rèn)策略實際就是個模版沒作用,如果認(rèn)證只配置預(yù)共享的話,其他參數(shù)就會copy默認(rèn)策略里的)
在1&2消息中報錯可能出現(xiàn)的原因
1,peer路由不通
2,crypto iskmp key沒有設(shè)置
3,一階段的策略不匹配
3&4消息
這2條消息,用于交換DH的公開信息和隨機數(shù)
兩個對等體根據(jù)DH的公開信息都算出了雙方相等的密植后,兩個nonce連通預(yù)共享密鑰生成第一個skeyID
隨后便根據(jù)SKEY__ID來推算出其他幾個skeyID
skeyID_d---用來協(xié)商出后續(xù)IPSEC SA加密使用的密鑰的
skeyID_a---為后續(xù)的IKE消息協(xié)商以及IPSEC SA協(xié)商進(jìn)行完整性檢查(HMAC中的密鑰)
skeyID_e---為后續(xù)的IKE消息協(xié)商以及IPSEC SA協(xié)商進(jìn)行加密
5&6消息
這2條消息用于雙方彼此驗證,這個過程是受skeyID_e加密保護(hù)的
為了正確生成密鑰,每一個對等體必須找到與對方相對應(yīng)的預(yù)共享密鑰,當(dāng)有許多對等體連接時,每一對對等體兩端都需要配置預(yù)共享密鑰,每一對等體都必須使用ISAKMP分組的源IP來查找與其對等體對應(yīng)的預(yù)共享密鑰(此時由于ID還沒到,彼此先用HASH來彼此驗證對方)
HASH