叶 清,李默泚,宋莹莹,朱春磊
(1.海军工程大学信息安全系,武汉 430033;2.海军密码管理中心,北京 100841;3.南部战区海军作战勤务保障大队,广东 湛江 524000;4.91208部队,山东 青岛 266071)
无线传感器网络(Wireless Sensor Network,WSN)在各领域中已取得越来越广泛的应用,其安全问题也引起了更多的关注。位置隐私是无线传感器网络中的重要隐私信息之一,对于许多关键无线传感器网络,位置隐私的泄露将对整个传感器网络的生命产生极大的威胁。一方面,无线传感器网络中传感器节点的位置泄露可能导致攻击者对关键节点进行定位并进一步破坏节点[1],或者对其捕获从而进一步渗透进入网络;另一方面,源节点位置隐私的泄露可能导致传感器监测对象位置的泄露,攻击者可进一步分析监测对象的行为信息及其他隐私。在军事领域中,无线传感器网络在特殊区域进行侦察探测具有极大的优势,而位置隐私的泄露将导致侦察目的的泄露以及针对无线传感器网络自身的攻击,给传感器网络造成巨大的损失。
无线传感器网络节点从功能上可分为源节点与汇聚节点[2]。源节点通过其带有的各类型传感器对环境中的信息数据进行采集,通过无线多跳的方式转发数据,一般具有有限的能耗与计算能力。汇聚节点作用为收集汇聚各源节点采集的数据信息并进行简单的融合处理,进一步将网络中采集的数据发送至处理终端,由于传感器网络与最终数据处理终端往往在不同的地点,因此汇聚节点具有远程无线通信与较强的计算能力。为更好的进行数据转发,许多传感器网络在将源节点进行分簇并在簇内选择一个簇头节点,通过它收集汇聚簇内节点数据作为中间节点向汇聚节点转发。因此簇头节点及汇聚节点都是无线传感器网络中的关键节点,它们位置隐私的泄露将对整个无线传感器网络造成重大影响。
无线传感器网络具有无线通信与自组织的特点,这导致了其固有的安全缺陷,即更容易受到攻击。针对无线传感器网络位置隐私的攻击主要有普通攻击模型和复杂攻击模型两种攻击模式[3],普通攻击模型中的攻击者主要采用窃听、逐跳回溯[4]、流量分析[5]等被动攻击方式,它针对WSN节点的无线通信特征,基于节点的电磁信号信息进行分析,攻击隐蔽不易被发现。复杂攻击模型中的攻击者具有更强的攻击能力,它可以进行节点捕获[6]、数据篡改等主动攻击方式,具有更大的威胁。现有的WSN位置隐私保护方案主要针对普通攻击模型,从传感器节点发送信号的电磁特性的角度分析位置隐私攻击;而对于节点捕获等从转发消息内容角度进行的主动攻击方式考虑较少,攻击者可通过截获数据并分析出数据实际内容来获取节点位置隐私。对于具有主动攻击能力的攻击者,从数据内容本身安全角度保护节点位置隐私具有重要意义。
差分隐私保护是一种可证明的安全隐私保护定义,基于增加不确定性的原理,保护隐私的安全。将差分隐私的思想引入WSN位置隐私保护中来,通过增加噪声,增强位置的不确定性,可以有效解决数据内容安全问题。本文针对WSN中关键节点位置隐私保护中存在的安全性与可用性的矛盾问题,拟提出一种基于差分隐私与加密体制结合的无线传感器网络位置隐私保护协议,将通过拉普拉斯机制对节点位置信息加噪,保护位置隐私,在基站通过密钥方式消除噪声,恢复原始位置信息。
目前WSN节点位置隐私保护多采用改变网络环境中的电磁规律的方式扰乱攻击者的分析。主要为幻象路由、环形路由及假数据包注入等方式。幻象路由技术由Ozturk提出[7],在源节点转发数据包时首先进行一个随机游走的过程,改变原有的路由规律使攻击者难以逐跳追踪溯源;PUSBRF方案[8]在幻象路由的基础上,通过适当控制随机游走的方向,使最后数据包的分布更加均匀,提升了安全性。汪卫星[9]等提出了PRABNS策略,通过对幻影节点分布的均匀和角度调整,对兄弟节点的选择,增加了随机路径的不确定性和数量。李道全[10]等人在失效路径及随机游走的跳数等问题上进行了改进。环形路由技术[11]通过在路由过程中构造环路来迷惑攻击者,使之不能溯源,徐智富提出的基于布朗运动的隐私保护方案[12]和张江南提出的SVCRM方案[13]中都采用了这种方式。假包注入技术[14]是考虑到不同节点的作用与数据传输特点导致网络中流量分布的规律性进而暴露关键节点位置的情况,在转发数据包时同时转发一个虚假数据包以平衡网络流量,使流量分布更加平均。例如,FitProbRate方案[13]以指数分布向网络内注入假数据包,同时以一定方案嵌入真实消息,实现网络流量的伪装;GFS方案[14]利用假包注入技术构造虚假数据源,模仿真实原节点产生转发数据包的过程以迷惑攻击者;牛晓光提出ADRing方案[15],将假包注入技术与环策略结合,节点产生的假数据包在虚拟环路中筛选过滤。周倩[16]等基于Kautz图的分区巡逻方法,保障位置隐私的基础上建立了树形路由拓扑,提出了网络效率。多数位置隐私保护方案能够抵御逐跳回溯追踪、流量分析等攻击手段,但对数据包分析、节点捕获等攻击方式保护较少。
差分隐私[17]是Dwork提出的一种新的隐私定义。在此定义下,对数据集的计算处理结果对于具体某个记录的变化是不敏感的,单个记录在或者不在数据集中,对计算结果的影响微乎其微,攻击者无法通过数据集的背景知识变化分析出个体的隐私。
定义1设数据集D和D′具有相同的属性结构,两者的对称差记作DΔD′,|DΔD′|表示DΔD′中记录的数据,若|DΔD′|=1,则称D和D′为邻近数据集。
定义2设随机算法M,PM为M所有可能输出构成的集合,对任意两个邻近数据集D和D′及PM的任何子集SM,若算法M满足
Pr[M(D)∈SM]≤exp(ε)×Pr[M(D′)∈SM]
(1)
则称算法M提供ε-差分隐私保护,其中参数ε称为隐私保护预算[18],决定了隐私保护水平的高低。
定义3设有函数f,其输入为一数据集D,输出为d维实数向量,对于任意邻近数据集D和D′,则
(2)
称为函数f的敏感度[19],它表征了引入噪声对数据集查询结果的影响程度。
定义4对于服从拉普拉斯分布的噪声Lab(b),其概率密度函数为[20]:
(3)
式中:b为尺度参数。若给定数据集D,函数f为D上的一个查询,Δf为其敏感度,则随机算法M(D)=f(D)+Y提供ε-差分隐私保护[17],Y~Lap(Δf/ε)为服从尺度参数为Δf/ε的拉普拉斯分布的随机噪声。
差分隐私保护具有严格的数学证明,保证了其可靠性,它不需要考虑攻击者的背景知识,相比较于k匿名等其他隐私保护具有更高的安全性。在拉普拉斯机制的基础上,Hardt[21]等提出了一种多权隐私保护机制,在相同隐私保护预算下可回答更多查询。吴伟民[22]等将差分隐私引入聚类算法之中,实现了聚类的差分隐私,用以保护数据融合中的隐私安全。
差分位置隐私是差分隐私在位置隐私保护中的应用,它基于位置模糊化的方法,通过对位置信息加入一定噪声,使其符合差分隐私定义,从而保护位置隐私安全,解决传统位置隐私保护中对背景知识过度依赖的问题。
定义5对于一个位置保护机制,该机制下产生的位置集合为Z,x与x′为两个相邻的实际位置点,对任意x满足d(x,x′) (4) 则该机制满足ε-差分位置隐私保护。 k-匿名技术通过k个节点的位置信息对单个节点的位置进行隐藏,通过节点周围k个节点的位置进行统计运算(如取平均)来代替节点的实际位置,将单个位置信息与k个节点的位置相关联,从而实现位置保护。这一思想是位置隐私保护的传统思想之一。 张学军等将差分位置隐私与k-匿名技术结合[23],提出用户为中心的差分扰动位置隐私保护方法。游庆光[24]在轨迹保护中加入差分隐私,依据运动轨迹的马尔可夫特性添加拉普拉斯噪声,通过传统位置隐私保护与差分隐私定义的结合,提高了位置隐私安全性。 平面坐标系下位置信息需要两个坐标标识从而导致各坐标独立加入噪声增加了隐私保护预算的问题,Miguel等人针对这一问题提出极坐标下的添加噪声分布[25]: (5) 将角度与距离两个维度分离,可得极坐标中角度维度上噪声为均匀分布: (6) 距离维度上噪声的概率密度为: Dε,R(r)=ε2re-εr (7) 由直角坐标下独立添加噪声转化为极坐标下添加单一噪声,从而节省了隐私保护预算。周裕[26]根据此方法提出了基于质心加噪的多位置差分隐私保护机制,减小了位置误差。 差分位置隐私保护基于位置模糊化的思想,因此必然存在着隐私安全与位置可用性之间的平衡问题,更强的隐私保护往往容易导致位置信息可用性的丧失,因此提出基于噪声加密机制的WSN差分位置隐私保护协议(Noise Encrypted Based Differential Location Privacy Protection in WSN,NEDLP)具有重要意义。该协议将密码学的思想引入差分位置隐私中,主要分为簇内隐私保护阶段和簇间隐私保护阶段。簇内隐私保护阶段主要是簇头节点收集簇内节点数据,各源节点将自身位置信息经过加噪处理后与所采集的数据一起发送至簇头节点。簇头节点对各节点数据进行初步融合,并以簇内节点质心位置取代原有位置信息。簇间隐私保护阶段为各个簇头节点通过多跳中继的方式向基站转发数据的过程,在此过程中,簇头节点通过目标节点的公钥来产生噪声加入节点位置信息之中以满足差分隐私保护的要求。 根据1.3节中所述,节点位置隐私保护中,向节点位置中加入式5概率密度的噪声能够符合差分位置隐私,在θ维度服从均匀分布,在r维度服从式(7)分布,分布函数为它的积分: (8) 综上对于节点Pi=(θ,r),以极坐标表达的噪声扰乱结果为: (9) 将无线传感器网络内的节点按区域分簇,同一簇内节点将采集数据首先发送至簇头节点进行初步融合处理。在同一簇内,为保证各节点位置隐私安全,在向簇头节点转发数据时使用加入噪声处理的位置信息,使得各个节点能够与簇头节点直接通信由于各节点距离较近,因此可以通过簇内节点的区域信息模糊化节点实际位置信息。 Step 1 源节点采集信息,获得环境及目标数据。节点获取自身位置并添加2.1中所述噪声,将扰动后的位置信息与获取数据一起发送至簇头节点。 Step 2 簇头节点接收簇内各节点数据信息并对其进行初步融合与预处理,消除异常数据。 Step 3 利用所采集的簇内节点数据计算簇的质心并替代簇内节点实际位置,实现区域的匿名化。 Step 4 簇头节点周期性的查询簇内节点状态,更新节点信息,消除失效节点。 Step 5 对于簇内新节点,以广播的方式查询其对应的簇头节点并获取簇头信息,将采集数据与加噪后的位置发送至簇头。 簇间差分隐私保护阶段,数据包由初始的簇头节点开始,经中间簇头节点中继,最终发送到基站。数据包转发过程采用最短路径路由的方式,需要利用节点的位置信息进行转发。因此,采用密钥方式生成噪声以保证路由过程中节点位置的噪声可以消除,提高路由精度。首先在无线传感器网络初始时为基站和每个节点分配一对非对称密钥,其中私钥由节点自己掌握,公钥在网络中公开,隐私保护过程如下。 Step 1 簇内各节点采集数据由簇头节点收集并转发,位置信息由下面公式得到的簇内区域质心位置替代。 (10) 式中:CL为一个簇内的节点集合,Pj(θ,r)为单个节点位置。 Step 2 对位置信息加入由2.1节点产生的噪声。 Pc′(θ,r)=Pc(θ,r)+[a,C-1(b)] (11) Step 3 簇头节点通过加噪扰动和替代后的位置Pi′(θ,r)=Pc′(θ,r)进行数据转发,由基站公钥加密对随机数a,b进行加密,由节点私钥进行签名,源节点发送的数据经上述处理后转发回基站。 packet=Pi′(θ,r)‖encryptpks(a‖b‖ (12) Step 4 转发数据包时采用最小距离邻近节点法: (13) 式中:P0为当前节点,SINK为基站即最终目标,Pdes为下一跳目标,PL为邻近节点集合。 Step 5 当数据转发过程中出现无法找到更邻近的节点或陷入循环时,则采用“右手定则”的方法,返回上一跳节点,选择绕开通过其他次邻近节点转发。 Step 6 基站接收数据包时,由私钥SKs及公钥PKi解密验证噪声随机数a,b,并通过其还原噪声,由下式消除噪声得到分簇区域位置。 Pi(θ,r)=Pi′(θ,r)-[a,C-1(b)] (14) Step 7 簇头节点周期性获得簇内节点状态更新后,重新计算噪声与质心替代。 综合2.2与2.3节,NEDLP算法的位置隐私保护与数据路由如图1所示。 图1 NEDLP协议数据转发过程 各分簇之间通过其簇头节点通信。利用邻近簇头节点列表的维护得到邻近节点集合并实现最小邻近距离的路由转发,具体步骤如图2所示。 Step 1 分簇A通过广播查询邻近簇头节点。 Step 2 接收到查询的节点B向A返回确认信息并进行相互验证。 Step 3A接收B的验证信息,查询自身邻近簇头节点列表,如果无对应节点信息或其信息发生变化,则将之加入或更新列表。将自身节点路由所需信息(节点位置与噪声随机数)加密发送至B。 Step 4B接收到A的信息,检查自身邻近簇头节点列表并根据相应信息完成列表更新维护。 图2 邻近簇头列表维护过程 在簇内节点位置隐私保护中,采用了拉普拉斯机制产生噪声并对节点位置进行扰动,由其定义可知对于尺度参数为b的拉普拉斯分布,噪声扰动后的数据满足ε=b的ε-差分隐私保护。 在簇间节点位置隐私保护中,通过噪声加密与位置模糊化方法,将簇内节点位置隐藏于簇的整体位置信息中,使节点位置模糊化,通过拉普拉斯噪声使节点位置满足差分隐私保护的要求,两种方法结合得到的隐私保护预算为ε/n。 在节点间簇头信息的查询、邻近节点列表维护以及噪声随机数的传输中都采用了公钥密码体制进行加密和验证,以此保护节点位置信息外的相关敏感信息的安全,保障机密性和完整性,防止攻击者通过其他信息还原噪声或分析节点的位置。 隐私保护预算决定着在一定安全条件下实现差分隐私的代价,也相应表征了隐私保护的强度。当单个节点有ε的隐私保护预算时,簇内节点集合的整体加噪的的预算为nε;而采用质心位置替代单个节点位置时,对分簇整体加噪时,原来单个节点的位置敏感度将由分簇内全部节点共同分担,因此质心位置的敏感度为rc=r/n,而相应的隐私保护预算为ε/n。 另一方面采用极坐标替换直角坐标系,加入噪声从原来横纵两个维护产生拉普拉斯噪声变为距离上一个维度产生噪声,也相应节约了隐私保护预算。 对于同一簇内的节点,节点间位置本身较近且环境信息接近,采用质心替代实际位置所造成的误差较小而不易影响位置可用性簇头节点对质心的计算通过各节点加噪后位置平均,相同参数下的噪声通过平均进行了消除从而保障了质心位置的准确性。 对于数据的路由转发与基站的接收,利用了加密机制结合噪声机制,噪声保证传输的安全,加解密保证了噪声的可还原性,使得实际使用的位置信息的精确度提高,保证位置可用性。 下面分析位置信息的误差,误差来源主要为质心的替代和噪声的扰动: δi=d(Pi,Pc′)≤d(Pi,Pc)+fr (15) 式中:Pc′为加入噪声后的质心位置,Pc为实际质心位置。 误差的期望为: (16) 在同样的隐私保护预算下,位置的误差受到节点与分簇质心距离的影响,即是分簇的密度。簇内节点范围越大,节点离质心的平均距离越大,相应位置误差越高。通过分簇的调整,可以在同样的隐私保护预算下调整位置的精度,从而实现位置隐私安全与位置信息可用的平衡。 通过计算机仿真所提出的算法,对隐私保护效果与位置可用性进行验证并与平面直角坐标系下的拉普拉斯噪声机制[19]以及极坐标下不进行分簇的噪声机制[23]进行对比分析。 利用MATLAB软件平台与windows7操作系统在8 GB内存,core i7 CPU笔记本上进行仿真。分别仿真直角坐标下的分簇拉普拉斯噪声加密算法(方法1)、极坐标下的不分簇噪声加密算法(方法2)和本文所提算法(方法3)进行比较,计算各自位置误差与路由效率。具体参数如表1所示。 表1 仿真参数表 方法一为直角坐标下的噪声加密算法,分簇的质心与噪声都通过直角坐标表示,分别在横轴和纵轴两个方向加入拉普拉斯噪声进行位置隐私保护。方法二为极坐标下不分簇的噪声加密算法,节点位置与噪声通过极坐标表示,只在距离维度加入噪声,但不对节点进行分簇和质心替换,每个节点分别独立地加入噪声。 通过噪声扰动的位置偏移即位置误差来反映隐私保护效果,在相同隐私保护预算条件下,具有相同的位置隐私安全性,位置误差越小时,位置精度越高,体现了更好的隐私保护效果。当ε=0.1,分簇为10节点时,在5~100的直径范围内分别仿真计算三种算法的平均位置偏移,结果如图3所示。 图3 簇内节点平均偏移随分簇范围的变化 图中反映出方法1与方法3随着分簇范围的增大位置误差变化相近,具有相同的隐私保护效果,面方法1由于在两个维度上加入噪声,实际上消耗了两倍的隐私保护预算。方法2由于不进行分簇,位置误差保持恒定,与方法3比较,位置隐私保护效果取决于分簇的范围大小,当分簇不很大时,方法3在同样隐私保护强度下具有更小的位置误差,从而提高了位置可用度。在实际应用中分簇可满足算法的要求,因此算法具有实用性。 当ε=0.1,分簇范围为30时,在簇内节点5~20的范围内分别仿真三种算法,计算簇内节点位置的平均偏移量,结果如图4所示。 图4 簇内节点平均偏移随节点数量的变化 图中反映出在同样的分簇大小下,节点的数量对位置误差没有影响,因此方法1、方法3下的隐私保护效果主要受分簇范围的影响,即节到质心的平均距离,隐私保护安全性与位置信息可用性的平衡也通过调整分簇范围实现。 下面通过路由长度分析算法的效率。以表1的仿真参数以方法2和方法3在最短邻近距离方法下的路由过程进行仿真,簇头节点和分簇情况通过对整个网络节点位置信息聚类得到。分别计算两种方法的路径长度。结果如图5所示。 图中横坐标为源节点与基站节点的距离,纵坐标为路由的平均路径长度。在相同的隐私保护强度下,方法3因为具有更精确的位置信息进行路由,因此路由效果更好,整体路由路径较短,从而提高网络效率。根据计算,方法3路径长度比方法2少29.52%。当节点距离基站较远时,路由所需的中继节点更多,因此位置误差累计增大,因此对于越大规模的WSN,方法3对效率的提高越明显。 本文针对无线传感器网络位置隐私保护问题中安全性与可用性之间的矛盾,提出了NEDLP协议,通过对网络内节点的分簇,分别在簇内和簇间通信两个阶段进行位置隐私保护。簇内阶段以噪声方法实现差分位置隐私,簇间通信通过质心替换和噪声加密两个方法保障位置隐私安全并通过公钥密码体制对噪声参数的传递实现了噪声的还原和消除从而提高位置精度。所提协议在相同的隐私保护强度下,节约了隐私保护预算并提高了位置精度,使其更具有可用性。经过仿真和对比,NEDLP协议达到了理论预期的效果并具有实用性。2 基于噪声加密机制的差分位置隐私保护
2.1 产生噪声
2.2 簇内差分位置隐私保护
2.3 簇间差分位置隐私保护
signski(a‖b))‖data2.4 邻近簇头节点列表
3 协议分析与验证
3.1 安全性分析
3.2 隐私保护预算
3.3 可用性分析
4 仿真实验
4.1 仿真环境与参数
4.2 隐私保护效果比较
4.3 路由效果比较
5 结论