日期:2023-01-24 阅读量:0次 所属栏目:计算机应用
0 引言
参与式感知[1]是近几年出现的一种感知技术,利用具有传感器的移动设备对各种信息进行交互式或自助式的采集、分类、传输和分析。参与式感知强调感知过程中人的参与,人们利用移动设备的各种传感器对各种数据进行采集,一个人感知的信息或者群体感知的信息可以被其他人或者群体使用,从而实现数据的广泛采集和共享使用[2]。
参与式感知的感知主体是一个个具有思想的人,而个人的安全与隐私是每个用户在加入参与式感知时必定会考虑的问题。目前关于参与式感知中用户的安全与隐私的研究主要集中在用户与服务器的交互过程中[3-4]。随着WiFi(Wireless Fidelity)等近场通信(Near Field Communication, NFC)技术的发展,用户与用户之间的数据共享应用将越来越广泛。而用户之间进行数据共享过程中的安全与隐私问题还鲜有关注。
参与式感知中,用户之间会进行频繁的数据共享[5],出于个人的安全与隐私考虑,用户在向周围用户发送数据请求时,不希望自己需要的数据类型被交互双方之外的人知晓,并且用户总是期望通过单次交互就能获得全部所需的数据类型,同时希望获得的差异化数据价值能够满足需求。在实际应用中用户对差异化数据的价值需求不尽相同,如供水质量监控的用户和普通用户对水质数据就有差异化要求,负责供水质量监控的用户需要水质标准中几乎全部的108种数据[6],需要长时间的大量测量数据;而普通用户只关心当前水质是否达标或少量常规数据,需要的是实时数据少量数据。这两类用户由于关心的内容不同,所以各种数据对他们的价值也不同。不同类型的用户可以根据提供方数据对他们的价值不同,进行取舍。可以看出,仅仅只是保证获取全部数据类型并不能保证用户对差异化数据的不同需求。 本文考虑用户对差异化数据的不同需求,通过计数布隆过滤器(Counting Bloom Filter, CBF)实现数据价值的计算,这个数据价值的值就是用来衡量用户对数据的差异化需求。本文的数据分享协议既保护用户对数据的偏好隐私,又实现了不同用户对数据的差异化需求。
1 相关研究
与本文相关的研究主要是隐私保护的集合交,根据使用的数学理论,隐私保护的集合交计算方法主要分为:基于交换加密的匹配协议、基于线性多项式的匹配协议和基于伪随机函数的匹配协议。
1.1 基于交换加密的匹配协议
Agrawal等[7]提出了一种可交换加密协议用于解决PSI(Private Set Intersection)和PCSI(Private Cardinality of Set Intersection)问题,实现了两个数据集中的交集运算。该协议的安全性依赖于DDH(Decisional DiffieHellman)假设,但对受到恶意攻击的情况没有考虑。
在文献[7]的基础上,Xie等[8]提出了一种移动社交网络中的匹配协议,能够抵御一定恶意攻击。该协议计算量较大,占用资源较多。
1.2 基于线性多项式的匹配协议
Freedman等[9]提出了一种基于多项式估值和加法同态加密的协议——FNP(FreedmanNissimPinkas)协议。该协议通过将数据集中的数据作为多项式的根构造出一个多项式,并对多项式系数同态加密。该协议复杂度低,适用于半诚实模型,但对恶意攻击抵御能力较弱。
为将文献[9]协议应用到分布式环境中,Ye等[10]把数据方集合用一个多项式表示,然后分发多项式系数到多个服务器,实现密钥分享这种分布式协议不适合在参与式感知环境中应用。
另外,在双线性映射函数基础上,Lu等[11]提出了一个双线性映射匹配算法,并且运用到了疾病监控的具体案例中,使具有相同病症的人可以分享信息。该算法只适用于匹配一个属性的场景,难以扩充到多属性的应用中。
1.3 基于伪随机函数的匹配协议
Yang等[12]设计了一种分布式手机社交网络系统:ESmallTalker。运用布隆过滤器(Bloom Filter, BF)作为属性存储结构,通过伪随机函数进行多轮迭代映射计算交集,可以有效减少存储空间和避免对方知道共同属性以外的其他信息。然而,由于布隆过滤器不能按需增删元素,若要改变元素集合,只能重置布隆过滤器,因此会增加额外的工作量。
Sun等[13]提出了两种计算集合交的方法:一种是基于PSI的加密方法;一种是基于布隆过滤器的非加密方法。加密方法通过适应性量化技术,将用户的每个元素对应到一个单元索引,计算集合交的双方通过PSI计算公共元素。这种方法的计算量和通信量都较大,不适用于资源有限的移动终端。非加密方式通过对布隆过滤器进行改进,双方分别采用不同的方式计算各元素对应的布隆过滤器,再计算公共元素,这种方法的计算量和通信量都较小,但计算结果存在一定误差。
以上三类关于集合交的办法,都只考虑了是否存在的问题,而没有考虑存在多少的问题,如集合C={a,b},B={a,b,c,d,a,b,a},目前研究得到的是公共属性集合{a,b}或者判断C是B的子集,但是都不能知道B中含有C中元素a和b的具体数目。本文提出一种新型数据分享协议,使请求者在数据分享过程中不仅能判断采集者是否拥有自己需要的数据类型,还能判断采集者对每一类型数据的拥有量,即数据的价值,同时在数据分享过程中保护双方对数据的偏好隐私。
2 模型与假设
2.1 系统模型
如图1所 本文由WwW. 提供,第一 论 文 网专业写作教育教学论文和毕业论文以及发表论文服务,欢迎光临示,本文的系统模型主要由数据采集者和数据请求者构成,用户既可以是数据采集者也可以是数据请求者。图1中的数据采集者利用自己智能终端的传感器采集数据。数据请求者由于业务或者其他需求,需要获取一定价值的数据,所以向周围用户发出数据交互请求。关于身份认证问题目前存在大量的研究[14-16],本文假设只有合法用户能够进行交互过程。
2.2 安全模型
假设用户是理性、诚实而好奇的。理性是指获得满足自己所需数据时才会付出相应代价;诚实而好奇是指每个用户都希望隐藏自己的偏好隐私,但是却希望知道其他用户的偏好隐私,同时,用户总是希望通过单次交互就能获取全部所需数据。除此之外,用户的操作都会遵循系统的要求。
2.3 问题描述
假设系统包括m个用户,分别表示为U1,U2,…,Um,系统一共有n种数据,数据类型对应为一个固定长度的集合A={A1,A2,
…,An}。每个用户既可以是数据使用者也可以是数据提供者,因此每个用户都拥有两个集合NAi和PAi。NAi表示用户需要的数据类型对应的集合,PAi表示用户拥有的数据类型对应的集合。假设用户之间是通过WiFi/Bluetooth等近场通信技术通信,并且任意两个用户之间都建立了一个可信的通信通道。
进一步定义两个用户Ui(Alice)和Uj(Bob),Alice向Bob发出数据交易请求,假设Alice需要的数据类型对应的集合为NAi={Ai1,Ai2,…,Ain},其中Alice需要的数据类型的相应位为1,其他位为0。Bob拥有的数据类型对应的集合为PAi={Ni1,Ni2,…,Nin},Bob每次获取一种类型的数据,就将相应数据类型的值加1,Aij表示Bob拥有第j类数据的数目。由于Alice希望能直接从一个数据采集者处获得全部所需的数据类型并且希望获取数据的价值能满足自己的需求,因此Alice需要将Bob拥有的数据对应的数据类型与自己需要的数据类型进行匹配,另外,Alice还会对Bob拥有的数据的价值进行计算判断是否达到要求(如,Alice需要第3种数据100个,第7种数据30个等)。如果Bob拥有的数据类型满足Alice需要的数据类型且Bob拥有的数据价值达到了Alice的要求,则Alice与Bob进行交互,获得想要得到的数据,如果Bob没有Alice想要的全部的数据类型或者数据的价值不满足需求,则Alice终止与Bob的交互,并继续与其他用户进行上述相同过程直到找到一个满足交互条件的用户,然后Alice与满足交互条件的用户进行交互。 3 隐私保护的数据分享协议
3.1 设计思想
由于整个过程是在能量有限的手机端进行操作,因此需要一个计算量小、既能计算数据类型是否匹配又能计算数据价值的方法,同时请求者在交互过程中不希望不满足条件的采集者知道自己对数据的需求,而采集者也不希望将自己的数据细节暴露给任何请求者,因此在交互过程中还需满足双方对数据的偏好隐私。本文采用计数布隆过滤器[17]实现用户对数据类型和数据价值的计算,计数布隆过滤器将标准的布隆过滤器[18]的每一位扩展为一个计数器,这个计数器恰恰可以用来衡量不同数据的价值,同时对计数布隆过滤器的构造过程进行改进,保护交互双方对数据的偏好隐私。
3.2 相关知识
3.2.1 计数布隆过滤器
计数布隆过滤器(CBF)由标准布隆过滤器扩展而来,它将标准布隆过滤器的每一位扩展为一个小的计数器(Counter),如图2所示。在插入元素时给对应的k(k为哈希函数的个数)个Counter的值分别加1,删除元素时 本文由WwW. 提供,第一 论 文 网专业写作教育教学论文和毕业论文以及发表论文服务,欢迎光临将对应的k个Counter的值分别减1。计数布隆过滤器通过多占用几倍存储空间为代价,在标准布隆过滤器的基础上增加了删除元素的功能[19],通过这个删除功能计算元素集合里每个元素的个数,而数据个数作为数据价值的衡量标准。
在计算数据价值时,对a分别利用k(此处为3)个Hash函数进行计算,找到计数布隆过滤器向量中对应数值最小的位,以该位的数值作为a的数据价值,在此处a的价值为8。然后将对应的k位分别减去8,同样的方法计算得到b的数据价值为5。
3.3 协议描述
假设F为一个很大的公开的Hash函数池。选择Hash函数H:{0,1}*→Z*。
1)Bob随机选择整数z,利用H(z)在Hash池F里面选择k个Hash函数,从得到的k个Hash函数里面选择l个(l 4)如果符合交互要求,则Alice认为Bob是满足交互,双方通过安全信道进行交互。
4 协议分析
4.1 偏好隐私保护
在匹配成功之前,数据采集者对用户需要的数据类型是完全未知的。数据采集者选择k-l个不在F里面的Hash函数,并将这k-l个Hash函数对用户保密,在数据采集者将H(z)和CBFB发送给用户之后,用户不能直接计算出数据采集者拥有的数据类型[18]。数据采集者的偏好隐私是保密的。
4.2 计数布隆过滤器位数的选择
参与式感知中,数据的采集者数目较多[2],为了防止数据过多,对数据的新鲜度有一定的要求,假设用户采集的数据有效时间是3d,用户每天采集的次数不超过20次,同一种类型的数据最大的数量为60,而26=64>60,因此,存储一种数据数量的位数选择为6位。由于不同的输入,Hash可能会得到相同的输出,因此还需考虑由于其他数据类型造成的Counter增加。
4.3 数据价值计算的准确性
本方案只有匹配成功才需要考虑数据的价值是否满足条件,因此对数据价值的计算是建立在已经判定匹配成功的基础 本文由WwW. 提供,第一 论 文 网专业写作教育教学论文和毕业论文以及发表论文服务,欢迎光临上。
在CBFB中加入一个元素时,k个哈希位置的Counter都要加1。也就是说,如果不考虑碰撞,出现次数为n的元素对应的k个Counter的值都为n。即使考虑到碰撞的因素,只要k个位置不全出现碰撞,k个Counter中的最小值仍是n。令元素x对应的k个Counter的最小值为mx,x的出现频率为fx,从上面的分析可知, fx≠mx的概率和标准布隆过滤器的误判概率相同,因为二者出现的充要条件都是k个哈希位置同时出现碰撞[20]。
在本方案中,每一次对某个元素Aiy进行k次Hash,判断每种数据对应的价值时,都是选择CBFB对应k位的最小值,而Alice计算得到的价值是和预先选定的价值阈值相比较,因此通过选择合适的系统参数和阈值,能使数据价值计算的准确性达到系统要求。
4.4 系统匹配误差阈值的选择
由4.2节可知,布隆过滤器的误判概率在k= ln 2×ω/n时最小为FPR=(1-1/2)k=2-k=2-ln 2×ω/n=0.6185ω/n。
匹配过程中的误差除了布隆过滤器的误判概率之外,主要是因为交互双方选择的Hash函数不完全相同,在此主要讨论在保证误判率最低的情况下Hash函数不同个数t=(k-l)对匹配精度的影响。
为了便于存储,设置ω=211=2048,n=100,则当ln 2×ω/n≈0.7×ω/n≈14,取k=14,此时布隆过滤器的误判率最低。
Hash函数不同个数(k-l)对匹配精度和数据价值的影响分别如图3和图4所示。
实验过程中的PBj={Aj1,Aj2,…,Ajn}是利用随机函数生成的[0,60]区间的随机数。NAi={Ai1,Ai2,…,Ain}是
利用随机函数生成的随机0,1。数据价值的权重是利用随机函数生成的[0,1)区间的随机数。
由图3和图4可知,当Hash函数不同个数t=(k-l)在增大时,实验的匹配个数和实际价值都在减少,但两者不呈现线性关系,由于不同的输入,经过相同的Hash函数计算可能会有相同的输出,而不同的输入、不同的Hash函数计算也可能会有相同的输出,因此当t=k时,匹配个数也不会减小到0。
根据图3和图4可知,当k一定时,通过选取合理的l和阈值能够使匹配精度和数据价值精度都保持在满足要求的范围内。如,k=14,取l=12,此时匹配个数为53(实际匹配个数为56),数据价值为520(实际数据价值为563),而此时文献中作者也说明了实验得到的匹配结果比实际的匹配数大。在实际的应用中,如果协议计算的结果为匹配的数目比需要的多则结论一定是匹配成功,当这种“多”是由于误差引起时,实际的误判率会变大,到交易阶段用户才能知道实际是否匹配,如果不匹配会消耗更多的资源。针对本文的结果,此时若选取允许CBFB为0的个数,即误差阈值τ1=5,数据最小价值τ2=500,则能保证数据分享成功且保护用户对数据的偏好隐私。实际应用中,在可接受的误差范围内,合理地选择Hash函数及阈值τ1和τ2,能使匹配精度和数据价值误差满足应用要求,使得用户通过单次分享就能获取满足需求的数据类型和数据量,同时保护用户对数据的偏好隐私。 4.5 性能分析
整个协议中的数据类型匹配和数据价值计算都是基于计数布隆过滤器的,没有采用复杂的加解密操作,计算量小。用户只需要计算nk个Hash函数操作和简单的整数加减法,加减法对协议的计算复杂度影响可忽略,因此整个协议的计算复杂度为O(kn)。与第2章中相关研究相比,本文的计算复杂度较小。
文献[10]涉及到服务器的交互,与本文协议没有可比性,文献[11]只能用于特定环境,因此也不予以比较。对比如表1所示。
表1中,i, j分别为交互双方拥有的属性数目,C是利用fe(x)=xe mod p加解密的开销,D为文献[8]涉及的DiffieHellman计算开销,E为文献[9]涉及到的加解密的计算开销。文献[7-11]都只实现了计算类型匹配度;没有实现对数据价值的计算,并且计算开销都比本文的高。文献[12]采用的是布隆过滤器因此与本文开销一样;但是该方案只能计算数据类型匹配度,不能计算数据价值,同时本协议保护了交易双方的数据隐私。文献[13]也是对布隆过滤器进行改造,保护了交易双方的数据隐私;但是该方案除了构造布隆过滤器的开销,还需要对两个布隆过滤器进行遍历,当布隆过滤器位数增多时,该开销会显著增加。
5 结语
本文由WwW. 提供,第一 论 文 网专业写作教育教学论文和毕业论文以及发表论文服务,欢迎光临 在参与式感知的用户之间的交互过程中,为了实现既能保护用户隐私,又能使用户仅通过单次交互便能获得全部所需数据类型且获得的数据满足价值需求,本文将用户对数据价值的差异化需求考虑进来,采用计数布隆过滤器,使用户不仅能计算数据类型的匹配度,也能判断差异化数据价值是否符合需求,同时也保护用户对数据的偏好隐私。分析表明协议既能够隐私保护的计算数据类型的匹配度,也能对数据价值进行计算,为用户提供差异化服务。接下来将对布隆过滤器的构造方法进行进一步的研究与改进,将数据类型匹配和价值计算误差进一步减小。
参考文献:
[1]BURKE J A, ESTRIN D, HANSEN M, et al. Participatory sensing [C]// WSW06: Proceedings of the 1st Workshop on WorldSensorWeb. New York: ACM, 2006:117-134.
[2]MUN M, REDDY S, SHILTON K, et al. PEIR, the personal environmental impact report, as a platform for participatory sensing systems research [C]// Proceedings of the 7th International Conference on Mobile Systems, Applications, and Services. New York: ACM, 2009: 55-68.
// CCIS 2012: Proceedings of the 2012 IEEE 2nd International Conference on Cloud Computing and Intelligent Systems. Piscataway: IEEE, 2012: 1017-1021.
// Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems. New York: ACM, 2010: 99-112.
[5]LEE J S, HOH B. Sell your experiences: a market mechanism based incentive for participatory sensing [C]// Pe 本文由WwW. 提供,第一 论 文 网专业写作教育教学论文和毕业论文以及发表论文服务,欢迎光临m 2010: Proceedings of the 2010 IEEE International Conference on Pervasive Computing and Communications. Piscataway: IEEE, 2010: 60-68.
.北京:中国标准出版社,2006:1-8.)
// Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data. New York: ACM, 2003: 86-97.
// PST 2011: Proceedings of the 2011 Ninth Annual International Conference on Privacy, Security and Trust. Piscataway: IEEE, 2011: 252-259.