□ 文 嚴(yán)麗娜 梁 璟 周常茂
隨著云計算、大數(shù)據(jù)以及人工智能等前沿技術(shù)的迅速發(fā)展,萬物互聯(lián)、數(shù)據(jù)共享等成為一種趨勢,對于物聯(lián)網(wǎng)安全方面要求也越來越高。如何有效利用傳感器網(wǎng)絡(luò)、融合互聯(lián)網(wǎng)傳統(tǒng)優(yōu)勢技術(shù),實(shí)現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)向遠(yuǎn)端安全、有效地傳輸,已成為物聯(lián)網(wǎng)發(fā)展亟待解決的重要問題。
目前,傳感器網(wǎng)絡(luò)依托物聯(lián)網(wǎng),在軍事、環(huán)境監(jiān)測、醫(yī)療、工業(yè)生產(chǎn)、交通控制等領(lǐng)域的應(yīng)用越來越廣泛。特別是傳感器隨機(jī)部署在復(fù)雜環(huán)境中,容易受到惡意攻擊。因此,安全問題已經(jīng)成為了物聯(lián)網(wǎng)傳感器應(yīng)用的研究熱點(diǎn)。
物聯(lián)網(wǎng)的飛速發(fā)展中,物聯(lián)網(wǎng)傳感器的種類也豐富起來,溫度、濕度傳感器,壓力傳感器,氣體傳感器,光學(xué)傳感器,加速計,陀螺儀都已經(jīng)是老一代的傳感器了,新一代的傳感器功能更是復(fù)雜,例如無電池傳感器解決了物聯(lián)網(wǎng)傳感器更換電池麻煩的問題,綜合多種不同類型的傳感器混合成電能給物聯(lián)網(wǎng)設(shè)備供電,時間長達(dá)20年且不需要經(jīng)常去維護(hù)它。還有網(wǎng)狀傳感器,它比一般的傳感器更加貼合你的身體,但不會使你覺得不舒服。它具有難以計數(shù)的數(shù)據(jù)點(diǎn)采集你的身體信息,能夠追蹤你身體的精確運(yùn)動。
物聯(lián)網(wǎng)傳感器收集的有很多數(shù)據(jù)類型,視頻數(shù)據(jù)、音頻數(shù)據(jù)、文本數(shù)據(jù)等。由于物聯(lián)網(wǎng)數(shù)據(jù)具有海量性、復(fù)雜性,同時有部分?jǐn)?shù)據(jù)需要更高的保密性。例如軍事物聯(lián)網(wǎng)傳感器收集到的信息回傳到指揮所時,其中的傳輸路徑存在安全隱患,存在被人竊密的可能。這時候就亟需一種可靠的加密方式。
如果在傳感器上直接加裝加密機(jī),由于傳感器種類多,結(jié)構(gòu)各不相同,實(shí)現(xiàn)的技術(shù)難度將會特別大。而如果我們轉(zhuǎn)換一種思路,在傳輸路徑上的某處加裝加密板卡,則會最大程度上保障了數(shù)據(jù)的安全性,加密板卡作為傳感器的外附結(jié)構(gòu),只需要設(shè)計對視頻、文本、音頻三種數(shù)據(jù)的加密即可實(shí)現(xiàn)對物聯(lián)網(wǎng)傳感器數(shù)據(jù)的加密。此技術(shù)可應(yīng)用于數(shù)據(jù)管理中心、重點(diǎn)試驗室等各種數(shù)據(jù)需要加密的場景,構(gòu)建物聯(lián)網(wǎng)數(shù)據(jù)遠(yuǎn)程透明傳輸加密的體系結(jié)構(gòu),可保障數(shù)據(jù)的安全性,降低成本,提高傳輸效率。由于數(shù)據(jù)中心的數(shù)據(jù)處理能力強(qiáng)大,可以很好解決遠(yuǎn)傳傳感器端處理不了數(shù)據(jù)的問題。
本文提出物聯(lián)網(wǎng)傳感器遠(yuǎn)程數(shù)據(jù)透傳加密技術(shù)體系,主要用于物聯(lián)網(wǎng)安全體系中的傳輸安全,利用加密機(jī)將傳感器終端收集到的數(shù)據(jù)進(jìn)行實(shí)時加密,最后通過封裝發(fā)送到傳輸信道上傳輸?shù)綌?shù)據(jù)中心端。如果不對數(shù)據(jù)進(jìn)行加密則在傳輸過程中可能會泄露重要數(shù)據(jù)信息,所以需要這樣一種加密方案來增加數(shù)據(jù)傳輸?shù)陌踩?。因為沒有對傳輸信道或者在傳輸過程中對數(shù)據(jù)進(jìn)行任何的處理,所以可以視為一種“透明”傳輸,但加上加密機(jī)后,此方案就可以安全高效地進(jìn)行物聯(lián)網(wǎng)傳感器數(shù)據(jù)遠(yuǎn)程傳輸。
物聯(lián)網(wǎng)傳感器透傳加密體系由傳感器(物聯(lián)網(wǎng)設(shè)備)和加密機(jī)組成,加密機(jī)主要由數(shù)據(jù)接收,數(shù)據(jù)加密處理,封裝發(fā)送幾個部分組成,通過有線或者無線的方式均可將數(shù)據(jù)傳輸?shù)郊用軝C(jī)上,再由加密機(jī)統(tǒng)一轉(zhuǎn)發(fā)出去,如圖1所示。
圖1 物聯(lián)網(wǎng)傳感器透傳加密技術(shù)體系拓?fù)鋱D
方案第一步,圖像、音頻、視頻等數(shù)據(jù)包括不需要加密的數(shù)據(jù)會被傳感器收集至與加密機(jī)的傳輸接口處,再由數(shù)據(jù)處理模塊進(jìn)行統(tǒng)一處理;第二步,加密機(jī)會根據(jù)不同的數(shù)字化和加密密級要求,對不同的數(shù)據(jù)采用不同的加密模型,不需要直接進(jìn)行加密的數(shù)據(jù)則一般不會直接通過其他加密方法;最后一步,將加密后的數(shù)據(jù)進(jìn)行封裝,并發(fā)送到傳輸信道上,通過傳輸信道交由數(shù)據(jù)中心對數(shù)據(jù)進(jìn)行處理。
本文所提出的物聯(lián)網(wǎng)遠(yuǎn)程數(shù)據(jù)透傳加密技術(shù)主要作用于中間的網(wǎng)絡(luò)層,傳感器在感知層接收到感知的數(shù)據(jù)準(zhǔn)備傳給遠(yuǎn)程數(shù)據(jù)中心的過程中,通過加載在芯片中的加密算法對傳輸?shù)臄?shù)據(jù)進(jìn)行加密,從而達(dá)到安全傳輸?shù)哪康摹?/p>
加密機(jī)的每一個數(shù)據(jù)都會通過分組信號模塊把這些數(shù)據(jù)劃分成128bit的長度,然后傳輸至加密模塊,通過事先嵌入的AES算法對數(shù)據(jù)進(jìn)行加密處理,最后將加密后的數(shù)據(jù)進(jìn)行封裝發(fā)送到數(shù)據(jù)中心端。
當(dāng)前AES算法也是現(xiàn)階段改善計算機(jī)傳輸過程中安全性的主要算法之一。目前為了保障物聯(lián)網(wǎng)遠(yuǎn)程數(shù)據(jù)的安全能夠得到更好的優(yōu)化,可以使用AES加密算法,并且以AES算法作為相應(yīng)的理論基礎(chǔ),根據(jù)通用數(shù)據(jù)的類型,對算法分組長度,密鑰長度等內(nèi)容進(jìn)行合理設(shè)計。AES128和加密AES256主要的加密差異之處在于密鑰的數(shù)字長度不同(分別為128bits,256bits)、加密文件處理的密鑰輪數(shù)也不同(分別為10輪,14輪),后者的加密強(qiáng)度比前者更高。
AES是一種對稱加密算法,包含明文分組交換和非線性變換交換。AES加密和解密的算法流程,如圖2所示。
圖2 AES加解密流程圖
密鑰復(fù)雜性是保障算法安全性的重中之重。例如,當(dāng)一個分組的長度與密鑰總數(shù)之間為128位,AES的加密計算方式就需要用10個子鍵重復(fù)10輪。AES鍵的擴(kuò)充目標(biāo)就在于把輸入128位鍵擴(kuò)充到11位128位的子鍵,流程如圖3所示。
圖3 密鑰擴(kuò)展流程圖
字節(jié)的直接替換映射方法主要是通過使用函數(shù)SubBytes和函數(shù)S-box來直接完成一個從原始字節(jié)前的映射替換到另外一個原始字節(jié)的直接映射,如圖4所示。例如:其中當(dāng)一個新的字節(jié)66被直接替換后的映射值可以表示為,則s[6][6]=33,再通過函數(shù)s-1即可直接替換得到其所有被替換前的一個字節(jié)映射值,s-1[3][3]=66。主要操作為:state[x][x]=aes_sbox[state[x][x]>>4][state[x][x]&0x0F]。
圖4 字節(jié)替換流程圖
行位移先定義一個值t,t為行值,實(shí)現(xiàn)一個4×4矩陣內(nèi)部字節(jié)之間的置換,第一行保存不變,第二行循環(huán)左移1個字節(jié),第三行循環(huán)左移2個字節(jié),第四行循環(huán)左移3個字節(jié)。主要操作為:t=state[x][y];state[x][y1]=state[x][y2],如圖5所示。
圖5 行位移流程圖
根據(jù)該矩陣的相位加和乘法,在列組合的整個過程中(把場gf(28)上的算術(shù)屬性代入),與各個數(shù)字節(jié)相對應(yīng)的值僅與列組4個數(shù)字節(jié)相關(guān)。mul的第二索引(列)是乘法因子。僅使用兩個不同系數(shù):0x01、0x02、0x03、0x09、0x0b、0x0d和0x0e,但是1的乘法可以忽略不計。表格中的每一列,這些系數(shù)中的一個以值的升序(0x00到0xff)來表示,流程、代碼如圖6、7所示。必須注意以下幾點(diǎn):
圖6 列混合流程圖
(1)將與字節(jié)相對應(yīng)的值加倍,將1比特的2值比特向左移位。若數(shù)值最大的比特為1(表示值在128以上),則移位后的結(jié)果必須是XOR00011011
(2)乘法對于加法滿足的分配比率
(3)此處的矩陣乘法不同于一般意義上的矩陣乘法,其中模塊2的加法(XOR運(yùn)算)用于每一值的加法。
圖7 列混合代碼
在加密過程中,每個回合的輸入都是用圓鍵(XOR是當(dāng)前分組和擴(kuò)展鍵的一部分)進(jìn)行XOR;由于二進(jìn)制連續(xù)排他邏輯和的結(jié)果是不變的,所以在解碼過程中可以通過最后一個回合鍵的異或來恢復(fù)輸入。該算法通過分組XOR加密(添加循環(huán)鍵),分組混亂擴(kuò)散(另外三個步驟)以及XOR加密。這種方法十分有效且安全,流程如圖8所示。
圖8 輪密鑰加流程圖
本文提出的物聯(lián)網(wǎng)傳感器透傳加密體系可以應(yīng)用于各類物聯(lián)網(wǎng)傳感器上,利用網(wǎng)絡(luò)與陸、海、空、天等多維空間、不同種類的平臺傳感器融合在一起,將各物聯(lián)網(wǎng)傳感器,例如光學(xué)照相機(jī)、熱像儀、雷達(dá)等專用設(shè)備采集到的數(shù)據(jù)通過透傳加密技術(shù)進(jìn)行加密,在傳感器到數(shù)據(jù)中心之間的信道中實(shí)現(xiàn)透明傳輸。它可以確保數(shù)據(jù)在信息傳輸時間和途中的保密性,是一種簡單、安全、高效的信息加密技術(shù)。