无线传感器网络泛洪时间同步协议安全性研究
2017-03-02孙亚南常新峰
孙亚南,常新峰
(平顶山学院 网络计算中心,河南 平顶山467000)
无线传感器网络泛洪时间同步协议安全性研究
孙亚南,常新峰
(平顶山学院 网络计算中心,河南 平顶山467000)
针对FTSP在安全性上的漏洞,提出一种相对应的防御机制来加强FTSP的安全性。在根节点选择机制中,通过BS来进行根节点的选择,同时在节点信息收集上,提出参考节点选择机制。通过实验和数据分析得知,所提出的防御机制可以对时间同步的运行提供合理的安全性。
无线传感器网络;时间同步;安全;精度
时间同步是无线传感器网络 (Wireless Sensor Network,WSN)诸多协议和应用的基础,对传感器网络的设计和应用都是关键的[1]。由于传感器网络自身低成本、低功耗、短距、多跳、不可靠等属性,使得GPS[2]、NTP[3]等一类传统同步技术无法直接应用于无线传感器网络[4]。针对无线传感器网络的特点,学者们先后提出了多种时间同步协议,比较著名的如:参考广播同步协议(Reference Broadcast Synchronization,RBS)[5]、传感器网络时间同步协议 (Timing-sync Protocol for Sensor Networks,TPSN)[6]与泛洪时间同步协议(Flooding Time Synchronization Protocol,FTSP)[7]等。RBS属于基于接收端-接收端的同步算法,特点是同步精度高,实现全网同步较为复杂。TPSN属于双向同步算法,提出了一种基于生成树的同步网络,该生成树在敌意节点存在的情形下存在较大风险,可能导致敌意节点以下分支节点完全同步失效。FTSP属于基于发送端-接收端的单向同步算法,其特点是通信量较低,能量高效,可实现全网同步,然而FTSP采用的估计方法对偏离正常误差范围的数据极其敏感,即使只有一个错误的数据也可能造成估计结果的失真[8]。
上述协议尽管从各自所强调的角度出发都取得了良好的性能,但其无一例外在设计时并没有将安全性问题纳入考虑。鉴于时间同步机制的重要性,可能有恶意攻击者对时间同步机制进行攻击[9]。如FTSP极易受到来自网络内部的恶意攻击,这些攻击造成的影响不仅仅局限于同步精度上,它们完全有可能造成待同步的节点时钟同步到错误的时间上去,从而导致全网同步失败。由于FTSP综合考虑了时间同步的精度、能量、动态拓扑、可扩展性和鲁棒性、稳定性等多方面的要求,是最有效的时间同步协议[10],因此本文在FTSP基础上进行改良,提出加强无线传感器网络时间同步上的安全机制研究,让节点在时间同步上能有更稳定且安全的结果。
1 研究方法
在2006年,Tanya等人对 FTSP进行分析,提出了FTSP在安全性中所潜伏的问题[11-13]。由于在FTSP中,根节点是作为网络中各节点计算时钟偏移的参考节点。因此,当根节点遭受攻击时,就会造成全网络中节点的时间同步皆失去效用。由于网络中的各节点在数个周期内没有收到时间同步信息时,拥有独自把自节点编号设为根节点编号的权力,因而会造成恶意节点可以轻易更换包含在时间同步信息中的根节点编号,并且邻近节点很难侦测出。本文针对FTSP的这一安全性问题,来探讨相对的防御机制。
1.1 根节点选择机制
在FTSP架构中,由于根节点采用动态选取,恶意节点只要先收集邻近节点的根节点编号,将信息中的rootID字段设为小于收集到的根节点编号,再把此时间同步信息发送给邻近节点,由被攻击成功的邻近节点将恶意节点的时间同步信息不断向外传送,就可使整个网络节点无法实现同步。为避免根节点轻易受到恶意节点的攻击,本文将根节点的选择机制由原FTSP架构上各节点皆拥有变更根节点的权限,改为由基站(base station,BS)统一掌控。新根节点选择机制,主要分为4个阶段:开始根节点选举、挑选新的根节点、BS与新的根节点时间同步和选举结束,详细步骤如下:
1)开始根节点选举
①BS将其节点编号、选举次数与表示开始选举的消息链接以BS的私钥加密后,广播此数据包,宣告选举开始。
②当邻近节点收到选举开始数据包后,先以BS的公钥解密,纪录BS的ID后,将此节点冻结于CTP中的routing table中,以避免恶意节点中途加入。之后,再把消息向外广播,让网络中的各节点皆能收到选举开始数据包,并使CTP的 routing tree暂时拥有固定的路径。
2)挑选新的根节点
①各节点在冻结 CTP routing table后,接着设定参选意愿并回传参选数据包给BS,来表示是否参与此次根节点选举。
②当BS在时间内收到各节点回传的参选数据包时,通过各节点的公钥将信息解密并加以记录。最后,BS从纪录的数据中挑选出一个在回传中没有多重回传信息并且从未当过根节点的节点,作为预定的根节点。
③BS将预定根节点的节点编号,用BS的私钥来加密后广播根节点当选数据包至网络中的各节点,并且BS记录这次选的节点编号,避免下次重复选取。
④网络中的各节点在收到消息后,利用BS的公钥将消息解密,得到新的根节点编号。并将根节点编号储存在自身节点当中,然后向外广播来让网络中各节点都能收到此信息。
3)BS与新的根节点时间同步
①当新的根节点收到根节点当选数据包,则将收到此信息的区域时间纪录为 Local_Timeroot_send后,通过CTP发送根节点时间同步数据包给BS来取得时间同步所需要的信息。
②由根节点传送消息给BS的途中,如果需要中继节点转送数据包时,中继节点必须储存数据包来源的节点编号nodeID source和数据包发送的节点编号 nodeID target。
③通过CPT将数据包送到BS后,BS分别将接收 到 数 据 包 的 区 域 时 间 记 录 为Global_TimeBS_receive、之后要发出数据包的区域时间记录为Global_TimeBS_send,再用根节点的公钥加密后储存于数据包中。依照根节点传送给BS的路径,反向由BS通过中继节点传递至根节点。
④根节点收到数据包时,将区域时间记录为Local_Timeroot_receive,并将收到的消息用根节点的私 钥 解 开 得 到 Global_TimeBS_receive 和Global_TimeBS_send,接着利用NTP计算根节点与BS之间的偏移量。NTP公式如下:
⑤最后将根节点的时间与Offset相加得到估计globaltime root。在完成BS与根节点间的时间同步后,回传给BS同步成功的消息。
4)选举结束
①当BS与根节点间的时间同步成功完成后,BS向外广播选举结束数据包以宣告根节点选举结束。
②之后,根节点将用BS同步得到的偏移量与自身的区域时间相加作为全局时间,来与同网络中的节点进行FTSP,以达到时间同步的效果。
根节点选择时机是通过设定一个Timer,周期性的举办根节点选举。
1.2 参考节点选择机制
在FTSP的同步机制中,当同网络中的节点没有在根节点的通讯范围内时,则必须通过已同步过的邻近节点,作为参考节点来进行时间同步。FTSP机制中参考节点的选择方式为挑选拥有seqNum大于目前节点seqNum的时间同步消息发送节点作为参考节点。然而,在一些情况下,会因时钟偏移不稳定造成时间同步估算不精确的问题。因此,在FTSP参考节点选择机制上,当节点达到时间同步后,则认定单一参考节点,以降低多个参考节点对时钟偏移震荡的影响。当连续N个发送周期内都没有收到此参考节点所发送的时间同步数据包,则从其他邻近节点中重新挑选其参考节点。N值的设定主要与环境有关,当环境的干扰等不安定因素较多时,容易造成数据包遗失。因此,需将N设定为较大的值,以避免过度更换参考节点。
1.3 变更后FTSP整体架构流程
如图1所示,BS通过timer的触发,依照设定的周期举办根节点的选举。在执行根节点的机制中途,如果发生意外情况使得根节点的选择失败,则重新挑选新的根节点。反之,顺利选择出根节点的话,则执行新的FTSP来进行时间同步。当根节点在时间同步的期间,因为没电或者是因为外在因素的影响而消失时,网络中的各节点会以之前计算的偏移量去对区域时间进行修正,以估算全局时间作为节点发送信息的时间戳。当BS发现根节点消失时,则立即选出新的根节点,让网络中的各节点重新校对,保证时间同步的精确度能维持在一定的水平上。
图1 变更后FTSP整体架构流程图
2 实验与结果
文中实验使用的系统环境和工具为:Crossbow TelosB mote+TinyOS 2.x。实验目的为测试FTSP协议上修改的部分(如:参考节点的选择与时间同步过滤器),能否达到预期的效果。在实验环境中,使用七颗TelosB mote。一颗作为BS与终端服务器相连,将实验所得的数据收集后汇整存储。一个为poller,定时要求各节点发送数据,以便BS接收信息。四颗为一般节点,其中一颗为根节点,一颗为攻击节点。图2为实验环境架构图,节点间的虚线代表彼此相邻,箭头代表彼此进行时间同步。在 Node 0、Node 1、Node 2与Node 6中执行更改过的 FTSP。其中由Node 0作为根节点,而Node 1与Node 2设置在和Node 0相邻的位置,并且以 Node 0作为参考节点来进行时间同步。Node 6由于没有与 Node 0相邻,无法直接与根节点时间同步。由Node 1的时间同步信息,来与此网络的时间同步接轨。攻击Node A为在一般节点皆建立时间同步后才加入。在实验设计上,Node A的加入时机为在根节点的SeqNum约为50的时候加入实验,然后观察数据seqNum为50前与seqNum为50后所产生的差异性。
图2 实验环境架构图
2.1 实验一多重参考节点影响测试
目的在于测试当拥有多重参考节点时,对节点在估算时钟偏移的影响。实验环境架构图与图2相比为将Node A更改为Node 2,使Node 6拥有Node 1和Node 2邻近节点,为了呈现出受到干扰的环境,将Node 2所发送的时间同步信息中globalTime减30,再发送给邻近节点,观察Node 6在收到此时间同步信息后的变化。
图3 多重参考节点影响测试分析
由于原FTSP(1+2线)对挑选参考节点的机制没有作特别限制,所以会造成Node 6拥有 2个参考节点的情况。因此,使得计算时钟偏移的数据集中,所包含的全局时间信息来源不单一,造成估算出的时钟偏移来回震荡。改进的FTSP(图3线1)中,因为对参考节点选择机制上有锁定单一的参考节点,所以在Node 6的数据集中只包含Node 1的信息并不会受到Node 2的影响,时钟偏移的估算上得到较稳定的值。
2.2 实验二恶意节点发送错误的全局时间
目的在于测试当恶意节点尝试发出错误的全局时间时,对网络中其他节点的影响。实验环境架构图与图2相比为将Node A更改为Node 3,恶意节点设置为Node 3,其攻击模式为将所发送时间同步信息的gloabaTime字段变更为通过线性回归式估算出的全局时间除以二后,再发送给邻近节点,观察邻近节点在收到此时间同步信息后的变化。
图4 恶意节点发送错误的全局时间结果分析
原FTSP(图4(a))由于对挑选参考节点的机制与全局时间的判别没有特别去限制,所以当根节点Node 0的seqNum为50后,因为节点Node 6原本以Node 1作为参考节点,但在恶意节点Node 3加入后,造成Node 6拥有2个参考节点。如图4(a),在Node 6的seqNum约为50~100之间,由于受到恶意节点Node 3的影响,因此全局时间的线段在正常节点与恶意节点的线段间震荡变化。而在Node 6的seqNum约为100~150之间时,则将Node 1移除,所以Node 6只剩下恶意节点Node 3为其参考节点,造成之后的时钟偏移。而改进的FTSP(图4(b)),因为对参考节点的选择机制上有锁定单一的参考节点,所以在Node 6的seqNum约为50~100之间,不会受到恶意节点Node 3的影响,并且因为恶意节点发送的全局时间与目前所估算出的全局时间相差过大,恶意节点Node 3在加入时便纳入黑名单中。
3 结束语
针对FTSP在安全性上的漏洞进行探讨,本文提出了相对应的防御机制来加强 FTSP的安全性。在根节点的选择机制上,通过BS来进行根节点的选择,让一般节点没有自行变更根节点的权力,以降低时间同步进行上被攻击的风险。通过实验以及数据分析可得本文所提出的防御机制,能很好的抵御恶意节点的攻击,让全局时间拥有适当的正确性,并且能维持原来FTSP所拥有的精确度。
[1]陈莹,唐加山.无线传感器网络中一种基于FTSP的时间同步协议的改进设计[J].内蒙古大学学报:自然科学版,2012,43(4):409-413.
[2]Mills D L.Internet time synchronization:the network time protocol[J].IEEE Transaction on Communications,1991,39(10):1482-1493.
[3]Hofmann-Wellenhof B,Lichtenegger H,Collins J. Global positioning system:theory and practice[M]. 4thed.[S l]:Springer-Verlag,1997.
[4]孙德云,沈杰.基于扩散机制的无线传感器网络时间同步协议[J].通信学报,2008,29(11):40-49.
[5]Jeremy Elson,Lewis Girod,Deborah Estrin.Finegrainednetworktimesynchronization using reference broadcasts[J].The 5th Symposium on Operating Systems Design and Implementation(OSDI 2002),2002:147-163.
[6]Saurabh Ganeriwal,Ram Kumar,Mani B Srivastava. Timing-Sync ProtocolforSensorNetworks[C]// The 1st ACM Conference on EmbeddedNetworked Sensor System(SenSys 2003).2003:138-149.
[7]Miklos Maroti,Branislav Kusy,Gyula Simon.The Flooding time Synchronization Protocol[C]//The 2nd ACM Conference on Embedded Networked Sensor Systems(SenSys 2004),2004:39-49.
[8]钱志鸿,王义君.面向物联网的无线传感器网络综述[J].电子与信息学报,2013,35(1):215-227.
[9]Sun K,Ning P,Wang C,et al.TinySeRSync: secure and resilient time synchronization in wireless sensor networks[C].Proc of the ACM Conference on Computer and Communication Security(CCS’06),2006.
[10]杨朔,李长庚.无线传感器网络泛洪时间同步协议安全算法 [J].传感器与微系统,2014,33(1):137-140.
[11]Tanya Roosta,Shankar Sastry.Securing Flooding time synchronization protocol in sensor networks[C]// The 1st ACM Workshop on Embedded Systems Security(WESS 2006),2006.
[12]宋旭文,李晓伟,沈冬冬,等.一种低功耗的多跳无线传感网时间同步算法[J].电子科技,2014(4):9-11.
[13]许慧中,郭经红.无线传感器网络节点能量平衡优化方法 [J].电力信息与通信技术,2013(12):38-43.
Security research on flooding time synchronization protocol in wireless sensor networks
SUN Ya-nan,CHANG Xin-feng
(Network and Computation of Pingdingshan University,Pingdingshan 467000,China)
To deal with FTSP loopholes in security,defense mechanism was put out,to strengthen the security of FTSP.In the root node selection mechanism,the root node was selected by BS.On the node information collected,the reference node selection mechanism was proposed.Experiment and data analysis shows that the proposed mechanism of defense can be provided reasonably security running of time synchronization.
wireless sensor networks;time synchronization;security;precision
TP393
:A
:1674-6236(2017)03-0076-04
2016-01-26稿件编号:201601241
孙亚南(1982—),男,河南平顶山人,硕士。研究方向:网络通信。