软件学报  2014, Vol. 25 Issue (10): 2385-2396   PDF    
传感器网络中一种基于单向哈希链的过滤方案
刘志雄1, 王江涛1, 王伟平2, 刘华富1, 王建新2, 张士庚2    
1. 长沙学院 计算机科学与技术系, 湖南 长沙 410022;
2. 中南大学 信息科学与工程学院, 湖南 长沙 410083
摘要:已有传感器网络中,过滤机制只能在转发过程中过滤虚假数据而无法过滤重复数据,且无法防范协同攻击.提出了一种基于单向哈希链的过滤方案HFS.在HFS中,节点在部署后将密钥和初始哈希值预分发给部分中间节点存储,每个数据包附带t个MAC和新鲜哈希值,转发节点同时对数据包中检测节点之间相对位置关系的合法性、MAC和哈希值的正确性以及哈希值的新鲜性进行验证.理论分析及仿真实验结果表明,HFS可同时过滤传感器网络中的虚假数据和重复数据,并能有效对抗协同攻击.
关键词无线传感器网络     虚假数据     重复数据     单向哈希链     协同攻击    
One-Way Hash Chain Based Filtering Scheme in Wireless Sensor Networks
LIU Zhi-Xiong1, WANG Jiang-Tao1, WANG Wei-Ping2, LIU Hua-Fu1, WANG Jian-Xin2, ZHANG Shi-Geng2    
1. Department of Computer Science and Technology, Changsha University, Changsha 410022, China;
2. School of Information Science and Engineering, Central South University, Changsha 410083, China
Corresponding author: WANG Jiang-Tao, E-mail: wjt77y@163.com
Abstract: Existing filtering schemes in wireless sensor networks can only filter out false reports but not the replayed reports during forwarding. Furthermore, they can not resist cooperative attacks. In this article, a one-way hash chain based filtering scheme (HFS) is presented. In HFS, each node distributes its key and initial hash value to some other nodes after deployment. When a report is generated for an observed event, it carries the MACs and fresh hash values from t detecting nodes. Each forwarding node validates the legitimacy of the relative position of the detecting nodes carried in the report, the correctness of the MACs and hash values, and the freshness of these hash values. Analysis and simulation results show that HFS can not only filter out false reports and replayed reports simultaneously, but also resist collaborative attacks efficiently.
Key words: wireless sensor networks     false reports     replayed reports     one-way hash chain     collaborative attacks    

随着通信技术、嵌入式计算技术和传感器技术的飞速发展和日益成熟,无线传感器网络(wireless sensor networks,简称WSNs)在军事和民用领域获得了越来越广泛的应用[1].传感器网络通常部署在野外或者是敌方区域,攻击者可以通过俘获节点并利用存储在节点内的秘密信息捏造事实上不存在的虚假事件,发动虚假数据注入攻击[2],或者将缓存的合法数据重复注入到网络中[3].这些非法数据将会引发错误警报、干扰用户决策并消耗宝贵的网络资源[4].

鉴于虚假数据和重复数据的威胁,不少学者提出了一些解决办法[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13].它们的共同特点是:在数据包后附带t个消息验证码(message authentication code,简称MAC)或时间戳等额外信息,并在数据转发过程中对MAC实施认证,这里,t是系统参数.这些方案可以有效过滤虚假数据,但若攻击者利用妥协节点将缓存的合法数据重复发送到网络中,则中间节点将无法进行过滤,导致重复包最终都传输到sink,造成网络能量的浪费.此外,它们无法检测和过滤由不同地理区域的妥协节点协同伪造的虚假数据.如图 1所示,假设t=5,R0为针对突发事件e所产生的合法数据报告,S1,…,S5为妥协节点.若攻击者利用妥协节点S5将缓存的数据包R0重复发送到网络中,或者利用不同地理区域的妥协节点S1,…,S5协同伪造假包R1并发送到网络中,则转发节点和sink都无法进行过滤.

Fig. 1 Replayed and false reports injection attack in WSN图 1 攻击者利用妥协节点注入重复数据和虚假数据

本文提出一种基于单向哈希链的过滤方案HFS,将节点邻居信息(包括邻居节点ID、密钥及初始哈希值)预分发给部分中间节点存储,并在数据报告中同时附带t个检测节点的ID、所产生的MAC以及新鲜的哈希值,然后由中间节点在转发过程中对数据包中包含的检测节点之间相对位置关系、MAC以及哈希值进行验证,从而同时将虚假数据和重复数据过滤掉,并有效抵抗协同攻击.

1 相关工作

Ye等人率先对传感器网络中虚假数据过滤的问题进行了讨论,提出了SEF机制[3].SEF将一个全局密钥池分成n(n>t)个密钥分区,每个分区包含m个密钥.每个节点在部署前随机地从全局密钥池中选取一个密钥分区,并从中任选k个密钥进行存储.检测到突发事件后,多个检测节点联合产生一个包含t个互不相同的MAC的数据报告.在数据包转发过程中,与检测节点拥有相同密钥分区的中间节点能够以概率k/m对数据包中的一个MAC进行验证.所有漏过转发过滤的假包将最终由sink进行过滤.SEF存在如下两个问题:首先,若攻击者利用妥协节点将缓存的合法数据重复发送到网络中,则其邻居节点都无法进行检测,从而迅速耗尽节点有限的能量;其次,若多个妥协节点利用所获取的密钥协同伪造虚假数据,转发节点也无法对其进行过滤.

Zhu等人提出了在路由时进行交叉、逐步认证的机制IHA[4].IHA将节点组织成簇,每个簇头(cluster head,简称CH)建立一条到sink的路径;接下来,路径中相距t+1跳的节点通过建立对偶密钥的方式成为协作节点.检测到突发事件后,每个检测节点利用与sink共享的私钥以及与下游协作节点共享的对偶密钥产生两个MAC.簇头收集t+1个检测节点的MAC信息生成数据报告.在转发过程中,每个节点对数据包中由其上游协作节点所产生的MAC进行验证,一旦验证成功,再利用与下游协作节点共享的对偶密钥重新计算一个MAC,并替换上游协作节点所产生的MAC.如此交叉、逐步验证,以过滤假数据.IHA采用一种确定性的方式进行密钥分发和数据验证,限制了网络中不同区域的妥协节点协同地伪造假数据包.然而,一旦路由发生变化,这种确定性的数据验证方式也随之失效,重新建立路由并分发密钥需要较大的维护开销.

Yu等人提出了一种基于成组的转发过滤方案GRSEF[5].GRSEF将节点分成t组,每组中有多个节点以较大概率同时感知到突发事件;接下来,采用多坐标系对网络区域进行划分;然后,基于区域进行认证密钥分发.检测到突发事件后,来自不同组的节点联合产生一个数据报告.与SEF,IHA相比,GRSEF能够通过减少数据包中冗余信息而有效提高过滤假包的概率,但多轴划分和密钥分发消耗了较多的网络能量,不利于节省有限的传感器网络资源.

Yang等人认为对称密钥技术的安全性较低,提出了一种基于密码交换(commutative cipher)的路由过滤机制CCEF[6].该方案假设各节点与基站共享一个会话密钥(session key),路由中,报文转发节点不知道报文源节点991的会话密钥,但可以通过交换密码对数据包进行认证,从而提高了安全性.Wang等人利用椭圆曲线密钥技术来进一步提高CCEF的安全性,提出了PDF机制[7].Ren等人将网络划分为多个cells,通过门限共享技术和公钥机制来保证数据的安全性,提出了LEDS机制[8].

Perrig等人提出了检测重复数据的SPINS机制[9],其基本思想是:在发送方和目标方各维护一个计数器,且计数器每次更新,发送方利用哈希函数[10]对计数器加密后附在数据包中一起发送,目标方解出计数器并实施认证. Zigbee协议(即IEEE 802.15.4)也采用计数器作为时变参数来检测重复数据[11].Yu等人提出基于随机数检测重复数据的方案SRAR[12]:发送方利用哈希函数对随机数加密后附在数据包中发送,目标方解出随机数并实施认证.Chen等人提出基于时间戳的检测方案TSPC[13],该方案要求所有节点保持时间同步,发送方在数据包中嵌入时间戳,目标节点对时间戳实施认证.

SEF,IHA,GRSEF等方案只能过滤虚假数据而无法过滤重复数据,且无法防范协同攻击;CCEF和LEDS等方案采用效率低且开销大的公开密钥技术,无法顺利应用在性能有限的传感器网络中;SPINS和Zigbee等方案只能由sink检测重复数据而无法在转发过程中过滤;TSPC方案要求所有节点保持时间同步,也无法顺利应用在能量有限的传感器网络中.本文研究如何在转发过程中同时过滤传感器网络中的重复数据和虚假数据,并有效对抗协同攻击.

2 基于单向哈希链的过滤方案HFS 2.1 系统模型及相关假设

假设sink节点拥有全局密钥池信息、单向函数以及所有节点用来产生单向哈希链的随机数,且能量充足,具备强大的计算、存储和自我保护能力,无法被妥协,并能够过滤所有最终到达的重复数据和虚假数据.

假设传感器节点部署密度足够大,每个突发事件e都可被多于t个节点同时检测到.各个检测节点共同选举感知信号最强(即距离e最近)的节点作为中心节点(central of stimulas,简称CoS).与SEF[3]一样,本文假设所有检测到突发事件e的节点都能直接与CoS通信.CoS收集其他检测节点产生的MAC,并从中任选t个以生成数据报告.

假设网络在部署后一段较短的时间内是安全的,没有节点被俘获.节点交换邻居信息、分发邻居信息均在这一时间段完成.网络部署后,攻击者可以俘获网络中的多个节点,利用存储在这些节点中的秘密信息伪造虚假数据,并发送到网络中或者重复注入合法数据包.此外,攻击者还可以篡改、污染合法数据包等[3, 19],但本文仅针对攻击者注入虚假数据和重复数据的情形提出一种解决方案.

2.2 节点部署与初始化

部署前,给每个节点分配唯一的ID标识.存在一个全局密钥池G={Ki:0≤iW-1},每个节点Si从中随机选择一个互不相同的密钥进行存储.此外,还给每个节点Si预置一个随机数xi和单向函数F,该函数具备“单向、不可逆”特性,即:给定输入参数a,很容易计算F(a)=b;但反过来,无法由b推出a[14].

接下来,各节点Si按如下步骤生成一条长度为u的单向哈希链:

· 先计算F(xi)=y1,F2(xi)=F(y1)=y2,…,Fu(xi)=F(yu-1)=yu;

· 接下来,令,即得到单向哈希链,其中,(1≤qiu)表示节点vi的哈希链中第qi个哈希值.

根据函数F的性质:由可以计算得到索引值小于qi的哈希值,如公式(1)所示,但无法计算索引值大于qi的哈希值.

(1)

部署后,各节点Si生成包含节点ID、密钥Ki以及哈希链中索引值最小的哈希值的短消息{Si,Ki,},并

广播该消息.接收到邻居节点发送的短消息后,节点Si生成一个hello包:

其中,Si的邻居节点的ID,为节点所存储的密钥,为节点的索引值最小的哈希值.接下来,Si建立一条到sink的路径Path(Si)={Si,S1,…,Sd,sink},并将hello消息沿Path(Si)进行传输.此外,Si将使用过的哈希值从哈希链中删除.

接收到hello包后,中间节点Sk(1≤kd)存储节点Si的邻居信息:,并以概率ck/c0成为Si的验证节点,其中,ckc0分别表示节点SkSi距离sink的跳数.若成功当选为Si的验证节点,Sk从hello包中任选一个节点(1≤xj),并以格式存储的信息,然后将的密钥和哈希值从hello包中删除(保留节点号),接下来转发hello包;反之,若没有当选为Si的验证节点,Sk直接转发hello包.hello包传输到sink后不再转发.图 2给出了密钥和哈希值分发的过程.

Fig. 2 Keys and hash value pre-distribution图 2 密钥和哈希值预分发
2.3 数据报告生成

事件发生后,各个检测节点共同选举出感知信号最强的节点作为中心节点,中心节点将感知数值e(包括事件内容、事件位置以及发生时间)发送给各检测节点.检测节点Si收到数据e后,将自己的感知数值与e进行比较,若误差在规定的阈值范围内,则利用密钥Kie进行加密,生成消息认证码MAC:Mi=Ki(e).接下来,各检测节点将节点ID、MAC、哈希链中索引值最小的哈希值以及哈希值索引发送给CoS,然后从哈希链中删除刚使用过的哈希值.CoS收集其他t-1个检测节点的信息,并将CoS以及其他t-1个节点的ID、MAC、哈希值及索引附带在感知数值e后面,生成数据报告,且必须将CoS的信息置于其他检测节点的信息之前.例如,假设S1,S2,…,St共同检测到突发事件e,其中,S1为CoS,则生成的数据报告为R:{e;S1,…,St;q1,…,qt;;M1,…,Mt}.其中,Sjqj(1≤jt)分别表示节点号和哈希值索引.接下来,CoS将数据报告R转发给下一跳.与SEF一样,HFS采用布鲁姆过滤器(Bloom filters)[15]将数据包中附带的MAC和哈希值分别映射成长度为Ls的两个字符串,以减小数据包长度以及节点的存储开销.

2.4 转发过滤

由于预先存储了上游源节点的邻居信息以及部分上游节点的密钥和初始哈希值,中间节点能以一定概率对数据包中各检测节点之间相对位置关系、MAC以及哈希值进行验证.

当接收到转发数据包R时,中间节点Si首先对数据包中附带的节点ID、哈希值及索引、MAC的数量进行检查,然后根据预存储的邻居信息检查各个检测节点之间相对位置关系的合法性,接下来验证MAC的正确性,最后验证哈希值的新鲜性和正确性.中间节点对数据包R的具体验证步骤如下:

(1) 检查数据包R中包含的节点ID、哈希值、哈希值索引以及MAC是否各为t个.若任何一项的数量不符合要求,则丢弃R;

(2) 检索存储的邻居信息表,若没有存储中心节点S1的邻居信息,则丢弃R;

(3) 检查R中各个检测节点S2,…,St是否都是S1的邻居节点.若其中任意一个节点不符合要求,则丢弃R;

(4) 若存储了R中某个检测节点Sv(1≤vt)的密钥Kv,则利用KvE重新计算一个M并与R中附带的Mv比较:若二者相等,则说明Mv正确;否则,丢弃R;

(5) 若存储了R中某个检测节点Sv(1≤vt)的哈希值则先将qdR中附带的Sv的哈希值索引qv 进行比较:

·qvqd,则说明R中的哈希值不新鲜,故丢弃R;

· 反之,则接下来判断是否成立:若成立,则说明哈希值正确,并将所存储的哈希值更新为;否则,丢弃R;

(6) 若以上验证都通过,则将R转发给下一跳节点.

图 3为转发过滤算法伪代码.

Fig. 3 Psuedo-Code in en-route filtering图 3 转发过滤算法伪代码
3 性能分析与仿真结果

由于已有工作大都基于SEF框架,且都无法在转发过程中对重复数据进行过滤以及防范协同攻击,本文仅选取经典的SEF方案与HFS进行性能比较分析.

3.1 防范协同攻击的能力

在已有方案中,例如SEF,中间节点仅验证数据包中附带的MAC的正确性,故,不同地理区域的妥协节点(例如图 4所示中的S1,…,S5等)可被攻击者用来协同伪造虚假数据.

Fig. 4 Collaborative attacks in SEF and HFS图 4 SEF和HFS中协同攻击比较

而HFS将源节点邻居信息预分发给下游节点存储,并由转发节点对数据包中各检测节点之间相对位置关系的合法性进行验证(即,判断各检测节点是否都是中心节点CoS的邻居),从而可以有效地对抗协同攻击.例如,假设攻击者俘获了分布于不同地理区域的节点S1,…,S5,然后以S1为CoS伪造假包R:{E;S1,S2,…,S5;M1,M2,…, M5}并发送到网络中.当接收到R后,若存储了S1的邻居信息,则转发节点可以判断出S2不是S1的邻居,从而将R丢弃;反之,若没有存储S1的邻居信息,说明R不是正确的源节点所产生的包,故也将R丢弃.

3.2 妥协容忍能力

根据过滤规则,攻击者在俘获至少t个不同的密钥分区之后,便可彻底攻破SEF安全机制.例如,当t=5时,攻击者在俘获了图 4中拥有不同密钥分区的节点S1,…,S5之后,即可伪造出SEF无法过滤的假包.而为了攻破HFS,攻击者必须俘获至少t个节点,且其中存在节点S,使得其他妥协节点都是i>S的邻居.例如,当t=5时,攻击者在俘获了图 4中节点S6及其邻居S7,…,S10之后,便可伪造以S6为CoS的假包,并利用S6,…,S10构造5个正确的MAC以及合法的节点ID,使得转发节点和sink都无法对假包进行过滤.

定理1. 在SEF中,假设存在n个密钥分区,网络中每个节点随机选择一个密钥分区进行存储.假设攻击者从网络中随机俘获了Nc个节点(Nct),则其中至少存在t个节点的密钥分区不同的概率为

(2)

证明:首先计算随机俘获Nc个节点后(Nct),攻击者获得刚好t个密钥分区的概率.记Nc个妥协节点所构成的集合为Q1;从n个密钥分区中任取t个的方法数量为C(n,t),并记选取的t个密钥分区所构成的集合为Q2,则Q1中的每个元素各从Q2中任取一个元素进行映射,使得Q2中每个元素都至少被映射一次的方法数量为

(3)

因此,从网络中随机俘获Nc个节点后,攻击者刚好获得t个密钥分区的方法数量为C(n,t)xj.同理可计算出攻击者刚好获得t+1个、t+2个、…、n个密钥分区的方法数量.于是,攻击者获得至少t个密钥分区的方法总数为

(4)

最后,Q1中的每个元素各从Q2中任取一个元素进行映射的方法数量为因此,当攻击者从网络中随机俘获了Nc个节点时,其中至少存在t个节点的密钥分区不同的概率为pSEF.得证.

定理2. 在HFS中,假设攻击者随机俘获了网络中的Nc(Nct)个节点,则其中至少存在这样的t个节点:“其中存在节点S,使得其他t-1个节点都是S的邻居(即与S的距离不大于节点通信半径rc)”的概率为

(5)

其中,p(m)为

(6)

证明:记网络区域面积为Z,半径为m的区域为M,则每个节点以概率pm2/Z分布在M中.故,M中刚好有t个妥协节点的概率为pb=C(Nc,t)x(pm2/Z)tx同理可求出M中刚好有t+1个、t+2个、…、Nc个妥协节点的概率.因此,攻击者获得至少t个同处于某个半径为m的区域中的妥协节点的概率为p(m).

另外,记事件“y(tyNc)个节点中,存在节点S,使得其他y-1个节点与S的距离都不大于节点通信半径rc”为a;记事件“y个节点同处于某个半径为rc/2的区域中”为a0;记事件“y个节点同处于某个半径为rc的区域中”为a1.显然有a0®a,a®a1.因此,p(rc/2)<pHFS<p(rc).得证.

图 5给出了当t=5,rc=2.5m,n=15,网络半径为25m时,pSEFpHFS的理论分析曲线和仿真实验结果.其中,pHFS的理论值介于p(rc/2)和p(rc)之间,仿真结果是在相同参数条件下随机测试10 000次的平均值.如图 5所示,攻击者在俘获少量节点后,便能以较高概率攻破SEF,但需俘获较多节点才能攻破HFS.例如,当Nc=20时,攻击者攻破SEF和HFS的概率分别为99%,0.01%.因此,由理论分析和实验结果分析可知,HFS的妥协容忍能力远强于SEF.

Fig. 5 Theoretical and simulation results of pSEF, pHFS, p(rc/2)<pHFS(theoretical value)<p(rc)图 5 pSEF,pHFS的理论值与仿真结果,p(rc/2)<pHFS(理论值)<p(rc)
3.3 过滤概率

首先分析HFS过滤重复数据的能力.由于每个转发节点以一定概率存储上游节点的验证哈希值,故,可以通过验证数据包中哈希值的新鲜性而过滤重复数据.重复数据在网络中传输的跳数越大,被过滤的概率也越大.

假设攻击者利用妥协节点S将缓存的合法数据包Ra重复发送到网络中.令S到sink的转发路径为Path(S)= {S,S1,…,Sd,sink},S的邻居节点数量为num(S),S到sink的跳数为c0,Si到sink的跳数为ci(1≤id),显然有ci=c0-i.由于中间节点Si以概率ci/c0存储源S的一个邻居节点的验证哈希值,故,碰巧拥有Ra中包含的t个节点中的一个的哈希值的概率为

(7)

因为Ra中包含的t个哈希值都是不新鲜的,故,每个转发节点Si能以概率pa_iRa进行过滤.因此,重复包RaH跳内被过滤的概率为

(8)

接下来分析HFS过滤虚假数据的能力.由于每个转发节点预存储了各个上游节点的邻居信息,并验证数据包中各检测节点是否都是中心节点的邻居,故,攻击者只能利用某个妥协节点S及其邻居来伪造假包.假设攻击者俘获了节点S以及SNd-1个邻居.当Ndt时,攻击者可以伪造出中间节点无法过滤的假包;当Nd<t时,攻击者为了伪造出以S为CoS且“看起来合法”的假包Rb,必须捏造St-Nd个邻居节点的MAC和哈希值.由于中间节点Si以概率ci/c0存储源S的一个邻居节点的密钥和哈希值,故,碰巧拥有这t-Nd个伪造的节点中的一个的密钥和哈希值的概率为

(9)

因此,假包RbH跳内被过滤的概率为

(10)

图 6所示为重复包和假包过滤概率随传输跳数H变化的曲线,其中,Nd=3,c0=20,num(S)=8,t=5.从图 6中可以看出,HFS能以较高概率同时对重复包和假包进行过滤.例如,前5跳过滤重复包和假包的比例分别达到96.4%和65%;随着传输跳数的增加,过滤比例越来越大,其中,所有重复包能在前8跳被过滤掉,约95%的假包在前20跳能被过滤掉.

Fig. 6 Filtering probability of replayed and false reports图 6 重复包和假包过滤概率
3.4 能量开销

HFS消耗的能量来自4个方面:(1) 在初始化阶段,节点获取邻居信息、建立到sink的路径以及将邻居信息分发给中间节点的开销;(2) 生成数据包时,中心节点CoS与其他检测节点之间的通信开销;(3) 中间节点进行MAC验证和哈希值验证的计算开销;(4) 中间节点转发数据包的通信开销.在阶段(1)和阶段(2)两个阶段中,节点之间交互的数据包较小,且持续时间较短;此外,阶段(3)中,MAC及哈希值的计算开销比传输数据包的能耗低了几个数量级[4, 16, 17, 18].因此,我们仅考虑转发数据包的能耗.

Lr,Ln,Li,Lk以及Ls分别表示不采用安全机制时的纯数据包长度、节点号长度、密钥索引长度、哈希值索引长度以及布鲁姆过滤器长度,则HFS和SEF中数据包长度可分别表示为=Lr+2Ls+(Ln+Lk)t,= Lr+Ls+tLi.例如,当Lr=24bytes,Ln=10bits,Li=10bits,Lk=10bits,Ls=64bits时,分别为52.5bytes和38.25bytes.

显然,与SEF相比,HFS在数据包中增加的额外负荷将导致传输能量的增大,但考虑到HFS具备防范协同攻击及过滤重复数据的能力,这些额外开销是可以承受的.此外,若攻击者利用不同地理区域的妥协节点协同注入假包,或者注入重复包,则HFS可以通过尽快将假包和重复包过滤掉而比SEF要节省能量,我们将在仿真实验部分对此进行验证.公式(11)给出“1虚假数据+b重复数据”在HFS中传输H跳所消耗的能量.

(11)

3.5 存储开销

在HFS中,每个节点需存储一个预分配的密钥、一条长度为u的单向哈希链、所有上游源节点的邻居信息以及部分上游节点的密钥和哈希值.假设网络区域为50x50m2,其中随机部署了400个通信半径为2.5m的节点,则每个节点的平均邻居节点数量为8,所在平均路径数量为40.当密钥、节点ID、哈希值及哈希值索引的长度分别为64bits,10bits,64bits和10bits时,存储一个预分配的密钥、一条长度为u的单向哈希链、40个上游源节点的邻居信息以及100个上游节点的密钥和哈希值约需2.3KB.当前,主流节点(如UCB研制的MICA2节点)配置3KB以上的SRAM和128KB以上的ROM[2],显然能够满足需求.此外,哈希链长度u的取值必须足够大,为了减少存储开销,节点可以仅存储哈希链中部分哈希值,例如第k个、第2k个、…,并由这些存储的值来计算其他哈希值.

3.6 仿真实验

为了进一步验证HFS的性能,本文利用C++语言建立了模拟仿真平台.仿真环境如下:传感器节点随机分布在一个方形网络区域中,一个静态源节点和一个静态sink节点分别位于区域两侧.节点发送和接收一个SEF数据包的功耗分别为60mW和12mW[3],发送和接收一个HFS数据包的功耗分别为81mW和16mW,发送一个数据包耗时10ms.其中,源节点产生假包和重复包各100个.其他仿真参数的设置见表 1.实验考察的性能指标主要为妥协容忍能力、过滤概率以及能量消耗,考察的参数主要为妥协节点数量Nc和传输跳数H.取10次仿真实验的平均值作为实验结果.

Table 1 Simulation parameters 表 1 仿真参数

为了有效评价相关机制的过滤能力,本文提出利用单跳可过滤假包或重复包的累积值f进行性能评价,如公式(12)所示:

(12)

其中,QH为第H跳过滤的假包或重复包个数.若某机制的过滤性能较好,则假包或重复包在网络中传输较少跳数即可被过滤,从而f(0≤f≤100)较大;若f=0,则说明该机制不具备过滤假包或重复包的能力.

图 7所示为f随妥协节点数量Nc的变化情况.从图 7中可以看出:

Fig. 7 Filtering probability changes according to the number of compromised nodes Nc图 7 过滤概率随妥协节点数量Nc变化

(1) HFS能容忍的妥协节点数量为110个,远多于SEF能容忍的12个.因为SEF无法防范协同攻击,故攻击者在俘获少量节点后即可攻破SEF;而HFS能通过相对位置关系验证防范协同攻击,故攻击者需俘获大量节点才能攻破HFS;

(2) SEF的假包过滤能力随Nc的增大而迅速降低,当Nc为12时f便降为0;而HFS的假包过滤能力随Nc的增大缓慢降低,仅当Nc为110时,f才减为0;

(3) HFS具备较好的重复包过滤能力(f=76.5),而SEF无法过滤重复包.因为HFS在数据包中附带哈希值,故能通过哈希值的新鲜性验证将重复包过滤掉;而SEF没有在数据包中附带任何“时变参数”,故无法检测和过滤重复包.

图 8给出了当Nc=10时,过滤概率P随传输跳数H的变化情况.从图 8中可以看出:

Fig. 8 Filtering probability P changes according to the transmitted hops H图 8 过滤概率P随传输跳数H变化

(1) HFS能同时以较高概率对假包和重复包进行过滤,例如,前5跳过滤假包和重复包的比例分别达到80%和97%;随着H的增大,其过滤假包和重复包的概率都迅速增大,可分别在前10跳、前6跳将所有假包、重复包过滤掉;

(2) SEF在前5跳仅能过滤掉约25%的假包,且其假包过滤概率随H的增大而缓慢增大.例如,在前20跳仅能过滤掉约72%的假包.此外,SEF无法过滤重复包.

图 9所示为能耗E随妥协节点数量Nc的变化情况.从图 9中可以看出:

Fig. 9 Energy consumption E changes according to the number of compromised nodes Nc图 9 能耗E随妥协节点数量Nc变化

(1) 仅当Nc=0或Nc≥110时,HFS传输假包的能耗大于SEF.因为此时二者的假包过滤概率相同,而HFS数据包长于SEF,故HFS能耗更大.在其他情况下,HFS可通过尽早过滤假包而比SEF更节省能量;

(2) 随着Nc的增加,HFS传输假包的能耗增幅明显小于SEF.例如:当Nc由0增到100时,HFS能耗仅由0.97Joules增到19.4Joules;而仅当Nc由0增到12时,SEF能耗便由0.72Joules增到14.4Joules;

(3) HFS传输重复包的能耗远低于SEF,分别为1.06Joules和14.4Joules.

图 10给出了当Nc=10时,能耗E随传输跳数H的变化情况.

Fig. 10 Energy consumption E changes according to the transmitted hops H图 10 能耗E随传输跳数H变化

图 10中可以看出:

(1) SEF传输100个假包的能耗随H的增加而逐渐增大,例如,传输6跳和20跳的能耗分别为3.4Joules和9.6Joules;而等量假包在HFS中传输的能耗较少,例如,传输6跳时,E仅为1.5Joules,且6跳后E不再增大;

(2) SEF传输100个重复包的能耗随H的增加而逐渐增大,例如,传输20跳时E为14.4Joules;而等量重复包在HFS中传输6跳以上时E仅为2.02Joules.

4 结束语

本文提出一种基于单向哈希链的过滤方案HFS,将感知节点产生的MAC以及新鲜的哈希值附带在数据包中发送,由转发节点同时对数据包中各检测节点之间相对位置关系的合法性、MAC的正确性以及哈希值的正确性和新鲜性进行验证,从而可同时过滤传感器网络中的虚假数据和重复数据,并能有效对抗协同攻击.然而中间节点需存储较多信息,故,减少节点存储开销将成为进一步的工作.

参考文献
[1] Jian Q, Gong ZH, Zhu PD, Gui CM. Overview of MAC protocols in wireless sensor networks. Ruan Jian Xue Bao/Journal of Software, 2008,19(2):389-403 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/19/389.htm
[2] Su Z, Lin C, Feng FJ, Ren FY. Key management schemes and protocols for wireless sensor networks. Ruan Jian Xue Bao/Journal of Software, 2007,18(5):1218-1231 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/18/1218.htm
[3] Ye F, Luo HY, Lu SW, Zhang LX. Statistical en-route filtering of injected false data in sensor networks. In: Proc. of the 23th IEEE Conf. on Computer Communications (INFOCOM 2004). Hong Kong: IEEE Press, 2004. 2446-2457. http://ieeexplore.ieee.org/ stamp/stamp.jsp?tp=&arnumber=1354666
[4] Zhu SC, Setia SJ, Jajodia S, Ning P. An interleaved hop-by-hop authentication scheme for filtering of injected false data in sensor networks. In: Proc. of the IEEE Symp. on Security and Privacy (S&P 2004). Berkeley: IEEE Press, 2004. 259-271. http:// ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1301328
[5] Yu L, Li JZ. Grouping-Based resilient statistical en-route filtering for sensor networks. In: Proc. of the 28th IEEE Conf. on Computer Communications (INFOCOM 2009). Rio de Janeiro: IEEE Press, 2009. 1782-1790. http://ieeexplore.ieee.org/stamp/ stamp.jsp?tp= &arnumber=5062098
[6] Yang H, Lu SW. Commutative cipher based en-route filtering in wireless sensor networks. In: Proc. of the 60th IEEE Vehicular Technology Conf. (VTC 2004). Los Angeles: IEEE Press, 2004. 1223-1227. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp= &arnumber=1400217
[7] Wang HD, Li Q. PDF: A public-key based false data filtering scheme in sensor networks. In: Proc. of Int’l Conf. on Wlreless Algorithms, Systems and Applications (WASA 2007). Chicago: IEEE Press, 2007. 129-138. http://ieeexplore.ieee.org/stamp/stamp. jsp?tp=&arnumber=4288224
[8] Ren K, Lou WJ, Zhang YC. Providing location-aware end-to-end data security in wireless sensor networks. In: Proc. of the 25th IEEE Conf. on Computer Communications (INFOCOM 2006). Barcelona: IEEE Press, 2006. 585-598. http://ieeexplore.ieee.org/ stamp/stamp.jsp?tp=&arnumber=4358997
[9] Perrig A, Szewczyk R, Wen V, Culler D, Tygar JD. Spins: Security protocols for sensor networks. In: Proc. of the 7th Annual Int’l Conf. on Computing and Networking (MobiCom 2001). Rome: ACM Press, 2001. 521-534. http://dl.acm.org/citation.cfm?id= 582464
[10] Rivest R. The MD5 Message-Digest Algorithm. RFC, 1992. http://tools.ietf.org/html/rfc1321
[11] LAN/MAN Standards Committee. IEEE std. 802.15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low Rate Wireless Personal Area Networks (LR-WPAN). New York: IEEE Press,2003. 111-120. http://ieeexplore.ieee.org/xpl/tocresult.jsp?reload=true&isnumber=35824
[12] Zhang WS, Cao GH. Group rekeying for filtering false data in sensor networks. In: Proc. of the 24th IEEE Conf. on Computer Communications (INFOCOM 2005). Miami: IEEE Press, 2005. 503-514. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber =1497918
[13] Chen SJ, Dunkels A, Osterlind F, Voigt T, Johansson M. Time synchronization for predictable and secure data collection in wireless sensor networks. In: Proc. of the 6th Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net 2007). Corfu: IEEE Press, 2007. 165-172. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-79751
[14] Lamport L. Password authentication with insecure communication. Communications of the ACM, 1981,24(11):770-772. http:// dl.acm.org/citation.cfm?id=358797
[15] Bloom BH. Space/Time trade-offs in hash coding with allowable errors. Communications of the ACM, 1970,13(7):422-426. http:// dl.acm.org/citation.cfm?id=362692
[16] Ma M. Resilience of sink filtering scheme in wireless sensor networks. Computer Communications, 2006,30(1):55-65. http:// dl.acm.org/citation.cfm?id=1222519
[17] Gopu JR, Shekar TP, Sagar D. An active en-route filtering scheme for information reporting in wireless sensor networks. Int’l Journal of Advanced Research in Computer Science and Software Engineering, 2012,2(4):349-356. http://www.ijarcsse.com/docs/papers/April2012/Volume_2_issue_4/V2I400130.pdf
[18] Peng SL, Li SS, Liao XK, Peng YX, Xiao N. Estimation of a population size in large-scale wireless sensor networks. Journal of Computer Science and Technology, 2009,24(5):987-996. http://dl.acm.org/citation.cfm?id=1737727
[1] 蹇强,龚正虎,朱培栋,桂春梅,无线传感器网络MAC协议研究进展.软件学报,2008,19(2):389-403. http://www.jos.org.cn/1000-9825/19/389.htm
[2] 苏忠,林闯,封富君,任丰原.无线传感器网络密钥管理的方案和协议.软件学报,2007,18(5):1218-1231. http://www.jos.org.cn/1000-9825/18/1218.htm