无线传感器网络中有效的安全数据融合机制
2012-06-06张双杰魏琴芳秦晓良
张双杰,魏琴芳,秦晓良
(重庆邮电大学通信与信息工程学院,重庆 400065)
无线传感器网络(Wireless Sensor Networks,WSN)由部署在监测区域内大量的廉价微型传感器节点组成。节点资源十分有限,主要体现在电池能量、处理能力、存储容量和通信带宽等几个方面[1]。
由于WSN的资源约束和带宽限制,减少基站和节点间的通信开销,能够显著地提高能效和带宽利用率。数据融合是将多份数据或信息进行处理,组合出更有效、更符合用户需求的数据过程,它能够显著地提高能效和带宽利用率,减少基站和节点间的通信开销。然而数据融合并没有考虑数据的机密性和完整性,安全问题依然存在。如何在保证传感器节点能源高效性的同时确保其传输数据的机密性和完整性,于是安全的数据融合技术应运而生,并迅速成为无线传感器网络中颇受关注的研究领域[2]。
1 相关研究
为了防止在融合过程中节点被捕获的攻击,保证融合结果的机密性和完整性,研究者已经提出多种方案来保证数据融合的安全。同态加密机制由于其独特的优势,已经成为安全数据融合领域的研究热点。CDA[3]算法将DFPH[4]同态加密算法引入到WSN的数据融合领域。它首先将加密数据随机分割成t份,然后每份数据mi分别乘以密钥ki,最后将t份密文一起汇总上传。数据融合节点在接到子节点上传的数据后直接将每一份密文进行模加法即可得到融合结果的密文,它无法知道融合数据的明文信息。该算法容易遭受选择明文攻击,且普通叶节点的传输开销较大,网络的负载增加明显。
文献[5]中,作者提出了一种基于流密钥的CMT同态加密算法,它直接采用移位密码进行加密,其加密解密方法简单,但算法存在很突出的问题,即为了成功解密,需要发送所有参与融合节点的ID,会造成很大的开销。作者指出,即使只有10%的节点没有响应,方案的总开销也会增加2倍以上,而且网络开销分布极不均匀。
文献[6]提出一种复合运算的方法来增加同态算法的安全性,它先将数据通过与基站共享的同态密钥进行加密,然后再将密文使用与父节点共享的对称密钥加密传送。算法使用成对的融合数据来进行数据完整性检测,并且通过认证过程检测恶意节点及其伪造的数据,但其加密解密开销较大。
文献[7]中作者对 DFPH,CMT,ECEG[8]这3 种同态加密算法进行了比较,指出基于流密钥的CMT同态加密机制是最有发展前景的同态加密机制之一。因此,笔者提出一种安全数据融合机制,使用轻量级CMT加密机制来减少加密所带来的计算开销,并使用成对融合数据来检测融合结果的完整性,同时设计认证过程来检测恶意节点。下面对算法进行描述。
2 安全数据融合原理
由于传感器节点易受攻击,节点被捕获或恶意节点的加入,通过传送虚假数据或篡改数据融合结果来进行恶意攻击。不安全的数据融合结果对于基站和查询用户来说都是没有意义的,并导致用户做出错误的决定。因此,如何进行安全数据融合,在数据传输过程中保证数据的机密性和完整性,并同时检测出恶意节点和排除恶意数据,成为研究的关键。
2.1 网络模式
假设1个分簇的WSN(如图1所示),包含大量资源有限的传感器节点。基站(Base Station,BS)足够安全且不能够被俘获,簇头具有比普通传感器节点更好的性能,即具有高能量电池、大的内存、强大的计算和数据处理能力。研究表明如果使用高性能的簇头,传感器网络的生存性会大大提高[9]。
图1 无线传感器网络模型
2.2 同态加密机制
同态加密技术允许对融合结果直接进行运算。考虑到加密和解密操作,同态加密非常适合于无线传感器网络,它具有如下性质式中:Enc(a)表示用同态加密密钥对明文a进行加密;⊕、⊕指分别对密文进行某种运算。
CMT算法由于其易于执行的特点,非常适合于资源受限的WSN。唯一的不足是为了成功解密,必须发送所有响应节点的ID。本文将其应用于分簇网络,故簇头发送的ID数目最多为簇内节点数的一半。算法需要每个节点i和基站共享密钥种子Ki及伪随机序列生成器。下面简单介绍CMT算法。
参数取大整数M。加密过程为:1)明文m∈[0,M-1];2)随机生成流密钥k∈[0,M -1];3)密文c=Enc(m,k,M)=(m+k)modM 。
解密过程中:m=Dec(c,k,M)=(c - k)modM 。
融合过程中:对 c1=Enc(m1,k1,M),c2=Enc(m2,k2,M),则 c12=c1+c2=Enc(m1+m2,k1+k2,M),解密时有 Dec(c1+c2,k1+k2,M)=m1+m2。其中 mod 表示取模运算;Enc(m,k,M)指使用CMT算法加密明文m;Dec(c,k,M)指对密文c进行解密。显然,CMT机制具有加法同态的性质。
2.3 安全数据融合方法
假设传感器节点采集部署区域的温度,融合函数为AVERAGE。簇头只进行融合并发送融合数据到基站,并不进行数据采集。使用文献[10]中提出密钥预分布机制来进行簇头和簇内节点对称密钥的建立。
每个节点预分配3种不同的密钥:1)节点和基站之间的同态加密密钥Enc;2)簇头和簇内节点共享的对称密钥 ksi,sj;3)节点和基站共享的对称密钥ksi。
本文使用如下的标记以便于描述:M表示节点和基站共享的大整数;IDsi表示节点si的ID,在WSN中是独一无二的;s={s1,s2,…,sn}指传感器节点集合;msi表示节点si感应到的信息;Enc(m)为使用CMT算法加密消息m;Ksi为节点si与基站共享的密钥种子,用于产生伪随机序列;ksi,sj(m)代表用簇头和簇内节点共享的对称密钥ksi,sj对消息m进行加密;ksi为节点si与基站共享的对称密钥ksi;MAC(ksi,msi)指节点si使用对称密钥ksi对消息msi生成消息认证码(Message Authentication Code,MAC)。
2.3.1 广播查询阶段
基站广播数据查询信息,使用已存在的轻量级广播认证机制如μTESLA来进行广播认证。
2.3.2 数据融合阶段
当簇内节点收到基站的查询请求,便将自己的数据加密后发送至簇头。如图1所示,若节点X响应基站查询,则将其感应数据mX做如下处理:1)使用同态加密密钥加密mX得到Enc(mX);2)使用与簇头B共享的对称密钥kX,B加密mX得到kX,B(mX);3)使用与基站共享的对称密钥kX对数据mX生成消息认证码MAC(kX,mX);4)然后发送至B:X → B:IDX,Enc(mX),kX,B(mX),MAC(kX,mX)。当簇头B接收到其所有响应的簇内节点的消息后,B进行如下操作:1)将Enc(mX),Enc(mY)等进行融合得 Enc(data'B);2)将 kX,B(mX),kY,B(mY)等密文解密,并进行融合得到dataB;3)将所有响应节点发送到MAC存储;4)使用与基站共享的对称密钥kB,BS对dataB加密生成kB,BS(dataB);5)使用与基站共享的对称密钥kB对数据dataB生成消息认证码MAC(kB,dataB);6)发送至基站 B → BS:listB,Enc(data'B),kB,BS(dataB),MAC(kB,dataB)。其中listB包含本簇内所有参与融合节点的ID。
当基站收到簇头的融合数据后,将其进行融合。然后用对应的密钥解密得到成对的融合数据data'和data。前者为簇内节点进行同态加密,簇头对其密文直接融合所得的结果,融合结果对簇头保密;后者为簇头对接收到的簇内节点的响应信息解密后进行融合所得的结果,数据对簇头可见。
基站首先通过相等检查(Equality Test,ET)判定data'是否等于data,若相等,则基站认为此融合数据是有效的,没有被篡改或伪造;若不相等,则基站进行认证过程。
2.3.3 认证过程
当基站发现data'≠data时,它将参与融合的簇头节点加入到一个集合Q中,即Q中包含需要检测的节点。基站要求每个簇头si∈Q重新发送它们的数据si→BS:listsi,Enc(data'si),ksi,BS(datasi),MAC(ksi,datasi),基站用对应的密钥解密后得到关于si的成对融合数据data'si和datasi
。基站首先由 datasi计算得出MAC(ksi,datasi)CALC。如果MAC(ksi,datasi)CALC= MAC(ksi,datasi),则基站认为si承认自己先前发送的融合数据。如果si承认自己先前发送的数据包并且ET检查通过(data'si
=datasi),则基站认为si通过认证检查并将其从Q中移除。如果si不承认自己先前发送的融合数据,即 MAC(ksi,datasi)CALC≠ MAC(ksi,datasi)或者其 ET 检查失败(data'si≠datasi),则将si加入可疑节点列表listL,同时将si的所有参与融合的簇内节点listsi都加入到Q中进行进一步证实。
当Q中的所有节点均处理后,listL中包含的所有节点或者否认自己发送的数据,或者ET检查失败。listL中所有否认自己发送数据的节点均被认为是恶意节点;其余节点均承认自己发送的数据,但是因为它的簇内节点(对于簇头)或者自己(对于簇内节点)被捕获,使其ET检查失败,通过进一步的检查来消除listL中的正常节点。
算法1为基站认证算法,相关的代码为:
3 安全分析
3.1 消极攻击
消极攻击指敌人只对传输的数据进行监听,包括密文分析和已知明文攻击。主要目标是敌人通过简单的监听不能获得任何信息,由于提出的算法对数据进行加密传输,能够有效地防止这种攻击,唯一的不足是不能保证融合数据在簇头的机密性。
3.2 主动攻击
指敌人能够扰乱通信,比如捕获、毁坏、篡改或者重发数据包等,以欺骗用户接收非法值,这种类型的攻击对于安全数据融合来说是最危险的。
3.2.1 重放攻击
重放攻击指恶意节点重发先前发送过的数据包。由于采用CMT流密钥进行加密,对每个信息使用新的密钥,若敌人重放数据包,则无法通过ET检查,故提出的算法能够有效地防止重放攻击。
3.2.2 伪造数据包攻击
伪造数据包攻击指攻击者通过伪造数据包来试图欺骗基站和其他节点。由于每个节点和簇头以及基站共享密钥,若攻击者无法获得密钥信息,不可能伪造正确的数据包被基站接收。
3.2.3 篡改攻击
篡改攻击指恶意中继节点篡改融合结果。在方案中,由于成对数据中的一个数据对簇头来说不可见,若簇头篡改融合结果,这种攻击会被ET检查轻易发现。
3.2.4 节点捕获攻击
敌人通过捕获节点来冒充正常节点发送非法数据。如果节点发送两个不同的数据,可以通过所设计的机制检测出来;若其插入的是正常范围的数据,则对融合结果没有影响。
4 性能分析
使用小规模WSN来对提出的安全数据融合算法进行仿真。假设有99个节点的网络(9个高性能簇头节点,每簇内10个普通节点),随机选择20个普通节点为恶意节点。恶意节点发起的恶意攻击为加密发送两个不同的数据,即使用同态加密发送的数据和对称加密发送的数据不同。簇头收到后进行融合并将其发送至基站。基站收到数据后,若ET检查失败,则进行认证。
4.1 恶意节点的检测
假设基站广播查询后,随机选择20个节点响应基站查询并发送感应信息。仿真20轮,结果如图2所示。
图2 检测的恶意节点数目与真实数目的对比
由图2可知,随着仿真轮数的增加,所提算法能够有效地检测出恶意节点,从而排除其发送的恶意虚假数据。
4.2 理想融合值、实际融合值、错误融合值的比较
假设节点所监测的环境温度为21~30℃之间的任一值。恶意节点发送的加密数据一个为正常数据,另一个为41~50℃之间的任一值(其目的是使用户接受错误的融合值,并做出错误的决定)。基站检测出恶意节点后,将恶意节点发送的恶意数据排除后进行数据融合。仿真进行20轮,结果如图3所示。
可见,在排除了恶意数据后的融合值和真实数据之间的误差很小,可以忽略不计,保证融合结果的真实性,便于用户做出正确决策。
图3 3种融合值之间的比较
5 小结
能源效率和通信安全是WSN中的两大工作重点。而加密传送和数据融合本身就是一对矛盾[11]。本文提出了一种有效的安全数据融合方案,在保证数据机密性的同时实现对融合结果的完整性检测。通过认证过程来排除恶意节点和恶意数据来保证融合结果的准确性。仿真结果表明即使存在部分伪造数据攻击的情况,也能实现安全的数据融合,并同时检测出恶意节点。
[1]孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005.
[2]刘鑫芝.无线传感器网络安全数据融合的研究[J].计算机与现代化,2010(5):151-155.
[3] GIRAO J,WESTHOFF D,SCHNEIDER M.CDA:concealed data aggregation for reverse multicast traffic in wireless sensor networks[C]//Proc.ICC 2005.Seoul:IEEE Press,2005:3044-3049.
[4] DOMINGO F J.A provably secure additive and multiplicative privacy homomorphism[C]//Proc.5th International Conference on Information Security(ISC 2002).Sao Paulo:ISC,2002:471-483.
[5] CASTELLUCCIA C,MYKLENTN E,TSUDIK G.Efficient aggregation of encrypted data in wireless sensor networks[C]//Proc.Second Annual International Conference on MobiQuitous 2005.San Diego:IEEE Computer Society,2005:109–117.
[6] MLAIH E,ALY S A.Secure hop-by-hop aggregation of end-to-end concealed data in wireless sensor networks[C]//Proc.the INFOCOM 2008.Phoenix:IEEE Press,2008:1-6.
[7] PETER S,PIOTROWSKI S,LANGENDOERFER R.On concealed data aggregation for WSNs[C]//Proc.CCNC 2007.Las Vegas:IEEE Press,2007:192-196.
[8] MYKLETUN E,GIRAO J,WESTHOFF D.Public key based cryptoschemes for data concealment in wireless sensor networks[C]//Proc.IEEE International Conference on Communications(ICC2006).Istanbul:IEEE Press,2006:2288-2295.
[9] AZARDERAKHSH R,REYHANI M A,ABID Z E.A key management scheme for cluster basedwireless sensor networks[C]//Proc.EUC 2008.Shanghai:IEEE Press,2008:222-227.
[10] DAS A K,SENGUPTA I.An effective group-based key establishment scheme for large-scale wireless sensor networks using bivariate polynomials[C]//Proc.COMSWARE 2008.Bangalore:IEEE Press,2008:9-16.
[11]罗蔚,胡向东.无线传感器网络中一种高效的安全数据融合协议[J].重庆邮电大学学报:自然科学版,2009,21(1):110-114.