本发明涉及一种无线传感器网络隐私保护方法,特别是涉及一种基于数据分片优化的数据融合隐私保护方法。
背景技术:
无线传感器网络(wirelesssensornetwork,wsn)是由部署在监测区域的资源受限节点通过无线通信的方式形成的多跳自组织网络。数据融合技术是无线传感器网络的关键技术之一,它可以去除网络中的冗余信息,减少数据传输量,从而有效地提高整个网络的能量和带宽效率。在数据融合过程中的保护数据的隐私性已经成为了安全数据融合技术研究领域中的一个重点研究方向。对数据隐私性的保护主要体现在在数据融合过程中任意节点的隐私数据不能被未授权的第三方获取,一旦隐私数据被敌方获取,将会造成严重后果。因此,设计了一种基于数据分片方案来保护数据融合过程中隐私性。针对smart方案中部分节点没有足够邻居节点发送数据分片所引起的隐私保护性低的缺陷(如下图1所示),加入了“局部分片优化”策略,提出了数据融合隐私保护方案lo-smart。该方案通过对分片失败节点进行合理分片,并且增加分片失败节点的入度链路,从而提高整个网络的隐私保护性,并在一定程度上提高数据融合精度。通过仿真实验与理论分析得出,lo-smart方案的隐私保护性能得到明显的提升,同时在一定程度上提高数据融合精度。
技术实现要素:
本发明的目的在于提供一种基于数据分片优化的数据融合隐私保护方法,本发明方法通过对分片失败节点进行优化分片,并请求分片失败节点的邻居节点发送数据分片加入分片失败节点在数据混合阶段的混合运算,增加入度通信链路破解难度,来提高整个网络的隐私保护性。
本发明的目的是通过以下技术方案实现的:
一种基于数据分片优化的数据融合隐私保护方法,所述方法包括以下过程:
构建融合树和节点分类:融合树的建立参照tag算法进行构建;
数据分片阶段:lo-smart方案的分片阶段分为两步。
数据混合阶段:将解密的分片与自身保存的数据分片的进行混合运算,生成混合数据包
其中
数据融合阶段:当所有叶节点都完成混合运算后,节点4将自身混合数据包s4加密发送至节点2,与节点2的混合数据包s2进行融合运算;节点5、6将自身混合数据包加密发送至节点3,与节点3的混合数据包进行融合运算;节点2、3将融合结果加密后发送给节点1,并与节点1的混合数据包进行融合运算,将融合结果加密后发送至基站;基站使用共享密钥来对融合数据进行解密操作,从而得到最终的数据融合结果,并将其发送至用户手中。
所述的一种基于数据分片优化的数据融合隐私保护方法,所述lo-smart方案的分片阶段分为两步:
1)f集合中的节点向邻居节点发送slice_request消息,收到”slice_request”消息的邻居节点将在分片阶段,将向节点i发送数据分片;
2)传感器节点收到采集命令后开始采集目标信息,并将采集到的原始数据进行分片(其中,f集合中的节点将采集的数据分割为|si|+1片数据分片;t集合中的节点将数据分割为j片数据分片),分片结束后,传感器节点向邻居节点发送数据分片,其中收到slice_request消息的节点将向指定的节点发送数据分片。
本发明的优点与效果是:
本发明针对smart方案的不足,通过局部分片优化策略,提升网络中分片失败节点的隐私保护性能,从而提高整个网络的隐私保护性能。
本发明方法通过对分片失败节点进行优化分片,并请求分片失败节点的邻居节点发送数据分片加入分片失败节点在数据混合阶段的混合运算,增加入度通信链路破解难度,来提高整个网络的隐私保护性,并在一定程度上提高数据融合精度,而且lo-smart方案所产生的数据分片数量与原smart方案近乎相等,不会过多消耗网络能耗。
附图说明
图1分片失败;
图2发送slice_request消息;
图3数据分片阶段;
图4数据混合阶段;
图5数据融合阶段。
具体实施方式
下面结合实施例对本发明进行详细说明。
本发明针对smart方案的不足,通过局部分片优化策略,提升网络中分片失败节点的隐私保护性能,从而提高整个网络的隐私保护性能。
从图1可知,理论上应该存在节点m、n,使节点4、5、6有足够的邻居节点发送数据分片,才能保证节点数据的隐私性(隐私保护性依赖于每个节点的j-1个出度链路)。
2.1局部优化分片的思想
在smart方案的实际应用中,无线传感器网络中有一部分节点无法达到理论上的分片数量,现将整个网络中的节点根据|si|值和(j-1)大小比较,将整个网络节点分为两个节点集合t和f。对于每个节点i,若|si|≥(j-1),i=1、2、···、n,则划分进节点集合t;若|si|<j-1,则划分进节点集合f。t集合中的节点将感知的原始数据分为j片,1片数据分片保留在节点自身,其余(j-1)片数据分片加密后发送至从邻居节点集si中随机选取的(j-1)个节点;f集合中的节点由于找不到足够多邻居节点发送分片,则按照实际邻居节点集|si|值的大小进行分片,即分片数量为|si|+1,1片数据分片保留在节点自身,其余|si|片数据分片加密后发送至邻居节点,并向邻居节点发送slice_request消息,请求邻居节点向自身发送数据分片,参与混合运算,增强其隐私保护性。
2.2构建融合树和节点分类
融合树的建立参照tag算法进行构建,在构建融合树阶段,每当节点i收到一个子节点招募信息“hello”之后,便将该“hello”信息的源地址放入一张表中,用于计算节点i的邻居节点的数量|si|,并对节点的种类进行划分:对于|si|≥j-1的节点,划分进节点集合t;相应地,对于|si|<j-1的节点,划分进节点集合f。
2.3数据分片阶段
lo-smart方案的分片阶段分为两步。
1)f集合中的节点向邻居节点发送slice_request消息,收到”slice_request”消息的邻居节点将在分片阶段,将向节点i发送数据分片。
2)传感器节点收到采集命令后开始采集目标信息,并将采集到的原始数据进行分片(其中,f集合中的节点将采集的数据分割为|si|+1片数据分片;t集合中的节点将数据分割为j片数据分片),分片结束后,传感器节点向邻居节点发送数据分片,其中收到slice_request消息的节点将向指定的节点发送数据分片。
2.4数据混合阶段
为确保所有邻居节点都完成了分片发送行为,节点需要等待一段时间
其中
2.5数据融合阶段
如图5中所示,当所有叶节点都完成混合运算后,节点4将自身混合数据包s4加密发送至节点2,与节点2的混合数据包s2进行融合运算;节点5、6将自身混合数据包加密发送至节点3,与节点3的混合数据包进行融合运算。节点2、3将融合结果加密后发送给节点1,并与节点1的混合数据包进行融合运算,将融合结果加密后发送至基站。基站使用共享密钥来对融合数据进行解密操作,从而得到最终的数据融合结果,并将其发送至用户手中。
lo-smart算法伪代码
上述内容已对lo-smart方案执行步骤进行了详细具体的描述,lo-smart方案的相关伪代码如下所示:
准备阶段
1)employtagalgorithmtobuildaggregationtree//tag算法构建融合树
2)allotsecretkeystothewholenodesandestablishthequeuetime
3)dividethenodesintotsetsandfsets//对节点进行分类
分片阶段
4)forthenodesfromfsetsdo//对所有f集合中的节点
5)send“slice_request”messagetoitsneighborhoodnodes//发送
“slice_request”信息至邻居节点
6)endfor
7)forallthenodesdo//对所有节点
8)thenodesfromfsetsslicethedatainto|si|+1slicesandthenodesfromtsetsslicethedataintojslices//f集合中的节点将数据分为|si|+1片,t结合中的节点将数据分为j片
9)saveonesliceandtransmittheotherslicestoitsneighborhoodnodes//保留一个分片,并将其他分片发送至邻居节点
10)endfor
混合阶段
7)if
8)allnodesmixthereceivedslices//对接收到的分片进行混合运算
9)deliverthemixingpacketstotheaggregationnode//混合数据包发送至融合节点
10)endif
融合阶段
11)ifthenodesreceivedallmixingresultsor
12)aggregatethemixingresults//执行数据融合操作
13)forwardtheresulttoitsuppernodeuntilbasestation//向上发送融合结果直至到达基站
14)endif