传感器网络中一种基于双重认证的虚假数据过滤方案

2018-07-04 10:31刘志雄黎梨苗
小型微型计算机系统 2018年6期
关键词:攻击者数据包密钥

刘志雄,黎梨苗

(长沙学院 计算机工程与应用数学学院,长沙 410022)

1 引 言

无线传感器网络(WSN,Wireless Sensor Network)在健康医疗,交通监控和环境监测等领域均获得了越来越广泛的关注和应用[1].由于传感器网络往往是部署在环境恶劣的敌对区域,攻击者能够俘获节点并获取其中存储的机密信息,然后捏造虚假数据并注入到网络中[2],从而干扰用户决策,并耗费传感器节点宝贵的资源[3,4].

针对虚假数据的危害,国内外学者提出了一些应对策略[5-12],其共同之处是在数据包后携带t(系统阈值)个MAC,并由转发节点进行验证.这些机制在安全性方面获得了较好的效果,但假包须传输较大跳数才被过滤,不利于节省网络能量;且由于没有将密钥与部署区域绑定,无法防范地理上不相邻的妥协节点通过协作伪造虚假数据.

本文提出一种双重过滤虚假数据的方案DAFS,首先在节点间建立关联,以形成密集认证区域,并将密钥与所在簇绑定,然后由转发节点同时对数据包中两类MAC的正确性,以及位置的合法性进行验证,以提高虚假数据过滤效率,并检测由不同区域妥协节点协作伪造的假包.

2 相关工作

文献[5]率先对识别并过滤虚假数据进行了探究,提出了转发过滤的框架算法 SEF.其思想是将全局密钥池分成n(n>t)个密钥,每个分区含m个密钥.每个传感器随机存储一个分区中的k个密钥.检测到突发事件时,多个节点联合生成数据包,其中包含t个由来自不同密钥分区产生的MAC.转发节点以概率k/m对数据包中的MAC进行验证.最后由sink对漏过中转认证的假包实施验证.后续机制大都基于SEF所提框架.

文献[6]基于成组策略对假包进行过滤,将节点分成t组,采用多坐标系划分监控区域,并基于区域分发密钥.数据包由来自不同组的节点联合产生.该策略减少了数据包携带的冗余信息,但多轴划分和密钥分发不利于节省网络资源.

文献[7]将过滤能力视为信息论中的随机变量,并对其最优解进行了推导,然后结合对称密钥机制和公开密钥机制进行验证.该方案从理论上对虚假数据过滤进行了有益的探讨,但公钥机制存在效率低且开销大的特点.

文献[8]针对光学传感器网络提出了OARB机制,将节点组织成簇,并建立到sink的路径,中间簇头依次在转发过程中对数据包进行验证.限于节点性能,该方案很难扩展到常规传感器网络应用中.

文献[9]中提出了基于单向哈希链的HFS方案,一方面利用哈希值和MAC的正确性校验来过滤假包,另一方面通过哈希值的新鲜性验证以检测重复包.该方案能有效过滤假包和重复包,但哈希值的分发和存储需较大的节点开销.

文献[10]针对传感器网络中恶意节点选择性丢弃合法数据包的攻击行为,提出了途中过滤策略EFASD,每个节点保存其1跳和2跳邻居信息,转发节点联合其邻居节点共同对数据包中附带的单向链密钥进行验证.

3 基于双重认证的过滤方案DAFS

3.1 系统模型

网络部署后成簇,簇头负责产生数据包,并最终发送到sink.假定网络在部署后有一段较短的安全期,建立关联以及簇头与sink的交互都在这段时间完成.假设sink无法被俘获,掌握全局密钥信息,并具备强大的计算和通信能力.

节点被妥协后,其所存储的密钥信息也会被攻击者捕获.攻击者可以利用这些信息往网络中注入虚假数据,篡改合法数据,发送重复数据等.本文仅针对虚假数据注入攻击提出一种防范策略.

3.2 关联建立及密钥分发

存在大小为N的全局密钥池G,等分成n个不交叉的分区{Ui,0≤i≤n-1},每个分区的密钥数为m个(N=n×m).部署前,每个传感器节点随机选择一个分区中任意k个进行存储,此类密钥称为R型密钥.

节点部署后,如果某个节点在其所有一跳邻居中的ID最小,则该节点成为簇头CH.由于传感器的感知半径远大于其传输半径,故假定簇内所有节点能同时感知到发生在簇内的事件.CH收集簇内节点信息并生成hello包:{y,CH,S1,S2,…,Sy}.其中第一位y为计数器,初始值为簇内节点数;S1,S2,…,Sy表示簇内节点.

随后CH将hello包往sink方向发送出去,传输跳数由y控制.第一个中转节点Si收到包后,将节点数组的最后一位删去并记录Sy. 其中Si和Sy称为一对协作节点,Si称为上游节点,簇内节点Sy称作下游节点.接下来,Si将自己的节点号插入到节点数组的第一位,然后将包转发.计数器y减一,在其变为零之前,其它中转节点执行类似的操作.

hello包传输了y跳之后停止,最后一个中转节点Sj生成一个只包含其自身节点号的ACK包:{Sj},并将其沿hello包的逆向路径传输.中转节点依次将自己的节点号插入到包的最后一位,到达簇头时终止.接下来,簇内节点依次从ACK包中记录其上游协作节点的节点号.

协作节点之间通过短消息交互共享一对对偶密钥,该过程可利用文献[2]中的算法实现,此类密钥称为A型密钥.最后,簇内节点任选一个R型密钥对其A型密钥以及协作节点号进行加密,并发送给簇头,簇头再将这些信息进行压缩打包并发送给sink节点.建立了协作关系的区域能够对数据进行密集认证,称为“封锁区”,如图1所示.

图1 关联建立及密钥分发Fig.1 Association establishment and keys distribution

3.3 数据包生成

检测到突发事件后,簇头将感知值(记为e)发送给各个簇内节点.收到信息的检测节点S将感知数值与e进行比对,若差别小于预定的阈值范围,则认为两个数据相等,然后随机选一个R型密钥及其A型密钥产生签名:MR,MA,并发送给簇头.簇头收集t个节点的签名信息并生成数据报告:

R0:{C;e;R1,R2,…,Rt;MR1,MR2,…,MRt;

A1,A2,…,At;MA1,MA2,…,MAt}

(1)

其中C为包传输跳数计数器,其初始值等于y;R1…Rt为R型密钥,MR1为用密钥R1产生的MAC,称为R型MAC;A1…At为节点号,MA1为A1节点用与其上游节点共享的对偶密钥产生的MAC,称为A型MAC.本文和SEF一样,采用布隆过滤器[13]将两类MAC各映射成d比特的字符串F=b0b1…bd-1,则报告为,

R:{C;e;R1,R2,…,Rt;A1,A2,…,At;F1;F2}

(2)

参数t的取值是过滤能力和能耗之间的折中,由sink根据网络的规模及密度等参数来设定.包含多于或者少于t个节点签名的数据包都属于非法数据包.布隆过滤器(Bloom Filter)采用一些系统级哈希函数将长的MAC消息映射成短的字符,在维持MAC的完整性同时极大地减小了包长.其具体实现及功能描述在文献[5,13]中有详细介绍.

3.4 转发过滤

中转节点除了对数据包进行双重认证外,还对通过封锁区的数据包进行“丢尾”处理.首先,中转节点可能碰巧拥有数据包中一个R型密钥,能以一定概率对其进行认证.其次,封锁区节点利用与簇内节点协定的对偶密钥对数据包进行认证.转发验证步骤如下:

1)检查数据包中是否包含t对{Rk,MRk};{Ak,MAk}元组,不是则将包丢弃;

2)检查数据包中的t个R型密钥是否来自t个不同分区,不是则将包丢弃;

3)若节点拥有数据包中一个R型密钥,则用该密钥重新计算一个R型MAC,并与包中的R型MAC进行比对,不同则将包丢弃;

4)若节点拥有数据包中一个A型密钥,则用该密钥重新计算一个A型MAC,并与包中的A型MAC进行比对,不同则将包丢弃,相同则将包发给下一跳;

5)若节点不包含数据包中任何一个密钥,直接将包转发.转发验证伪码如图2所示.

当传输计数器减为零时,表明数据包已通过封锁区,在接下来的转发过程中,协作认证已经失去效用.中转节点对经过封锁区的数据包进行丢尾处理:丢弃数据包后附带的t个A型MAC,t个A型密钥索引以及计数器C.丢尾处理后的DAFS数据包相对于SEF数据包,便于节省传输能量.

图2 中转验证伪码Fig.2 Pseudo-code for en-route authentication

3.5 sink认证

sink节点预先知道全局网络密钥信息以及拓扑结构,配备有较强的通信和计算能力,能够过滤所有漏过转发认证的假包.收到数据包后,sink首先对数据包中所有的MAC和传感器位置信息进行校验,仅当这些信息都正确才接收数据包,否则将认为数据包是假的并丢弃.

4 性能分析

4.1 抵御协同攻击

为分析简便,将网络区域视为半径Ra的圆形区域,其中随机布撒有W个感应半径为Rs的传感器,如图3所示.其中节点S1,…,S5来自不同簇,而S6,…,S10都来自簇C1.

图3 SEF和DAFS中协作攻击比较Fig.3 Coordinated attacks in SEF and DAFS

已有SEF,OARB等机制通过中间节点验证数据包中附带的MAC来过滤假包,它们防范协同攻击的能力相同.攻击者在获取了网络中任意区域t个密钥分区后,便能协作伪造无法被识别的假包.例如当t=5,攻击者俘获了拥有不同密钥分区的S1,…,S5之后,即可伪造出SEF,OARB等机制无法识别的假包.

定理1.攻击者俘获SEF或OARB中任意Nc(Nc≥t)个节点,其中有至少t个密钥分区的概率可以表达为:

(3)

(4)

DAFS将一组密钥与簇进行绑定,并由转发节点验证是否所有检测节点来自同一个簇,从而能检测来自不相邻区域多个妥协节点协作伪造的假包.例如,来自不同簇的妥协节点S1,…,S5协作伪造的假包将在第一跳被过滤.为了伪造出无法被DAFS所识别的假包,攻击者需要俘获同一个簇内的t个密钥分区.

定理2.假定DAFS应用于半径为Rc的圆形区域,攻击者随机俘获了Nc(Nc≥t)个节点,其中同一个簇内有至少t个妥协节点的概率为,

(5)

图4给出了当t=5,Rc/Ra=2/5,n=35时,psef,oarb和pdafs的实验值和理论值,其中实验值是随机测试5000次的均值.从图中可以看出,攻击者仅需捕获少量节点即可以较大概率攻破OARB和SEF,而攻破DAFS所需的妥协节点数量较多.例如当Nc=10,攻击者有高达97.4%的概率攻破OARB和SEF,而仅有1.5%的几率攻破DAFS.理论分析和仿真实验结果都说明,DAFS的妥协容忍能力远强于SEF,OARB等机制.

图4 psef,oarb、pdafs的理论值与仿真值Fig.4 Comparison of logical and simulation results of psef,oarb and pdafs

4.2 过滤概率

在Nc个节点被妥协的条件下,攻击者伪造一个“看起来合法”的假数据,必须要构造(t-Nc)个可被识别的假MAC.

全局节点对假包在每一跳进行随机过滤的概率为p1=k(t-Nc)/N;封锁区对假包进行确定性过滤的概率记为p2.则假包每传输一跳被过滤的概率为p0=p1+p2-p1p2.显然SEF在每跳过滤假包的概率为p1.

当H≤y时,p2=(y-z)/y;反之,p2=(y-z)/H.则p0为,

(6)

图5所示为DAFS,SEF和OARB的过滤概率随传输跳数的变化曲线,参数设置为Nc=4,t=5,N=1000;n=10;k=50;H=20;簇内平均节点数y=10;协作节点失效率为10%,即z=1,由图可见,DAFS在H≤y的范围内的过滤概率达到90%以上,且随传输跳数增大仅略有下降,但仍保持在15%以上.这是因为H≤y的区域为密集认证的封锁区.而SEF和OARB由于仅在节点间以一定概率共享对称密钥,过滤概率随跳数变化不大,分别维持在5%和8%左右.显然DAFS较SEF及OARB等机制在过滤效率上有明显的优势.

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

4.3 能量消耗

DAFS通过尽早过滤虚假数据来达到能耗节省的目的.但数据包增加了一个计数器,t个密钥索引,t个节点索引以及两个布隆过滤器,这些信息会带来额外开销.

采用如下模型对能耗进行量化分析.布隆过滤器,密钥索引,节点索引及计数器的长度分别记为Ls,Lk,Ln和Lc.纯数据长度记为Lr,DAFS数据包长度记为Ldafs.记α1=LSEF/Lr=1+Ls/Lr+c×t,α2=LDAFS/Lr=1+2Ls/Lr+Lc/Lr+2×c×t,其中c=Lk/Lr.合法数据量和虚假数据量分别记为1和β.则一个包含(t-Nc)个假MAC的数据包传输H跳的能耗可计算为,

(7)

4.4 存储开销

协作节点最多存储t个对偶密钥,相比SEF中所增加的密钥存储比例仅为t/m.例如,取t=5,m=50,则仅增加了10%的存储量,一个密钥为64比特,则存储开销约为3 kB(比较:OARB的存储开销为3.4kB).当前典型的节点配置,如UCB(University of California Berkeley)研制的MICA2节点[11],使用4KB的SRAM和128KB的ROM,显然满足需求.

4.5 参数分析

数据包中MAC数量t的取值是安全性和能耗之间的折中.t越大,攻击者需要获取相应更多的秘密信息才能伪造出验证节点无法识别的假包,故而增大了攻击的难度[12].此外,附带更多的额外信息也引入了更大的传输能耗.

妥协节点越多,即Nc越大,攻击者获取某个簇内的节点信息的几率越大,从而需伪造的假MAC数量越少,故而降低了假包被发现的几率.当Nc足够大(最坏情况下),有了足够的机密信息的攻击者可任意伪造假包逃过DAFS验证.

5 仿真实验

本文利用C++语言建立了模拟仿真平台,环境如下:在圆形监控区域,源节点和sink(均为静态点)分别位于圆心和圆周,其它传感器节点任意布撒.设定从S到sink的前10跳为协作节点,其它仿真参数的设置见表1.限于篇幅,仅给出了在Nc=4时,DAFS,OARB和SEF在过滤效率和能量耗费方面的实验数据.取15次模拟实验的均值作为结果.

表1 仿真参数Table 1 simulation parameters

图6所示为分别采用OARB,SEF和DAFS三种算法时,假数据包被过滤的比率与传输跳数的关系曲线.从图中可以看出,采用DAFS机制时,攻击者注入的虚假数据的90%以上在前10跳被过滤,其余假数据在20跳时也全部被过滤;而采用SEF算法时,前10跳仅有34%左右的假数据被过滤,20跳后仍然有约一半未被过滤,而全部过滤要到40跳以后;在OARB中,前10跳也仅能过滤42%的假包,假包全部被过滤要传输35跳.显然,实施双重认证的DAFS机制在过滤性能上明显优于单重过滤的SEF和OARB.

图6 假包丢弃比率随传输跳数变化Fig.6 Percentage of dropped false reports changes according to the transmitted hops H

图7所示为当H=20,Nc=4时,SEF,OARB和DAFS的传输能耗(分别记为E1,E2和E3)关于传输跳数的变化曲线.

图7 传输能耗关于传输距离H的变化Fig.7 Energy consumption changes according to H

参数取值为Ls=64 bits,Lk=10 bits,Lr=24 bits,Lc=10bits,n=10bits,Nc=4,m=100以及k=50.从图中可以看出,随着传输距离增大,E3比E1及E2增长速度慢,且DAFS较SEF及OARB在能耗节省方面优势明显.

6 结 论

本文在深入分析当前方案过滤效率不高且无法检测协作注入的假包的原因后,给出了基于双重过滤的算法DAFS.将节点组织成簇,并绑定密钥与部署区域,由转发节点同时验证两类MAC的正确性和位置的合法性,从而能提高过滤概率,并有效识别不同区域妥协节点协作伪造的假包.如何对一些参数进行优化选择,将会是进一步的研究工作.

[1] Ren Feng-yuan,Huang Hai-ning,Lin Chuang.Wireless sensor networks [J].Journal of Software,2003,14(7):1282-1291.

[2] Su Zhong,Lin Chuang,Feng Fu-jun,et al.Key management schemes and protocols for wireless sensor networks [J].Journal of Software,2007,18(5):1218-1231.

[3] Peng S L,Li S S,Liao X K,e al.Estimation of a population size in large-scale wireless sensor networks [J].Journal of Computer Science and Technology,2009,24(5):987-996.

[4] Yang F,Zhou X H,Zhang Q Y.Multi-dimensional resilient statistical en-route filtering in wireless sensor networks [J].Journal of Internet Technology,2010,12(1):130-139.

[5] Ye F,Luo H,Zhang L.Statistical en-route filtering of injected false data in sensor networks [C].In Proc.IEEE International Conference on Computer Communications(INFOCOM),2004:2446-2457.

[6] Yu L,Li J Z.Grouping-based resilient statistical en-route filtering for sensor networks [C].In Proc.IEEE International Conference on Computer Communications(INFOCOM),2009:1782-1790.

[7] Cao Z,Deng H,Guan Z,et al.Information-theoretic modeling of false data filtering schemes in wireless sensor networks [J].ACM Transactions on Sensor Networks,2012,8(2):72-83.

[8] Dobrev S,Narayanan L,Opatrny J.Optimal sensor networks for area monitoring using rotating and beam sensors [J].Theory of Computing Systems,2014,54(4):622-639.

[9] Liu Zhi-xiong,Wang Jiang-tao,Wang Wei-ping,et al.One-way hash chain based filtering scheme in wireless sensor networks [J].Journal of Software,2014,25(10):2385-2396.

[10] Zhang Shu-guang,Zhou Xue-hai,Yang Feng,et al.En-route filtering strategy against selective discarding in wireless sensor networks [J].Journal of Beijing University of Posts and Telecommunications,2016,39(1):68-73.

[11] Naresh K,PrDadeep K P,Sathish K S.An active en-route filtering scheme for information reporting in wireless sensor networks [J].International Journal of Computer Science and Informatin Technologies,2011,2(4):1812-1819.

[12] Lu R X,Lin X D,Zhu H J,et al.BECAN:a bandwidth-efficient cooperative authentication scheme for filtering injected false data in wireless sensor networks [J].IEEE Transactions on Parallel and Distributed Systems,2012,23(1):32-43.

[13] B.Bloom.Space/Time trade-offs in hash coding with allowable errors[J].Communications of the ACM,1970,13(7):422-426.

附中文参考文献:

[1] 任丰原,黄海宁,林 闯.无线传感器网络[J].软件学报,2003,14(7):1282-1291.

[2] 苏 忠,林 闯,封富君,等.无线传感器网络密钥管理的方案和协议[J].软件学报,2007,18(5):1218-1231.

[9] 刘志雄,王江涛,王伟平,等.传感器网络中一种基于单向哈链的过滤方案[J].软件学报,2014,25(10):2385-2396.

[10] 章曙光,周学海,杨 峰,等.无线传感器网络中防范选择性丢弃的途中过滤策略[J].北京邮电大学学报,2016,39(1):68-73.

猜你喜欢
攻击者数据包密钥
基于贝叶斯博弈的防御资源调配模型研究
二维隐蔽时间信道构建的研究*
幻中邂逅之金色密钥
幻中邂逅之金色密钥
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
密码系统中密钥的状态与保护*
C#串口高效可靠的接收方案设计
TPM 2.0密钥迁移协议研究
正面迎接批判
正面迎接批判