孔德彭,陳安妮,周一飛*,李久勝,2
(1.浙江工業大學技術與教育發展研究中心,杭州 310023;2.杭州南江物聯網科技有限公司,杭州 310023)
基于FPGA技術的WSN節點混沌保密通信設計*
孔德彭1,陳安妮1,周一飛1*,李久勝1,2
(1.浙江工業大學技術與教育發展研究中心,杭州 310023;2.杭州南江物聯網科技有限公司,杭州 310023)
提高無線傳感器網絡節點的安全性能,可以促進物聯網系統工程的快速推廣和全面的應用。因混沌序列對初始條件比較敏感,較適合保密通信,WSN節點設計時,利用現場可編程邏輯門陣列FPGA(Field Programmable Gate Array)資源豐富、處理速度快的優勢,對Hybrid混沌系統加密/解密模塊進行設計,也可以封裝成獨立的IP核,在實現信息采集、傳輸時,通過片內總線進行調用,方便地實現信息的加/解密防護。文中先對算法原理進行分析,再通過圖片保密的例子進行驗證,該方法易于硬件設計實現,保密強度高,擺脫了軟件復雜算法束縛,消耗資源少,功耗低,方案可行。
無線傳感器網絡;保密通信;混沌序列;FPGA重構技術
物聯網掀起了信息產業的第3次浪潮,促使信息交互從人與人延伸到人與物、物與物之間,而無線傳感器網絡WSN(Wireless Sensor Network)應用在短距離通信中有其獨特優勢,因為其通過微型傳感器節點綜合了分布式信息處理、無線通訊、嵌入式和傳感器技術,是一種節點可變、無統一地址、迅速自配置、高密度構建和多跳的網絡系統,不但方便實現狀態監控、信息感知和數據采集,而且具有按需配置、對信息進行有效的加工和處理能力;故已在國防、能源、生態、交通和農業領域中得以廣泛的應用,特別是在條件惡劣、距離偏遠、范圍半徑較大的環境情況下應用更具有獨特的優勢[1]。
1.1 WSN節點組成
世界各國政府都非常關注和支持WSN關鍵技術研究[2],但制約無線傳感器網絡規模化應用的瓶頸仍然是節點的功耗、成本和信息采集與傳輸的安全問題[3]。無線傳感器網絡節點是無線傳感器網絡的主要組成部分,傳感器節點由電源管理模塊、采集模塊、處理器模塊和傳輸模塊組成,其中,傳感器的信息采集和數據轉換由數據采集模塊負責完成[4];電源管理模塊進行實時控制和邏輯選擇,而任務管理、功耗分配、路由協議、同步定位和數據處理是由數據處理模塊進行實現;數據傳輸模塊實現數據交換和收發和通信如圖1所示。

圖1 WSN節點的硬件系統示意圖
1.2 WSN節點發展歷史
WSN節點的硬件須具有低功耗、無線傳輸和多跳路由器協議[5]功能,才能滿足每個節點即擔任終端節點又承擔路由器節點的功能,適合組建移動并和多跳的網絡,工作時間長且持久。當然全面認識節點,還需要從節點硬件設計層面進行剖析。早期的節點采用單片機處理器技術[6],采用了IEEE802. 15.4協議組成的硬件產品,如美國專項基金資助開發制造Mote、Wec、Mica、Mica2和Mica2Dot等系列,采用 TinyOS操作系統,融入了 ZigBee無線電信道[7];再如微小傳感器的通用網絡(GNOMES)和EYES小組開發節點,都采用了德州儀器(TI)的MSP430F149單片機,采用藍牙模塊,程序與數據利用專用的芯片進行存儲[8];而國內具有代表性是中科研院研發的Gain節點,其具有自主微處理器,兼容AVR指令集,改進后的GainSJ節點集成了處理器和無線射頻模塊,支持ZigBee協議。總的來說,節點設計趨向高度的集成化,除了集成處理器之外(如集成了單片機或DSP技術),,同時還集成了便捷式的傳感器和無線收發模塊(如2.4 GHz)。
近年來,隨著現場可編程門控陣列 FPGA (Field-Programmable Gate Array)的技術發展,為WSN節點設計帶來了前所未有的便利,因其可以現場定義數據、反復改寫,易于實現軟硬件協同測試與系統重構,促進了節點設計技術水平的提高和功能的進一步完善[9]。相比較單片機和DSP處理器而言,FPGA單個器件中集成了軟件無線電(SDR)信號處理器,可以滿足傳感器網絡基站、節點數字IF和基帶功能(如Altera公司的32位NiosⅡ軟核處理器),具有低功耗(靜態功耗低于0.5 W)、高密度和充足的DSP功能[10]。故以軟處理器為核心,定制并靈活編寫相應程序和硬件邏輯,實現WSN節點現場數據的采集、存儲及傳輸等功能,同時可以將節點功能控制邏輯的接口電路都集成在一片FPGA上,通過軟件對資源和功能進行分配、設計和修改,極大地縮短無線采集節點設備的研制周期[11]。
2.1 混沌算法實現
WSN的安全性的實現與一般的網絡不相同,其受多能耗、存儲能力、運行速度、計算能力、通信可靠度、節點安全、布置的隨機性、需求隨機性等方面制約,近年來,學術界和技術領域針對降低能耗、提高處理速度和提高安全機制方面進行積極的探索。但相對于硬件平臺、網絡技術和通信協議方而言,安全方面研究尚處于起步階段,傳統的加密算法不適合WSN節點系統,尤其是受到電源供應、通信帶寬、節點存儲容量和CPU處理能力的限制,復雜度較高的軟件算法應用在WSN中將大大消耗了系統電能,縮短其生命周期。
混沌系統對初始條件和參數的變化極端敏感,加密強度高、實現結構簡單,易于硬件加解密算法。在通信系統中,利用混沌最多的加解密混沌序列模型是在Tent和Logistic基礎上提出模型。其中,Tent映射又稱為帳篷映射,其表達式為[12]

Logistic基本的數學模型[11]為

該方程是一種經典的混沌模型,改進后的模型[13]為

混沌的可用性取決于混沌序列的復雜性,如帳篷(Tent)和有限的復雜性Logistic映射產生的混沌序列,安全性不太高,為了解決此難題,羅啟彬[14]創新設計了一個兩者融合的混沌序列映射——Hybrid方程。

Hybrid既有Logistic和Tent方程的易于產生混沌序列特點,也有隨機性高、對初始條件敏感的特點,不但操作簡單,也易于增加混沌系統的安全可靠性。參數值x0=0.82,u1=1.8,u2=2.0,b=0.85時,方程處于混沌狀態,此時產生的隨機無規則分布圖如圖2所示。

圖2 Hybrid混沌序列迭代分布情況
針對混沌序列的算法,FPGA需要采用浮點運算才可以實現混沌迭代,但是浮點運算的速度慢,內存容量需求比較大,消耗的資源也比較多,應用在WSN節點中,未能起到優化生命周期的作用。為此我們利用等效映射的方法,把混沌序列的浮點迭代過程轉換成整點的迭代過程。如以一個字(8位)為單位對數據進行加密,讓參數b擴大100倍,即從0.85擴大100倍得到85,同時令

為了能夠實現以上的設計目的,我們生成進行一些原始數據的設計,先設計一個16位的計數器,用計算器得到的數據作為原始數據和16位混沌信號進行異或計算,進而得到加密后的數據。在解密的過程中,我們將在同樣條件下產生一樣的混沌信號,再與加密數據進行異或計算,得到了還原的數據,即明文[15],設計時會出現周期性問題,我們可以采用其他的一些措施進行改進[16],具體實現流程如圖3所示。

圖3 基于Hybrid加解密實現流程圖

圖4 基于SOPC的加密模塊的頂層文件圖
利用FPGA進行頂層設計,其中圖4是SOPC設計的頂層文件原理圖。Fr_Div_File是分頻文件,將FPGA 內的高頻時鐘信號降下來。reviewerEncrypt_Module模塊主要是生成原始數據、混沌信號,然后完成加密過程。其中original_data是原始數據,Chaos_sign_data是混沌信號,encrypt_data是加密信號輸出。FPGA資源豐富、實現靈活,該模塊不但可以融入WSN節點整體設計,也可以與其他組件形式一樣的打包生成IP核處理單元,作為Avalon總線環境下的SOPC組件來使用。本文是通過把加解密模塊結合Avalon總線接口設計將乘法單元封裝為支持總線結構的IP核,構成可編程單芯片上系統(SOPC),進行系統設計。
2.2 節點加/解密的實現原理
加/解IP核由加/解密邏輯部分和Avalon總線接口兩部分組成,其中加/解密邏輯部分與總線的選擇無關,也不包含輸入輸出寄存器與狀態控制邏輯。而Avalon總線接口部分則針對Avalon的總線傳輸規范設計了接口控制邏輯、加/解密單元的硬件控制邏輯以及輸入輸出移位寄存器組,并新增了相應的控制和狀態指令碼。WSN節點的整體綜合設計是利用EDA體系中的SOPC(可編程片上系統)技術[17],通過Avalon總線將WSN節點的信息采集模塊(以DAS Controller為例)、存儲器模塊(ON-Chip RAM)、無線通信模塊(nRf2401)、與NiosⅡ微處理器(CPU)模塊建立通信,然后利用同樣的方法調用加/解密模塊IP核,并自動獲知各個模塊的地址、數據和控制總線分配情況,利用VHDL或C語言進行內部編程和接口設計,并利用SOPC重構技術對各個硬件模塊進行調整和優化,這樣節約了資源、降低了開發難度和提高了性能指標,如圖5所示。

圖5 WSN節點的SOPC實現示意圖
3.1 WSN節點設計
本設計用VHDL語言對該設計單元進行了RTL級描述,并以Altera公司的EP2C35F67C6為目標芯片,在QuartusⅡ11.0平臺上進行綜合,布局,布線,利用ModelSim SE10.1a進行NiosⅡ的綜合仿真,最后結合NIOS IDE軟件環境在DE2實驗板上進行了下載驗證。設計中的SOPC實現方式由于使用NiosⅡ整合設計平臺,簡化了控制邏輯和驅動函數,該方式進一步簡化了設計,節約了硬件資源。在不改變原來算法安全性的前提下,根據硬件實現算法的特點和要求,在沒有增加硬件資源開銷的情況下完成了加/解密單元的設計,融合Avalon總線規范,把該模塊設計成標準的IP核,利用Modelsim Se10.1a完成了基于NiosⅡ核心的SOPC應用系統的綜合仿真,并在DE2實驗板上進行了測試驗證,該處理單元實現面積小、資源消耗低、安全性好;與該算法的軟件實現和傳統的EDA設計方式,本設計不占用額外的存儲單元、控制更簡單,速度更快,具有一定的實際意義和應用價值。
3.2 Modelsim仿真比較
所用的ModelSim仿真工具本身就提供一個測試基準。利用仿真技術,對每一層進行設計并逐步仿真驗證,設計的正確性可以得到驗證[18]。接下來我們通過例子進行設計并驗證。首先,建立加密模塊的VHDL文件;接著,利用VHDL Test Bench工具,將加密密鑰和待加密的明文序列定義為輸入文件,密文數據作為輸出文件;最后,調用ModelSim仿真工具,生成密文數據文件的同時得到波形圖。
圖6中給出了密文數據的波形輸出,其中加密密鑰設為{0,1,2,3,4,5,6,7}。從該波形圖上,我們可以發現密文輸出僅在明文輸出之后的一個時鐘周期得到,例如,在t=37.5 ns時刻,輸入明文OxF3 (11110011),經過一個時鐘的延時之后,即t=38 ns時刻,輸出相應的密文0x0D(00001100)。

圖6 目標內容加密、解密的動態過程仿真圖
3.3 一個圖像加密的例子
選用一副典型的灰度圖像進行驗收,體會加密/解密的效果情況。加解密的圖像以及原始圖像如圖7所示,其中左邊為原始圖像,中間為加密后的圖像,右邊為解密后的圖像,而密鑰為{0,1,2,3,4,5,6,7,8}。通過以上可以得出結論,利用SOPC重構技術與混沌序列進行加解密功能模型設計的策略是可行的。

圖7 加解密前后的圖形
3.4 性能分析
混沌序列信號由初始值、參數、系統綜合控制,嚴格遵循迭代規則,加密過程步驟簡單,可以減少出錯的幾率,增加穩定性;相比較傳統的信息加密相比,混沌信號復雜性和多元性為密鑰的生成和管理提供了極大的空間和方便。如DES分組密碼體制加解密資源損耗較少,但是因為密鑰長度限制(56位),安全性受限制;非對稱(公鑰)數據加密標準(RSA)的密鑰長度比DES大的多,由于長度過長而耗時過多,效率大大降低;高級加密標準(AES)替代了DES加密標準,加密等級大大提高,但其算法復雜度提高很多,增加了較大的計算量。混沌加密算法通過迭代和循環產生密鑰,中間變量較小,節約空間,產生的密鑰可以同時供加解密使用,軟件和硬件算法實現變得很簡單,減小了設計難度[19]。系統設計在QuartusⅡ11.0中可達到94.6 MHz運行速度,每16時鐘周期得到一個256 bit的加/解密結果,折合運算速率為789.8 Mbit/s,比較原來的硬件實現及軟件加密方式有所改進,硬件資源消耗及運算速度上均有一定優勢。并進行統計了該案例的算法的實現過程,所消耗的內部邏輯資源以及所耗時間的結果如表1所示。

表1 FPGA芯片的資源消耗情況一覽表
利用FPGA進行WSN節點設計,一方面利用快速配置和重構技術,有利于科研的探索和新產品的設計,便于自主知識產權的形成。另一方面,利用FPGA混沌進行硬件加密,不但提高了安全性能,也節省了硬件資源提高了效率,有利于WSN節點的快速推廣使用。
[1] 焦耀晗,徐鵬,杜紅棉,等.基于FPGA和無線通信的炮口沖擊波測試系統設計與實現[J].傳感技術學報,2014,27(1):1585-1588.
[2] 劉漳輝,陳昆龍,郭文忠,等.多感知范圍無線傳感器網絡中一種分布式目標覆蓋算法[J].傳感技術學報,2014,27(8):1112-1119.
[3] 潘巨龍.無線傳感器網絡安全機制中若干問題研究[D].杭州:浙江大學,2011.
[4] 張國義,王卓,何春暉,等.基于FPGA的多模式DFATS無線采集節點的硬件平臺研究[J].計算機測量與控制,2012,20(1):243-249.
[5] 習琨.基于ZigBee的簡單無線傳感器網絡設計與實現[D].天津:南開大學,2008.
[6] 耿德根,宋建國,馬潮,等.AVR高速嵌入式單片機原理與應用[M].北京:北京航空航天大學出版社,2001.
[7] 張轉成.基于CC2431的無線傳感器網絡節點的研究[D].合肥:中國科學技術大學,2009.
[8] Antonio de la Piedra.Secure Event Logging in Sensor Networks[J]. Computers and Mathematics with Applications,2013(65):762-773.
[9] 劉晉明.基于神經網絡混沌吸引子公鑰加密算法的FPGA實現[J].廈門大學學報:自然科學版,2010,49(2):171-174.
[10]朱政堅,譚慶平,朱培棟.無線傳感器網絡安全研究綜述[J].計算機工程與科學,2008,30(4):101-105.
[11]徐興,王衛星,岳學軍.基于FPGA的可重構無線傳感器網絡節點設計[J].科學技術與工程,2010,10(6):4005-4008.
[12]劉建東.擴展整數帳篷映射與動態散列函數[J].通信學報,2010(5):51-59.
[13]張波,王光義,韓春艷,等.基于Logistic映射PN序列的FPGA實現[J].現代電子技術,2009,294(7):11-14.
[14] 羅啟彬.基于混沌理論的偽隨機序列的產生及性能分析[M]//楊義先.第十屆全國青年通信學術會議.北京:北京郵電大學出版社,2005.
[15]王重英.基于Logistic的混沌加/解密圖像算法研究[J].現代電子技術,2009,18(5):123-127.
[16]石蘭潔,高詩簡,黃曦,等.基于FPGA的Logistic方程混沌信號加密實現[J].電路與系統,2013,2,39-44.
[17]李佳.基于FPGA的Twofish加/解密芯片設計[J].計算機工程,2009,35(9):169-173.
[18]Cai Ken.A SOPC-BASED Evaluation of AES for 2.4 GHz Wireless Network[J].Physics Procedia,2012(33):1481-1488.
[19]Xia F.Fine-Grained Parallel RNA Secondary Structure Prediction UsingSCFGs on FPGA[J].Chinese Journal of Computers,2010,3(5):797-812.

孔德彭(1976-),男,河南唐河人,研究生,博士,浙江工業大學教師,副教授,主要研究方向為無線傳感器信號處理,siweikon@126.com;

周一飛(1963-),男,杭州人,研究生,碩士,浙江工業大學教師,副教授,碩導,主要研究方向電路集成設計與分析,zyf@zjut.edu.cn。

陳安妮(1993-),女,杭州人,研究生,在校生,研究方向傳感器技術研究、混沌加密研究,annichen@126.com;
The Design of Chaotic Secure Communication for Wireless Sensor Network Based on FPGA Technology*
KONG Depeng1,CHEN Anni1,ZHOU Yifei1*,LI Jiusheng1,2
(1.The Center of Technology and Education Development Research,Zhejiang University of Technology,Hangzhou 310023,China;2.Hangzhou Nanjiang Internet of things Technology Co.,Ltd.,Hangzhou 310023,China)
Improved the safety grade of the wireless sensor network node system,could boost the project of the internet of things overall application and rapid promotion.The sequence change of chaotic system was sensitive to initial conditions,so it was more suitable for secure communication case.When the WSN node designed,the use of fieldprogrammable gate array(FPGA)had some advantage of rich in resources and processing speed for the design of Hybrid chaotic system encryption or decryption module,it could be packaged into a separate IP core,called by the on-chip bus to facilitate the realization of information encryption/decryption protection in the information collection or transmission modules.This paper first analyzed the principle of the secure communication algorithm,and then verified it by pictures confidential example,it proved that the method was easy to design and implementation hardware structure,and had high strength confidential.It get rid of the shackles of the software complex algorithms,which consumed fewer resources,had low power consumption,so this scheme was feasible.
wireless sensor network(WSN);secure communication;chaotic sequence;FPGA reconfigure technology EEACC:7230
TP393
A
1004-1699(2015)04-0557-06
10.3969/j.issn.1004-1699.2015.04.018
項目來源:教育部人文社科項目(13YJAZH043,14YJCZH067);浙江省教科規劃項目(2014SCG040)
2014-10-09 修改日期:2015-01-11