基于安全性的无线传感器网络时钟同步算法研究
   来源:现代电子技术     2021年01月30日 12:51

殷鹏

摘 要: 无线传感器网络存储能力不高,导致以往提出的无线传感器网络时钟同步算法的安全性能不高、同步误差较大,现提出基于安全性的无线传感器网络时钟同步算法。基于安全性的无线传感器网络时钟同步系统中的父节点构建无线传感器网络和子节点,子节点通过与父节点进行数据交互,平衡无线传感器网络时钟同步,CC2530芯片将父节点和子节点进行连接。无线传感器网络时钟同步的运算工作在仿真器中完成,传输接口将父节点和子节点的交互信息输出到仿真器,为运算工作提供数据仿真源。安全性调试接口对父节点构建网络结果和时钟同步运算结果进行实时展示。系统对同步安全算法和同步算法语言的设计,较为有效地实现了无线传感器网络时钟同步。经实验验证可知,所提算法同步误差小,安全性能高。

关键词: 数据交互; 无线传感器网络; 时钟同步; 数据仿真

中图分类号: TN711?34; TP212.9 文献标识码: A 文章编号: 1004?373X(2017)04?0151?04

Research on security?based clock synchronization algorithm for wireless sensor network

YIN Peng

(Business College of Shanxi University, Taiyuan 030024, China)

Abstract: Since the previously?proposed clock synchronization algorithms for wireless sensor network have poor safety performance and big synchronization error due to the poor storage capacity of the wireless sensor network, a security?based clock synchronization algorithm for wireless sensor network is proposed. The father node in the system is used to construct the wireless sensor network and child nodes. The data of the child nodes is interacted through the father node to balance the clock synchronization of the wireless sensor network. The chip CC2530 is adopted to connect the father node with the child nodes. The operation of the wireless sensor network clock synchronization is accomplished in the simulator. The mutual information of the father node and child nodes is output to the simulator through the transmission interface to provide the data simulation source for operation. The real?time display for the network results constructed by the father node and clock synchronization operation results were realized with the security debugging interface. The synchronization security algorithm and synchronization algorithm language were designed to implement the clock synchronization of the wireless sensor network. The results of the experimental verification show that the algorithm has small error and high safety.

Keywords: data interaction; wireless sensor network; clock synchronization; data simulation

0 引 言

无线传感器网络是一种将感应技术、无线传输技术和微电子技术有机融合在一起的自组织网络,具有低耗、廉价、性能优良等特点。无线传感器网络通常被安置在需要进行数据行为监控的区域内,在消防、智能家电、军事、医疗等领域均有着非常广泛的应用[1?3]。时钟同步是协调无线传感器网络处理能力和耗能水平的保障。由于受到无线传感器网络节点数目较少的限制,无线传感器网络的存储能力往往不高,导致其时钟同步算法的安全性能不高、同步误差较大。故提出基于安全性的无线传感器网络时钟同步算法,提高算法安全性能、缩减同步误差[4?6]。

科研组织曾研究出一些无线传感器网络时钟同步算法,但均或多或少地存在一定的缺陷,如文献[7]提出的TPSN无线传感器网络时钟同步算法,是以树状图为参照物设计出的结构类同步算法。它先对无线传感器网络的拓扑模型进行构建,再对传感器节点进行分组同步。该算法的安全性能不高,且拓扑结构无法精准反映出无线传感器网络的实际分布情况,因此同步误差较高;文献[8]提出的神经元无线传感器网络时钟自动同步算法,是根据RFA时钟同步协议进行设计的同步算法。RFA时钟同步协议通过调用无线传感器网络中历史时钟数据,来平衡现阶段的同步误差。但算法仅仅对时钟偏差进行了平衡,斜率等误差仍存在。现提出基于安全性的无线传感器网络时钟同步算法,解决上述算法的缺陷。经实验验证可知,所提算法同步误差小,安全性能高。

1 无线传感器网络时钟同步系统设计

1.1 系统结构设计

图1为基于安全性的无线传感器网络时钟同步系统的结构图。由图1可知,基于安全性的无线传感器网络时钟同步系统的核心组成设备是算法支持芯片,该芯片将系统的父节点和子节点进行连接。父节点的主要作用是构建无线传感器网络,在无线传感器网络存在的情况下,子节点才会出现。子节点的主要作用是通过与父节点进行数据交互,实现对无线传感器网络时钟同步的平衡。

无线传感器网络时钟同步的运算工作是在仿真器中完成的,系统中所配置的安全性调试接口和安全性传输接口均是运算工作的后台支持端。安全性调试接口主要进行父节点构建网络结果和仿真器中的时钟同步运算结果的展示工作。安全性传输接口负责将父节点与子节点间的交互数据输出到仿真器中,为运算工作提供数据仿真源。

1.2 算法支持芯片设计

由于无线传感器网络的应用常需进行隐蔽设计,故要求基于安全性的无线传感器网络时钟同步系统选择的算法支持芯片应方便携带,并且具有较高的集成度。

系统选用的算法支持芯片是CC2530芯片,CC2530芯片作为强化型的多领域8051片上系统,其体积很小、集成度较高、兼容性优异,并拥有很强的运算平衡能力。图2为CC2530芯片结构图。

由图2可知,CC2530芯片主要由8051中央处理器、射频收发器、直接内存访问器组成,并拥有32 KB,64 KB,128 KB以及256 KB的闪存,可给予系统不同的工作流程,以平衡系统的资源和工作能耗。CC2530芯片还配置了无线传感网络传输协议栈,使得父节点与子节点间的信息交互更为流畅、精准。

1.3 安全性调试接口设计

在基于安全性的无线传感器网络时钟同步系统中,安全性调试接口根据CC2530芯片中无线传感网络传输协议栈的传输支持,对父节点构建网络结果和仿真器中的时钟同步运算结果进行展示。图3所示为安全性调试接口电路图。

由图3可知,安全性调试接口利用联合测试行为组织(Joint Test Action Group,JTAG)协议进行展示调试。JTAG协议是专门为嵌入式系统进行调试工作的协议,其为电子设备提供了包括时钟监控、网络转换、电子控制、各类数据库标准支持等调试功能。安全性调试接口利用JTAG协议提供的调试工具为基于安全性的无线传感器网络时钟同步系统提供服务,其拥有10线接口,可与多种类型的仿真器进行连接。

1.4 安全性传输接口设计

安全性传输接口使用的接口类型是RS 422,RS 422接口的全称为“平衡电压数字接口电路的电气特性接口”,其使用差模传输方式,最远传输距离长达1 200 m,并具有较强的抗干扰能力和驱动能力。使用者只需在安全性传输接口中自行编译简单的控制语言,便能够实现仿真器与无线传感器网络节点间的数据通信,通常采用异步启停类型编码语言。图4为安全性传输接口电路图。

由图4可知,安全性传输接口电路拥有8个管脚和4个外设接口,其传输方式是串行双向通信。电路中接收器的输入阻抗是4 kΩ,电路所能承受的最大负载为100 Ω。

2 无线传感器网络时钟同步算法设计

2.1 同步安全算法

出于对无线传感器网络中软件和硬件的安全性能差异性较大的考虑,基于安全性的无线传感器网络时钟同步算法对二者进行了分类设计,简称“同步安全算法”。同步安全算法由两部分组成,分别是硬件时钟同步安全算法和软件时钟同步安全算法。

2.1.1 硬件时钟同步安全算法

无线传感器网络中的硬件时钟数据呈现出的是线性曲线,故可根据对比相邻无线传感器网络节点采集到的历史硬件时钟数据,来判断当前的硬件时钟数据是否能够实现精准同步。

用表示时钟数据值,,表示两个相邻节点的序列,表示节点接收时钟数据的时间序列,表示历史时钟读数,表示两相邻节点与之间线性曲线斜率的单步估计值,则可表示为:

在判断当前的硬件时钟数据是否能够实现精准同步时,首先计算出相邻两项的线性曲线斜率单步估计值和,如果时钟精准同步,则满足:

若不满足式(2),则该硬件时钟数据无法实现精准同步,此时基于安全性的无线传感器网络时钟同步系统将会对其进行删除处理。

2.1.2 软件时钟同步安全算法

与硬件时钟不同,无线传感器网络中的软件时钟并不具备线性曲线,也不存在简单的时钟同步操作,对于软件时钟同步的精准与否可不作判断,即时钟一旦出现数据,则可看作是精准同步。所以,当时钟数据不为空时,则代表时钟同步已实现。

设是节点的时钟数据,为相邻两节点间互传的时钟数据,则有:

式中:,分别代表软件时钟的校准系数;代表相邻节点间的斜率;代表无线传感器网络中拥有相邻节点的节点数量。

2.2 無线传感器网络时钟同步算法语言设计

无线传感器网络时钟同步算法语言利用CLKCON字节语言进行编译。由于CC2530芯片内共配备了4个计时器,故利用第一个计时器进行无线传感器网络时钟的读取,利用第二个计时器给出CLKCON字节语言的时间标准,第三个计时器为基于安全性的无线传感器网络时钟同步算法的频率进行定义,第四个计时器进行无线传感器网络时钟的输出。

对父节点而言,当仿真器需要进行运算工作时,父节点会首先对计时器的总显示值BZ进行读取。在与子节点进行数据交互前,需要读取计时器3的显示值B3,BZ和B3是仿真器的所需的重点数据,故将这两个数据同时写入数据包并进行传送。所给出的无线传感器网络父节点时钟同步算法语言如下:

Scratch file?pop?up mechanism=SUSPEND1;

%为系统设定复位标准,读取计时器1中显示值

{

Lag?nt(9);

MICROscale?BZ=Read timer clock();

%给出“读取计时器时钟”的指令

MICROscale?B1=rx?collect?end?>info[11];

%读取计时器B1数据

Tx?buffer[tx?buffer?top?1][11]= MICROscale?B1;

%把B1汇入数据包并存储

Tx?buffer[tx?buffer?top?1][12]= MICROscale?B2;

%把B2汇入数据包并存储

Tx?buffer[tx?buffer?top?1][13]=read?time1?SUSPEND1;

%发送数据包前,读取计时器B3数据

Tx?buffer[tx?buffer?top?1][116]=18;

%计量数据包的长度并存储

}

当子节点确认已收取上述数据包后,应先对计时器4的显示值进行读取,再调出数据包中的BZ,B1,B3,最后利用第2.1节中给出的时钟同步安全算法公式,对无线传感器网络时钟同步进行平衡。所给出的无线传感器网络子节点时钟同步算法语言如下:

Void DO?MICROscale(void)

{

Hal?FIT?info?fugle();

MICROscale?replace=1;

MICROscale?mark=false;

while(rx?collect?project?used!=0)

%检验所采集的数据里是否存在不合格数据包

{

readRxCollect(); %读取所采集的数据包

if(rx?collect?end?>info[9]==OxFF&&rx?collect?end?>info

[10]==SCMD?MICROscale)

Bool replace?mark;

MICROscale?B4=Read timer clock();

%读取计时器4的显示值B4

MICROscale?B1=rx?collect_end?>info[11];

MICROscale?B2=rx?collect_end?>info[12];

MICROscale?B3=rx?collect_end?>info[13];

MICROscale?replace=((MICROscale?B2?MICROscale?

B1)+(MICROscale?B2?MICROscale?B4))/2;

%运算出无线传感器网络的时钟误差

Write?timer1(read_timer1?CNB1()+MICROscale?replace);

%将芯片计时器的显示数写入数据包

Contrast string("\r\ncogradient finish!");

%串口时钟同步输出

} }

3 实验验证

实验采用仿真验证方式对基于安全性的无线传感网络时钟同步算法系统进行验证,验证项目为系统的同步误差和安全性能。

仿真中无线传感器网络为正方形,其边长为200 m,节点数量为200个,节点均匀分布在无线传感器网络中,网络时钟数据包共计60个。选取本文算法、对称识别加密算法和FTFP算法进行实验。

3.1 同步误差验证

规定无线传感器网络时钟的同步误差应低于±0.5 ms,用表示算法的同步时间,表示实际时间,则同步误差的计算公式为:

(5)

在相同条件下,使用本文算法、对称识别加密算法和FTFP算法对仿真无线传感器网络进行时钟同步运算。运算周期为20 s,2 h后根据式(5)对各算法运算结果的同步误差进行运算,将所得结果绘制成曲线,如图5所示。由图5可看出,本文算法的同步误差要远低于对称识别加密算法和FTFP算法,可验证本文算法同步误差小。

3.2 安全性能验证

在仿真无线传感器网络中加入天线,接收低等强度和高等强度的网络入侵,此时,无线传感器网络中时钟同步收敛速度越快,时钟抗干扰能力越强,证明其算法的安全性能就越高。本文算法、对称识别加密算法和FTFP算法的收敛速度曲线如图6、图7所示。

由图6、图7可知,在低等强度和高等强度的网络入侵下,对称识别加密算法和FTFP算法的收敛速度曲线的波动随入侵强度的增大,未产生较大变化,其收敛速度始终不高,证明这两种算法未能及时发现网络入侵的存在,安全性能不高。而本文算法在高等强度网络入侵下的收敛速度,比起其在低等强度网络入侵下的收敛速度,有较大的提高,且收敛速度曲线始终高于其他两种算法,证明本文算法能够及时发现网络入侵的存在,验证了本文算法具有很高的安全性能。

4 结 论

本文设计基于安全性的无线传感器网络时钟同步系统,系统中的父节点构建无线传感器网络和子节点,子节点通过与父节点进行数据交互,平衡无线传感器网络时钟同步,CC2530芯片将父节点和子节点进行连接。系统对同步安全算法和同步算法语言的设计,较为有效地实现了无线传感器网络时钟同步。经实验验证可知,基于安全性的无线传感器网络时钟同步系统同步误差小,安全性能高。

参考文献

[1] 张双双,王延年.节点分布不均匀的无线传感网络低功耗算法[J].西安工程大学学报,2015,29(6):720?723.

[2] 楊朔,李长庚.无线传感器网络泛洪时间同步协议安全算法[J].传感器与微系统,2014,33(1):137?140.

[3] 姜颖,郭淑霞,高金乔,等.低开销的无线传感器网络时间同步算法研究[J].计算机科学,2014,41(3):129?131.

[4] 孙毅,南婧,武昕,等.基于簇的能量均衡无线传感器网络时间同步算法[J].计算机应用,2014,34(9):2456?2459.

[5] 陈孟元,周娅,郎朗.高精度低功耗无线传感器网络时间同步算法[J].传感器与微系统,2014,33(10):125?127.

[6] 王晶,张帅,罗炬锋,等.基于变长帧的无线传感器网络时间同步算法[J].计算机工程,2014,40(7):73?77.

[7] 孙毅,曾璐琨,武昕,等.基于频偏估计的无线传感器网络时间同步算法[J].通信学报,2015,36(9):26?33.

[8] 郝纲,庄毅.一种用于大规模无线传感器网络的时钟同步算法[J].计算机科学,2015,42(12):189?194.

时钟 传感器 算法