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