曹華珍,韋 斌,隋 宇,陳亞彬
(廣東電網(wǎng)公司規(guī)劃研究中心,廣東 廣州 510600)
物聯(lián)網(wǎng)時代的到來,在給人們帶來信息紅利的同時,其潛在的安全問題也逐漸暴露。特別在工業(yè)、醫(yī)療、軍事等信息交互背景下,一些敏感信息需要通過加密處理后才能利用網(wǎng)絡(luò)傳輸。但基于物聯(lián)網(wǎng)背景下的信息傳輸因其數(shù)據(jù)量龐大,數(shù)據(jù)信息復(fù)雜,傳統(tǒng)加密方式在該背景下存在安全性能不足、適配性能差等問題,已逐漸無法滿足加密需求。伴隨著物聯(lián)網(wǎng)技術(shù)的興起和普及,工業(yè)物聯(lián)網(wǎng)中的數(shù)據(jù)安全問題正引起社會各界人士的關(guān)注??v觀國內(nèi)外研究成果,利用密碼技術(shù)解決數(shù)據(jù)安全問題是一種有效的技術(shù)途徑,其中基于混沌映射的數(shù)據(jù)加密更是研究熱點之一。文獻[1]提出了一種基于憶阻器神經(jīng)網(wǎng)絡(luò)和改進Logistic映射的圖像加密算法,加強其密碼復(fù)雜程度。文獻[2]采用雙曲正弦函數(shù)憶阻器作為正反饋,設(shè)計了一種吸引子具有四翼的四維混沌模型。文獻[3]提出了一種憶阻時滯混沌系統(tǒng)并分析了該系統(tǒng)的基本動力學特性,基于該混沌序列設(shè)計了一種雙重擴散的圖像加解密算法,有效減少明文和密文間的聯(lián)系。上述文獻的加密方式在物聯(lián)網(wǎng)的信息交互模式下存在一定局限性。而且大多數(shù)的算法都只停留在軟件仿真的步驟,缺乏硬件實現(xiàn)的驗證,從而制約了從理論走向?qū)嶋H的發(fā)展。
針對物聯(lián)網(wǎng)技術(shù)中存在的信息安全問題,設(shè)計一種切實可用的混沌加密算法具有重要的研究意義和應(yīng)用價值。同時,混沌動力系統(tǒng)具有不周期、不發(fā)散、不收斂的特性。由于混沌系統(tǒng)所具備的類隨機性、對初始值極度敏感等優(yōu)良特性與密碼學的基本要求十分契合,因此利用其生成的高隨機性序列作為密鑰序列,通過散列、置亂、掩膜、擴散等手段對數(shù)據(jù)進行加密,從而提高信息的安全性,達到了動態(tài)加密的效果,并且通信安全也得到了保障。
在分析現(xiàn)有算法不足的基礎(chǔ)上, 提出了一種基于憶阻超混沌系統(tǒng)的加密算法,并進行了硬件驗證。首先,對明文進行原始信息初處理,其中包括RGB分解、比特平面分解,從而得到灰度圖,再轉(zhuǎn)為二值化矩陣進行存儲。接著,向憶阻器輸入預(yù)先設(shè)定好的初值,生成一段混沌序列,選取部分序列用作加密密鑰。然后,對密鑰進行歸一化處理,利用憶阻超混沌系統(tǒng)得到的序列對處理后的明文進行按位異或、置亂、掩膜和擴散等加密操作。最后,為了改良單一混沌映射混沌動力學特性不足,密鑰空間較小的問題,引入明文關(guān)聯(lián)生成強隨機性的擴散矩陣,將其用于異或擴散過程。該明文關(guān)聯(lián)方案具有較強的魯棒性和更加靈活的變化機制。該算法已在物聯(lián)網(wǎng)平臺上成功實現(xiàn)且加密效果良好。算法的提出和硬件驗證的完成,有望為未來物聯(lián)網(wǎng)技術(shù)的數(shù)據(jù)安全問題提供一種新思路,在物聯(lián)網(wǎng)的信息安全優(yōu)化方面具有一定參考價值。
憶阻器作為第四種無源基本電路元件,能夠?qū)崿F(xiàn)0、1信息儲存功能,具有速度快、功耗低、易集成、結(jié)構(gòu)簡單等優(yōu)勢。該元件既能滿足下一代高密度信息存儲和高性能計算對通用性電子存儲器的性能需求,又能實現(xiàn)非易失性狀態(tài)邏輯運算和類腦神經(jīng)形態(tài)計算的功能。此外,憶阻器的輸入輸出關(guān)系是非線性的,其對流經(jīng)的電流具有記憶能力。因此,利用其構(gòu)建的憶阻混沌系統(tǒng)有著與一般混沌系統(tǒng)不同的動力學特性。除了在電路參數(shù)方面表現(xiàn)出敏感性外,憶阻混沌系統(tǒng)還會隨著憶阻器初始值的變化而變化?;谶@些特性,利用憶阻混沌系統(tǒng)產(chǎn)生偽隨機序列作為密鑰,通過散列、置亂、掩膜、擴散等手段對數(shù)據(jù)進行加密。
采用的憶阻超混沌系統(tǒng)的無量綱方程為:
(1)
其中,,,,,為系統(tǒng)參數(shù)。其中為憶阻器相關(guān)參數(shù)。當參數(shù)=35,=-10,=95,=-4,=-1,=-3時,通過憶阻系統(tǒng)產(chǎn)生的超混沌吸引子相圖如圖1所示。
圖1 基于憶阻系統(tǒng)的超混沌吸引子相圖
超混沌加密算法總框見圖2。
對原始信息進行初處理
對輸入的明文進行初處理,具體處理步驟為:
將明文圖像按照RGB三通道分解為3張子圖,分別為、、,公式如下:
(2)
其中為明文圖像,、、為分解后的三張子圖像。
將3張子圖、、分別進行8比特平面分解,最終得到24張子圖,以為例,算法如下:
其中為明文圖像,_為比特平面分解后圖像,bitget為按位輸出函數(shù),bitshift為按位移位函數(shù)。
將24張子圖以二值化矩陣的形式存儲,公式如下:
_=reshape(_,,)
(3)
其中_為比特平面分解后圖像,_為二值化矩陣圖像,reshape為矩陣重組函數(shù)。
利用憶阻混沌生成用于掩膜、置亂、擴散的隨機序列
本文使用的憶阻超混沌模型如下:
(4)
其中,,,,,為系統(tǒng)參數(shù)。其中是憶阻器相關(guān)參數(shù)。已知參數(shù)=35,=-10,=95,=-4,=-1,=-3時,系統(tǒng)處于混沌狀態(tài)。將相關(guān)參數(shù)代入憶阻混沌系統(tǒng),生成隨機序列。為保證序列的隨機性,舍棄前100位序列,并根據(jù)加密信息的長度計算相應(yīng)的迭代次數(shù)。
圖2 超混沌加密算法總框圖
此外,密文中的部分序列將承擔密鑰作用,用于后續(xù)隨機序列的生成,從而實現(xiàn)多輪加密。在循環(huán)迭代的過程中,需對密文中選取的序列進行混沌序列特性檢測。檢測步驟為:對密文中隨機選取的序列進行放縮處理,并檢測其是否滿足密鑰區(qū)間;利用滿足條件的序列作為密鑰生成新的憶阻混沌;利用李氏指數(shù)判斷生成的混沌是否滿足標準。其中計算映射的李氏指數(shù)的公式如下:
(5)
最終利用李氏指數(shù)符合標準的混沌系統(tǒng)生成新的偽隨機序列,該序列將用于下一輪的加密。
異或掩膜
明文通過一個與其長寬相等的混沌矩陣進行位異或運算,公式如下:
=bitxor(_,)
(6)
其中bitxor為按位異或函數(shù),_為二值化矩陣圖像,即待加密信息,為由混沌產(chǎn)生的處于[0,255]混沌序列,為異或掩膜后的矩陣。
置亂
對進行置亂,算法如下:
for= 1:floor (*2)
=(())
(())=((*-+1)
((*-+1))=
end
其中是生成的一維向量,為步驟2生成的隨機序列,floor為取整函數(shù)。
最后,將轉(zhuǎn)化為*的矩陣,公式如下:
= reshape(,,)
(7)
擴散
生成用于擴散的偽隨機序列,具體如下:
(8)
其中和分別是用作正向及反向擴散的偽隨機序列,為原始隨機序列,為數(shù)據(jù)處理后的偽隨機序列,pow2是以2為基底的冪函數(shù)。
正向擴散算法如下:
反向擴散算法如下:
for=*-1:1:1
()=bitxtor (bitxtor ((-1),()),())
end
其中參數(shù)為正向擴散算法得到的中間變量,為密文。
將一維向量轉(zhuǎn)化為*的矩陣形式儲存并輸出得到密文,公式如下:
=reshape(,,)
(9)
軟件仿真實驗使用憶阻器作為原混沌系統(tǒng)的非線性反饋產(chǎn)生新的憶阻混沌。原始圖像、加密圖像和解密圖像如圖3所示。
圖3 原始圖像加密與解密圖像
NPCR (Unmber of Pixels Change Rate)和UACI (Unified Average Changing Intensity)是評估圖像抗差分攻擊能力的重要指標。NPCR指兩幅圖像對應(yīng)位置的不同像素點占全部像素點的比例,UACI指兩幅圖像對應(yīng)位置像素點的差值與最大差值的比值的平均值。計算公式如下:
(10)
其中和分別為兩幅大小相同的圖像,圖像大小為×,Sign(·)為符號函數(shù),如下式:
(11)
利用本算法對經(jīng)典Lena圖進行數(shù)次加密,并分析記錄各次加密后NPCR和UACI的值,繪制密文圖像的NPCR和UACI變化曲線如圖4所示。
(a) NPCR變化曲線
由實驗結(jié)果可知,本算法的NPCR值在99.75%浮動,符合理論期望值99.6%。UACI值在33.4%浮動,符合理論期望值33.5%。所以本算法能夠較好地抵抗差分攻擊。
密鑰空間與密鑰敏感度是加密算法安全性至關(guān)重要的指標。在遭受攻擊的過程中,密鑰空間的大小和密鑰敏感度的強弱往往決定算法是否能夠抵擋暴力破解。通過以下實驗進一步證明算法的高效性,并且對算法進行測試分析。
實驗結(jié)果如圖5所示。當密鑰失配10時,解密結(jié)果如圖5(c)所示。當密鑰完全匹配時,解密結(jié)果如圖 5(d)所示。從上述結(jié)果可以看出,即使密鑰存在微小錯誤,也會導(dǎo)致解密過程出現(xiàn)雪崩效應(yīng),無法準確還原明文。實驗結(jié)果證明了算法具有良好的密鑰敏感性。
圖5 數(shù)據(jù)加密解密結(jié)果
算法選取系統(tǒng)的初始值作為超混沌系統(tǒng)的密鑰參數(shù),和為密鑰控制參數(shù)。密鑰空間可表示為:
KEY∈{,,,,,}
設(shè)置密鑰參數(shù)類型為雙精度數(shù)據(jù)類型。在參數(shù)精度為10的情況下,密鑰空間為10≈2,密鑰長度約為318 bit。基于密鑰長度,將本文算法與其他算法進行比較,比較結(jié)果如表1所示。
表1 密鑰長度對比
實驗結(jié)果表明,本文算法具有較大的密鑰空間,能夠較好地抵御暴力攻擊。
為分析加密算法的性能和驗證該算法在物聯(lián)網(wǎng)環(huán)境下的可行性,采用硬件驗證的形式對算法和適用環(huán)境進行分析。
硬件驗證采用的物聯(lián)網(wǎng)環(huán)境為PZ6808L-F407開發(fā)板。該開發(fā)板微處理器模塊的主控芯片使用基于ARM Crotex-M4的32位高性能STM32F407ZGT6作為系統(tǒng)核心。STM32具有功耗低、風險小、性能良好等優(yōu)點,能較好地驗證算法在物聯(lián)網(wǎng)環(huán)境下的適配情況。
實驗采用的PZ6808L-F407開發(fā)板支持以太網(wǎng)和無線Wi-Fi進行圖像等信息的保密傳輸。實驗設(shè)計的基于物聯(lián)網(wǎng)設(shè)備的加密系統(tǒng)如圖6所示。
(a)基于物聯(lián)網(wǎng)設(shè)備產(chǎn)生的明文圖像
實驗結(jié)果表明,最大加密的圖像大小為320*480,其加密速率為1.5 MB/s,具有較高的加密效率。同時實驗還測試了320*240大小圖像的實驗效果,數(shù)據(jù)對比如表2所示。相比于320*480大小的圖像,該系統(tǒng)在加密 320*240大小的圖像時,加密效率更高。
表2 不同圖像大小的加密速率對比
當傳輸圖像質(zhì)量更高時,圖像數(shù)據(jù)量也就越大。此時,對于ARM處理器的運算資源來說,執(zhí)行加解密處理圖像所消耗的時間過長,這將導(dǎo)致系統(tǒng)加密效率降低。今后可以在此基礎(chǔ)上優(yōu)化算法壓縮數(shù)據(jù)或采用性能更好地開發(fā)板實現(xiàn)混沌加解密模塊,以便更好的進行硬件驗證。
此加密系統(tǒng)的硬件實現(xiàn),有望為解決傳統(tǒng)嵌入式設(shè)備無線網(wǎng)絡(luò)接入場景中無線設(shè)備易被抓包破解的問題提供幫助。此硬件驗證的完成,說明了混沌加密系統(tǒng)在物聯(lián)網(wǎng)中潛在的可行性,有望為提升物聯(lián)網(wǎng)的通信安全提供一種新方法。
針對工業(yè)物聯(lián)網(wǎng)中可能存在的安全問題,提出了一種基于憶阻超混沌系統(tǒng)的安全增強算法,并在物聯(lián)網(wǎng)平臺驗證其可行性。向憶阻器輸入預(yù)先設(shè)定好的初值,得到一段混沌序列,選取部分序列用作加密密鑰。然后對密鑰進行歸一化處理,利用憶阻超混沌系統(tǒng)得到的序列對處理后的明文進行按位異或,繼而進行置亂、掩膜和擴散等加密操作,得到密文;此時再將得到的密文進行混沌序列特性測試,即首先對隨機密文序列進行放縮處理,判斷是否在初值區(qū)間,如是,則用于生成憶阻混沌;檢驗憶阻混沌的李氏指數(shù)是否符合標準,若通過檢驗,則再次用于充當加密密鑰,不斷循環(huán)迭代直到加密完成。實驗數(shù)據(jù)表明,本文提出的算法在具備高初值敏感性的同時,還具有密鑰空間大、抗差分攻擊能力強等特點。該算法在物聯(lián)網(wǎng)平臺的實現(xiàn)說明:混沌加密算法與物聯(lián)網(wǎng)相結(jié)合的想法和模式具有可行性,將有望優(yōu)化傳統(tǒng)物聯(lián)網(wǎng)信息交互的安全漏洞,為構(gòu)建更好的工業(yè)物聯(lián)網(wǎng)系統(tǒng)提供幫助。