鄭振峰
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院,陜西西安 710300)
從通信特點來看,現(xiàn)代智能嵌入式遠程數(shù)據(jù)采集與監(jiān)控系統(tǒng)的無線通信仍面臨嚴重的安全威脅。數(shù)據(jù)通信節(jié)點的存儲和通信能力具有一定局限性,尤其是在嵌入式遠程系統(tǒng)中,對于數(shù)據(jù)加密方案而言,在減少存儲空間和計算量方面必須滿足輕量級的要求,操作系統(tǒng)的安全漏洞可能因為網(wǎng)絡(luò)邊界的不確定性而被利用。這一漏洞存在于單機時代的整個嵌入式遠程系統(tǒng)中,破壞力十分有限。但是在互聯(lián)網(wǎng)時代,這些漏洞使系統(tǒng)非常容易受到攻擊,一次攻擊就會威脅到整個系統(tǒng)。以往采用的是基于改進MQTT協(xié)議的加密算法[1],其本質(zhì)上就是將物聯(lián)網(wǎng)設(shè)備端與服務(wù)器端隨機生成自己的私鑰,然后相互通知對方自己的私鑰并通過算法組合成最終的會話主密鑰,通過DES加密、解密,傳輸安全數(shù)據(jù),模擬了敵手A、B 對數(shù)據(jù)傳輸過程進行攻擊,驗證了在會話密鑰生成算法沒有泄露的前提下MQTT-EA是安全的。但是該方法的數(shù)據(jù)位置錯亂,不能改變實際的傳輸位置,因此這種加密方法有可能被攻擊者破譯,大大降低了數(shù)據(jù)加密傳輸安全性。針對該問題,本文提出了一種基于離散混沌映射的嵌入式遠程數(shù)據(jù)加密傳輸方法。離散混沌映射具有偽隨機、確定性特點,且對初始條件和參數(shù)極為敏感,為數(shù)據(jù)傳輸加密提供快速簡單新途徑。
數(shù)據(jù)加密是嵌入式遠程操作與維護中的一個重要環(huán)節(jié),該模型集成了嵌入式遠程終端設(shè)備綁定、數(shù)據(jù)采集、數(shù)據(jù)加密、數(shù)據(jù)解密、數(shù)據(jù)雙向傳輸?shù)裙δ?,實現(xiàn)了數(shù)據(jù)遠程傳輸[2]。數(shù)據(jù)加密傳輸步驟如下所示:
步驟一:嵌入式遠程終端綁定
基于移動電話的終端設(shè)備,增加了紅外、RFID、GIS、測壓等軟功能終端。每一個終端都具有唯一IMEI,這樣終端就能保證與遠程系統(tǒng)自動連接,保證無線公網(wǎng)能夠安全連接到遠程平臺上進行設(shè)備管理[3-4]。
步驟二:數(shù)據(jù)采集
主要采用加密方式進行數(shù)據(jù)采集,是驗證密碼結(jié)果重要依據(jù)。結(jié)合GPS、RFID、QR碼掃描等技術(shù),實現(xiàn)移動數(shù)據(jù)的采集與聚合。在保證了數(shù)據(jù)采集及時性的同時,通過智能數(shù)據(jù)梳理采集,強化了移動維修作業(yè)指導(dǎo)工作規(guī)范[5-6]。
步驟三:數(shù)據(jù)加密、解密
采用離散混沌映射技術(shù)對數(shù)據(jù)進行加密,使遠程數(shù)據(jù)傳輸更加安全可靠。采用IDEA 加密技術(shù),在已有算法基礎(chǔ)上,增加了移動設(shè)備IMEI數(shù)據(jù)。在此基礎(chǔ)上,增加了手持終端驗證能力,提高了返回數(shù)據(jù)安全性和可控性[7-8]。其中包括數(shù)據(jù)加密模塊、數(shù)據(jù)解密模塊和數(shù)據(jù)驗證模塊等內(nèi)容,圖1中顯示了加密和解密過程。
圖1 加密、解密流程圖
(1)數(shù)據(jù)加密模塊
在傳輸前進行數(shù)據(jù)加密是指在傳輸終端和遠程平臺之間實現(xiàn)加密,通過使用IDEA來優(yōu)化IMEI驗證過程,從而加強了返回數(shù)據(jù)優(yōu)化過程。與單純無序相比,離散混沌是一種復(fù)雜動力行為。其內(nèi)部結(jié)構(gòu)豐富,無明顯周期性和對稱性。
由于其非周期、寬頻譜連續(xù)性和類噪聲等特點,使得離散混沌信號自然不會被發(fā)現(xiàn),而由非線性算法產(chǎn)生混沌信號可以在加密算法中提供大量密鑰,從而產(chǎn)生序列密碼。序列碼是一個混沌加密密碼,它用字符對明文信息進行加密,混沌序列是一個非線性序列。該方法簡單、確定性強、不含任何隨機因素,迭代后結(jié)果完全隨機,對參數(shù)動態(tài)變化和初始值極為敏感。加解密鑰相同,其計算格式為:
公式(1)中,{Cn}、{Kn}、{Pn}分別表示加密密文、密鑰、解密密文信息序列。
在基于離散混沌映射的加密模型中,采用了路徑迭代后加密算法。將迭代初始條件作為密鑰,取一段待加密明文,計算明文和迭代密鑰,得到密鑰。圖2中顯示了序列加密設(shè)計過程。
圖2 序列加密設(shè)計流程
由圖2可確定加密流程,具體內(nèi)容為:①選取適當密鑰,代入離散的混沌映射方程,產(chǎn)生混沌序列;②當?shù)玫降拿芪膹陌l(fā)送者傳送到接收者時,在該序列和待加密的明文信息之間執(zhí)行異或操作;③選擇相同的密鑰,重復(fù)步驟①;④將步驟③產(chǎn)生的混沌序列與密文序列進行異或運算,得到明文序列。
(2)數(shù)據(jù)解密模塊
解密模塊是在終端和遠程平臺接收到加密數(shù)據(jù)后,有針對性地解密加密的數(shù)據(jù)。加解密過程中,要對IMEI 信息進行解密和驗證。
離散混沌映射是一個簡單而又被廣泛研究的動態(tài)系統(tǒng),又稱蟲口映射。最初的數(shù)學(xué)模型是:
為了計算方便,令:a=b=μ,由此得到如下關(guān)系式:
該模型起初用于描述種群變化,其中Xn表示當年種群數(shù),Xn+1則是下一年種群數(shù),μ為增長參數(shù),初始狀態(tài)X0與參數(shù)μ為種子密鑰。
離散混沌映射是一維非線性映射,它能滿足信號達到混沌狀態(tài)要求,對混沌問題研究具有普遍性和重要意義。當參數(shù)μ 在[3.57,4.00]之間時,所生成的混沌序列具有較好的隨機性,即混沌效果最佳。圖3中顯示了模擬對比結(jié)果。
圖3 種子密鑰在3.60-4.00之間混沌效果
(3)數(shù)據(jù)驗證模塊
將采集到的終端數(shù)據(jù)傳輸?shù)酱_認階段,判斷嵌入式遠程數(shù)據(jù)加密維護工作是否按照要求完成。
步驟四:數(shù)據(jù)傳輸
該終端將數(shù)據(jù)采集與加密結(jié)合在一起,在遠程平臺上實現(xiàn)了遠程驗證。通過終端裝置IMEI,采用4G 傳輸技術(shù),回傳移動用戶數(shù)據(jù)到遠程平臺上,直至恢復(fù)到確認到遠程平臺為止。
嵌入式遠程數(shù)據(jù)位置置亂加密的基本思想是通過改變數(shù)據(jù)位置實現(xiàn)加密,當數(shù)據(jù)置亂發(fā)生時,一般采用混沌序列發(fā)生器產(chǎn)生實數(shù)序列,量化后產(chǎn)生置亂地址碼,并對其進行位置變換。基于離散混沌映射的置亂加密能有效地擴展密鑰空間,同時具有良好的統(tǒng)計特性,進一步提高加密數(shù)據(jù)的抗解密能力。嵌入遠端數(shù)據(jù)置亂技術(shù)是利用數(shù)據(jù)矩陣的特性對數(shù)據(jù)進行置亂,使數(shù)據(jù)排列混亂,達到保密目的。
置亂算法如下所示:
(1)設(shè)嵌入式遠程數(shù)據(jù)矩陣R,大小為m×n,從離散混沌映射中產(chǎn)生長為m的混沌序列:x={x1,x2,x3,…,xi,…,xm},長為n的混沌序列y={y1,y2,y3,…,yi,…,yn},對x,y序列進行大小排序,生成位置序列Z1、Z2。
(2)進行如下數(shù)據(jù)置亂,將Z1、Z2作為數(shù)據(jù)矩陣R行序和列序。該算法利用離散混沌映射生成兩組混沌序列來構(gòu)造置亂矩陣,從而減少了置亂矩陣生成時間,有效地縮短了加密處理時間。
為了驗證基于離散混沌映射的嵌入式遠程數(shù)據(jù)加密傳輸方法研究合理性,將文獻[1]提出的基于改進MQTT 協(xié)議的加密方法作為對比方法,進行實驗驗證分析。
選取7 個嵌入式遠程數(shù)據(jù),分別為E1、E2、E3、E4、E5、E6、E7,將這些數(shù)據(jù)進行置亂處理,期望得到的數(shù)據(jù)位置依次為:E1→E7、E2→E1、E3→E2、E4→E5、E5→E3、E6→E4、E7→E6。
由于受置亂數(shù)據(jù)影響,基于改進MQTT 協(xié)議的加密方法對網(wǎng)絡(luò)數(shù)據(jù)進行加密的效果較差,而采用基于離散混沌映射的嵌入式遠程數(shù)據(jù)加密方法則不受外部置亂數(shù)據(jù)影響,有很好加密效果。要檢驗這一點,兩種方法都需要在置亂數(shù)據(jù)干擾下進行對比分析,如圖4所示。
由圖4可知:使用基于改進MQTT 協(xié)議的加密方法將E1、E2、E3、E4、E5、E6、E7數(shù)據(jù)進行置亂處理,得到的數(shù)據(jù)位置依次為:E1→E4、E2→E3、E3→E1、E4→E6、E5→E5、E6→E7、E7→E2。根據(jù)置亂結(jié)果可知,使用該方法數(shù)據(jù)并未發(fā)生置亂現(xiàn)象。
圖4 兩種方法數(shù)據(jù)加密對比結(jié)果
使用基于離散混沌映射的嵌入式遠程數(shù)據(jù)加密方法將E1、E2、E3、E4、E5、E6、E7數(shù)據(jù)進行置亂處理,得到的數(shù)據(jù)位置依次為:E1→E7、E2→E1、E3→E2、E4→E5、E5→E3、E6→E4、E7→E6。由置亂結(jié)果可知,使用該算法可將全部數(shù)據(jù)置亂。
分析E2、E3兩個位置變換對嵌入式遠程傳輸、接收數(shù)據(jù)大小安全吞吐率影響進行分析,分析結(jié)果如表1、2所示。
表1 兩種方法下E2、E3兩個位置變換對傳輸數(shù)據(jù)吞吐率影響分析kb/s
由表1和表2可知,使用改進MQTT協(xié)議加密方法隨著數(shù)據(jù)增大,傳輸數(shù)據(jù)吞吐率也持續(xù)增大,當數(shù)據(jù)為512kb時,傳輸數(shù)據(jù)吞吐率在E2數(shù)據(jù)置亂情況下達到最大為10000kb/s。隨著數(shù)據(jù)增大,接收數(shù)據(jù)吞吐率也持續(xù)增大,當數(shù)據(jù)為為512kb時,傳輸數(shù)據(jù)吞吐率在E2、E3數(shù)據(jù)置亂情況下都達到最大為12500kb/s;使用離散混沌映射加密方法隨著數(shù)據(jù)增大,傳輸數(shù)據(jù)吞吐率變大,當數(shù)據(jù)為512kb時,傳輸數(shù)據(jù)吞吐率在E2數(shù)據(jù)置亂情況下達到最大為7500kb/s,接收數(shù)據(jù)吞吐率在E2 數(shù)據(jù)置亂情況下達到最大為5200kb/s。使用改進MQTT協(xié)議加密方法在整個加密過程中數(shù)據(jù)未受到置亂影響,抗解密性差,而使用離散混沌映射加密方法在整個加密過程中數(shù)據(jù)全部置亂,抗解密性強。
表2 兩種方法下E2、E3兩個位置變換對接收數(shù)據(jù)吞吐率影響分析kb/s
基于上述分析內(nèi)容,分別使用改進MQTT 協(xié)議加密方法和離散混沌映射加密方法分析數(shù)據(jù)加密效果,對比結(jié)果如表3所示。
表3 兩種方法加密效果對比分析
由表3可知,使用改進MQTT協(xié)議加密方法的加密效果在傳輸和接收數(shù)據(jù)過程中,加密效果始終低于0.70,而使用離散混沌映射加密方法的加密效果傳輸和接收數(shù)據(jù)過程中,加密效果始終高于0.90,通過分析內(nèi)容可知,使用該方法加密效果較好。
基于離散混沌映射的嵌入式遠程數(shù)據(jù)加密傳輸方法具有較高保密性,利用該方法來完成了對數(shù)據(jù)加密,在嵌入式遠程數(shù)據(jù)位置置亂時,會根據(jù)加密不同產(chǎn)生的密鑰值,在解密時作為解密密鑰的輔助密鑰使用。由實驗結(jié)果可知,該方法傳輸加密效果良好。
雖然使用基于離散混沌映射加密傳輸方法具有良好加密性,但由于混沌信號迭代處理中所產(chǎn)生的序列具有隨機性,因此導(dǎo)致運算量變大,無法保證數(shù)據(jù)傳輸時服務(wù)器與轉(zhuǎn)換模塊數(shù)據(jù)交互實時性。因此,在今后研究進程中,以此為基礎(chǔ)展開深入分析。