?

基于STM32的無線通信系統數據加密技術研究

2018-08-31 05:54廣西師范大學黃競輝黃一平
電子世界 2018年16期
關鍵詞:加密算法嵌入式密碼

廣西師范大學 黃競輝 黃一平

1 前言

信息時代的到來,使各種數據的傳輸越來越頻繁,這在提高社會信息化的同時,也給數據的安全帶來了巨大的隱患。目前無線通信傳輸技術被廣泛應用,但無線網絡的開放性注定了其比較容易受到攔截與入侵。為了提高無線通信系統的安全性,許多學者進行了大量的研究。在嵌入式技術的發展下,基于ARM的數據加密算法實現受到了廣泛關注。文獻[1]在ARM7智能卡上通過STK功能實現了動態口令的驗證,提高了口令的安全性;文獻[2-3]設計了一種基于ARM平臺的COS技術體系,提高了STK的可擴展性和兼容性;文獻[4]針對黑客對程序代碼的入侵問題,對程序代碼安全性進行了研究,保證了ARM代碼安全。此外,還有許多文獻也進行了相關的研究。

2 SM4算法原理

為了保護國家安全,提高自主研發的保護力度,國家提出了商用密碼的戰略。根據相關規定,我國現有的規定密碼包括SM1分組密碼算法、SM4 分組密碼算法、祖沖之密碼、SM9 是公鑰密碼算法等等,這些密碼均在各領域有著廣泛的應用。其中SM4是最早被提出,也是目前使用較為廣泛的標準加密算法之一,它屬于一種高級的對稱分組加密算法。SM4 采用傳統的Feistel 結構類型,以128比特為其中數據容量,進一步可分為四個32bit字,通過32 位非線性迭代結構完成數據的加密。從數學的角度上看,SM4只需要采用最基本的異或、循環轉換和S 盒等運算即可完成加密。

大量實踐證明,SM4具有較強的安全性,可以在眾多商用領域進行推廣應用。一般來說,密碼安全評估的指標有計算的、可證明的以及無條件的三種安全性能。簡單來說,如果破譯該種加密算法所需要的時間越長,說明該算法安全性越高,這就是計算的安全性的由來;可證明性的安全與該算法相關的數學推算難度有關,如果長時間仍無法找出其對應的解,則可以證明該算法是安全的;無條件的安全性是密碼安全性的最高評判標準,它假設破譯者擁有破解該密碼的任意條件,如果在一切條件齊全的情況下仍無法破譯,才能證明該加密算法是無條件安全的。

SM4加密算法雖然具有較好的安全性,但也仍然無法證明是絕對安全的,因此許多業內人士一直在探索SM4的破譯方法。在SM4加密算法被破解之前,可對其進行提升,充分利用參數的隨機性和動態性來增加密碼的復雜度,最在程度地破壞密碼密文的統計學特征。

3 硬件設計方案

本文設計了一個基于嵌入式技術的安全通信系統,重點關數據傳輸的安全性,對性能不做過于苛刻的要求。系統控制核心采用STM32系列芯片,操作系統為μC/OS-Ⅱ,通信方式采用無線網絡,數據傳輸過程中采用了加密算法保障數據安全。本系統不但可以滿足近距離和遠程的通信,還可以滿足數據傳輸的安全需求??傮w結構如圖1所示。

圖1 總體方案設計圖

如圖1所示,STM32微處理器的任務是處理數據,并保證數據的安全,是系統的核心模塊。綜合系統需求及芯片的各方面性能,本文選用了STM32F103RBT6芯片,以ALIENTEK MiniSTM32為系統開發平臺。GPRS模塊是無線通信網絡的核心,考慮到功耗低和高性能的需求,選用了SIM-900A芯片。遠程控制中心必須事先取得一個隨機分配的IP地址,然后才能實現互連。短距離傳輸滿足了嵌入式設備之間的近距離相互通信,而無需采用GPRS模塊,節省了設計成本。充分利用硬件模塊實現近距離通信和遠距離通信,是本系統設計的一個創新點。

4 軟件設計方案

通信系統軟件的主要功能是能數據進行處理,并通過加密算法保證數據傳輸安全。信息的加密由嵌入系統微處理器完成,無線信息加密則由無線通信模塊完成,它們共同構成了一個全方位數據安全的通信系統。軟件設計的基本任務包括發送設備、接收設備及上位機等設備的軟件開發。

4.1 發送端軟件設計

發送終端負責數據的加密和發送,信息離開發送終端設備之后必須處于安全加密狀態,保證途中不能被截獲與識別,安全傳輸到接收設備。系統上電啟動后將自動運行初始化程序,完成硬件各單元的復位,以及操作系統的初始化,對其進行事件優先級的定義。初始化后的系統可以使nRF24L01模塊工作在發送模式,GPRS進入通信監聽狀態。發送端軟件主程序如圖2所示。

圖2 發送終端軟件流程圖

圖2 中所示的各個任務在程序中都表現為一個具體的任務,各個任務之間不是相互獨立的,而是相互影響的。首先,主函數主動調用任務調度函數,并根據初始化時所確定的優先進行進行排隊執行。nRF24L01 模塊向周圍發出連接請求并與附近的相同模塊進行組網。但數據傳輸的任務是是由GPRS主動發起的,因為它在建立通信前需要配置IP才能入網。一旦GPRS與接收設備成功建立通信,STM32主控單元將進入監聽狀態,并向接收設備請求接收數據。一時接收終端響應了接收請求,以方即可開始采用TCP/IP協議進行密文的傳輸,數據包的加密是由STM32主控芯片完成的。

發送端需要使用的數據接口包括有:任務創建接口Task_Start(),數據加密任務接口OSTask_Create(),遠距離傳輸任務接口OSTaskCreateExt()以及近距離傳輸任務接口OSTaskCreateExt()。

4.2 數據加密算法設計

本系統的數據加密由STM32微處理器完成,采用了提升的SM4算法,數據在加密前需要進行分組,然后通過事先設置好的密鑰開始運行加密算法。加密過程不是隨時都可以進行的,它需要與其它任務進行配合,各自有著不同的執行時序,本文通過信號量的方法對這個時序的配合進行控制,提供信號量控制接口OSSemCreate(),當加密任務取得信號量時,立即調用加密接口OSSemPend()對數據進行加密,否則進入等待狀態。

4.3 接收端軟件設計

接收端的功能與發送端是對應的,它可以看成是發送端的反過程。接收端需要完成的任務有數據接收、數據解密、數據存儲等等,實際上,各任務都是以獨立的子程序存儲在后臺中的,只是在不同的需要時對時行進行不同優先級的調用,以實現不同的功能。各子程度受主控單元協調控制,共享硬件資源,協調一致地進行接收工作。

4.4 系統測試

本系統著重討論了在無線通信系統中進行數據加密,因此點對數據加密部分進行了測試。結果表明,數據安全性能在嵌入式平臺與PC平臺均有著類似的水平。AES加密算法只需要極少的時間就可以完成加密任務,而SM4則需要更多的時間,而提升的SM4算法則有更理想的綜合性能,肯具有更優秀的算法混淆性,最大程度上保證了數據安全。

5 結語

隨著信息技術和網絡技術的發展,數據傳輸的安全性日益突顯,無線網絡的開放性使其安全性受到重大威脅,為黑客提供了可乘之機,隨著嵌入式技術的發展,通過嵌入式技術對無線通信網絡進行加密已成為一種趨勢。在國密系列加密算法中,對稱加密算法被證明具有更好的加密性能,更適合于嵌入式系統的應用。SM4作為我國自主研發的加密算法,一方面要不斷推廣應用,另一方面也要不斷進行提升,避免被破譯。本文對無線通信網絡進行了數據加密算法的應用,充分利用了嵌入式技術的優勢,使得無線通信網絡的數據傳輸更加安全。

猜你喜歡
加密算法嵌入式密碼
密碼里的愛
密碼抗倭立奇功
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
密碼藏在何處
基于小波變換和混沌映射的圖像加密算法
奪命密碼
Hill加密算法的改進
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合