物联网中无可信权威中心的隐私保护数据聚合方案
2022-05-12刘海辉陈建伟
刘海辉,陈建伟,黄 川
(1.福建师范大学计算机与网络空间安全学院,福建 福州 350117;2.福建省网络安全与密码技术重点实验室,福建 福州 350117;3.福建师范大学数字福建大数据安全技术研究所,福建 福州 350117)
物联网(internet of things,IoT)的技术进步和大规模部署,很大程度上改变了人们日常的生活习惯和工作方式.IoT在各种传感技术的基础上,结合网络互联、信息传递、人工智能等技术,不仅可以提高人们对物理世界的信息感知能力,还可以根据感知数据实现智能化的决策和控制.目前,IoT已经应用在众多的领域中,如智慧城市[1]、医疗保健[2]、工业控制[3]、智能电网[4]等.
一个典型的IoT应用往往需要大量的终端设备收集并上传感知数据.然而,随着信息技术的不断发展,用户对于个人隐私的保护意识也逐渐增强,大量地收集个人用户数据会引起人们对于个人隐私安全的担忧.2018年,媒体曝出美国脸谱公司在未经用户同意的情况下,通过其社交软件Facebook违规收集了多达8 700万份个人用户资料,用于英国剑桥分析公司开展的数据分析之中,借此为竞选总统提供帮助[5].类似事件加剧了公众对违规收集个人隐私数据的担忧,隐私数据的泄露也会对国家安全造成巨大的威胁.为此,我国“十四五”规划明确提出要加快推进数据安全、个人信息保护等领域基础性立法,强化数据资源全生命周期安全保护[6].2021年6月,我国出台了《中华人民共和国数据安全法》,用于规范数据处理活动,保障数据安全,促进数据合理开发利用.由此可见,保护个人用户数据隐私将成为IoT大规模应用部署不可忽视的重要前提和研究课题.
为了保障用户数据隐私安全,研究者们采用数据聚合的方式来收集用户的数据,即服务端仅能得到所有用户数据聚合的结果,而无法得到个别用户的具体数据,这样在一定的程度上保护了用户的隐私.然而,这种聚合方式在实践中仍然存在不足.首先,大多数保护隐私的数据聚合方案过度依赖于一个可信权威中心(trusted authority,TA),需要TA产生和分发密钥.而这样的可信权威中心可能成为外部攻击的对象,承担着安全风险.另一方面,也并非所有用户都信任这样的第三方权威中心.其次,由于IoT应用场景的不确定性和复杂性,在一个聚合周期内,一旦出现终端设备故障、网络连接异常,或者数据传输波动等情况,将导致服务端无法按期得到终端设备的感知数据,进而影响到预设方案的正确执行,换言之,系统不具备容错能力.最后,IoT应用通常部署在开放式的无线网络环境中,攻击者很可能会截获并篡改终端设备上报的数据,导致系统做出错误的判断和决策,可见,保证数据完整性也是要解决的问题之一.
近年来,有许多的研究者针对上述问题提出了一些解决方案[7-13].文献[7]提出的APPA方案利用本地权威机构,在数据聚合过程中为智能设备提供实时的注册和更新服务.文献[8]结合同态加密和超增序列实现了智能电网环境下的多维度数据聚合.文献[9]通过改进同态加密算法,实现了智能电网中的多维数据的聚合,而且控制中心还能对数据进行方差分析(ANOVA).但这些方案[7-9]都需要一个可信权威中心来进行密钥的产生和分发.在无第三方可信权威中心的前提下,文献[10]提出了一个支持任意聚合函数的隐私保护数据聚合方案,该方案采用随机抽样的方式为每一个终端设备生成唯一的序列号,聚合器可以根据该序列号得到所有终端设备的独立数据并实现任意的聚合函数.文献[11]结合同态加密算法和Shamir门限秘密共享方案提出了一个保护隐私的数据聚合方案,该方案不但可以对所有用户的数据行进聚合统计,还可以针对特定区域内用户进行数据聚合,提高了聚合的灵活性.文献[12]根据用户的总用电量将用户划分为不同子集,控制中心不仅可以得到不同子集的用户数量,还能得到所有同类型设备耗电量的总和.文献[13]提出了一个有效提高系统容错性的方案,该方案能够在智能电表或者是服务器发生故障时对故障设备进行探测.然而,上述这些方案[10-13]或者没有提供容错功能,或者无法确保数据的完整性.
本文提出一种无可信权威中心的隐私保护数据聚合方案,主要的研究内容和贡献如下.
(1)终端设备之间进行密钥协商共同构建加密密钥,并使用该密钥对终端设备的感知数据进行加密,以保证数据的隐私性.
(2)根据Carmichael定理设计了一种容错机制,当终端设备或者网络连接出现故障而导致无法上报数据时,控制中心仍然可以对已接收的数据进行聚合统计,保障系统的稳定运行.
(3)采用双线性聚合签名算法对上报的数据进行签名和验证,保障了数据的完整性.
(4)通过理论分析和性能实验分别证明所提方案的正确性和安全性,以及在计算开销和通信开销等方面的有效性.
图1 系统模型Fig.1 System model
1 系统模型和实现目标
本节给出了所提方案的系统模型、安全模型以及要实现的具体目标.
1.1 系统模型
本文方案的系统模型如图1所示.系统模型主要包含3类对象:终端设备、聚合器和控制中心,其中,终端设备根据应用场景的不同分为车载终端设备、家庭终端设备和工业终端设备.终端设备与聚合器之间可以通过移动蜂窝网络(3G/4G/5G)、Wi-Fi等无线通信技术进行通信,而聚合器与控制中心之间通过安全的通信链路进行通信.
终端设备(terminal device,TD):具有一定的感知、存储和通信能力;通常按照任务要求部署在某片区域中,每个固定周期感知并加密数据,然后将其提交给聚合器.
聚合器(aggregator,Agg):能够实时收集来自终端设备的密文信息和数字签名,在对数字签名验证通过之后,对密文进行聚合,最后将聚合结果发送给控制中心.
控制中心(control center,CC):对收到的聚合数据进行解密,并将数据用于统计和分析,以便做出合理的控制和决策,为用户提供更准确、更智能的服务.
1.2 安全模型
在本文中,采用的是“半诚实”安全模型,即假设所有的实体是“诚实且好奇的”,它们能够遵循协议处理数据,不会篡改计算结果;然而,所有实体都对其他终端设备的隐私数据感到好奇,可能会窃听通信信道,并试图通过监听信息的方式来推断其他终端设备的数据.此外,在本文方案中,终端设备之间采用Diffie-Hellman密钥交换算法建立共享密钥.在本文中,将不考虑CC、Agg和TD合谋的情况,主要关注TDs与CC之间传输数据的隐私性和机密性.
1.3 实现目标
为了保护数据聚合应用中终端设备感知数据的隐私,本文需要设计一个保护隐私的数据聚合方案,具体目标如下.
(1)数据隐私性.在整个数据收集过程中,终端设备的真实数据不会泄露给其他实体对象,CC只能得到所有终端设备数据的聚合结果,而无法获得某一终端设备的具体数据.
(2)无可信权威中心.大部分数据聚合方案过度依赖于可信权威中心,然而在现实中,很难找到让所有系统用户都信任的第三方权威中心.因此,本文提出的方案以无可信权威中心作为前提条件.
(3)容错性.由于IoT终端设备种类多数量大,某些终端设备在运行过程中可能会发生故障,抑或是网络连接出现问题,使CC无法接收到这些终端设备的感知数据,导致方案在数据聚合过程中无法得到正确的结果.因而,本文提出的方案需要在出现上述错误的情况下,仍然能够对已收到的终端设备数据进行聚合统计处理.
(4)数据完整性.在数据传输过程中,特别是在无线网络环境下,数据很有可能会被攻击者篡改.因此,本文提出的方案需要对接收到的数据进行验证,以保证数据的完整性.
(5)高效性.在整个数据收集过程中,需要传输和处理大量的终端设备数据,因此,方案需要尽量减少通信开销,提高计算效率,使方案更具有实用性.
2 预备知识
本节给出了与本文方案相关的一些数学预备知识.
2.1 双线性对
设G1,G2分别是q阶的加法循环群和乘法循环群.如果称G1,G2满足双线性映射:e:GI×GI→G2,那么需要满足以下3个性质.
(2)非退化性(nondegeneracy).∃g1∈G1和∃g1∈G1,使得e(g1,g2)≠1.
(3)可计算性(computable).∀g1∈G1,∀g2∈G2,都能进行计算e(g1,g2).
2.2 模N2的相关性质
给定两个大质数p和q,计算N=pq和λ=lcm(p-1,q-1).
(1)
进而得到
(2)
根据数学归纳法可以得到如下性质:
(1+N·x)λ≡(1+N·λx)modN2.
(3)
(2)给定任意一个正整数x,根据Carmichael定理,有如下性质:
xNλ≡1 modN2.
(4)
3 方案设计
本节将对提出的方案进行详细描述.方案主要包括系统初始化、数据收集、数据聚合和数据解密等4个阶段,以及容错处理过程.表1列出了本文用到的主要符号及其含义.
表1 主要符号及含义Tab.1 List of main notations
3.1 初始化阶段
首先,由CC选取两个大质数p和q,并计算N=pq和λ=lcm(p-1,q-1);定义G1为q阶加法循环群,GT为q阶乘法循环群,g为G1的1个生成元;CC选择1个安全的哈希函数H:{0,1}*→G1和一个双线性映射e:G1×G1→GT.随后,CC发布系统参数(N,g,G1,GT,H,e),λ作为容错密钥由CC保存.CC和Agg将作为2个特殊的终端设备进行初始化.换而言之,此时的终端设备共有n+2个,记Agg为TDn+1,CC为TDn+2.
然后,终端设备之间利用Diffie-Hellman密钥交换算法计算共享密钥集合,具体步骤如下:
步骤1 所有终端设备{TDi}i=1,2,…,n+2从Zp中选取2×(n+1)个随机数作为密钥,这些密钥将会被分成2个集合,第1个私钥集合为{ri,j}j=1,2,…,n+2,j≠i,第2个私钥集合为{ti,j}j=1,2,…,n+2,j≠i.
步骤2 首先,TDi利用第1个私钥集合中的ri,j计算公钥di,j=gri,jmodN(j≠i).然后,TDi将di,j发送给TDj.TDj收到公钥di,j之后,根据第2个私钥集合中的tj,i计算共享密钥bi,j=(di,j)tj,imodN=gri,jtj,imodN.随后,TDj向TDi发送公钥uj,i=gtj,imodN,TDi通过计算(uj,i)ri,jmodN得到bi,j.此时,TDi和TDj得到共享密钥bi,j=gri,jtj,imodN.
步骤3 TDi的第1个私钥集合{ri,j}i=1,2,…,n+2,i≠j中每一个私钥ri,j都执行步骤2.TDi获得与其它(n+1)个终端设备{TDj}j=1,2,…,n+2,j≠i的共享密钥,这些共享密钥构成1个集合Φi={bi,v}v=1,2,…,n+2,v≠i,其中bi,v=gri,vtv,imodN.
图2 密钥交换过程Fig.2 Key exchange process
步骤4 终端设备TDi利用第2个私钥集合{ti,j}j=1,2,…,n+2,j≠i中的ti,j计算公钥wi,j=gti,jmodN(j≠i).然后,TDi向TDj发送公钥wi,j,TDj收到来自TDi的公钥wi,j之后,利用TDj第1个私钥集合中的rj,i计算和TDi的共享密钥bj,i=grj,iti,jmodN.随后,TDj向TDi发送公钥hj,i=grj,imodN(j≠i),TDi通过计算(hj,i)ri,jmodN得到bj,i.此时,TDi和TDj得到共享密钥bj,i=gri,jtj,imodN.
步骤5 TDi的第2个私钥集合{ti,j}j=1,2,…,n+2,j≠i中每一个私钥ti,j都执行步骤4.TDi可以获得与其它(n+1)个终端设备{TDj}j=1,2,…,n+2,j≠i的共享密钥,这些共享密钥组成集合θi={bl,i}l=1,2,…,n+2,l≠i,其中bl,i=grl,iti,lmodN.
所有终端设备{TDi}i=1,2,…,n+2执行上述步骤后都会拥有2个共享密钥集合Φi和θi.TDn+1拥有2个共享密钥集合Φn+1和θn+1,记为Φagg和θagg,TDn+2也会拥有2个共享密钥集合Φn+2和θn+2,记为ΦCC和θCC.图2显示了n= 2的密钥交换过程.
最后,TDi利用共享密钥集合θi和Φi,构建加密密钥Pi,构建方式如公式(5)表示.
(5)
将Pn+1记为Pagg,Pn+2记为PCC.Pagg和PCC作为密钥分别由Agg和CC保存.此外,TDi和Agg通过双线性聚合签名算法产生相应的签名私钥xi和xagg.
3.2 数据收集阶段
在此阶段,TDi在周期t收集数据mi,TDi对mi进行加密,具体的过程如下.
首先,TDi利用加密密钥Pi,根据公式产生密文ci:
ci=(1+mi·N)·PimodN2.
(6)
然后,TDi使用签名私钥xi,计算验证公钥pki=gxi,并对密文ci签名:
σi=H(ci||t)xi.
(7)
最后,TDi将Ci=
3.3 数据聚合阶段
Agg在收到TDi的数据Ci之后,对加密数据进行聚合,具体的聚合过程如下.
首先,Agg收到来自n个终端设备发送的数据{Ci}i=1,2,…,n,Agg根据如下的公式去验证数字签名.
(8)
如果公式(8)成立,则表示数字签名验证通过,完整性得到保证.
然后,Agg在不解密密文的情况下对密文进行聚合,获得聚合结果Cagg:
(9)
为了保证聚合结果的完整性,Agg使用签名私钥xagg,计算验证公钥pkagg=gxagg,并对聚合结果Cagg签名:
σagg=H(Cagg||t)xagg.
(10)
最后,Agg将Ca=
3.4 数据解密阶段
CC收到Agg发送的聚合结果Ca,执行如下操作来解密密文.
首先,CC验证签名σagg是否通过,即CC计算如下公式:
(11)
如果公式成立则表示验证通过,随后CC使用密钥PCC,根据公式(12)计算得到Cs:
(12)
(13)
然后,根据公式(14),CC获得所有终端设备的和数据:
(14)
3.5 容错处理
假设终端设备TDu在运行过程中发生故障,或是网络连接出现问题,CC无法接收到TDu的感知数据,即Cagg不包含TDu的数据.此时,CC收到的密文为:
(15)
(16)
(17)
上述部分公式的推导过程会在后续的正确性证明部分给出.
4 正确性证明与安全性分析
4.1 正确性证明
本文方案的正确性取决于CC能否正确得到可用的统计结果,所以给出公式(12)和公式(16)的正确性证明.
公式(12)证明.根据数据解密阶段的描述,对公式(12)有如下分析:
根据如下公式:
(18)
(19)
公式(16)的正确性证明如下:
(20)
其中
(21)
对公式(20)进行化简,由此可得:
(22)
4.2 安全性分析
(1)隐私性
其次,TDi在构建Pi的过程中,TDi采用Diffie-Hellman密钥交换算法与其它终端设备建立共享密钥,而根据CDH假设,(gri,j,gtj,i,gri,jtj,i)是计算上不可区分的;除此之外,基于本文假设的模型,每一个终端设备都需要与其它终端设备交互以产生加密密钥,即使有部分终端设备之间进行了合谋,试图获取特定设备的数据,然而在本方案中,合谋设备无法得到其它设备的共享密钥.因此,本文方案能够抵抗合谋攻击.综上所述,本文所提出的方案能够保护终端设备的隐私.
(2)完整性
5 性能分析
在本节中,将针对所提方案进行性能分析,主要包括通信开销分析和计算开销分析.
5.1 实验环境设置
实验在CPU为Intel Core i5-4590,内存为16GB,安装有64位Windows10操作系统的台式机中进行.IDE环境为Intellij Idea2020,并使用Java中的JPBC函数库构造加密函数.大质数N的长度为1 024 bits,N2的字节长度为2 048 bits,G1中元素的长度为512 bits,时间戳的长度为64 bits.为了直观的分析本文方案的性能,本文方案将与两个具有代表性的方案[9,12]进行对比,其中文献[9]的方案基于Paillier加密系统,而文献[12]的方案基于ElGamal加密系统.在计算开销的实验对比中,设定终端设备数量从10逐步增加到100,并通过对比运行时间来衡量计算开销.为了减少对比误差,实验取值均为1 000次实验结果的平均值.为了方便说明,把在群G1上的一次点乘运算,双线性对运算,指数运算,ElGamal加密运算,ElGamal解密运算,Paillier加密运算和Paillier解密运算分别表示成Tm,Tp,Te,Teenc,Tedec,Tpenc和Tpdec.至于ECC上的加法运算和ZN上的乘法运算相比之下可忽略不计.这7种运算在实验环境下耗费的时间如表2所示.
表2 主要运算的运行时间Tab.2 Running time of the main operations
5.2 计算开销
图3展现了在数据收集阶段,终端设备的计算开销对比情况.在文献[12]方案中,智能电表SM对数据加密需要执行1次ElGamal加密运算、两次指数运算和ω次乘法运算,计算开销为Teenc+ωTm+2Te,其中ω为电量数据的维数,在本文中设置为一维,即ω为1;在文献[9]方案中,SM对数据加密需要执行两次指数运算、一次乘法运算和一次双线性运算,计算开销为2Te+Tm+Tp;而在本文方案中,终端设备对数据加密仅需要两次乘法运算和两次指数运算,计算开销为2Tm+2Te.从图3可以看出,本文方案在TD端的计算开销相较于其它2个方案具有明显的优势.
图3 数据收集阶段计算开销的对比Fig.3 Comparison of computational overhead in the data collection phase
图4给出了3种方案在数据聚合阶段产生计算开销的对比情况.在文献[12]的方案中,网关GW在数据聚合阶段产生的计算开销为(n+1)TP+4(n-1)Tm+Te;文献[9]方案中,GW在数据聚合阶段的计算开销为(n-1)Tm+(2n+1)Tp;而在本文方案中,Agg在数据聚合阶段产生的计算开销仅为(n+1)Tm+nTp.从图4可以看出,本文方案和文献[12]的方案相比于文献[9]的方案,产生较低的计算开销,而本文方案产生的计算开销也略低于文献[12]的方案,可见本文方案在数据聚合阶段具有较好的计算性能.
图5给出了3种方案数字签名验证效率的对比情况.本文方案和文献[12]方案对数据签名的聚合验证都需要执行(n+1)次双线性运算和2(n-1)次乘法运算,计算开销为(n+1)TP+2(n-1)Tm;在文献[9]方案中,GW对数字签名的聚合验证需要执行2n次双线性运算,计算开销为2nTP.从图5可以明显看出,本文方案和文献[12]方案的数字签名聚合验证计算开销相近,并低于文献[9]方案.
5.3 通信开销
表3 数据收集阶段通信开销对比Tab.3 Comparison of communication overhead during the data collection phase
图4 数据聚合阶段计算开销的对比Fig.4 Comparison of computational overhead in the data aggregation phase
图5 签名聚合验证的计算开销对比Fig.5 Comparison of computational overhead in the aggregated signature verification
6 总结
本文提出了一种无可信权威中心保护隐私的数据聚合方案,用于保护物联网环境下终端设备上报的感知数据.方案基于密钥交换算法构建加密参数,保护数据的隐私性;又针对开放的网络环境,设计了一个轻量级的容错机制,保障系统运行的稳定性;此外,批量验证方式保证了数据的完整性.在未来工作中,将重点关注于设计更有效和安全的数据聚合方案,并支持不同终端设备复杂多样的数据类型.