IKE協(xié)議與實(shí)現(xiàn)_第1頁
IKE協(xié)議與實(shí)現(xiàn)_第2頁
IKE協(xié)議與實(shí)現(xiàn)_第3頁
IKE協(xié)議與實(shí)現(xiàn)_第4頁
IKE協(xié)議與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、IKE協(xié)議與實(shí)現(xiàn)一、IKE的作用當(dāng)應(yīng)用環(huán)境的規(guī)模較小時,可以用手工配置SA;當(dāng)應(yīng)用環(huán)境規(guī)模較大、參與的節(jié)點(diǎn)位置不固定時,IKE可自動地為參與通信的實(shí)體協(xié)商SA,并對安全關(guān)聯(lián)庫(SAD)維護(hù),保障通信安全。二、IKE的機(jī)制IKE屬于一種混合型協(xié)議,由Internet安全關(guān)聯(lián)和密鑰管理協(xié)議(ISAKMP)和兩種密鑰交換協(xié)議OAKLEY與SKEME組成。IKE創(chuàng)建在由ISAKMP定義的框架上,沿用了OAKLEY的密鑰交換模式以及SKEME的共享和密鑰更新技術(shù),還定義了它自己的兩種密鑰交換方式。IKE使用了兩個階段的ISAKMP:第一階段,協(xié)商創(chuàng)建一個通信信道(IKE SA),并對該信道進(jìn)行驗(yàn)證,為雙

2、方進(jìn)一步的IKE通信提供機(jī)密性、消息完整性以及消息源驗(yàn)證服務(wù);第二階段,使用已建立的IKE SA建立IPsec SA(如圖1所示)。IKE共定義了5種交換。階段1有兩種模式的交換:對身份進(jìn)行保護(hù)的“主模式”交換以及根據(jù)基本ISAKMP文檔制訂的“野蠻模式”交換。階段2 交換使用“快速模式”交換。IKE自己定義了兩種交換:1為通信各方間協(xié)商一個新的DiffieHellman組類型的“新組模式”交換;2在IKE通信雙方間傳送錯誤及狀態(tài)消息的ISAKMP信息交換。1主模式交換主模式交換提供了身份保護(hù)機(jī)制,經(jīng)過三個步驟,共交換了六條消息。三個步驟分別是策略協(xié)商交換、DiffieHellman共享值、n

3、once交換以及身份驗(yàn)證交換(如圖2所示)。2野蠻模式交換野蠻模式交換也分為三個步驟,但只交換三條消息:頭兩條消息協(xié)商策略,交換DiffieHellman公開值必需的輔助數(shù)據(jù)以及身份信息;第二條消息認(rèn)證響應(yīng)方;第三條消息認(rèn)證發(fā)起方,并為發(fā)起方提供在場的證據(jù)(如圖3所示)。3快速模式交換快速模式交換通過三條消息建立IPsec SA:頭兩條消息協(xié)商IPsec SA的各項參數(shù)值,并生成IPsec 使用的密鑰;第二條消息還為響應(yīng)方提供在場的證據(jù);第三條消息為發(fā)起方提供在場的證據(jù)(如圖4所示)。4新組模式交換通信雙方通過新組模式交換協(xié)商新的Diffie Hellman組。新組模式交換屬于一種請求/響應(yīng)交

4、換。發(fā)送方發(fā)送提議的組的標(biāo)識符及其特征,如果響應(yīng)方能夠接收提議,就用完全一樣的消息應(yīng)答(如圖5所示)。5ISAKMP信息交換參與IKE通信的雙方均能向?qū)Ψ桨l(fā)送錯誤及狀態(tài)提示消息。這實(shí)際上并非真正意義上的交換,而只是發(fā)送單獨(dú)一條消息,不需要確認(rèn)(如圖6所示)。三、IKE的安全1機(jī)密性保護(hù)IKE使用DiffieHellman組中的加密算法。IKE共定義了五個DiffieHellman組,其中三個組使用乘冪算法(模數(shù)位數(shù)分別是768、1024、1680位),另兩個組使用橢圓曲線算法(字段長度分別是155、185位)。因此,IKE的加密算法強(qiáng)度高,密鑰長度大。2完整性保護(hù)及身份驗(yàn)證在階段1、2交換中,

5、IKE通過交換驗(yàn)證載荷(包含散列值或數(shù)字簽名)保護(hù)交換消息的完整性,并提供對數(shù)據(jù)源的身份驗(yàn)證。IKE列舉了四種驗(yàn)證方法:1預(yù)共享密鑰;2數(shù)字簽名;3公鑰加密;4改進(jìn)的公鑰加密。3抵抗拒絕服務(wù)攻擊對任何交換來說,第一步都是cookie交換。每個通信實(shí)體都生成自己的cookie,cookie提供了一定程度的抗拒絕服務(wù)攻擊的能力。如果在進(jìn)行一次密鑰交換,直到完成cookie交換,才進(jìn)行密集型的運(yùn)算,比如DiffieHellman交換所需的乘冪運(yùn)算,則可以有效地抵抗某些拒絕服務(wù)攻擊,如簡單使用偽造IP源地址進(jìn)行的溢出攻擊。4防止中間人攻擊中間人攻擊包括竊聽、插入、刪除、修改消息,反射消息回到發(fā)送者,重

6、放舊消息以及重定向消息。ISAKMP的特征能阻止這些攻擊。5完美向前保密完美向前保密(PFS),指即使攻擊者破解了一個密鑰,也只能還原這個密鑰加密的數(shù)據(jù),而不能還原其他的加密數(shù)據(jù)。要達(dá)到理想的PFS,一個密鑰只能用于一種用途,生成一個密鑰的素材也不能用來生成其他的密鑰。我們把采用短暫的一次性密鑰的系統(tǒng)稱為“PFS”。如果要求對身份的保護(hù)也是PFS,則一個IKE SA只能創(chuàng)建一個IPsec SA。四、IKE的實(shí)現(xiàn)IKE是一個用戶級的進(jìn)程。啟動后,作為后臺守護(hù)進(jìn)程運(yùn)行。在需要使用IKE服務(wù)前,它一直處于不活動狀態(tài)??梢酝ㄟ^兩種方式請求IKE服務(wù):1當(dāng)內(nèi)核的安全策略模塊要求建立SA時,內(nèi)核觸發(fā)IKE

7、。2當(dāng)遠(yuǎn)程IKE實(shí)體需要協(xié)商SA時,可觸發(fā)IKE。1IKE與內(nèi)核的接口內(nèi)核為了進(jìn)行安全通信,需要通過IKE建立或更新SA。IKE同內(nèi)核間的接口有:1、同SPD通信的雙向接口。當(dāng)IKE得到SPD的策略信息后,把它提交給遠(yuǎn)程IKE對等實(shí)體;當(dāng)IKE收到遠(yuǎn)程IKE對等實(shí)體的提議后,為進(jìn)行本地策略校驗(yàn),必須把它交給SPD。2、同SAD通信的雙向接口。IKE負(fù)責(zé)動態(tài)填充SAD,要向SAD發(fā)送消息(SPI請求和SA實(shí)例),也要接收從SAD返回的消息(SPI應(yīng)答)。2IKE 對等實(shí)體間接口IKE為請求創(chuàng)建SA的遠(yuǎn)程IKE對等實(shí)體提供了一個接口。當(dāng)節(jié)點(diǎn)需要安全通信時,IKE與另一個IKE對等實(shí)體通信,協(xié)商建立

8、IPsec SA。如果已經(jīng)創(chuàng)建了IKE SA,就可以直接通過階段2交換,創(chuàng)建新的IPsec SA;如果還沒有創(chuàng)建IKE SA,就要通過階段1、2交換創(chuàng)建新的IKE SA及IPsec SA。一、總體設(shè)計IPsec規(guī)定的組件包括安全協(xié)議驗(yàn)證頭(AH)和封裝安全載荷(ESP)、安全策略數(shù)據(jù)庫(SPD)和安全關(guān)聯(lián)數(shù)據(jù)庫(SAD)、IKE密鑰交換及加密和驗(yàn)證算法。1.總體結(jié)構(gòu)如圖1所示,IPsec實(shí)現(xiàn)的總體結(jié)構(gòu)分為IPsec協(xié)議引擎、策略管理、IKE密鑰交換及密碼變換4個模塊。其中IPsec安全協(xié)議的處理是數(shù)據(jù)流程的核心,策略管理模塊為其直接提供所需參數(shù),IKE密鑰交換用于自動管理SAD,而密碼算法是達(dá)

9、到安全的基本工具。2.功能分配策略管理:位于內(nèi)核中,管理SPD和SAD,對數(shù)據(jù)包(要進(jìn)行IPsec處理的數(shù)據(jù)報或數(shù)據(jù)包的統(tǒng)稱)的安全保障起決定作用。功能包括SPD和SAD的管理(記錄的增加、刪除、修改、刷新和查詢)、同IPsec協(xié)議引擎的接口和同IKE的接口。IPsec協(xié)議引擎:位于內(nèi)核中,實(shí)現(xiàn)安全協(xié)議AH和ESP。功能包括外出數(shù)據(jù)包的處理、進(jìn)入數(shù)據(jù)包的處理、同IP層和TCP層的接口。IKE密鑰交換:一個用戶級進(jìn)程,用于動態(tài)管理SAD。功能包括IKE間的交互、同SAD和SPD的接口。密碼算法:至少應(yīng)實(shí)現(xiàn)AES、DES、3DES、HMAC-MD5、HMAC-SHA1。二、 實(shí)現(xiàn)策略管理模塊和協(xié)議

10、引擎1.策略管理模塊(1)SPD和SAD在內(nèi)存中的組織和管理IPsec系統(tǒng)所使用的策略庫一般保存在一個策略服務(wù)器中。該服務(wù)器為域中的所有節(jié)點(diǎn)(主機(jī)和路由器)維護(hù)策略庫。各節(jié)點(diǎn)可將策略庫拷貝到本地,也可使用輕型目錄訪問協(xié)議(LDAP)動態(tài)獲取。從名義上說,一個IPsec系統(tǒng)中SPD分為進(jìn)入SPD和外出SPD,均處于內(nèi)核中。系統(tǒng)初始化時,將策略庫中的每一條記錄分別裝入進(jìn)入SPD和外出SPD中。為了確保SPD的有效性和安全性,應(yīng)定期進(jìn)行更新和刷新。SAD的每一條記錄對應(yīng)一個SA。SA經(jīng)IKE協(xié)商得到,并以有序散列鏈表的形式組織。從名義上說,SAD也分為進(jìn)入SAD和外出SAD,分別與進(jìn)入散列鏈表和外出

11、散列鏈表相對應(yīng)。進(jìn)入散列鏈表用SA中的IPsec源地址計算散列值,外出散列鏈表用SA中的IPsec目的地址計算散列值。SA的維護(hù)視SA的建立方式而定。如采用自動方式協(xié)商SA,則根據(jù)SA生存期的狀態(tài)和序號計數(shù)器的溢出標(biāo)志來決定SA的有效性。生存期分為軟生存期和硬生存期。軟生存期狀態(tài)決定發(fā)送方是否可用SA發(fā)送數(shù)據(jù)包,硬生存期狀態(tài)決定接收方是否可用SA來處理收到的數(shù)據(jù)包。當(dāng)一個SA的軟生存期期滿時,發(fā)送方不能繼續(xù)用其來發(fā)送數(shù)據(jù)包,此時,可以啟動或觸發(fā)IKE再協(xié)商一個。使用軟、硬生存機(jī)制可保證通信的持續(xù)性。如采用手工方式建立SA,則不存在生存期,僅根據(jù)序號計數(shù)器的溢出標(biāo)志來決定SA的有效性。如SPD或

12、SAD過于龐大,則可將一部分置于用戶空間。(2)SPD和SAD間的關(guān)系對數(shù)據(jù)包進(jìn)行IPsec處理時,要查詢SPD和SAD。為了提高速度,SPD的每一條記錄都應(yīng)有指向SAD中相應(yīng)記錄的指針,反之亦然。對于外出處理,先查詢SPD,獲得指向SA的指針,再在SAD查詢進(jìn)行處理所需參數(shù)。如SA未建立,則應(yīng)使用IKE協(xié)商,并建立SPD和SAD間的指針。對于進(jìn)入處理,先查詢SAD,對IPsec包進(jìn)行還原,取出指向SPD的指針,然后驗(yàn)證該包應(yīng)用的策略與SPD中規(guī)定的是否相符。2.IPsec協(xié)議引擎(1)外出處理對于外出數(shù)據(jù)包,不論是本機(jī)產(chǎn)生的還是轉(zhuǎn)發(fā)的,IPsec協(xié)議引擎要先調(diào)用策略管理模塊,查詢SPD,確定

13、為數(shù)據(jù)包應(yīng)使用的安全策略。根據(jù)策略管理模塊的指示,協(xié)議引擎對該數(shù)據(jù)包作出3種可能的處理(如圖2所示):丟棄丟棄數(shù)據(jù)包,并記錄出錯信息。繞過給數(shù)據(jù)包添加IP頭,然后發(fā)送。應(yīng)用Ipsec調(diào)用策略管理模塊,查詢SAD,確定是否存在有效的SA。1存在有效的SA,則取出相應(yīng)的參數(shù),將數(shù)據(jù)包封裝(包括加密、驗(yàn)證,添加IPsec頭和IP頭等),然后發(fā)送。2尚未建立SA,策略管理模塊啟動或觸發(fā)IKE協(xié)商,協(xié)商成功后按1中的步驟處理,不成功則應(yīng)將數(shù)據(jù)包丟棄,并記錄出錯信息。3存在SA但無效,策略管理模塊將此信息向IKE通告,請求協(xié)商新的SA,協(xié)商成功后按1中的步驟處理,不成功則應(yīng)將數(shù)據(jù)包丟棄,并記錄出錯信息。(

14、2)進(jìn)入處理對于進(jìn)入數(shù)據(jù)包,IPsec協(xié)議引擎先調(diào)用策略管理模塊,查詢SAD。如得到有效的SA,則對數(shù)據(jù)包進(jìn)行解封(還原),再查詢SPD,驗(yàn)證為該數(shù)據(jù)包提供的安全保護(hù)是否與策略配置的相符。如相符,則將還原后的數(shù)據(jù)包交給TCP層或轉(zhuǎn)發(fā)。如不相符,或要求應(yīng)用IPsec但未建立SA,或SA無效,則將數(shù)據(jù)包丟棄,并記錄出錯信息。三、分片和ICMP問題1解決分片和PMTU問題的建議外出的IP包長度如果超過網(wǎng)絡(luò)接口的最大傳輸單元(MTU),則要進(jìn)行分片處理。由于實(shí)施IPsec時,要增加一個或多個IPsec頭,因此不能直接使用Linux中的PMTU(Path Maximum Transfer Unit)查找

15、。以下分主機(jī)實(shí)施和路由器實(shí)施2種情況來討論分片和PMTU問題。主機(jī)實(shí)施IPsec時,可在傳輸層或IP層查找PMTU。由于主機(jī)不維護(hù)源路由,因此應(yīng)在傳輸層維護(hù)端到端的PMTU信息。計算和確定IP包的長度時,要考慮IPsec的模式及AH頭和ESP頭的長度。對于路由器轉(zhuǎn)發(fā)的數(shù)據(jù)包,如不允許分片,且長度超過了轉(zhuǎn)發(fā)該數(shù)據(jù)包接口的MTU,路由器就應(yīng)向始發(fā)主機(jī)發(fā)送一條控制消息協(xié)議(ICMP)不可到達(dá)消息。為有效利用網(wǎng)絡(luò)帶寬,應(yīng)允許路由器決定是否可對數(shù)據(jù)包進(jìn)行分片。2解決ICMP問題的建議ICMP用于Internet差錯處理和報文控制。ICMP消息分為錯誤消息和查詢消息。以端到端的方式使用IPsec時,不會影響ICMP,而以隧道模式來使用IPsec,則會影響ICMP錯誤消息的處理。這是因?yàn)镮CMP錯誤消息只能發(fā)送數(shù)據(jù)包的外部IP頭及其后的64比特數(shù)據(jù),內(nèi)部IP頭的源地址不會在ICMP錯誤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論