王 锋 王金涛
(1.中国人民解放军92493部队98分队 辽宁 葫芦岛 125000;2.中国科学院大学中国科学院沈阳自动化研究所 辽宁 沈阳 110016)
无线传感器网络(Wireless Sensor Networks,WSNs)[1]是由一系列部署在某些区域内大量的微型传感器所组成的无线自组织网络。无线传感器网络节点的电池容量、存储能力以及计算能力都十分有限,因此更脆弱,更易受到安全威胁。正因为WSNs的节点能量和资源受限,在实际应用中要尽可能地在数据传输之前对数据进行处理,以减少数据的传送数量或数据大小,实现能量和资源高效利用。数据融合就是解决此问题的一种精简的感知数据技术。
数据融合[2]是同时将多份数据组合处理,得到更能满足用户需求、更有效的数据的过程。其目标是通过数据融合,将来自传感器的多个数据转换成单个值再进行传输,从而可以有效减轻传感器节点和基站间的通讯负载开销,并且节省能量、提高带宽利用率、延长网络寿命。然而由于采用数据融合技术,基站所接收到的信息不再是原始的传感器节点感知的信息,并且由于数据融合技术采用明文数据传输,而传感器网络安全的机密性要求在网络中传输的节点感知的信息必须是密文形式;网络安全的可用性则要求基站收到传感器节点感知的信息后能对原始信息提供认证机制。因此基于机密性和可用性条件下的数据融合安全问题成为备受关注的问题,一系列安全数据融合技术也应运而生[3]。
现有的数据融合安全技术总体上可分为基于保密性的数据融合方案[4]和基于完整性的数据融合方案[5]两种,本文主要研究基于保密性的数据融合技术。
数据融合的保密性要求节点传输的数据以及聚合节点传输的聚合结果在整个的传输过程当中都是保密的。从而令攻击者无法简单的通过窃听或获取节点的方法进行攻击。目前基于保密性的数据融合技术主要分为基于逐跳加密的数据融合和基于端到端加密的数据融合。
由于无线传感器网络节点资源受限,因此节能性是我们重点关注的。因此,我们基于对SMART方案的研究,提出了一种新的具有保密性的高效数据融合安全协议EDAA(Effective data aggregation algorithm),在保证安全高效性的同时能够控制开销。
该算法以SMART算法为基础,在以下方面对其改进:
(1)采用中国剩余定理的思想来分割数据。与SMART算法采用的加法分割方法相比,此算法安全开销小并且不再依赖安全阀值所取的值。
(2)采用多个数据融合树进行数据的收集。并且要求各个数据融合树拓扑结构间有较大区别,融合树顶点之间各不相同并且要保持存在一定距离。与SMART算法相比,EDAA算法能够有效减少碰撞,并且能够降低攻击者通过窃取基站周围的节点融合的数据结果的风险。
EDAA算法分为初始化阶段、数据收集阶段和基站汇总阶段三部分:
1)初始化
在初始化阶段进行下列两个步骤的操作:
(1)参数选择:首先基站确定一个安全阀值t,之后再根据最终的数据融合的结果的最大值生成t个彼此两两之间都互素的整数,记为{S1,S2,…,St},其中数据融合结果的最大值M=节点上数据最大值Dmax*节点数N,并且S1*S2*…*St>M。最后基站将安全阈值-t和整数集{S1,S2,…,St}发送到所有的节点。
(2)数据融合树的建立:为了降低节点同时被截获的概率,基站首先会根据确定的安全阀值-t在整个网络中选择不同的t个节点。然后根据TAG算法,以选定的t个不同节点为顶点建立起t个互不相同的数据融合树,记为{T1,T2,…,Tt},如图 1 所示。 假如最后发现这 t个数据融合树拓扑相似度比较高,则要重新进行顶点选择。
图1 建立t(t=2)条数据融合树
2)数据收集
在初始化阶段完成后,网络中每个节点根据收到的基站发来的参数信息来确定自身在这t个数据融合树中所处的位置以及自己的父节点和子节点等的信息。然后便进行t个轮次的数据收集,在每一轮次中,每个节点都要在不同数据融合树上传输不同数据。
3)基站汇总
当数据收集完成后,网络中的t个根节点就会将汇总后的数据发到基站。在基站收到这t份不同的数据后,首先会使用对密钥对数据包进行解密,之后再使用中国剩余定理便能够计算得到最终的结果。
在实际中,有时这t个根节点间彼此相距的距离都很长,这样会使所选择的某些根节点无法直接与直接联系。此时我们规定,在这种情况下根节点要使用与基站单独的共享密钥进行单独加密,加密后建立一条单独的路径将这些加密后的数据发送到基站。
EDAA算法采用t个不同的数据融合树进行数据的传输,由于这t个融合树的拓扑结构差异较大,每个节点在各不同的融合树中都扮演不同角色,因此攻击者难以使用监听或截获节点的方法来得到数据融合的结果。
SMART算法是要节点最后通过同一个数据融合树将数据传向基站。另外,SMART算法采用TAG算法来建立数据融合树,因此最终的融合树高层节点都会集中到基站周围。这样攻击者就会使用流量探测方法得知基站的大体方向,然后就可以通过截获基站周围节点或数据传输来得到最终的数据融合的结果。而在本文的EDAA算法中,采用了多条融合树并且要求顶点间要保持较长的距离,因此高层节点就能分散地分布到整个网络。这样就可以减少高层节点遭到截获的概率,因此比SMART算法弹性更好。
但是在EDAA算法中,由于数据融合树采用节点的模值进行操作,因此攻击者可以利用模值来对原值进行估计。一种解决方案是将阀值增大来减小模值。并且在实际中,由于数据融合的结果变化较大,并且明显高于模值,因此利用模值估测原值的方法很难实现。
(我们采用基于NS2的仿真平台对算法进行验证,并与SMART的性能进行比较。区域部署范围设定为400m×400m,节点数1000个,节点的通信半径为50m。假设安全阀值的范围2≤t≤7,初始时节点的数据取值范围1023(10bit)到65535(16bit)。仿真结果如图2到图4所示。
图2 节点剩余能量岁时间的变化关系
图3 初始数据为10bit时,传输开销对比
图4 初始数据为16bit时,传输开销对比
从上图的仿真结果可以看出,由于SMART算法和EDAA算法都是采用多路数据进行传输,因此在网络配置都相同时,两者间底层开销基本也相同,但是EDAA算法比SMART算法总数据传输量要更少。而且SMART算法数据传输量大小由安全阀值t决定,但是EDAA算法的数据传输量大小与安全阀值t没有直接关系,因此EDAA算法比SMART算法在总的网络传输性能上有更优良的性能。
本文介绍了无线传感器网络数据融合的相关概念和关键技术,然后在SMART算法的基础上提出了一种改进有效数据融合算法,最后利用NS2仿真平台对其传输开销进行仿真测试。仿真结果表明,相比SMART算法,本文所提的数据融合算法是EDAA能够更有效的减少传输开销并且节省节点能耗。
[1]于海斌,曾鹏,等.智能无线传感器网络系统[M].北京:科技出版社,2006.
[2]Akkaya K,Demirbas M,Aygun R S.The impact of data aggregation on the performance of wireless sensor networks[C].wireless communication&Mobile Computing.2008:171-193.
[3]刘鑫芝.无线传感器网络安全数据融合的研究[J].计算机与现代化,2010(5):151-155.
[4]J.Girao,D.Westhoff,M.Schneider.CDA:Concealed data aggregation for reverse multicast traffic in wireless sensor networks.In:proc of IEEE International Conference on Communications[M].Washington:IEEE Computer Society Press,2005:3044-3049.
[5]杨勇,方勇,周安.秘密同态技术研究及其算法实现[J].计算机工程,2005,31(2):157-159.