2012年10月JournalonCommunicationsOctober2012第33卷第10期通信学报Vol.33No.10安全透明的无线传感器网络数据汇聚方案郭江鸿,马建峰(西安电子科技大学计算机学院,陕西西安710071)摘要:提出了一种安全透明的传感器网络数据汇聚方案,汇聚节点在不对加密数据进行解密的情况下通过散列函数与异或操作完成数据完整性检查、数据源身份认证、数据汇聚等功能,保证了数据在汇聚及传输过程中的隐私性。与相关数据汇聚方案相比,除了提供密钥安全性,所提方案可有效抵抗主动攻击、节点妥协攻击及DoS攻击等恶意行为,具有高的安全性;同时,方案的汇聚结果提供了数据的全局分布信息。关键词:传感器网络;数据汇聚;数据隐私;网络安全中图分类号:TP301文献标识码:A本文编号:1000-436X(2012)10-0051-09SecureandtransparentdataaggregationforwirelesssensornetworksGUOJiang-hong,MAJian-feng(SchoolofComputer,XidianUniversity,Xi′an710071,China)Abstract:Asecureandtransparentdataaggregationschemeforwirelesssensornetworkswasproposed.Usinghashfunc-tionandXORoperation,theaggregationnodecompletedthedataintegritychecking,sourceidentityauthenticationanddataaggregationwithoutdecryptingtheencrypteddata,ensuredthedataprivacyintheprocessoftransmittingandag-gregation.Comparedwithrelateddataaggregationschemes,exceptprovidinghighsecurityofencryptkey,theproposedschemehadbetterperformancesinresilientagainstactiveattack,nodecompromiseattackandDoSattack.Also,thepro-posedschemeprovidestheinformationoftheglobaldatadistribution.Keywords:sensornetwork;dataaggregation;dataprivacy;networksecurity1引言无线传感器网络(WSN,wirelesssensornet-work)由大量资源传感器节点组成,彼此通过无线链路进行通信,在战场监控、灾难拯救、目标跟踪、野生动物保护等方面得到了广泛应用。无线传感器网络的一个主要功能是由节点对所处环境的某些物理参数进行测量,并将结果送往远方的服务器(或基站)进行进一步处理。由于邻近传感器可能测得相同数据,即传感器测得的原始数据中有冗余信息,数据汇聚技术成为减少数据传输量的重要手段之一。在一些恶意环境下,敌手可能通过节点妥协、伪造数据、伪造身份等手段发动攻击以降低数据的可用性,甚至通过恶意操作向网络中注入大量虚假数据,意图发动以消耗节点计算能耗及通信能耗,进而减短传感器网络生存期的DoS攻击。在此情况下,数据汇聚方案不仅要保证数据本身的机密性与收稿日期:2011-04-20;修回日期:2011-10-15基金项目:国家高技术研究发展计划(“863”计划)基金资助项目(2007AA01Z429,2007AA01Z405);国家自然科学基金重点资助项目(60633020);国家自然科学基金资助项目(60573036,60702059,60503012)FoundationItems:TheNationalHighTechnologyResearchandDevelopmentProgramofChina(863Program)(2007AA01Z429,2007AA01Z405);TheKeyProgramofNationalNaturalScienceFoundationofChina(60633020);TheNationalNaturalScienceFoundationofChina(60573036,60702059,60503012)doi:10.3969/j.issn.1000-436X.2012.10.007·52·通信学报第33卷完整性,而且要提供抵抗DoS攻击的能力及数据源身份鉴别。在大部分现有的传感器网络数据汇聚方案中,数据多以明文传送或由汇聚节点对加密数据进行解密来完成数据汇聚,不能很好地保护数据的隐私性及安全性;同时,大部分现有的数据汇聚方案主要考虑汇聚效率,过滤的信息过多,不利于基站对全网数据分布情况的统计分析。Govindan等[1]提出的数据汇聚方法中,通过选择优化的经验路径进行数据汇聚及网内处理,有效地降低了传感器网络的传输能耗,但该方案并未考虑数据的安全性。Przydatek等[2]提出的一种安全的消息汇聚协议,但该方案主要考虑的是数据汇聚的安全性,数据依旧用明文传输,难以保证数据的隐私性;Wagner等[3]研究了传感器网络中对数据汇聚的攻击行为,并提出了一个评价数据汇聚方案安全强度的理论框架,但数据的隐私性并未包含在内;Cam等[4]提出了能量有效的基于模式码安全数据汇聚协议(ESPDA)。节点建立与原始数据对应的模式码并将其发往簇头,簇头不需要对加密数据进行解密,根据模式码实现了数据汇聚。但是,该方案中每个节点都发送模式码导致能耗不够理想,同时,没有考虑到多跳转发的数据认证,可能导致主动攻击及DoS攻击;Acharya等[5]提出的端到端的加密算法允许汇聚节点通过对密文的操作完成数据汇聚,保护了数据的隐私性。但该方法中指数级的计算复杂度导致过大的计算开销,且该方案在唯密文攻击下并不安全;Huang与Tygar等[6]提出了安全的加密数据汇聚(SEDA,secureencrypteddataaggregation)方案,该方案使用散列函数与异或操作在不对密文解密的情况下完成数据汇聚,保护了数据的隐私性且能耗较优。但该方案存在以下问题:1)要求汇聚节点预装入(N−1)对密钥异或值,N为网络中节点总数,网络的可扩展性差,2)没有提供数据认证,不能抵抗主动攻击及DoS攻击等恶意行为,安全性差。同时,以上方案的汇聚结果并不能使基站了解各种数据在全网的分布情况,不利于整体的统计分析。针对以上问题,本文提出了一种安全透明的传感器网络数据汇聚(STDA,secureandtransparentdataaggregation)方案,汇聚节点在不对密文解密的情况下通过低能耗的散列与异或运算完成数据汇聚,保护了数据的隐私性,且解决了SEDA方案中簇头存储开销过大的问题,提高了网络的可扩展性;通过附加MAC有效抵抗主动攻击、妥协攻击及DoS攻击等多种恶意行为,提供了高的安全性;同时,本文方案仅对数据进行汇聚,而具有相同数据节点的标识不被过滤,基站可通过汇聚结果了解全网的数据分布状况。2预备知识2.1ESPDA及SEDA方案简介Cam等[4]提出的ESPDA方案简介如下。1)基站为每个节点Ni预装入ID、与基站的配对密钥ki以及公共密钥k。2)对应每次数据收集,基站选取数据收集密钥kb,广播Ek[kb],每个节点Ni用k解密消息并计算K=kbki作为本次加密密钥。3)对应每次数据收集,簇头选取随机种子S,簇内广播Ek[S],节点Ni解密得到S,并根据S计算模式码序列,序列中每个模式码对应一个取值范围;Ni发送与自己测量数据对应的模式码到簇头。4)簇头对模式码进行比较及汇聚,根据汇聚结果要求部分簇内节点发送数据。5)节点发送ID,t,EK[Data],MAC(K,Data)到基站,t为时戳。基站根据ID计算K=kbki并完成数据解密及MAC验证。Huang等[6]提出SEDA方案简介如下。1)基站为每个节点Ni建立与基站的配对密钥ki,选取单向函数f()且f(xy)=f(x)f(y),Ni预装入ID、ki及f()。2)设网络中节点总数为N,ID分别为N1,N2,…,NN,与基站的配对密钥分别为k1,k2,…,kN,基站计算密钥序列L=k1⊕k2,k2⊕k3,…,kN-1⊕kN并将之预装入所有簇头节点。3)对应每次数据收集,节点Ni生成不同的随机数ri,发送Ni,mirif(ri)||kiri到簇头。mi为原始数据。4)对于不同节点Ni与Nj的消息,簇头先通过密钥序列L得到kikj,进而得到ri⊕rj,再计算如下:V=mirif(ri)mjrjf(rj)(rirj)f(rirj)=mimjV=0,则mi=mj,簇头保留其中一个,另一个被视为冗余数据丢弃。数据汇聚完成后,簇头将汇聚结果发往上游汇聚节点,直到基站接收到最终汇聚结果。5)基站使用与Ni的配对密钥ki解密kiri,再利用ri解密消息得到mi。第10期郭江鸿等:安全透明的无线传感器网络数据汇聚方案·53·2.2网络模型STDA方案采用与CAM及Huang方案相同的网络结构——分簇传感器网络,并作如下假设:1)节点间可通过合适的密钥协议建立配对密钥;2)簇头具有较高的安全性;3)已建立相应数据汇聚树,基站为根节点。因本文主要关注数据汇聚,且现已有诸多文献对建立配对密钥、构建汇聚树等问题进行研究并取得了系列成果,所以做出上述假设而不对其进行具体讨论。为便于分析,本文采用一个理想的分簇传感器网络模型,如图1所示。图1理想的分簇传感器网络模型图1中,BS为基站,网络共分为19个簇,每个簇用一个正六边形表示,设正六边形边长为40m,簇头位于正六边形中央,BS为中央簇头。传感器节点通信半径为40m,每个簇内平均有n个节点。进行数据汇聚所使用的汇聚树如图2所示。图2数据汇聚树2.3攻击者模型本文假设攻击者模型为Dolev-Yao模型,攻击者可以控制整个通信网络,除了可以窃听、截获所有经过网络的消息外,还具备以下知识和能力。1)熟悉加解、解密、散列(hash)等密码运算,拥有自己的加密密钥和解密密钥。2)熟悉网络中各节点的ID。3)具有密码分析的知识和能力。4)可以发动以下攻击:①由于临近的传感器节点可能得到相同的数据且敌手可以得到节点发送的密文信息,因此假设敌手可发动已知明文/密文攻击;②一般说来,传感器节点妥协难以避免,敌手可发起妥协攻击在物理上俘虏节点,获取其秘密信息;③敌手可以重放以前的合法消息或假冒身份向汇聚节点发送虚假消息发动主动攻击;④敌手可以向网络中注入大量虚假数据发起DoS攻击。3STDA方案简介STDA方案主要由系统初始化、消息加密、数据汇聚、基站解密等部分组成。3.1系统初始化设网络共有N个节点,ID分别为:N1,N2,…,NN,|ID|=2byte,部署前,基站(等同可信第三方)选取N个lbit的随机密钥S1,S2,…,SN,l为安全参数。同时选取2个单向函数f(),g(),具有下列性质)()()()()()(ygxgyxgyfxfyxf(1)对任意的i∈[1,N],服务器将Si,Ni,f(),g(),c以及密钥材料预装入节点Ni。其中,Si为节点Ni与基站的配对密钥,c为序号,初始为1。3.2消息加密传感器部署后,节点通过分簇算法(如ACE算法[7]等)建立分簇网络,并完成节点间的配对密钥建立。当收到基站数据请求或到达周期性数据采集时间后,Ni采集数据并构造消息(I):||||(())||()||(())||llliiiiiiNcmfrsrffrMAC(I)其中,Ni为节点ID;mi为Ni采集的数据;ri为Ni生成的随机数(每次使用不同的随机数掩盖数据);c为序号;