曹晓梅,沈何阳
(1.南京邮电大学无线网络联合实验室,南京210003;2.南京邮电大学信息安全,南京210003)
无线传感器网络WSN(Wireless Sensor Network)是由部署在监测区域内大量的微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中的感知对象的信息,并发送给观察者[1]。WSN被广泛应用于军事、环境监测和预报、健康护理、智能家居、建筑物状态监控以及城市交通等领域。由于WSN节点通常被部署在无人监管的环境中,很容易受到恶意攻击,尤其当WSN被应用于军事、经济等存在敌我博弈的场景中时,安全问题尤为重要。数据融合技术是WSN的重要支撑技术,避免了大量冗余信息的传输,但融合节点往往承载着重要的数据信息,如果融合节点遭到攻击,那么得到的信息可能无效,甚至有害[2]。因此,实现数据融合过程中的数据安全,同时减少节点的能量损耗,是数据融合要研究的重点。
Joao Girao等人最先提出了一种适用于WSN的基于同态加密的数据融合方案—CDA[3],该方案利用同态加密算法实现端到端的数据传送,提供了较高的数据保密性。研究者在此基础上提出了多种基于同态加密的算法方案[4-5],这些文中所提出的算法都是相对较成熟的,并且能提供较高的可靠性。但是,同态加密给节点的计算带来了很大的开销,因而,增加了网络的开销。Cam等人提出了基于模式码的数据融合协议ESPDA[6],该方案采用基于模式码的比较实现数据的融合,有效的降低了网络开销,同时由于融合阶段传送的模式码,实现了数据的机密性。OSDA[7],SRDA[8],COER[9]等协议都旨在减少网络的开销,但是入手点却不尽相同,前者通过传送无实际物理意义的模式码代替原始数据,SRDA则通过传送比较差值来减少数据的冗余,而COER则是利用网络编码来减少网络能耗。另外,现有的基于完整性的数据融合协议,如:Secure DAV[10]以及蒋君杰等提出的基于多贴近度的可靠性融合方案[11],它们的计算存储量要求大,带来了很大的系统开销,并且节点的复制能力差,可能导致DOS攻击。
综上,李建明等人提出了一种可扩展性好的安全数据融合协议SSDAA[12]。该方案采用逐步认证μTESLA密钥,在汇聚阶段采用传送模式码形式,有效的保证了机密性,认证也不必等到汇聚完成,而是采用的两跳延迟认证,减少了时延,该方案最大的优点是采用公钥认证,利用两跳延迟来公布认证密钥,以达到认证的有效性。但是该方案当遇到节点被捕获时,尤其是中间节点被捕获,在认证阶段只能发现敌人发送了虚假数据,但该协议并不清楚具体被捕获的是孩子还是孙子节点,尤其是同时捕获孩子和孙子节点,敌人就可以任意的修改以孩子节点为根的子树,这种情况下,只能丢弃以孩子节点为根的整个子树,许多有用的信息将会丢失。Miloud Bagga等人在2009年提出了一种安全高效的协议SEDAN[13],该协议针对上述的问题,有了很好的解答,协议中每个节点保存4个密钥,分别是与父亲节点、祖父节点、孩子节点、孙子节点的共享密钥。传送的时候采用两个消息鉴别码,一旦某个节点被攻击,节点可以准确的知道是自己的孩子节点还是孙子节点被妥协,并且只丢弃相应的被攻击了的节点。另外,相较于SSDAA协议的认证方案,由于采用的不同于TESLA的密钥分配,能耗比较小。但是没有考虑整个网络的能量均衡等因素,仍有不足之处。
针对上述的不足,本文提出的SPDAA方案采用基于两跳的认证技术,可避免节点因盲目拒绝而造成重要数据丢失,并且密钥的分配能耗小,同时优化节点处的选择,可以均衡全网的能耗,延长网络生命周期。
本文针对无线传感器网络在应用中的需求和目前安全数据融合协议存在的问题,提出了一种安全数据融合方案SPDAA。假设网络环境相对稳定,并且节点的分布较为密集,节点的位置较固定。下面用图1来描述SPDAA协议在一轮会话中的过程。
图1 SPDAA的流程图
如图1所示,SPDAA方案的步骤如下:
步骤1 感应节点采集数据,利用差值比较算法选择是否参加本轮的会话,执行模式生成算法,生成模式码PC并向上层节点发送,节点在发送模式码的同时,把自己的剩余能量和初始能量的百分比一起发送给上层节点,以便上层节点根据能量选择通信节点,以均衡网络能量;
步骤2 各级的中间融合节点在接受到数据后,对其中的模式码做比较,并根据模式生成算法,确定冗余集合。中间节点在接受融合模式码的同时,可以对消息中包含的两个MAC值(一跳消息认证码(OHM),两跳消息认证码(THM)。)进行认证,根据认证的结果来确定是否接受还是拒绝汇聚结果;
步骤3 若是接受消息,则依据融合节点处融合算法将数据融合后向上层节点汇聚,直到基站,然后基站反馈被选中的节点。若是被拒绝,则发出警告,表明其孩子或者孙子节点已经被攻击;
步骤4 被选中的节点根据一定的加密算法安全的发送原始感应数据。一轮会话结束。
传感器网络是一个周期性的感应过程,其他周期重复上面的步骤。
我们假设网络环境相对安全,运用一种新型的密钥分布方案SEDAN,该方案中每个节点分别保存两跳内的会话密钥,每个节点保存四个密钥,分别是与孩子、孙子、父亲、祖父之间的共享密钥。
设j为节点i的父节点,k为i的祖父节点;l为i的孩子节点,m为i的孙子节点,并且有融合函数f(d1,d2,d3,d4,d5)=f(d1,(d2,d3,d4),d5)成立,以下是各种符号的简介:
A→B:节点A发送消息给节点B。
Ki,j:节点i与节点j之间的密钥对。
IDi:节点i的唯一地址身份标识符。
Er/Em:节点剩余能量和初始能量之间的百分比。
PCi:节点i的模式码。
MAC(K,M):用密钥K加密的消息认证码。
F(PC1,PC2):中间节点融合函数。
每个节点在确定其部署位置之后,分别保存上述的四个密钥即与其孙子,孩子,父亲,祖父之间的密钥对。这个密钥只建立一次,建立后不更换。图2是一个简化的传感器层次网络模型:假设只有叶子节点A、B、C、D感应数据。
图2 节点层次简化图
在SPDAA算法中,节点的传送数据模式如下:
步骤1 节点A向其父亲节点E发送数据:
A→E:IDA,NA,PCA,Era/Ema,
上述数据结构为节点A发送给其父节点的数据,其中包括节点A的ID,随机数据nonce,节点生成的模式码,剩余能量与初始能量的百分比,以及两个消息认证码。其中第一个是用节点A与其父节点E之间共享密钥加密的消息认证码,被称作一跳消息认证码——One Hop MAC(OHM)。第二个消息认证码是用与其祖父节点G之间共享密钥加密的消息认证码,被称作两跳消息认证码——Two Hop MAC(THM)。这两个消息认证码实现父节点、祖父节点分别认证消息来源。
步骤2 节点B类似的发送消息给中间节点E,E根据与孩子节点A,B之间共享的密钥,来认证是否是A,B节点发来的消息(详解见认证算法描述),然后,节点E根据融合算法融合其接收到的数据。并发送如下消息给其上层节点:
这样节点G利用THM就可以根据E发来的消息,直接认证A,B节点发来的源数据,同时利用OHM来认节点E是否有篡改融合数据。
节点F的数据处理过程类似于节点E。
步骤3 同理,节点G认证通过后,向基站发送数据,基站可以通过验证THM来证实节点G是否有篡改数据。
这样基站收到来自G以及其他的分支的消息之后,根据模式码计算其融合值,并确定最终的被选节点的集合,然后反馈被选节点给网络。被选节点再根据一定的加密算法,安全的传送原始感应数据给基站,而中间节点不需要对接受到的消息进行解密,直接向上转发。
还是利用图2来描述,当节点G接受到节点E发来的消息后,它可以根据E发来的消息,分别认证其孩子节点,以及孙子节点。以确认其子孙节点是否篡改消息:
首先,利用KG,A来计算MAC,并将结果与E发过来的 MAC(KA,G,PCA‖NA)作对比,如果相等,则认证了节点A。同理利用KG,B验证节点B。其次,利用KG,E来计算G的一跳OHM值,并将结果与E发过来的 MAC(KE,G,NE‖f(PCA,PCB)),若相等,则说明节点E没有篡改消息。
同理,类似的可以验证F。一旦认证不通过,节点可以清楚的知道是其孩子节点,还是孙子节点被妥协了,并且可以清楚的知道具体是哪一个节点被俘,一旦监测出异常,就会全网通知该节点已经被捕获,并且自动的删除与该节点之间的共享密钥。若是中间节点被俘,如F,在删除了F之后,节点由于跟其孙子节点有共享密钥,这样不影响整个网络的连通性,可扩展性比较好。
SSDAA以及SPDAA协议都是实施在TinyOS环境下的,以下所有的仿真都是通过 TOSSIM(TinyOS mote simulator)仿真工具实现的。TOSSIM是无线传感器网络常用的一种仿真工具,它能直接从TinyOS应用的组建表编译仿真程序。最后我们通过MATlab绘制仿真图形。
由于SPDAA协议采用的是基于两跳的认证方案。由上述认证过程的分析可知,SPDAA协议可以有效的防止假冒攻击,减少甚至避免因针对攻击时的盲目拒绝而导致重要数据的丢失。
图3显示了由于盲目拒绝而导致的数据丢失和攻击者位置与基站距离之间的变化关系,有图可见,SPDAA方案所采用的加密算法在处理盲目拒绝时相比于SSDAA方案有明显的优势,数据的丢失率较小。在SSDAA中由于认证算法采用的是延迟公布认证密钥的方法,在遇到节点被攻击妥协的情况下,节点并不能具体指出是哪个子节点受到攻击,只能检测出B或者A节点被妥协了,因而,采取的是丢弃以B节点为根的整个子树节点,这样数据的丢失比较多,甚至可以注意到,数据的丢失率是100%。而SPDAA方案使用的两跳密钥对共享方案,中间节点分别与孩子孙子节点之间共享密钥对,一旦某个节点被捕获,中间节点可以准确的判断被捕获的节点,并移除被捕获的节点,而不是采取丢失子树。相较与协议SSDAA而言,由于越靠近基站,节点融合的信息越多,当攻击者的位置越靠近基站时,该协议的优势可以越加凸显,从而减少有效数据的丢失。
图3 入侵者位置与数据丢失率的关系图
本文提出的SPDAA协议在在感知节点处设置了差值比较算法,对减少网络数据的冗余度有很显著的功效。还是利用图2做比较,其中A、B、C、D节点中,若是节点A和C分别计算到的差值都是小于阈值的,那么它们就直接进入休眠状态。只有节点C和D参加本轮的会话。当网络的规模比较大的时候,优势就很明显,所以该方案在节点分布密集的网络环境下很有优势。最重要的是可以减少上层节点的通信量。
SPDAA协议同时还考虑了节点的剩余能量的情况,图4显示了没有考虑节点能量因素的协议和SPDAA协议中的网络节点的衰竭率的比较。由于SPDAA协议中提出了一个节点剩余能量和初始能量百分比的因子Er/Em,例如在基站进行选择的时候,A和C具有相同的模式码,基站选择的时候,通过比较每个节点参加会话的频率的大小,来确定本轮会话选哪个节点,尽量减少节点频繁发送消息而导致能量衰竭的情况,有效地延长了整个网络的生命周期。
图4 网络的会话轮数和节点衰竭比较
本文提出了一种无线传感器网络的安全数据融合协议SPDAA。与SSDAA协议类似,融合操作都是基于无物理意义的模式码,从而保证融合过程中的数据保密。SSDAA协议在解决节点攻击问题时往往采用盲目拒绝方式,造成大量有效数据丢失。相比较而言,SPDAA协议采用的是基于两跳的加密认证算法,与SSDAA采用的延迟公布密钥的认证算法相比较,在解决节点攻击问题方面更有优势。另外,SPDAA协议在节能方面提出了两点改进,可以有效的减少节点的衰竭度,延长网络的生命周期。同时该协议采用的基于密钥对的加密认证,不同于SSDAA采用的μTESLA密钥链。在密钥的管理上相对简单,能耗小。
[1]孙利民,李建中.无线传感器网络[M].清华大学出版社,2005:3-5.
[2]罗蔚,胡向东.无线传感器网络中一种高效的安全数据融合协议[J].重庆邮电大学学报,2009,21(1):110-114.
[3]Girao J,WesthoffD,SchneiderM.CDA:Concealed Data Aggregation for Reverse Multicast Traffic in WSN[C]//ACM Workshop on Wireless Security.2005.
[4]Poornima A S,Amberker B B.SEEDA:Secere end-to-end Data Aggregation in Wireless Sensor Networks[C]//IEEE Tran on Wireless and Optical Communications Networks(WOCN),2010:1-5.
[5]Liu Xinzhi.The Data Fusion of Wireless Sensor Network[J].Cmputer and Modernization,2010,177(5):151-159.
[6]Cam H,Ozdemir S,Nair P.ESPDA:Energy Efficient and Secure Pattern Based Data Aggregation for Wireless Sensor Network[C]//IEEE Society Press,2003,732-736.
[7]Qin Xiaoliang,Wei Qinfang.Optimal and Senure Comparison Based Datda Aggregation Protocol for WSN[J].Journal of Chongqing University of Posts and Telecommunications,2011,23(6):753-757.
[8]Sanli H O,Ozdemir S,Hasan Cam.SRDA:Secure Reference-Based Data Aggregation Protocol for WSN[C]//Processing of the IEEE VTC Fall Conference.2004.
[9]田贤忠,朱金凤,陈群,等.无线网络中基于编码感知的能量优化路由算法[J].传感技术学报,2012,25(9):1304-1310.
[10]Mahimakar A,Secure T R.DAV:A Secure Data Sggregation and Verification Protol for Sensor Networks[C]//Proceeding of the IEEE Global Telecommunications Conference,2004.
[11]蒋君杰,戴菲菲,彭力,等.基于扩维贴近度的多传感器一致可靠性融合方法[J].传感技术学报,2012,25(9):1312-1315.
[12]张建明,廖建勇,周四望,等.传感器网络中可扩展性好的数据汇聚与认证协议[J].计算机工程与应用,2006,20:108-113.
[13]Bagga M,Lasla N.SEDAN:Secure and Efficient Protol Data Aggregation in WSN[C]//University of Science and Technology Houari Boumediene,LSI lab,2009.