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

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

3天内不再提示

基于FPGA的可重构计算技术实现WSN网络安全

电子设计 来源:西安电子科技大学 作者:崔林涛,侯方,张 2021-06-22 14:55 次阅读

作者:崔林涛,侯方,张朕源,张卫东

1 引言

1.1 选题背景

WSN是由大量具有感知能力,计算能力和通信能力的微型计算机节点构成的自组织、分布式网络系统,在军事国防,环境监测等领域有着巨大的实用价值,被认为是将对二十一世纪产生巨大影响力的技术之一;但由于节点多分布在非受控区域,无线信道的广播特性和自组织网络的组网特性,使得网络的拓扑结构易变,传感器节点易受攻击,WSN网络中的安全问题也日益突出。

1.2 系统概述

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

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

2 系统方案

2.1 WSN网络拓扑结构

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

图1:WSN网络拓扑结构

2.2 WSN密钥管理协议

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

2.3 可重构体系结构

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

图2:子网正常工作

图3:基站失效

图4:节点重构

2.4 可信平台体系结构

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

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

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

3 系统功能

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

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

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

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

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

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

4 系统原理与实现

4.1 WSN网络的原理与实现

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

图5 WSN网络通信协议

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

4.2 网络节点的原理与实现

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

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

4.3 中心控制器

4.3.1 中心控制器总体结构

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

图7 中心控制器框图

4.3.2 中心控制器具体实现

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

4.4 TPM模块

4.4.1 TPM模块总体设计

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

图8 TPM结构图

4.4.2 模式选择控制器

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

4.4.3 RC5加密模块

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

图9 RC5加密模块

4.4.4 MD5模块

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

图10 MD5模块

4.5 外围模块

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

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

责任编辑:gt

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

    关注

    2550

    文章

    51035

    浏览量

    753078
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603002
  • 计算机
    +关注

    关注

    19

    文章

    7488

    浏览量

    87850
收藏 人收藏

    评论

    相关推荐

    【悬赏100块】如何实现FPGA重构计算(Android平台)

    LZ我是大四计算机的,没错,我在做毕设,而且几乎一筹莫展。题目是在Android平台上实现重构计算:简单说,就是
    发表于 05-20 20:03

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

    重构结构是一种可以根据具体运算情况重组自身资源,实现硬件结构自身优化、自我生成的计算技术。动态重构
    发表于 07-10 07:56

    采用FPGA实现重构计算应用

    重构计算技术概述随着20世纪80年代中期Xilinx公司推出其第一款现场可编程门阵列(FPGA)以来,另一种实现手段——
    发表于 07-29 06:26

    如何利用FPGA开发高性能网络安全处理平台?

    通过FPGA来构建一个低成本、高性能、开放架构的数据平面引擎可以为网络安全设备提供性能提高的动力。随着互联网技术的飞速发展,性能成为制约网络处理的一大瓶颈问题。
    发表于 08-12 08:13

    怎么设计PAD在接收机动态重构结构中的应用?

    重构结构是一种可以根据具体运算情况重组自身资源,实现硬件结构自身优化、自我生成的计算技术。动态重构
    发表于 08-13 07:56

    怎么实现基于FPGA重构智能仪器的设计?

    重构技术具有什么优点?怎么实现基于FPGA重构
    发表于 05-06 06:44

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

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

    重构计算技术在汽车电子领域面临哪些问题?

    重构计算技术在汽车电子领域的应用前景重构计算技术在汽车电子领域面临的问题
    发表于 05-12 06:40

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

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

    重构计算技术在汽车电子领域的应用探讨

    汽车电子产品是当前汽车工业发展的热点之一,具有很多特殊的应用需求。重构计算作为一项新兴的计算技术,其高效灵活的计算模式可以极大地满足汽车电
    发表于 01-02 11:24 10次下载

    重构计算技术在汽车电子领域的应用探讨

    汽车电子产品是当前汽车工业发展的热点之一,具有很多特殊的应用需求。重构计算作为一项新兴的计算技术,其高效灵活的计算模式可以极大地满足汽车电
    发表于 05-16 10:04 481次阅读
    <b class='flag-5'>可</b><b class='flag-5'>重构</b><b class='flag-5'>计算技术</b>在汽车电子领域的应用探讨

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

    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>系统设计

    计算技术应用逐渐广泛,那么云计算网络安全知识你们又知道多少?

    然而,许多企业主和管理人员都在怀疑所采用的云计算是否安全,能否免受网络攻击。就像其他任何类型的技术一样,云计算技术也是脆弱的。但是,其
    发表于 08-06 17:23 1130次阅读

    重构和自适应计算:理论与应用

    重构计算技术和自适应系统作为最有前途的微处理器体系结构之一引起了人们的极大兴趣。重构系统的起源,也被称为可编程逻辑器件或现场可编程门阵列
    发表于 03-28 09:40 5次下载

    关于FPGA重构技术分析

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