IPSEC ***两个阶段的协商过程
IPSEC ×××兩個(gè)階段的協(xié)商過程?
第一階段?
有主模式和積極模式2種?
注意!!!只有remote ***和Easy ***是積極模式的,其他都是用主模式來協(xié)商的 讓IKE對(duì)等體彼此驗(yàn)證對(duì)方并確定會(huì)話密鑰,這個(gè)階段用DH進(jìn)行密鑰交換,創(chuàng)建完IKE SA后,所有后續(xù)的協(xié)商都將通過加密和完整性檢查來保護(hù)?
phase 1幫助在對(duì)等體之間創(chuàng)建了一條安全通道,使后面的phase 2過程協(xié)商受到安全保護(hù)
第二階段?
快速模式?
協(xié)商IPSEC SA使用的安全參數(shù),創(chuàng)建IPSEC SA,使用AH或ESP來加密IP數(shù)據(jù)流?
總結(jié)?
第一階段作用-----對(duì)等體之間彼此驗(yàn)證對(duì)方,并協(xié)商出IKE SA,保護(hù)第二階段中IPSEC SA協(xié)商過程?
第二階段作用-----協(xié)商IPSEC 單向SA,為保護(hù)IPS數(shù)據(jù)流而創(chuàng)建
?
主模式協(xié)商?
IKE phase 1在IPSEC對(duì)等體間交換6條消息,這些消息的具體格式取決于使用的對(duì)等體認(rèn)證方法?
一,使用預(yù)共享密鑰進(jìn)行驗(yàn)證的主模式(6條)?
協(xié)商過程使用ISAKMP消息格式來傳遞(UDP 500)
第一階段: ?
準(zhǔn)備工作?
在前2條消息發(fā)送以前,發(fā)送者和接受者必須先計(jì)算出各自的cookie(可以防重放和DOS***),這些cookie用于標(biāo)識(shí)每個(gè)單獨(dú)的協(xié)商交換消息?
cookie---RFC建議將源目IP,源目端口,本地生成的隨機(jī)數(shù),日期和時(shí)間進(jìn)行散列操作.cookie成為留在IKE協(xié)商中交換信息的唯一標(biāo)識(shí), 實(shí)際上cookie是用來防止DOS***的,它把和其他設(shè)備建立IPSEC所需要的連接信息不是以緩存的形式保存在路由器里,而是把這些信息HASH成個(gè)cookie值 ?
1&2消息?
消息1---發(fā)送方向?qū)Φ润w發(fā)送一條包含一組或多組策略提議,在策略提議中包括5元組(加密算法,散列算法,DH,認(rèn)證方法,IKE SA壽命)?
消息2---接受方查看IKE策略消息,并嘗試在本地尋找與之匹配的策略,找到后,則有一條消息去回應(yīng)?
注意!!!發(fā)起者會(huì)將它的所有策略發(fā)送給接受者,接受者則在自己的策略中尋找與之匹配的策略(對(duì)比順序從優(yōu)先級(jí)號(hào)小的到大的)(默認(rèn)策略實(shí)際就是個(gè)模版沒作用,如果認(rèn)證只配置預(yù)共享的話,其他參數(shù)就會(huì)copy默認(rèn)策略里的) ?
在1&2消息中報(bào)錯(cuò)可能出現(xiàn)的原因?
1,peer路由不通?
2,crypto iskmp key沒有設(shè)置?
3,一階段的策略不匹配?
?
3&4消息?
這2條消息,用于交換DH的公開信息和隨機(jī)數(shù)?
兩個(gè)對(duì)等體根據(jù)DH的公開信息都算出了雙方相等的密植后,兩個(gè)nonce連通預(yù)共享密鑰生成第一個(gè)skeyID?
隨后便根據(jù)SKEY__ID來推算出其他幾個(gè)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條消息用于雙方彼此驗(yàn)證,這個(gè)過程是受skeyID_e加密保護(hù)的?
為了正確生成密鑰,每一個(gè)對(duì)等體必須找到與對(duì)方相對(duì)應(yīng)的預(yù)共享密鑰,當(dāng)有許多對(duì)等體連接時(shí),每一對(duì)對(duì)等體兩端都需要配置預(yù)共享密鑰,每一對(duì)等體都必須使用ISAKMP分組的源IP來查找與其對(duì)等體對(duì)應(yīng)的預(yù)共享密鑰(此時(shí)由于ID還沒到,彼此先用HASH來彼此驗(yàn)證對(duì)方)
HASH認(rèn)證成分---SKEYID_a, cookieA, cookieB,preshare_key, SA paload,轉(zhuǎn)換集,策略 ?
在5&6消息中報(bào)錯(cuò)可能出現(xiàn)的原因?
1,crypto iskmp key設(shè)置錯(cuò)了 ?
消息6--接受者處理過程?
1,用skeyID_e對(duì)消息進(jìn)行加密?
2,用ID(源IP)查找出與共享密鑰 3,skeyID_a和preshare-key等一堆東西一起來計(jì)算HASH 4,和收到的HASH做比較
第二階段(3條)?
phase 2的目標(biāo)是協(xié)商IPSEC SA,而且只有一種模式,快速模式,快速模式的協(xié)商是受IKE SA保護(hù)的 ?
1&2消息?
消息1---發(fā)送方發(fā)送一條報(bào)文,其中包含HASH,IPSEC策略提議,NONCE和可選的DH,身份ID?
HASH:是用于給接受方作完整性檢查的,用于再次認(rèn)證對(duì)等體(必須)HASH的成分和5-6階段一樣?
IPSEC策略提議:其中包括了安全協(xié)議,SPI,散列算法,隧道模式,IPSEC SA生命周期(必須)?
NONCE:用于防重放***,還被用作密碼生成的材料,僅當(dāng)啟用PFS時(shí)用到 ID:描述IPSEC SA是為哪些地址,協(xié)議和端口建立的?
PFS(利用DH交換,可選):用了PFS后就會(huì)在第二階段重新DH出個(gè)數(shù)據(jù)加密KEY,這個(gè)KEY和以前IKE協(xié)商出來的KEY沒有任何關(guān)系,然后由這個(gè)新KEY來加密數(shù)據(jù),只有到這個(gè)IPSEC SA的生命周期后,會(huì)再次DH出新的KEY,這樣,安全性就提高了(普通等ipec SA過期或密鑰超時(shí)時(shí),重新生成的數(shù)據(jù)加密密鑰還是根據(jù)以階段DH出來的skeyID_d衍生出來的)(PFS啟用后,數(shù)據(jù)加密部分使用的密鑰就沒有了衍生的過程)?
DH:重新協(xié)商IPSEC SA實(shí)使用的密鑰(正常情況下IPSEC階段使用的密鑰都是由skeyID_d衍生而來,密鑰之間都有一定的關(guān)系,就算IPSEC SA超時(shí),新的KEY還是和skeyID_d有一定的關(guān)系) ?
在1&2消息中報(bào)錯(cuò)可能出現(xiàn)的原因 1,ipsec trasport不匹配 2,感興趣流不對(duì)稱 3,?
消息2---使用相同的消息進(jìn)行相應(yīng) ?
3消息?
發(fā)送方發(fā)送第三條消息,其中包含一個(gè)HASH,其作用時(shí)確認(rèn)接受方的消息以及證明發(fā)送方處于Active狀態(tài)(表示發(fā)送方的第一條消息不是偽造的)
轉(zhuǎn)載于:https://blog.51cto.com/xiaodanni83/1766190
總結(jié)
以上是生活随笔為你收集整理的IPSEC ***两个阶段的协商过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nutch2.1在windows平台上使
- 下一篇: 150 Evaluate Reverse