基于FPGA技术的WSN节点混沌保密通信设计*

2015-11-18 04:54孔德彭陈安妮周一飞李久胜
传感技术学报 2015年4期
关键词:解密加密无线

孔德彭,陈安妮,周一飞*,李久胜,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 WSN节点系统的研究

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 利用FPGA进行节点设计

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 实验结果与验证

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芯片的资源消耗情况一览表

4 结束语

利用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

猜你喜欢
解密加密无线
一种新型离散忆阻混沌系统及其图像加密应用
炫词解密
《无线互联科技》征稿词(2021)
解密“一包三改”
炫词解密
一种基于熵的混沌加密小波变换水印算法
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
加密与解密