秦培斌,李 青,肖志輝,楊大川
(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031;2.邁普通信技術(shù)股份有限公司 路由產(chǎn)品研發(fā)部,四川 成都 610041)
一種穩(wěn)定高效的加密報(bào)文回收設(shè)計(jì)*
秦培斌1,李 青1,肖志輝2,楊大川2
(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031;2.邁普通信技術(shù)股份有限公司 路由產(chǎn)品研發(fā)部,四川 成都 610041)
目前,加密報(bào)文回收設(shè)計(jì)多采用連續(xù)序列號(hào)回收或基于時(shí)間戳的報(bào)文回收方法,但這兩種方法都存在明顯缺陷,不能很好滿(mǎn)足軟件設(shè)計(jì)的需求。連續(xù)序列號(hào)回收方法要求硬件安全可靠,嚴(yán)格按照?qǐng)?bào)文順序處理、回送報(bào)文,否則易導(dǎo)致IPSec邏輯錯(cuò)誤?;跁r(shí)間戳的報(bào)文回收方法消耗系統(tǒng)資源較多,同時(shí)報(bào)文超時(shí)時(shí)間不易設(shè)定,因此,有必要設(shè)計(jì)一種穩(wěn)定高效的加密報(bào)文回收方法。通過(guò)對(duì)加密報(bào)文回收設(shè)計(jì)的研究,在加密報(bào)文中加入特定的報(bào)文序列號(hào),有效解決了上述兩種方法的缺陷,并可通過(guò)設(shè)定解鎖次數(shù)合理設(shè)定報(bào)文超時(shí)時(shí)間,滿(mǎn)足了軟件穩(wěn)定、高效的運(yùn)行需求。
報(bào)文回收;加密;IPSec
當(dāng)今社會(huì)信息安全問(wèn)題日顯突出,如何確保網(wǎng)絡(luò)通信安全已成為全社會(huì)關(guān)注的問(wèn)題。IETF(因特網(wǎng)工程任務(wù)組)于1998年發(fā)布了安全協(xié)議標(biāo)準(zhǔn)IPsec,該協(xié)議隨后成為互聯(lián)網(wǎng)安全的基石之一[1]。IPSec作為開(kāi)放標(biāo)準(zhǔn)的網(wǎng)絡(luò)安全協(xié)議已經(jīng)廣泛應(yīng)用于全球互聯(lián)網(wǎng)[2],為了提高我國(guó)互聯(lián)網(wǎng)的數(shù)據(jù)業(yè)務(wù)安全性,國(guó)家密碼管理局也研制了一系列具有自主知識(shí)產(chǎn)權(quán)的加密算法,SM1作為最基礎(chǔ)的商用密碼分組標(biāo)準(zhǔn)對(duì)稱(chēng)算法,已成為我國(guó)各行業(yè)應(yīng)用最廣泛的加密算法策略。
現(xiàn)在我國(guó)大部分通信設(shè)備制造商的路由器產(chǎn)品均支持SM1加密算法,且大多采用:IPSec協(xié)議層?SM1加密算法驅(qū)動(dòng)層?SM1硬件加密芯片,這種軟硬件架構(gòu)[3]。驅(qū)動(dòng)程序作為一個(gè)橋梁,使得應(yīng)用程序和加密卡的通信得以實(shí)現(xiàn)[4]。為了提高加密芯片的利用率,SM1加密算法驅(qū)動(dòng)層會(huì)采用異步流水線(xiàn)設(shè)計(jì)方式,即IPSec協(xié)議層可以將數(shù)據(jù)報(bào)文批量發(fā)給驅(qū)動(dòng)層,然后進(jìn)行緩存和排序并送交硬件加密芯片進(jìn)行加密處理,等待報(bào)文加密完成并從硬件回送至驅(qū)動(dòng)層過(guò)后,軟件通過(guò)排序的序列號(hào)查找對(duì)應(yīng)的回調(diào)函數(shù)將報(bào)文送回IPSec協(xié)議層。基于這種設(shè)計(jì)思路,目前加密報(bào)文回收采用的技術(shù)方案要點(diǎn)如下:
1)采用一個(gè)虛擬BD(Buffer Descriptor)環(huán)進(jìn)行報(bào)文的緩存和排序。
2)設(shè)計(jì)加密報(bào)文封裝頭,將BD序列號(hào)信息保存到封裝頭中,并跟隨報(bào)文發(fā)送至硬件加密芯片(整個(gè)加密報(bào)文封裝頭在處理過(guò)程中不會(huì)發(fā)生變化)。
3)根據(jù)回送的加密報(bào)文封裝頭獲取對(duì)應(yīng)的BD序列號(hào),并查找到對(duì)應(yīng)BD上保存的回調(diào)參數(shù),最后將加密報(bào)文回送IPSec協(xié)議層。數(shù)據(jù)處理流程如圖1所示。
圖1 報(bào)文處理流程框
處理流程1:將待處理資源進(jìn)行緩存和封裝,并鎖定BD資源。
處理流程2:將封裝完成的報(bào)文發(fā)送至硬件加密芯片進(jìn)行加解密處理。
處理流程3:接收加解密完成的報(bào)文并解析對(duì)應(yīng)的BD序列號(hào),查找對(duì)應(yīng)的BD緩存的回調(diào)參數(shù),通過(guò)回調(diào)函數(shù)將報(bào)文回送IPSec協(xié)議層,并將對(duì)應(yīng)的BD資源進(jìn)行解鎖,供后續(xù)待處理報(bào)文使用。
在上述整個(gè)處理流程中,需要考慮由于硬件加密芯片或硬件通道不穩(wěn)定引起的丟包情況,所以如何識(shí)別和判斷報(bào)文丟包,并將相應(yīng)的BD資源釋放,同時(shí)將加解密失敗的結(jié)果通告IPSec層成為軟件設(shè)計(jì)的關(guān)鍵問(wèn)題。針對(duì)以上問(wèn)題目前有兩種解決方案:連續(xù)序列號(hào)報(bào)文回收和基于時(shí)間戳的報(bào)文回收方案。
2.1 連續(xù)序列號(hào)報(bào)文回收
報(bào)文傳輸?shù)囊粋€(gè)重要特征就是正常傳輸?shù)膱?bào)文序號(hào)應(yīng)該是連續(xù)非遞減的,當(dāng)?shù)竭_(dá)報(bào)文的序號(hào)沒(méi)有按照連續(xù)非遞減方式出現(xiàn)時(shí),則網(wǎng)絡(luò)中出現(xiàn)丟包或亂序[5]。該方案的算法實(shí)現(xiàn)即是基于此理論,通過(guò)判斷回收?qǐng)?bào)文的BD序列號(hào)是否連續(xù),判斷是否存在丟包的情況。例如發(fā)送到硬件加密芯片的報(bào)文序列號(hào)為1、2、3、4,但是驅(qū)動(dòng)接收到硬件加密完成的報(bào)文序列號(hào)為1、2、4,此時(shí)報(bào)文序號(hào)不連續(xù),因此判定3號(hào)報(bào)文已經(jīng)丟棄,驅(qū)動(dòng)則可查找到對(duì)應(yīng)的BD資源,將3號(hào)報(bào)文加解密失敗的結(jié)果通過(guò)回調(diào)函數(shù)通告IPSec協(xié)議層。
該方案的優(yōu)點(diǎn)是算法邏輯簡(jiǎn)單,但缺點(diǎn)是適應(yīng)性窄,健壯度低。因?yàn)樵擈?qū)動(dòng)的設(shè)計(jì)方案對(duì)硬件的要求很高,要求硬件加密通道及加密芯片對(duì)報(bào)文做到順序處理,否則一旦回送的報(bào)文亂序則會(huì)引起函數(shù)邏輯錯(cuò)誤。然而,大量研究表明,報(bào)文亂序是互聯(lián)網(wǎng)中普遍存在的現(xiàn)象[6],隨著網(wǎng)絡(luò)傳輸速率的提高,報(bào)文亂序出現(xiàn)的比例同時(shí)也呈增長(zhǎng)趨勢(shì)[7]。如果加密卡回送報(bào)文的序列號(hào)為1、2、4、3,當(dāng)驅(qū)動(dòng)發(fā)現(xiàn)4號(hào)報(bào)文已經(jīng)回送時(shí),則認(rèn)為3號(hào)報(bào)文已經(jīng)丟棄,于是將3號(hào)報(bào)文加密失敗的結(jié)果通告IPSec協(xié)議層并釋放3號(hào)BD資源,后續(xù)待處理的報(bào)文馬上占據(jù)了3號(hào)BD資源進(jìn)行使用,此時(shí)原來(lái)已經(jīng)上報(bào)錯(cuò)誤的3號(hào)報(bào)文的加密結(jié)果回送到驅(qū)動(dòng),驅(qū)動(dòng)這時(shí)就無(wú)法區(qū)別回收到的3號(hào)報(bào)文是否為本輪次發(fā)起的加密請(qǐng)求返回的結(jié)果,默認(rèn)將上一輪的報(bào)文處理結(jié)果當(dāng)作本輪次的加密結(jié)果回送IPSec協(xié)議層,導(dǎo)致報(bào)文順序錯(cuò)誤,引起IPSec層處理異常。
2.2 基于時(shí)間戳的報(bào)文回收
我們通常將在網(wǎng)絡(luò)上傳輸?shù)膸r(shí)間的信息叫做時(shí)間戳[8]?;跁r(shí)間戳的報(bào)文回收方法引入了時(shí)間戳的概念,每一個(gè)BD資源在LOCK的時(shí)候就打上了一個(gè)時(shí)間戳,并且需要不斷的輪詢(xún)檢測(cè)每一個(gè)BD是否在合理的時(shí)間內(nèi)進(jìn)行了解鎖,如果超出限定時(shí)間未解鎖,則判定該BD對(duì)應(yīng)的報(bào)文已經(jīng)丟棄,然后進(jìn)行錯(cuò)誤通告以及BD資源解鎖等一系列動(dòng)作,該方案作為現(xiàn)在應(yīng)用比較廣泛的技術(shù)方案,雖然能夠避免由于亂序引起的對(duì)丟包事件的錯(cuò)誤判斷,但也存在明顯的缺陷:
1)引入時(shí)間戳及輪詢(xún)BD超時(shí)的任務(wù)帶來(lái)了較大的資源開(kāi)銷(xiāo),每一次輪詢(xún)都要對(duì)每一個(gè)BD的當(dāng)前時(shí)間戳進(jìn)行獲取,并且和BD LOCK的時(shí)間戳進(jìn)行比較判斷是否超時(shí),整個(gè)流程的處理繁瑣,且驅(qū)動(dòng)程序的實(shí)現(xiàn)也比較復(fù)雜。
2)超時(shí)閾值不易設(shè)置。報(bào)文超時(shí)閾值的設(shè)定非常重要,閾值設(shè)置過(guò)長(zhǎng)時(shí)會(huì)導(dǎo)致服務(wù)質(zhì)量降低[9],即丟包情況下BD資源不能迅速解鎖,資源回收效率低下;如果閾值設(shè)置過(guò)短,一旦出現(xiàn)超時(shí)過(guò)后對(duì)應(yīng)的報(bào)文才回收到驅(qū)動(dòng),會(huì)出現(xiàn)和連續(xù)序列號(hào)報(bào)文回收方案中一樣無(wú)法處理的情況,即驅(qū)動(dòng)無(wú)法識(shí)別當(dāng)前報(bào)文是否是上一次加解密請(qǐng)求的結(jié)果,回送IPSec協(xié)議層同樣會(huì)導(dǎo)致報(bào)文順序錯(cuò)誤,引起IPSec協(xié)議層處理異常。
3)另外,在某些多核的情況下,核間的時(shí)間戳存在差異,并不能保持完全同步[10],所以不同處理核對(duì)時(shí)間戳的判斷標(biāo)準(zhǔn)不一致,導(dǎo)致超時(shí)判斷標(biāo)準(zhǔn)出現(xiàn)波動(dòng),引起不可避免的錯(cuò)誤判斷。
由此可見(jiàn),上述兩種方案均存在比較明顯的缺陷,無(wú)法做到一個(gè)比較理想的狀態(tài),即整個(gè)加密報(bào)文的回收檢測(cè)算法簡(jiǎn)單,不受報(bào)文亂序等因素的限制,且出現(xiàn)超時(shí)判斷過(guò)后,即使原來(lái)的報(bào)文收回也不會(huì)受到干擾甚至引起異常。
針對(duì)以上存在的問(wèn)題,本文設(shè)計(jì)了一種非常簡(jiǎn)單且易于軟件編碼實(shí)現(xiàn)的算法,增加了整個(gè)加密驅(qū)動(dòng)軟件的健壯度,既沒(méi)有軟件亂序的限制,也可以在一個(gè)合理的超時(shí)時(shí)間過(guò)后,識(shí)別報(bào)文的正確性,將已超時(shí)的報(bào)文過(guò)濾掉,不影響正確報(bào)文的回收。具體如下:
1)加密驅(qū)動(dòng)軟件構(gòu)建用于緩存報(bào)文的虛擬BD環(huán),虛擬BD環(huán)的長(zhǎng)度由調(diào)用模塊請(qǐng)求速率和被調(diào)用模塊執(zhí)行速率之間的速度差來(lái)決定[11],對(duì)應(yīng)的加密速率越高,建議設(shè)定的BD環(huán)長(zhǎng)度越大。如圖2所示,創(chuàng)建完成BD環(huán)過(guò)后,需要對(duì)每一個(gè)BD結(jié)構(gòu)進(jìn)行初始化,保證每一個(gè)BD結(jié)構(gòu)處于解鎖狀態(tài)供待加解密報(bào)文進(jìn)行緩存,BD結(jié)構(gòu)用于存儲(chǔ)對(duì)應(yīng)緩存報(bào)文回送IPSec層時(shí)的回調(diào)函數(shù)和參數(shù)。
2)當(dāng)IPSec協(xié)議層將待加解密報(bào)文送入驅(qū)動(dòng)層時(shí),驅(qū)動(dòng)程序需要依次查找BD環(huán)并獲取空閑的BD結(jié)構(gòu)(解鎖狀態(tài))緩存該報(bào)文,然后將BD序列封裝至報(bào)文頭,并將回調(diào)參數(shù)保存至對(duì)應(yīng)的BD結(jié)構(gòu)中,最后對(duì)BD資源進(jìn)行鎖定,確保該報(bào)文在加密完成之前該BD不會(huì)被其他報(bào)文占用。
圖2 優(yōu)化方案BD操作
3)本設(shè)計(jì)在加密報(bào)文封裝頭中加入了除BD序列號(hào)之外的另一個(gè)專(zhuān)屬于本次發(fā)送報(bào)文的序列號(hào),該序列號(hào)在每一個(gè)報(bào)文完成封裝過(guò)后進(jìn)行累加,每次累加1即可,目的是保證每一個(gè)加密報(bào)文都有獨(dú)占的特定標(biāo)識(shí)符。同時(shí)也將該標(biāo)識(shí)符保存到報(bào)文對(duì)應(yīng)的BD結(jié)構(gòu)中去,作為回收?qǐng)?bào)文時(shí)對(duì)比報(bào)文正確性的依據(jù)。具體的報(bào)文頭封裝如圖3所示,從理論上來(lái)說(shuō),該序列號(hào)的取值范圍空間盡可能大,例如64bit,即8字節(jié)位寬,此時(shí)可以基本忽略序列號(hào)翻轉(zhuǎn)的可能性,保證所有報(bào)文標(biāo)識(shí)符的獨(dú)立。
圖3 報(bào)文處理流程框
4)完成報(bào)文的緩存信息存儲(chǔ)及報(bào)文的封裝后,將報(bào)文發(fā)送至加密芯片進(jìn)行加解密處理。加密芯片會(huì)保持封裝頭不變,并將處理完成的密文內(nèi)容代替原有的待加密數(shù)據(jù)區(qū)域的明文,最后將加解密完成的報(bào)文回送至加密驅(qū)動(dòng)[12]。
5)加密驅(qū)動(dòng)對(duì)接收?qǐng)?bào)文的報(bào)文頭進(jìn)行解析,獲得BD序列號(hào)以及報(bào)文自身的序列號(hào),然后通過(guò)BD序列號(hào)查找到對(duì)應(yīng)的BD緩存結(jié)構(gòu),將BD序列號(hào)和BD結(jié)構(gòu)中保存的報(bào)文序列號(hào)進(jìn)行比較,如果相等就說(shuō)明該報(bào)文就是需要回收的報(bào)文,然后從BD結(jié)構(gòu)中讀取對(duì)應(yīng)的回調(diào)參數(shù),將報(bào)文回送IPSec協(xié)議層;如果比較結(jié)果不相等,說(shuō)明該報(bào)文已經(jīng)被判定為被丟棄的報(bào)文,此時(shí)已經(jīng)不具備有效性,直接進(jìn)行丟棄操作。整個(gè)過(guò)程如圖4所示。
圖4 判斷加密報(bào)文丟棄過(guò)程
1)待處理報(bào)文1占用BD1資源過(guò)后對(duì)BD1進(jìn)行鎖定,將自己的報(bào)文序列號(hào)1封裝至報(bào)文頭發(fā)送至加密芯片,同時(shí)將序列號(hào)1這個(gè)信息保存至BD結(jié)構(gòu)中。
2)當(dāng)整個(gè)2048個(gè)BD環(huán)全部鎖定過(guò)后,驅(qū)動(dòng)判斷BD1的報(bào)文已經(jīng)超時(shí),對(duì)BD1資源進(jìn)行解鎖,然后使待處理報(bào)文2049占用BD1。
3)待處理報(bào)文2049對(duì)BD1完成鎖定后,將自己的報(bào)文序列號(hào)2049封裝至報(bào)文頭發(fā)送至加密芯片,同時(shí)將序列號(hào)2049這個(gè)信息保存至BD結(jié)構(gòu)中。
4)此時(shí)處理完成報(bào)文1回送至驅(qū)動(dòng)層,驅(qū)動(dòng)通過(guò)其封裝頭中的BD序列號(hào)查找到對(duì)應(yīng)的BD1資源,然后將處理完成報(bào)文1的序列號(hào)和BD1資源中保存的待處理報(bào)文2049的序列號(hào)相比較,發(fā)現(xiàn)該報(bào)文并不是需要接收的報(bào)文,說(shuō)明該報(bào)文已經(jīng)被判定為被丟棄,不再進(jìn)行處理,直接丟棄該報(bào)文,完成對(duì)已經(jīng)過(guò)期報(bào)文的準(zhǔn)確過(guò)濾。
5)當(dāng)處理完成報(bào)文2049回收到驅(qū)動(dòng)層時(shí),通過(guò)其封裝頭中的BD序列號(hào)查找到對(duì)應(yīng)的BD1資源,并通過(guò)報(bào)文的序列號(hào)對(duì)比,發(fā)現(xiàn)2049號(hào)報(bào)文確實(shí)是本輪次BD1中正在處理的報(bào)文,即可進(jìn)行后續(xù)正常流程的處理。
6)本設(shè)計(jì)中不再引入時(shí)間戳作為判斷超時(shí)的標(biāo)準(zhǔn),也不再借助BD序列號(hào)判斷報(bào)文順序是否連續(xù),這里通過(guò)判斷BD是否已經(jīng)全部LOCK作為判斷標(biāo)準(zhǔn),當(dāng)所有的BD均處于LOCK狀態(tài)時(shí),從IPSec傳入的報(bào)文已經(jīng)沒(méi)有緩存資源可用,此時(shí)將第一個(gè)被LOCK的BD資源進(jìn)行解鎖,提供給新傳入的報(bào)文使用,默認(rèn)前一個(gè)占用該BD資源的報(bào)文已經(jīng)丟棄。同時(shí)這里是需要進(jìn)行靈活調(diào)整的,如果BD環(huán)的長(zhǎng)度較長(zhǎng),則可以將判斷BD Lock的次數(shù)設(shè)置為1次,即如果出現(xiàn)了無(wú)Unlock BD的情況時(shí),則把第一個(gè)Lock的BD進(jìn)行解鎖,默認(rèn)第一個(gè)報(bào)文已經(jīng)丟棄。如果BD環(huán)較短,則可以通過(guò)對(duì)第一個(gè)被Lock BD進(jìn)行多次判斷再進(jìn)行解鎖,即當(dāng)出現(xiàn)無(wú)Unlock BD情況時(shí),并不立即對(duì)第一個(gè)Lock的BD進(jìn)行解鎖,而且等待多次判斷嘗試過(guò)后,如果依然處于Lock狀態(tài),再進(jìn)行解鎖,同時(shí)默認(rèn)第一個(gè)報(bào)文已經(jīng)丟棄。這里推薦在內(nèi)存足夠充足的情況下,盡可能將BD環(huán)加大,這樣也可以提升驅(qū)動(dòng)模塊的緩存能力。具體的解鎖過(guò)程見(jiàn)圖5。
圖5 BD環(huán)解鎖過(guò)程
綜上所述,本設(shè)計(jì)中的算法,具備兩個(gè)可以保證加密流程高效運(yùn)行的必要條件:
1)簡(jiǎn)單高效的超時(shí)判斷機(jī)制,只要硬件平臺(tái)的處理出現(xiàn)任何的阻塞或者波動(dòng),被影響的報(bào)文可以通過(guò)對(duì)應(yīng)BD的Lock次數(shù)立即被判定為丟棄。
2)有效可靠的序列號(hào)識(shí)別機(jī)制,即使被硬件波動(dòng)而影響的報(bào)文被回收至驅(qū)動(dòng)層,也可以進(jìn)行識(shí)別和丟棄,不會(huì)影響后續(xù)報(bào)文的正常處理流程。
本所述的優(yōu)化方案從簡(jiǎn)化算法,提高程序運(yùn)行處理效率為出發(fā)點(diǎn),同時(shí)通過(guò)修訂加密報(bào)文的封裝頭信息實(shí)現(xiàn)了對(duì)報(bào)文正確性的識(shí)別。通過(guò)對(duì)比可知,連續(xù)序列號(hào)報(bào)文回收方法邏輯簡(jiǎn)單,但是其對(duì)硬件要求高,不允許報(bào)文出現(xiàn)亂序;基于時(shí)間戳的報(bào)文回收方法可以避免由于報(bào)文亂序引起的對(duì)丟包事件的錯(cuò)誤判斷,但其存在額外的任務(wù)開(kāi)銷(xiāo)、超時(shí)時(shí)間不易設(shè)定等問(wèn)題;而本文所設(shè)計(jì)的優(yōu)化方案,既沒(méi)有報(bào)文亂序的限制,也可以在合理的超時(shí)時(shí)間過(guò)后識(shí)別報(bào)文的正確性,同時(shí)也不存在額外的任務(wù)開(kāi)銷(xiāo)。無(wú)論從處理效率還是從軟件健壯度上這種方案都帶來(lái)了明顯的提升,同時(shí)將軟件設(shè)計(jì)的復(fù)雜度大大降低。此外,本技術(shù)方案并不局限于具體的加密算法,也不僅僅局限于對(duì)加密數(shù)據(jù)的處理,只要是類(lèi)似使用一個(gè)BD虛擬環(huán)進(jìn)行數(shù)據(jù)流發(fā)送和回收的設(shè)計(jì)均可以使用本方案,可見(jiàn)本方案具有良好地可擴(kuò)展性。
綜上所述,只要合理的運(yùn)用BD環(huán)的鎖定狀態(tài)作為報(bào)文超時(shí)判斷標(biāo)準(zhǔn),并通過(guò)加入報(bào)文的獨(dú)有序列號(hào)進(jìn)行報(bào)文的正確性識(shí)別,本方案從理論上完全解決了現(xiàn)有的加密驅(qū)動(dòng)軟件在丟包處理上可能遇到難點(diǎn)。
[1] 楊洋,花欣,李希源等.對(duì)IKE協(xié)議中弱密鑰的研究[J].通信技術(shù),2014,47(10):1198-1202. YANG Yang,HUA Xin,LI Xi-yuan,et al.Weak Keys in IKE Protocol[J].Communication Technology, 2014,47(10):1198-1202.
[2] 馬小婷.深入淺出密碼學(xué)—常用加密技術(shù)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2012.118-122. MA Xiao-ting.Understanding Cryptograph-A Text Book for Students and Practitioners[M].Beijing:Tsinghua University Press,2012.
[3] 秦培斌,肖志輝,楊大川等.基于多核處理器的加密卡異步并行驅(qū)動(dòng)設(shè)計(jì)[J].通信技術(shù),2014,47(07):832-835. QIN Pei-bin,XIAO Zhi-hui,YANG Da-chuan,et al.Asynchronous Parallel Driver Design of Encryption Card based on Multi-core Processing Unit[J].Communications Technology,2014,47(07):832-835.
[4] 陳靜,章喜才,張金果等.基于DM642的PCI加密卡驅(qū)動(dòng)程序設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2011,(04):129-131. CHEN Jing,ZHANG Xi-cai,ZHANG Jin-guo,et al. The design of the PCI Encryption Card Driver based on DM642[J]. Manufacturing Automation, 2011,(04):129-131.
[5] 高中耀,程光.TCP報(bào)文丟包定位方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(15):70-74. GAO Zhong-yao,CHEN Guang.Locating TCP Packet Loss[J].Computer Engineering and Applications,2013,49(15):70-74.
[6] Allman M,Eddy W M,Ostermann S.Estimating Loss Rates with TCP[J].ACM Performance Evaluation Review,2003:31.
[7] Gharai L,Perkins C,Lehman T. Packet Reordering,High Speed Networks and Transport Protocol Performance[C]//IEEE 13thIntl Conf on Computer Comm,and Networks,ICCCN 2004,2004:73-78.
[8] 趙英,張瑩瑩.基于連續(xù)時(shí)間戳通信模型的時(shí)鐘同步[J].微計(jì)算機(jī)信息,2006,22(8-1):238-240. ZHAO Ying,ZHANG Ying-ying.Clock Synchronization Based on Continuous Timed- Stamp Communication Model[J].Microcomputer Information,2006,22(8-1):238-240.
[9] 曹哲,尤政.超時(shí)策略動(dòng)態(tài)閾值的閾值選擇影響因素[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2013,45(06):119-123. CAO Zhe,YOU Zheng. The Influencing Factor of Threshold Selection in Dynamic Threshold of Timeout Policies[J].Journal of Harbin Institute of Technology, 2013,45(06):119-123.
[10] 許斌.基于DM3730異構(gòu)多核處理器的嵌入式操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013. XU Bin.Design and Implementation of DM3730 heterogeneous Multi-core Processor based Operating System[D].Chengdu:University of Electronic Science and Technology,2013.
[11] 康杰.基于異步回調(diào)機(jī)制的嵌入式linux瀏覽器底層設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:重慶大學(xué)軟件學(xué)院,2005. KANG Jie.Design and Implementation on Asynchronous Callback Mechanism based Lower-layer of Embed Linux Browser[D].School of Software Engineering Chongqing University,2005.
[12] 陳亞?wèn)|,林為民,張濤等.基于X86的高速加密卡異步并行驅(qū)動(dòng)設(shè)計(jì)[J].電力系統(tǒng)自動(dòng)化,2010,34(10):93-96. CHEN Ya-dong,LIN Wei-min,ZHANG Tao,et al.High Speed Asynchronous Parallel Driver Design Based on x86[J]. Automation of Electric Power Systems:2010,34(10):93-96.
Design of Stable and Efficient Encrypted Packet Callback
QIN Pei-bin1,LI Qing1,XIAO Zhi-hui2,YANG Da-chuan2
(1.School of Information Science and Technology, Southwest Jiaotong University, Chengdu Sichuan 610031,China;2.Maipu Communication Technology Co., Ltd, Chengdu Sichuan 610041,China)
Nowadays consecutive serial number callback or message callback based on time stamp is usually adopted in the design of encrypted message callback.However these two callbacks feature obvious defects and could not well meet the demand of software design. The continuous sequence number callback method requires fairly high hardware safety and reliability,process and send back the message in strict accordance with the message sequence,otherwise would easily lead to IPSec logic error.The callback method based on time stamp may consume more system resources and at the same time,it is not easy to set up the message timeout. Therefore, it is necessary to design a stable and efficient encryption packet callback method.The research on the design of encrypted packet callback indicates that by adding a specific message sequence number to the encrypted packet head,the defects of the above two methods could be effectively solved,thus satisfying the demand for stable, efficient operation of software.
packet callback; encryption; IPSec
date:2014-10-16;Revised date:2015-02-20
TP311.52
A
1002-0802(2015)04-0473-05
秦培斌(1989—),男,軟件工程師,碩士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)通信;
李 青(1988—),女,軟件工程師,碩士,主要研究方向?yàn)樾畔⒕幋a處理;
肖志輝(1970—),男,教授級(jí)高工,博士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)通信;
楊大川(1982—),男,高級(jí)工程師,學(xué)士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)通信。
10.3969/j.issn.1002-0802.2015.04.018
2014-10-16;
2015-02-20