SOC的高速數(shù)據(jù)流加密傳輸?shù)姆椒ń榻B
計算機技術(shù)的發(fā)展使移動存儲設(shè)備代替紙張逐漸成為信息傳遞的主要方式,無紙化辦公也逐漸成為行業(yè)用戶的主要辦公方式。隨著電子商務(wù)、數(shù)字管理以及移動辦公等現(xiàn)代行業(yè)的迅猛發(fā)展,行業(yè)用戶(政府、企業(yè)、*、涉密機關(guān))對安全通訊及移動存儲設(shè)備的數(shù)據(jù)安全要求越來越高。
但是,移動介質(zhì)存在著眾多安全隱患,數(shù)據(jù)的隨意拷貝、數(shù)據(jù)的任意打印、移動介質(zhì)的丟失等均能導(dǎo)致信息的泄密或被盜;*、黑客的入侵使網(wǎng)際信息傳輸完全暴露在不法分子面前。因此,如何保證信息保存及傳遞的過程中的數(shù)據(jù)安全,成為安全通訊和移動存儲設(shè)備重點需要解決的問題。安全移動存儲設(shè)備替代普通移動存儲設(shè)備的趨勢越來越明顯。
目前市場上針對安全移動存儲、安全通訊方面的數(shù)據(jù)流加密設(shè)備主要采用軟件加密或數(shù)據(jù)分段加密的方法。這些方法安全度低,很容易被攻破,非常不適合政府、*、涉密機關(guān)和企業(yè)等安全度要求高的行業(yè)用戶對重要數(shù)據(jù)的攜帶、保存和傳輸。另外一種安全移動存儲設(shè)備的解決方案安全度比較高,但是其采用的是CPU實時搬運數(shù)據(jù)的方法。這種方法雖比前一種方法安全,但是其速度大大降低,僅為400KBps,遠遠滿足不了移動存儲設(shè)備對20MBps的速度要求。為滿足相關(guān)領(lǐng)域大批量高速實時加密的市場需求,很多科研單位和企業(yè)都在力求解決這一問題。
高速數(shù)據(jù)流實時加密方法的技術(shù)實現(xiàn)
本文介紹一種高速數(shù)據(jù)流實時加密方法。該方法利用一顆芯片內(nèi)的硬件模塊完成數(shù)據(jù)的加密和高速傳輸?shù)墓δ埽踩雀?,傳輸速度更快?br />
該芯片架構(gòu)摒棄了傳統(tǒng)的數(shù)據(jù)進出均由CPU控制的管理方式,而是采用SOC芯片中的硬件模塊實現(xiàn)加密、傳輸?shù)倪^程,每一個步驟均由專門的硬件模塊負責。專用算法模塊完成對數(shù)據(jù)流的快速加密,高速的傳輸接口完成數(shù)據(jù)的傳輸,使大批量數(shù)據(jù)能真正地、安全地流動起來。加密的同時在高速傳輸,從而實現(xiàn)了對數(shù)據(jù)流的實時加密傳輸,滿足安全移動存儲、安全通訊等領(lǐng)域?qū)λ俣群桶踩缘男枨蟆?br />
1.安全數(shù)據(jù)流傳輸
實現(xiàn)高速數(shù)據(jù)流加解密的前提是采用高速的通訊接口和高速的加解密模塊(如圖1),完成數(shù)據(jù)包的接收、加密/解密、發(fā)送的過程。高速接口采用雙端口的方式,具有同一個流動方向,接收和發(fā)送分離(高速接口可為USB2.0、SATA、PATA、以太網(wǎng)等接口)。高速加解密模塊可采用安全等級比較高、執(zhí)行速度比較塊的算法,例如DES。
從圖1可見:數(shù)據(jù)流從高速通訊接口流入芯片,經(jīng)過高速加密模塊后,通過另外一個高速接口發(fā)送出去,完成一個高速加密通訊的過程。
2.Pipe line數(shù)據(jù)處理
雖然采用高速的通訊接口和高速加密模塊,但是每一個數(shù)據(jù)包在完成接收、加密/解密、發(fā)送這三個步驟時,都會占用一定的時間,如果采用順序執(zhí)行,這類產(chǎn)品的速度要比沒有加密功能的產(chǎn)品降低很多。為再次提高加密傳輸速度,在數(shù)據(jù)加密傳輸?shù)倪^程中采用了Pipe line(流水線)的數(shù)據(jù)處理方式(圖2),可使處理速度再提高兩倍。
[!--empirenews.page--]
處理一個數(shù)據(jù)包時將整個過程分解為3個部分:接收、加/解密、發(fā)送。CPU在每完成一步時僅對這3個模塊進行控制,不做數(shù)據(jù)處理。當大批數(shù)據(jù)需要處理時,每個時間周期內(nèi)可同時完成3個數(shù)據(jù)包中的其中一個步驟,如圖2所示,即平均一個時間周期處理一個數(shù)據(jù)包,該時間周期即為Pipe line周期。但在一個周期內(nèi)必須保證3個步驟全部執(zhí)行完畢,CPU才可以對這3個模塊進行控制。
由圖2可見,Pipe line數(shù)據(jù)處理周期為:
Tperiod = (Max(Ttx,Trx,Tsec)+Tsys)
在此過程中,如果3個階段的處理時間相近,處理周期明顯減少為原來的1/3左右,一個周期處理一個數(shù)據(jù)包,速度提高2倍。CPU僅承擔控制的任務(wù),并不負責數(shù)據(jù)的搬運,程序量非常少,這樣便大大減少了CPU執(zhí)行程序所占用的時間。
3.數(shù)據(jù)存儲域的切換
如何保證一個處理周期內(nèi)可同時對3個數(shù)據(jù)包分別處理呢?本文采用了數(shù)據(jù)存儲域切換的方法。如圖3所示,每個功能模塊分別對應(yīng)一個RAM模塊,在第n個周期,接收明/密文并存放在RAM1內(nèi);在第n+1個周期,將RAM1切換對應(yīng)到加/解密模塊,將RAM1中的數(shù)據(jù)包加/解密;在第n+2個周期,將RAM1切換對應(yīng)到發(fā)送模塊,并將RAM1中的密/明文發(fā)送出去,完成同一個數(shù)據(jù)包的處理過程。
為實現(xiàn)Pipe Line的流水線工作方式,在同一個周期內(nèi),同時處理3個數(shù)據(jù)包。在第n個周期接收數(shù)據(jù)到RAM1,加/解密RAM2中的數(shù)據(jù),并同時將RAM3中的數(shù)據(jù)發(fā)送出去;在第n+1個周期中,RAM1切換到加/解密模塊,RAM2切換到發(fā)送模塊,而RAM3切換到接收模塊,這3個功能模塊再分別對相應(yīng)的數(shù)據(jù)進行處理,以保證平均一個處理周期處理一個數(shù)據(jù)包,實現(xiàn)pipeline的流水線工作方式。
該實現(xiàn)方法借鑒了CPU執(zhí)行指令時流水線作業(yè)的方式,并使用2個高速的通訊接口,從而保證數(shù)據(jù)流上的每一時刻每一個模塊都在工作。這種方法可以最大限度地利用所有模塊資源,大大提高數(shù)據(jù)流加密的速度,使實時加密通訊和高速加密存儲成為可能。
技術(shù)亮點
高速數(shù)據(jù)流加密的實現(xiàn)方法有下面幾個技術(shù)亮點,可滿足實時、高速、安全的需求。
(1)加/解密和數(shù)據(jù)傳輸完全由芯片實現(xiàn),依靠的代碼量非常少,硬件實現(xiàn)比軟件實現(xiàn)的速度要快十幾倍甚至幾十倍。
(2)在SOC內(nèi)部采用Pipe line的流水線架構(gòu),使得在同一個周期內(nèi)并行執(zhí)行3個模塊,同時完成3個任務(wù),大大縮短了一個數(shù)據(jù)包的平均處理時間。
(3)改變了CPU傳統(tǒng)的管理方式,其僅作為加密模塊和通訊接口的控制端,而不在數(shù)據(jù)搬運的通路上,避免因CPU執(zhí)行冗長的代碼時占用過多的時間。
(4)2個高速的通訊接口使接收和發(fā)送分開,同一時間可以接收一個數(shù)據(jù)包并發(fā)送另外一個數(shù)據(jù)包。
(5)內(nèi)部集成高速的高安全度的加密算法,使數(shù)據(jù)以密文的形式在通路上出現(xiàn),保證數(shù)據(jù)的安全。
通過實際檢測并將該方法與傳統(tǒng)加密方法進行對比測試,可明顯看出采用此方法實現(xiàn)的數(shù)據(jù)流加密,其速度比傳統(tǒng)的方法提高了50倍甚至更高,有效解決了在通訊、移動存儲中加入安全度高的加密算法后速度明顯降低的問題,為實現(xiàn)高速數(shù)據(jù)流加密、高安全性的加密存儲設(shè)備以及安全通訊設(shè)備提供了可靠的硬件和技術(shù)保障。