国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

窄帶物聯(lián)網(wǎng)的輕量級加密方案

2018-10-24 02:27賈榮媛王宜懷王小寧
關(guān)鍵詞:明文窄帶加密算法

賈榮媛,王宜懷,王小寧

(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 江蘇 蘇州 215000)

0 引 言

窄帶物聯(lián)網(wǎng)(narrowband internet of things,NB-IoT)自標(biāo)準(zhǔn)被建立以來因其具有廣覆蓋、高容量、靈活部署、低功耗和低成本等特點(diǎn)而得到了迅猛發(fā)展[1-3]。隨著窄帶物聯(lián)網(wǎng)終端感知節(jié)點(diǎn)數(shù)目的急劇增加及窄帶網(wǎng)絡(luò)的開放性,終端感知節(jié)點(diǎn)易受到節(jié)點(diǎn)冒充、信息竊取、消息篡改等攻擊,其安全問題面臨嚴(yán)峻的挑戰(zhàn),這迫切需要研究和解決[4,5]。加密技術(shù)是保證網(wǎng)絡(luò)信息安全的常用措施,高度優(yōu)化的AES(advanced encryption standard)強(qiáng)分組加密算法是當(dāng)前終端感知節(jié)點(diǎn)加密的研究方向之一[6,7]。文獻(xiàn)[8,9]通過減少AES加密輪數(shù)和設(shè)計(jì)替換表來提高AES的運(yùn)行效率。然而,雖然改進(jìn)的AES在運(yùn)行效率方面有很大的改進(jìn),但是其安全性也隨之降低。混沌序列因其可被序列化成某個范圍內(nèi)的正整數(shù)而被廣泛應(yīng)用于數(shù)據(jù)加密領(lǐng)域[10,11]。因此本文針對現(xiàn)有基于AES的加密算法無法在時間消耗和安全性兩方面具有良好表現(xiàn)的問題,提出了基于AES與混沌序列的輕量級加密算法——LCHAOSAES(lightweight chaos AES),并根據(jù)窄帶物聯(lián)網(wǎng)應(yīng)用架構(gòu)給出加密模型,從理論和實(shí)驗(yàn)兩方面驗(yàn)證LCHAOSAES算法的可行性,為今后窄帶物聯(lián)網(wǎng)應(yīng)用安全的研究提供思路。

1 AES加密與混沌加密

1.1 AES

AES是美國政府采用的對稱密鑰分組加密算法,它能抵抗除了暴力攻擊以外的所有已知類型的攻擊。該算法靈活,數(shù)據(jù)塊和密鑰長度可以是128、192和256位,對應(yīng)著的加密輪數(shù)Nr分別是10、12和14。由于窄帶物聯(lián)網(wǎng)終端感知節(jié)點(diǎn)的資源有限,因此本文對占用資源較低的數(shù)據(jù)塊長度為128位的AES_128進(jìn)行改進(jìn)。圖1描述了AES_128加密實(shí)現(xiàn)過程,圖中Nr[i](0≤i≤10)表示第i輪運(yùn)算,Key為種子密鑰,K[i](0≤i≤10)表示第i輪密鑰。AES_128每個數(shù)據(jù)塊和密鑰長度均為16個字節(jié),加密過程由4個基本輪函數(shù)組成:SubBytes,ShiftRows,MixCo-lumns和AddRoundkey。

圖1 經(jīng)典AES_128加密實(shí)現(xiàn)過程

SubBytes是一個非線性函數(shù),具有混淆字節(jié)的作用,可用S盒查表法提高運(yùn)算速度;ShiftRows是一個線性函數(shù),使得每行字節(jié)的順序發(fā)生變化;MixColumns是將每個字節(jié)利用GF(28)域上算術(shù)特性進(jìn)行一個替換;Add-RoundKey是一個簡單的XOR操作,它的輪密鑰由種子密鑰計(jì)算得出。

1.2 混沌加密

混沌加密因其具有速度快、簡單、實(shí)時性高等特點(diǎn)被廣泛應(yīng)用于信息加密領(lǐng)域,其利用混沌系統(tǒng)產(chǎn)生的混沌序列具有隨機(jī)性、非周期性、易于交叉和對初始狀態(tài)極易敏感等特點(diǎn)。本文使用的混沌系統(tǒng)性是:Logistic映射和Tent映射。

一維Logistic映射的非線性方程如下表示

yn+1=λyn+1(1-yn)

(1)

在Logistic映射中,當(dāng)形態(tài)參數(shù)λ=4時,Logistic映射對迭代的初值異常敏感,此時被稱為滿映射混沌狀態(tài)。Logistic映射生成的混沌序列與噪聲相似,序列的混沌狀態(tài)高度依賴于映射的初始值y0和形態(tài)參數(shù)λ。因此,在一個Logistic映射中即使y0或λ發(fā)生了極微小的變化,Logistic映射也可經(jīng)過較少次數(shù)的迭代生成完全不同的混沌序列。

Tent映射是一種分段線性映射,其方程如下

(2)

Tent映射可以通過確定形態(tài)參數(shù)μ的值,利用初始值x0迭代得出一個具體的數(shù)值混沌序列。當(dāng)μ∈(1.4,2)且μ趨近于2時,Tent映射產(chǎn)生的混沌序列的隨機(jī)性較好。

2 LCHAOSAES

為了解決現(xiàn)有基于AES的加密算法無法在提高運(yùn)行效率的同時保證算法的安全性的問題,本文分別從簡化AES以降低復(fù)雜度和構(gòu)建混沌密鑰生成系統(tǒng)以提高算法安全性兩方面入手對AES進(jìn)行改進(jìn),繼而提出了一種基于AES與混沌序列的輕量級加密算法——LCHAOSAES。本節(jié)主要對明文塊長度為128位的AES_128進(jìn)行改進(jìn)。

2.1 簡化AES

2.1.1 精簡加密輪數(shù)

張堯等[9]通過實(shí)驗(yàn)證明將AES_128加密算法的加密輪數(shù)設(shè)置為6輪即可抵抗已知的捷徑攻擊,為了進(jìn)一步確保算法的安全性,將加密輪數(shù)設(shè)置為7輪。然而,本文從最大程度簡化AES_128加密算法的角度出發(fā),將加密輪數(shù)設(shè)置為6輪,即LCHAOSAES的加密輪數(shù)為6。

2.1.2 優(yōu)化輪函數(shù)

MixColumns操作涉及有限域GF(28)上的乘法運(yùn)算,會為NB-IoT終端感知節(jié)點(diǎn)帶來大量的計(jì)算負(fù)擔(dān)。因此,在設(shè)計(jì)LCHAOSAES時,本文省略1至5輪中的ShiftRows操作,采用查表法代替SubBytes和MixColumns提高算法的運(yùn)行效率,查表法依然可以用SubBytes操作實(shí)現(xiàn)。

令SubBytes輸入為矩陣A,操作用函數(shù)S(A)表示,其輸出結(jié)果為矩陣B;MixColumns將矩陣B作為輸入,其輸出結(jié)果為矩陣C。為整合SubBytes和MixColumns而設(shè)計(jì)快速替換表的過程如下:

對于矩陣B可表示為

Bij=S(Aij), (0≤i,j≤3)

(3)

矩陣C可表示為

(4)

由式(3)和式(4)可得

(5)

由式(5)可以看出,SubBytes和MixColumns實(shí)際上是對01×S(A)、02×S(A)和03×S(A)(×代表有限域GF(28)上的乘法)3種數(shù)據(jù)進(jìn)行操作。S(A)表示利用表S(S盒)進(jìn)行SubBytes操作,而表2S和3S可由表S獲得,因此預(yù)存S、2S和3S這3張表就可以用查表法代替大量的乘法運(yùn)算來降低算法的復(fù)雜度。LCHAOSAES加密過程如圖2所示,圖中Nr[i](0≤i≤6)表示第i輪運(yùn)算,Key為種子密鑰,K[i](0≤i≤6)表示第i輪密鑰。

圖2 LCHAOSAES加密過程

2.2 構(gòu)建混沌密鑰生成系統(tǒng)

一維Logistic映射在初值敏感性、非周期性和偽隨機(jī)性方面具有良好表現(xiàn)。LCHAOSAES算法通過構(gòu)建Logistic和Tent混沌密鑰生成系統(tǒng)生成隨機(jī)性較高的混沌序列,并利用該序列為每個AES_128明文分組生成不同的種子密鑰。這樣,所有明文分組的種子密鑰各不相同,從而構(gòu)成“一次一密”的加密系統(tǒng)。

LCHAOSAES在加解密兩端以相同的參數(shù)構(gòu)建完全一致的混沌系統(tǒng),通過多次迭代產(chǎn)生動態(tài)的種子密鑰,并利用此密鑰加解密。圖3描述了LCHAOSAES算法構(gòu)建混沌密鑰生成系統(tǒng)的過程。具體描述如下:

圖3 LCHAOSAES算法構(gòu)建混沌密鑰生成系統(tǒng)的過程

(1)利用初始化參數(shù)構(gòu)建混沌系統(tǒng)

通過對稱密鑰加密體制傳遞密鑰,發(fā)送方和接收方的密鑰包含:Logistic映射λ和初始值y0,Tent映射的控制參數(shù)μ和x0,基本迭代次數(shù)N。目的是使得發(fā)送方和接收方可以利用λ、μ、y0,x0和N構(gòu)建相同的混沌系統(tǒng)。

(2)將明文分組

將明文以16字節(jié)為單位長度進(jìn)行分組并根據(jù)待加密明文的長度length計(jì)算明文的分塊參數(shù)m和n。m表示明文分塊的組數(shù),m=length/16;n表示明文分塊后剩余的字節(jié)數(shù),n=length%16。Logistic和Tent的迭代次數(shù)分別由m和n控制,也使得該密鑰生成系統(tǒng)與明文長度緊密聯(lián)系。

(3)產(chǎn)生混沌序列與合成種子密鑰

為了使混沌序列充分離散化,本文分別將Logistic映射迭代N+m次、Tent映射迭代N+n次,而后每加密一個數(shù)據(jù)塊都將Logistic和Tent每個映射再連續(xù)迭代8次以分別獲得8個混沌實(shí)數(shù)。將每個實(shí)數(shù)小數(shù)部分的前4位數(shù)組成整數(shù)并對256取模,取模后的兩組數(shù)交叉組合,最后形成的16個字節(jié)的實(shí)數(shù)便是LCHAOSAES數(shù)據(jù)塊的種子密鑰,即每個明文塊的種子密鑰各不相同。

(4)動態(tài)加密和尾端處理

對明文加密時,利用步驟(3)產(chǎn)生的種子密鑰對m個明文塊逐塊加密以得到相應(yīng)的m個密文塊;利用步驟(3)產(chǎn)生的種子密鑰的前n個字節(jié)與剩余的n個字節(jié)的明文塊異或即可得到n個字節(jié)的尾密文。這種尾端處理機(jī)制能極大地減小計(jì)算量。

按照以上步驟對明文加密后,依次將密文塊與尾密文合并以得到與明文長度相等的密文,如圖4所示。

3 窄帶物聯(lián)網(wǎng)加密模型

3.1 窄帶物聯(lián)網(wǎng)應(yīng)用架構(gòu)

從技術(shù)科學(xué)角度分析,窄帶物聯(lián)網(wǎng)應(yīng)用架構(gòu)可以抽象為NB-IoT終端(ultimate-equipment,UE)、NB-IoT信息郵局(information post office,MPO)、NB-IoT人機(jī)交互系統(tǒng)(human-computer interaction system,HCI)3個組成部分, 如圖5所示。 UE是以MCU為核心, 具有NB-IoT通信、數(shù)據(jù)采集、控制、運(yùn)算等功能的軟硬件實(shí)體。如燃?xì)獗?、水表等。MPO是一種基于NB-IoT協(xié)議的信息傳送系統(tǒng),是NB-IoT基站(eNodeB),核心網(wǎng)(core network)和設(shè)備管理平臺(device management server)的總稱,是UE與HCI信息交互的媒介。HCI是實(shí)現(xiàn)具體應(yīng)用功能的軟硬件系統(tǒng), 使人們能夠利用通用計(jì)算機(jī)(PC)、 平板電腦、 手機(jī)等設(shè)備實(shí)現(xiàn)對例如智能家居、物流等控制的功能。圖5中數(shù)據(jù)傳輸過程(1)和(2)表示上行數(shù)據(jù)傳輸過程,(3)和(4)代表下行數(shù)據(jù)傳輸過程,其中過程(1)和(3)使用的是NB-IoT通信技術(shù)。

圖4 基于混沌序列的加密過程

從應(yīng)用開發(fā)的角度來看,開發(fā)者只需要對UE和HCI端的軟硬件進(jìn)行設(shè)計(jì)。而對于數(shù)據(jù)是如何在MPO內(nèi)部傳輸?shù)倪@個問題將由運(yùn)營商解決。所以開發(fā)者在進(jìn)行軟件設(shè)計(jì)時應(yīng)著重考慮UE、以及HCI的軟硬件環(huán)境及資源。

3.2 窄帶物聯(lián)網(wǎng)加密模型

在圖5的窄帶物聯(lián)網(wǎng)應(yīng)用架構(gòu)中,數(shù)據(jù)被竊取可能發(fā)生在任意一個網(wǎng)絡(luò)通信過程中,例如過程(1)、(2)(3)、(4)以及MPO內(nèi)部。

每個UE都有唯一一個國際移動設(shè)備身份碼IMEI(international mobile equipment identity),是15位數(shù)字組成的“電子串號”。每一個UE的通信模組都將擁有一個全球唯一的IMEI。本文利用IMEI為每一個UE的加密密鑰生成固定的基本迭代次數(shù)N以降低密鑰管理的難度。綜合窄帶物聯(lián)網(wǎng)應(yīng)用架構(gòu)以及每個UE的IMEI號本文提出了應(yīng)用環(huán)境下的加密模型,如圖6所示。

圖5 窄帶物聯(lián)網(wǎng)應(yīng)用架構(gòu)

圖6 窄帶物聯(lián)網(wǎng)加密模型

當(dāng)UE要發(fā)送數(shù)據(jù)到HCI時,首先獲取IMEI號的后三位數(shù)記為number,其次根據(jù)number的值設(shè)置LCHAOSAES算法的基本迭代次數(shù):若number<100,則N=100;否則,N=number。在確定密鑰信息后,UE和HCI共享同一密鑰。UE利用LCHAOSAES對數(shù)據(jù)加密產(chǎn)生的密文,經(jīng)由MPO轉(zhuǎn)發(fā)發(fā)送至HCI,HCI收到密文后用密鑰對密文解密以得到明文。

4 實(shí)驗(yàn)結(jié)果與分析

4.1 實(shí)驗(yàn)環(huán)境

本文在這一部分將通過分析密鑰空間和敏感性來驗(yàn)證LCHAOSAES的安全性,并將結(jié)果與AES_128和LAES[9]的安全性進(jìn)行對比。接下來本文將統(tǒng)計(jì)3種算法加密同一個明文所用的時間,并將統(tǒng)計(jì)結(jié)果進(jìn)行對比,算法花費(fèi)的時間越少效率越高。

本文實(shí)驗(yàn)環(huán)境有兩個:一是在64位PC機(jī)(主頻為3.20 GHz)上運(yùn)行的VS2012平臺VC++編譯器,PC機(jī)操作系統(tǒng)為Windows10,在該環(huán)境下本文進(jìn)行密鑰敏感性驗(yàn)證和算法性能實(shí)驗(yàn);二是本文提出的窄帶物聯(lián)網(wǎng)加密模型的UE,UE主控芯片的型號是MKL36Z64VLH4,時鐘頻率為48 MHz,F(xiàn)lash大小為64 KB。UE使用的通信模組是華為推出的Quectel BC95,它為NB-IoT通信提供了一系列的AT命令集,UE可通過這些指令與MPO通信,也可以獲取模組的IMEI號,UE的硬件結(jié)構(gòu)如圖7所示。本文將在窄帶物聯(lián)網(wǎng)的加密模型上對LCHAOSAES、AES_128以及LAES進(jìn)行效率測試。

圖7 UE硬件實(shí)物圖

4.2 安全性分析

4.2.1 密鑰空間

密鑰空間的大小影響著加密算法抵抗窮盡密鑰搜索攻擊的能力。LCHAOSAES的種子密鑰由多個參數(shù)控制,分別是Logistic映射的控制參數(shù)λ和初始值y0,Tent映射的控制參數(shù)μ和初始值x0,以及基本迭代次數(shù)N。double類型的數(shù)據(jù)可以得到小數(shù)點(diǎn)后15位有效數(shù)字[12],那么各參數(shù)的空間大小見表1。

表1 各參數(shù)空間大小

LCHAOSAES密鑰空間大小為

RLCHAOSAES=Rλ×Ry0×Rμ×Rx0×RN≈2.32×1062

(6)

理論上AES_128和LAES算法密鑰空間大小是2128≈3.40×1038。因此,LCHAOSAES密鑰空間的大小遠(yuǎn)遠(yuǎn)大于AES_128和LAES。并且LCHAOSAES的迭代次數(shù)取決于UE模塊的IMEI和明文長度,因此其密鑰空間具有不確定性,這進(jìn)一步增加了破解密文信息的難度。

4.2.2 密鑰敏感性

密鑰敏感性是衡量加密算法安全性常用的方法之一[13],即密鑰要滿足雪崩準(zhǔn)則,當(dāng)密鑰發(fā)生細(xì)微變化后,密文中有大約一半的比特發(fā)生變化。為了驗(yàn)證LCHAOSAES、AES_128以及LAES密鑰的敏感性,本文分別進(jìn)行了兩個實(shí)驗(yàn):第一個實(shí)驗(yàn)檢測3種加密算法對同一明文加密后得到密文的比特變化率,明文長度為1000字節(jié),進(jìn)行40次實(shí)驗(yàn)取得的平均結(jié)果如圖8所示;第二個實(shí)驗(yàn)檢測密鑰發(fā)生微小變化后的密文比特變化率,進(jìn)行40次實(shí)驗(yàn)取得的平均結(jié)果如圖9所示。

圖8 加密后的密文比特率變化

圖9 密鑰發(fā)生變化后的密文比特率變化

分析圖8和圖9的結(jié)果可知,兩個實(shí)驗(yàn)的密文比特的變化率最高的都是LCHAOSAES,其次是AES_128。因此LCHAOSAES在雪崩性分析中表現(xiàn)得更好。在進(jìn)行圖9的實(shí)驗(yàn)時,密鑰僅發(fā)生了10-8的微小變化,而LCHAOSAES密文的比特變化率卻達(dá)到了51.1%,說明密鑰雪崩現(xiàn)象明顯,從而驗(yàn)證了LCHAOSAES密鑰的敏感性優(yōu)于AES_128和LAES,即安全性高于AES_128和LAES。

4.3 軟件性能

軟件性能即是評估算法在各個平臺上的運(yùn)行效率。本文利用C語言分別實(shí)現(xiàn)LCHAOSAES、AES_128和LAES。在64位PC端(主頻為3.20 GHz)上對1000個字節(jié)的.txt文本數(shù)據(jù)進(jìn)行50次加密實(shí)驗(yàn)并記錄每次加密所花費(fèi)的時間。每種算法經(jīng)過50次加密求得的平均時間見表2。

從表2中可知,AES_128在加密時花費(fèi)的時間最多,而LAES的時間最少。由于LCHAOSAES在輕量化的同時要提高安全性,所以其加密速度略低于LAES是不可避免的,但是總體來說它比AES_128效率還要高出35%。

表2 各算法加密明文花費(fèi)的平均時間/ms

本文將上述3種算法移植到NB-IoT加密模型的UE芯片中。UE主芯片(MKL36Z64VLH4)的時鐘頻率為48 MHz,F(xiàn)lash大小為64 KB。各算法對不同長度明文加密所花費(fèi)的平均時間如圖10所示。

圖10 加密不同長度數(shù)據(jù)所花費(fèi)的平均時間

從圖10可以看出,LCHAOSAES加密時花費(fèi)的時間明顯少于AES_128,但是略高于LAES。隨著明文長度的增加,3種算法加密時間也逐漸增多。其中,AES_128增加的速度最快,而LCHAOSAES和LAES時間增長幅度較小。雖然LCHAOSAES的效率略低于LAES,但從表2可以得出它比AES_128高出35%的結(jié)論,所以LCHAOSAES是輕量級的加密算法。

5 結(jié)束語

為了解決窄帶物聯(lián)網(wǎng)面臨的數(shù)據(jù)安全問題,而現(xiàn)有基于AES的加密算法無法滿足窄帶物聯(lián)網(wǎng)的特性,本文提出了基于AES與混沌序列的輕量級加密算法,并根據(jù)NB-IoT應(yīng)用架構(gòu)提出了加密模型。本文通過減少AES_128的加密輪數(shù)以及合并輪函數(shù)來提高算法運(yùn)行效率;此外,使用Logistic和Tent映射構(gòu)建混沌密鑰生成系統(tǒng)為每個明文塊加密提供不同的種子密鑰以提高算法的安全性和確保密文的長度與明文相同;通過在加密模型上對LCHAOSAES進(jìn)行理論分析和實(shí)驗(yàn)可知,LCHAOSAES的安全性明顯高于AES_128和LAES,運(yùn)行效率略比AES_128高出35%。因此,LCHAOSAES具有高效率和高安全性的特點(diǎn)可被用作窄帶物聯(lián)網(wǎng)終端節(jié)點(diǎn)的數(shù)據(jù)加密算法。同時,其在加密模型上的良好表現(xiàn)進(jìn)一步驗(yàn)證了它的可用性。

此外,為提高LCHAOSAES的運(yùn)行效率而設(shè)計(jì)的字節(jié)替換表將占用1792字節(jié)的內(nèi)存。雖然目前的MCU處理器足以容納1792個字節(jié),但本文工作者計(jì)劃在未來的工作中解決這個問題。

猜你喜歡
明文窄帶加密算法
熱軋窄帶鋼Q345B微合金化生產(chǎn)實(shí)踐
奇怪的處罰
無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
奇怪的處罰
基于小波變換和混沌映射的圖像加密算法
四部委明文反對垃圾焚燒低價(jià)競爭
Hill加密算法的改進(jìn)
基于壓縮感知的窄帶干擾重構(gòu)與消除
基于邊帶相關(guān)置換的BDS抗窄帶干擾算法
對稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)