龙 浩,张书奎,张 力
(1.苏州大学 计算机科学与技术学院,江苏 苏州 215006;2.徐州工业职业技术学院 信息与电气工程学院,江苏 徐州 221002;3.江苏省现代企业信息化应用支撑软件工程技术研发中心,江苏 苏州 215104)
随着嵌入大量传感器的移动智能设备的快速发展,用户可以携带各种可穿戴的移动设备,随时随地地收集感知数据。在这种情况下,产生的感知数据来自不同的感知设备和感知地点,整合这些不同来源的感知数据至关重要,可以有效节约因数据传输而消耗的网络流量,也可以将用户的信息隐藏在融合数据中实现隐私保护。虽然数据融合为很多实际应用带来益处,但它仍然面临着一些挑战。首先,由于网络的开放性和感知数据的隐私敏感性,在数据融合期间可能发生隐私泄露。例如,恶意攻击者可能拦截感知数据并获取用户轨迹信息[1]。为了保护用户的数据保密性,研究者提出了基于同态加密的数据融合方案[2,3]。云服务器在感知数据加密的前提下融合密文,使用户的隐私免受泄露。然而,该方案中用户加密感知数据的密钥相同,因此不能避免恶意用户的攻击。另外云服务器和恶意攻击者可以利用某些背景信息执行差分攻击[4,5],以推断出用户的隐私信息。针对以上问题,本文提出一种群智感知网络中基于隐私保护的数据融合方法,用户将感知数据签名加噪、加密,然后云服务器融合感知数据并发送给感知平台以获取用户的感知数据,该方法在计算开销、通信开销和存储开销均优于同类方法。
数据融合解决了多源数据的传输和隐私保护问题,目前群智感知应用中数据融合方法主要可以分为3类:①应用层的数据融合方法,基于查询模式下的数据融合技术;②基于网络层的数据融合,数据融合技术与路由技术相结合;③独立的数据融合方法。3类方法各有优势,都存在一些缺陷。An等提出了一种高效、隐私保护的数据融合方案,实现了端到端安全的数据聚合,该方案支持动态计费,并提供了针对智能电网内部对手的安全性。Ardakani等[7]提出了一种TINA算法,该算法是典型的应用层数据融合方法,观测到数据存在一定的周期性,依据节点采样时间的周期,要求当前融合的数据与前一次采集的数据在时间差上要大于时间周期阈值。然而该方法应用范围有限,当节点采集的数据具有较大波动性时,融合效果不明显,此外该算法要求感知节点具有较大的存储空间;Neamatollahi等[8]提出了一种低能耗自适应聚类分层协议数据融合方法,该方法是典型的数据融合方法与路由技术相结合的方法,依据发送数据的时间周期选取关键簇头节点,将簇头节点的多个数据单元进行数据融合,并发送给汇聚节点,该方法中簇头节点负载过重,能量消耗过大。Soltani等[9]提出了一种采用递归计算的方法进行数据融合,该方法分别递归计算每个去噪节点的感知数据,然后采用深度神经网络进行数据融合,该方法在一定程度上克服了系统对存储空间有限和计算速度较慢的缺陷,可以达到较高的融合度,然而在计算过程中会损失一些数据。Yang等[10]采用一种基于信息效用测度的弹性数据融合算法,通过采用数据融合方法解决了无线传感器网络中的恶意攻击问题,然而该数据融合方法在数据恢复过程中容易出现失真。Yue等[11]提出了一种基于RBF神经网络模型的数据融合算法,该方法是一种应用层的数据融合方法,引入RBF神经网络模型计算节点数据的自适应向量值,具有较高的数据融合效率和准确性,该方法更适合于大规模部署的无线传感网络。为了将安全数据融合从一个用户扩展到多个异构源,研究者提出了更复杂的基于安全多方计算(SMC)的数据融合方法[12-14],SMC支持多方共同融合其感知数据,并且多个参与者分配有不同的加密密钥,以使其数据可以不被其它参与者获知。但是,大多数SMC算法具有高度交互性并且需要各方进行多轮通信,这会导致繁重的通信负担。同时,SMC算法侧重于加密患者的原始数据并解密云服务器上的密文,这可以在数据传输过程中保持个人数据的保密性,但融合的统计数据仍然可以暴露用户的隐私。
群智感知网络系统一般由4部分组成:任务发布者、感知平台、云服务器、用户。首先任务发布者向感知平台请求获得某些位置的感知数据,然后感知平台将请求发送到云服务器。在获得任务请求之后云服务器根据相应的地理位置将感知任务发送给符合要求的用户。用户完成感知任务后使用他们的私钥对感知数据进行签名并为其添加噪声。云服务器在收到签名的加扰感知数据后,汇总个人数据,并保留用户的签名,然后将汇总结果发送到感知平台。最后,感知平台将获得融合结果解密发送给任务发布者。如图1所示,整个系统的工作原理如下。
图1 群智感知系统结构
融合过程主要包括3个阶段:①用户使用私钥对自身数据进行签名,生成签名感知数据Di, 对签名的感知数据进行加噪处理;②云服务器对加噪的数据ψi进行加密并融合,最后将加密的融合结果Π发送给感知平台;③感知平台从融合结果中提取出用户的真实感知数据。
在本文方案的安全模型中,主要考虑用户、恶意攻击者和云服务器。恶意攻击者可能会发动攻击以获得利益。参与用户可以多次重复参与感知任务,以获得奖励。云服务器是诚实但好奇的,它按照协议中的规定汇总感知数据,并存储感知数据,它会保护自己领域下的感知数据,但是它可能与其它云服务器串通,来获取其它云服务器的用户数据。
(1)感知数据的重播攻击。由于用户可以在提供感知数据过程中获得奖励,一些贪婪的用户可以多次提供相同的数据以获得更多奖励。因此用户可以发起数据重播攻击。
(2)差分攻击。差分攻击可以由恶意攻击者和云服务器发起。他们可以使用他们获得的背景信息,通过差分攻击从不同的感知数据中推断出用户的隐私信息(身份信息、位置信息和轨迹信息等)。
(3)用户的隐私被推断。恶意攻击者和云服务器可以通过分析来自用户时空相关的感知数据来推断其隐私信息。另外,云服务器之间可以勾结,以了解其它云服务器的感知数据。
感知平台将感知任务分配给相应的云服务器,云服务器从用户那里收集感知数据,为了激励更多的用户参与感知任务,同时实现公平的奖励制度,用户以基于身份的签名对自己感知数据进行签名,并将签名后的感知数据发送给云服务器。如果一个贪婪的用户为同一个感知任务多次提交他的感知数据,这个用户可以被云服务器检测出来。用户在收集的感知数据中加入拉普拉斯分布的噪声,以保护不同用户的隐私。云服务器采用BGN加密系统和Shamir秘密共享相结合的方式,对加噪后的感知数据进行加密,保证用户和云服务器的茫然性安全,并且能灵活容忍网络故障。加密后,云服务器融合感知数据密文并发送给感知平台,感知平台解密融合的数据从而获得用户的感知数据。数据融合如图2所示。该方案包括3个阶段:系统初始化、感知数据收集和数据融合。具体描述如下。
图2 数据融合
此阶段由第三方认证机构CA运行,初始化系统。给定安全系数。CA运行keygen(λ), 获取双线性元组相关参数。随后,CA基于BGN加密系统生成元组(p,q,G,G1,e,h), 其中p是BGN系统的私钥,h=gq是G的子群
为了将BGN的私钥p分享给多个云服务器,可信机构使用Shamir秘密共享机制,基于多项式函数SK(x)=p+a1x+a2x2+…+adxd, 将子密钥分享给云服务器。将云服务器集合定义为CS, 对于集合中每一个云服务器CSi, CA计算出SK(i), 并将SK(i) 分发给云服务器作为它的密钥,即skCS,i=sk(i)。
为了奖励提交感知数据的用户,用户用他们的私钥签署他们的感知数据,云服务器可验证他们。每个用户都可以向CA注册,CA随机选择sku,i∈Zp作为用户的私钥,pku,i=e(g,g)sku,i作为用户ui的公钥。CA将sku,i发送给用户,pku,i发送给云服务器。
任务发布者通过感知平台发布感知任务,感知平台生成感知任务元组S=(St,Sn,Sl,Sa), 其中St代表感知时间,Sn代表感知内容,Sl代表感知位置,Sa代表感知奖励。感知平台首先选择一个位于Sl中的云服务器,并将感知任务S分配给相应的云服务器。当云服务器接收到感知任务请求时,将筛选用户参与感知任务已获得感知数据。
用户ui可以决定是否参加感知任务。如果他有兴趣参与感知任务,完成感知任务后可以使用他的私钥对感知数据进行签名。用户随机选择ri∈Zp, 并生成一个签名感知数据记为Di。 具体实现公式如下
Di=(g-ri,gsku,i,Hash(D(St,Sn,Sl,Sa))ri)
(1)
如果用户多次提交同一感知数据想要获得额外奖励。在这种情况下,云服务器可以通过查看感知数据的用户签名,将丢弃重复的感知数据。用户将签名的感知数据Di=(Di,j),j=(1,2,…,t) 添加拉普拉斯噪声Lap(Δ(f)/εj), 其中f代表数据的敏感度,根据任务请求定义,εj是用户的隐私预算,t代表用户的数量。为了保护感知数据的机密性不被其它恶意用户破坏,用户使用其密钥sku,i对加噪的感知数据ψj进行加密,并输出Πj。 用户ui计算拉格朗日因子βj, 并使用βj, 密钥sku,i以及系统公钥g,h通过BGN加密系统,对加噪的数据进行加密,得到密文Πj
(2)
Πj=gψjsku,iβjhsku,iβj
(3)
在云服务器接收到感知数据加扰密文后,将数据融合,并将最终结果发送给感知平台。因为在用户数据收集的过程中,假定所有的用户都提供数据,就将用户的索引,放入Πj中的拉格朗日因子βj的计算中。为了考虑部分参与任务的用户由于网络故障或不愿意将感知数据传输到云服务器的情况,并为了恢复Shamir秘密共享分发的密钥,应删除拉格朗日因子中的不向云服务器传输感知数据部分的索引。将整个用户集合设为U, 将不把感知数据传输到云服务器的用户集合设为Um, 而将感知数据传输到云服务器的用户设为集合Un, 可以知道U=Um∪Un, 对于云服务器接收到的所有密文的用户ui, 可知ui∈Un。 为了容忍一些用户无法将感知数据传输到云服务器,同时感知平台可以解密融合后的密文,我们将BGN加密系统与Shamir秘密共享结合起来。对于每一个用户ui∈Un对应的密文Πj, 云服务器首先计算其拉格朗日因子
(4)
Π′j=gψjsku,iβ′jhsku,iβ′j
(5)
删除了在拉格朗日因子中不向云服务器传输感知数据的用户索引,只保留向云服务器传输感知数据的用户索引。多项式函数SK(x)=p+a1x+a2x2+…+adxd用来分发BGN的私钥p给每一个云服务器CSi, 其私钥skCS,i=sk(i)。 利用拉格朗日插值函数,可以得到
(6)
计算其私钥为
(7)
云服务器融合来自多个用户的加干扰的感知数据密文Π′j。 加密的融合感知数据密文Π可以计算为
(8)
该方法可以保证用户和云服务器的茫然性安全。虽然每个用户的感知数据都添加了随机噪声,但是如果加噪数据被其它恶意用户获得,他们可以推断出近似的感知数据,从而推断出关于用户的隐私信息。为了保证用户的感知数据不会泄露给其它恶意用户,该方法使用用户的密钥对加噪数据进行加密。每个用户ui的密钥sku,i由Shamir秘密共享生成,其它用户和云服务器无法获得这个密钥。这样,该方法可以保证每个用户的隐私不会被其它用户获取。同时,可以保证云服务器的茫然安全性,即云服务器只能获取融合的感知数据结果,而不能获得单个用户的感知数据。在该方案中,当且只有当云服务器融合了多个感知密文,才能获得BGN加密系统的解密元素hp, 来解密融合后的数据。因此,尽管云服务器可以获取密文,但它无法获取单个用户的感知数据。此外,解密融合数据的云服务器不需要被分配解密密钥,从而减轻了系统的密钥管理负担,并保证了更强的安全性。
2(Δ(f)′/ε′j)2=2t(Δ(f)/εj)2
(9)
(10)
(11)
本文采用ONE模拟器[15]作为仿真实验平台,选用赫尔辛兹城市地图作为场景进行仿真实验[16],在400 m×400 m范围的区域中随机生成500个节点,节点的传输距离为50 m,采用Windows 8操作系统,CPU为Intel(R) Core(TM) i5-3470 3.20 GHz,8 G内存,基于密码学库JPBC库[17]进行实验。由于我们的方法与Bindschaedler等的方法[12]和Benhamouda等的方法[14]比较相似,因此我们从不同实体的计算开销、通信开销和存储开销方面与这两个方法进行了对比实验,所有的实验结果至少1000轮后取平均值。
表1 计算开销比较
(1)密钥生成时间
在该方案中,CA初始化系统并为用户生成密钥。首先,生成两个大素数p和q, 两个加法群G和群G1, 其中阶为n=pq、 双线性映射e、 生成元g和生成元为h=gq的子群。其次,CA使用Shamir的秘密共享将BGN密码系统的密钥p分发给多个用户。在Bindschaedler等的方法中,可信权限基于Paillier crypto系统为用户生成密钥。在Benhamouda等方法中,CA生成加法群及其生成元,以及用户和云服务器的密钥。图3展示了CA的密钥生成开销。密钥生成开销随着用户数量的增加而增加。从图中可以看出,Bindschaedler方法密钥生成时间随着用户数量的增加而急剧增加,而我们的方法花费的密钥生成时间与Benhamouda的方法一样高效。
图3 不同用户数量下密钥生成时间对比
(2)加密时间
图4表示用户的感知数据加密时间开销。我们能够观察到Bindschaedler方法中用户的感知数据加密开销随着用户数量的增加而增加。然而,我们的方法中当用户数量增加时,用户感知数据的加密计算开销保持稳定。同时,该方案的用户加密计算时间比Bindschaedler等方法节约很多,因为Bindschaedler等方法中的用户需要使用每个用户的公钥对感知数据都进行1次加密,以保证融合数据的安全性。然而,我们的方法中只需要加密感知数据1次,这与Benhamouda等方法比较接近,且略低于它,具备相似的高效率。
图4 不同用户数量下加密时间对比
图5表示了云服务器上数据的融合开销。云服务器上的数据聚合开销随着用户数量的增加而增加,因为当更多的用户加入系统,云服务器就需要聚合更多用户的感知数据。相比Bindschaedler方法,我们的方法开销更小。因为在Bindschaedler方法中,每个用户需要加密多个密文,都需要云服务器的聚合。我们的方法中云服务器只聚合每个用户对应的一个密文。与Benhamouda等方法相比,我们的方法中的云服务器多消耗一点时间。因为方法中为了容忍部分用户无法将感知数据传输到云服务器的情况,将Shamir的秘密共享与感知数据加密相结合,在接收到多个用户的密文后,云服务器为每个用户计算拉格朗日系数。然而,由于云服务器具有强大的计算功能,可以认为在我们的方法中,云服务器上的数据融合开销是可接受的。
图5 不同用户数量下融合时间对比
图6显示了用户和云服务器之间的通信开销。我们可以观察到Bindschaedler等方法通信开销要比我们方法的通信开销高得多。在Bindschaedler等方法中,用户将多次传输密文到云服务器。同时,云服务器将融合后的密文发送回用户。此外,用户解密融合的密文并将其发送回云服务器。然而,我们的方法中通信开销只依赖于一次通信,即用户发送它的密文到云服务器,这与Benhamouda等方法的通信开销相似,且略低于Benhamouda等方法。
图6 不同用户数量下通信开销对比
图7中显示云服务器的存储开销,随着用户数量的增加,我们的方法和Benhamouda等方法的存储开销基本保持不变,而Bindschaedler等方法的存储开销随着用户数量的增加而增加,且相比我们的方法和Benhamouda等方法存储开销要高得多。
图7 不同用户数量下云服务器存储开销对比
本文针对群智感知网络提出了一种基于隐私保护的数据融合方法,该方法采用BGN加密系统和Shamir秘密共享相结合的方式,对加噪后的感知数据进行加密,云服务器利用其强大的计算能力对数据进行安全融合。安全和隐私分析表明,该方法能够抵抗来自恶意用户和云服务器的差分攻击,能够保证云服务器和用户的茫然性安全。性能评估表明,该方法能够在用户和云服务器上具备可接受的计算开销、通信开销和存储开销。后续工作将主要研究基于模态相似度学习、贝叶斯推理建立多源数据隐私泄露风险评估准则,利用最优化理论计算最小隐私泄露风险,获得最佳的数据融合方案。