專利名稱:用于ip安全/因特網(wǎng)密鑰交換安全網(wǎng)關(guān)的裝置和方法
用于IP安全/因特網(wǎng)密鑰交換安全網(wǎng)關(guān)的裝置和方法
背景技術(shù):
本發(fā)明涉及因特網(wǎng)安全機(jī)制。更具體來說且非通過限制方式,本 發(fā)明針對(duì)用于使用可恢復(fù)IP安全/因特網(wǎng)密鑰交換安全網(wǎng)關(guān)來保障因 特網(wǎng)通信的系統(tǒng)和方法。
本文所使用的簡(jiǎn)稱將具有如下含義
B誦SEG -后備SEG
IKE-因特網(wǎng)密鑰交換
IP-因特網(wǎng)協(xié)議
IPsec - IP安全
M-SEG-主SEG
PAD -對(duì)等認(rèn)證數(shù)據(jù)庫(kù)
SA-安全關(guān)聯(lián)
SAD-安全關(guān)聯(lián)數(shù)據(jù)庫(kù)
SADRRQ - SAD恢復(fù)請(qǐng)求
SADRRP - SAD恢復(fù)回復(fù)
SADBRQ - SAD構(gòu)建請(qǐng)求
SADBRS - SAD構(gòu)建響應(yīng)
SADBAck - SAD構(gòu)建確認(rèn)
SATP-SA傳輸協(xié)議
SAURP-SA更新回復(fù)
SAURQ - SA更新請(qǐng)求
SEG-安全網(wǎng)關(guān)
SPD -安全策略數(shù)據(jù)庫(kù)
VID-虛擬SEGIDVIP-虛擬IP VMAC-虛擬MAC VRRP -虛擬路由器冗余協(xié)議 V-SEG-虛擬安全網(wǎng)關(guān)
技術(shù)現(xiàn)狀的IPsec協(xié)議使用標(biāo)準(zhǔn)化數(shù)據(jù)認(rèn)證和加密算法對(duì)現(xiàn)有IP 版本4和IP版本6標(biāo)準(zhǔn)增力。了 IP分組的始發(fā)地認(rèn)證 (origination-authentication )和內(nèi)容保密性(content-confidentiality )。 可以在兩個(gè)端主機(jī)之間建立IPsec保護(hù)以保障它們的通信信道,以及 還在兩個(gè)SEG節(jié)點(diǎn)之間建立IPsec保護(hù)以保障在內(nèi)在不安全的網(wǎng)絡(luò)上 經(jīng)過的網(wǎng)絡(luò)間業(yè)務(wù)。在這兩種情況中,端到端IPsec保護(hù)依賴于每個(gè) 對(duì)等節(jié)點(diǎn)處單向安全關(guān)聯(lián)(SA)的建立。至少,可以人工方式預(yù)先配 置這些SA,這不好擴(kuò)展。為了緩解配置問題并保護(hù)可擴(kuò)展部署中的 加密密鑰,IKE實(shí)現(xiàn)通常與IPsec功能一起部署。IKE允許預(yù)先描述 每個(gè)對(duì)等節(jié)點(diǎn)之間的SA,從而允許將IPsec SA的實(shí)際建立推遲直到 交換業(yè)務(wù)。可以對(duì)IPsec SA施加時(shí)間和字節(jié)限制,從而限制為其使用 單個(gè)密鑰的業(yè)務(wù)的量。 一旦這些限制期滿,IKE與其對(duì)等方重新協(xié)商 IPsec SA,并生成用于IPsec加密和iU正的全新的密鑰。
當(dāng)啟用IPsec/IKE的SEG崩潰時(shí),經(jīng)IKE動(dòng)態(tài)創(chuàng)建的所有IPsec SA 變得不可使用。不利的是,當(dāng)協(xié)商現(xiàn)有IKE和IPsec SA的設(shè)備之一發(fā) 生故障時(shí),并不存在一種機(jī)制來維護(hù)現(xiàn)有的IKE和IPsec SA。尚未存 在一種用于IKE的可恢復(fù)性機(jī)制(resiliency mechanism)。因此,所有 此類SA被刪除并重新協(xié)商(如果可能的話)。
圖1示出2個(gè)SEG 101、 102之間的IPsec/IKE 100。假定兩個(gè) IPsec/IKE對(duì)等方、SEG節(jié)點(diǎn)A ( SEG-A) 101和SEG節(jié)點(diǎn)B ( SEG-B ) 102已在它們之間協(xié)商IKE SA和至少一個(gè)子IPsec SA。如果SEG-B 102發(fā)生故障,則SEG-A 101未立即檢測(cè)到該故障,并且因此SEG-A 101將繼續(xù)向SEG-B 102發(fā)送數(shù)據(jù)。因?yàn)镾EG-B 102已發(fā)生故障,所 以它未接收該數(shù)據(jù),因此,由SEG-A 101在IPsec SA上發(fā)送的所有分組被黑洞吞噬。當(dāng)出現(xiàn)此情況時(shí),目前有幾個(gè)可能的后續(xù)事件
(1) SEG-B 102不重啟;
(2) SEG-B 102重啟并且SEG-A 101不具有失效對(duì)等方檢測(cè)方案;
或
(3) SEG-B 102重啟并且SEG-A 101具有失效對(duì)等方檢測(cè)方案。 如果SEG-B 102不重啟,則SEG-A 101無法與SEG-B 102通信,
并且加密的通信將停止。當(dāng)IPsec SA期滿時(shí),SEG-A 101無法協(xié)商置 換IPsec SA。在此情況下,SEG-A 101和SEG-B 102之間加密的業(yè)務(wù) 完全停止。
如果SEG-B 102重啟,但是SEG-A 101不具有失效對(duì)等方檢測(cè)方 案,則SEG-A 101將不得不等到SEG-A 101至SEG-B 102的IKE SA 超時(shí),這可能是數(shù)小時(shí)或甚至數(shù)天。當(dāng)SEG-A 101上的IKE SA期滿 時(shí),SEG-A 101將檢測(cè)到所有子IPsec SA和IKE SA。然后,SEG-A 101 可以重新協(xié)商IKE SA和子IPsec SA,并加密的業(yè)務(wù)可恢復(fù)。在此情 況下,加密的業(yè)務(wù)可能被中斷數(shù)小時(shí)或數(shù)天。
如果SEG-B 102重啟且SEG-A 101具有失效對(duì)等方4企測(cè)方案,則 SEG-A 101將在較短的時(shí)間期間(數(shù)秒到數(shù)分鐘)內(nèi)知道SEG-B 102 的故障。 一旦SEG-A 101確定了 SEG-B 102已發(fā)生故障,貝'J SEG-A 可以刪除發(fā)往SEG-B 102的其子IPsec SA和父IKE SA。然后,SEG-A 101可以重新協(xié)商IKE SA和關(guān)聯(lián)的子IPsec SA。由此,可以恢復(fù)加密 的業(yè)務(wù)。在此情況下,加密的業(yè)務(wù)可能被中斷差不多一分鐘或數(shù)分鐘。
在高可用性部署方案中,如下情況下是有利的具有基于網(wǎng)絡(luò)的 可恢復(fù)IPsec/IKE方法和裝置,其中IPsec/IKE對(duì)等方可以停止運(yùn)轉(zhuǎn), 但是如果情況真如此的話,對(duì)加密的業(yè)務(wù)影響最小。本發(fā)明提供這樣 的系統(tǒng)和方法。
發(fā)明內(nèi)容
本發(fā)明主要涉及虛擬化物理SEG的IPsec/IKE功能以將其功能從
7物理節(jié)點(diǎn)解耦,并且引入由一組協(xié)作物理安全網(wǎng)關(guān)實(shí)現(xiàn)的該V-SEG功 能的基于網(wǎng)絡(luò)的可恢復(fù)性方案。
一種實(shí)現(xiàn)上述目的的方法和實(shí)現(xiàn)該方法的裝置要求修改向遠(yuǎn)程 IPsec/IKE對(duì)等方實(shí)現(xiàn)V-SEG功能的一組物理SEG之間的VRRP。同 VRRP合作,引入一種新協(xié)議,本文稱為IPsec/IKE SA傳輸協(xié)議 (SATP ),以用于在具有VRRP能力的SEG之間交換IKE和IPsec SA 信息。SATP以幾乎實(shí)時(shí)的方式對(duì)于動(dòng)態(tài)IPsec狀態(tài)信息同步所有參與 SEG。因此,在主VRRP SEG故障的情況下,熱備用SEG之一接管 V-SEG功能。這允許V-SEG功能保持起作用,即使一個(gè)或多個(gè)參與 SEG可能發(fā)生故障。
在下文的部分中,將參考附圖中示出的示范實(shí)施例來描述本發(fā) 明,其中
圖1示出作為技術(shù)現(xiàn)狀的2個(gè)SEG之間的IPsec/IKE; 圖2示出Net-A與Net-B之間通過SEG-A與SEG-B之間的IPsec 隧道的安全業(yè)務(wù);
圖3示出具有單個(gè)SEG節(jié)點(diǎn)故障支持的V-SEG;以及 圖4示出具有多個(gè)SEG節(jié)點(diǎn)故障支持的V-SEG。
具體實(shí)施例方式
本發(fā)明包括提供由SEG的虛擬IP地址冗余實(shí)現(xiàn)的物理SEG節(jié)點(diǎn) 冗余的第一機(jī)制和適合于為正在進(jìn)行的SA提供會(huì)話可恢復(fù)性的第二 機(jī)制。雖然第二機(jī)制提供IPsec/IKE會(huì)話可恢復(fù)性,但是它將第一機(jī) 制用于主故障檢測(cè)以及后備進(jìn)行的IP地址接管。下文描述這兩個(gè)機(jī) 制。
V-SEG故障檢測(cè)和恢復(fù)V-SEG故障檢測(cè)和恢復(fù)是物理SEG的冗余,由與V-SEG功能關(guān) 聯(lián)的VIP來標(biāo)識(shí)。從遠(yuǎn)程對(duì)等IPsec/IKE SEG節(jié)點(diǎn)的角度來看,VIP 地址必須始終可達(dá)到的而不論特定物理SEG節(jié)點(diǎn)是否發(fā)生故障。這要 求在主SEG節(jié)點(diǎn)發(fā)生故障時(shí),至少一個(gè)后備SEG節(jié)點(diǎn)來接管VIP地 址。本發(fā)明在主和后備SEG節(jié)點(diǎn)之間使用VRRP。在LAN段上附連 的一組協(xié)作SEG運(yùn)行VRRP協(xié)議以對(duì)遠(yuǎn)程IPsec/IKE對(duì)等方提供不中 斷且透明的V-SEG服務(wù)。V-SEG利用三個(gè)參數(shù)來定義(1 )VIP地址; (2 ) VMAC地址;以及(3 )虛擬SEG ID。在與遠(yuǎn)程IPsec/IKE節(jié)點(diǎn) 構(gòu)成對(duì)等時(shí),主SEG節(jié)點(diǎn)擁有V-SEG功能和使用〈VIP地址,VMAC 地址>對(duì)。在主SEG發(fā)生故障的情況中,此〈VIP地址,VMAC地址〉 對(duì)被后備SEG接管。標(biāo)準(zhǔn)VRRP使用秒作為用于主故障檢測(cè)的時(shí)間 粒度,這在每個(gè)VRRP分組的通告間隔(Adver Int)字段中攜帶(以秒 數(shù)來表示)。在如本文描述的為V-SEG故障檢測(cè)和恢復(fù)而修改VRRP 中,本發(fā)明使用以毫秒為單位的Adver Int字段的值。VRRP的特定修 改稱為亞秒級(jí)VRRP ( sub-second VRRP )。
SA數(shù)據(jù)庫(kù)的故障轉(zhuǎn)移保護(hù)
除了 V-SEG功能的可用性和可達(dá)到性,SA數(shù)據(jù)庫(kù)的故障轉(zhuǎn)移保 護(hù)確保主SEG故障期間維護(hù)已建立的IKE和IPsec SA。此能力提供 V-SEG服務(wù)的充分冗余。包括將IPsec/IKE功能虛擬化以及會(huì)話可恢 復(fù)性的本發(fā)明對(duì)于遠(yuǎn)程IPsec/IKE對(duì)等節(jié)點(diǎn)是透明的。
虛擬安全網(wǎng)關(guān)(V-SEG)
V-SEG使用矢量〈VIP地址,VMAC地址,VID〉來定義,其是如 何根據(jù)VRRP定義虛擬路由器,其中VID是0-255之間的VRRP組編 號(hào)。在本地子網(wǎng)上配置兩個(gè)或兩個(gè)以上SEG節(jié)點(diǎn),它們形成具有0-255 之間的優(yōu)先級(jí)的VRRP組。具有最高優(yōu)先級(jí)的SEG節(jié)點(diǎn)是V-SEG功 能的潛在擁有者。<VIP, VMAC, VID〉矢量開始并不為任何特定SEG節(jié)點(diǎn)所擁有。所有參與SEG節(jié)點(diǎn)經(jīng)過主選舉過程。具有最高優(yōu)先級(jí)的 SEG節(jié)點(diǎn)要求主角色(M-SEG)而其它節(jié)點(diǎn)委任它們自己作后備 (B-SEG )。 M-SEG將自動(dòng)承擔(dān)包括〈VIP, VMAC, VID〉的所有權(quán)的 V-SEG的角色。M-SEG和所有B-SEG是利用對(duì)于V-SEG功能所需的 相同靜態(tài)參數(shù)集來配置的,下文對(duì)此進(jìn)行描述。
虛擬安全網(wǎng)關(guān)配置
在M-SEG與所有參與B-SEG之間有兩種類型的信息必須進(jìn)行同 步。來自配置文件和用戶交互的靜態(tài)信息和學(xué)習(xí)的信息,下文對(duì)此進(jìn) 行描述。靜態(tài)配置構(gòu)成SPD和PAD的項(xiàng)。M-SEG和所有B-SEG是 利用V-SEG功能所需的相同靜態(tài)參數(shù)集來配置的(a)SPD項(xiàng),以及 (b )PAD項(xiàng)。這提供由參與SATP的一個(gè)或多個(gè)B-SEG和一個(gè)M-SEG 構(gòu)成的具有VRRP能力的SEG的必要設(shè)置以便為V-SEG功能提供冗 余。確切地來說,在啟動(dòng)時(shí)間,應(yīng)用于M-SEG VRRP主節(jié)點(diǎn)的任何 IKE或IPsec配置必須與每個(gè)B-SEG節(jié)點(diǎn)上的相應(yīng)配置同步。確保這 一點(diǎn)的一種方法是使公共配置文件在所有成員SEG之間共享。相似 地,當(dāng)用戶修改M-SEG節(jié)點(diǎn)上的V-SEG功能的配置信息時(shí),必須有 人工或管理接口以將該配置同步到所有B-SEG節(jié)點(diǎn)。這將使B-SEG 上的SPD和PAD與M-SEG的SPD和PAD保持都是當(dāng)前的。有在參 與V-SEG功能的一組SEG之間同步這兩個(gè)配置數(shù)據(jù)庫(kù)條目的常規(guī)方 法,因此不被本文考慮。
虛擬安全網(wǎng)關(guān)會(huì)話可恢復(fù)性
除了人工配置的IPsec SA夕卜,任何IPsec實(shí)現(xiàn)在其SAD中維護(hù) 的唯一動(dòng)態(tài)或?qū)W習(xí)的配置信息是IKE創(chuàng)建的IPsec SA。本發(fā)明將SAD 的范圍擴(kuò)大到包括IKE SA。這是包含系統(tǒng)啟動(dòng)時(shí)的人工IPsec SA并 由學(xué)習(xí)的IKE和IPsec SA填充的數(shù)據(jù)庫(kù)。SATP來實(shí)現(xiàn)的。為了 V-SEG服務(wù)的SA數(shù)據(jù)庫(kù)的可恢復(fù)性和恢復(fù), SATP定義M-SEG與B-SEG之間的如下七個(gè)消息 l.SA更新請(qǐng)求-SAURQ
2. SA更新回復(fù)-SAURP
3. SAD恢復(fù)請(qǐng)求-SADRRQ
4. SAD恢復(fù)回復(fù)-SADRRP
5. SAD構(gòu)建請(qǐng)求-SADBRQ
6. SAD構(gòu)建響應(yīng)-SADBRS
7. SAD構(gòu)建確認(rèn)-SADBAck
常規(guī)技術(shù)中公知的,可以使用多播SA或單播SA通過預(yù)先配置 的靜態(tài)IPsec隧道來保護(hù)SATP消息。
周期性SA更新-SA更新請(qǐng)求消息(SAURQ) SAURQ消息的目的是對(duì)于SA項(xiàng)保持所有B-SEG與M-SEG同 步。SAURQ消息包含如下動(dòng)態(tài)參數(shù)
消息編號(hào)
SA ID {SPI值,遠(yuǎn)程對(duì)等方ID,本地對(duì)等方ID}
*消息類型{添加I刪除I更新}
SA類型{IKE, IPsec-AH, IPsec-ESP} 刪除內(nèi)容{空}
更新內(nèi)容{已發(fā)送的分組,已接收的分組,序列號(hào)(如果SA 類型=IPsec),上次使用時(shí)間(如果SA類型=IKE)}
添加內(nèi)容{ IKE { Cookies,協(xié)商的次數(shù),最大字節(jié)計(jì)數(shù),最 大時(shí)間計(jì)數(shù),創(chuàng)建時(shí)間,加密密鑰,加密密鑰長(zhǎng)度,Skeyid,加密初始 化矢量,加密初始化矢量長(zhǎng)度,重試限制,加密算法名稱,認(rèn)證算法 名稱,偽隨機(jī)函數(shù)(prf)算法名稱)IPsec {回復(fù)打開/關(guān)閉,完全正向保 密(Perfect forward secrecy) (Pfs)打開/關(guān)閉、啟動(dòng)器(Initiator)打開/ 關(guān)閉,模式{隧道I傳輸}通知對(duì)等方打開/關(guān)閉,通知IPsec打開/關(guān)閉,Pfs組,SPI發(fā)往,SPI發(fā)自,源業(yè)務(wù)選擇器,目的地業(yè)務(wù)選擇器,認(rèn) 證密鑰,認(rèn)證密鑰長(zhǎng)度,加密密鑰,加密密鑰長(zhǎng)度,父IKESAJ
SAURQ消息按如下方式工作 一旦協(xié)商或刪除了 IKE或IPsec SA 或周期性更新定時(shí)器期滿,當(dāng)前擁有V-SEG功能的M-SEG就必須以 SA (對(duì)于創(chuàng)建和刪除的情況)和SA信息(如果周期性定時(shí)器期滿) 來更新所有其它B-SEG。 M-SEG節(jié)點(diǎn)發(fā)送SAURQ消息,該消息包含 SA的所有必需的參數(shù)。這使B-SEG上的SA數(shù)據(jù)庫(kù)與M-SEG的SA 數(shù)據(jù)庫(kù)保持都是當(dāng)前的。最后,B-SEG基于接收到SAURQ更新來采 取動(dòng)作,包括但不限于在硬件中安裝SA或?qū)涌趹?yīng)用保密圖 (cryptomap )。
SAURQ消息作為尋址到專用于V-SEG組的所有SEG多播地址 (all-SEG multicast address )的多播消息來發(fā)送。例如,所有SEG多 播地址可以公式化為224.x.y.<VID>,其中多播地址的最后八位字節(jié)是 VID。在本發(fā)明的實(shí)現(xiàn)中,所有SEG多播地址是保留的,并且該地址 的最后八位字節(jié)用于表示〈VID〉。每個(gè)參與的SEG節(jié)點(diǎn)都必須加入該 多播地址的最后八位字節(jié)標(biāo)識(shí)的對(duì)應(yīng)所有SEG多播組,該多播地址的 最后八位字節(jié)等于V-SEG的VID。此SA更新消息確保使所有B-SEG 中的SA數(shù)據(jù)庫(kù)以實(shí)時(shí)方式與M-SEG的SA數(shù)據(jù)庫(kù)同步。當(dāng)B-SEG 接收到SAURQ消息時(shí),它將以某個(gè)SAURP消息來響應(yīng)M-SEG,該 SAURP消息用于確認(rèn)SAURQ消息的接收。
根據(jù)本發(fā)明的教導(dǎo),如果M-SEG節(jié)點(diǎn)發(fā)生故障,則B-SEG將通 過亞秒級(jí)VRRP檢測(cè)到此故障。B-SEG將基于配置的VRRP優(yōu)先級(jí)快 速地選擇新的M-SEG。新M-SEG就SA數(shù)據(jù)庫(kù)(IKE和IPsec SA ) 而言將已經(jīng)與發(fā)生故障的M-SEG同步直到故障點(diǎn)或至少到具有最高 消息標(biāo)識(shí)的上次SAURQ消息。新M-SEG承擔(dān)新V-SEG角色,接管 V-SEG的〈VIP, VMAO的所有權(quán)并充當(dāng)新M-SEG。
使重啟的SEG能夠選擇適合的伙伴SEG以用于SA數(shù)據(jù)庫(kù)恢復(fù)的消息
當(dāng)發(fā)生故障的SEG節(jié)點(diǎn)(先前的M-SEG)再次可運(yùn)行時(shí),它重 啟。 一旦它重啟,它就必須將特殊標(biāo)志、例如同步標(biāo)志設(shè)置為假,因 為它的非永久性SA數(shù)據(jù)庫(kù)由于該故障而丟失并且它還必須從當(dāng)前 M-SEG或任何其它存活的B-SEG來重新構(gòu)建它的數(shù)據(jù)庫(kù)。同步標(biāo)志 設(shè)置為真時(shí),表示該B-SEG以周期性的基礎(chǔ)與M-SEG同步。重啟的 SEG還將自己設(shè)置成B-SEG。注意,已經(jīng)處于同步的每個(gè)其它SEG 節(jié)點(diǎn)(M-SEG或B-SEG)均將其同步標(biāo)志設(shè)置為真。為了重新構(gòu)建 其丟失的SA數(shù)據(jù)庫(kù),新(重新)啟動(dòng)的B-SEG搜索除M-SEG之外 的存活SEG。這為了緩解M-SEG重新同步的開銷,并允許它處理對(duì) 于對(duì)等IPsec/IKE節(jié)點(diǎn)的V-SEG功能。注意新啟動(dòng)的SEG和重啟的 SEG遵循相似的初始化過程。
重啟的SEG選擇潛在的伙伴來重新構(gòu)建它丟失的SAD。 SAD中 人工配置的條目將經(jīng)其它方法來進(jìn)行同步。如前文提到的,以靜態(tài)方 式配置的SPD和PAD將經(jīng)其它方法來進(jìn)行同步。SATP定義如下兩個(gè) 附加的消息SAD恢復(fù)請(qǐng)求-SADRRQ和SAD恢復(fù)回復(fù)-SADRRP。 重啟的B-SEG將SADRRQ發(fā)現(xiàn)請(qǐng)求作為尋址到所有SEG多播地址的 多播分組來發(fā)送。具有設(shè)置為真的同步標(biāo)志的所有存活SEG節(jié)點(diǎn)(包 括當(dāng)前M-SEG)通過向請(qǐng)求B-SEG發(fā)送單播SADRRP回復(fù)以指示其 優(yōu)先級(jí)(響應(yīng)SEG的VRRP優(yōu)先級(jí))來響應(yīng)此發(fā)現(xiàn)請(qǐng)求。請(qǐng)求B-SEG (它是重啟的B-SEG)必須選擇具有最低優(yōu)先級(jí)的SEG節(jié)點(diǎn)來與之 同步其SAD。如果沒有B-SEG可用,則選擇當(dāng)前M-SEG。 SADRRQ 消息格式是簡(jiǎn)單的請(qǐng)求,SADRRP消息格式與SAURP相似。
使重啟的SEG能夠恢復(fù)SA數(shù)據(jù)庫(kù)的消息
SATP還定義如下3個(gè)消息以在重啟的SEG與被選擇的SEG之 間使用以幫助重新創(chuàng)建其丟失的數(shù)據(jù)庫(kù)SADBRQ、 SADBRS和 SADBAck。正如本文提到的,重啟的B-SEG將向被選擇的本地SEG節(jié)點(diǎn)發(fā)起SADBRQ請(qǐng)求。響應(yīng)此請(qǐng)求,被選擇的SEG節(jié)點(diǎn)(如果存 在且充分同步的話,則為B-SEG,否則為M-SEG)將發(fā)送一系列的 SADBRS消息,這些消息在單個(gè)消息中包含盡可能容納的多個(gè)SA項(xiàng) (這受到邏輯/物理鏈路的MTU的限制),直到在其數(shù)據(jù)庫(kù)中不再有 條目。作為回答,重啟的B-SEG將以對(duì)應(yīng)的SADBAck消息來確認(rèn)每 個(gè)SADBRS消息,從而確認(rèn)接收到給定數(shù)量的SA項(xiàng)。第 一個(gè)SADBRS 消息必須包含指示它是一 系列這些消息的第 一個(gè)的指示符標(biāo)志。最后 一個(gè)SADBRS消息必須包含指示數(shù)據(jù)庫(kù)傳輸?shù)慕Y(jié)束的指示符標(biāo)志。一 旦接收到整個(gè)SA lt據(jù)庫(kù),則重啟的B-SEG再次重置其同步標(biāo)志為真。 在SA數(shù)據(jù)庫(kù)傳輸期間,重啟的B-SEG可能從當(dāng)前M-SEG接收 SAURQ消息,因?yàn)樾碌腟A被創(chuàng)建/刪除或刷新。重啟的B-SEG在重 新構(gòu)建其丟失的SA數(shù)據(jù)庫(kù)的過程中必須通過適當(dāng)?shù)亟邮懿⒛切l 目標(biāo)記為最新來響應(yīng)這些現(xiàn)場(chǎng)更新。SADBRQ消息格式是簡(jiǎn)單的請(qǐng) 求,SADBRS與SAURQ相似,但是可包含多個(gè)SA條目,而SADBAck 是簡(jiǎn)單的確認(rèn)。
因V-SEG切換而對(duì)IPsec/IKE對(duì)等方的影響
因?yàn)镮KE和IPsec超時(shí)遠(yuǎn)大于VRRP超時(shí),所以VRRP切換具有 最小的影響。正如上文提到的,SATP以幾乎實(shí)時(shí)方式周期性地以 M-SEG的狀態(tài)更新后備SEG。這包括周期性地發(fā)送和接收的分組的 序列號(hào)和計(jì)數(shù),其周期性通常按VRRP定時(shí)器的粒度。因此,當(dāng)B-SEG 接管發(fā)生故障的M-SEG時(shí),它利用來自最新SAURQ消息的數(shù)據(jù)如 此做。因此,當(dāng)新M-SEG響應(yīng)通信中的IPsec/IKE對(duì)等方時(shí),它可能 過時(shí)了亞秒級(jí)切換時(shí)間量,并可能觸發(fā)防重放(anti-replay)告警。但 是,切換將不會(huì)導(dǎo)致通信停止。
注意,在M-SEG故障以及隨后將V-SEG功能切換到B-SEG期 間,活動(dòng)的IKE對(duì)等方將繼續(xù)發(fā)送數(shù)據(jù)。取決于用于切換的時(shí)間期間、 鏈路的速度和IKE對(duì)等方發(fā)送的數(shù)據(jù)量,在進(jìn)行VRRP切換時(shí),可能有大量分組從尋址到V-SEG的對(duì)等方發(fā)送。 一旦B-SEG完全承擔(dān) V-SEG身份和關(guān)聯(lián)的功能,貝'j IPsec的防重放功能將顯示遠(yuǎn)程IPsec 對(duì)等方可能在發(fā)送的分組中顯著超前于V-SEG。如果IPsec有效負(fù)載 分組被認(rèn)為在防重放窗口外,則接收器將拒絕它。因此,較上層(例 如IPsec有效負(fù)載協(xié)議)將嘗試重發(fā)該有效負(fù)載分組。如下兩種情況 說明V-SEG切換期間對(duì)等方的行為。
活動(dòng)業(yè)務(wù)從SEG-A到V-SEG-B期間的V-SEG-B VRRP切換 圖2示出安全Net-A 203與Net-B 204之間通過SEG-A 201與 V-SEG-B 202之間的IPsec隧道205的業(yè)務(wù)。在此情況中,來自Net-A 203和Net-B 204的對(duì)等主機(jī)正在運(yùn)行要求互相確認(rèn)的可靠協(xié)議。當(dāng) M-SEG節(jié)點(diǎn)(V-SEG-B )發(fā)生故障時(shí),VRRP切換發(fā)生,因此最優(yōu)選 的B-SEG之一承擔(dān)V-SEG功能。在此VRRP切換時(shí)間期間(其對(duì)于 亞秒級(jí)VRRP,小于1秒)(雖然存在IPsec保護(hù)的某個(gè)應(yīng)用分組丟失), Net-A203與Net-B 204之間的可靠協(xié)議的重發(fā)將防止兩個(gè)IKE對(duì)等方 偏離同步太遠(yuǎn)。
在圖2的布置中,發(fā)送IPsec對(duì)等方在IPsec保護(hù)的業(yè)務(wù)中對(duì)每 個(gè)分組添加序列號(hào)。IKE協(xié)商的IPsec SA可以配置成允許接收對(duì)等方 使用接收的序列號(hào)來檢查分組回復(fù)攻擊。這包括確定接收的分組是否 落在滑動(dòng)窗口內(nèi)。當(dāng)接收到IPsec保護(hù)的分組時(shí),如果接收的分組落 在防重放窗口外,則生成防重放告警,并至少丟棄該接收的分組。
在穩(wěn)定狀態(tài)期間,接收對(duì)等方使用的上下限序列號(hào)是基于接收的 分組而遞增的。在SATP內(nèi),當(dāng)新M-SEG接管時(shí),它利用來自最新 SAURQ消息的序列號(hào)執(zhí)行此操作。在SATP內(nèi),M-SEG接管期間, 可能有兩種類型的分組丟棄(1 )分組可能在M-SEG發(fā)生故障和新 M-SEG接管的時(shí)間之間丟失,以及(2)在切換期間以及之后,發(fā)送 對(duì)等方使用的序列號(hào)繼續(xù)正常地遞增,而新的接收M-SEG使用來自 最新SAURQ消息的序列號(hào)。才艮據(jù)在切換期間發(fā)送的業(yè)務(wù)的量和防重
15放窗口的大小,新M-SEG接收的分組可能落在其防重放窗口之外。 在此情況中,這些分組將被丟棄并將生成告警。因?yàn)檫@兩種類型的丟 棄,將假定較上層協(xié)議將注意到丟棄并重發(fā)。
活動(dòng)業(yè)務(wù)從V-SEG-B到SEG-A期間的V-SEG-B VRRP切換 此情況不是問題,因?yàn)镾EG-A見到V-SEG-B短時(shí)間未傳送分組。 只要SA仍是活動(dòng)的,這是可接受的不活動(dòng)狀態(tài)。
使用案例情況-具有對(duì)單個(gè)SEG節(jié)點(diǎn)故障的支持的V-SEG功能的 可恢復(fù)性解決方案
在此情況中,定義了 V-SEG功能V-SEG1: <V1P1, VMAC1,和 VID1〉。如圖3所示,其中示出由兩個(gè)物理SEG節(jié)點(diǎn)301、 302提供 的由V-SEG1標(biāo)識(shí)的可恢復(fù)V-SEG功能的典型使用案例300。使用SEG 節(jié)點(diǎn)301, 302,僅可以處理單個(gè)故障案例。圖3中未示出(正如常規(guī) 方式中公知的)成功VRRP切換之后M-SEG生成的無關(guān)ARP消息和 代理ARP。
使用案例情況-具有對(duì)多個(gè)SEG節(jié)點(diǎn)故障的支持的V-SEG功能的 可恢復(fù)性解決方案
在此情況中,定義了 V-SEG功能V-SEG: < VIP1, VMAC1,和 VID1>。圖4示出由一群3個(gè)物理SEG節(jié)點(diǎn)401、 402、 403支持的由 V-SEG標(biāo)識(shí)的可恢復(fù)V-SEG功能的典型使用案例400。SEG節(jié)點(diǎn)401 、 402、 403對(duì)于處理多個(gè)故障是必需的。圖4中未示出(正如常規(guī)方式 中公知的)成功VRRP切換之后M-SEG生成的無關(guān)ARP消息和代理 ARP。
使用案例情況-由兩個(gè)或兩個(gè)以上V-SEG功能組成的可恢復(fù)性 解決方案在此情況中,定義了兩個(gè)虛擬V-SEG,例如V-SEG1 <VIP1, VMAC1, VID1〉和V-SEG2 <VIP2, VMAC2, VID2〉。可以容易地將圖3 和圖4示出的使用案例擴(kuò)展到使用相同數(shù)量的物理SEG節(jié)點(diǎn)處理兩個(gè) V-SEG (V-SEG 1和V-SEG2 )的可恢復(fù)性。在此案例中,特定的SEG 節(jié)點(diǎn)可以同時(shí)充當(dāng)實(shí)現(xiàn)V-SEG1功能的M-SEG以及用于V-SEG2功能 的B-SEG。對(duì)于特定SEG節(jié)點(diǎn),還可能的是同時(shí)充當(dāng)用于V-SEG1 和V-SEG2的B-SEG或M-SEG。這在除了可恢復(fù)性外還在兩個(gè)或兩 個(gè)以上V-SEG功能之間獲得負(fù)載平衡的部署中特別有用。本文值得一 提的還有,對(duì)于每個(gè)V-SEG功能使用所有SEG多播地址減少了不必 要的多播業(yè)務(wù)。
有利的是,在本發(fā)明中,遠(yuǎn)程IKE對(duì)等方并不知道它在與VRRP 路由器協(xié)商。如果發(fā)生切換,則這將足夠快速,以使得IKE與IPsec 協(xié)議不會(huì)超時(shí)。如果VRRP主路由器發(fā)生故障,則后備VRRP路由器 會(huì)接管。主路由器發(fā)生故障與后備路由器接管作為主路由器之間經(jīng)過 的時(shí)間通常小于l秒。所經(jīng)過的時(shí)間由如下構(gòu)成用于VRRP^人識(shí)主 已經(jīng)發(fā)生故障的時(shí)間;以及用于VRRP從后備選擇新主的時(shí)間。IKE 對(duì)等路由器會(huì)注意到的唯一影響將是,遠(yuǎn)程IKE對(duì)等方(此處為VRRP 路由器)看上去短暫時(shí)間沒有響應(yīng),此短暫時(shí)間短于任何協(xié)議超時(shí)。 虛擬路由器身份的承擔(dān)會(huì)無縫地進(jìn)行,并不會(huì)被通信中的對(duì)等方注意 到。
正如本領(lǐng)域:技術(shù)人員將認(rèn)識(shí)到的,可以在范圍廣泛的應(yīng)用上修改 和改變本申請(qǐng)中描述的新穎性概念。因此,申請(qǐng)專利的本發(fā)明主題的 范圍不應(yīng)限于上文描述的任何特定示范教導(dǎo),而是由所附權(quán)利要求來 定義。
權(quán)利要求
1.一種用于獲取和維護(hù)可恢復(fù)因特網(wǎng)協(xié)議(IP)安全(IPsec)和因特網(wǎng)密鑰交換(IKE)安全網(wǎng)關(guān)(SEG)的方法,包括虛擬化物理SEG的IPsec/IKE功能以便將所述SEG功能從所述物理節(jié)點(diǎn)解耦;以及引入由一組協(xié)作物理安全網(wǎng)關(guān)實(shí)現(xiàn)的虛擬SEG(V-SEG)功能的基于網(wǎng)絡(luò)的可恢復(fù)性方案。
2. 如權(quán)利要求l所述的方法,還包括修改向遠(yuǎn)程IPsec/IKE對(duì)等 方實(shí)現(xiàn)V-SEG功能的一組物理SEG之間的虛擬路由器冗余協(xié)議(VRRP)。
3. 如權(quán)利要求2所述的方法,還包括使用IPsec/IKE SA傳輸協(xié) 議(SATP )在具有VRRP能力的SEG之間交換IKE和IPsec SA信息。
4. 如權(quán)利要求3所述的方法,其中所述SATP適合于以幾乎實(shí)時(shí) 的方式對(duì)于動(dòng)態(tài)IPsec狀態(tài)信息同步所有參與SEG。
5. 如權(quán)利要求4所述的方法,其中如果主VRRP SEG發(fā)生故障, 則熱備用SEG之一接管所述V-SEG功能。
6. 如權(quán)利要求2所述的方法,其中所述V-SEG功能由多個(gè)物理 SEG節(jié)點(diǎn)來提供。
7. 如權(quán)利要求6所述的方法,其中所述V-SEG功能由兩個(gè)物理 SEG節(jié)點(diǎn)來提供。
8. 如權(quán)利要求6所述的方法,其中所述V-SEG功能由適合于處 理多個(gè)故障的多個(gè)物理SEG節(jié)點(diǎn)來支持。
9. 如權(quán)利要求8所述的方法,其中所述V-SEG功能由適合于處 理多個(gè)故障的三(3)個(gè)物理SEG節(jié)點(diǎn)的群來支持。
10. 如權(quán)利要求6所述的方法,其中所述多個(gè)物理SEG節(jié)點(diǎn)適合 于使用相同數(shù)量的物理SEG節(jié)點(diǎn)來處理兩個(gè)V-SEG (V-SEG 1和V-SEG2)的可恢復(fù)性。
11. 如權(quán)利要求IO所述的方法,其中特定的SEG節(jié)點(diǎn)適合于同 時(shí)充當(dāng)實(shí)現(xiàn)V-SEG1功能的M-SEG以及用于V-SEG2功能的B-SEG。
12. 如權(quán)利要求IO所述的方法,其中特定的SEG節(jié)點(diǎn)適合于同 時(shí)充當(dāng)實(shí)現(xiàn)任何數(shù)量的V-SEG功能的M-SEG以及用于任何數(shù)量的 V-SEG功能的B-SEG。
13. 如權(quán)利要求10所述的方法,其中特定SEG節(jié)點(diǎn)適合于同時(shí) 充當(dāng)用于V-SEG1功能和V-SEG2功能的B-SEG。
14. 一種用于獲取和維護(hù)可恢復(fù)因特網(wǎng)協(xié)議(IP)安全(IPsec) 和因特網(wǎng)密鑰交換(IKE)安全網(wǎng)關(guān)(SEG)的裝置,包括用于虛擬化物理SEG的IPsec/IKE功能以便將所述SEG功能從 所述物理節(jié)點(diǎn)解耦的部件;以及用于引入由一組協(xié)作物理安全網(wǎng)關(guān)實(shí)現(xiàn)的虛擬SEG (V-SEG)功 能的基于網(wǎng)絡(luò)的可恢復(fù)性方案的部件。
15. 如權(quán)利要求14所述的裝置,還包括用于修改向遠(yuǎn)程IPsec/IKE 對(duì)等方實(shí)現(xiàn)V-SEG功能的一組物理SEG之間的虛擬路由器冗余協(xié)議(VRRP)的部件。
16. 如權(quán)利要求15所述的裝置,還包括用于使用IPsec/IKE SA 傳輸協(xié)議(SATP )在具有VRRP能力的SEG之間交換IKE和IPsec SA 信息的部件。
17. 如權(quán)利妻求16所述的裝置,其中所述SATP適合于以幾乎實(shí) 時(shí)的方式對(duì)于動(dòng)態(tài)IPsec狀態(tài)信息同步所有參與SEG。
18. 如權(quán)利要求17所述的裝置,其中如果主VRRP SEG發(fā)生故 障,則熱備用SEG之一接管所述V-SEG功能。
19. 如權(quán)利要求15所述的裝置,其中所述V-SEG功能由多個(gè)物 理SEG節(jié)點(diǎn)來提供。
20. 如權(quán)利要求15所述的裝置,其中所述V-SEG功能由兩個(gè)物 理SEG節(jié)點(diǎn)來提供。
21. 如權(quán)利要求15所述的裝置,其中所述V-SEG功能由任何數(shù) 量的物理SEG節(jié)點(diǎn)來提供。
22. 如權(quán)利要求15所述的裝置,其中至少一個(gè)V-SEG標(biāo)識(shí)的 V-SEG功能由適合于處理多個(gè)故障的三(3)個(gè)物理SEG節(jié)點(diǎn)的群來 支持。
23. 如權(quán)利要求15所述的裝置,其中所述多個(gè)物理SEG節(jié)點(diǎn)適 合于使用相同數(shù)量的物理SEG節(jié)點(diǎn)來處理兩個(gè)V-SEG (V-SEG 1和 V-SEG2)的可恢復(fù)性。
24. 如權(quán)利要求23所述的裝置,其中特定的SEG節(jié)點(diǎn)適合于同 時(shí)充當(dāng)實(shí)現(xiàn)V-SEG1功能的M-SEG以及用于V-SEG2功能的B-SEG。
25. 如權(quán)利要求23所述的裝置,其中特定SEG節(jié)點(diǎn)適合于同時(shí) 充當(dāng)用于V-SEG1功能和V-SEG2功能的B-SEG。
26. 如權(quán)利要求13所述的裝置,在計(jì)算機(jī)可讀介質(zhì)上實(shí)現(xiàn)。
全文摘要
一種方法和裝置修改向遠(yuǎn)程IPsec/IKE對(duì)等方實(shí)現(xiàn)V-SEG功能的一組物理SEG之間的虛擬路由器冗余協(xié)議(VRRP)。同VRRP合作,引入一種新協(xié)議,本文稱為IPsec/IKE SA傳輸協(xié)議(SATP),以用于在具有VRRP能力的SEG之間交換IKE和IPsec SA信息。SATP以幾乎實(shí)時(shí)的方式對(duì)于動(dòng)態(tài)IPsec狀態(tài)信息同步所有參與SEG。因此,在主VRRP SEG故障的情況下,熱備用SEG之一接管V-SEG功能。這允許V-SEG功能保持起作用,即使一個(gè)或多個(gè)參與SEG可能發(fā)生故障。
文檔編號(hào)H04L29/14GK101611610SQ200780051743
公開日2009年12月23日 申請(qǐng)日期2007年12月18日 優(yōu)先權(quán)日2006年12月22日
發(fā)明者J·科門, M·侯賽因 申請(qǐng)人:艾利森電話股份有限公司