0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:郭婷 作者:电子设计 2018-12-06 08:48 次阅读

1 引言

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

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

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

2 系统方案

2.1 WSN网络拓扑结构

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

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

图1:WSN网络拓扑结构

2.2 WSN密钥管理协议

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

2.3 可重构体系结构

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

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

图2:子网正常工作

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

图3:基站失效

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

图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的动态可重构技术的WSN安全系统设计

图5 WSN网络通信协议

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

4.2 网络节点的原理与实现

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

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

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

4.3 中心控制器

4.3.1 中心控制器总体结构

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

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

图7 中心控制器框图

4.3.2 中心控制器具体实现

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

4.4 TPM模块

4.4.1 TPM模块总体设计

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

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

图8 TPM结构图

4.4.2 模式选择控制器

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

4.4.3 RC5加密模块

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

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

图9 RC5加密模块

4.4.4 MD5模块

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

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

图10 MD5模块

4.5 外围模块

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

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

图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的动态可重构技术以及可重构密码芯片理论,本系统还可以实现加解密算法的动态调整,工作模式的切换更加快捷,以适合不同情景下的安全需求。

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

    关注

    1625

    文章

    21664

    浏览量

    601731
  • 控制器
    +关注

    关注

    112

    文章

    16191

    浏览量

    177362
  • 无线传感器
    +关注

    关注

    15

    文章

    769

    浏览量

    98306
收藏 人收藏

    评论

    相关推荐

    FPGA重构设计的结构基础

      重构设计是指利用重用的软、硬件资源,根据不同的应用需求,灵活地改变自身体系结构的设计方法。FPGA器件可多次重复配置逻辑的特性使
    发表于 05-27 10:22

    基于FPGA重构系统结构分析

    系统运行过程中动态产生。重构系统可以边重构边工作。这种重构
    发表于 05-27 10:24

    基于xilinx ISE的动态重构

    大家好有谁对FPGA动态重构有研究吗?本人现在在搞这块寻人共同探讨。。。谢谢
    发表于 03-10 16:03

    基于PAD的接收机动态重构结构应用

    和ASIC电路高速性的解决方案。在笔者所从事的系统设计中,当模拟器件的一些性能改变但又不能及时更新调整后端的数字基带处理时,比如滤波器由于工作时间过长引起的温漂特性所带来的影响,此时就可以用可编程模拟器件替代一部分前端固定模拟器件,进而可以实时的对FPGA模块进行
    发表于 07-10 07:56

    如何采用FPGA部分动态重构方法设计信号解调系统

    FPGA强大的资源和实时处理能力来快速的实现信号的跟踪、锁定和解调但是,基于硬件的实现方案和基于软件的方案相比,往往存在不能迅速适应调制样式改变的问题。为了有效斛决这个问题,笔者通过基下FPGA部分动态
    发表于 09-05 07:08

    基于部分动态重构技术的信号解调系统该怎么设计?

    FPGA强大的资源和实时处理能力来快速的实现信号的跟踪、锁定和解调但是,基于硬件的实现方案和基于软件的方案相比,往往存在不能迅速适应调制样式改变的问题。为了有效斛决这个问题,笔者通过基下FPGA部分动态
    发表于 09-19 07:29

    重构体系结构分为哪几种?动态重构系统有哪些应用实例?

    重构体系结构分为哪几种?典型动态重构系统结构有哪几种?
    发表于 04-28 06:13

    怎么实现基于FPGA动态重构系统设计?

    本文提出的通过微处理器加FPGA结合串行菊花链实现重构的方式,实现了动态重构
    发表于 05-10 06:22

    分享一款不错的基于重构的可信SOPC平台的WSN安全系统

    分享一款不错的基于重构的可信SOPC平台的WSN安全系统
    发表于 06-07 06:30

    划分和时延驱动的动态重构FPGA在线布局算法

    可编程逻辑芯片特别是FPGA的快速发展,使得新的芯片能够根据具体应用动态地调整结构以获得更好的性能,这类芯片称为动态重构
    发表于 01-18 08:40 10次下载

    动态重构系统的通信结构分析

    动态重构系统的通信结构分析 动态重构
    发表于 03-29 15:12 1045次阅读
    <b class='flag-5'>动态</b><b class='flag-5'>可</b><b class='flag-5'>重构</b><b class='flag-5'>系统</b>的通信结构分析

    重构技术分析及动态重构系统设计

    基于SRAM的FPGA的问世标志着现代重构技术的开端,并极大地推动了其发展。可编程FPGA可以根据不同算法设计合理的硬件结构,以达到提高执
    发表于 11-25 10:20 1.3w次阅读
    <b class='flag-5'>可</b><b class='flag-5'>重构</b><b class='flag-5'>技术</b>分析及<b class='flag-5'>动态</b><b class='flag-5'>可</b><b class='flag-5'>重构</b><b class='flag-5'>系统</b>设计

    如何在FPGA动态局部重构中进行TBUF总线宏设计

    FPGA 动态局部重构技术通常将系统划分为固定模块和
    发表于 12-14 14:27 3次下载
    如何在<b class='flag-5'>FPGA</b><b class='flag-5'>动态</b>局部<b class='flag-5'>可</b><b class='flag-5'>重构</b>中进行TBUF总线宏设计

    FPGA动态重构技术是什么,局部动态重构的时序问题解决方案

    所谓FPGA动态重构技术,就是要对基于SRAM编程技术F
    的头像 发表于 07-05 15:41 3077次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>动态</b><b class='flag-5'>可</b><b class='flag-5'>重构</b><b class='flag-5'>技术</b>是什么,局部<b class='flag-5'>动态</b><b class='flag-5'>可</b><b class='flag-5'>重构</b>的时序问题解决方案

    关于FPGA重构技术分析

    FPGA上的重构技术根据FPGA芯片内部的不同结构可以分为两种,分别是动态
    发表于 11-03 20:09 907次阅读