基于FPGA的动态可重构技术的WSN安全系统设计

描述

1 引言

无线传感器网络(Wireless Sensor Network, WSN)是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。传感器、感知对象和观察者构成了无线传感器网络的三个要素。

针对无线传感器网络存在的上述安全问题,本系统在Xilinx的开发板上,首先利用无线模块组成一个无线传感器网络,并基于SPINS协议框架实现了网络内的密钥管理,在系统内部的安全模块内实现了RC5,MD5等算法,保证网络的通信安全;其次为了保证传感器网络中节点本身的安全可信,增加了防篡改检测电路,从硬件级保证节点的安全性和完整性;最后针对于WSN网络的拓扑结构易变的特点,利用基于FPGA的可重构计算技术,使得网络内的某些节点在需要时可以发生重构,代替失效的基站继续工作,从而保证整个网络安全可靠地运行。

整个系统以WSN中单个节点的安全可信为基础,并采用SPINS协议提高了密钥拓扑连通率,节点的可重构机制也大大增强了网络的安全性和健壮性,由点到面地实现了WSN网络的安全。

2 系统方案

2.1 WSN网络拓扑结构

本系统采用的网络结构(图1)为分布式单跳簇网络结构, 基站为单跳簇子网的中心,各个基站之间形成分布式网络。

FPGA

图1:WSN网络拓扑结构

2.2 WSN密钥管理协议

SPINS密钥管理协议是在无线传感器网络中应用广泛的一种密钥管理协议,适用于规模比较小的传感器网络。本系统基于SPINS协议的框架,实现了一个简单的密钥分发协议。

2.3 可重构体系结构

在以基站为中心的网络结构中,基站往往是整个网络的瓶颈,一旦基站失效则会导致其整个网络的瘫痪。本系统为了解决基站的瓶颈问题,提出了一种可重构机制,在子网内,一旦节点发现基站失效,则节点之间会通过争夺或是协商的方式来确定让哪个节点发生重构,以代替原来的基站继续维持网络的正常运转。整个过程如图2,3,4所示。

FPGA

图2:子网正常工作

FPGA

图3:基站失效

FPGA

图4:节点重构

2.4 可信平台体系结构

TCPA/TCG组织大大推动的了可信计算平台的发展,本系统的安全模块在设计时从下面两个角度考虑可信性:

⑴ 能够保护指定数据存储区域,防止敌手进行特定类型的物理访问。

⑵ 赋予计算平台上的程序证明自身运行在一个未被篡改的环境中的能力。

3 系统功能

3.1 实现基于SPINS框架的密钥管理协议

本系统用硬件实现了RC5加密算法,MD5算法和随机数产生器,实现了基于SPINS框架的密钥管理协议,保证WSN网络中密钥的安全分发和节点之间的安全通信。

3.2 实现网络中节点的重构功能

以基站为中心的单跳簇网络中,基站是子网安全的瓶颈,一旦基站失效则会导致子网瘫痪。为了保证网络的稳定性和健壮性,本系统实现了节点的可重构机制,当子网基站失效后,某些节点会发生重构,代替原来的基站以保证网络稳定运行。

3.3 增强WSN网络内节点的抗篡改能力

传感器节点大都布置在非受控区域(如布置在敌方控制区域内等),一旦节点被捕获后,内部存储的数据尤其是通信密钥泄露出去的话,会威胁整个网络的安全。本系统在保证通信安全的基础上增加了防篡改检测电路,一旦检测到敌方欲窃取里面存储的密钥等重要信息时,则立即将数据清零,从而增强了网络的安全。

4 系统原理与实现

4.1 WSN网络的原理与实现

本系统采用的通信协议如图5所示,DDL层以下采用IEEE802.15.4协议,网络层以上根据系统自定义通信协议。

FPGA

图5 WSN网络通信协议

系统网络层协议的实现是基于XILINX公司的8位CPU软核PicoBlaze,用汇编语言编写模块控制部分,帧协议的分析用硬件实现。

4.2 网络节点的原理与实现

系统的总体设计如图6所示。系统主要由4部分构成:中心控制器,数据传输控制器,安全模块(TPM), 外围模块。

FPGA

图6 网络节点的总体设计图

4.3 中心控制器

4.3.1 中心控制器总体结构

中心控制器是整个系统的控制中心,接受无线收发模块,数据采集模块,TPM模块和数据传输控制器的命令,并根据命令的内容控制各个模块之间的协调工作。

FPGA

图7 中心控制器框图

4.3.2 中心控制器具体实现

传感器节点在不同时刻扮演不同的角色,如系统初始化过程中传感器节点需要等待四个密钥的输入,在基站工作模式下需要分发密钥协议相关包,在终端节点工作模式下需要接受密钥协议包和采集数据并且发送给基站,因此中心控制器根据节点的工作状态选择信号,重构为不同的工作模式。中心控制器的工作模式有:初始化工作模式,基站工作模式和终端节点工作模式。

4.4 TPM模块

4.4.1 TPM模块总体设计

TPM模块总体设计图如图8:主要包含模式选择控制器,RC5加密模块,MD5模块,比较器模块,随机数产生器模块,篡改响应模块,密钥存储区。

FPGA

图8 TPM结构图

4.4.2 模式选择控制器

模式选择控制器根据中心控制器的模式选择命令,配置TPM成相应的工作模式后进入正常工作状态。

4.4.3 RC5加密模块

本系统用硬件实现了RC5-16/1/4,该模块的为了提高加解密速率采用了流水线的设计方法,如图9所示,首先输入32位密钥,22个周期之后扩展密钥计算完成,输入32位的明文,经过运算得到32位的密文。

FPGA

图9 RC5加密模块

4.4.4 MD5模块

MD5模块(图10)主要由三部分构成:数据读入模块,数据读出模块和数据处理模块。

FPGA

图10 MD5模块

4.5 外围模块

外围硬件电路的设计使用了三个Xilinx提供的Picoblaze核,系统总体结构图如图11所示。

FPGA

图11 外围电路设计图

5 测试方案

5.1 密钥管理协议测试方案

为了验证系统的密钥管理协议中在测试密钥管理协议时,我们从以下几个方面验证:

a) 四个密钥和ID基的注入正确

四个密钥和ID基是后面密钥协议相关包运算的原始数据,故如果可证明后面的结果正确则可得证前面的结果正确

b) 验证K子的正确性

因为初始包的数据是经过K子加密后的结果,为了验证 K子的正确性,我们查看下一步的初始包的数据正确与否即可得知。

c) 验证初始包的正确性

为了验证初始包的正确性,在电脑上接上一个无线收发模块,用来接受节点和基站发送出来的消息。然后用已知的KT0和K0来算出相应的初始包的内容,和接受到的数据进行比对即可得知初始包的内容正确与否。

d) 验证TESLA 密钥包的正确性

接受到两次的TESLA包,算出Ki,然后用算出相应的TESLA 密钥包,和接受到的密钥包进行比对,即可知道密钥包分发正确与否。

e) 验证通信密钥Ki正确更新

为了验证通信密钥的正确更新,可以在不同时段使终端节点发送相同的数据,如果接受到的数据不同则说明密钥发生了更新,为了验证密钥的正确更新则算出两个时段发送的数据的正确内容,和接受到的内容进行比较即可知道通信密钥是否正常更新。

5.2 可重构功能的测试方案

为了测试可重构功能,可以将原来网络中的基站关闭,等待一段时间之后看网络内是否有节点重构为基站,重构为基站后正常工作的验证办法同密钥管理协议的测试方案。

5.3 可信平台的测试方案

当发现敌手入侵时,clear信号为高,所有密钥清零,为了验证其正确性,以后发送的密钥协议相关包用到的各种密钥均为零,将计算结果和接受到的数据进行比对即可知道其正确与否

6 结束语

本系统创新性的将可信平台理论和可重构机制引入WSN系统安全中,依托WSN通信协议和SPINS网络密钥管理协议,实现一种从点到面,点面结合的安全机制。系统方案不强调加解密算法的复杂性,着重于方案的灵活性,健壮性。

展望未来技术的发展,基于FPGA的动态可重构技术以及可重构密码芯片理论,本系统还可以实现加解密算法的动态调整,工作模式的切换更加快捷,以适合不同情景下的安全需求。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分