吉 佳,温巧燕,张 华
(北京邮电大学 网络与交换技术国家重点实验室,北京100876)
无线传感器网络(WSNs)是一个通过传感器感知物理世界的自组织网络[1]。由于传感器受到电量限制,其收集的大量数据需要通过聚合减小能耗[2]。对于位置[3]、时间[4]和压力感知[5]等敏感信息,由于数据传递过程中存在诸多不安全因素,如数据被截获、篡改等,易造成数据泄露、数据不完整等问题。目前有文献[6~9]致力于解决无线传感器网络中数据聚合问题。
He W 等 人 提 出 的CPDA(cluster-based private data aggregation)协议[1]基于分簇思想并利用多项式代数性质聚合数据,该协议计算量高且不能保证数据完整性。针对上述问题,He W 等人提出了iCPDA 协议[10],该协议基于多方安全计算和簇内监督,但其主要缺点是通信量大。
Guo Hengzhi[10]提出了一种减小CPDA 计算和通信开销的协议,通过代入消元法聚合数据。Yao Jianbo 等人提出的DADPP(data aggregation different privacy-levels protection)[12]根据不同数量的节点对数据隐私保护的不同需求而进行聚合。以上两篇文献均不能保证数据完整性。
本文提出一种基于分簇的数据聚合机制,能够有效降低传感器计算和通信的耗能,同时保护数据的隐私性和完整性。在簇内聚合阶段,节点使用计算量、通信量均较小的聚合方式将分片后的数据聚合。在簇间传输阶段,每个簇的副簇首监督该簇的簇首向上游簇的簇首传递的数据是否被篡改,篡改时进行真实值替换。
本文将无线传感器网络建模为连通图G(V,E),其中顶点v(v∈V)代表该无线传感器网络中的传感器节点;边e(e∈E)表示传感器节点之间的无线链路。记无线传感器网络中的传感器节点个数为N=|V|。
基于分簇的数据聚合机制能够在保证隐私数据完整性的同时降低数据聚合阶段传感器计算和通信的耗能。
簇内数据聚合的密钥采用CPDA 的密钥生成方式。无线传感器网络中每个节点从包含K 个密钥的密钥池中随机选取k 个密钥,含有相同密钥的2 个节点则建立一条安全的通信链路。
簇间数据传输进行身份验证所需非对称密钥的建立过程如下:
1)副簇首选取2 个不相同的大素数,p 和q,计算n=p×q 和φ(n)=(p-1)(q-1),选取1 个随机数d(1 <d <φ(n)),保证d 与φ(n)互质,由方程ed mod(p-1)(q-1)=1 计算出e。
2)副簇首将(n,d)作为公钥发送给上游簇的簇首,将(p,q,e)作为私钥自己保存。
簇的建立采用CPDA 中簇的建立方式:服务器发出查询语句HELLO,每个收到消息的传感器节点有pc的概率成为簇首。若一个节点成为簇首,它将HELLO 转发给邻居节点;否则,该节点发送JOIN 随机加入某一个簇成为其成员。反复该过程即可将所有节点分成若干个簇。
本文做出如下假设:每个节点选1 个与其他节点不同的非零数字k(1≤k≤N)作为自身标识,为网络中传感器的个数。以一个含有4 个传感器节点的簇为例:节点A 为簇首,节点B 为副簇首,节点C 和节点D 为簇内成员。图1描述了簇内数据聚合阶段的消息传输过程。
图1 簇内消息传递过程Fig 1 Message transmitting process within cluster
1)节点A,B,C,D 首先在簇内广播自己的k:kA,kB,kC,kD,然后分别将自己的隐私数据a,b,c,d 随机分成n-1 片(n 是一个簇内节点的总数)。这里n=4,即,a=a1+a2+a3,b=b1+b2+b3,c=c1+c2+c3,d=d1+d2+d3。
2)节点A 计算
同样,节点B,C,D 分别计算
3)节点A 使用其与节点B 的共享密钥KAB加密VA-B,将E(VA-B,KAB)发送给节点B。同样的,A 将E(VA-C,KAC)发送给节点C;B 将E(VB-A,KAB)和E(VB-C,KBC)分别发送给A 和C;C 将E(VC-A,KAC)和E(VC-B,KBC)分别发送给A和B;节点D 将E(VD-A,KAD),E(VD-B,KBD)和E(VD-C,KCD)分别发送给A,B 和C。其中,Kij表示节点i 和j 之间的共享密钥。
4)A,B,C 分别计算RA,RB,RC,随后C 将E(RC,KBC)发送给B,于是可得
5)B 计算RB+RC,并将E((RB+RC),KAB)发送给A,A将E(RA,KAB)发送给B,则有
由于kA,kB,kC和kD均已知,簇首A 在不清楚b,c,d 的值分别是多少的情况下,可以通过RA与RB+RC计算出a+b+c+d 的值,同样,副簇首B 也可以得出a+b+c+d的值。
基站的最终目的是获得正确的数据聚合结果,而不是获得被攻击节点的编号和该节点应该发送的真实中间数据聚合值。这些真实的中间数据聚合值应该被用来参与到上游簇的簇内数据聚合中。本文通过下游簇的副簇首与上游簇的簇首通信的方式来保证数据完整性。
如图2 所示,节点A,B,C,D 组成一个上游簇,A 是簇首,B 是副簇首;节点E,F,G,H 和I,J,K,L 分别组成2 个下游簇。E 和I 分别为这2 个簇的簇首,F 和J 分别为这2 个簇的副簇首。以其中一个下游簇为例,副簇首F 监听簇首E 传给A 的中间数据聚合值,如果与F 所掌握的值相同,F 无任何动作;否则,F 立即与A 通信,将正确的中间数据聚合值发送给A,A 通过数字签名验证F 的身份无误后,使用F 发送的中间数据聚合值进行下一步的簇内数据聚合。
图2 簇间消息传递过程Fig 2 Message transmitting process between clusters
图3 描述了数字签名生成过程。
图3 数字签名生成过程Fig 3 Process of generation of digital signature
1)F 通过Hash 函数h 将中间数据聚合值DAV 生成消息摘要x=h(DAV)。
2)F 使用私钥eF签名x,生成数字签名y=sigeF(x)=xeFmod n,其中,n 为F 选用的2 个不同的大素数p 和q 的乘积。sigeF(x)代表F 的一个依赖于私钥eF对消息摘要x签名的签名算法。
3)F 使用其与A 的共享密钥KAF加密(DAV,y),生成z=EKAF(DAV,y),发送给A。
图4 描述了数字签名验证过程。
图4 数字签名验证过程Fig 4 Process of verification of digital signature
1)A 接收到z'后(z 的值有可能被攻击者篡改,这里用z'来表示A 接收到的值),使用KAF解密,得到DAV'和y',并计算x'=h(DAV')。
2)A 使用F 的公开验证函数x=ydF(mod n)来验证verdF(x',y')=true 是否成立,若成立,则说明F 通过了身份认证,且z'=z,DAV'=DAV,y'=y。verdF(x,y)为验证签名是否有效的公开验证算法,若有效,则返回该签名为true;否则,返回false。
实验设定一个在400 m×400 m 的区域内随机分布600 个传感器节点的无线传感器网络。数据传输有效范围是50 m。数据传输速率是1 Mbps。根据TinyOS[13]系统的要求,数据包头部占56 bits,支持的最大数据负载是232 bits。
图5 数据隐私保护性能对比Fig 5 Comparison of performance of data privacy protection
本节使用Matlab 分别对本文机制、CPDA 和iCPDA 的簇内数据聚合过程仿真,计算一个簇的簇内数据聚合耗时的均值,实验运行105次。由图6 得,在簇内节点个数相同时,本文机制的计算时间比CPDA 和iCPDA 少,这是因为该机制能减少节点的计算量和加解密次数。
图6 计算耗时对比Fig 6 Comparison of time-consuming of calculation
本文在OMNeT 基础上,使用基于TAG[5]的数据聚合组件分别实现CPDA、iCPDA 和本文机制。通信开销的衡量标准为数据聚合过程中进行通信的数据比特总数。图7中数据为三种机制分别运行70 次的平均结果。由图7 得,本文机制在通信量上要远小于CPDA 和iCPDA;随着pc增大,通信开销的增长速率比CPDA 和iCPDA 缓慢。这是由于本文机制将节点数据分片,从而减少链路负载,同时簇内数据聚合方法较另外两种机制简化了步骤。
图7 数据通信量总和对比Fig 7 Comparison of total of data traffic
实验在OMNet 基础上分别对本文机制、CPDA 和iCPDA 在数据完整性方面进行评估。测评标准为基站最终得到的数据聚合值与实际的数据聚合值之比。1 代表理想状态下数据没有丢失、被篡改的情况,但实际情况中,数据的丢失是难以避免的。由图8 得,本文机制在数据完整性保护方面比CPDA 和iCPDA 更为完善。副簇首监督机制使得上游簇的簇首获得正确的中间数据聚合值,并进行后续聚合计算,保障基站能够最终获得有价值的完整数据聚合值。
图8 数据完整性对比Fig 8 Comparison of data integrity
无线传感器网络中传感器电量消耗快、数据隐私性和完整性得不到较好保护等问题不容忽视。针对以上问题,本文提出了一种在无线传感器网络中基于分簇的数据聚合机制。该机制首先运用代数方程进行数据聚合,较好地保护了数据隐私性,同时降低传感器节点在计算和通信方面的能耗,延长传感器存活时间;采用副簇首监督机制保障数据的完整性,使得基站能够最终获得有价值的数据聚合值。实验表明:本文提出的数据聚合机制能够有效降低传感器能耗,并保障数据的隐私性和完整性。
[1] He W,Liu X,Nguyen H,et al.Pda:Privacy-preserving data aggregation in wireless sensor networks[C]∥26th IEEE International Conference on Computer Communications,INFOCOM 2007,Anchorage,Alaska,USA:IEEE,2007:2045-2053.
[2] Ozdemir S,Çam H.Integration of false data detection with data aggregation and confidential transmission in wireless sensor networks[J].IEEE/ACM TON,2010,18(3):736-749.
[3] Xi Y,Schwiebert L,Shi W.Preserving source location privacy in monitoring-based wireless sensor networks[C]∥20th International Parallel and Distributed Processing Symposium,IPDPS 2006,Rhodes Island,Greece:IEEE,2006:8.
[4] Kamat P,Xu W Y,Trappe W,et al.Temporal privacy in wireless sensor networks[C]∥Proceedings of the 27th International Conference on Distributed Computing Systems,Toronto,Ontario,Canada:IEEE,2007:23.
[5] Sivaraj R,Thangarajan R.Location and time-based clone detection in wireless sensor networks[C]∥4th Communication Systems and Network Technologies International Conference,CSNT 2014,Bhopal,India:IEEE,2014:133-137.
[6] Krishna M B,Vashishta N.Energy efficient data aggregation techniques in wireless sensor networks[C]∥5th International Conference on Computational Intelligence and Communication Networks,CICN 2013,Mathura,India:IEEE,2013:160-165.
[7] Jose J,Princy M.PEPPDA:Power efficient privacy preserving data aggregation for wireless sensor networks[C]∥International Conference on Emerging Trends in Computing,Communication and Nanotechnology,ICE-CCN 2013,Tirunelveli,India:IEEE,2013:330-336.
[8] Bista R,Yoo H K,Chang J W.A new sensitive data aggregation scheme for protecting integrity in wireless sensor networks[C]∥10th Computer and Information Technology,CIT 2010,Bradford,United Kingdom:IEEE,2010:2463-2470.
[9] Tang X,Xu J.Extending network lifetime for precision-constrained data aggregation in wireless sensor networks[C]∥INFOCOM 2006,Barcelona,Catalunya,Spain:IEEE,2006:1-12.
[10]He W,Liu X,Nguyen H,et al.A cluster-based protocol to enforce integrity and preserve privacy in data aggregation[C]∥Proceedings of the 29th IEEE International Conference on Distributed Computing Systems Workshops,Washington DC:IEEE Computer Society,2009:14-19.
[11]Guo Hongzhi.A modified scheme for privacy preserving data aggregation in WSNs[C]∥Proc of the 2nd International Conference on Consumer Electronics,Communications and Networks,Yichang,China:IEEE,2012:790-794.
[12]Yao Jianbo,Wen Guangjun.Protecting classification privacy data aggregation in wireless sensor networks[C]∥Proc of the 4th International Conference on Wireless Communications,Networking and Mobile Computing,DaLian,China:IEEE,2008:1-5.
[13]Karlof C,Sastry N,Wagner D.TinySec:A link layer security architecture for wireless sensor networks[C]∥Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems,Baltimore,MD,USA:ACM,2004:162-175.
[14]Madden S,Franklin M J,Hellerstein J M,et al.TAG:A tiny aggregation service for Ad-Hoc sensor networks[J].ACM SIGOPS Operating Systems Review,2002,36(SI):131-146.