胡紅彬,李 忠,劉建華,程剛
(國(guó)網(wǎng)四川省電力公司資陽(yáng)供電公司,四川資陽(yáng) 641300)
嵌入式系統(tǒng)設(shè)備與無(wú)線網(wǎng)絡(luò)通信技術(shù)相結(jié)合,在實(shí)時(shí)數(shù)據(jù)傳輸中起著舉足輕重的作用,同時(shí)也會(huì)對(duì)信息的竊取、欺騙和篡改帶來(lái)安全隱患。由于不需要布線,操作方便快捷,維護(hù)費(fèi)用低,因此無(wú)線網(wǎng)絡(luò)通信已逐步替代有線通信技術(shù)。在通信過(guò)程中,數(shù)據(jù)加密是保證數(shù)據(jù)能安全有效傳輸?shù)年P(guān)鍵方法。目前文獻(xiàn)[1]提出基于改進(jìn)Rossler 方程的加解密系統(tǒng),結(jié)合兩端對(duì)稱加密密鑰序列,設(shè)計(jì)改進(jìn)Rossler混沌系統(tǒng)。與不對(duì)稱加密技術(shù)相結(jié)合,可以有效地解決密碼系統(tǒng)所需的大量空間。通過(guò)模擬計(jì)算,得出了不同狀態(tài)下混沌系統(tǒng)的密碼性能,并得到了加密后的通信數(shù)據(jù);文獻(xiàn)[2]提出融合量子密鑰加密系統(tǒng),采用一次一密的量子密鑰對(duì)局域網(wǎng)中的保密文件進(jìn)行加密,可防止文件丟失。無(wú)線網(wǎng)絡(luò)通信過(guò)程中的冗余數(shù)據(jù)很多,對(duì)冗余數(shù)據(jù)的處理是一個(gè)非常關(guān)鍵的過(guò)程,而這兩種方法都不能很好地解決該問(wèn)題。為此,提出了基于數(shù)據(jù)聚類的無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù)加密系統(tǒng)設(shè)計(jì)。其目標(biāo)是聚類處理大量無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù),并據(jù)此對(duì)各種數(shù)據(jù)的實(shí)際狀況進(jìn)行加密處理,由此獲取安全通信密文。
設(shè)計(jì)了一個(gè)基于數(shù)據(jù)聚類的無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù)加密系統(tǒng),該系統(tǒng)采用STM32 控制器,通過(guò)無(wú)線網(wǎng)絡(luò)通信技術(shù)實(shí)現(xiàn)數(shù)據(jù)加密傳輸,該系統(tǒng)既能實(shí)現(xiàn)長(zhǎng)距離、短距離通信,又能確保數(shù)據(jù)安全,在圖1 中顯示了硬件配置。

圖1 硬件結(jié)構(gòu)
由圖1 可知,STM32 處理器主要負(fù)責(zé)數(shù)據(jù)的處理,確保數(shù)據(jù)的安全性,是系統(tǒng)的一個(gè)重要組成部分[3-4]。根據(jù)系統(tǒng)的需求,考慮到芯片的性能,選用了基于GPRS 的STM32 處理器,同時(shí)兼顧了功耗、高性能特點(diǎn)。為了實(shí)現(xiàn)網(wǎng)絡(luò)的互聯(lián),遠(yuǎn)程監(jiān)控中心必須對(duì)IP 地址進(jìn)行訪問(wèn)[5]。在短距離和長(zhǎng)距離通信過(guò)程中,充分發(fā)揮硬件模塊的優(yōu)勢(shì),這也是系統(tǒng)的一項(xiàng)創(chuàng)新[6]。
加密控制子系統(tǒng)采用了數(shù)據(jù)聚類技術(shù),能有效地提高系統(tǒng)加密速度和強(qiáng)度。在密碼控制中,由于密鑰的不易傳遞,使得數(shù)據(jù)安全和快速傳輸成為可能。該系統(tǒng)采用了一個(gè)鎖盒和一個(gè)門(mén)禁模塊來(lái)完成對(duì)密碼的控制,它的實(shí)施過(guò)程主要包括并行化處理和信息存儲(chǔ)任務(wù)的控制[7-9]。數(shù)據(jù)處理節(jié)點(diǎn)的并行組件包括開(kāi)始、結(jié)束、播放和再排列,每個(gè)數(shù)據(jù)集都有一個(gè)隨機(jī)生成的密鑰。根據(jù)鎖盒基本原理,所有的文件塊密鑰都被保存在對(duì)應(yīng)的密碼箱中,只有有權(quán)限的用戶才能使用[10]。每個(gè)文件塊的密鑰只有一個(gè)版本號(hào),它確保了用戶的權(quán)限變更,并且組成了順序信息的組件節(jié)點(diǎn),完成了數(shù)據(jù)處理組件的裝載。而信息處理的任務(wù)是啟動(dòng)、停止、清除信息,并將信息保存到數(shù)據(jù)庫(kù)中。
密鑰管理子系統(tǒng)以靜態(tài)方式向客戶機(jī)分配網(wǎng)絡(luò)協(xié)議密鑰,并將其儲(chǔ)存于客戶機(jī)磁碟或無(wú)線網(wǎng)卡存儲(chǔ)器中[11]。在客戶端被破壞或被攻擊的情況下,異常用戶可以很容易地進(jìn)入網(wǎng)絡(luò),而不能及時(shí)地察覺(jué)到其對(duì)網(wǎng)絡(luò)的破壞[12-13]。一旦用戶的密鑰丟失,系統(tǒng)管理員必須對(duì)其進(jìn)行再分配,這會(huì)對(duì)整個(gè)系統(tǒng)的部署產(chǎn)生很大的影響。
密鑰管理子系統(tǒng)以STM32 為核心,設(shè)計(jì)了一種步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)電路,如圖2 所示。

圖2 基于STM32芯片步進(jìn)電機(jī)驅(qū)動(dòng)電路
由圖2 可知,STM32 芯片通過(guò)驅(qū)動(dòng)電路直接插入到插座內(nèi)。密鑰管理子系統(tǒng)在步進(jìn)電機(jī)驅(qū)動(dòng)下的工作原理:當(dāng)步進(jìn)電動(dòng)機(jī)正向旋轉(zhuǎn)時(shí),按照10、11、12、13 接口順序分別給1 端口脈沖值。當(dāng)步進(jìn)電動(dòng)機(jī)反向旋轉(zhuǎn)時(shí),按照13、12、11、10 接口順序分別給1端口脈沖值。該電路能消除存儲(chǔ)于只讀內(nèi)存中的干擾網(wǎng)卡地址,并能實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)信息的加密傳輸[14]。
結(jié)合改進(jìn)K-means 算法聚類無(wú)線通信數(shù)據(jù),詳細(xì)步驟如下所示:
步驟1:對(duì)無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行規(guī)范化處理,再由人工選定初始分類數(shù)[15];
步驟2:根據(jù)初始分類數(shù)確定元素距離矩陣,由此確定初始聚類中心;
步驟3:確定一個(gè)元素,通過(guò)計(jì)算元素與各個(gè)初始聚類中心距離,可得到元素對(duì)應(yīng)分組;
步驟4:更新分組的聚類中心,獲取實(shí)際聚類中心;
步驟5:判斷初始分類數(shù)是否滿足最優(yōu)分類值,以各個(gè)聚類中心之間距離為依據(jù),公式為:
式中,o1、o2為實(shí)際聚類中心的類間距離;m表示聚類個(gè)數(shù);n表示聚類項(xiàng)。
步驟6:實(shí)時(shí)調(diào)整聚類效果,以提升分類合理性,為通信數(shù)據(jù)加密處理提供數(shù)據(jù)支持。
對(duì)于聚類后的通信數(shù)據(jù),使用三重加密法對(duì)其處理,使其形成密文[16]。設(shè)三個(gè)密鑰分別是q1、q2、q3,加解密過(guò)程可表示為:
式中,C、M分別表示密文和明文;Hq表示用密鑰q加密的數(shù)據(jù);Sq表示用密鑰q解密的數(shù)據(jù)。
在明文加密前需要與密文進(jìn)行異或運(yùn)算,公式為:
式中,R表示最終獲取的密文字節(jié)。檢查明文字節(jié)是否全部進(jìn)行了加密,如果全部加密,則進(jìn)行下一輪加密操作。
通信雙方通過(guò)加密處理后,建立會(huì)話階段,對(duì)大量無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù)加密,同時(shí)更新每次通信回合。更新機(jī)制不僅僅依賴于前一次的加密密鑰,還依賴于通信一方傳遞的密文以及MAC 地址。通過(guò)驗(yàn)證能夠保證通信回合的安全,隨著密鑰的實(shí)時(shí)更新,獲取通信過(guò)程中被攻擊者的偽造包。
為了防止密文和密鑰同時(shí)落入攻擊者手中,在對(duì)密文處理過(guò)程中,隨機(jī)選取被插入的數(shù)字節(jié)。待通信一方接收到數(shù)據(jù)包后,可以獲取相應(yīng)加密位置,由此完成通信數(shù)據(jù)加密處理。
當(dāng)無(wú)線網(wǎng)絡(luò)通信節(jié)點(diǎn)接收到加密處理后的通信數(shù)據(jù)后,進(jìn)行如下操作:
首先,檢查無(wú)線網(wǎng)絡(luò)的IDij是否合法,并檢查加密聚類通信報(bào)告來(lái)源的真實(shí)性。然后,檢查時(shí)間戳,假設(shè)無(wú)線網(wǎng)絡(luò)通信每隔10 min 上傳一次加密報(bào)告,檢查時(shí)間戳是否在有效時(shí)間內(nèi),抵御潛在的攻擊風(fēng)險(xiǎn)。各個(gè)階段處理過(guò)程如圖3 所示。

圖3 各個(gè)階段處理過(guò)程
如果無(wú)線網(wǎng)絡(luò)IDij和時(shí)間戳Tij均是有效的,那么需要進(jìn)一步檢驗(yàn)聚類密文簽名,公式為:
式中,Cij表示加密聚類通信密文;w表示無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù)量。所有滿足該公式的聚類密文簽名均是有效的,即聚類通信報(bào)告沒(méi)有被攻擊。
聚類所有無(wú)線網(wǎng)絡(luò)通信節(jié)點(diǎn)的數(shù)據(jù),得到隱私數(shù)據(jù)聚類密文,生成聚類密文簽名,將該簽名發(fā)送到無(wú)線網(wǎng)絡(luò)服務(wù)器上,由此生成加密聚類通信報(bào)告。
對(duì)于基于數(shù)據(jù)聚類的無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù)加密系統(tǒng)設(shè)計(jì)性能的檢驗(yàn),需要在Windows 7 平臺(tái)上進(jìn)行編譯、運(yùn)行和調(diào)試,并通過(guò)命令窗口顯示實(shí)驗(yàn)結(jié)果。
模擬一個(gè)無(wú)線網(wǎng)絡(luò)通信過(guò)程,如下所示:當(dāng)客戶端向服務(wù)器發(fā)出請(qǐng)求時(shí),該服務(wù)器將處理該請(qǐng)求,并將其結(jié)果反饋給客戶端。服務(wù)程序經(jīng)常在一個(gè)已知的地址上監(jiān)聽(tīng)客戶端的服務(wù)請(qǐng)求,在客戶端向服務(wù)地址發(fā)送連接請(qǐng)求之前,服務(wù)處理器總是處于睡眠狀態(tài)。此時(shí)“喚醒”服務(wù)能夠?qū)蛻粜枨笞鞒鲞m當(dāng)回應(yīng),該通信過(guò)程下所創(chuàng)建的程序如下所示:首先,在VC++6.0 中構(gòu)建了一個(gè)應(yīng)用程序框架,然后通過(guò)創(chuàng)建連接請(qǐng)求,生成一個(gè)界面,完成數(shù)據(jù)接收和傳輸,最終使用成員函數(shù)對(duì)象實(shí)現(xiàn)網(wǎng)絡(luò)通信。
每一行的IP 地址和端口都是根據(jù)無(wú)線網(wǎng)絡(luò)隨機(jī)分配的,由此選取的明文信息和密鑰內(nèi)容如下所示:
初始信息:需要申請(qǐng)審核通過(guò);
密鑰信息:0x01,0x02,0x21,0x22,0x31,0x32,0x41,0x42。
理想情況下的加密實(shí)現(xiàn)過(guò)程如下所示:
輸入隨機(jī)數(shù)種子:345;
解密后得到的信息:需要申請(qǐng)審核通過(guò)。
以上述通信內(nèi)容為研究環(huán)境,繼續(xù)進(jìn)行實(shí)驗(yàn)驗(yàn)證分析。
將文獻(xiàn)[1]基于改進(jìn)Rossler 方程的加解密系統(tǒng)、文獻(xiàn)[2]融合量子密鑰加密系統(tǒng)和基于數(shù)據(jù)聚類的加密系統(tǒng)移植到keiluVision5 上運(yùn)行,再通過(guò)ISP 程序下載相關(guān)文件到STM32 處理器上。STM32 處理器通過(guò)串口與計(jì)算機(jī)調(diào)試串口相連接,并通過(guò)計(jì)算機(jī)顯示器顯示實(shí)驗(yàn)結(jié)果。三種系統(tǒng)的加密結(jié)果如圖4所示。

圖4 三種系統(tǒng)加密結(jié)果分析
由圖4 可知,使用數(shù)據(jù)聚類加密系統(tǒng)能夠得到準(zhǔn)確加密信息,而使用其余兩種方法在圖中所標(biāo)注的虛線框均是出現(xiàn)異常情況的信息,導(dǎo)致最終加密信息不是原始信息。
為了進(jìn)一步驗(yàn)證系統(tǒng)設(shè)計(jì)的合理性,將其余兩種系統(tǒng)與該系統(tǒng)的加密時(shí)間戳進(jìn)行對(duì)比分析,結(jié)果如表1 所示。

表1 三種系統(tǒng)加密時(shí)間戳對(duì)比分析
由表1 可知,使用基于改進(jìn)Rossler 方程的加密系統(tǒng)與理想時(shí)間戳存在00:29:00 的誤差;使用基于融合量子密鑰加密的加密系統(tǒng)與理想時(shí)間戳存在00:21:00 的誤差;使用基于數(shù)據(jù)聚類的加密系統(tǒng)與理想時(shí)間戳存在00:01:00 的誤差。
通過(guò)上述分析結(jié)果可知,使用基于融合量子密鑰加密的加密系統(tǒng)與理想時(shí)間戳誤差最小,說(shuō)明使用該系統(tǒng)加密耗時(shí)較短。
設(shè)計(jì)的基于數(shù)據(jù)聚類的無(wú)線網(wǎng)絡(luò)通信數(shù)據(jù)加密系統(tǒng),在保證數(shù)據(jù)加密完整性基礎(chǔ)上,改進(jìn)密鑰管理和存取控制機(jī)制,通過(guò)對(duì)系統(tǒng)驗(yàn)證分析,證明了該系統(tǒng)在無(wú)線加密環(huán)境中具有較好的加密性能。在系統(tǒng)加密方面,通過(guò)數(shù)據(jù)聚類雖然能夠提升系統(tǒng)安全性,但是在運(yùn)行時(shí)間上略有增長(zhǎng),因而需要在以后的研究中對(duì)其進(jìn)行優(yōu)化。