计算机应用   2016, Vol. 36 Issue (9): 2432-2437  DOI: 10.11772/j.issn.1001-9081.2016.09.2432
0

引用本文 

王洁, 卢建朱, 曾小飞. 可及时确定受攻击节点的无线传感器网络数据聚合方案[J]. 计算机应用, 2016, 36(9): 2432-2437.DOI: 10.11772/j.issn.1001-9081.2016.09.2432.
WANG Jie, LU Jianzhu, ZENG Xiaofei. Data aggregation scheme for wireless sensor network to timely determine compromised nodes[J]. Journal of Computer Applications, 2016, 36(9): 2432-2437. DOI: 10.11772/j.issn.1001-9081.2016.09.2432.

基金项目

国家自然科学基金资助项目(61373125,61272415,61070164);广东省自然科学基金资助项目(S2011010002708,2010B090400164);暨南大学科技创新基金资助项目(11611510)

通信作者

王洁(1993-), 女, 河北邯郸人, 硕士研究生, 主要研究方向:信息安全、网络通信ada0608@126.com

作者简介

卢建朱(1965-), 男, 湖南桂阳人, 副教授, 博士, 主要研究方向:信息安全、网络通信;
曾小飞(1990-), 女, 江西赣州人, 硕士研究生, 主要研究方向:信息安全、网络通信

文章历史

收稿日期:2016-02-17
修回日期:2016-04-21
可及时确定受攻击节点的无线传感器网络数据聚合方案
王洁, 卢建朱, 曾小飞    
暨南大学 信息科学技术学院, 广州 510632
摘要: 无线传感器网络(WSN)中,当传感器节点受到攻击导致网络数据和传输受到干扰,及时确定受攻击的传感器节点并采取相应措施以保障整个网络的安全性尤为重要。因此,提出一种可及时确定受攻击节点的无线传感器网络数据聚合方案。首先使用状态公钥加密和对称公钥加密结合伪随机函数和消息认证码对数据进行两次加密;其次,在簇头节点进行认证,将假数据过滤后,解密,并将假数据节点编号发送给基站;最后在基站进行解密认证,恢复明文数据。该方案的提出解决了由于受攻击节点导致的错误聚合值问题,而且还实现了及时过滤假数据并确认受攻击的传感器节点。理论分析表明,提出的基于安全的单向函数、消息认证码和椭圆曲线上的离散对数难问题的方案是安全的,并大大降低了网络的通信成本和计算成本。仿真实验表明,该方案的计算成本、通信成本和确认受攻击节点时间比使用状态公钥加密的无线传感器网络安全聚合方案分别降低了至少19.96% 、36.81%和28.10%。
关键词: 无线传感器网络    数据聚合    消息认证码    伪随机函数    同态加密    
Data aggregation scheme for wireless sensor network to timely determine compromised nodes
WANG Jie, LU Jianzhu, ZENG Xiaofei     
College of Information Science and Technology, Jinan University, Guangzhou Guangdong 510632, China
Background: This work is partially supported by National Natural Science Foundation of China(61373125, 61272415, 61070164); the Natural Science Foundation of Guangdong Province (S2011010002708, 2010B090400164); the Science and Technology Innovation Foundation of Jinan University (11611510).
WANG Jie, born in 1993, M. S. candidate. Her research interests include information security, network communication.
LU Jianzhu, born in 1965, Ph. D., associate professor. His research interests include information security, network communication.
ZENG Xiaofei, born in 1990, M.S.candidate. Her research interests include information security, network communication.
Abstract: In Wireless Sensor Network (WSN), when the compromised sensor nodes disturb network data and transmission, it is particularly important to determine the compromised sensor nodes in time and take appropriate measures to ensure the security of the entire network. Therefore, a data aggregation scheme for wireless sensor network was proposed to timely determine the compromised sensor nodes. First, the state public key encryption, the symmetric public key encryption, the pseudo random function and the message authentication code were used to encrypt the plaintext twice. Secondly, the cluster head node authenticated the ciphertext and filtered false data. Then, the cluster head node decrypted the ciphertext, and the numbers of the compromised nodes were sent to the base station. At last, the base station decrypted the ciphertext to recover the plaintext and authenticated the data. The proposed scheme solves the problem of the error aggregation value problem caused by the compromised nodes, filters the false data in time and determines the compromised sensor nodes. The analysis shows that the proposed scheme is secure under the secure one-way hash function, the message authentication code and the assumption of the Discrete Logarithm Problem (DLP), and also greatly reduces the communication cost and computational cost. Simulation result shows that, compared with the secure aggregation scheme for WSN using stateful public key cryptography, the computational cost, the communication cost and the time consumption of determining the compromised sensor nodes of the proposed scheme is decreased by at least 19.96%, 36.81% and 28.10%, respectively.
Key words: Wireless Sensor Network (WSN)    data aggregation    message authentication code    pseudo-random function    homomorphic encryption    
0 引言

无线传感器网络(Wireless Sensor Network, WSN)已经被广泛地应用于环境监测、医疗保健、交通运输等领域[1]。在WSN中,节点通常是由能量非常有限的电池供电,因此,研究如何使节点能够在保证可用性的情况下尽量降低能量消耗,对WSN长时间工作显得尤为必要[2]。此外,传感器节点是被放置在公共的、不可信甚至可被恶意入侵的现实环境中,且无线传输本身数据易于被捕获和侦听。数据聚合技术作为降低数据通信成本的重要技术之一,将节点的感应数据进行聚合之后发送给基站,以减少能量消耗[3]

为了提高数据聚合的安全性,人们通常会采用某种加密技术。传统的安全数据聚合方案多采用逐跳聚合加密[4-6],其数据聚合过程中频繁的加解密操作往往会影响聚合效率,也增加了相应的额外能量支出和延时。针对这一情况,引入了同态加密技术[7-9]使得计算运算可以在密文之上执行,数据聚合过程变得更有效率。基于公钥的同态加密技术,可应用于高端传感器的数据安全聚合;而对于一般的低端传感器更青睐于基于对称加密算法的同态加密技术。在基于对称加密算法的同态加密技术中,根据WSN的特点,设计一个资源消耗较低且同时提供数据机密性和完整性服务的方案是一个非常有挑战的问题[10]。基于文献[11]的对称加密生成的密文数据聚合,Boudia等[12]通过一个转发阶段定义传感器节点Sij的当前状态Stij,利用基于状态的对称密钥实现加密数据聚合的机密性和完整性;当加密数据聚合操作中受到攻击,该方案中基站发现聚合数据无效,但没有给出确定受攻击节点的方法。为了保障WSN的正常运行,震慑攻击者的攻击行为,设计一种保证加密数据聚合的机密性和完整性、且能及时确定所受攻击的节点的数据聚合方案是十分必要的。

针对Boudia等[12]提出方案的不足,本文将伪随机函数、安全消息认证码和转发阶段定义传感器节点Sij的当前状态Stij相结合,使簇节点能及时验证其属下传感器发送的密文数据,这样基站接收的密文是簇节点验证有效的密文数据的聚合。簇节点的验证结果可及时过滤无效的密文数据,确定受攻击的节点,方便相关部门采取措施及时维护网络的安全运行。

1 本文设计方案

本章将椭圆曲线上的点加法与散列函数相结合,设计了一种可及时确定受攻击的传感器节点的数据聚合方案,可及时检测接收数据的正确性,并及时确定受攻击的传感器节点。该方案由系统初始化、状态转发和数据聚合阶段组成,每个阶段的具体操作将在下面描述。

1.1 系统初始化

假设G是定义在数域Fp中椭圆曲线Ep(a, b)上的加法群,PGq阶生成元。令传感器网络中的最大节点数目为n,采集数据的长度为μ比特,正整数M不小于2μ*n。系统选取一个伪随机函数的f(·)和一个安全消息认证码mac(·)(·),并为基站(Base Station, BS)配置一对私钥/公钥(x, Y),其中Y=xP, xZq*,基站BS与每一个传感器节点Sij建立一个共享密钥SKijBS

1.2 转发阶段

节点部署后,传感器节点Sij与其所在簇的簇头CHj建立一个共享的对称密钥KijCH。在每次执行数据聚合前,BS广播一个严格单调递增的一次性随机数t(如,取BS当前的时间),部署的传感器节点执行一个转发操作,以生成一个一次性的状态,这是一些传感器网络[13-15]通常采用的方法。隶属于不同簇的传感器节点不能与基站直接通信,需要通过所在簇的簇头转发来执行这一操作。

隶属于簇CHj的第i个节点Sij执行算法1,然后将结果经簇头转发给BS。即,CHjStij和消息认证码macij转发送给BS。为了确保BS能够提取到所有密钥,要求簇头转发所有的数据包。

算法1   Forwarding phase(Sij)。

输入:para, SKijBS, t

输出:Stij, macij

1)  生成随机数rij∈[1, q-1];

2)  计算Stij=rijP

3)  计算Kij=f(StijrijYSKijBSt);

4)  计算macij=macKij(Stij)。

接受到信息(Stij, macij)后,基站BS使用私钥x计算出与节点Sij的共享密钥xStij=xrijP=rijY,调用算法2,检查该状态信息的有效性和完整性。BS将认证结果通过其簇头CHj转发给节点Sij,若信息(Stij, macij)被BS接受,则节点Sij将(Stij, macij)作为其状态,此状态用于随后的数据聚合过程;否则,该节点重新执行算法1。转发阶段的最终结果是基站同网络中参加数据聚合的每一个节点Sij之间共享一个状态Stij和执行簇数据聚合操作的序号oi

算法2  Verification(BS)。

输入:para, t, (Stij, macij),SKijBS, x

输出:mac verification。

对每个节点Sij

1)  计算Kij=f(StijxStijSKijBSt);

2)  计算mac′ij=macKij(Stij);

3)  若mac′ij=macij成立则接受;否则拒绝。

1.3 数据聚合阶段

数据的聚合阶段在转发阶段之后进行,包含数据加密、数据聚合和数据恢复与认证三个过程。具体地,在数据加密过程,节点感测数据,将所得结果加密发送至簇头;在数据聚合过程,簇头接收密文数据并验证数据的正确性,簇头将簇中采集的有效数据进行聚合传送给基站;在数据的恢复与认证过程,基站对簇头发来的有效数据进行解密和认证。

1.3.1 数据加密过程

据加密前,传感器节点Sij先将感知到的数据mij用类似于文献[16]的编码方式进行编码,与之不同的是编码之后的eij使用对称加密算法,其速度比非对称加密更快并且支持较短的密文。

f(·)生成两个密钥Kij1Kij2,其中Kij1 < M(M是传感器节点部署前预装载的大整数,正整数M不小于2μn)。数据加密过程中,传感器节点Sij使用Kij1加密编码之后的数据eijKij2则用来生成相应的验证码MACij;传感器节点与簇头共享的密钥KijCH则可分割为两个子密钥KCHij1KCHij2KCHij1用来对已经加密的数据进行第二次加密,Kij2CH则是生成再次加密之后密文和MACij对应的认证码,具体的加密过程如算法3。

算法3  Encrypt phase(Sij)。

输入:mij, (rij, Stij), SKijBS, KijCH, t

输出:(cij, mac′ij), MACij

1)  对数据进行编码eij=mij‖0z,其中z=μ(oi-1);

2)  计算Kij=f(StijrijYY, t),拆分KijKij1Kij2

3)  生成密文cij和对应认证消息MACij,其中cij=eij+Kij1 mod MMACij=macKij2(cij);

4)  拆分KijCHKij1CHKij2CH,计算${{c'}_{ij}} = {c_{ij}} \oplus K_{ij1}^{CH},ma{{c'}_{ij}} = ma{c_{K_{ij2}^{CH}}}\left( {{{c'}_{ij}}\left\| {MA{C_{ij}}} \right.} \right)$

1.3.2 数据聚合过程

收到节点Sij的信息(c′ij, mac′ij)和MACij后,簇头CHj首先验证其有效性。具体地,簇头CHj将与Sij的共享密钥KijCH拆分成KCHij1Kij2CH,由KCHij2计算cijMACij的消息认证码mac″ij,只有当mac″ij与接收的mac′ij匹配时才执行对c′ij的解密,恢复密文cij;如果不匹配,则要求节点Sij重新发送。

假设在限定的时间内有η个节点没有传送有效的数据给簇头CHj,其中0≤ηn/3。不失一般性,令这η个节点为S1j, S2j, …, Sηj。对接收到的n-η个有效数据,簇头CHj执行密文数据的聚合操作得到Cagg。类似地,该簇头将n-η个有效数据对应的消息认证码进行异或聚合得到MACagg。最后,簇头将(Cagg, MACagg)和没有传送有效数据的节点标识符{S1j, S2j, …, Sηj}转发给基站。上述两个操作的具体实现见算法4。

算法4  Homomorphic aggregation(CHj)。

输入:((c′ij, mac′ij), MACij),其中i∈{1, 2,…, n};

输出:(Cagg, MACagg)。

1)  认证每个接受信息(cij, MACij)

  ①计算$ma{c''_{ij}} = ma{c_{K_{ij2}^{CH}}}\left( {{{c'}_{ij}}\left\| {MA{C_{ij}}} \right.} \right)$

  ②若mac″ijmac′ij,则要求相应节点重发,

  ③否则,解密${c_{ij}} = {{c'}_{ij}} \oplus K_{ij1}^{CH}$

2)  当簇中的节点信息有效时,对簇中有效的nη个密文(c(η+1)j, c(η+2)j, …, cnj)执行聚合计算${C_{{\rm{agg}}}} = \sum\limits_{i = n + 1}^n {{c_{ij}}} \;\bmod \;M$

3)  由nη个消息验证码(MAC(η+1)jMAC(η+2)j,…,MACnj)执行聚合得到 $MA{C_{{\rm{agg}}}}{\rm{ = }}MA{C_{\left( {\eta {\rm{ + }}1} \right)j}} \oplus MA{C_{\left( {\eta + 2} \right)j}} \oplus \cdots \oplus MA{C_{nj}}$

1.3.3 数据的恢复与认证

基站BS接收到每个簇CHj发送来的聚合数据(Cagg, MACagg)和{S1j, S2j, …, Sηj}后,对它们进行解密和认证两个操作。

L={η+1, η+2, …, n},对每个iL及其对应节点Sij,BS读取转发阶段与其共享的状态Stij,计算对应节点的密钥Kij,并将该密钥拆分成Kij1Kij2;然后,通过计算${C_{{\rm{agg}}}} - \sum\limits_{i = \eta + 1}^n {{K_{ij1}}\;\bmod \;M} $得到解密的明文eagg,由eagg的结构可得到传感器节点Sij的数据mij,其中i=η+1, η+2, …, n,结合序号oi和密钥Kij2,可生成mij的消息认证码MAC′ij;将n-ηMAC′ij异或操作的结果为MACagg,如果MACagg=MACagg成立,则簇头CHj下的n-η个节点感测数据{m(η+1)j, m(η+2)j, …, mnj}是真实有效的,否则要求对应簇头CHj重发。具体的恢复与认证操作实现见算法5。

算法5  End-to-end verification(BS)。

输入:(Cagg, MACagg)j无效数据节点{S1j, S2j, …, Sηj},其中j∈{1, 2, …, n};

输出:MAC verification。

1)  对有效节点{S(η+1)j, S(η+2)j, …, Snj}计算密钥

  Kij=f(StijxStijY, t),并拆分成Kij1Kij2

2)  依据CHj的信息(Cagg, MACagg)j

  ①计算${e_{{\rm{agg}}}} = {C_{{\rm{agg}}}} - \sum\limits_{i = \eta + 1}^n {{K_{ij1\;}}\bmod \;M} $

  ②解码(eagg, {o1, o2, …, onη}, μ):

mij=eagg[(oi-1)*μ, μ*oi-1],其中{o1, o2, …, onη}是{1, 2, …, n-η}的置换,

  ③对明文 ${e_{ij}} = {m_{ij}}\left\| {{0^{\mu \left( {{o_i} - 1} \right)}}} \right.$计算 $MA{C_{ij}} = ma{c_{{K_{ij2}}}}\left( {{e_{ij}} + {K_{ij1}}\bmod M} \right)$,执行聚合 $MA{{C'}_{{\rm{agg}}}}{\rm{ = }}MA{C_{\left( {\eta {\rm{ + }}1} \right)j}} \oplus MA{C_{\left( {\eta + 2} \right)j}} \oplus \cdots \oplus MA{C_{nj}}$

  ④当MACagg=MACagg时,接受eagg;否则对应簇头CHj重发。

2 安全性分析 2.1 数据机密性分析

本节将讨论本文方案的安全性,其安全性是基于伪随机函数、安全的单向函数、消息认证码和椭圆曲线上的离散对数难问题。

本文方案加密数据聚合的安全性可归约到文献[11]方案的安全性。在文献[11]设计的加密数据聚合方案由下述4个算法组成:

$\begin{array}{l} KeyGen\left( {\lambda ,n} \right) \to e{k_i} = {f_K}\left( i \right);\\ Encrypt\left( {e{k_i},m} \right) \to {c_i} = \left( {{m_i} + {f_{e{k_i}}}\left( r \right)} \right)\bmod \;p;\\ {\rm{Aggregation}}\left( {{c_1},{c_2}, \cdots ,{c_n}} \right) \to c = \left( {{c_1} + {c_2} + \cdots + {c_n}} \right)\bmod \;p;\\ {\rm{Decrypt}}\left( {\sum\limits_{i = 1}^n {e{k_i},c} } \right) \to x = \left( {c - \sum\limits_{i = 1}^n {{f_{e{k_i}}}\left( r \right)} } \right)\bmod \;p \end{array}。$

作者在文献[11]的定理6.2证明了文中方案可抵抗至多(n-1)个参加者的共谋攻击。具体描述如下:

定理1[11]   若fK(·):{0, 1}λ→{0, 1}λ是一个伪随机函数,r是一个一次性的整数,则上述加密数据聚合方案可安全地抵抗至多(n-1)参加者的共谋攻击。

定理2   若f(·):{0, 1}λ→{0, 1}λ是一个伪随机函数,且在子群〈P〉求解离散对数问题是难的,则本文加密数据聚合方案Γ可安全地抵抗至多(nη-1)参加者的共谋攻击,其中nη是提供有效聚合数据的参加者。

证明  用反证法证明上述定理,即若攻击者能从本文加密聚合的密文获取明文,则他能攻破文献[11]设计的加密数据聚合方案Λ。特别地,取η=0,存在共谋攻击者A1, A2, …, An-1在时间γ内使得${\rm{Pr}}\left[ {{\mathit{\Gamma} _{{A_1},{A_2}, \cdots ,{A_{n - 1}}}}\left( {{C_{{\rm{agg}}}},MA{C_{{\rm{agg}}}}} \right) = \sum\limits_{i = 1}^n {{e_{ij}}} } \right] > \varepsilon $,由于文献已证${\rm{Pr}}\left[ {{\mathit{\Lambda} _{{A_1},{A_2}, \cdots ,{A_{n - 1}}}}\left( {{C_{{\rm{agg}}}}} \right) = \sum\limits_{i = 1}^n {{e_{ij}}} } \right] > \varepsilon $,它们攻击方案Λ的耗时为γ+O(n(tf+tP)),其中tftP是分别计算伪随机函数和椭圆曲线上的点乘各自执行一次所需的时间。

由于在子群〈P〉求解离散对数问题是难的,攻击者A1, A2, …, An-1Stij=rijPY=xP分别得到整数rij和密钥x的概率是可忽略不计。又t是一次性的,令eKij=StijrijYY,则Kij=fekij(t)=f(eKij, t);拆分密钥KijKij1Kij2,即Kij1fekij(t)的高位部分,记为Kij1=fhekij(t),这样cij=eij+fhekij(t)mod M。聚合密文可表示为${C_{{\rm{agg}}}} = \sum\limits_{i = 1}^n {{c_{ij}}\;\bmod \;M} = \sum\limits_{i = 1}^n {{e_{ij}} + \sum\limits_{i = 1}^n {f_{e{k_{ij}}}^{\rm{h}}\left( t \right)\;\bmod \;M} } $。解密操作为$\sum\limits_{i = 1}^n {{e_{ij}} = {C_{{\rm{agg}}}} - \sum\limits_{i = 1}^n {f_{e{k_{ij}}}^{\rm{h}}\left( t \right)\;\bmod \;M} } $。当所有参加者提供有效的聚合数据时,即η=0,i从1取值到n,则攻击者可获得mi=eij聚合的消息$\sum\limits_{i = 1}^n {{m_i}} $,故${\rm{Pr}}\left[ {{\mathit{\Lambda} _{{A_1},{A_2}, \cdots ,{A_{n - 1}}}}\left( {{C_{{\rm{agg}}}}} \right) = \sum\limits_{i = 1}^n {{e_{ij}}} } \right] > \varepsilon $

在利用本文加密数据聚合方案Γ攻击文献[11]设计的方案Λ过程中,攻击者计算Stij=rijPY=xPeKij中的rijY耗时为(2n+1)tP;又利用伪随机函数生成密钥Kij=f(eKij, t)耗时为ntf,这里i从1取值到n。因而攻击方案Λ的总时间为γ+(2n+1)tP+ntf=γ+O(n(tP+tf))。

2.2 数据完整性分析

本文加密数据聚合方案Γ的数据完整性是基于消息认证码MAC和伪随机函数f(·)生成的密钥Kij。由于eKij=StijrijYY,攻击者不可能获得eKij中的rijY;又因Stij是一次性的,所以攻击者想获取eKij的概率很小,从而它们计算密钥Kij=f(eKij, t)的概率可忽略不计。依据消息认证码MAC的安全性可知,攻击者在没有密钥Kij=Kij1Kij2的情形下形成一个消息eij对应的消息认证码MACij=macKij2(eij+Kij1mod M)的概率可忽略不计的。

3 性能分析

本文方案与文献[12]都是基于椭圆曲线上的Diffie-Hellman密钥协商算法、消息认证码、伪随机函数和椭圆曲线上的离散对数难问题。假设BS的计算能力和存储空间能够满足系统的设计要求,下文着重分析与传感器相关的性能。相对于椭圆曲线上的点乘、消息认证码和伪随机函数计算,哈希函数、异或运算、模的加法运算和字符串的串接操作的耗时可忽略不计。

3.1 计算成本分析

在本文方案实现中,使用带密钥的伪随机函数生成相关信息的消息认证码,即执行一次消息认证码或伪随机函数计算操作所耗费的时间相同。令tptf分别表示执行1次椭圆曲线上的点乘和执行1次伪随机函数计算所耗费的时间。

传感器节点Stij计算各自状态Stij=rijP和密钥Kij=f(StijrijYSKijBSt)需各自执行1次椭圆曲线上点乘操作tp,密钥生成与消息认证码生成MACij=macKij(Stij)各自执行1次伪随机函数操作tf。在转发阶段的相关操作执行次数及时间消耗与文献[12]相似,因此,转发阶段本文方案与文献[12]的时间总消耗均为:2(tf+tp)。

在数据聚合阶段,传感器Sij加密数据,而簇头对它管辖传感器发送的数据执行数据聚合。在数据加密过程中,传感器Sij生成密钥Kij=f(StijrijYY, t)用于加密原始数据eij,需要计算rijY和执行1次伪随机函数操作,所耗费时间共计为tp+tf。传给基站的密文cij=eij+Kij1mod MSij利用与簇头CHj的共享密钥KCHij1加密cij得到c′ij=cijKCHij1,再分别生成对应的消息验证码MACij=macKij2(cij)和mac′ij=macKij2CH(c′ijMACij),此过程,传感器Sij需要执行2次生成消息验证码的操作,所耗费时间为2tf。综上,传感器Sij耗费总时间为tp+3tf。文献[12]的每个传感器所需要的时间耗费是tp+2tf,但是当某个传感器Si0j发送给簇节点的信息(ci0j, MACi0j)受到篡改等攻击时,基站通过解密验证只能发现本次聚合数据无效,却不能定位传感器节点Si0j受到攻击;这样,基站为了获取正确的数据聚合,只好向网络所在簇的所有节点重新收集数据,其传感器节点计算成本为(tp+2tf)δ,其中δ是重新收集数据的次数。本文方案通过了簇节点的认证可确定受攻击的节点Si0j,并对攻击节点及时采取了相应的措施,使重新收集数据的次数一般不超过2次,克服了文献[12]中的不足。

在数据聚合过程中,簇头CHj只对传感器Sij的有效数据进行聚合,以降低通信成本,减少基站的对无效数据的解密操作。接收来自传感器Sij的信息((c′ij, mac′ij), MACij)后,CHj利用与Sij的共享密钥KCHij1计算c′ij对应的消息验证码mac″ij=macKCHij2(c′ijMACij),再通过mac″ij与接收的mac′ij是否匹配来验证接收信息的有效性,此时需要进行1次消息认证码操作,所耗费时间为tf。假设每个CHj最大节点数为L,则CHj需要进行L次消息认证码操作,对应的时间耗费为tfL,即簇头CHj耗费总时间。本文方案和文献[12]方案的时间消耗对比分析如表 1所示,其中δ≥2,L′为有效节点个数且L′≤L,簇CHj中的传感器标识符满足1≤oi, iL,且对同一网络中相同节点oi=i

表 1 计算成本对比
3.2 通信成本分析

令|x|表示二进制字符串的长度。取函数f(·)和mac(·)(·)输出长度为160比特,感应数据信息长度|μ|=|mij|=160比特。

转发阶段,各节点Sij要将各自状态Stij与消息认证码MACij通过簇头节点CHj转发给BS。其中|MACij|=|Stij|=160比特,且假设传感器节点个数为L,则转发阶段每个传感器节点需要发送数据长度为|MACij|+|Stij|=320比特,而簇头节点CHj则需要转发的数据长度为L(|MACij|+|Stij|)=320L比特。转发阶段发送数据操作与文献[12]相似,同理,转发阶段本文方案与文献[12]的总通信消耗相同且均为:(L+1)(|MACij|+|Stij|)=320(L+1)比特。

数据加密过程,对数据编码后得到|eij|=|mij‖0μ(oi-1)|=160oi比特,对其加密后密文|cij|=160oi比特,Sij利用与簇头CHj的共享密钥Kij1CH加密cij得到c′ij=cijKij1CH,故|c′ij|=|cij|;分别生成对应的消息验证码MACij=macKij2(cij)和mac′ij=macKij2CH(c′ijMACij),MACijmac′ij的长度为函数mac(·)(·)输出长度,|mac′ij|=|MACij|=|mac(·)(·)|=160比特。由此本文方案的数据加密过程传感器节点Sij发送消息长度为|c′ij|+|mac′ij|+|MACij|=160(2+oi)比特,文献[12]数据加密阶段传感器节点消息长度为|cij|+|MACij|=160(1+i)比特。但是当某个传感器Si0j发送给簇节点的信息(ci0j, MACi0j)受到篡改等攻击时,同理,数据加密过程中本文方案传感器节点的消息长度一般不超过320(2+oi)比特,文献[12]传感器节点的消息长度为160δ(1+i)比特。

假设每一个簇中最多有L个节点,其中有效节点数为L′。数据聚合过程对密文cij和对应消息认证码MACij进行聚合,分别得到|Cagg|=((nη)160+160)比特=(L′+1)160比特, 和|MACagg|=160比特。在数据聚合过程簇头CHij发送消息的长度为|Cagg|+|MACagg|=(L′+2)160比特,文献[12]数据聚合阶段簇头发送消息长度为|Cagg|+|MACagg|=(L+2)160比特。同理,当某个传感器Si0j发送给簇节点的信息(ci0j, MACi0j)受到篡改等攻击时,在数据聚合过程中,本文方案中簇头CHij发送消息的长度一般不超过320(L′+2)比特,文献[12]簇头CHij发送消息的长度为160δ(L+2)比特。通信成本对比分析如表 2所示。

表 2 通信成本对比比特
3.3 确定受攻击节点时间分析

本文提出的数据聚合方案中,转发阶段相关操作类似于文献[12],由上一节理论分析可知,本文方案转发阶段的时间消耗和通信消耗与文献[12]相同,因此在确定受攻击节点时间分析时只考虑数据聚合阶段相关操作时间对比。

当传感器节点Sij将加密的数据发送至簇头节点CHj,簇头节点CHj对数据进行认证,如果该簇网络中存在受攻击节点,此时,簇头节点CHj便可以确定受攻击节点,并将节点信息发送给BS。假设,传输1比特的时间为tb,传感器节点数为L。传感器节点Sij向簇头CHj传输数据所消耗总时间为:$\sum\limits_{i = 1}^L {160\left( {2 + i} \right){t_{\rm{b}}} = 80\left( {{L^2} + 5L} \right){t_{\rm{b}}}} $;确认受攻击节点前各操作时间消耗为:tp+3tf;由此可知,簇头节点CHj确定受攻击节点的消耗时间为:tp+3tf+80(L2+5L)tb;当数据发生错误时需重新收集数据,重新收集数据次数一般不超过2次,因此,簇头CHj确定受攻击节点消耗总时间一般不超过:2(tp+3tf+80(L2+5L)tb)。而Boudia等的方案中,当簇头节点CHj将聚合信息发送至BS,如果存在受攻击节点,BS对聚合数据进行解密和认证后才会发现聚合数据值是错误的,且无法确定受攻击节点信息。由分析可知传感器节点Sij向簇头CHj传输数据所消耗总时间为: $\sum\limits_{i = 1}^L {160\left( {1 + i} \right){t_b} = 80\left( {L + 3} \right)L{t_b}} $;簇头CHj向BS发送消耗时间为:160(L+2)tb;BS发现错误聚合值前各操作时间消耗为:(tp+2tf)+(tp+tf)L;由此可知,BS发现错误聚合值的时间消耗为:80(L+3)Ltb+160(L+2)tb+(tp+2tf)+(tp+tf)L=(tp+2tf)+(tp+tf)L+80(L2+5L+4)tb;由于,当BS发现聚合值错误时,需要不断地重新收集数据,直到聚合值正确,因此,BS发现存在受攻击节点消耗时间为:δ((tp+2tf)+(tp+tf)L+80(L2+5L+4)tb),其中δ为重新收集数据次数,且$\delta \gg 2$,然而,当存在受攻击节点时,BS无法得到最终正确的聚合值,同时也无法准确确认受攻击的传感器节点。由此可以得到确认受攻击的传感器节点的时间对比如表 3所示。

表 3 确认受攻击节点时间消耗对比

本文方案中,簇节点CHj对传感器节点Sij数据进行认证后,过滤错误数据,并将错误数据的传感器节点Sij信息发送给BS,BS可确定受攻击节点的信息。BS对接收到的数据进行解密和认证,如果此时仍发现聚合值错误,则可知,受攻击的传感器节点为簇头节点CHj,因此,该方案中,无论是普通传感器节点Sij还是簇头节点CHj受到攻击,BS都可以准确判断出受攻击的节点。若考虑信道的传输误差,当传感器节点Sij传输错误数据,在簇头节点CHj认证时会及时发现数据错误,要求相应的传感器节点Sij重新发送数据;当簇头节点CHj传输错误数据,BS中消息认证错误,要求相应的簇头CHj节点重新发送数据;如果在规定聚合时间内没有收到相应节点的正确信息,则将节点归为无效节点,不参与有效数据聚合操作以及其后在BS的解密和认证操作;因此,不正确的数据并不会影响无线传感器网络聚合数据的有效性。

在文献[12]中,若存在受攻击的传感器节点,BS就无法获取通过认证的聚合数据,为了获取正确数据只能重新收集,因而其对应的重新收集数据次数$\delta \gg 2$,因此,经理论分析可知,本文方案中,BS不仅可以获取正确的聚合数据,而且确认受攻击节点的时间小于文献[12]方案,并且本文方案与文献[12]的方案相比,在计算成本和通信成本方面都有降低。

4 仿真实验

根据第3章的理论分析,对本文方案进行模拟实验,选取输出度为160比特的安全的单向Hash函数SHA-1,并且用这个Hash函数生成一个长度为160比特的随机数,采用安全的椭圆曲线Curve P-192,即,基于|p|=192比特的素数域,Fp的椭圆曲线,E:y2=x3-3x+b mod p,其素数阶|q|为192比特[17],将无线传感器网络的传感器节点数目设置为51,其中簇节点个数为1,在如图 1所示的网络结构下进行仿真实验。在不考虑网络拥塞控制的情况下,即在理想的网络状态下,无线网络传输速率可达250 kb/s,可知网络中传输1比特数据平均消耗时间为tb=1/250×10-3s=0.4×10-5 s,通过实验仿真测得执行1次椭圆曲线点乘消耗平均时间tp=0.346 s以及执行1次伪随机函数所需平均时间tf=0.638×10-5 s。通过实验仿真可得到各个阶段的计算成本实验数据和通信成本实验数据分别如表 4表 5所示,并且得到确认受攻击的传感器节点的时间结果如表 5所示。在规定的时间周期内,由实验数据可得到,本文方案和文献[12]方案的总计算成本对比和总通信成本对比分别如图 2图 3所示,其中δ≫2,当δ取值3和4时,本文方案比文献[12]方案的计算成本分别降低了19.96%和33.30%,通信成本分别降低了36.81%和52.32%,确认受攻击节点时间降低了94.41%和95.80%。随着重发次数δ的增加,文献[12]方案时间消耗、通信消耗及确认受攻击节点的时间越来越大,而本文方案则在要求第二次重发时已经确认受攻击节点。由仿真实验结果可知,本文方案的计算成本、通信成本和确认受攻击节点时间比文献[12]方案分别降低了至少19.96%、36.81%和94.41%。

图 1 无线传感器网络结构
表 4 计算成本仿真实验结果
表 5 通信成本仿真实验结果
表 6 确认受攻击节点时间消耗仿真实验结果
图 2 本文方案与文献[12]方案总计算成本对比
图 3 本文方案与文献[12]方案总通信成本对比

理论分析和仿真实验可知,本文方案与文献[12]相比,降低了计算成本和通信成本,发现错误节点所需时间小于文献[12]方案所需时间,且能够准确发现错误节点信息。

5 结语

确定无线传感器网络中受攻击的节点可以及时对受攻击节点采取相应措施,以保障整个网络的安全性。本文针对Boudia等方案[12]中存在的缺陷,提出了可及时确定受攻击的传感器节点的数据聚合方案。该方案通过消息认证码保障数据的完整性,并且可及时确定网络中受攻击的传感器节点信息。安全性和性能分析表明,本文方案能及时认证传感器发送的数据,过滤无效数据,确定受攻击节点并保证端到端的数据机密性和完整性。

参考文献
[1] GUBBI J, BUYYA R, MARUSIC S, et al. Internet of Things (IoT): a vision, architectural elements, and future directions[J]. Future Generation Computer Systems, 2013, 29 (7) : 1645-1660. doi: 10.1016/j.future.2013.01.010 (0)
[2] YICK J, MUKHERJEE B, GHOSAL D. Wireless sensor network survey[J]. Computer Networks, 2008, 52 (12) : 2292-2330. doi: 10.1016/j.comnet.2008.04.002 (0)
[3] AKKAYA K, DEMIRBAS M, AYGUN R S. The impact of data aggregation on the performance of wireless sensor networks[J]. Wireless Communications and Mobile Computing, 2008, 8 (2) : 171-193. doi: 10.1002/(ISSN)1530-8677 (0)
[4] DU W, DENG J, HAN Y S, et al. A witness-based approach for data fusion assurance in wireless sensor networks [C]// Proceedings of the 2003 IEEE Global Telecommunications Conference. Piscataway, NJ: IEEE, 2003, 3: 1435-1439. (0)
[5] HU L, EVANS D, Secure aggregation for wireless networks[C]// Proceedings of the 2003 Applications and the Internet Workshops. Washington, DC: IEEE Computer Society, 2003: 384-391. (0)
[6] PRZYDATEK B, SONG D, PERRIG A. SIA: secure information aggregation in sensor networks [C]// SenSys '03: Proceedings of the 1st international Conference on Embedded Networked Sensor Systems. New York: ACM, 2003: 255-265. (0)
[7] WESTHOFF D, GIRAO J, ACHARYA M. Concealed data aggregation for reverse multicast traffic in sensor networks: encryption, key distribution, and routing adaptation[J]. IEEE Transactions on Mobile Computing, 2006, 5 (10) : 1417-1431. doi: 10.1109/TMC.2006.144 (0)
[8] CASTELLUCCIA C, MYKLETUN E, TSUDIK G. Efficient aggregation of encrypted data in wireless sensor networks [C]// MOBIQUITOUS '05: Proceedings of the the2nd Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services. Washington, DC: IEEE Computer Society, 2005:109-117. (0)
[9] MYKLETUN E, GIRAO J, WESTHOFF D. Public key based cryptoschemes for data concealment in wireless sensor networks [C]// Proceedings of the 2006 IEEE International Conference on Communications. Piscataway, NJ: IEEE, 2006, 5: 2288-2295. (0)
[10] PETER S, WESTHOFF D, CASTELLUCCIA C. A survey on the encryption of convergecast traffic with in-network processing[J]. IEEE Transactions on Dependable and Secure Computing, 2010, 7 (1) : 20-34. doi: 10.1109/TDSC.2008.23 (0)
[11] CASTELLUCCIA C, CHAN A C F, MYKLETUN E, et al. Efficient and provably secure aggregation of encrypted data in wireless sensor networks[J]. ACM Transactions on Sensor Networks, 2009, 5 (3) : Article No. 20. (0)
[12] BOUDIA O R M, SENOUCI S M, FEHAM M, A. novel secure aggregation scheme for wireless sensor networks using stateful public key cryptography[J]. Ad Hoc Networks, 2015, 32 (C) : 98-113. (0)
[13] CHEN S, WANG G, JIA W. Cluster-group based trusted computing for mobile social networks using implicit social behavioral graph[J]. Future Generation Computer Systems, 2016, 55 : 391-400. doi: 10.1016/j.future.2014.06.005 (0)
[14] ZHANG Q Y, WANG R C, SHA C, et al. Node correlation clustering algorithm for wireless multimedia sensor networks based on overlapped FoVs[J]. Journal of China Universities of Posts and Telecommunications, 2013, 20 (5) : 37-44. doi: 10.1016/S1005-8885(13)60087-4 (0)
[15] LIU Z, YUAN Y, GUAN X, et al. An approach of distributed joint optimization for cluster-based wireless sensor networks[J]. IEEE/CAA Journal of Automatica Sinica, 2015, 2 (3) : 267-273. doi: 10.1109/JAS.2015.7152660 (0)
[16] SUN H M, LIN Y H, HSIAO Y C, et al. An efficient and verifiable concealed data aggregation scheme in wireless sensor networks [C]// ICESS '08: Proceedings of the 2008 International Conference on Embedded Software and Systems. Washington, DC: IEEE Computer Society, 2008: 19-26. (0)
[17] KERRY C F, SECRETARY A, DIRECTOR C R. FIPS pub 186-4 federal information processing standards publication Digital Signature Standard (DSS) [S]. Gaithersburg: National Institute of Standards & Technology, 2013. (0)