專(zhuān)利名稱(chēng):一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法。
背景技術(shù):
IPSec (Internet Protocol Security,由IETF定義的安全標(biāo)準(zhǔn)框架)協(xié)議是用來(lái)實(shí)現(xiàn)遠(yuǎn)程接入的一種VPN技術(shù),用以提供公用和專(zhuān)用網(wǎng)絡(luò)的端對(duì)端加密和驗(yàn)證服務(wù)。IPSec協(xié)議不是一個(gè)單獨(dú)的協(xié)議,包括網(wǎng)絡(luò)認(rèn)證協(xié)議AH (Authentication Header,認(rèn)證頭)、ESP(Encapsulating Security Payload,封裝安全載荷)、IKE (Internet Key Exchange,因特網(wǎng)密鑰交換)和用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等。其中,AH協(xié)議和ESP協(xié)議用于提供安全服務(wù)。IPSec的工作原理是通過(guò)查詢安全策略數(shù)據(jù)庫(kù)STO來(lái)決定接收到的IP包的處理,其中IPSec對(duì)IP數(shù)據(jù)包的處理方法除了丟棄、直接轉(zhuǎn)發(fā)(繞過(guò)IPSec)外,還有進(jìn)行IPSec的處理。進(jìn)行IPSec處理意味著對(duì)IP數(shù)據(jù)包進(jìn)行加密和認(rèn)證,安全關(guān)聯(lián)(SecurityAssociation, SA)在IP加密和認(rèn)證的機(jī)制中是一個(gè)關(guān)鍵概念,關(guān)聯(lián)是發(fā)送方和接收方之間的單向關(guān)系,該關(guān)聯(lián)為其上的流提供安全服務(wù)。如果一個(gè)雙向安全交換需要一個(gè)對(duì)等的關(guān)系,那么就要建立兩個(gè)安全關(guān)聯(lián)。安全服務(wù)由AH或者ESP來(lái)提供給SA,但是它們不能同時(shí)提供。其中確定安全關(guān)聯(lián)SA的參數(shù)包括:安全協(xié)議標(biāo)識(shí)(Security Protocol Identifier,SPI):它標(biāo)識(shí)關(guān)聯(lián)是一個(gè)AH安全關(guān)聯(lián)還是一個(gè)ESP安全關(guān)聯(lián),因此,在任何IP包中,安全關(guān)聯(lián)由IP報(bào)頭的目的地址唯一標(biāo)識(shí),而SPI被標(biāo)識(shí)在封裝擴(kuò)展報(bào)頭(AH頭或者ESP頭)中。IPsec在隧道模式下,用戶的整個(gè)IP數(shù)據(jù)包被用來(lái)計(jì)算AH或ESP頭,AH或ESP頭以及ESP加密的用戶數(shù)據(jù)被封裝 在一個(gè)新的IP數(shù)據(jù)包中。IPSec隧道建立和更新的過(guò)程中,會(huì)生成一對(duì)IPSec SA,即加密IPSec SA和解密IPSec SA。在IPSec隧道建立后還要對(duì)IPSec隧道進(jìn)行更新,在IPSec SA生命周期結(jié)束之前30秒鐘左右就開(kāi)始進(jìn)行IPSec隧道更新,此時(shí)就會(huì)出現(xiàn)新IPSec SA與舊IPSec SA—起存在的情況,IPSec隧道協(xié)商出來(lái)的一對(duì)加密IPSec SA和解密IPSec SA信息都會(huì)加載到安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(Security AssociationDatabase, SADB)中,用來(lái)對(duì)報(bào)文進(jìn)行解密和加密查找。此時(shí)如果有加密報(bào)文需要解密,那么會(huì)根據(jù)報(bào)文的IP頭和ESP頭提取解密使用的三元組:IP目的地址、SPI安全索引、協(xié)議號(hào)(AH或ESP),查找完全匹配的解密IPSec SA,并使用此解密IPSec SA進(jìn)行解密。在IPSec隧道協(xié)商過(guò)程中,還會(huì)保存一個(gè)加密SPI信息到IPSec隧道匹配規(guī)則上,當(dāng)有報(bào)文進(jìn)行加密的時(shí)候在加密IPSec隧道上找到最新生成的IPSec SA的SPI,并根據(jù)此SPI和IPSec隧道記錄的目的IP地址,協(xié)議號(hào)在SADB庫(kù)中查找相應(yīng)的IPSec SA,并根據(jù)此IPSec SA對(duì)報(bào)文進(jìn)行加密。在上述過(guò)程中,SADB中既保存了加密IPSec SA,又保存了解密IPSec SA,在加密和解密過(guò)程中都需要使用訪問(wèn)SADB,去查找對(duì)應(yīng)的加密IPSec SA和解密IPSec SA。由于SADB中數(shù)據(jù)量很大,因此查找要耗費(fèi)較多時(shí)間,影響加解密報(bào)文的速度。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題針對(duì)上述缺陷,本發(fā)明要解決的技術(shù)問(wèn)題是如何減少對(duì)報(bào)文加密、解密過(guò)程中查找IPSec SA的時(shí)間,提高網(wǎng)路設(shè)備處理加解密報(bào)文的速度。(二)技術(shù)方案為解決上述問(wèn)題,本發(fā)明提供了一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法,所述方法具體包括:SI =IPSec隧道進(jìn)行更新時(shí),生成第二加密IPSec安全關(guān)聯(lián)和第二解密IPSec安全關(guān)聯(lián);S2:將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中,所述第二解密IPSec安全關(guān)聯(lián)保存在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中;S3:當(dāng)有報(bào)文需要加密時(shí),在所述IPSec隧道匹配規(guī)則中查找相對(duì)應(yīng)的加密IPSec安全關(guān)聯(lián)對(duì)所述報(bào)文進(jìn)行加密;S4:當(dāng)有報(bào)文需要解密時(shí),在所述安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中查找相應(yīng)的解密IPSec安全關(guān)聯(lián)對(duì)所述報(bào)文進(jìn)行解密。進(jìn)一步地,所述步驟SI之前還包括:IPSec隧道協(xié)商生成第一加密IPSec安全關(guān)聯(lián)和第一解密IPSec安全關(guān)聯(lián)。進(jìn)一步地,所述步驟S2 將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則之前還包括:判斷所述IPSec隧道匹配規(guī)則中是否已經(jīng)存在所述第一加密IPSec安全關(guān)聯(lián),則直接刪除所述第一加密IPSec安全關(guān)聯(lián),再將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中,否則直接將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中。進(jìn)一步地,所述步驟S2將所述第二解密IPSec安全關(guān)聯(lián)保存在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)之后還包括:保存在所述安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中的第一解密IPSec安全關(guān)聯(lián)不直接刪除,等待自然超時(shí),超時(shí)時(shí)間到之后再進(jìn)行刪除。(三)有益效果本發(fā)明提供了一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法,通過(guò)對(duì)安全關(guān)聯(lián)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化,在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)只記錄解密使用的IPSec安全關(guān)聯(lián),加密使用的IPSec安全關(guān)聯(lián)只記錄在IPSec隧道匹配規(guī)則上。通過(guò)這種優(yōu)化,大大減少了對(duì)報(bào)文加密和解密過(guò)程中查找對(duì)應(yīng)的IPSec安全關(guān)聯(lián)的時(shí)間,將搜索時(shí)間減少一半,提高網(wǎng)路設(shè)備處理加解密報(bào)文的速度。
圖1為本發(fā)明實(shí)施例中的一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法的步驟流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。本發(fā)明實(shí)施例中提供了一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法,步驟流程如圖1所示,具體包括以下步驟:步驟SI =IPSec隧道進(jìn)行更新時(shí),生成第二加密IPSec安全關(guān)聯(lián)和第二解密IPSec安全關(guān)聯(lián)。步驟SI之前還包括:IPSec隧道協(xié)商生成一對(duì)IPSec SA,一個(gè)用來(lái)加密,一個(gè)用來(lái)解密。IPSec隧道協(xié)商生成的是舊的IPSec SA對(duì),即包括第一加密IPSec安全關(guān)聯(lián)和第一解密IPSec安全關(guān)聯(lián);而在步驟SI中進(jìn)行隧道更新時(shí)生成的是新的IPSec SA對(duì)。步驟S2:將第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中,第二解密IPSec安全關(guān)聯(lián)保存在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中。其中,將第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則之前還包括:判斷IPSec隧道匹配規(guī)則中是否已經(jīng)存在第一加密IPSec安全關(guān)聯(lián),則直接刪除第一加密IPSec安全關(guān)聯(lián),再將第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中,否則直接將第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中。將第二解密IPSec安全關(guān)聯(lián)保存在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)之后還包括:與刪除加密IPSec安全關(guān)聯(lián)不同的是,保存在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中的第一解密IPSec安全關(guān)聯(lián)不直接刪除,等待自然超時(shí),超時(shí)時(shí)間到之后再進(jìn)行刪除。由于網(wǎng)絡(luò)可能會(huì)出現(xiàn)報(bào)文混亂的情況,在隧道協(xié)商過(guò)程中已經(jīng)有一些加密IPSec安全關(guān)聯(lián),就會(huì)有加密報(bào)文被發(fā)送過(guò)來(lái),如果舊的解密IPSec安全關(guān)聯(lián)過(guò)早刪除會(huì)導(dǎo)致無(wú)法解密,因此要等待解密IPSec安全關(guān)聯(lián)自然超時(shí)時(shí)才可以將其刪除。步驟S3:當(dāng)有報(bào)文需要加密時(shí),在IPSec隧道匹配規(guī)則中查找相對(duì)應(yīng)的加密IPSec安全關(guān)聯(lián)對(duì)報(bào)文進(jìn)行加密。
其中加密IPSec安全關(guān)聯(lián)中包括IP地址、SPI安全索引和協(xié)議號(hào)。隧道協(xié)商過(guò)程中會(huì)將在SPI安全索引保存在IPSec隧道匹配規(guī)則中的加密IPSec安全關(guān)聯(lián)中。當(dāng)有報(bào)文進(jìn)行加密的時(shí)候在加密IPSec隧道上根據(jù)在SPI安全索引、記錄的目的IP地址和協(xié)議號(hào)在IPSec隧道匹配規(guī)則中查找相應(yīng)的加密IPSec安全關(guān)聯(lián),并根據(jù)其對(duì)報(bào)文進(jìn)行加密。步驟S4:當(dāng)有報(bào)文需要解密時(shí),在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中查找相應(yīng)的解密IPSec安全關(guān)聯(lián)對(duì)報(bào)文進(jìn)行解密。同加密報(bào)文過(guò)程,根據(jù)報(bào)文的IP頭和ESP頭提取解密報(bào)文需要使用的三元組,即目的IP地址、SPI安全索引和協(xié)議號(hào)(AH或ESP),查找完全匹配的IPSec安全關(guān)聯(lián),并根據(jù)其對(duì)報(bào)文進(jìn)行解密。通過(guò)上述方法,通過(guò)對(duì)安全關(guān)聯(lián)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化,在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)只記錄解密使用的IPSec安全關(guān)聯(lián),加密使用的IPSec安全關(guān)聯(lián)只記錄在IPSec隧道匹配規(guī)則上。通過(guò)這種優(yōu)化,大大減少了對(duì)報(bào)文加密和解密過(guò)程中查找對(duì)應(yīng)的IPSec安全關(guān)聯(lián)的時(shí)間,將搜索時(shí)間減少一半,提高網(wǎng)路設(shè)備處理加解密報(bào)文的速度。以上實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專(zhuān)利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法,其特征在于,所述方法具體包括: 51=IPSec隧道進(jìn)行更新時(shí),生成第二加密IPSec安全關(guān)聯(lián)和第二解密IPSec安全關(guān)聯(lián); 52:將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中,所述第二解密IPSec安全關(guān)聯(lián)保存在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中; 53:當(dāng)有報(bào)文需要加密時(shí),在所述IPSec隧道匹配規(guī)則中查找相對(duì)應(yīng)的加密IPSec安全關(guān)聯(lián)對(duì)所述報(bào)文進(jìn)行加密; 54:當(dāng)有報(bào)文需要解密時(shí),在所述安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中查找相應(yīng)的解密IPSec安全關(guān)聯(lián)對(duì)所述報(bào)文進(jìn)行解密。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI之前還包括=IPSec隧道協(xié)商生成第一加密IPSec安全關(guān)聯(lián)和第一解密IPSec安全關(guān)聯(lián)。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟S2將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則之前還包括: 判斷所述IPSec隧道 匹配規(guī)則中是否已經(jīng)存在所述第一加密IPSec安全關(guān)聯(lián),則直接刪除所述第一加密IPSec安全關(guān)聯(lián),再將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中,否則直接將所述第二加密IPSec安全關(guān)聯(lián)添加到IPSec隧道匹配規(guī)則中。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟S2將所述第二解密IPSec安全關(guān)聯(lián)保存在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)之后還包括: 保存在所述安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中的第一解密IPSec安全關(guān)聯(lián)不直接刪除,等待自然超時(shí),超時(shí)時(shí)間到之后再進(jìn)行刪除。
全文摘要
本發(fā)明公開(kāi)了一種IPSec安全關(guān)聯(lián)存儲(chǔ)方法,IPSec隧道進(jìn)行更新時(shí),生成第二加密IPSec安全關(guān)聯(lián)和第二解密IPSec安全關(guān)聯(lián),分別存儲(chǔ)到IPSec隧道匹配規(guī)則和安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中;當(dāng)有報(bào)文需要加密時(shí),在IPSec隧道匹配規(guī)則中查找相對(duì)應(yīng)的加密IPSec安全關(guān)聯(lián)對(duì)報(bào)文進(jìn)行加密;當(dāng)有報(bào)文需要解密時(shí),在安全關(guān)聯(lián)數(shù)據(jù)庫(kù)中查找相應(yīng)的解密IPSec安全關(guān)聯(lián)對(duì)報(bào)文進(jìn)行解密。本發(fā)明對(duì)安全關(guān)聯(lián)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化,只存儲(chǔ)解密IPSec安全關(guān)聯(lián),而將加密IPSec安全關(guān)聯(lián)記錄在IPSec隧道匹配規(guī)則上,減少加密和解密過(guò)程中查找IPSec安全關(guān)聯(lián)的搜索時(shí)間,大大加快報(bào)文加密和解密的速度。
文檔編號(hào)H04L29/06GK103237015SQ20131010881
公開(kāi)日2013年8月7日 申請(qǐng)日期2013年3月29日 優(yōu)先權(quán)日2013年3月29日
發(fā)明者陳海濱 申請(qǐng)人:漢柏科技有限公司