專利名稱:一種基于IPsec的DPD探測(cè)方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及一種基于IPsec (IP Security, IP安全)的DPD (Dead Peer Detection,死亡對(duì)端檢測(cè))探測(cè)方法和設(shè)備。
背景技術(shù):
IPsec是三層隧道加密協(xié)議,是實(shí)現(xiàn)三層VPN (Virtual Private Network,虛擬專用網(wǎng)絡(luò))的安全技術(shù),且IPsec在兩個(gè)端點(diǎn)之間提供安全通信,兩個(gè)端點(diǎn)被稱為IPsec對(duì)等體,分別為IPsec發(fā)起方和IPsec響應(yīng)方;進(jìn)一步的,IPsec用于在IP層提供以下安全服務(wù)
(I)數(shù)據(jù)機(jī)密性=IPsec發(fā)送方在通過網(wǎng)絡(luò)傳輸報(bào)文前對(duì)報(bào)文進(jìn)行加密;(2)數(shù)據(jù)完整性IPsec響應(yīng)方對(duì)接收?qǐng)?bào)文進(jìn)行認(rèn)證,以確保報(bào)文在傳輸過程中沒有被篡改;(3)數(shù)據(jù)來源認(rèn)證IPsec響應(yīng)方可以認(rèn)證發(fā)送IPsec報(bào)文的IPsec發(fā)送方是否合法;(4)防重放IPsec響應(yīng)方可以檢測(cè)并拒絕接收過時(shí)或者重復(fù)的報(bào)文。為了實(shí)現(xiàn)上述安全服務(wù),IPsec提供了認(rèn)證和加密等兩種安全機(jī)制;認(rèn)證機(jī)制使IP通信的響應(yīng)方能夠確認(rèn)報(bào)文發(fā)送方的真實(shí)身份以及報(bào)文在傳輸過程中是否遭篡改;加密機(jī)制通過對(duì)報(bào)文進(jìn)行加密運(yùn)算來保證報(bào)文的機(jī)密性,防止報(bào)文在傳輸過程中被竊聽。此外,SA(Security Association,安全聯(lián)盟)是IPsec對(duì)等體之間對(duì)某些要素的約定;如使用哪種協(xié)議(AH(Authentication Header,驗(yàn)證頭)、ESP(Encapsulating SecurityPayload,封裝安全載荷)等)、使用哪種協(xié)議封裝模式(傳輸模式、隧道模式等)、使用哪種加密算法等;進(jìn)一步的,IPsec對(duì)等體之間可以通過IKE (Internet Key Exchange, Internet密鑰交換)協(xié)商建立SA信息,如圖I所示,為IPsec與IKE的關(guān)系示意圖;IKE通過以下階段為IPsec進(jìn)行密鑰協(xié)商并建立SA ;第一階段,IPsec發(fā)起方和IPsec響應(yīng)方之間建立一個(gè)ISAKMP (Internet Security Association and Key Management Protocol, Internet 安全關(guān)聯(lián)和密鑰管理協(xié)議)SA,該SA為用于進(jìn)行IKE協(xié)商的SA (簡(jiǎn)稱為IKE SA);第二階段,利用第一階段的IKE SA為IPsec協(xié)商具體的SA,該SA為用于IP數(shù)據(jù)安全傳輸?shù)腟A (簡(jiǎn)稱為 IPsec SA)ο為了在IPsec對(duì)等體之間建立IPsec會(huì)話,IPsec對(duì)等體之間需要有IP連接性,但由于路由選擇、對(duì)等體重啟等原因,IPsec對(duì)等體之間可能失去了 IP連接性,從而導(dǎo)致IPsec會(huì)話的一端繼續(xù)向不可達(dá)的IPsec對(duì)端發(fā)送進(jìn)行加密操作的數(shù)據(jù)流,浪費(fèi)了 CPU(Central Processing Unit,中央處理單兀)資源。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于IPsec的DH)探測(cè)方法和設(shè)備,以及時(shí)獲知IPsec對(duì)端是否存在,并節(jié)省CPU資源。為了達(dá)到上述目的,本發(fā)明實(shí)施例提供一種基于IPsec的DTO探測(cè)方法,應(yīng)用于包括探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,該方法包括
在所述探測(cè)方設(shè)備上存在多個(gè)IKE SA時(shí),所述探測(cè)方設(shè)備選擇所述多個(gè)IKE SA中最后協(xié)商的IKE SA,通過選擇的IKE SA對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理,并將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給所述被探測(cè)方設(shè)備;
如果所述探測(cè)方設(shè)備接收到所述被探測(cè)方設(shè)備返回的經(jīng)過IKE SA加密處理的Dro探測(cè)響應(yīng)報(bào)文,則利用自身存在的IKE SA對(duì)所述Dro探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理;如果解密成功,則確定所述被探測(cè)方設(shè)備存在;如果解密不成功或者所述探測(cè)方設(shè)備沒有接收到所述被探測(cè)方設(shè)備返回的Dro探測(cè)響應(yīng)報(bào)文,則確定所述被探測(cè)方設(shè)備不存在。所述方法進(jìn)一步包括所述探測(cè)方設(shè)備在將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給所述被探測(cè)方設(shè)備后,為所述Dro探測(cè)請(qǐng)求報(bào)文啟動(dòng)重傳定時(shí)器;
所述探測(cè)方設(shè)備在解密成功時(shí),檢查所述Dro探測(cè)響應(yīng)報(bào)文的合法性;如果合法性檢查通過,則停止所述重傳定時(shí)器,確定所述被探測(cè)方設(shè)備存在;
所述探測(cè)方設(shè)備在合法性檢查不通過、或解密不成功、或沒有接收到Dro探測(cè)響應(yīng)報(bào)文時(shí),如果所述重傳定時(shí)器超時(shí),則向所述被探測(cè)方設(shè)備重新發(fā)送加密處理后的Dro探測(cè)·請(qǐng)求報(bào)文,并啟動(dòng)所述重傳定時(shí)器;
如果所述探測(cè)方設(shè)備向所述被探測(cè)方設(shè)備發(fā)送Dro探測(cè)請(qǐng)求報(bào)文的次數(shù)達(dá)到預(yù)設(shè)次數(shù),且沒有收到合法性檢查通過的Dro探測(cè)響應(yīng)報(bào)文,則所述探測(cè)方設(shè)備確定所述被探測(cè)方設(shè)備不存在。所述探測(cè)方設(shè)備確定所述被探測(cè)方設(shè)備不存在,之后還包括所述探測(cè)方設(shè)備刪除自身存在的所述多個(gè)IKE SA,并刪除自身存在的所述多個(gè)IKE SA對(duì)應(yīng)的IPsec SA。本發(fā)明實(shí)施例提供一種基于IPsec的DTO探測(cè)方法,應(yīng)用于包括探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,該方法包括以下步驟
所述被探測(cè)方設(shè)備接收來自所述探測(cè)方設(shè)備的經(jīng)過IKE SA加密處理的DH)探測(cè)請(qǐng)求報(bào)文,且所述IKE SA為所述探測(cè)方設(shè)備從自身存在的多個(gè)IKE SA中選擇的最后協(xié)商的IKESA ;
所述被探測(cè)方設(shè)備利用自身存在的IKE SA對(duì)所述DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理;如果解密成功,則利用自身存在的IKE SA對(duì)DH)探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理,并將加密處理后的Dro探測(cè)響應(yīng)報(bào)文發(fā)送給所述探測(cè)方設(shè)備;如果解密不成功,則丟棄所述Dro探測(cè)請(qǐng)求報(bào)文。所述方法進(jìn)一步包括所述被探測(cè)方設(shè)備在解密成功時(shí),檢查所述Dro探測(cè)請(qǐng)求報(bào)文的合法性;如果合法性檢查通過,則利用自身存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理;如果合法性檢查不通過,則丟棄所述Dro探測(cè)請(qǐng)求報(bào)文。本發(fā)明實(shí)施例提供一種探測(cè)方設(shè)備,應(yīng)用于包括所述探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,所述探測(cè)方設(shè)備包括
選擇模塊,用于在本設(shè)備上存在多個(gè)IKE SA時(shí),選擇所述多個(gè)IKE SA中最后協(xié)商的IKE SA ;
處理模塊,用于通過選擇的IKE SA對(duì)Dro探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理;
發(fā)送模塊,用于將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給被探測(cè)方設(shè)備;
確定模塊,用于當(dāng)收到被探測(cè)方設(shè)備返回的經(jīng)過IKE SA加密處理的Dro探測(cè)響應(yīng)報(bào)文時(shí),利用本設(shè)備存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理;當(dāng)解密成功時(shí),確定所述被探測(cè)方設(shè)備存在;當(dāng)解密不成功或沒有收到被探測(cè)方設(shè)備返回的Dro探測(cè)響應(yīng)報(bào)文時(shí),確定所述被探測(cè)方設(shè)備不存在。所述處理模塊,還用于在將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給所述被探測(cè)方設(shè)備之后,為所述Dro探測(cè)請(qǐng)求報(bào)文啟動(dòng)重傳定時(shí)器;
所述確定模塊,進(jìn)一步用于在解密成功時(shí),檢查所述Dro探測(cè)響應(yīng)報(bào)文的合法性;如果合法性檢查通過,則停止所述重傳定時(shí)器,確定所述被探測(cè)方設(shè)備存在;在合法性檢查不通過、或解密不成功、或沒有收到Dro探測(cè)響應(yīng)報(bào)文時(shí),如果所述重傳定時(shí)器超時(shí),則向所述被探測(cè)方設(shè)備重新發(fā)送加密處理后的Dro探測(cè)請(qǐng)求報(bào)文,并啟動(dòng)所述重傳定時(shí)器;如果向所述被探測(cè)方設(shè)備發(fā)送Dro探測(cè)請(qǐng)求報(bào)文的次數(shù)達(dá)到預(yù)設(shè)次數(shù),且沒有收到合法性檢查通過的Dro探測(cè)響應(yīng)報(bào)文,則確定所述被探測(cè)方設(shè)備不存在。還包括刪除模塊,用于在確定所述被探測(cè)方設(shè)備不存在時(shí),刪除本設(shè)備存在的所述多個(gè)IKE SA,并刪除本設(shè)備存在的多個(gè)IKE SA對(duì)應(yīng)的IPsec SA。本發(fā)明實(shí)施例提供一種被探測(cè)方設(shè)備,應(yīng)用于包括探測(cè)方設(shè)備和所述被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,所述被探測(cè)方設(shè)備包括
接收模塊,用于接收來自所述探測(cè)方設(shè)備的經(jīng)過IKE SA加密處理的DH)探測(cè)請(qǐng)求報(bào)文,且所述IKE SA為所述探測(cè)方設(shè)備從自身存在的多個(gè)IKE SA中選擇的最后協(xié)商的IKESA ;
處理模塊,用于利用本設(shè)備存在的IKE SA對(duì)所述DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理;并在解密不成功時(shí),丟棄所述Dro探測(cè)請(qǐng)求報(bào)文;在解密成功時(shí),利用本設(shè)備存在的IKE SA對(duì)DPD探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理;
發(fā)送模塊,用于將加密處理后的Dro探測(cè)響應(yīng)報(bào)文發(fā)送給探測(cè)方設(shè)備。所述處理模塊,進(jìn)一步用于在解密成功時(shí),檢查Dro探測(cè)請(qǐng)求報(bào)文的合法性;如果合法性檢查通過,則利用本設(shè)備存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理;如果合法性檢查不通過,則丟棄所述Dro探測(cè)請(qǐng)求報(bào)文。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn)
本發(fā)明實(shí)施例中,通過使用最后協(xié)商的IKE SA對(duì)Dro探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理,并利用Dro探測(cè)請(qǐng)求報(bào)文來檢測(cè)IPsec對(duì)端是否存在,從而及時(shí)獲知IPsec對(duì)端是否存在,并在IPsec對(duì)端不存在時(shí),停止向不可達(dá)的IPsec對(duì)端發(fā)送進(jìn)行加密操作的數(shù)據(jù)流,以節(jié)省CPU資源。
圖I是現(xiàn)有技術(shù)中IPsec與IKE的關(guān)系示意圖2是本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景意圖3是本發(fā)明實(shí)施例提供的一種基于IPsec的DH)探測(cè)方法流程示意圖4是本發(fā)明實(shí)施例中IKE頭的格式示意圖5是本發(fā)明實(shí)施例中DH)類型的通知載荷的格式示意圖6是本發(fā)明實(shí)施例提出的一種探測(cè)方設(shè)備的結(jié)構(gòu)示意圖7是本發(fā)明實(shí)施例提出的一種被探測(cè)方設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
6
本發(fā)明實(shí)施例提出一種基于IPsec的DTO探測(cè)方法,該方法應(yīng)用于包括探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,探測(cè)方設(shè)備可以為IPsec對(duì)等體中的IPsec發(fā)起方或IPsec響應(yīng)方,相應(yīng)的被探測(cè)方設(shè)備為IPsec對(duì)等體中的IPsec響應(yīng)方或IPsec發(fā)起方;以圖2為本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景示意圖,Device A至IP network的出口地址為I. I. I. 1,在該接口上部署IPsec,Device B至IP network的出口地址為2· 2· 2· 2,在該接口上部署IPsec,因此Device A和Device B為IPsec對(duì)等體,并假設(shè)Device A為探測(cè)方設(shè)備,DeviceB為被探測(cè)方設(shè)備。在圖2所示應(yīng)用場(chǎng)景下,Device A保護(hù)的私網(wǎng)中有主機(jī)H0ST1,Device B保護(hù)的私網(wǎng)中有主機(jī)H0ST2,當(dāng)HOSTl有流量需要發(fā)送給H0ST2時(shí),會(huì)觸發(fā)Device A和Device B之間建立IPsec SA (如IPsec SAl)和IKE SA (如IKE SAl);之后如果Device B重啟,則會(huì)觸發(fā) Device A 和 Device B 之間再次建立 IPsec SA (如 IPsec SA2)和 IKE SA (如 IKESA2);此時(shí),Device A上有IPsec SAl(該IPsec SAl—直存在到被老化刪除)和IPsec SA2,以及IKE SAl (該IKE SAl 一直存在到被老化刪除)和IKE SA2 ;由于Device B重啟之前的 IPsec SA 和 IKE SA 會(huì)被清除,因此 Device B 上只有 IPsec SA2 和 IKE SA2?;谏鲜鰬?yīng)用場(chǎng)景,如圖3所示,該方法包括以下步驟
步驟301,在需要發(fā)送Dro探測(cè)請(qǐng)求報(bào)文時(shí),如果Device A上存在有多個(gè)IKE SA (即多個(gè)與Device B相對(duì)應(yīng)的IKE SAjIKE SAl和IKE SA2),則該Device A選擇多個(gè)IKESA中最后協(xié)商的IKE SA (即Device A上最新的一個(gè)IKE SAjniKE SA2),并通過該選擇的IKE SA對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理。本發(fā)明實(shí)施例中,確定需要發(fā)送Dro探測(cè)請(qǐng)求報(bào)文的方式包括但不限于周期性發(fā)送Dro探測(cè)請(qǐng)求報(bào)文或者按需發(fā)送Dro探測(cè)請(qǐng)求報(bào)文。在周期性發(fā)送Dro探測(cè)請(qǐng)求報(bào)文時(shí),Device A將根據(jù)預(yù)設(shè)周期(可以根據(jù)實(shí)際經(jīng)驗(yàn)進(jìn)行設(shè)置)確定是否需要發(fā)送Dro探測(cè)請(qǐng)求報(bào)文。在按需發(fā)送Dro探測(cè)請(qǐng)求報(bào)文時(shí),Device A需要在IPsec有出方向流量時(shí),查看當(dāng)前時(shí)間與最近一次收到Device B流量的時(shí)間之間的時(shí)間差值,如果該時(shí)間差值超過了設(shè)定門限值(該門限值可以根據(jù)實(shí)際經(jīng)驗(yàn)進(jìn)行設(shè)置,需要手動(dòng)配置),則Device A確定需要發(fā)送DH)探測(cè)請(qǐng)求報(bào)文。具體的,為了實(shí)現(xiàn)按需發(fā)送Dro探測(cè)請(qǐng)求報(bào)文,Device A上需要維護(hù)上次從Device B收到正確IPsec SA加密流量時(shí)的時(shí)間戳,記為L(zhǎng)astRcvTime ;在HOSTl發(fā)送的流量到達(dá)Device A后,Device A會(huì)使用IPsec SA對(duì)該流量進(jìn)行加密,檢查當(dāng)前時(shí)間與LastRcvTime之間的時(shí)間差值,如果該時(shí)間差值達(dá)到了 DH)探測(cè)間隔(即設(shè)定門限值),則確定需要發(fā)送DH)探測(cè)請(qǐng)求報(bào)文。步驟302, Device A將加密處理后的DF1D探測(cè)請(qǐng)求報(bào)文發(fā)送給Device B。步驟303,Device B在收到經(jīng)過IKE SA加密處理的DB)探測(cè)請(qǐng)求報(bào)文后,利用自身存在的IKE SA對(duì)Dro探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理。步驟304,如果解密成功,則Device B利用自身存在的IKE SA(如IKE SA2)對(duì)DPD探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理,并將加密處理后的DB)探測(cè)響應(yīng)報(bào)文發(fā)送給Device A ;如果解密不成功,則Device B丟棄DTO探測(cè)請(qǐng)求報(bào)文。本發(fā)明實(shí)施例中,Device A只能通過最后協(xié)商的IKE SA (如IKE SA2)對(duì)DB)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理,而不能通過其它的IKE SA (如IKE SAl)對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理。Device A在通過IKE SAl對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理時(shí),由于Device B上只存在有IKE SA2,因此Device B利用自身存在的IKE SA對(duì)DTO探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理時(shí),解密不成功,不會(huì)返回DPD探測(cè)響應(yīng)報(bào)文給Device A,從而導(dǎo)致Device A認(rèn)為DeviceB不存在,導(dǎo)致錯(cuò)誤的探測(cè)結(jié)果。Device A在通過IKE SA2對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理時(shí),由于Device B上只存在有IKE SA2,因此Device B利用自身存在的IKE SA對(duì)DTO探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理時(shí),能夠解密成功,且會(huì)返回DH)探測(cè)響應(yīng)報(bào)文給Device A,不會(huì)導(dǎo)致出現(xiàn)錯(cuò)誤的探測(cè)結(jié)
果O進(jìn)一步的,Device B在解密成功時(shí),還可以檢查DF1D探測(cè)請(qǐng)求報(bào)文的合法性;如果合法性檢查通過,則Device B需要利用自身存在的IKE SA對(duì)DTO探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理,并執(zhí)行后續(xù)的過程;如果合法性檢查不通過,則Device B需要直接丟棄DTO探測(cè)請(qǐng)求報(bào)文。在一種優(yōu)選的實(shí)施方式中,Device B通過檢查DI3D探測(cè)請(qǐng)求報(bào)文中的序列號(hào)是否為遞增的來進(jìn)行合法性檢查;如果當(dāng)前Dro探測(cè)請(qǐng)求報(bào)文中的序列號(hào)與上一次收到的Dro探測(cè)請(qǐng)求報(bào)文中的序列號(hào)相比是遞增的,則Device B認(rèn)為合法性檢查通過;否則,Device B認(rèn)為合法性檢查不通過。步驟305,如果Device A收到Device B返回的經(jīng)過IKE SA (如IKE SA2)加密處理的Dro探測(cè)響應(yīng)報(bào)文,則利用自身存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理;如果解密成功,則確定Device B存在;如果解密不成功或沒有收到Device B返回的DTO探測(cè)響應(yīng)報(bào)文,則確定Device B不存在。本發(fā)明實(shí)施例中,由于Device B通過IKE SA2對(duì)DPD探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理,且Device A上存在有IKE SAl和IKE SA2,因此Device A利用自身存在的IKE SA對(duì)DPD探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理時(shí),能夠解密成功。進(jìn)一步的,Device A在解密成功時(shí),還可以檢查DI3D探測(cè)響應(yīng)報(bào)文的合法性;如果合法性檢查通過,則Device A確定Device B存在;如果合法性檢查不通過,則Device B需要忽略該DH)探測(cè)響應(yīng)報(bào)文,即不能利用該DH)探測(cè)響應(yīng)報(bào)文確定Device B存在。在一種優(yōu)選的實(shí)施方式中,Device A通過檢查DI3D探測(cè)響應(yīng)報(bào)文中的序列號(hào)是否為之前本地發(fā)送的序列號(hào)(即Dro探測(cè)請(qǐng)求報(bào)文中的序列號(hào))來進(jìn)行合法性檢查;如果Dro探測(cè)響應(yīng)報(bào)文中的序列號(hào)與之前本地發(fā)送的序列號(hào)相同,則Device A認(rèn)為合法性檢查通過;否則,認(rèn)為合法性檢查不通過。在本發(fā)明實(shí)施例的一種優(yōu)選實(shí)施方式中,Device A在將加密處理后的DI3D探測(cè)請(qǐng)求報(bào)文發(fā)送給Device B之后,需要為DTO探測(cè)請(qǐng)求報(bào)文啟動(dòng)重傳定時(shí)器;DeViCe A在收到Device B返回的DH)探測(cè)響應(yīng)報(bào)文,且對(duì)DH)探測(cè)響應(yīng)報(bào)文解密成功,且DH)探測(cè)響應(yīng)報(bào)文的合法性檢查通過時(shí),則停止該DH)探測(cè)請(qǐng)求報(bào)文對(duì)應(yīng)的重傳定時(shí)器,并確定Device B存在。如果Device A沒有收到Device B返回的DI3D探測(cè)響應(yīng)報(bào)文,或收到Device B返回的DH)探測(cè)響應(yīng)報(bào)文、但對(duì)DH)探測(cè)響應(yīng)報(bào)文解密不成功,或收到Device B返回的DB)探測(cè)響應(yīng)報(bào)文、對(duì)DPD探測(cè)響應(yīng)報(bào)文解密不成功、但DPD探測(cè)響應(yīng)報(bào)文的合法性檢查不通過;則當(dāng)重傳定時(shí)器超時(shí)后,向Device B重新發(fā)送DTO探測(cè)請(qǐng)求報(bào)文(即步驟302),并啟動(dòng)重傳定時(shí)器。
以此類推,如果Device A向Device B發(fā)送DPD探測(cè)請(qǐng)求報(bào)文的次數(shù)達(dá)到預(yù)設(shè)次數(shù)(如3次,預(yù)設(shè)次數(shù)可以根據(jù)實(shí)際經(jīng)驗(yàn)值進(jìn)行設(shè)置)后,均沒有在重傳定時(shí)器超時(shí)之前,收到Device B返回的解密成功且合法性檢查通過的DPD探測(cè)響應(yīng)報(bào)文,則Device A確定DeviceB不存在。本發(fā)明實(shí)施例中,如果Device A確定Device B不存在,則Device A還需要?jiǎng)h除自身存在的多個(gè)IKE SA (如IKE SAl和IKE SA2),并刪除自身存在的多個(gè)IKE SA對(duì)應(yīng)的IPsec SA(如IPsec SAl和IPsec SA2),從而停止向不可達(dá)的Device B發(fā)送進(jìn)行加密操作的數(shù)據(jù)流,以節(jié)省CPU資源。在上述的實(shí)現(xiàn)過程中,DPD探測(cè)請(qǐng)求報(bào)文以及DH)探測(cè)響應(yīng)報(bào)文中均包括IKE頭和Dro類型的通知載荷;其中,IKE頭的格式可以如圖4所示,Dro類型的通知載荷的格式可以如圖5所示。在圖4中,各個(gè)字段的含義如下(I)Initiator Cookie :發(fā)起方的Cookie,8個(gè)字節(jié);(2) Responder Cookie :響應(yīng)方的 Cookie,8 個(gè)字節(jié);(3) NextPayload :下一個(gè)載荷類型,值為13么腸 _肥乂1'_撤5!1,標(biāo)識(shí)下一個(gè)載荷是加密的;(4)11^虹主版本號(hào),值為1,表明是IKEvl協(xié)議;(5) MnVer :次版本號(hào),值為O ; (6) ExchangeType :協(xié)商類型,此時(shí)值為4,表明是通告載荷;(7) Flags :標(biāo)記;(8) MessageID :消息ID,此時(shí)值為O ; (9) Length :消息長(zhǎng)度,包括該頭部長(zhǎng)度以及下面的載荷長(zhǎng)度。在圖5中,各個(gè)字段的含義如下=(I)NextPayload :下一個(gè)載荷字段,由于該載荷是最后一個(gè)載荷,因此值為O ; (2) Reserverd :保留字段,值為O ; (3) Payload Length 載荷長(zhǎng)度;(4) Domain of Interpretation (DOI):解釋域,取值為 I,標(biāo)識(shí) ISAKMP ; (5)Protocol-ID :協(xié)議ID,取值為1,標(biāo)識(shí)ISAKMP ; (6) SPI Size SPI大小,取值為16,兩個(gè)Cookie的長(zhǎng)度;(7)Notify Message Type :對(duì)于發(fā)送的DPD探測(cè)請(qǐng)求報(bào)文,該取值為36136,對(duì)于回應(yīng)的DB)探測(cè)響應(yīng)報(bào)文,該取值為36137 ; (8) Security Parameter Index (SPI)兩個(gè)Cookie,共16字節(jié);(9)Notification Data (序列號(hào)XDF1D探測(cè)報(bào)文的序列號(hào),DF1D探測(cè)響應(yīng)報(bào)文中攜帶的值需要與DI3D探測(cè)請(qǐng)求報(bào)文中攜帶的值相同?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種探測(cè)方設(shè)備,應(yīng)用于包括所述探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,如圖6所示,所述探測(cè)方設(shè)備包括
選擇模塊11,用于在本設(shè)備上存在多個(gè)IKE SA時(shí),選擇所述多個(gè)IKE SA中最后協(xié)商的IKE SA ;
處理模塊12,用于通過選擇IKE SA對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理;
發(fā)送模塊13,用于將加密處理后DH)探測(cè)請(qǐng)求報(bào)文發(fā)送給被探測(cè)方設(shè)備;
確定模塊14,用于當(dāng)收到被探測(cè)方設(shè)備返回的經(jīng)過IKE SA加密處理的DH)探測(cè)響應(yīng)報(bào)文時(shí),利用本設(shè)備存在的IKE SA對(duì)DH)探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理;當(dāng)解密成功時(shí),確定被探測(cè)方設(shè)備存在;當(dāng)解密不成功或沒有收到被探測(cè)方設(shè)備返回的Dro探測(cè)響應(yīng)報(bào)文時(shí),確定被探測(cè)方設(shè)備不存在。
所述處理模塊12,還用于在將加密處理后的DH)探測(cè)請(qǐng)求報(bào)文發(fā)送給所述被探測(cè)方設(shè)備之后,為所述Dro探測(cè)請(qǐng)求報(bào)文啟動(dòng)重傳定時(shí)器;
所述確定模塊14,進(jìn)一步用于在解密成功時(shí),檢查所述Dro探測(cè)響應(yīng)報(bào)文的合法性;如果合法性檢查通過,則停止所述重傳定時(shí)器,確定所述被探測(cè)方設(shè)備存在;在合法性檢查不通過、或解密不成功、或沒有收到Dro探測(cè)響應(yīng)報(bào)文時(shí),如果所述重傳定時(shí)器超時(shí),則向所述被探測(cè)方設(shè)備重新發(fā)送加密處理后的Dro探測(cè)請(qǐng)求報(bào)文,并啟動(dòng)所述重傳定時(shí)器;如果向所述被探測(cè)方設(shè)備發(fā)送Dro探測(cè)請(qǐng)求報(bào)文的次數(shù)達(dá)到預(yù)設(shè)次數(shù),且沒有收到合法性檢查通過的Dro探測(cè)響應(yīng)報(bào)文,則確定所述被探測(cè)方設(shè)備不存在。本發(fā)明實(shí)施例中,該探測(cè)方設(shè)備設(shè)備還包括刪除模塊15,用于在確定所述被探測(cè)方設(shè)備不存在時(shí),刪除本設(shè)備存在的所述多個(gè)IKE SA,并刪除本設(shè)備存在的所述多個(gè)IKESA 對(duì)應(yīng)的 IPsec SA。其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種被探測(cè)方設(shè)備,應(yīng)用于包括探測(cè)方設(shè)備和所述被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,如圖7所示,所述被探測(cè)方設(shè)備包括
接收模塊21,用于接收來自所述探測(cè)方設(shè)備的經(jīng)過IKE SA加密處理的DH)探測(cè)請(qǐng)求報(bào)文,且所述IKE SA為所述探測(cè)方設(shè)備從自身存在的多個(gè)IKE SA中選擇的最后協(xié)商的IKESA ;
處理模塊22,用于利用本設(shè)備存在的IKE SA對(duì)所述DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理;并在解密不成功時(shí),丟棄所述DH)探測(cè)請(qǐng)求報(bào)文;在解密成功時(shí),利用本設(shè)備存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理;
發(fā)送模塊23,用于將加密處理后的Dro探測(cè)響應(yīng)報(bào)文發(fā)送給探測(cè)方設(shè)備。所述處理模塊22,進(jìn)一步用于在解密成功時(shí),檢查DH)探測(cè)請(qǐng)求報(bào)文的合法性;如果合法性檢查通過,則利用本設(shè)備存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理;如果合法性檢查不通過,則丟棄Dro探測(cè)請(qǐng)求報(bào)文。其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于IPsec的DH)探測(cè)方法,應(yīng)用于包括探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟在所述探測(cè)方設(shè)備上存在多個(gè)IKE SA時(shí),所述探測(cè)方設(shè)備選擇所述多個(gè)IKE SA中最后協(xié)商的IKE SA,通過選擇的IKE SA對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理,并將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給所述被探測(cè)方設(shè)備;如果所述探測(cè)方設(shè)備接收到所述被探測(cè)方設(shè)備返回的經(jīng)過IKE SA加密處理的Dro探測(cè)響應(yīng)報(bào)文,則利用自身存在的IKE SA對(duì)所述Dro探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理;如果解密成功,則確定所述被探測(cè)方設(shè)備存在;如果解密不成功或者所述探測(cè)方設(shè)備沒有接收到所述被探測(cè)方設(shè)備返回的Dro探測(cè)響應(yīng)報(bào)文,則確定所述被探測(cè)方設(shè)備不存在。
2.如權(quán)利要求I所述的方法,其特征在于,所述方法進(jìn)一步包括所述探測(cè)方設(shè)備在將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給所述被探測(cè)方設(shè)備之后,為所述Dro探測(cè)請(qǐng)求報(bào)文啟動(dòng)重傳定時(shí)器;所述探測(cè)方設(shè)備在解密成功時(shí),檢查所述Dro探測(cè)響應(yīng)報(bào)文的合法性;如果合法性檢查通過,則停止所述重傳定時(shí)器,確定所述被探測(cè)方設(shè)備存在;所述探測(cè)方設(shè)備在合法性檢查不通過、或解密不成功、或沒有接收到Dro探測(cè)響應(yīng)報(bào)文時(shí),如果所述重傳定時(shí)器超時(shí),則向所述被探測(cè)方設(shè)備重新發(fā)送加密處理后的Dro探測(cè)請(qǐng)求報(bào)文,并啟動(dòng)所述重傳定時(shí)器;如果所述探測(cè)方設(shè)備向所述被探測(cè)方設(shè)備發(fā)送Dro探測(cè)請(qǐng)求報(bào)文的次數(shù)達(dá)到預(yù)設(shè)次數(shù),且沒有收到合法性檢查通過的Dro探測(cè)響應(yīng)報(bào)文,則所述探測(cè)方設(shè)備確定所述被探測(cè)方設(shè)備不存在。
3.如權(quán)利要求I或2所述的方法,其特征在于,所述探測(cè)方設(shè)備確定所述被探測(cè)方設(shè)備不存在,之后還包括所述探測(cè)方設(shè)備刪除自身存在的所述多個(gè)IKE SA,并刪除自身存在的所述多個(gè)IKE SA對(duì)應(yīng)的IPsec SA。
4.一種基于IPsec的DH)探測(cè)方法,應(yīng)用于包括探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟所述被探測(cè)方設(shè)備接收來自所述探測(cè)方設(shè)備的經(jīng)過IKE SA加密處理的DH)探測(cè)請(qǐng)求報(bào)文,且所述IKE SA為所述探測(cè)方設(shè)備從自身存在的多個(gè)IKE SA中選擇的最后協(xié)商的IKESA ;所述被探測(cè)方設(shè)備利用自身存在的IKE SA對(duì)所述DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理;如果解密成功,則利用自身存在的IKE SA對(duì)DH)探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理,并將加密處理后的Dro探測(cè)響應(yīng)報(bào)文發(fā)送給所述探測(cè)方設(shè)備;如果解密不成功,則丟棄所述Dro探測(cè)請(qǐng)求報(bào)文。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法進(jìn)一步包括所述被探測(cè)方設(shè)備在解密成功時(shí),檢查所述Dro探測(cè)請(qǐng)求報(bào)文的合法性;如果合法性檢查通過,則利用自身存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理;如果合法性檢查不通過,則丟棄所述Dro探測(cè)請(qǐng)求報(bào)文。
6.一種探測(cè)方設(shè)備,應(yīng)用于包括所述探測(cè)方設(shè)備和被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,其特征在于,所述探測(cè)方設(shè)備包括選擇模塊,用于在本設(shè)備上存在多個(gè)IKE SA時(shí),選擇所述多個(gè)IKE SA中最后協(xié)商的IKE SA ; 處理模塊,用于通過選擇的IKE SA對(duì)DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理; 發(fā)送模塊,用于將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給被探測(cè)方設(shè)備; 確定模塊,用于當(dāng)收到被探測(cè)方設(shè)備返回的經(jīng)過IKE SA加密處理的Dro探測(cè)響應(yīng)報(bào)文時(shí),利用本設(shè)備存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理;當(dāng)解密成功時(shí),確定所述被探測(cè)方設(shè)備存在;當(dāng)解密不成功或沒有收到被探測(cè)方設(shè)備返回的Dro探測(cè)響應(yīng)報(bào)文時(shí),確定所述被探測(cè)方設(shè)備不存在。
7.如權(quán)利要求6所述的設(shè)備,其特征在于, 所述處理模塊,還用于在將加密處理后的Dro探測(cè)請(qǐng)求報(bào)文發(fā)送給所述被探測(cè)方設(shè)備之后,為所述Dro探測(cè)請(qǐng)求報(bào)文啟動(dòng)重傳定時(shí)器; 所述確定模塊,進(jìn)一步用于在解密成功時(shí),檢查所述Dro探測(cè)響應(yīng)報(bào)文的合法性;如果合法性檢查通過,則停止所述重傳定時(shí)器,確定所述被探測(cè)方設(shè)備存在;在合法性檢查不通過、或解密不成功、或沒有收到Dro探測(cè)響應(yīng)報(bào)文時(shí),如果所述重傳定時(shí)器超時(shí),則向所述被探測(cè)方設(shè)備重新發(fā)送加密處理后的Dro探測(cè)請(qǐng)求報(bào)文,并啟動(dòng)所述重傳定時(shí)器;如果向所述被探測(cè)方設(shè)備發(fā)送Dro探測(cè)請(qǐng)求報(bào)文的次數(shù)達(dá)到預(yù)設(shè)次數(shù),且沒有收到合法性檢查通過的Dro探測(cè)響應(yīng)報(bào)文,則確定所述被探測(cè)方設(shè)備不存在。
8.如權(quán)利要求6或7所述的設(shè)備,其特征在于,還包括 刪除模塊,用于在確定所述被探測(cè)方設(shè)備不存在時(shí),刪除本設(shè)備存在的所述多個(gè)IKESA,并刪除本設(shè)備存在的所述多個(gè)IKE SA對(duì)應(yīng)的IPsec SA。
9.一種被探測(cè)方設(shè)備,應(yīng)用于包括探測(cè)方設(shè)備和所述被探測(cè)方設(shè)備的IPsec網(wǎng)絡(luò)中,其特征在于,所述被探測(cè)方設(shè)備包括 接收模塊,用于接收來自所述探測(cè)方設(shè)備的經(jīng)過IKE SA加密處理的Dro探測(cè)請(qǐng)求報(bào)文,且所述IKE SA為所述探測(cè)方設(shè)備從自身存在的多個(gè)IKE SA中選擇的最后協(xié)商的IKESA ; 處理模塊,用于利用本設(shè)備存在的IKE SA對(duì)所述DH)探測(cè)請(qǐng)求報(bào)文進(jìn)行解密處理;并在解密不成功時(shí),丟棄所述Dro探測(cè)請(qǐng)求報(bào)文;在解密成功時(shí),利用本設(shè)備存在的IKE SA對(duì)DPD探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理; 發(fā)送模塊,用于將加密處理后的Dro探測(cè)響應(yīng)報(bào)文發(fā)送給探測(cè)方設(shè)備。
10.如權(quán)利要求9所述的設(shè)備,其特征在于, 所述處理模塊,進(jìn)一步用于在解密成功時(shí),檢查Dro探測(cè)請(qǐng)求報(bào)文的合法性;如果合法性檢查通過,則利用本設(shè)備存在的IKE SA對(duì)Dro探測(cè)響應(yīng)報(bào)文進(jìn)行加密處理;如果合法性檢查不通過,則丟棄所述Dro探測(cè)請(qǐng)求報(bào)文。
全文摘要
本發(fā)明公開了一種基于IPsec的DPD探測(cè)方法和設(shè)備,該方法包括在探測(cè)方設(shè)備上存在多個(gè)與被探測(cè)方設(shè)備相對(duì)應(yīng)的IKESA時(shí),探測(cè)方設(shè)備選擇多個(gè)IKESA中最后協(xié)商的IKESA,通過選擇的IKESA對(duì)DPD探測(cè)請(qǐng)求報(bào)文進(jìn)行加密處理,并將DPD探測(cè)請(qǐng)求報(bào)文發(fā)送給被探測(cè)方設(shè)備;如果探測(cè)方設(shè)備收到DPD探測(cè)響應(yīng)報(bào)文,則對(duì)DPD探測(cè)響應(yīng)報(bào)文進(jìn)行解密處理;如果解密成功,則確定被探測(cè)方設(shè)備存在;如果解密不成功或沒有接收到DPD探測(cè)響應(yīng)報(bào)文,則確定被探測(cè)方設(shè)備不存在。本發(fā)明實(shí)施例中可節(jié)省CPU資源。
文檔編號(hào)H04L29/06GK102946333SQ20121042651
公開日2013年2月27日 申請(qǐng)日期2012年10月31日 優(yōu)先權(quán)日2012年10月31日
發(fā)明者楊超 申請(qǐng)人:杭州華三通信技術(shù)有限公司