2. 湖南省铀尾矿库退役治理工程技术研究中心, 湖南 衡阳 421001;
3. 铀矿冶放射性控制技术湖南省工程研究中心, 湖南 衡阳 421001
2. Hunan Engineering Technology Research Center for Decommission Uranium Tailings, Hengyang 421001, China;
3. Hunan Engineering Research Center for Radioactivity Control in Uranium Mining and Metallurgy, Hengyang 421001, China
0 引言
在无线传感器网络[1-3](wireless sensor network,WSN)监测中,为保证网络的连通性和可靠性不受单个偏差较大的数据影响,传输数据将是庞大的,且存在被盗取的可能,数据安全性得不到保障[4-7],因此有必要对数据进行多级压缩融合和加密[8-10].研究人员提出了一系列数据融合和加密方案[11-14]:文[15]提出一种通用数据加密方案,可提供自身数据监测和融合,支持sink进行有阈询问,但融合精度较低,并且当父节点存在叶子节点时难以实现.文[16]中,簇头先进行簇内融合,再通过融合树将数据传送到sink节点,其广播和数据融合过程中通信开销较大.文[17]提出一种基于分簇的数据融合加密算法(Cluster-based Private Data Aggregation algorithm,CPDA),种子信息和感知数据一并发送,导致簇头在执行数据融合时有较高的通信开销.基于数据切片技术,SMART(Slice Mix AggRegaTe)算法中数据被切片后由h跳节点融合再传输,由于每个节点都需向邻居节点共享切分数据信息,造成的通信开销也是较大的.文[18]所提算法对SMART和CPDA进行完整性查验,如果两个相互独立的融合树得到的结果偏差在阈值以内,则接受该融合结果,否则返回错误.然而由于单个节点的不可靠性,无法保证WSN网络中所有节点都对询问做出响应,因而该查验算法比较两融合树结果的做法不一定能够实现;其次,节点收发信息时需对所有数据进行编解码,增大了开销.文[19]应用Hilbert曲线加密,对CPDA做了改善,但其加密过程复杂,尽管对栅格进行了简化,用PIR(private information retrieval)技术查验完整性还是造成了高的开销和非常高的算法复杂度.
综上可知,尽管现存算法具备数据融合加密功能,但存在以下问题:
1) 组网和数据压缩融合的通讯开销比较大.
2) 算法完整性检测部分复杂度高.
因此,有必要设计一种低开销、数据安全性和完整性较为理想的压缩融合加密算法,以满足实际监测需要.本文提出一种基于Elliptic-curve及Hilbert-curve的数据压缩融合加密算法ECHCPA(Elliptic-curve and Hilbert-curve based data Privacy-preserving Algorithm),针对融合加密过程的通讯开销,通过椭圆曲线公钥加密、Hilbert-curve压缩融合,最大程度降低复杂度进而降低开销;针对数据完整性检测,通过比较父节点与检测节点二者的压缩融合数据是否一致实现查验.仿真结果表明:与iHDA和SMART相比,ECHCPA通讯开销明显降低且有较好的数据完整性和数据精度.
1 ECHCPA算法的实现算法的实现依次分为3个阶段:簇间组网阶段、数据编码阶段和数据传输阶段.
1) 组网阶段:每个节点通过广播信息,确定其兄弟节点,父节点和子节点;所有兄弟节点之间进行种子交换.
2) 编码阶段:每个节点利用自身生成的或接收的种子将原始感知数据转换成另一个数值,实现隐藏.通过Elliptic-curve及Hilbert-curve对所转换的数值进行编码.
3) 传输阶段:每个子节点将编码后的数据传给父节点,由父节点进行初级压缩融合,进一步将融合数据传给sink节点进行次级压缩融合.
下面对每个阶段进行展开说明.
1.1 组网阶段对于簇间通信,由于簇形拓扑受簇头通信范围影响,且父节点负载较大,数据加密算法选择树形拓扑进行初级压缩融合.首先由sink节点向各簇头泛洪式地发送HELLO信息,达到询问效果.各节点接收后判断该信息是否来自sink节点,若sink在其通讯范围内,则选择sink作为父节点,否则等待兄弟节点的HELLO信息(第1行~第4行).收到HELLO信息的节点进行新一级别的泛洪传输,将该信息广播给更多节点,直到叶子节点不再广播(第5行~第12行).选择其中一个兄弟节点作为父节点并广播JOIN信息,直到能够负担的子节点数目达到饱和,记此时压缩融合单元内的节点数为nmax.子节点饱和的父节点向其余想要入网的子节点发送RESET命令,这些子节点即可选择其他节点作为新的父节点,如算法1所示.
算法1 组网过程 |
初始化 1 if(该节点是sink节点) 2 在通讯范围内泛洪式广播HELLO信息以及基站ID; 3 else 4 随机选择邻居节点作为兄弟节点; 5 等待接收HELLO消息; 6 if(某一节点获得了一个消息) 7 if(该消息是HELLO) 8 由消息获知父节点ID,接收跳数,接收级别; 9 当前跳数++; 10 if(当前跳数>接收跳数+1) 11 当前跳数=接收跳数+1; else break; 12 在通讯范围内泛洪式广播当前级别以及当前节点ID; 13 end if 14 end if(该消息是JOIN) 15 if(该节点的子节点未达到饱和) 16 将该节点的ID作为网内父节点的ID,并入网; 17 else等待RESET命令; 18 end if 19 end if 20 end if |
按照上述方法组网得到的簇间通讯路径如图 1所示.
1.2 编码阶段应用椭圆曲线Elliptic-curve进行公钥加密.通信双方各有一对公私钥,每一方保存自己的私钥,公开自己的公钥,公钥加密,私钥解密,这样即便窃听者拿到密文也仅有公钥,可以认为无法进行破译.组网完成后,首先每个节点产生一个随机数,为源节点和它的接收节点确定一套常数私钥,比如PRI_KEYSender和PRI_KEYReceiver.然后每个节点将自己的常数私钥乘以椭圆曲线上任意一点A(x,y),以获得公钥椭圆曲线PUB_KEY.由定义知,过曲线y2=x3-x上任意两点P、Q作延长线与椭圆曲线交于R′,过R′作与x轴平行的直线交曲线于R,则有R=P+Q,如图 2所示.接着,节点将公钥PUB_KEY向所有兄弟节点公开,并将公钥PUB_KEY和私钥的乘积作为种子密钥,如图 3所示.
接到查询命令后,父节点首先统计自身及子节点的种子数据,由于这些数据是离散的,难以进行压缩融合处理,故通过Hilbert曲线将其转换成一个二维加密数据. Hilbert曲线由Peano提出,能够实现数据维度转换.因此,可以将实现公钥加密的离散数据转换为落在R1τ空间Hilbert曲线上2τ×2τ矩阵的坐标点(x,y),利用曲线特征即可进行下一步压缩融合.压缩融合机制如下:将坐标点(x,y)加密成数据元组〈KEY(d,l),x,y〉,其中l表示该坐标点的级别,d表示方位.例如,由图 4可知节点4的坐标值、级别、方位分别为(1,1)、曲线第2级、曲线底部,故加密后可以写成〈KEY(Bottom,2),1,1〉.
父节点接收并分析其所有子节点的压缩融合数据(包括坐标值,级别l,方位信息d),若子节点曲线的lchild、dchild和父节点曲线的lparent、dparent值不一致,则首先将两个子节点曲线的级别进行统一,再与父节点压缩融合.压缩融合后级别l′parent和方位d′parent分别按式(1)、式(2)计算.
(1) |
(2) |
如图 4所示,假设节点5为父节点,分别收到来自节点4的数据〈KEY(Bottom,2),1,1〉和来自节点3的数据〈KEY(Top,2),3,2〉,首先统一节点3、节点4的级别l,可分别写成〈KEY(R,2),2,1〉或〈KEY(R,2),2,0〉,与节点5存储的数据〈KEY(R,2),1,1〉进行压缩融合后,得到〈KEY(R,2),3,2〉,再将该压缩融合数据打包发送到sink节点.
可见,通过Hilbert曲线处理后的数据,无论子节点曲线l和d是否一致,都不影响加密数据在父节点处的压缩融合,压缩融合加密算法如算法2所示.
算法2 压缩融合加密算法 |
初始化 1 for任意节点Ni do 2 确定方位;%d 3 确定级别;%l 4 加密生成数据元组;%〈KEY(d,l),x,y〉 5 if(该节点是父节点) 6 将子节点级别l进行统一; 7 压缩融合单元内所有节点数据; 8 将数据打包; 9 发送给sink; 10 end if 11 end for |
为避免通讯能量损失,采用时分多址技术(time division multiple access,TDMA),数据传输的起始时间由式(3)决定.每个子节点在其规定的时隙进行数据传输,如算法3所示.
算法3 数据传送过程 |
开始 1 if (该节点是叶子节点) 2 直接将加密数据传给父节点; 3 else 4 if (节点接收到一个加密数据) 5 if (该节点是中继节点) 6 储存该数据; 7 解密该数据; 8 压缩融合数据+=该解密数据; 9 加密压缩融合数据生成新的数据元组; 10 if (所有子节点数据接收完毕) 11 将压缩融合加密数据发送给父节点; 12 end if 13 end if 14 if (该节点是sink节点) 15 储存压缩融合数据; 16 解密压缩融合数据; 17 将解密后的数据发送给用户; 18 end if 19 end if 20 end if 结束 |
(3) |
将子节点表示为N1,N2,N3,…,Ni.式中,ST(Ni)表示第i个子节点开始进行数据传输的时间,Tsend_sec表示发送时隙,Trec_sec表示接收时隙. Tq表示问询时间.
2 检测节点查验算法数据完整性查验是为保证信息在传递过程中没有受到攻击者篡改、伪造,在信息接收发送双方间进行的比对确认.随机选取一个子节点Nchild作为检测节点按上述压缩融合机制对父节点和其余子节点的数据进行融合,在下一次数据压缩融合后比较父节点和Nchild的结果,如果二者结果一致,说明具备数据完整性,则将该融合结果传到下一跳进行再融合或直接传给sink节点;若二者不一致,则说明本次压缩融合过程至少有一跳数据被篡改,数据无效,父节点丢弃本次数据并通知各子节点.算法实现策略如下:
1) 每个节点定义函数R(a,ID)和映射Fp(R(a,ID)),其中函数R(a,ID)的值域为(0,1),ID表示该子节点ID,p为预先设定的概率值.该映射Fp(R(a,ID))为a自变量的复合函数,表示在(0,1)内有p的概率函数值取1,有1-p的概率函数值取0.
2) 节点产生一个随机数并将其传输到下一跳,接收该随机数的节点计算并判断自身映射Fp(R(a,ID))值是否为1.若是,则选取该接收节点为检测节点Nchild;若否,重复步骤2.
3) 被选取的检测节点随即向源节点发送一个确认信息F′p(R(a,IDchild)),其中IDchild为检测节点ID.源节点判断F′p是否为1,以确定信息来源.若是,则记录检测节点的ID,由此可确定网内所有检测节点ID,如算法4所示.
算法4 检测节点的选取 |
初始化 1 for each Ni do 2 R(a,ID)R∈(0,1); 3 Fp(R(a,ID))Fp=0 or 1; 4 Loop 5 rand(); 6 发送至下一节点Ni+1; 7 until Fp(R(a,ID))i+1==1; 8 Nchild=Ni+1; 9 Send F′p (R(a,IDchild)) to Ni; 10 if F′p (R(a,IDchild))==1 11 记录IDchild; 12 end if 13 end Loop 14 end for |
选择NS2进行仿真模拟试验,在400 m×400 m的空间内随机分布600个节点,取传输距离为50 m,背景噪声为-100.0 dBm,数据传输速率1 Mbit/s,高斯白噪声3 dB.
3.1 算法空间复杂度分析取一个压缩融合单元内子节点达到饱和时的节点数nmax=3,分别计算ECHCPA、iHDA、SMART三种算法的复杂度:
1) ECHCPA:
组网阶段O(N)=N.
编码阶段,对任意节点Ni,椭圆公钥加密可看成是一个随机数的平方值乘以椭圆上任意一点A,因此O(N)=N;Hilbert加密中每个节点生成一个数据元组〈KEY(d,l),x,y〉,对子节点复杂度为O(Nchild);父节点接收所有子节点的压缩融合数据,复杂度为O(Nparent+nmax-1),即O(Nparent+2).
查验阶段,设最终根据概率p选取了m个检测节点,则选取过程传输了m次Fp和F′p,因此O(N)等于2m.
综上,算法复杂度T(n)ECHCPA=N+N+Nchild+Nparent+2+2m=3N+2+2m.
2) SMART:算法复杂度T(n)SMART=2(J-1)N,J为数据切分数目.
3) iHDA[19]:
加密融合阶段,Hilbert加密融合及种子融合的复杂度O(n)等于5N+2.
PIR查验阶段:经计算复杂度O(n)等于N(k+1)×
算法复杂度T(n)iHDA=12N+10.
3.2 通讯开销取m=100,J=3、J=4分别进行实验,3种算法通讯开销的仿真结果与复杂度分析结论一致,如图 5所示.随节点数量的增多,3种算法的通讯开销可以看做呈线性增加.对SMART算法,数据切分数J值越大,通讯开销越高,且成比例增加.对ECHCPA,相较SMART算法,通讯开销有所降低,且在J值较大时更为明显;相较iHDA算法,由于复杂度的降低,通讯开销得到了显著降低.
3.3 数据精度无线传感器网络中数据精度可以用压缩后的数据与采集到的数据的比值进行衡量,理论上无数据包丢弃时该比值应该为1,即SMART、iHDA、ECHCPA的数据精度都应为1.实际情况根据Epoch Duration[20]进行实验,经过完整性查验的算法应具备较好的数据精度.
结果显示,除个别离散数据外,ECHCPA算法精确范围在(0.7,1)之间波动;iHDA精确范围在(0.6,1)之间波动;SMART精确范围在(0,0.4)之间波动,如图 6所示.由此可知,本文所提ECHCPA算法的数据精度在可接受的范围内.
3.4 数据完整性检测节点通过判断映射Fp(R(a,ID))及其反馈值F′p(R(a,IDchild))是否为1,实现数据完整性查验,方法简便复杂度低,且检测节点的选取服从概率p的0、1二值函数,检测节点ID名录不固定,不易被监听者获取,有效地保证了数据安全.仍以节点3、4向父节点5的压缩为例进行完整性验证,设节点3被选为检测节点,节点4数据被篡改,则篡改后比对节点3、节点5压缩结果,结果不一致.此时节点5丢弃本次压缩数据并告知节点3和节点4系统被入侵,如图 7所示.
4 总结与现有算法相比,本文提出的ECHCPA算法降低了算法复杂度,通讯开销较低,且具备简便的数据完整性查验机制.通过采用Elliptic-curve和Hibert-curve,对簇头收集到的数据进行压缩加密,并随机选取检测节点查验完整性,为实际监测提供了一种方案.
但必须指出的是,父节点对数据元组进行压缩时,各子节点的级别l需要进行统一才能进行后续的压缩计算,转换过程的计算量随子节点数目的增加而增加,因此最好满足压缩单元内nmax尽量小.本文在拓扑结构的选择上采用树形拓扑,有效地规避了这一问题.
[1] | Bhuiyan M Z A, Wang G, Cao J. Sensor placement with multiple objectives for structural health monitoring in WSNs[J]. ACM Transactions on Sensor Networks, 2014, 10(4): 68. |
[2] |
孙子文, 梁广玮, 白勇, 等.
无线传感器网络分级入侵检测模型[J]. 信息与控制, 2013, 42(6): 670–676.
Sun Z W, Liang G W, Bai Y, et al. A hierarchical intrusion detection model in wireless sensor networks[J]. Information and Control, 2013, 42(6): 670–676. |
[3] | Al-Turjman F M, Hassanein H S, Ibnkahla M. Towards prolonged lifetime for deployed WSNs in outdoor environment monitoring[J]. Ad Hoc Networks, 2015, 24: 172–185. DOI:10.1016/j.adhoc.2014.08.017 |
[4] |
胡强, 王海涛, 底楠.
无线传感网中一种智能数据融合算法的实现及仿真分析[J]. 传感技术学报, 2018, 31(2): 283–288.
Hu Q, Wang H T, Di N. Implementation and simulation analysis of an intelligent data fusion algorithm in wireless sensor network[J]. Chinese Journal of Sensors and Actuators, 2018, 31(2): 283–288. DOI:10.3969/j.issn.1004-1699.2018.02.022 |
[5] | Kirton J, Bradbury M, Jhumka A. Source location privacy-aware data aggregation scheduling for wireless sensor networks[C]//37th International Conference on Distributed Computing Systems. Piscataway, NJ, USA: IEEE, 2017: 2200-2205. |
[6] |
李星, 李春彦, 王良民.
基于隐私同态数据融合的完整性验证协议[J]. 通信学报, 2014, 35(Z2): 256–260.
Li X, Li C Y, Wang L M. Integrity verification protocol based on privacy homomorphism data aggregation[J]. Journal on Communications, 2014, 35(Z2): 256–260. |
[7] | He D, Kumar N, Zeadally S, et al. Efficient and privacy-preserving data aggregation scheme for smart grid against internal adversaries[J]. IEEE Transactions on Smart Grid, 2017, 8(5): 2411–2419. DOI:10.1109/TSG.2017.2720159 |
[8] | Zhang X, Chen H, Wang K, et al. Rotation-based privacy-preserving data aggregation in wireless sensor networks[C]//IEEE International Conference on Communications. Piscataway, NJ, USA: IEEE, 2014: 4184-4189. |
[9] |
朱路, 刘媛媛, 慈白山, 等.
多稀疏基分簇压缩感知的WSN数据融合方法[J]. 传感技术学报, 2016, 29(3): 417–422.
Zhu L, Liu Y Y, Ci B S, et al. The method of data aggregation for wireless sensor network based on cluster compressed sensing of multi-sparsity basis[J]. Journal of Sensors and Actuators, 2016, 29(3): 417–422. DOI:10.3969/j.issn.1004-1699.2016.03.019 |
[10] |
王亚华, 凌玉华, 廖力清, 等.
基于动态子密钥的WSN混沌分组加密方案[J]. 通信学报, 2017, 38(12): 144–152.
Wang Y H, Ling Y H, Liao L Q, et al. Novel chaotic block encryption scheme for WSN based on dynamic sub key[J]. Journal on Communications, 2017, 38(12): 144–152. DOI:10.11959/j.issn.1000-436x.2017292 |
[11] |
赵小敏, 梁学利, 蒋双双, 等.
安全的WSN数据融合隐私保护方案设计[J]. 通信学报, 2014, 35(11): 154–161.
Zhao X M, Liang X L, Jiang S S, et al. Design of secure privacy-preserving data aggregation scheme for wireless sensor network[J]. Journal on Communications, 2014, 35(11): 154–161. |
[12] |
陈伟, 于乐, 高迪.
一种支持完整性验证的隐私保护直方图融合算法[J]. 电子学报, 2014, 42(11): 2268–2272.
Chen W, Yu L, Gao D. A privacy preserving histogram aggregation algorithm with integrity verification support[J]. Acta Electronica Sinica, 2014, 42(11): 2268–2272. DOI:10.3969/j.issn.0372-2112.2014.11.021 |
[13] |
徐晓斌, 张光卫, 孙其博, 等.
一种误差可控传输均衡的WSN数据融合算法[J]. 电子学报, 2014, 42(6): 1205–1209.
Xu X B, Zhang G W, Sun Q B, et al. Precision configurable data aggregation algorithm in WSNs[J]. Acta Electronica Sinica, 2014, 42(6): 1205–1209. DOI:10.3969/j.issn.0372-2112.2014.06.025 |
[14] | Butz A R. Alternative algorithm for hilbert's space-filling curve[J]. IEEE Transactions on Computers, 1971, C-20(4): 424–426. DOI:10.1109/T-C.1971.223258 |
[15] | Zhang W, Wang C, Feng T. GP2S: Generic privacy-preservation solutions for approximate aggregation of sensor data[C]//IEEE International Conference on Pervasive Computing and Communications. Piscataway, NJ, USA: IEEE, 2008: 179-184. |
[16] | Choi H, Zhu S, La Porta T F. SET: Detecting node clones in sensor networks[C]//International Conference on Security and Privacy in Communications Networks and the Workshops. Piscataway, NJ, USA: IEEE, 2007: 341-350. |
[17] | He W, Liu X, Nguyen H V, et al. PDA:Privacy-preserving data aggregation for information collection[J]. ACM Transactions on Sensor Networks, 2011, 8(1): 1–22. |
[18] | He W, Liu X, Nguyen H, et al. A cluster-based protocol to enforce integrity and preserve privacy in data aggregation[C]//IEEE International Conference on Distributed Computing Systems Workshops. Piscataway, NJ, USA: IEEE, 2009: 14-19. |
[19] | Kim Y K, Lee H, Min Y, et al. Hilbert-curve based data aggregation scheme to enforce data privacy and data integrity for wireless sensor networks[J]. International Journal of Distributed Sensor Networks, 2013, 2013(4): 1–14. |
[20] | Larson D R, Paulter N G J, Bergman D I. Pulse parameter dependence on transition position and epoch duration[C]//Proceedings of the Instrumentation and Measurement Technology Conference. Piscataway, NJ, USA: IEEE, 2004: 1291-1295. |