專利名稱:IPSec SA協(xié)商方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種IPSec SA協(xié)商方法及裝置。
背景技術(shù):
IPSecCIP Security, IP(Internet Protocol,因特網(wǎng)協(xié)議)安全)是IETF(InternetEngineering Task Force,因特網(wǎng)工程任務(wù)組)制定的為保證在Internet上傳送數(shù)據(jù)的安全加密性能的框架協(xié)議。IPSec是一種三層隧道加密協(xié)議,為Internet上傳輸?shù)臄?shù)據(jù)提供了高質(zhì)量的、可互操作的、基于密碼學(xué)的安全保證,是一種傳統(tǒng)的實現(xiàn)三層VPN (VirtualPrivate Network,虛擬專用網(wǎng)絡(luò))的安全技術(shù)。特定的通信方之間通過建立IPSec隧道來傳輸用戶的私有數(shù)據(jù),并在IP層提供以下安全服務(wù)>數(shù)據(jù)機(jī)密性(Confidentiality) :IPSec發(fā)送方在通過網(wǎng)絡(luò)傳輸包前對包進(jìn)行加
r I I O>數(shù)據(jù)完整性(Data Integrity) :IPSec接收方對發(fā)送方發(fā)送來的包進(jìn)行認(rèn)證,以確保數(shù)據(jù)在傳輸過程中沒有被篡改。>數(shù)據(jù)來源認(rèn)證(Data Authentication) IPSec在接收端可以認(rèn)證發(fā)送IPSec報文的發(fā)送端是否合法。>防重放(Anti-R印lay) :IPSec接收方可檢測并拒絕接收過時或重復(fù)的報文。IPSec包括報文驗證頭(Authentication Header, AH)協(xié)議和封裝安全載荷協(xié)議(Encapsulating Security Payload, ESP)兩個協(xié)議,其中,AH可提供數(shù)據(jù)源驗證和數(shù)據(jù)完整性校驗功能,ESP除了可以提供數(shù)據(jù)驗證和完整性校驗功能外,還提供對IP報文的加密功能。IKE (Internet Key Exchange,因特網(wǎng)密鑰交換協(xié)議)是IPSec的信令協(xié)議,為IPSec提供了自動協(xié)商交換密鑰、建立安全聯(lián)盟(Security Association, SA)的服務(wù),能夠簡化IPSec的使用和管理,大大簡化IPSec的配置和維護(hù)工作。IKE不是在網(wǎng)絡(luò)上直接傳送密鑰,而是通過一系列數(shù)據(jù)的交換,最終計算出雙方共享的密鑰,并且即使第三者截獲了雙方用于計算密鑰的所有交換數(shù)據(jù),也不足以計算出真正的密鑰。IKE具有一套自保護(hù)機(jī)制,可以在不安全的網(wǎng)絡(luò)上安全的分發(fā)密鑰,驗證身份,建立IPSec安全聯(lián)盟。圖I是IPSec與IKE的關(guān)系圖。圖I中,IPSec在兩個端點(如圖I中的Router A和Router B)之間提供安全通信,端點被稱為IPSec對等體。SA是IPSec對等體之間對某些要素的約定,例如,使用哪種協(xié)議(AH、ESP還是兩者結(jié)合使用)、協(xié)議的封裝模式(傳輸模式和隧道模式)、加密算法、特定流中保護(hù)數(shù)據(jù)的共享密鑰以及密鑰的生存周期等。IPSec可通過IKE協(xié)商建立SA。SA是單向的,在兩個對等體之間的雙向通信,最少需要兩個SA來分別對兩個方向的數(shù)據(jù)流進(jìn)行安全保護(hù)。同時,如果兩個對等體希望同時使用AH和ESP來進(jìn)行安全通信,則每個對等體都會針對每一種協(xié)議來構(gòu)建一個獨立的SA。通過IKE協(xié)商建立的SA具有生存周期(Life Time)。IKE協(xié)商建立的SA的生存周期有以下兩種定義方式
>基于時間的生存周期,定義了一個SA從建立到失效的時間;>基于流量的生存周期,定義了一個SA允許處理的最大流量。生存周期到達(dá)指定的時間或指定的流量,SA就會失效。SA失效前,IKE將為IPSec協(xié)商建立新的SA,這樣,在舊的SA失效之前,新的SA就需要準(zhǔn)備好。在新的SA開始協(xié)商而沒有協(xié)商好之前,繼續(xù)使用舊的SA保護(hù)通信。在新的SA協(xié)商好之后,則采用新的SA保護(hù)通信。IKE使用了兩個階段為IPSec進(jìn)行密鑰協(xié)商并建立SA,分別稱為第一階段和第二階段(I)第一階段在網(wǎng)絡(luò)上建立IKE SA,為其它協(xié)議的協(xié)商(第二階段)提供保護(hù)和快速協(xié)商。通過協(xié)商創(chuàng)建一個通信信道,并對該信道進(jìn)行認(rèn)證,為雙方進(jìn)一步的IKE通信提供機(jī)密性、消息完整性以及消息源認(rèn)證服務(wù)。主要有主模式(Main Mode)和野蠻模式 (Aggressive Mode)兩種 IKE 交換方式。(2)第二階段在第一階段中建立的IKE SA的保護(hù)下,為IPSec協(xié)商具體的SA,建立用于最終的IP數(shù)據(jù)安全傳輸?shù)腎PSec SA,采用快速模式(Quick Mode)進(jìn)行協(xié)商。參照RFC2409,對于IKE第二階段協(xié)商,快速模式下的交互過程定義如下Initiator (發(fā)起方)Responder (響應(yīng)方)----------- -----------HDR*,HASH(l), SA, Ni[,KE] [,IDci, IDcr]—— HDR*,HASH (2),SA, Nr[, KE] [, IDci, IDcr]HDR*, HASH (3)—由上可知,快速模式下,通信雙方(發(fā)起方和響應(yīng)方)通過3條報文完成IPSec SA的協(xié)商第一條報文由發(fā)起方發(fā)送需要對端協(xié)商的所有信息,例如IPSec策略定義的協(xié)議(AH、ESP)、加密算法、認(rèn)證算法等,還包含有可供驗證的hash (哈希)摘要;即HDR*,HASH(l), SA, Ni[, KE] [, IDci, IDcr]第二條報文由響應(yīng)方發(fā)送選定的IPSec協(xié)議(AH、ESP)、加密算法、認(rèn)證算法等,包含有可供驗證的hash摘要;即HDR*,HASH (2),SA, Nr[,KE] [,IDci, IDcr]第三條報文由發(fā)起方發(fā)送一條加密了的hash摘要,用以確認(rèn)協(xié)商完成。即HDR*,HASH (3)現(xiàn)有技術(shù)在快速模式下進(jìn)行IPSec SA的協(xié)商過程中,IKE協(xié)商的發(fā)起方是在發(fā)送第三條報文后,即刻將協(xié)商出的SA下發(fā)給IPSec進(jìn)行數(shù)據(jù)流保護(hù),而IKE協(xié)商的響應(yīng)方是在收到第三條報文后,將SA下發(fā)給IPSec進(jìn)行數(shù)據(jù)流保護(hù)。這樣,就可能導(dǎo)致以下問題在初次協(xié)商IPSec SA時,發(fā)起方在發(fā)送第三條報文后,即刻將協(xié)商出的SA下發(fā)給IPSec,而響應(yīng)方是在收到第三條報文后,將SA下發(fā)給IPSec。如果第三條報文在網(wǎng)絡(luò)上傳輸時有延時或者出現(xiàn)丟包,那么,發(fā)起方發(fā)送的IPSec加密報文可能會在響應(yīng)方尚未收到第三條報文的情況下,就已經(jīng)到達(dá)了響應(yīng)方,而此時響應(yīng)方尚未將SA下發(fā)給IPSec,從而導(dǎo)致響應(yīng)方的IPSec無法解密IPSec加密報文,導(dǎo)致瞬時流量抖動或流量中斷。另外,在SA生命周期超時重新協(xié)商SA時,發(fā)起方在發(fā)送第三條報文后以新SA替換舊SA,響應(yīng)方在收到第三條報文后以新SA替換舊SA。如果第三條報文在網(wǎng)絡(luò)上傳輸時有延時或者出現(xiàn)丟包,那么,發(fā)起方使用新SA加密的IPSec加密報文可能會在響應(yīng)方尚未收到第三條報文的情況下,就已經(jīng)到達(dá)了響應(yīng)方,而此時響應(yīng)方尚未將新SA下發(fā)給IPSec,從而無法解密發(fā)起方使用新SA加密的報文,導(dǎo)致SA重協(xié)商過程中的流量抖動或者流量中斷。
發(fā)明內(nèi)容
本發(fā)明提供了一種IPSec SA協(xié)商方法及裝置,應(yīng)用于IKE協(xié)商第二階段的快速模式下的IPSec SA協(xié)商過程,旨在解決現(xiàn)有技術(shù)在IPSec SA初次協(xié)商和重協(xié)商過程中,存在 的瞬時流量抖動或者流量中斷的問題。本發(fā)明的技術(shù)方案如下一方面,提供了一種應(yīng)用于IKE協(xié)商第二階段的IPSec SA協(xié)商方法,包括響應(yīng)方在接收到發(fā)起方發(fā)來的第一條報文之后,生成并下發(fā)本次協(xié)商出的SA ;響應(yīng)方回復(fù)第二條報文給發(fā)起方;響應(yīng)方在接收到發(fā)起方發(fā)來的使用本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收到發(fā)起方發(fā)來的第三條報文之后,使用本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù),其中,第一條報文、第二條報文和第三條報文是快速模式下,發(fā)起方和響應(yīng)方完成IPSecSA協(xié)商所使用的三條報文。另一方面,還提供了一種IPSec SA協(xié)商裝置,包括接收模塊,用于接收發(fā)起方發(fā)來的第一條報文、第三條報文、以及使用本次協(xié)商出的SA加密的IPSec加密報文'Sk生成下發(fā)模塊,用于在接收模塊接收到發(fā)起方發(fā)來的第一條報文之后,生成并下發(fā)本次協(xié)商出的SA ;發(fā)送模塊,用于在SA生成下發(fā)模塊下發(fā)了本次協(xié)商出的SA之后,回復(fù)第二條報文給發(fā)起方;IPSec模塊,用于在接收模塊接收到發(fā)起方發(fā)來的使用本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收模塊接收到發(fā)起方發(fā)來的第三條報文之后,使用本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù),其中,第一條報文、第二條報文和第三條報文是因特網(wǎng)密鑰交換協(xié)議IKE協(xié)商第二階段的快速模式下,完成IPSec SA協(xié)商所使用的三條報文。本發(fā)明的以上技術(shù)方案中,響應(yīng)方在接收到發(fā)起方發(fā)來的快速模式第一條報文之后、以及在發(fā)送快速模式第二條報文給發(fā)起方之前,就生成SA并下發(fā)給IPSec,后續(xù),在接收到發(fā)起方發(fā)來的使用本次協(xié)商的SA加密的IPSec報文或者快速模式第三條報文時,生效上述下發(fā)的SA,使用該SA進(jìn)行數(shù)據(jù)流保護(hù)。這樣,即使在由于第三條報文傳輸延遲或者中途丟包、而導(dǎo)致發(fā)起方發(fā)來的使用本次協(xié)商的SA加密的IPSec報文先于第三條報文到達(dá)響應(yīng)方的情況下,響應(yīng)方也可以正常使用下發(fā)的本次協(xié)商的SA解密該IPSec報文,可以保證發(fā)起方與響應(yīng)方之間的雙向流量不斷流。通過改變響應(yīng)方本次協(xié)商出的SA的下發(fā)時機(jī)以及生效時機(jī),解決了現(xiàn)有技術(shù)在IPSec SA初次協(xié)商和重協(xié)商過程中,存在的瞬時流量抖動或者流量中斷的問題。
圖I是相關(guān)技術(shù)中IPSec與IKE的關(guān)系圖;圖2是根據(jù)本發(fā)明的實施例一的IPSec SA協(xié)商方法的流程圖;圖3是根據(jù)本發(fā)明的實施例二的初次協(xié)商IPSec SA時的交互時序圖;圖4是根據(jù)本發(fā)明的實施例三的因SA軟超時而重新協(xié)商IPSec SA時的交互時序圖;圖5是根據(jù)本發(fā)明的實施例四的IPSec SA協(xié)商裝置的一種結(jié)構(gòu)示意圖;圖6是根據(jù)本發(fā)明的實施例四的IPSec SA協(xié)商裝置的另一種結(jié)構(gòu)示意圖。
具體實施方式
實施例一為了解決現(xiàn)有技術(shù)在IPSec SA初次協(xié)商和重協(xié)商過程中,存在的響應(yīng)方瞬時流量抖動或者流量中斷的問題,本發(fā)明實施例提供了一種IKE協(xié)商第二階段的快速模式下的IPSec SA協(xié)商方法,該方法由協(xié)商的響應(yīng)方執(zhí)行。如圖2所示,包括以下步驟步驟S202,響應(yīng)方在接收到發(fā)起方發(fā)來的第一條報文之后,生成并下發(fā)本次協(xié)商出的SA;在IKE第二階段協(xié)商過程中,首先由協(xié)商的發(fā)起方發(fā)送第一條報文給響應(yīng)方,其中,攜帶有需要響應(yīng)方協(xié)商的所有安全參數(shù),例如,IPSec策略定義的協(xié)議(AH、ESP)、加密算法、認(rèn)證算法等,還包含有可供驗證的hash摘要。響應(yīng)方在接收到第一條報文之后,根據(jù)第一條報文中攜帶的需要響應(yīng)方協(xié)商的所有安全參數(shù),選擇與自己匹配的安全參數(shù),例如選定的協(xié)議類型、加密算法、驗證算法等,然后,根據(jù)自己選擇的安全參數(shù),生成SA并下發(fā)給IPSec。由于在接收到第一條報文之后、發(fā)送第二條報文之前,響應(yīng)方實際上已經(jīng)可以根據(jù)自己選取的協(xié)議類型、加密算法、驗證算法以及密鑰材料等生成SA 了,因此,響應(yīng)方可以在接收到第一條報文之后、發(fā)送第二條報文之前就生成并下發(fā)SA給IPSec,而無需等到收到了第三條報文之后才下發(fā)SA。其中,針對重協(xié)商的情況,為了區(qū)分本次協(xié)商生成的SA與此時正在使用的SAJf本次協(xié)商生成的SA稱為新SA,而將此時正在使用的SA稱為舊SA。步驟S204,響應(yīng)方回復(fù)第二條報文給發(fā)起方;在生成并下發(fā)了 SA之后,響應(yīng)方就向發(fā)起方回復(fù)第二條報文,其中,攜帶有響應(yīng)方選擇的安全參數(shù),例如選定的協(xié)議類型(AH、ESP或兩者的結(jié)合)、加密算法、驗證算法等。發(fā)起方在接收到第二條報文之后,就會根據(jù)響應(yīng)方選擇的安全參數(shù)生成SA,向響應(yīng)方回復(fù)第三條報文,然后,將生成的SA下發(fā)給IPSec。步驟S206,響應(yīng)方在接收到發(fā)起方發(fā)來的使用本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收到發(fā)起方發(fā)來的第三條報文之后,使用本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù)(包括使用該SA對發(fā)起方發(fā)來的使用本次協(xié)商出的SA加密的IPSec加密報文進(jìn)行解密和/或使用該SA加密數(shù)據(jù)流并發(fā)送給發(fā)起方)。在初次協(xié)商時,響應(yīng)方的IPSec在接收到發(fā)起方發(fā)來的使用該SA加密的IPSec加密報文之后、或者在接收到該發(fā)起方發(fā)來的第三條報文之后,使用該SA解密接收到的IPSec加密報文或者加密要發(fā)送給發(fā)起方的數(shù)據(jù)流。
在重協(xié)商時,響應(yīng)方的IPSec在接收到該發(fā)起方發(fā)來的使用新SA加密的IPSec加密報文之后、或者在接收到該發(fā)起方發(fā)來的第三條報文之后,將舊SA切換為新SA并使用新SA解密接收到的IPSec加密報文或者加密要發(fā)送給發(fā)起方的數(shù)據(jù)流。本實施例中的第一條報文、第二條報文和第三條報文是IKE協(xié)商第二階段的快速模式下,發(fā)起方和響應(yīng)方完成IPSec SA協(xié)商所使用的三條報文。這三條報文的格式和含義均與現(xiàn)有技術(shù)相同,這里不再贅述。本發(fā)明實施例中,響應(yīng)方在接收到發(fā)起方發(fā)來 的快速模式第一條報文之后、以及在發(fā)送快速模式第二條報文給發(fā)起方之前,就生成SA并下發(fā)給IPSec,后續(xù),在接收到發(fā)起方發(fā)來的使用本次協(xié)商的SA加密的IPSec報文或者快速模式第三條報文時,生效上述下發(fā)的SA,使用該SA進(jìn)行數(shù)據(jù)流保護(hù)。這樣,即使在由于第三條報文傳輸延遲或者中途丟包、而導(dǎo)致發(fā)起方發(fā)來的使用本次協(xié)商的SA加密的IPSec報文先于第三條報文到達(dá)響應(yīng)方的情況下,響應(yīng)方也可以正常使用下發(fā)的本次協(xié)商的SA解密該IPSec報文,可以保證發(fā)起方與響應(yīng)方之間的雙向流量不斷流。通過改變響應(yīng)方本次協(xié)商出的SA的下發(fā)時機(jī)以及生效時機(jī),解決了現(xiàn)有技術(shù)在IPSec SA初次協(xié)商和重協(xié)商過程中,存在的瞬時流量抖動或者流量中斷的問題。另外,由于IKE協(xié)商第二階段的協(xié)商過程是受IKE第一階段協(xié)商出的IKE SA保護(hù)的,所以本發(fā)明實施例并不會降低IKE第二階段協(xié)商的安全性。實施例二如圖3所示,在IKE第二階段協(xié)商的快速模式下,發(fā)起方和響應(yīng)方在初次協(xié)商IPSec SA時的交互流程可以如下步驟S302,IKE協(xié)商的發(fā)起方發(fā)送第一條報文給協(xié)商的響應(yīng)方;步驟S304,響應(yīng)方在接收到第一條報文之后,根據(jù)報文中攜帶的安全參數(shù),選擇與自己匹配的安全參數(shù),并根據(jù)選定的安全參數(shù)生成SA ;步驟S306,響應(yīng)方將生成的SA下發(fā)給IPSec ;步驟S308,響應(yīng)方發(fā)送第二條報文給發(fā)起方,該報文中攜帶有響應(yīng)方在步驟S304中選定的安全參數(shù);步驟S310,發(fā)起方在接收到第二條報文之后,根據(jù)報文中攜帶的響應(yīng)方選定的安全參數(shù),生成SA ;步驟S312,發(fā)起方向響應(yīng)方發(fā)送第三條報文,以結(jié)束協(xié)商過程;步驟S314,發(fā)起方將在步驟S310中生成的SA下發(fā)給IPSec ;步驟S316,發(fā)起方的IPSec使用步驟S314中下發(fā)的SA加密數(shù)據(jù)流,并將加密得到的IPSec加密報文發(fā)送給響應(yīng)方;步驟S318,響應(yīng)方的IPSec在接收到發(fā)起方在步驟S312中發(fā)送的第三條報文、或者在接收到發(fā)起方在步驟S316中發(fā)送的IPSec加密報文后,使在步驟S306中下發(fā)的SA生效,并使用該SA解密發(fā)起方發(fā)來的IPSec加密報文。對于SA的初次協(xié)商過程,協(xié)商的發(fā)起方使用IPSec SA加密的報文到達(dá)響應(yīng)方后,響應(yīng)方已經(jīng)在發(fā)送快速模式第二條報文之前就已經(jīng)向IPSec下發(fā)了 SA,即使快速模式第三條報文延遲到達(dá)響應(yīng)方或者中途丟包,響應(yīng)方也可以正常解密IPSec加密報文。實施例三
如圖4所示,在IKE第二階段協(xié)商的快速模式下,發(fā)起方和響應(yīng)方在重新協(xié)商IPSec SA時的交互流程可以如下步驟S402,舊SA軟超時,觸發(fā)協(xié)商的發(fā)起方進(jìn)行IPSec SA的重新協(xié)商;步驟S404,發(fā)起方發(fā)送第一條報文給協(xié)商的響應(yīng)方;步驟S406,響應(yīng)方在接收到第一條報文之后,根據(jù)報文中攜帶的安全參數(shù),選擇與自己匹配的安全參數(shù),并根據(jù)選定的安全參數(shù)生成新SA ;步驟S408,響應(yīng)方將生成的新SA下發(fā)給IPSec ;步驟S410,響應(yīng)方發(fā)送第二條報文給發(fā)起方,該報文中攜帶有響應(yīng)方在步驟S406中選定的安全參數(shù);
步驟S412,發(fā)起方在接收到第二條報文之后,根據(jù)報文中攜帶的響應(yīng)方選定的安全參數(shù),生成新SA ;步驟S414,發(fā)起方向響應(yīng)方發(fā)送第三條報文,以結(jié)束協(xié)商過程;步驟S416,發(fā)起方將在步驟S412中生成的新SA下發(fā)給IPSec,并使用該新SA ;步驟S418,發(fā)起方的IPSec使用步驟S416中下發(fā)的新SA加密數(shù)據(jù)流,并將使用新SA加密得到的新IPSec加密報文發(fā)送給響應(yīng)方;為了區(qū)分使用舊SA加密得到的IPSec報文與使用新SA加密得到的IPSec報文,將使用舊SA加密得到的IPSec報文稱為舊IPSec加密報文,將使用新SA加密得到的IPSec報文稱為新IPSec加密報文。步驟S420,響應(yīng)方的IPSec在接收到發(fā)起方在步驟S414中發(fā)送的第三條報文、或者在接收到發(fā)起方在步驟S418中發(fā)送的新IPSec加密報文后,將舊SA切換為在步驟S408中下發(fā)的新SA;步驟S422,響應(yīng)方使用該新SA解密發(fā)起方發(fā)來的新IPSec加密報文。在步驟S420之前,發(fā)起方與響應(yīng)方之間仍然使用舊SA加密和解密數(shù)據(jù)流進(jìn)行通
o對于重協(xié)商過程,涉及到新舊SA的切換時機(jī),協(xié)商的發(fā)起方在發(fā)送快速模式第三條報文后下發(fā)新SA,并通知IPSec切換舊SA為新SA,使用新SA加密報文,舊SA等待硬超時刪除。協(xié)商的響應(yīng)方在發(fā)送快速模式第二條報文之前將新SA下發(fā)給IPSec,但是并不立即切換舊SA為新SA,因為此時發(fā)起方尚未切換新SA,響應(yīng)方如果有數(shù)據(jù)流發(fā)往發(fā)起方,則仍舊使用舊SA加密報文。響應(yīng)方需要等待如下兩個時機(jī)中的任何一個滿足時才進(jìn)行新舊SA的切換(I)收到了發(fā)起方使用新SA加密的IPSec加密報文;( 2 )收到了快速模式第三條報文。IPSec SA的重協(xié)商過程通過采用上述新SA下發(fā)時機(jī)和新舊SA切換時機(jī),就可以保證發(fā)起方和響應(yīng)方之間的雙向流量不斷流。實施例四針對上述實施例一和三中的方法,本發(fā)明實施例提供了一種IPSec SA協(xié)商裝置,該裝置可以是任意的可以進(jìn)行IKE協(xié)商第二階段的快速模式下的IPSec SA協(xié)商的裝置,例如可以是路由器、防火墻、網(wǎng)關(guān)設(shè)備等。如圖5所述,該裝置包括接收模塊10、SA生成下發(fā)模塊20、發(fā)送模塊30和IPSec模塊40,其中接收模塊10用于接收發(fā)起方發(fā)來的第一條報文、第三條報文、以及使用本次協(xié)商出的SA加密的IPSec加密報文;SA生成下發(fā)模塊20用于在接收模塊10接收到發(fā)起方發(fā)來的第一條報文之后,生成并下發(fā)本次協(xié)商出的SA給IPSec模塊40 ;發(fā)送模塊30用于在SA生成下發(fā)模塊20下發(fā)了本次協(xié)商出的SA之后,回復(fù)第二條報文給發(fā)起方;IPSec模塊40用于在接收模塊10接收到發(fā)起方發(fā)來的使用該本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收模塊10接收到發(fā)起方發(fā)來的第三條報文之后,使用該本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù),其中,第一條報文、第二條報文和第三條報文是IKE協(xié)商第二階段的快速模式下,完成IPSec SA協(xié)商所使用的三條報文。
其中,如圖6所示,SA生成下發(fā)模塊20可以進(jìn)一步包括匹配模塊202、生成模塊204以及下發(fā)模塊206,其中在初次協(xié)商IPSec SA時,匹配模塊202根據(jù)接收模塊10接收到的第一條報文中攜帶的需要本裝置協(xié)商的所有安全參數(shù),選擇與本裝置匹配的安全參數(shù);然后,生成模塊204根據(jù)匹配模塊202選擇的安全參數(shù),生成SA ;并由下發(fā)模塊206將生成模塊204生成的SA下發(fā)給IPSec模塊40。在因舊SA超時而重新協(xié)商IPSec SA時,為了與舊SA進(jìn)行區(qū)分,生成模塊204根據(jù)匹配模塊202選擇的安全參數(shù)生成的本次協(xié)商出的SA可以稱為新SA,下發(fā)模塊206將生成模塊204生成的新SA下發(fā)給IPSec模塊40。之后,IPSec模塊40在接收到發(fā)起方發(fā)來的使用本次協(xié)商出的SA (在重協(xié)商時,即為新SA)加密的IPSec加密報文之后、或者在接收到發(fā)起方發(fā)來的第三條報文之后,使用該SA (在重協(xié)商時,即相當(dāng)于將舊SA切換為新SA,并使用該新SA)進(jìn)行數(shù)據(jù)流保護(hù),即解密發(fā)起方發(fā)來的IPSec加密報文或者加密要發(fā)給發(fā)起方的報文。綜上,本發(fā)明以上實施例可以達(dá)到以下技術(shù)效果響應(yīng)方在接收到發(fā)起方發(fā)來的快速模式第一條報文之后、以及在發(fā)送快速模式第二條報文給發(fā)起方之前,就生成SA并下發(fā)給IPSec,后續(xù),在接收到發(fā)起方發(fā)來的使用本次協(xié)商的SA加密的IPSec報文或者快速模式第三條報文時,生效上述下發(fā)的SA,使用該SA進(jìn)行數(shù)據(jù)流保護(hù)。這樣,即使在由于第三條報文傳輸延遲或者中途丟包、而導(dǎo)致發(fā)起方發(fā)來的使用本次協(xié)商的SA加密的IPSec報文先于第三條報文到達(dá)響應(yīng)方的情況下,響應(yīng)方也可以正常使用下發(fā)的本次協(xié)商的SA解密該IPSec報文,可以保證發(fā)起方與響應(yīng)方之間的雙向流量不斷流。通過改變響應(yīng)方本次協(xié)商出的SA的下發(fā)時機(jī)以及生效時機(jī),解決了現(xiàn)有技術(shù)在IPSec SA初次協(xié)商和重協(xié)商過程中,存在的瞬時流量抖動或者流量中斷的問題。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種因特網(wǎng)協(xié)議安全I(xiàn)PSec安全聯(lián)盟SA協(xié)商方法,應(yīng)用于因特網(wǎng)密鑰交換協(xié)議IKE協(xié)商第二階段,其特征在于,包括 響應(yīng)方在接收到發(fā)起方發(fā)來的第一條報文之后,生成并下發(fā)本次協(xié)商出的SA ; 所述響應(yīng)方回復(fù)第二條報文給所述發(fā)起方; 所述響應(yīng)方在接收到所述發(fā)起方發(fā)來的使用所述本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收到所述發(fā)起方發(fā)來的第三條報文之后,使用所述本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù),其中,所述第一條報文、第二條報文和第三條報文是快速模式下,發(fā)起方和響應(yīng)方完成IPSec SA協(xié)商所使用的三條報文。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述生成并下發(fā)本次協(xié)商出的SA包括 在初次協(xié)商IPSec SA時,所述響應(yīng)方根據(jù)所述第一條報文中攜帶的需要所述響應(yīng)方協(xié)商的所有安全參數(shù),選擇與自己匹配的安全參數(shù); 所述響應(yīng)方根據(jù)自己選擇的安全參數(shù),生成SA并下發(fā)給IPSec。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述響應(yīng)方在接收到所述發(fā)起方發(fā)來的使用所述本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收到所述發(fā)起方發(fā)來的第三條報文之后,使用所述本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù)包括 所述響應(yīng)方的IPSec在接收到所述發(fā)起方發(fā)來的使用所述SA加密的IPSec加密報文之后、或者在接收到所述發(fā)起方發(fā)來的第三條報文之后,使用所述SA進(jìn)行數(shù)據(jù)流保護(hù)。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述生成并下發(fā)本次協(xié)商出的SA包括 在因舊SA超時而重新協(xié)商IPSec SA時,所述響應(yīng)方根據(jù)所述第一條報文中攜帶的需要所述響應(yīng)方協(xié)商的所有安全參數(shù),選擇與自己匹配的安全參數(shù); 所述響應(yīng)方根據(jù)自己選擇的安全參數(shù),生成新SA并下發(fā)給IPSec。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述響應(yīng)方在接收到所述發(fā)起方發(fā)來的使用所述本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收到所述發(fā)起方發(fā)來的第三條報文之后,使用所述本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù)包括 所述響應(yīng)方的IPSec在接收到所述發(fā)起方發(fā)來的使用所述新SA加密的IPSec加密報文之后、或者在接收到所述發(fā)起方發(fā)來的第三條報文之后,將所述舊SA切換為所述新SA ;使用所述新SA進(jìn)行數(shù)據(jù)流保護(hù)。
6.一種因特網(wǎng)協(xié)議安全I(xiàn)PSec安全聯(lián)盟SA協(xié)商裝置,其特征在于,包括 接收模塊,用于接收發(fā)起方發(fā)來的第一條報文、第三條報文、以及使用本次協(xié)商出的SA加密的IPSec加密報文; SA生成下發(fā)模塊,用于在所述接收模塊接收到發(fā)起方發(fā)來的第一條報文之后,生成并下發(fā)所述本次協(xié)商出的SA; 發(fā)送模塊,用于在所述SA生成下發(fā)模塊下發(fā)了所述本次協(xié)商出的SA之后,回復(fù)第二條報文給所述發(fā)起方; IPSec模塊,用于在所述接收模塊接收到所述發(fā)起方發(fā)來的使用所述本次協(xié)商出的SA加密的IPSec加密報文之后、或者在所述接收模塊接收到所述發(fā)起方發(fā)來的所述第三條報文之后,使用所述本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù),其中,所述第一條報文、第二條報文和第三條報文是因特網(wǎng)密鑰交換協(xié)議IKE協(xié)商第二階段的快速模式下,完成IPSec SA協(xié)商所使用的三條報文。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述SA生成下發(fā)模塊包括 匹配模塊,用于在初次協(xié)商IPSec SA時,根據(jù)所述第一條報文中攜帶的需要本裝置協(xié)商的所有安全參數(shù),選擇與本裝置匹配的安全參數(shù); 生成模塊,用于根據(jù)所述匹配模塊選擇的安全參數(shù),生成SA ; 下發(fā)模塊,用于將所述生成模塊生成的SA下發(fā)給所述IPSec模塊。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述IPSec模塊具體用于在接收到所述發(fā)起方發(fā)來的使用所述SA加密的IPSec加密報文之后、或者在接收到所述發(fā)起方發(fā)來的所述第三條報文之后,使用所述SA進(jìn)行數(shù)據(jù)流保護(hù)。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述SA生成下發(fā)模塊包括 匹配模塊,用于在因舊SA超時而重新協(xié)商IPSec SA時,根據(jù)所述第一條報文中攜帶的需要所述本裝置協(xié)商的所有安全參數(shù),選擇與本裝置匹配的安全參數(shù); 生成模塊,用于根據(jù)所述匹配模塊選擇的安全參數(shù),生成新SA ; 下發(fā)模塊,用于將所述生成模塊生成的新SA下發(fā)給所述IPSec模塊。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述IPSec模塊具體用于在所述接收模塊接收到所述發(fā)起方發(fā)來的使用所述新SA加密的IPSec加密報文之后、或者在所述接收模塊接收到所述發(fā)起方發(fā)來的所述第三條報文之后,將所述舊SA切換為所述新SA,并使用所述新SA進(jìn)行數(shù)據(jù)流保護(hù)。
全文摘要
本發(fā)明公開了一種IPSec SA協(xié)商方法及裝置,其中,方法包括響應(yīng)方在接收到發(fā)起方發(fā)來的第一條報文之后,生成并下發(fā)本次協(xié)商出的SA;響應(yīng)方回復(fù)第二條報文給發(fā)起方;響應(yīng)方在接收到發(fā)起方發(fā)來的使用本次協(xié)商出的SA加密的IPSec加密報文之后、或者在接收到發(fā)起方發(fā)來的第三條報文之后,使用本次協(xié)商出的SA進(jìn)行數(shù)據(jù)流保護(hù),其中,第一條報文、第二條報文和第三條報文是快速模式下,發(fā)起方和響應(yīng)方完成IPSec SA協(xié)商所使用的三條報文。本發(fā)明通過改變響應(yīng)方本次協(xié)商出的SA的下發(fā)時機(jī)以及生效時機(jī),解決了現(xiàn)有技術(shù)在IPSec SA初次協(xié)商和重協(xié)商過程中,存在的瞬時流量抖動或者流量中斷的問題。
文檔編號H04L29/06GK102761553SQ201210255520
公開日2012年10月31日 申請日期2012年7月23日 優(yōu)先權(quán)日2012年7月23日
發(fā)明者王佩龍 申請人:杭州華三通信技術(shù)有限公司