一種因特網協議安全安全聯盟協商方法和裝置制造方法
【專利摘要】本發明提供了一種因特網協議安全安全聯盟協商方法,該方法包括:當本端設備的接口上應用IPsec策略時,針對訪問控制列表ACL中配置的每一條流信息,根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商;所述本端設備將協商出的IPsec SA存儲到安全聯盟數據庫SAD中。基于同樣的發明構思,本申請還提出一種裝置,能夠預先協商IPsec SA,以降低數據流的丟包率,以及降低大量IPsec并發協商對設備造成的沖擊。
【專利說明】一種因特網協議安全安全聯盟協商方法和裝置
【技術領域】
[0001]本發明涉及通信【技術領域】,特別涉及一種因特網協議安全安全聯盟協商方法和裝置。
【背景技術】
[0002]因特網協議安全(IP Security, IPsec)是互聯網工程任務組(InternetEngineering Task Force, IETF)制定的三層隧道加密協議,它為互聯網上傳輸的數據提供了高質量的、基于密碼學的安全保證,是一種傳統的實現三層虛擬專用網絡(VirtualPrivate Network, VPN)的安全技術。IPsec通過在特定通信方之間(例如兩個安全網關之間)建立“通道”,來保護通信方之間傳輸的用戶數據,該通道通常稱為IPsec隧道。
[0003]現有實現中,一個設備的接口上若應用IPsec策略,在接收到ACL中配置的感興趣流時,才觸發IPsec安全聯盟(Security Associat1n, SA)協商;而進行IPsec SA協商時,無論使用主模式(Main Mode)還是野蠻模式(Aggressive Mode)都需要一定時間,在IPsecSA協商期間,相關流量都會由于匹配不到SA被丟棄。
【發明內容】
[0004]有鑒于此,本申請提供一種因特網協議安全安全聯盟協商方法和裝置,以解決接收到數據流才觸發IPsec SA協商而導致的數據流的丟包率高的問題。
[0005]為解決上述技術問題,本申請的技術方案是這樣實現的:
[0006]一種因特網協議安全IPsec安全聯盟SA協商方法,該方法包括:
[0007]當本端設備的接口上應用IPsec策略時,針對訪問控制列表ACL中配置的每一條流信息,根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商;
[0008]所述本端設備將協商出的IPsec SA存儲到安全聯盟數據庫SAD中。
[0009]一種因特網協議安全IPsec安全聯盟SA協商裝置,該裝置包括:協商單元和存儲單元;
[0010]所述協商單元,用于當裝置的接口上應用IPsec策略時,針對訪問控制列表ACL中配置的每一條流信息,根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商;
[0011]所述存儲單元,用于將所述協商單元中協商出的IPsec SA存儲到安全聯盟數據庫SAD 中。
[0012]由上面的技術方案可知,本申請中當接口上應用IPsec策略時,立即開始IPsecSA的協商。當后續有流量到達時,可以直接使用已協商完成的IPsecSA進行流量的轉發,從而能夠預先協商IPsec SA,以降低數據流的丟包率,以及降低大量IPsec并發協商對設備造成的沖擊。
【專利附圖】
【附圖說明】
[0013]圖1為本申請實施例中IPsec SA協商方法流程不意圖;
[0014]圖2為本申請實施例中數據流處理流程示意圖;
[0015]圖3為本申請實施例中應用于上述技術的IPsec SA協商裝置結構示意圖。
【具體實施方式】
[0016]為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖并據實施例,對本發明的技術方案進行詳細說明。
[0017]參見圖1,圖1為本申請實施例中IPsec SA協商方法流程示意圖。具體步驟為:
[0018]步驟101,當本端設備的接口上應用IPsec策略時,針對ACL中配置的每一條流信息,根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商。
[0019]本申請的具體實現中在接口上應用IPsec策略時,就觸發IPsec SA的協商,而不會等到接收到需要通過該接口發送的數據流時,才開始觸發IPsec SA的協商。
[0020]本端設備無論選擇主模式協商還是野蠻模式協商,協商過程同現有實現。
[0021]本端設備如果通過接口上應用觸發IPsec SA協商時,由于不需要對報文進行處理,因此,在協商完成IPsec SA后,沒必要進行老化處理,因此,在這種情況下的IPsec SA協商的過程中,將發送的協商報文中的老化時間字段填充為不設置老化時間的標識,即表示該協商過程中協商出的IPsec SA不需要老化。
[0022]在具體實現時,可以在老化時間字段中填充0,用于作為不設置老化時間的標識;也可以填充設備兩端約定的不設置老化時間的標識。
[0023]其中的IPsec策略同現有實現,包括老化時間,算法,地址等信息。
[0024]步驟102,本端設備將協商出的IPsec SA存儲到SAD中。
[0025]本實施例中將預先協商出的IPsec SA存儲到SAD中,以備后續接收到元組信息與ACL中配置的流信息匹配的數據流時,進行封裝并轉發。
[0026]下面結合附圖,詳細說明本申請實施例中接收到數據流后的處理過程。
[0027]參見圖2,圖2為本申請實施例中數據流處理流程示意圖。具體步驟包括:
[0028]步驟201,本端設備接收到數據流。
[0029]步驟202,本端設備根據該數據流的元組信息在ACL中匹配對應的流信息時,根據匹配到的流信息在SAD中查找對應的IPsec SA。
[0030]本端設備接收到數據流時,先需根據該數據流的元組信息在ACL中進行匹配。
[0031]具體的,ACL的流信息預先配置,可以包括如下五個參數信息中的任意一個或任意組合:協議(IP、UDP、TCP等)、源IP地址、目的IP地址、源端口號和目的端口號。
[0032]根據ACL中的流信息包括的信息選擇數據流的元組信息中的相應信息進行匹配。例如,ACL的流信息包括:源IP地址和目的IP地址這兩個參數信息,那么選擇數據流的元組信息中的該數據流的源IP地址和目的IP地址進行匹配。又如,ACL的流信息包括:源IP地址、目的IP地址、源端口號和目的端口號這四個參數信息,那么選擇數據流的元組信息中的該數據流的源IP地址、目的IP地址、源端口號和目的端口號進行匹配。
[0033]如果根據該數據流的元組信息在ACL中匹配到對應的流信息,說明需要通過IPsec封裝進行加密發送;如果未匹配到,則直接發送,同現有實現。
[0034]步驟203,當未查找到對應的IPsec SA時,本端設備確定是否正在針對匹配到的流信息進行IPsec SA協商,如果是,執行步驟204 ;否則,執行步驟205。
[0035]本步驟中當未查找到對應的IPsec SA時,直接將數據流丟棄,但是,不同于現有實現直接觸發IPsec SA協商,而是需要先確定是否正在協商對應的IPsec SA。
[0036]步驟204,本端設備在針對匹配到的流信息進行IPsec SA協商成功時,將通過所述匹配到的流信息協商出的IPsec SA存儲到SAD中時,并為該SA設置匹配到的流信息對應的IPsec策略中的老化時間,執行步驟209。
[0037]本步驟中,雖然當前的IPsec SA協商過程是由接口上應用IPsec策略觸發的,但是,當前已有接收到過相應的流量,因此,為了安全直接將老化時間設置為對應IPsec策略中的老化時間。
[0038]步驟205,本終端設備開始IPsec SA協商,在IPsec SA協商成功,將通過所述匹配到的流信息協商出的IPsec SA存儲到SAD中時,并為該IPsec SA設置匹配到的流信息對應的IPsec策略中的老化時間,執行步驟209。
[0039]本步驟的IPsec SA協商由數據流觸發開始的,具體實現同現有實現。
[0040]步驟206,當查找到對應的IPsee SA時,本端設備對該數據流進行IPsee封裝并發送給與本終端設備協商出查找到的對應IPsec SA的對端設備。
[0041]步驟207,本端設備確定查找到的對應IPsec SA是否設置老化時間,如果是,執行步驟209 ;否則,執行步驟208。
[0042]本步驟中確定查找到的對應IPsec SA是否設置老化時間,即協商出該IPsec SA的IPsec SA協商過程由數據流觸發還是由接口上應用的IPsec策略觸發,如果為接口上應用的IPsec策略觸發協商的,則需要為該IPsec SA設置對應IPsec策略的中的老化時間。
[0043]步驟208,本端設備為該IPsec SA設置所述匹配到的流信息對應的IPsec策略中的老化時間。
[0044]步驟209,結束本流程。
[0045]基于同樣的發明構思,本申請還提出一種IPsec SA協商裝置。參見圖3,圖3為本申請實施例中應用于上述技術的IPsec SA協商裝置結構示意圖。該裝置包括:協商單元301和存儲單元302 ;
[0046]協商單元301,用于當裝置的接口上應用IPsec策略時,針對訪問控制列表ACL中配置的每一條流信息,根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商;
[0047]存儲單元302,用于將協商單元301中協商出的IPsec SA存儲到安全聯盟數據庫SAD 中。
[0048]較佳地,
[0049]協商單元301,具體用于根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商的過程中,將發送的協商報文中的老化時間字段填充為不設置老化時間的標識。
[0050]較佳地,該裝置還包括:接收單元301和查找單元302 ;
[0051]接收單元303,用于接收數據流;
[0052]查找單元304,用于當接收單元303接收到數據流時,若根據該數據流的元組信息在ACL中匹配到對應的流信息,則根據匹配到的流信息在SAD中查找對應的IPsec SA ;
[0053]協商單元301,進一步用于當查找單元304未查找到對應的IPsec SA時,確定是否正在針對匹配到的流信息進行IPsec SA協商,如果是,在針對匹配到的流信息進行IPsecSA協商成功時,并觸發存儲單元302將通過所述匹配到的流信息協商出的IPsec SA存儲到SAD中時,并為該SA設置匹配到的流信息對應的IPsec策略中的老化時間;否則,開始IPsec SA協商,在IPsec SA協商成功,并觸發存儲單元302將通過所述匹配到的流信息協商出的IPsec SA存儲到SAD中時,并為該SA設置匹配到的流信息對應的IPsec策略中的老化時間。
[0054]較佳地,該裝置進一步包括:發送單元305 ;
[0055]發送單元305,用于當查找單元304查找到對應的IPsec SA時,對該數據流進行IPsec封裝并發送給與本終端設備協商出查找到的對應IPsec SA的對端設備;
[0056]存儲單元302,進一步用于若確定查找單元304查找到的對應IPsec SA未設置老化時間,則為該IPsec SA設置所述匹配到的流信息對應的IPsec策略中的老化時間。
[0057]上述實施例的單元可以集成于一體,也可以分離部署;可以合并為一個單元,也可以進一步拆分成多個子單元。
[0058]綜上所述,本申請通過當接口上應用IPsec策略時,立即開始IPsec SA的協商。當后續有流量到達時,可以直接使用已協商完成的IPsec SA進行流量的轉發,從而能夠預先協商IPsec SA,以降低數據流的丟包率,以及大量IPsec并發協商對設備造成的沖擊。
[0059]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【權利要求】
1.一種因特網協議安全IPsec安全聯盟SA協商方法,其特征在于,該方法包括: 當本端設備的接口上應用IPsec策略時,針對訪問控制列表ACL中配置的每一條流信息,根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商; 所述本端設備將協商出的IPsec SA存儲到安全聯盟數據庫SAD中。
2.根據權利要求1所述的方法,其特征在于,所述根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商的過程中,所述本端設備發送的協商報文中的老化時間字段填充為不設置老化時間的標識。
3.根據權利要求1或2所述的方法,其特征在于,所述方法進一步包括: 所述本端設備接收到數據流時,若根據該數據流的元組信息在ACL中匹配到對應的流信息,則根據匹配到的流信息在SAD中查找對應的IPsec SA ; 當未查找到對應的IPsec SA時,所述本端設備確定是否正在針對匹配到的流信息進行IPsec SA協商,如果是,在針對匹配到的流信息進行IPsec SA協商成功時,將通過所述匹配到的流信息協商出的IPsec SA存儲到SAD中時,并為該IPsec SA設置匹配到的流信息對應的IPsec策略中的老化時間;否則,開始IPsec SA協商,在IPsec SA協商成功,將通過所述匹配到的流信息協商出的對應IPsec SA存儲到SAD中時,并為該IPsec SA設置匹配到的流信息對應的IPsec策略中的老化時間。
4.根據權利要求3所述的方法,其特征在于, 當查找到對應的IPsec SA時,所述本端設備對該數據流進行IPsec封裝并發送給與本終端設備協商出查找到的對應IPsec SA的對端設備; 若所述本端設備確定查找到的對應IPsec SA未設置老化時間,則為該IPsec SA設置所述匹配到的流信息對應的IPsec策略中的老化時間。
5.一種因特網協議安全IPsec安全聯盟SA協商裝置,其特征在于,該裝置包括:協商單元和存儲單元; 所述協商單元,用于當裝置的接口上應用IPsec策略時,針對訪問控制列表ACL中配置的每一條流信息,根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA 協商; 所述存儲單元,用于將通過所述協商單元中協商出的IPsec SA存儲到安全聯盟數據庫SAD 中。
6.根據權利要求5所述的裝置,其特征在于, 所述協商單元,具體用于根據該流信息對應的IPsec策略,與通過該接口相連的對端設備進行IPsec SA協商的過程中,將發送的協商報文中的老化時間字段填充為不設置老化時間的標識。
7.根據權利要求5或6所述的裝置,其特征在于,該裝置進一步包括:接收單元和查找單元; 所述接收單元,用于接收數據流; 所述查找單元,用于當所述接收單元接收到數據流時,若根據該數據流的元組信息在ACL中匹配到對應的流信息,則根據匹配到的流信息在SAD中查找對應的IPsec SA ; 所述協商單元,進一步用于當所述查找單元未查找到對應的IPsec SA時,確定是否正在針對匹配到的流信息進行IPsec SA協商,如果是,在針對匹配到的流信息進行IPsecSA協商成功時,并觸發所述存儲單元將通過所述匹配到的流信息協商出的IPsec SA存儲到SAD中時,并為該SA設置匹配到的流信息對應的IPsec策略中的老化時間;否則,開始IPsec SA協商,在IPsec SA協商成功,并觸發所述存儲單元將通過所述匹配到的流信息協商出的IPsec SA存儲到SAD中時,并為該SA設置匹配到的流信息對應的IPsec策略中的老化時間。
8.根據權利要求7所述的裝置,其特征在于,該裝置進一步包括:發送單元; 所述發送單元,用于當所述查找單元查找到對應的IPsec SA時,對該數據流進行IPsec封裝并發送給與本終端設備協商出查找到的對應IPsec SA的對端設備; 所述存儲單元,進一步用于若確定所述查找單元查找到的對應IPsec SA未設置老化時間,則為該IPsec SA設置所述匹配到的流信息對應的IPsec策略中的老化時間。
【文檔編號】H04L29/06GK104333554SQ201410634796
【公開日】2015年2月4日 申請日期:2014年11月12日 優先權日:2014年11月12日
【發明者】田浩博, 張太博 申請人:杭州華三通信技術有限公司