專利名稱:一種數(shù)據(jù)流加密的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機(jī)應(yīng)用技術(shù)領(lǐng)域,具體地說是一種數(shù)據(jù)流加密的實現(xiàn)方法。技術(shù)背景隨著計算機(jī)技術(shù)的發(fā)展,政府、企業(yè)、涉密機(jī)關(guān)等對安全通訊及移動存儲設(shè)備的數(shù) 據(jù)安全要求越來越高。但是,移動介質(zhì)存在很多安全隱患,數(shù)據(jù)的隨意拷貝、數(shù)據(jù)的任意打印、移動介質(zhì) 的丟失等均能導(dǎo)致信息的泄密或被盜;黑客的入侵使網(wǎng)際信息傳輸完全暴露在不法分子面 前。因此,如何保證信息保存及傳遞的過程中的數(shù)據(jù)安全,成為安全通訊和移動存儲設(shè)備重 點需要解決的問題。安全移動存儲設(shè)備替代普通移動存儲設(shè)備的趨勢越來越明顯。目前市場上針對安全移動存儲、安全通訊方面的數(shù)據(jù)流加密設(shè)備主要采用軟件加 密。這些方法安全度低,很容易被攻破,非常不適合政府、涉密機(jī)關(guān)等安全度要求高的用戶 使用。另外一種安全移動存儲設(shè)備的解決方案安全度比較高,但是其采用的是CPU實時搬 運(yùn)數(shù)據(jù)的方法。這種方法雖比前一種方法安全,但是其速度一般比較低,遠(yuǎn)遠(yuǎn)滿足用戶對高 速度要求。為滿足相關(guān)領(lǐng)域大批量高速實時加密的市場需求,必須開發(fā)高速加密產(chǎn)品。數(shù)據(jù)流實時加密方法的技術(shù)實現(xiàn)
發(fā)明內(nèi)容
本發(fā)明公開一種高速數(shù)據(jù)流實時加密方法。本發(fā)明的方法是按以下技術(shù)方案實現(xiàn)的,采用高速的通訊接口、高速的加解密模 塊、接收模塊、發(fā)送模塊和內(nèi)存或存儲器配合,對同一流動方向接收和發(fā)送的數(shù)據(jù)流進(jìn)行分 離處理,完成數(shù)據(jù)流的打包接收、加密或解密和發(fā)送,高速接口采用雙端口的方式;具體步驟如下每個功能模塊分別對應(yīng)一個內(nèi)存,在第η個周期接收到的數(shù)據(jù)包存放在內(nèi)存內(nèi); 在第η+1個周期,將內(nèi)存切換對應(yīng)到加密或解密模塊,對明文或密文數(shù)據(jù)加密或解密;在第 η+2個周期,再將內(nèi)存切換對應(yīng)到發(fā)送模塊,并將內(nèi)存中的明文或密文發(fā)送出去,完成同一 個數(shù)據(jù)包的處理過程;為實現(xiàn)流水線工作方式,在同一個周期內(nèi),同時處理3個數(shù)據(jù)包,在第η個周期接 收數(shù)據(jù)到內(nèi)存1,加密或解密內(nèi)存2中的數(shù)據(jù),并同時將內(nèi)存3中的數(shù)據(jù)發(fā)送出去;在第η+1 個周期中,內(nèi)存1切換到加密或解密模塊,內(nèi)存2切換到發(fā)送模塊,而內(nèi)存3切換到接收模 塊,這3個功能模塊再分別對相應(yīng)的數(shù)據(jù)進(jìn)行處理,以保證平均一個處理周期處理一個數(shù) 據(jù)包,實現(xiàn)的流水線工作方式;采用先進(jìn)先出FIFO存儲器的處理步驟如下數(shù)據(jù)接收模塊在收到數(shù)據(jù)后立刻將數(shù)據(jù)發(fā)送到第一 FIFO存儲器中,只要第一 FIFO存儲器不滿,就繼續(xù)接收新的數(shù)據(jù),加密模塊從第一 FIFO存儲器中取出數(shù)據(jù)進(jìn)行加 密,只要第一 FIFO存儲器不空并且第二 FIFO存儲器不滿,就可繼續(xù)加密新的數(shù)據(jù),數(shù)據(jù)發(fā) 送模塊從第二 FIFO存儲器中取出數(shù)據(jù)發(fā)送出去,只要第二 FIFO存儲器中的數(shù)據(jù)不空,就繼續(xù)發(fā)送數(shù)據(jù)。高速加解密模塊采用安全等級比較高、執(zhí)行速度比較塊的算法,算法采用的是 SM1、SM4、AES 或 3DES 中的一種。高速接口采用的是USB2. 0、SATA, PATA或以太網(wǎng)接口。本發(fā)明的優(yōu)異效果是該方法利用一顆芯片內(nèi)的硬件模塊完成數(shù)據(jù)的加密和高速 傳輸?shù)墓δ?,安全度更高,傳輸速度更快??捎蒄PGA實現(xiàn),也可以通過設(shè)計專用集成電路實 現(xiàn)。該方法摒棄了傳統(tǒng)的數(shù)據(jù)進(jìn)出均由CPU搬運(yùn)方式,而是采用芯片中的硬件模塊實現(xiàn),加 密、傳輸?shù)倪^程,每一個步驟均由專門的硬件模塊負(fù)責(zé)。專用算法模塊完成對數(shù)據(jù)流的快速 加密,高速的傳輸接口完成數(shù)據(jù)的傳輸,使大批量數(shù)據(jù)能真正地、安全地流動起來。加密的 同時在高速傳輸,從而實現(xiàn)了對數(shù)據(jù)流的實時加密傳輸,滿足安全移動存儲、安全通訊等領(lǐng) 域?qū)λ俣群桶踩缘男枨蟆1景l(fā)明的高速數(shù)據(jù)流加密的實現(xiàn)方法有下面幾個優(yōu)點,可滿足實時、高速、安全的需求。(1)加密或解密和數(shù)據(jù)傳輸完全由芯片實現(xiàn),使用CPU的代碼量非常少,硬件實現(xiàn) 比軟件實現(xiàn)的速度要快十幾倍甚至幾十倍。(2)在芯片內(nèi)部采用流水線架構(gòu),使得在同一個周期內(nèi)并行執(zhí)行3個模塊,同時完 成3個任務(wù),大大縮短了一個數(shù)據(jù)包的平均處理時間。(3)2個高速的通訊接口使接收和發(fā)送分開,同一時間可以接收一個數(shù)據(jù)包并發(fā)送 另外一個數(shù)據(jù)包。(4)內(nèi)部集成高速的高安全度的加密算法,使數(shù)據(jù)以密文的形式在通路上出現(xiàn),保 證數(shù)據(jù)的安全。
圖1是接收、加密和發(fā)送原理圖;圖2是數(shù)據(jù)流接收至發(fā)送流程圖;圖3是數(shù)據(jù)流的接收至發(fā)送工作原理圖;圖4是先進(jìn)先出FIFO存儲器的數(shù)據(jù)流處理流程圖。
具體實施例方式根據(jù)說明書附圖對本發(fā)明的方法作以下詳細(xì)的說明;實現(xiàn)高速數(shù)據(jù)流加解密的前提是采用高速的通訊接口和高速的加解密模塊,完成 數(shù)據(jù)包的接收、加密/解密、發(fā)送的過程。高速接口采用雙端口的方式,對同一個流動方向 的數(shù)據(jù)流進(jìn)行接收和發(fā)送分離,高速接口可采用USB2. 0、SATA、PATA、以太網(wǎng)等接口。高速加 解密模塊可采用安全等級比較高、執(zhí)行速度比較塊的算法。一般采用SM1、SM4、AES或3DES寸。從圖1可見數(shù)據(jù)流從高速通訊接口 1流入,經(jīng)過高速加密模塊2后,通過另外一 個高速接口 3發(fā)送出去,完成一個高速加密通訊的過程。本發(fā)明最大的特點在于采用流水線的數(shù)據(jù)處理,雖然采用高速的通訊接口和高速 加密模塊,但是每一個數(shù)據(jù)包在完成接收、加密/解密、發(fā)送這三個步驟時,都會占用一定的時間,如果采用順序執(zhí)行,這類設(shè)備的速度要比沒有加密功能的降低很多。為提高加密傳 輸速度,在數(shù)據(jù)加密傳輸?shù)倪^程中采用了流水線的數(shù)據(jù)處理方式,可使處理速度再提高幾 倍。達(dá)到幾乎與沒加密的設(shè)備相同的速度。處理一個數(shù)據(jù)包時將整個過程分解為3個部分接收、加密或解密、發(fā)送。當(dāng)大批 數(shù)據(jù)需要處理時,每個時間周期內(nèi)可同時完成3個數(shù)據(jù)包中的其中一個步驟,如圖2所示, 即平均一個時間周期處理一個數(shù)據(jù)包,該時間周期即為流水線周期。但在一個周期內(nèi)必須 保證3個步驟全部執(zhí)行完畢,由圖2可見,流水線數(shù)據(jù)處理周期為接收、加密或解密、發(fā)送三 個過程中時間最長的一個。在此過程中,如果3個階段的處理時間相近,處理周期明顯減少 為原來的1/3左右,一個周期處理一個數(shù)據(jù)包。如何保證一個處理周期內(nèi)可同時對3個數(shù)據(jù)包分別處理是關(guān)鍵。從內(nèi)存使用的角 度,本發(fā)明使用數(shù)據(jù)存儲域切換方法或fifo方法。數(shù)據(jù)內(nèi)存切換適合于與集成CPU 的SOC芯片使用,fifo方式更適合于FPGA的應(yīng)用。如圖3所示,每個功能模塊分別對應(yīng)一個內(nèi)存模塊,在第η個周期,接收明文或密 文并存放在內(nèi)存1內(nèi);在第η+1個周期,將內(nèi)存1切換對應(yīng)到加密或解密模塊,將內(nèi)存1中 的數(shù)據(jù)包加密或解密;在第η+2個周期,將內(nèi)存1切換對應(yīng)到發(fā)送模塊,并將內(nèi)存1中的明 文或密文發(fā)送出去,完成同一個數(shù)據(jù)包的處理過程。為實現(xiàn)流水線工作方式,在同一個周期內(nèi),同時處理3個數(shù)據(jù)包。在第η個周期接 收數(shù)據(jù)到內(nèi)存1,加密或解密內(nèi)存2中的數(shù)據(jù),并同時將內(nèi)存3中的數(shù)據(jù)發(fā)送出去;在第η+1 個周期中,內(nèi)存1切換到加密或解密模塊,內(nèi)存2切換到發(fā)送模塊,而內(nèi)存3切換到接收模 塊,這3個功能模塊再分別對相應(yīng)的數(shù)據(jù)進(jìn)行處理,以保證平均一個處理周期處理一個數(shù) 據(jù)包,實現(xiàn)的流水線工作方式。這種方法可以最大限度地利用所有模塊資源,大大提高數(shù)據(jù)流加密的速度,使實 時加密通訊和高速加密存儲成為可能。這種方法非常適合于內(nèi)嵌CPU的芯片中,由CPU統(tǒng) 一調(diào)配各模塊與內(nèi)存之間的對應(yīng)關(guān)系。圖4所示為采用fifo (先進(jìn)先出存儲器)的方案。數(shù)據(jù)接收模塊1在收到數(shù)據(jù)后 立刻將數(shù)據(jù)發(fā)送到2中,只要2存儲器不滿,就可以繼續(xù)接收新的數(shù)據(jù)。加密模塊3從2中 取出數(shù)據(jù)進(jìn)行加密,只要2不空并且4不滿,就可繼續(xù)加密新的數(shù)據(jù)。數(shù)據(jù)發(fā)送5從4中取 出數(shù)據(jù)發(fā)送出去,只要4中的數(shù)據(jù)不空,就可以繼續(xù)發(fā)送數(shù)據(jù)。這種方案更有利于在FPGA 中實現(xiàn)。整個設(shè)備的處理速度等于1、3、5三個模塊中最慢的一個。本發(fā)明的方法與傳統(tǒng)加密方法進(jìn)行對比其速度比傳統(tǒng)的方法可提高50倍甚至更 高,有效解決在通訊、移動存儲中加入安全度高的加密算法后速度明顯降低的問題,為實現(xiàn) 高速數(shù)據(jù)流加密、高安全性的加密存儲設(shè)備以及安全通訊設(shè)備提供了可靠的硬件和技術(shù)保 障。
權(quán)利要求
1.一種數(shù)據(jù)流加密的方法,其特征在于,采用高速的通訊接口、高速的加解密模塊、接 收模塊、發(fā)送模塊和內(nèi)存或存儲器配合,對同一流動方向接收和發(fā)送的數(shù)據(jù)流進(jìn)行分離處 理,完成數(shù)據(jù)流的打包接收、加密或解密和發(fā)送,高速接口采用雙端口的方式,具體步驟如 下每個功能模塊分別對應(yīng)一個內(nèi)存,在第η個周期接收到的數(shù)據(jù)包存放在內(nèi)存內(nèi);在第 η+1個周期,將內(nèi)存切換對應(yīng)到加密或解密模塊,對明文或密文數(shù)據(jù)加密或解密;在第η+2 個周期,再將內(nèi)存切換對應(yīng)到發(fā)送模塊,并將內(nèi)存中的明文或密文發(fā)送出去,完成同一個數(shù) 據(jù)包的處理過程;為實現(xiàn)流水線工作方式,在同一個周期內(nèi),同時處理3個數(shù)據(jù)包,在第η個周期接收數(shù) 據(jù)到內(nèi)存1,加密或解密內(nèi)存2中的數(shù)據(jù),并同時將內(nèi)存3中的數(shù)據(jù)發(fā)送出去;在第η+1個周 期中,內(nèi)存1切換到加密或解密模塊,內(nèi)存2切換到發(fā)送模塊,而內(nèi)存3切換到接收模塊,這 3個功能模塊再分別對相應(yīng)的數(shù)據(jù)進(jìn)行處理,以保證平均一個處理周期處理一個數(shù)據(jù)包,實 現(xiàn)的流水線工作方式;采用先進(jìn)先出FIFO存儲器的處理步驟如下數(shù)據(jù)接收模塊在收到數(shù)據(jù)后立刻將數(shù)據(jù)發(fā)送到第一 FIFO存儲器中,只要第一 FIFO存 儲器不滿,就繼續(xù)接收新的數(shù)據(jù),加密模塊從第一 FIFO存儲器中取出數(shù)據(jù)進(jìn)行加密,只要 第一 FIFO存儲器不空并且第二 FIFO存儲器不滿,就可繼續(xù)加密新的數(shù)據(jù),數(shù)據(jù)發(fā)送模塊從 第二 FIFO存儲器中取出數(shù)據(jù)發(fā)送出去,只要第二 FIFO存儲器中的數(shù)據(jù)不空,就繼續(xù)發(fā)送數(shù) 據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,高速加解密模塊采用安全等級比較高、執(zhí) 行速度比較塊的算法,算法采用的是SMl、SM4、AES或3DES中的一種。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,高速接口采用的是USB2.0、SATA、PATA或 以太網(wǎng)接口。
全文摘要
一種數(shù)據(jù)流加密的方法,該方法利用一顆芯片內(nèi)的硬件模塊完成數(shù)據(jù)的加密和高速傳輸?shù)墓δ?,安全度更高,傳輸速度更快??捎蒄PGA實現(xiàn),也可以通過設(shè)計專用集成電路實現(xiàn)。該方法摒棄了傳統(tǒng)的數(shù)據(jù)進(jìn)出均由CPU搬運(yùn)方式,而是采用芯片中的硬件模塊實現(xiàn),加密、傳輸?shù)倪^程,每一個步驟均由專門的硬件模塊負(fù)責(zé)。專用算法模塊完成對數(shù)據(jù)流的快速加密,高速的傳輸接口完成數(shù)據(jù)的傳輸,使大批量數(shù)據(jù)能真正地、安全地流動起來。加密的同時在高速傳輸,從而實現(xiàn)了對數(shù)據(jù)流的實時加密傳輸,滿足安全移動存儲、安全通訊等領(lǐng)域?qū)λ俣群桶踩缘男枨蟆?br>
文檔編號H04L9/06GK102111263SQ20111004133
公開日2011年6月29日 申請日期2011年2月21日 優(yōu)先權(quán)日2011年2月21日
發(fā)明者萬海山, 孫強(qiáng), 朱啟超, 李棟, 歐鈺鵬, 苗功勛 申請人:山東中孚信息產(chǎn)業(yè)股份有限公司