无线传感器网络中一种面向广播优化的广播认证机制

2020-10-22 01:13谢英辉彭维捷苏秀芝易叶青
导航定位学报 2020年5期
关键词:攻击者数据包广播

谢英辉,彭维捷,苏秀芝,易叶青

(1. 长沙民政职业技术学院,长沙 410004;2. 长沙商贸旅游学院,长沙 410004; 3. 湖南软件职业学院,湖南 湘潭 411100;4. 湖南人文科技学院,湖南 娄底 417000)

0 引言

为了节省有限的带宽和能量,广播通信是无线传感器网络最基本的通信方式之一。由于传感器节点价格必须低廉,难以在节点上装配价格较高的抗攻击的设施,节点容易受到攻击者的攻击;因此在进行广播通信时,数据受让方须有对广播数据包的来历、是否完整和新鲜性等进行分析识别 的能力[1]。

由于非对称数字签名对系统资源的消耗非常大,传统基于对称加密的广播认证机制不适合直接应用于资源受限的传感器网络。为此国内外很多学者专门从事基于无线传感器网络(wireless sensor networks, WSNs)的广播认证机制研究。文献[2]提出了1 种针对WSNs 的称之为 μTESLA 的容忍丢包的流认证协议,最大的特点就是基于时间高效性,需要通过密钥的延迟发布进行广播认证,即先发布数据包,再公布认证密钥。但在此协议中,当新节点加入网络时,传播过程变成了点对点的单播过程,当网络规模较大时,该广播协议初的始化的开销会非常大。为了弥补文献[2]等工作的不足,文献[3-4]提出了1 种基于梅克莱(Merkle)树的多级μTESLA 协议,在初始的过程中采用直接认证方法,大大减少了网络初始时的开销。文献[5]认为在广播认证方案中,如果延迟密钥发布,会容易引起拒绝服务(denial of service, DOS)攻击,因此结合Merkle 散列树与椭圆曲线密码技术,提出了1 种无延的广播认证方法,该方案能抵抗一定的DOS攻击,但当网络规模增大时,Merkle 树的构造开销也大幅增大,造成内存空间和网络通信开销大大增加等问题。文献[6]提出了基于分级的Merkle 树广播认证方案,在很大程度上减低了Merkle 树的高度,从而有效地降低了网络节点的内存开销与通信开销。文献[7]提出了网内认证方案,但该方案没有给出认证机制维护方案。文献[8]提出了1 种基于混淆多项式技术的广播认证机制,该机制能对消息的完整性、正确性进行认证,并且开销低和安全性好。但该方案并不能支持广播优化。

1 广播优化基本策略

在无线传感器网络中,洪泛是1 个最为简单的基本广播策略,洪泛广播会导致“广播风暴”问题。为了避免广播风暴等问题,不少学者研究针对传感器网络的广播优化方法[9]。已有的广播优化算法大体上可以分为2 类:1)建立1 个称之为“控制集”的节点集来简化广播,其基本思路为在传感器网络中选择一些符合条件的节点构成控制集,WSNs 中的基站先将数据包以广播方式传给控制集中的节点,再经节点将数据包转发给该节点对应的邻居节点,控制集内的节点之间可以相互转发数据包,该方法可以避免非控制集节点之间的重复转发,防止产生广播风暴问题;2)将传感器网络分簇,1 个簇通常是地理位置相邻的节点的集合,在这些节点集合中通常会有1 个称之为“簇头”的节点,簇头节点则负责簇内的本地广播。与1)相比,基于簇的广播优化方法更加侧重于簇内资源的优化使用。在文献[8]中提出的多项式广播认证方案中,任何节点都能识别广播数据包是否由源节点发出。但缺点是难以验证转发节点的身份,难以抵抗重放攻击,数据包的可靠程度与转发节点多少成反比。因此,该方案难支持广播优化策略。

为此,本文通过构造1 种认证函数,提出1 种能够识别转发节点身份的认证机制,以期认证高效,能抵抗重放攻击,能容忍大量的俘获节点,并且能够支持广播优化策略。

2 支持控制集广播优化的广播认证

本节提出1 种能够支持广播优化的广播认证机制。

2.1 基本假设与攻击模型[10]

1)假设各个传感器节点都有足够的存储空间用于保存数据、密钥等。

2)假定整个网络被细分成很多域,各个域由部分控制集节点和多个成员组成,控制集节点负责维护域内通信/其他域的通信和域间节点数据转发,控制集节点之间相互连接形成1 个骨干子网,基站向网络广播数据包时其过程如下:基站将广播数据包发送给控制集节点,由控制集点负责将数据包在所属域内广播。称这一骨干子网为整个网络的转发层,普通的传感器节点为校验层。

3)假设传感器网络在部署的一段时间内是安全的,则该方案可利用这段时间完成密钥预置等初始化工作。

主要考虑2 类典型的攻击:第1 类外部攻击,攻击者没有俘获节点,不知道密钥信息,攻击者对广播消息包进行篡改,并试图让其他节点接受,称之为“哄骗攻击”;或者通过收集一定数量的广播数据包,从中获取一些信息,称之为“串谋攻击”。第2 类是攻击者俘获了一些节点,并得到了节点内的密钥,并通过妥协节点发动攻击,称之为“俘获攻击”。

2.2 基本方案

本节主要讨论所提出的能支持广播优化的广播认证机制,该方案主要包括:认证函数的构建、密钥预置与广播消息验证3 个部分。

2.2.1 认证函数的构建

为了能达到对数据包进行完整性、正确性与安全性进行认证的目的,构建的认证函数需满足如下条件:通过认证函数处理过的数据值不能太大,这一条件保证了提出的算法具有低开销的特征。

为了满足上述条件,设计的安全存储函数和查询函数包括3 个部分:1)数据处理部分 ( ,*)G x ;2)传感器节点身份标识号(identity,ID)号处理部分 ( ,*)H y ,y 表示传感器节点的ID;3)结果扰动部分sr 和ir,主要用于防止妥协的节点泄露认证函数。综上所述,首先构造1 个母函数为

2.2.2 密钥预置

在网络部署之前,用户从安全服务器上随机产生2 个形如式(1)所示的2 个对称认证函数 ζ( x, y)和 f ( a ,ζ ),它们的形式是一样的,但系数不同。

每个节点预置以下3 部分信息:

1)每个节点的唯一身份标识号;

2)认证函数 ζ( x, y);

3)节点根据其ID,利用认证函数 f (α ,ζ)生成数据包的校验函数,如:某个节点的ID 为u,则数据包的校验函数为:veru(ζ)=f (u,ζ),各节点获得校验函数之后删除 f (α ,ζ)。

2.2.3 广播数据包的生成、发送与验证

1)sink 生成广播数据包(广播数据包为M,时间戳T ),具体的步骤为:

第1 步,sink计算数据包的指纹信息φM=H(time, M),其中H()为1 个hash 函数,然后将 φM代入到ζ( x, y ),得到1 元函数 ζM( x ) = ζ ( x,φM),其中 x 为转发节点的ID;

第2 步,将 ζM( x )代入到 f (α ,ζ),得到函数MACM(α , x ) =f (α , gM( x ));

第3 步,将广播包M,MACM(α , x)发给控制集节点。

2)转发层验证的步骤与思路如下:

第1 步,控制集节点u,解析数据包之后计算φu,M=H (ime, M)= φ,将 结 果 代 入 到 ζ( x, y),得ζu,uM=ζ (u ,φu,M),再将 ζu,uM代入到校验函数中得veru,M=veru(ζu,uM) =f ( u ,ζ ( u,φu,M));

第 2 步,将自身的 ID 代入数据包中的MACM(α , x)函 数,得 到 MACM,u=MACM( u , u)=f (u ,ζ (u ,φ ));

第3 步,判断MACM,u和veru,M是否相等,若2 个值相等,则将本身的ID 加入广播数据包,得到M , u ,MACM(α , x)并在所在域内进行广播;若不相等,则丢弃该数据包。

3)校验层验证的步骤与思路如下:

第1 步,校验层节点v,接收到数据包之后,利用预置hash 函数计算φv,M=H (ime, M)= φ,将φv,M和控制集转发节点 ID 带入函数 ζ( x, y),求出ζu,vM=ζ (u ,φv,M),代入校验函数得verv,M=verv(ζu,vM)= f(v, ζ(u,φv,M));

第2 步,将节点v 的ID 和控制集转发节点ID代 入 认 证 函 数MACM(α , x), 求 得 MACM,v= MACM(v,u)= f(v, ζ(u,φ));

第3 步,判断MACM,v和verv,M的值是否相等,若果相等,则认为该广播数据包是有效,则接收广播数据包M;否则,则丢弃该数据包。

本文所提出的广播认证机制与文献[8]的最大的区别在于,普通节点能够知道数据包是否从基站发出以及具体由哪个控制集节点转发,因而能支持基于控制集的广播优化机制。

3 性能分析

3.1 安全性分析

式中:当 Nc= τ+1 时,有2τ 个未知数,方程没有唯一解。倘若攻击者俘获更多的节点,并建立方程,则每增加1 个方程将增加1 个未知数,未知数的个数大于方程的个数,因此方程组难以达到满足唯一解的条件。若攻击者通过猜测rk的办法来求解方程组,则rk是长度为r 的随机数,则猜中1 个随机数时间复杂度为 Ω ( 2r),那么猜中 τ + 1随机数的时间负责度则为 Ω(( 2r)τ+1) =Ω(2r(τ+1)),所以破解认证函数的总的时间复杂度为 Ω( 2r(τ+1)),即定理1 的结论成立。

3.1 安全性对比

1)在外部攻击方面。本文所提出的方案,在攻击者没有俘获任何节点的情况下,对于外部攻击成功的可能性小于为/Lr--11 2 ,这与文献[8]的结论是一致的。

2)在内部攻击方面。对于串谋攻击,在文献[8]中 当 攻 击 者 收 集 到 n ≥ τ+1 个 数 据 包mi,MACmi( x )时,攻击者破解 f ( x ,y )的时间复杂度为 Ω( 2r(τ+1)),其安全性受参数τ 制约,而这种攻击在本文的方案中基本上是不存在的。当攻击者俘获了n ≥ τ+1 个节点时,文献[8]攻击者破解f ( x,y )的时间复杂度为 Ω( 2r(τ+1)),本文的方案中破解 认 证 函 数 f (α ,ζM( x ))的 时 间 复 杂 度 均 为Ω( 2r(τ+1)),2 者的安全性是一样的。

3)在抗重放攻击方面。在本文的方案中,引入hash 函数结合时间戳来生成认证信息,所以本文提出的广播认证机制能对数据包的新鲜性进行认证,从而具备抗重放攻击的能力。文献[8]中并没有考虑对数据包的新鲜性进行认证,因而难以抵抗重放攻击。

3.2 存储开销对比

在本文所提出的方案中,其存储开销包括:节点要存储自身ID、认证函数和验证函数。本文的方案在广播数据包时分为2 个部分:第1 个部分是基站将数据包发送给控制集节点;第2 个部分是控制集节点将数据包广播给在所属区域内的普通节点。假定网络的规模为N,则ID 的大小为Sizeof(ID) = log2N,单位为每个节点的存储开销为B (1 + (τ2+ 1)) + sizeof(ID),基站广播数据包的大小为 B (1 + (τ2+1) ),单位为bit,控制集节点广播数据包的大小为 B (1 + (τ2+ 1) ) +sizeof(ID),单位为bit。对比文献[8],本文的方案为了能支撑已有的广播优化技术,在节点的存储开销方面和和广播数据包的长度方面略有增加。此外,本文能实时验证广播数据包,计算耗时约7~90 ms(Mica2 节点测算结果),与已有采用公钥加密的广播认证机制[8]相 比,明显要低。

4 实验与结果分析

为了能进一步验证本文所提方案的有效性,利用MATLAB 软件建立仿真平台,对本文所提方案进行仿真。在第3 节中已经对本文所提方案的安全性与节点的存储开销进行了分析,因此仿真的重点是测试本文所提算法在不同的网络规模下的网络能量消耗情况。

参照文献[11],仿真实验的参数设置如下表1 所示。

表1 参数设置表 单位: μJ/bit

网络规模则设置为1 000~11 000,在本文的方案中,将选取约5%的节点作为控制集节点,τ=2,基站广播数据包的长度为 B( 1 + (τ2+ 1)),单位为bit,控 制 集 节 点 广 播 数 据 包 的 长 度 为 B( 1 + (τ2+ 1))+sizeof(ID),单位为bit,式中的B=16,由于基站的能量不受限制,因此没有统计基站的能量开销。在文献[8]中,同样设置广播数据包的长度为138+sizeof(ID)单位为bit,同样不考虑基站开销。图1描绘了本文方案的网络能量开销与文献[8]的能量开销的对比情况。

图1 网络能量开销对比图

由图1 可以看出,虽然本文方案由于要支持广播优化方法,其数据包的长度略大于文献[8]的数据包的长度,但是文献[8]在实际广播的过程是1 个洪泛广播的过程。从图2 可以看出,采用洪泛广播方式会产生很高冗余传输[12],数据越多,数据收集效率就越低,认证速度也越慢,因此本文方案的能量消耗要大大低于文献[8]的能量消耗,并且认证速度也更快。

图2 数据收集时间(场景一)

5 结束语

广播认证机制是无线传感器网络中的1 种基本的安全协议。本文针对现有的广播认证机制存在不能支持广播优化等不足,通过构造1 种认证函数,提出1 种能够识别转发节点身份的认证机制,该方案具有效率高,能抵抗重放攻击、能够容忍大量的俘获节点的优点,而且能够支持广播优化策略。理论分析和仿真结果表明本文所提方案是可行的和有效的。

猜你喜欢
攻击者数据包广播
基于贝叶斯博弈的防御资源调配模型研究
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
正面迎接批判
正面迎接批判
周二广播电视
周三广播电视
周二广播电视
周四广播电视