廣西師范大學(xué) 黃競輝 黃一平
信息時代的到來,使各種數(shù)據(jù)的傳輸越來越頻繁,這在提高社會信息化的同時,也給數(shù)據(jù)的安全帶來了巨大的隱患。目前無線通信傳輸技術(shù)被廣泛應(yīng)用,但無線網(wǎng)絡(luò)的開放性注定了其比較容易受到攔截與入侵。為了提高無線通信系統(tǒng)的安全性,許多學(xué)者進(jìn)行了大量的研究。在嵌入式技術(shù)的發(fā)展下,基于ARM的數(shù)據(jù)加密算法實(shí)現(xiàn)受到了廣泛關(guān)注。文獻(xiàn)[1]在ARM7智能卡上通過STK功能實(shí)現(xiàn)了動態(tài)口令的驗證,提高了口令的安全性;文獻(xiàn)[2-3]設(shè)計了一種基于ARM平臺的COS技術(shù)體系,提高了STK的可擴(kuò)展性和兼容性;文獻(xiàn)[4]針對黑客對程序代碼的入侵問題,對程序代碼安全性進(jìn)行了研究,保證了ARM代碼安全。此外,還有許多文獻(xiàn)也進(jìn)行了相關(guān)的研究。
為了保護(hù)國家安全,提高自主研發(fā)的保護(hù)力度,國家提出了商用密碼的戰(zhàn)略。根據(jù)相關(guān)規(guī)定,我國現(xiàn)有的規(guī)定密碼包括SM1分組密碼算法、SM4 分組密碼算法、祖沖之密碼、SM9 是公鑰密碼算法等等,這些密碼均在各領(lǐng)域有著廣泛的應(yīng)用。其中SM4是最早被提出,也是目前使用較為廣泛的標(biāo)準(zhǔn)加密算法之一,它屬于一種高級的對稱分組加密算法。SM4 采用傳統(tǒng)的Feistel 結(jié)構(gòu)類型,以128比特為其中數(shù)據(jù)容量,進(jìn)一步可分為四個32bit字,通過32 位非線性迭代結(jié)構(gòu)完成數(shù)據(jù)的加密。從數(shù)學(xué)的角度上看,SM4只需要采用最基本的異或、循環(huán)轉(zhuǎn)換和S 盒等運(yùn)算即可完成加密。
大量實(shí)踐證明,SM4具有較強(qiáng)的安全性,可以在眾多商用領(lǐng)域進(jìn)行推廣應(yīng)用。一般來說,密碼安全評估的指標(biāo)有計算的、可證明的以及無條件的三種安全性能。簡單來說,如果破譯該種加密算法所需要的時間越長,說明該算法安全性越高,這就是計算的安全性的由來;可證明性的安全與該算法相關(guān)的數(shù)學(xué)推算難度有關(guān),如果長時間仍無法找出其對應(yīng)的解,則可以證明該算法是安全的;無條件的安全性是密碼安全性的最高評判標(biāo)準(zhǔn),它假設(shè)破譯者擁有破解該密碼的任意條件,如果在一切條件齊全的情況下仍無法破譯,才能證明該加密算法是無條件安全的。
SM4加密算法雖然具有較好的安全性,但也仍然無法證明是絕對安全的,因此許多業(yè)內(nèi)人士一直在探索SM4的破譯方法。在SM4加密算法被破解之前,可對其進(jìn)行提升,充分利用參數(shù)的隨機(jī)性和動態(tài)性來增加密碼的復(fù)雜度,最在程度地破壞密碼密文的統(tǒng)計學(xué)特征。
本文設(shè)計了一個基于嵌入式技術(shù)的安全通信系統(tǒng),重點(diǎn)關(guān)數(shù)據(jù)傳輸?shù)陌踩?,對性能不做過于苛刻的要求。系統(tǒng)控制核心采用STM32系列芯片,操作系統(tǒng)為μC/OS-Ⅱ,通信方式采用無線網(wǎng)絡(luò),數(shù)據(jù)傳輸過程中采用了加密算法保障數(shù)據(jù)安全。本系統(tǒng)不但可以滿足近距離和遠(yuǎn)程的通信,還可以滿足數(shù)據(jù)傳輸?shù)陌踩枨?。總體結(jié)構(gòu)如圖1所示。
圖1 總體方案設(shè)計圖
如圖1所示,STM32微處理器的任務(wù)是處理數(shù)據(jù),并保證數(shù)據(jù)的安全,是系統(tǒng)的核心模塊。綜合系統(tǒng)需求及芯片的各方面性能,本文選用了STM32F103RBT6芯片,以ALIENTEK MiniSTM32為系統(tǒng)開發(fā)平臺。GPRS模塊是無線通信網(wǎng)絡(luò)的核心,考慮到功耗低和高性能的需求,選用了SIM-900A芯片。遠(yuǎn)程控制中心必須事先取得一個隨機(jī)分配的IP地址,然后才能實(shí)現(xiàn)互連。短距離傳輸滿足了嵌入式設(shè)備之間的近距離相互通信,而無需采用GPRS模塊,節(jié)省了設(shè)計成本。充分利用硬件模塊實(shí)現(xiàn)近距離通信和遠(yuǎn)距離通信,是本系統(tǒng)設(shè)計的一個創(chuàng)新點(diǎn)。
通信系統(tǒng)軟件的主要功能是能數(shù)據(jù)進(jìn)行處理,并通過加密算法保證數(shù)據(jù)傳輸安全。信息的加密由嵌入系統(tǒng)微處理器完成,無線信息加密則由無線通信模塊完成,它們共同構(gòu)成了一個全方位數(shù)據(jù)安全的通信系統(tǒng)。軟件設(shè)計的基本任務(wù)包括發(fā)送設(shè)備、接收設(shè)備及上位機(jī)等設(shè)備的軟件開發(fā)。
發(fā)送終端負(fù)責(zé)數(shù)據(jù)的加密和發(fā)送,信息離開發(fā)送終端設(shè)備之后必須處于安全加密狀態(tài),保證途中不能被截獲與識別,安全傳輸?shù)浇邮赵O(shè)備。系統(tǒng)上電啟動后將自動運(yùn)行初始化程序,完成硬件各單元的復(fù)位,以及操作系統(tǒng)的初始化,對其進(jìn)行事件優(yōu)先級的定義。初始化后的系統(tǒng)可以使nRF24L01模塊工作在發(fā)送模式,GPRS進(jìn)入通信監(jiān)聽狀態(tài)。發(fā)送端軟件主程序如圖2所示。
圖2 發(fā)送終端軟件流程圖
圖2 中所示的各個任務(wù)在程序中都表現(xiàn)為一個具體的任務(wù),各個任務(wù)之間不是相互獨(dú)立的,而是相互影響的。首先,主函數(shù)主動調(diào)用任務(wù)調(diào)度函數(shù),并根據(jù)初始化時所確定的優(yōu)先進(jìn)行進(jìn)行排隊執(zhí)行。nRF24L01 模塊向周圍發(fā)出連接請求并與附近的相同模塊進(jìn)行組網(wǎng)。但數(shù)據(jù)傳輸?shù)娜蝿?wù)是是由GPRS主動發(fā)起的,因為它在建立通信前需要配置IP才能入網(wǎng)。一旦GPRS與接收設(shè)備成功建立通信,STM32主控單元將進(jìn)入監(jiān)聽狀態(tài),并向接收設(shè)備請求接收數(shù)據(jù)。一時接收終端響應(yīng)了接收請求,以方即可開始采用TCP/IP協(xié)議進(jìn)行密文的傳輸,數(shù)據(jù)包的加密是由STM32主控芯片完成的。
發(fā)送端需要使用的數(shù)據(jù)接口包括有:任務(wù)創(chuàng)建接口Task_Start(),數(shù)據(jù)加密任務(wù)接口OSTask_Create(),遠(yuǎn)距離傳輸任務(wù)接口OSTaskCreateExt()以及近距離傳輸任務(wù)接口OSTaskCreateExt()。
本系統(tǒng)的數(shù)據(jù)加密由STM32微處理器完成,采用了提升的SM4算法,數(shù)據(jù)在加密前需要進(jìn)行分組,然后通過事先設(shè)置好的密鑰開始運(yùn)行加密算法。加密過程不是隨時都可以進(jìn)行的,它需要與其它任務(wù)進(jìn)行配合,各自有著不同的執(zhí)行時序,本文通過信號量的方法對這個時序的配合進(jìn)行控制,提供信號量控制接口OSSemCreate(),當(dāng)加密任務(wù)取得信號量時,立即調(diào)用加密接口OSSemPend()對數(shù)據(jù)進(jìn)行加密,否則進(jìn)入等待狀態(tài)。
接收端的功能與發(fā)送端是對應(yīng)的,它可以看成是發(fā)送端的反過程。接收端需要完成的任務(wù)有數(shù)據(jù)接收、數(shù)據(jù)解密、數(shù)據(jù)存儲等等,實(shí)際上,各任務(wù)都是以獨(dú)立的子程序存儲在后臺中的,只是在不同的需要時對時行進(jìn)行不同優(yōu)先級的調(diào)用,以實(shí)現(xiàn)不同的功能。各子程度受主控單元協(xié)調(diào)控制,共享硬件資源,協(xié)調(diào)一致地進(jìn)行接收工作。
本系統(tǒng)著重討論了在無線通信系統(tǒng)中進(jìn)行數(shù)據(jù)加密,因此點(diǎn)對數(shù)據(jù)加密部分進(jìn)行了測試。結(jié)果表明,數(shù)據(jù)安全性能在嵌入式平臺與PC平臺均有著類似的水平。AES加密算法只需要極少的時間就可以完成加密任務(wù),而SM4則需要更多的時間,而提升的SM4算法則有更理想的綜合性能,肯具有更優(yōu)秀的算法混淆性,最大程度上保證了數(shù)據(jù)安全。
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)據(jù)傳輸?shù)陌踩匀找嫱伙@,無線網(wǎng)絡(luò)的開放性使其安全性受到重大威脅,為黑客提供了可乘之機(jī),隨著嵌入式技術(shù)的發(fā)展,通過嵌入式技術(shù)對無線通信網(wǎng)絡(luò)進(jìn)行加密已成為一種趨勢。在國密系列加密算法中,對稱加密算法被證明具有更好的加密性能,更適合于嵌入式系統(tǒng)的應(yīng)用。SM4作為我國自主研發(fā)的加密算法,一方面要不斷推廣應(yīng)用,另一方面也要不斷進(jìn)行提升,避免被破譯。本文對無線通信網(wǎng)絡(luò)進(jìn)行了數(shù)據(jù)加密算法的應(yīng)用,充分利用了嵌入式技術(shù)的優(yōu)勢,使得無線通信網(wǎng)絡(luò)的數(shù)據(jù)傳輸更加安全。