杨 朔,李长庚
(中南大学 物理与电子学院,湖南 长沙 410083)
时间同步是无线传感器网络诸多应用的基础,目前广泛用于传统网络的同步技术主要有GPS和NTP[1],但因二者无法适用于动态拓扑、能量有限、精度要求高、无网络基础设施且只能使用轻量协议的无线传感器网络,学者们先后提出了无线传感器网络的参考广播同步 (reference-broadcast synchronization,RBS) 协议[2],其时间同步的精度相对偏低,多跳阶段,RBS一次同步涉及3方节点,频繁的再同步增加了通信和能量开销。传感器网络时间同步协议(timing-sync protocol for sensor networks, TPSN)[3],具有较好的可扩展性,但由于全网参考时间由根节点确定,一旦根节点失效,就要重新选取根节点进行同步,鲁棒性不强,再次同步还需大量计算和能量开销。无线传感器网络的拓扑极易变化,同步协议必须支持网络动态变化的功能,随着无线传感器网络的发展,网络的应用大多是多跳通信,因此,同步协议还必须满足多跳网络的要求。泛洪时间同步协议(flooding time synchronization protocol, FTSP)[4],综合考虑了时间同步的精度、能量、动态拓扑、可扩展性和鲁棒性、稳定性等多方面的要求,是最有效的时间同步协议。
然而,FTSP极易受到来自网络内部的恶意攻击,这些攻击所造成的影响已不仅仅局限于同步精度了,它们完全可以使待同步的节点时钟同步到错误的时间上去,从而导致全网同步失败。因此,本文将基于FTSP提出一种安全算法,抵御来自网络内部的恶意攻击,同时对算法进行改进,提高算法的同步精度,减少计算开销,并通过仿真验证安全算法的可靠性和有效性。
FTSP采用一元线性回归方法估计节点本地时钟与标准时钟的时间偏移,并在每秒末尾对节点本地时间进行补偿,提高时钟同步的精度。式(1)为节点本地时间与标准时间表达式
T=at+b,a=1+d,
(1)
式中t为节点本地时间,T为标准时间。时间偏移的程度通常用漂移率[5]来描述,定义时钟漂移率d为2个时钟时间差的速率。稳定情况下,传感器节点有着相对稳定的时钟漂移率,且ρ≤d≤ρ,由式(1)有
(2)
FTSP设计比较简单,算法存在很多安全漏洞,容易遭受到来自网络内部的恶意攻击。对此,学者们做了很多分析讨论[5,6],本文将对FTSP中可能遭受到的基于发送时间标的攻击设计一种安全算法,又因线性回归方法容易受到异常数据点的影响,导致计算出错误的时间偏差。因此,本文也将改进计算时钟漂移率的公式,对其进行加权处理,提高同步精度,减小恶意攻击对时间同步的影响。
当传感器网络中的节点处于安全的稳定的同步状态下,各节点的时钟漂移率是一个稳定的值。Huang D J指出网络中每个传感器节点都有一个稳定的,且区别于其他节点的时钟漂移率[7],并将时钟漂移率作为传感器网络中节点的唯一标识ID[8],实验利用FTSP作为测试工具,实验结果显示:对于同一个节点在每个同步周期测量得到的时钟漂移率之间的偏差非常小,一般不大于10-6。
进一步研究发现,当标准时间(即发送时间标)Ti被恶意篡改,漂移率d将会产生明显偏差。因此,本文在FTSP中加入异常时钟漂移率检测器和恶意节点ID号过滤器,利用每个传感器节点在安全状态下具有唯一稳定的区别于其他传感器节点的时钟漂移率来检测接收到的受到恶意攻击的发送时间标,同时将该错误同步时间信息丢弃,重新接收其他邻居节点发送的同步信息,若该节点连续2次发送错误的时间标,则将该恶意节点ID号过滤掉,加入到黑名单中,提示其他邻居节点拒收来自该恶意节点的同步信息,减少计算开销,提高原算法的安全性。为实现上述功能,本文需要对FTSP原始同步信息的数据包格式进行修改,在同步信息中添加发送节点ID和黑名单,如图1所示。
图1 新的同步数据包
各节点时钟同步了一定周期后,时钟漂移率基本趋于稳定,且同步周期越多,精度和稳定性越高。当漂移率趋于稳定时,在一定周期内建立一个记录各节点时钟漂移率平均值的存储表M,如表1所示。根据仿真结果确定漂移率偏差范围±θ,则时钟偏移率的阈值范围为Mn-θ≤dthreshold≤Mn+θ,此后每个周期计算得出的dn都要进入存储表M中进行判定,若当前周期时钟漂移率在阈值范围内,则接收此次同步信息并进行数据更新;否则,丢弃这个数据,重新接收其他邻居节点的同步信息。
表1 节点时钟漂移率平均值存储表M
为进一步提高FTSP的同步精度,减小FTSP受到攻击后对时间同步的影响,本文对计算时钟漂移率d公式做如下改进
d′(m)=
(3)
其中, 0≤α≤1,0≤α+β≤1。式(3)表示给当前周期m和前2个周期m-1,m-2求得的漂移率d分配不同的权重。假设当前周期m受到发送时间标的恶意攻击,d(m)出现偏差,则当前周期即第m周期权重(1-α-β)应最小,通过改进后式(3)的计算,漂移率d受到的影响将会被有效抑制。
本文模拟无线传感器网络时间同步环境,在100 m×100 m区域内,随机布置100个传感器节点,如图2所示。
图2 节点分布图
圆圈区域为根节点ID0的通信半径。其中节点15,21,30,45,90等在根节点通信范围内,为单跳通信节点;节点77,83等在根节点通信范围外,为多跳[9,10]通信节点。节点21,60等为节点77,83等节点的邻居节点。
首先对原始FTSP进行仿真,同步100个周期,图3为其中8个节点的时钟漂移率,可以清晰地看到:节点时钟漂移率互不重叠且各自趋向一个稳定的值。因此,可将稳定且相异的时钟漂移率作为各节点的身份标识。
图3 稳定环境下各节点时钟漂移率分布
由图2知,多跳通信节点77,83均为节点60,21的邻居节点,它们首先接收距离较近的节点60发送的同步数据包,由图3可以看出:在安全稳定的情况下,节点77和83的时钟漂移率分别趋向稳定的值,对FTSP算法中节点60第95~100周期的发送时间标T95-100进行篡改,令T95-100=T95-100+100μs,则节点77,83接收到该同步数据包后的时钟漂移率如图4图(a)所示。
从图3可见,前10个周期受初始化影响节点时钟漂移率波动较大,因此,本文选取第11周期到20周期的数据构建节点时钟漂移率平均值存储表M,如表2所示,根据仿真结果本文确定θ取10-8。
表2 节点时钟漂移率平均值存储表M
从图4(a)图可以看出:当节点60的发送时间标被恶意篡改,节点77和83原本趋于稳定的时钟漂移率发生骤变,这将导致时钟偏移的计算出现偏差,时间补偿后节点77,83的本地时间与标准时间的误差越来越大,使时间同步失效。
对添加了异常漂移率检测器和恶意节点ID过滤器的安全算法进行仿真验证,同样对节点60第95~100周期的发送时间标T95-100进行篡改,令T95-100=T95-100+100 μs,仿真结果如图4(b)图所示。
图4 FTSP算法和安全算法受到发送时间标攻击
安全算法中2个节点通过异常时钟漂移率检测器检测出异常,没有接收节点60的同步信息,重新选择接收了节点21的同步信息,因为连续5个周期计算出的时钟漂移率都异常,因此,将ID60加入到了黑名单中,提示其他节点拒绝接收该恶意节点发送的同步信息,减少计算开销。
本文通过计算同一时刻各节点预测的全局时间与标准时间误差的平均值来验证改进算法的同步效果。用控制变量法,经过数次仿真验证,结果表明:α=0.3,β=0.69时,同步精度最高,误差平均值最小,如图5所示。
图5 α,β取不同值时误差平均值比较图
在第80周期对原始FTSP和改进的FTSP进行发送时间标攻击,此时改进的FTSP中α取0.3,β取0.69,仿真结果如图6所示,改进的FTSP同步精度较原始FTSP有所提高,并且在受到攻击的情况下,减轻了攻击对时间同步的影响,改进算法取得了良好的效果。
图6 FTSP和改进的FTSP误差平均值比较图
本文为进一步提高FTSP的同步精度,抵御基于发送时间标的攻击,抑制异常数据对同步造成的影响,减小计算开销,改进了时钟漂移率计算公式,对其进行加权处理,经过大量仿真验证,确定权重α,β的最佳值,并在原算法中加入异常时钟漂移率检测器和恶意节点ID过滤器,仿真结果表明:同步精度提高,能有效抵御发送时间标的恶意攻击,安全性能增加,计算开销减少,鲁棒性增强。
由于节点的时钟也会受到环境湿度、温度等条件的影响,所处的环境不一样同样会使得节点时钟漂移率发生变化。因此,本文的安全算法也可以用来排除受外界环境影响而导致同步失效的节点。
参考文献:
[1]徐焕良,刘佼佼,王浩云,等.WSN/WSAN中的时间同步算法研究[J].计算机工程与应用,2012,48 (31):56-60.
[2]Elson J,Girod L,Estrin D.Fine-grained-network time synchronization using reference broadcasts[C]∥ACM SIGOPS Operating Systems Review,New York,2002:147-163.
[3]Broido A,Claffy K C,Kohno T.Remote physical device fingerprinting[C]∥Proceedings of the 2005 IEEE Symposium on Security and Privacy,2005:93-108.
[4]Maroti M,Kusy B,Simon G.The flooding time synchronization protocol[R].New York:Technical Report ISIS—04,2004.
[5]Liao W C,Roosta T,Sastry S,et al.Testbed implementation of a secure flooding time synchronization protocol[C]∥Wireless Co-mmunications and Networking Conference,Las Vegas,NV,2008:3157-3162.
[6]Roosta T,Sastry S.Securing flooding time synchronization protocol in sensor networks[C]∥The First International Workshop on Embedded Systems Security,2006:107-116.
[7]Hellerstein J M,Huang D J,Huang H Y,et al.Clock drift based node identification in wireless sensor networks[C]∥IEEE Global Communications Conference,2008:1877-1881.
[8]Tan Dingzhong,Jing Niansheng,Shi Zhu,et al.Research on time synchronization apply in WSNs[C]∥2010 2nd International Conference on Information Science and Engineering(ICISE),Hangzhou,China,2010:6866-6869.
[9]Djenouri Djamel,Merabtine Nassima,Mekahlia Fatma Zohra,et al.Fast distributed multi-hop relative time synchronization protocol and estimators for wireless sensor networks[J].Ad Hoc Networks,2013,6(1):2329-2344.
[10] Zhu Wentao,Zhou Jianying ,Deng Robert H,et al..Detecting node replication attacks in wireless sensor networks:A sur-vey[J].Journal of Network and Computer Applications,2012,35(3):1022-1034.