时间:2024-07-28
黄大欣,甘庆晴,王晓明,黄承鹏,姚梦婷
暨南大学 信息安全实验室,广州 510632
随着无线传感器的高速发展,越来越多的终端设备,如智能手机、智能穿戴设备等开始搭载各种各样的传感设备.在这个传感器提供感知服务发展的大环境下,结合众包的思想,群智感知网络以一种新型的感知模式呈现在眼前.在群智感知网络环境下,数据请求者可以通过任务的形式,将复杂的数据采集任务分发给众多的普通用户,让用户共同协作完成负责的感知数据采集工作.相比传统的无线传感网而言,群智感知网络可以协助完成一些单靠单体难以完成的任务,如某地的空气质量、交通拥堵程度等,利用分布在各地的感知个体收集汇总,经过数据中心的分析处理和汇聚,最终能够使数据请求端准确了解到当地的空气质量和交通拥堵情况,实现了更大规模、更复杂、更全面的感知和数据服务.而激励机制的出现,使得用户更积极去参与感知任务,进而采集到更多高质量的数据.因此,群智感知网络具有广泛的应用场景,并已成为当前的研究热点[1].作为一种新兴的研究领域,群智感知网络所面临的挑战是传统传感网络不曾遇到的,大量的问题有待研究,如群智感知网络环境下的任务分配[2-4]、数据传输[5-7]及激励机制[8-10]等.
由于感知数据的隐私性和敏感性,现有的方案都是对数据进行加密后再发送.为了减少数据在传输过程的开销和网络通信资源的浪费,数据聚合技术是目前最常用的方式之一.在现有的密文数据聚合方案中,最常见的方式是采用同态加密技术,能够实现在密文的状态下对数据的运算.然而,普通的同态加密方案只能实现单一数据聚合功能,却无法实现其他操作,如密文求最值、密文的排序、密文求前N个值、密文数据分段等一系列操作.众所周知,如果只能进行单一的数据聚合,将会给用户带来巨大的计算负担,而且也没能充分利用数据中心的强大计算能力.而为了保护数据隐私,上述密文求最值等一系列操作都必须在数据加密的前提下完成.如何实现数据聚合同时,又能进行密文的比较是一个全新的挑战.因此,针对群智感知网络的特点,研究既能保护数据隐私,又能支持密文比较的数据聚合技术是十分必要和急需的,具有重要的理论意义和应用价值.
数据中心协助数据请求者将密文经过处理,聚合后发送到数据请求者.这种方式有效地减少了数据传输时延和网络耗能,从而提高群智感知网络的传输性能.文献[11]提出一种新型的群智感知网络系统框架,集激励机制、数据聚合和数据扰动机制于一体,可确保用户的隐私.随后,文献[12]和文献[13]提出了基于无证书签名的数据聚合方案,满足数据聚合的同时实现了数据认证.文献[14]则提出了一种雾计算环境下的聚合方法,通过采用比特位分割技术实现了聚合密文的分解.但经分析,以上方案[11-14]都存在不安全或效率低下等问题.文献[15]中,作者基于椭圆曲线密码机制(ECC)和哈希函数,提出了一种适用于群感知网络中新的聚合方案.该方案中的聚合器能够实现无证书签名的完整性聚合,从而提升了数据聚合的效率,增强了用户数据的安全性.文献[16]提出一种支持雾环境且具备身份验证功能的数据聚合方案.该方案利用Paillier加密,确保了聚合阶段用户数据的隐私保护.除此之外,他们的方案还能够利用匿名证书来隐藏用户的真实身份,保护了用户的个人隐私安全.与仅具有单维度聚合功能的传统数据聚合方案不同,文献[17]提出的方案允许多维度的聚合,这意味着可以向物联网控制中心提供更多统计数据来进行分析和处理.不仅如此,该方案还采用批量认证技术,有效降低了认证成本.最近,文献[18]提出了一种用于隐私数据分析的数据聚合机制,可以有效地计算参与感知任务的用户位置分布状况,最后通过优化局部差分隐私算法,提高了数据的精确度和性能.
尽管目前已有很多方案对群感知网络环境下的数据聚合技术进行研究,但是对支持密文处理的数据聚合技术研究却很少.将大量的密文数据不经处理直接聚合发送给数据请求者将会带来大量的问题,如无效的密文信息将影响最终聚合的密文结果、增加请求者的计算费用等.若密文在数据中心能够经过处理,如排序、数据分段统计等操作,筛选出符合数据请求者要求的数据,从而降低数据请求者的计算费用,保证聚合结果的正确性,数据中心强大的计算能力也得到更好的发挥.文献[19]基于双陷门解密和加法同态加密的性质[20],提出了一种高效的支持隐私保护的top-k密文查询方案.该方案通过两个服务器的协作运算,实现了top-k密文查询功能.但是,由于两个服务器是半可信的,可能存在合谋攻击从而泄漏用户的数据隐私,因此不适合实际应用场景.文献[21]提供了一种基于ElGamal同态加密的最值问题的安全多方计算方案,能够有效抵抗合谋攻击且能够实现密文信息的最值求解.然而该方案给用户带来了昂贵的计算开销.最近,基于Bresson等人[20]方案,结合拉格朗日插值定理,文献[22]构造了一种支持密文比较的同态加密方案,命名为CompHE.该方案实现同态加密的同时,又支持密文比较,具有较高的运算效率.在偏离散对数和DDH在的困难性假设下,CompHE方案被证明为语义安全.然而,该方案具备的功能比较单一,没有考虑更为复杂的密文处理过程.由此可见,构建一种低消耗且安全,支持密文处理的数据聚合方案,具有十分重要的研究意义.
针对以上问题,本文基于文献[22]提出的支持密文比较同态加密方案,设计了一个群智感知网络环境下支持多种数据处理的数据聚合方案.比文献[22]方案相比,本文提出的方案具有更丰富的密文处理功能以及更强的安全性.具体来说,提出的方案不仅实现了数据聚合,而且还能够对感知密文数据进行比较,从而实现对密文的多种处理,如密文排序、求前N个密文、密文求最值、数据分段统计等.提出的方案通过数据中心对密文进行处理,然后将处理后的结果发送至数据请求者,有效地减少了数据请求者的计算开销,充分利用数据中心的强大计算能力.与已有方案相比,提出的方案满足数据机密性、抗合谋攻击、匿名隐私保护和位置隐私保护等安全需求,同时在数据聚合和密文处理方面具备较低的计算开销.
本文提出的方案主要包含4个实体,即数据中心(data center,DC),可信任机构(trust authority,TA),用户(User),数据请求者(data requesters,DR).系统模型图如图1所示.
图1 系统模型Figure 1 System model
可信任机构(TA):TA作为一个可信的机构,主要负责密钥的分发、系统的初始化.
数据中心(DC):DC主要是由第三方服务商提供,具有强大的计算能力,负责感知数据的计算、感知任务的广播、感知数据的排序、验证等.作为半可信的第三方机构,DC能够按协议正确执行操作,但却是好奇的,它会尝试去获取数据请求者DR需要收集的数据信息,从中获利.
数据请求者(DR):作为数据请求者,DR一般是政府机构、医院等组织,允许申请收集数据.
用户(User):符合感知任务要求的用户将去负责收集数据,并将收集到的数据加密上传到DC.由于用户众多,User中可能存在恶意用户,恶意User会尝试跟DC合谋去获取其他用户的数据.在群智感知网络环境下,User在收集到数据后,DR还需要奖励参与感知任务的User,但是在本文提出的方案中不考虑激励机制.
CompHE是文献[22]提出的一种可支持密文比较的同态加密方案,方案主要由5个算法组成,即系统初始化算法Setup(1λ,t),数据加密算法Encrypt(m i,pkr),密文比较算法Compare(C A,C B),同态加法Add(C i,C j),解密算法Decrypt(C,skr).
系统初始化算法Setup(1λ,t):
(1)TA输入安全参数1λ,生成λ位大素数p,q,并计算N=pq.然后TA选取(p−1)(q−1)/2阶
f(x)=s+a1x+···+a n−1x n−1.
TA设置数据请求者DR的公钥pkr=g smodN2,设置数据请求者DR的私钥skr=s,并将
skr通过安全信道发送给DR.
(2)输入用户个数t,选取多项式函数f(x)的(n−2+t)个点,令前t个点作为用户ID的集合{x i}i∈{1,2,···,t},后(n−2)个点集合为{w i}i∈{1,2,···,n−2}.TA生成公共参数:
params={N,g,{x i}i∈{1,2,···,t},{w i}i∈{1,2,···,n−2}},
和主密钥为msk={s,p,q,f(x)}.
(3)TA计算
TA生成集合{R i}i∈{1,2,···,n−2}并发给数据中心DC.
(4)TA为用户U i在集合{x i}i∈{1,2,···,t}上选取点一个x i,并且每个用户选取的点各不相同,代入多项式函数f(x)得f(x i).最后TA将每个用户的私钥ski=(x i,Δi)通过秘密通道发送至用户U i.其中Δi的值如下:
数据加密算法Encrypt(m i,pkr):
其中,pkr=g smodN2是DR的公钥.最后用户U i送(x i,C i=(C i,1,C i,2))给数据中心DC.
密文比较算法Compare(C A,C B):
(1)当需要比较用户U A的密文C A和用户U B的密文C B的大小关系时,DC首先计算
(2)用户U B收到密文比较请求InfA,为了盲化差值信息,U B选择随机数
计算生成reqB:
最后用户U B将reqB发送到DC.
同理,用户U A收到密文比较请求InfB,选择随机数k A,k A取值范围跟k B相同.计算生成reqA:
最后用户U A将reqA发送到DC.
(3)收到用户发送过来的比较参数reqA和reqB后,DC对密文C A和密文C B进行比较.最后得到比较大小结果.比较方法如下:DC计算
同态加法Add(C i,C j):
当收到到任意两个用户密文C i和C j之后,DC对密文执行同态加法操作
DC输出Csum并发送至DR.
解密算法Decrypt(C,sk):
DR在得到聚合密文Csum=(Csum,1,Csum,2)后,用私钥skr=s执行解密操作,得到聚合明文M,解密过程如下.
基于文献[22]提出的CompHE方案,本文构造了一种在群智感知网络环境下的支持密文处理的数据聚合方案.提出的方案主要由系统初始化、用户注册、任务生成、数据加密、感知数据密文处理等5个阶段组成,具体如下.
用户U i首先向TA提交个人身份信息,如电话、邮箱、身份证号等,完成用户注册.TA为用户U i在集合{x i}i∈{1,2,···,t}上选取一个x i作为其匿名身份,并代入多项式函数f(x)得到f(x i).TA为每个用户选取的点各不相同.TA保存(U i,x i,f(x i))至注册列表,如表1所示.
表1 注册列表Table 1 Register table
其中TSi是当前的时间戳.用户U i将(σi||C i||x i||TSi)发送到数据中心DC.
4.5.1 感知数据的密文聚合处理
为了减少数据传输开销,目前通用的方式是利用数据聚合技术,DC协助数据请求者DR将密文经过处理,聚合后发送到DR.这种方式有效地降低了网络中数据传输的时延,节省了网络耗能,从而使得群智感知网络的传输性能得到提高,具体操作如下.
当Op的指令为聚合所有数据时,DC执行数据聚合算法Agg(Arrays):首先令Csum=C1,对于2≤i≤k,循环调用CompHE.Add(C i,Csum),最终返回结果Csum.得到聚合结果Csum后,DC将其发送给DR.
4.5.2 感知数据的密文最值处理
数据请求者DR在申请采集感知数据时,根据实际的应用场景,他可能只需要得到最值信息,而不需要得到额外数据,如在某个任务中需要求出某个省份中最高或者最低的湿度信息.因此,本文提出的方案可以通过密文求最值算法,利用DC强大的计算性能,只需要将最值的密文发送给DR,具体操作如下.
当Op的指令为求感知密文最大值时,DC执行密文求最值算法Max(Arrays,k):对于1≤i≤k,如果满足CompHE.Compare(C i,CMAX)=1,则输出CMAX=C i,直至循环结束,最终返回结果CMAX.最后DC将密文最值CMAX发送给DR.
4.5.3 前N个感知数据的密文获取处理
申请采集感知数据时,数据请求者希望获取前N个值信息,比如在求出某个省份中前N个空气质量的信息.在这种场景下,DC可以通过密文求前N个值,然后将前N个值的密文发送给数据请求者DR,具体操作如下.
当Op的指令为求感知数据前N个密文时,DC执行算法GetTop(Arrays,N): 首先调用建堆算法make_heap(Arrays[1,N])得到heap[N];对于(N+1)≤i≤k,执行调整堆算法adjust_heap(heap[N],Arrays[i]);循环结束后,算法返回heap[1,N].最后,DC将得到的前N个密文结果heap[1,N]发给DR.注意到,由于adjust_heap算法需进行密文比较,因此需要调用文献[22]提出的CompHE算法,这里省略adjust_heap和make_heap两个算法的具体过程.
4.5.4 感知数据的密文排序处理
根据实际的应用场景,DR通过申请采集感知数据并获得数据排序后的结果.因此,在本文提出的方案中,DC利用自身强大的计算性能,通过密文排序算法将排序后密文集合发送给DR.DR收到密文集合后,只需要对数据解密便可以得到数据排序后的结果,而无需自行排序,具体操作如下.
当Op的指令为求感知密文排序时,DC执行密文快速排序算法Quicksort(Arrays,l,h),如算法1所示.初始化l=0,h=k.最后,DC将排序好的密文集合发送到DR.
算法1密文快速排序算法Quicksort(Arrays,l,h)quicksort(Arrays,l,h)l=0,h=k if l 4.5.5 感知数据的密文分段统计处理 为了得到某个数据段包含的感知数据的数目,比如统计降雨量范围为[30,40]的地区的数目,数据请求者DR需要对采集的感知数据进行统计操作.因此,DC可以调用统计数据段算法,将统计后的结果发送给DR,具体操作如下. 当 Op 的指令为需要统计数据段 (CMIN,CMAX)的数量时,DC 执行密文分段统计算法Stats(Arrays,CMIN,CMAX):初始化Count=0,对于1≤i≤k,如果调用CompHE.Compare(C i,CMIN)和CompHE.Compare(CMAX,C i)两个算法均输出1,则Count++;循环结束后,算法返回Count.最后,DC将数据段(CMIN,CMAX)范围内统计的数量Count发给DR. 由于提出方案的安全证明是规约到文献[22]的,而文献[22]在安全证明中已被证明其具备L-语义安全.概括地说,文献[22]提出的CompHE方案首先定义了泄漏函数L,通过论证多个游戏之间的不可区分性,最后得出真实游戏REAL和理想游戏IDEAL之间的不可区分性,从而证明了CompHE方案具备L-语义安全.具体细节可见文献[22],我们在本文不再赘述.接下来将对提出的方案进行安全分析,主要围绕方案是否满足感知数据的机密性、抗合谋攻击、匿名保护、位置隐私保护等安全要求展开. 提出的方案中,用户加密感知数据采用的是DT-PKC加密.DT-PKC是具有加法同态性质的同态加密方案[20].在文献[20]中,DT-PKC已被证明具有语义安全,在多项式的时间内,敌手在没有私钥的情况下解得密文信息的概率是可忽略的.在提出的方案中,假设敌手能够通过攻击手段截取到用户上传到数据中心DC的感知密文C i,其中 由于DR的私钥sk只有本人才知道,因此敌手无法通过解密而获得感知密文C i的明文信息m i.同理,在任务分发阶段,为了保护任务内容不被泄漏,DR会对任务信息Task执行DT-PKC加密,用户由于在注册阶段得到了解密任务信息的私钥θTA,因此用户可以解密,而敌手缺少私钥,也无法得到任务的具体内容. DC在对密文进行处理的时候,如密文排序、密文求最值等操作时需要对密文执行密文比较算法,由文献[22]的安全证明和分析可知,敌手即使与DC合谋也只能得到密文的大小关系,而无法得到密文的差值信息和密文所对应的明文信息. 在用户注册阶段,TA选择多项式函数f(x)=s+a1x+······+a n−1x n−1,令f(0)=s为数据请求者DR的私钥sk.TA选取(n−2+t)个点,令前t个点作为用户匿名ID的集合{x i}i∈{1,2,···,t},后(n−2)个点作为集合{w i}i∈{1,2,···,n−2}.将前t个点分别发送给t个用户,剩下的(n−2)个点通过{R i}i∈{1,2,···,n−2}的形式发送到数据中心DC,其中 由拉格朗日差值定理的数学性质可知,需要n个在f(x)上的点才能恢复f(0).由于定义n>t,其中t为用户数量,则用户将无法通过合谋攻击恢复f(x).因此,提出的方案可以抵抗用户合谋攻击. 由此可知,提出的方案能够抵抗用户与用户之间的合谋攻击,以及用户与数据中心DC的合谋攻击. 在提出的方案中,用户向TA注册的时候需要提交个人身份信息,完成用户注册.TA为用户U i在集合{x i}i∈{1,2,···,t}上选取一个x i作为其匿名身份,并代入多项式函数f(x)得到f(x i).TA为每个用户选取的x i各不相同,用户将作为x i自己的匿名ID而不是真实身份参与到群智感知网络任务当中,有效地保护了用户的身份隐私.除此之外,当发现有不合法的用户时,TA能够通过保存在表1中的身份关系找到对应的真实用户. 由此可见,只拥有任务解密私钥的用户,但自身的位置信息与数据请求者需要收集的位置不匹配,则用户将无法通过解密任务信息,从而避免了不在指定位置的用户得到任务的信息.同样,由于用户相当于是在本地实现位置匹配,降低了泄漏位置信息的可能性,从而保护了位置隐私. 本节分别通过理论分析和实验分析,将本文提出的方案与相关文献[19,21,22]等进行了对比,包括方案具备的功能、计算开销、通信费用开销、存储开销、实验开销等方面.对比结果表明,本文提出的方案在密文处理方面具有很高的性能. 6.1.1 功能对比 首先对本文提出的方案与文献[19,21,22]进行了功能比较,分别对比了数据聚合、密文比较、数据处理、数据隐私保护、抗合谋攻击、匿名保护及位置隐私保护等方面,结果如表2所示. 由表2可知,文献[19,21,22]与提出的方案都能实现数据聚合、密文比较及数据隐私保护.但文献[19]存在安全缺陷,即不能抵抗合谋攻击,两个负责数据处理的服务器可以通过部分密钥来恢复数据请求者解密的私钥.文献[22]提出了CompHE方案,是一种支持密文比较的同态加密方案,没有考虑复杂的数据处理功能.除此之外,文献[19,21,22]都未考虑到匿名隐私保护及位置隐私保护,匿名隐私保护可以保证用户的真实身份不被泄漏,而位置隐私保护可以保护用户所在的位置信息的隐私.而本文提出的方案在支持数据处理和数据聚集的同时,还能抵抗合谋攻击,同时具备匿名隐私保护及位置隐私保护功能,从而更好保护了用户的数据隐私,比文献[19,21,22]更具优势. 表2 本文方案与相关方案功能对比Table 2 Functionality comparison with related schemes 6.1.2 计算开销对比 表3 计算开销对比Table 3 Computational overhead comparison 由表3可知,本文提出的方案和文献[19]和[21]相比,在加密上计算开销是相等的.但是在求最值的计算上,文献[21]提出的方案的计算开销不仅与密文个数n相关,且与最值所在的下标y有关.而本文提出的方案只与密文个数n相关,与最值所在的下标y无关.当y的值大于2时,本文提出的方案计算开销要比文献[21]计算开销小. 6.1.3 通信开销对比 由表4可知,当y的值比较大时,文献[21]需要的通信开销会变大,而本文提出的方案和文献[19]都与y的值无关,具有较低的通信开销. 表4 通信开销对比Table 4 Communication overhead comparison 本节将通过仿真实验来验证本文方案的计算效率.实验采用java语言,JDK版本为1.8,实验设施为64 bit的Win7操作系统,内存6 GB,处理器Inter Core i3 1.80 Hz的笔记本电脑.为了使实验更接近真实的数据采集场景,本文选取了2019年1月1号北京市34个地区的空气质量数据,数据来源于北京市环境保护检测中心网站.首先,本文对文献[19]和[21]与提出的方案计算开销进行对比实验.在三个方案中,为了保证参数一致,均采用1024-bit长度的安全参数,且加密的明文不变.对比实验结果如图2所示. 图2 密文求最的平均消耗时间比较Figure 2 Average time cost comparison for maximum or minimum query 由图2可知,随着密文数目的增加,本文提出的方案和文献[19]在密文求最的平均消耗时间远低于文献[21],效率方面优势明显.在密文数量较少时,本文提出的方案和文献[19]的消耗时间基本一致,密文数量逐渐增加后,本文在密文比较的计算开销更大,但文献[19]在比较的过程中存在两个服务器合谋攻击的可能,而本文能抵抗合谋攻击.总体来说,与文献[19]和[21]相比,本文提出的方案有效地兼顾和平衡了效率和安全两方面. 为了进一步验证本文提出方案的计算效率,本文将对提出方案的数据聚合、密文排序及数据分段统计等密文处理过程的时间开销进行测试,并记录实验结果,如图3所示. 图3 本文方案密文处理算法平均消耗时间比较Figure 3 Average time cost comparison for proposed scheme 由图3可知,本文提出的方案在数据聚合、密文排序及数据分段统计等密文处理过程的平均消耗时间与密文数目呈线性相关,随着密文数目的增加,平均消耗时间逐渐增大.其中,数据聚合算法时间开销最少,因为该算法仅需执行同态加法操作,而排序及数据分段统计的密文处理过程需要执行密文比较算法.与此同时,针对某一个密文来说,数据分段统计在比较的过程中需要执行两次密文比较算法,因此总的时间开销约为密文排序算法的两倍.综上所述,本文提出的方案具有高效的密文处理效率. 本文基于文献[22]提出的支持密文比较的同态加密方案,设计了一个群智感知网络环境下支持多种数据处理功能的数据聚合方案.提出的方案不仅能够实现感知数据安全聚合,还能够通过对感知密文数据的比较,进而实现对密文的多种处理,如密文求最值、求前N个密文、密文排序、数据分段统计等.最后,安全分析表明了提出方案的安全性和可行性,性能分析表明了方案相比其他方案具有更高的计算效率.5 安全分析
5.1 感知数据机密性
5.2 抗合谋攻击
5.3 匿名保护
5.4 位置隐私保护
6 性能分析
6.1 理论分析
6.2 实验分析
7 总结
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!