一种基于保序加密的好友近邻查询方法与流程

文档序号:14410017阅读:264来源:国知局
一种基于保序加密的好友近邻查询方法与流程

本发明属于网络数据查询技术领域,特别是涉及一种基于保序加密的好友近邻查询方法。



背景技术:

好友近邻查询是近年来社交网络基于位置服务中一个十分重要的热点服务。该应用将用户现实生活中所处的地理位置分享给社交网络中的好友,用户通过查询获得在其附近的社交网络中关系较近的其他用户信息,并与这些用户联系和互动,利用网络来更好地组织现实生活中的活动。好友近邻查询中,移动用户既可能是服务查询者,也可能是位置提供者,通常情况下,近邻检测和判定可以由服务提供方或者查询者自己完成。一种不考虑用户位置隐私的好友近邻查询实现的基本思想如下:当查询用户需要近邻服务时,用户将自己的确切位置和请求提交给服务器,服务器判断其好友是否位于某给定区域(称之为邻域),或者判断该查询用户与好友之间的距离是否小于某给定阈值,从而检测他们是否近邻。好友近邻查询服务方便了社交好友在现实中的联系,然而用户在享受服务时需要将自己的确切位置共享给sp或者好友,位置隐私信息受到了严重威胁。

近年来,研究者们提出了一些私密的近邻查询方法来保护用户位置隐私,其中,基于空间泛化和基于同态加密技术是常用的两类隐私保护方法。基于空间泛化方法主要是将平面进行网格划分,使用泛化格代替用户精确位置来保护用户位置隐私。siksnys等人基于网格和加密的哈希方法提出friendlocator和vl(vicinitylocator)算法,采用不同级别(level)的网格划分,用户请求查询时将其所在单元格以及与邻域相交单元格的哈希值发送给服务器,服务器从低到高逐级判断用户好友单元格哈希值是否包含在查询用户提交的集合内,从而给出是否邻近结果。服务器无法从收集到的信息中获取用户的位置信息,保护了用户隐私。

同态加密技术可以使得用户及好友双方在不分享具体位置坐标情况下计算距离。如zhongg等基于paillier同态加密技术提出了三种保护隐私近邻查询的协议:louis,lester和pierre。louis协议允许用户alice查询好友bob是否在某邻域范围内;lester协议中,当alice和bob的距离在某设定阈值范围内,alice可以计算其与bob的精确距离值;pierre协议将用户位置转换为加密的网格,当alice和bob位于相同的网格编号内则他们是近邻的。xiang-yangli基于同态加密技术以及基于属性加密(attribute-basedencryption)技术提出了plqp(privacy-preservinglocationqueryservice)协议,该协议提供了一种细粒度的好友查询隐私保护方法,实现不同层次的查询服务。

基于空间泛化方法需要用户计算每个级别的网格id及哈希值,且服务器也需要从低到高逐级判断用户好友单元格哈希值是否包含在查询用户提交的集合内,从而给出是否邻近结果。因此用户需要与服务器多次交互才能获取最终结果,在网格级别多或者邻域比较大的情况下,会消耗比较大的计算量和通信量。

基于同态加密方法能提供比较高的计算精确度和全面的隐私保护,但同时也存在计算开销和通信开销大的问题,这类方法的实用性有待提高。

如何即保证用户可以正确判断好友是否在邻近区域内,而又不向其他第三方暴露与位置相关的隐私信息,为用户提供私密的查询服务是目前现有技术急需解决的技术问题,而目前还没有较好的办法,即能满足好友邻近查询,又能很好的保护个人隐私,防止泄露的。



技术实现要素:

本发明提供了一种基于保序加密的好友近邻查询方法,解决了现有技术中的好友近邻查询方法容易造成隐私泄露,用户端计算和网络传输开销大的技术问题。

具体技术方案是,为便于描述本申请中将服务提供方称为sp,查询用户用alice表示,被查询好友用bob表示。

所述基于保序加密的好友近邻查询方法包括以下步骤,(1)用户alice发起近邻好友位置查询请求,将自己的位置坐标信息通过保序加密后发送给sp,并将自己的加密参数和密钥分享给好友bob;(2)bob接收到alice的加密参数和密钥后,如果不愿意接受alice的近邻好友位置查询请求,则可拒绝请求;如果接受则,接下来bob将自己的加密位置信息提交给sp;(3)sp根据所存储的alice好友列表进行近邻判定,直接对密文进行比较操作,判断好友用户是否在alice设置的邻近范围内;(4)alice获取邻近好友信息。

也即是alice需要发起一个好友近邻查询时,首先确认自己在当前地图上的位置信息,以及自己的邻域范围;然后将自己的位置信息及邻域范围通过保存加密后,将加密后的信息发送给sp,同时将自己的加密参数和秘钥通过安全信道分享给bob;接下来,如果bob同意alice的好友近邻查询请求则进行下述操作,否则直接拒绝请求;如果bob同意了alice的好友近邻查询请求,则bob会获取当前自己的位置信息,然后通过保序加密后发送给sp;sp根据所存储的alice好友列表进行近邻判定,直接对密文进行比较操作,判断好友用户是否在alice设置的邻近范围内;如果判定为否则返回false;如果判定为是,则根据alice的好友列表,将位于邻域范围内的所有好友信息反馈给alice。

进一步的,所述步骤(3)中sp对所存储的alice好友列表中的用户位置信息与alice位置信息进行比较判定运算方法是,移动用户a利用gps等定位设备获取当前位置信息loca,我们将用户位置表示为平面中的一点,用坐标(xa,ya)表示具体值;用户a根据自己需要在其周围选取任意形状的区域表示为邻域vra,我们使用最小外接矩形的最大横坐标、最小横坐标、最大纵坐标、最小纵坐标,即矩形左下角和右上角坐标vra:{(xvrmin,yvrmin),(xvrmax,yvrmax)}表示该邻域。

近邻判定:假定二维平面中用户点集合为m,u和v为m中任意两点,u和v满足关系集合f则满足定义u和v为好友关系用户u∈m,其好友v满足:

v∈m|(u,v)∈f,xv∈(xrmin,xrmax),yv∈(yrmin,yrmax)(1)

对于所述的好友近邻查询方法中的alice和bob,如果满足enckxvrmin'≤enckxb'<enckxvrmax'且enckyvrmin'≤enckyb'<enckyvrmax'则返回判定结果true,否则返回false。

进一步的,所述保序加密方法是一种对于数值型数据保持顺序的加密方案,它使得数值的比较操作可以直接在加密数据上进行,而不用解密密文,这样一些关系运算和范围查询以及某些分组排序查询等等操作都可以直接应用于加密数据。

具体保序加密方法包括建模、平铺和镜像三步,

定义1保序函数,给定集合|a|<|b|,对于任意i,j∈a,如果f(i)>f(j)当且仅当i>j,则函数f:a→b是保序的。

定义2保序加密,对于确定性加密方案和明文空间以及密文空间如果e(·)是一个从的保序函数,则确定性加密是保序的。

(1)建模,将输入和目标分布制作成分段的线性样条模型。将相近或者相同的数字按照数值大小划分进不同的存储桶中,使用最小描述长度决定存储桶的总数,并根据代价开销调整区间,允许值宽在桶间存在差异;

设明文空间p={p1,p2...pn},n∈(1,+∞),pi(i≤n)表示原始空间的数值数据,将p划分为m个存储桶表示为p={b1,b2...bm},m≤n;

bi={pl,pl+1,...ph},l≤h,且对于任意两个存储桶,如果i≠j则

(2)平铺,使用特定的映射函数将桶内的明文数据p转换为f,使得f中的数值均匀分布,且数值大小顺序不变,这一过程实际上是桶内加密函数m(p)的求解过程;

假设明文在[0,ph)区间范围上的密度函数为f(p)=pq+r,则对于任意z>0,映射函数m(p)呈均匀分布:

为二次项系数,则m(p)=z(sp2+p)

不同范围参数z被用于不同的存储桶,z的取值应满足两个条件:两个不同明文应该对应两个不同的密文;密文空间应该是明文空间大小的正整数倍,数学表示为:

wf=z(sw2+w)=tn(4)

用[pmin,pmax)和[fmin,fmax)分别表示明文空间p和平铺映射函数f的域,

wi是明文存储桶bi的宽度,是相应平铺桶的宽度,

平铺一个明文数据p,我们首先根据桶边界信息确定p落入哪个存储桶bi中,然后根据公式(6)将明文p映射至平面值f:

(3)镜像通过平铺和镜像使平面数据f被加密成密文数据c,c中值的分布由目标分布决定,

服从目标分布的模型表示为对于每个桶宽为wt的桶bt,我们仍然求得映射函数mt,以及相关参数st和zt

如果我们用表示相应平铺空间桶bt表示桶宽。则桶中一个平面值f可以通过式7映射成密码值c,pl≤p<ph,为密文桶的宽度,

其中

保序加密建模、平铺和镜像的过程表示为:

key={k1,k2...km},ki={wi,si,zi},wi为第i个存储桶的宽度,si为二次项系数,zi为范围参数。

进一步的,所述基于保序加密的好友近邻查询方法对bob的位置信息设置有距离安全阀值,也即规定查询者设定的范围或者阈值不能小于某个约定的门限值,协议保证近邻用户位置暴露在一个安全范围内,从而可以有效的保证用户的安全。

有益效果,本发明通过利用保序加密方法对好友近邻查询服务中的用户位置信息进行加密保护,服务器在不知道明文的情况下对加密的坐标值进行比较,给出邻域判断结果从而使用户信息更加安全,防止泄密,进一步的大幅度提高系统运算效率和性能,降低用户端开销;通过只有在alice发起邻近好友查询时,alice才会获取自己的位置信息,而bob也只有在接收到alice发送的加密参数和秘钥后在同意的情况下才会进行自己位置信息的获取,从而将信息发送给sp,从而可以显著减少sp对数据的处理量和存储量;通过所述基于保序加密的好友近邻查询方法对bob的位置信息设置有距离安全阀值,从而可以进一步保护用户的隐私信息。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需的附图作简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,这些附图所直接得到的技术方案也应属于本发明的保护范围。

图1是本发明所述的邻近查询服务系统的结构示意图。

图2是本发明的方法流程图。

图3是本发明的好友数量设置下的计算开销比较结果。

图4是本发明的好友数量设置下的通信开销比较结果。

图5是本发明的邻域面积设置下的计算开销结果比较结果。

图6是本本发明的邻域面积设置下的通信开销比较结果。

图7是louis协议和paff协议计算开销对比结果。

图8是louis协议和paff协议通信开销对比结果。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面对本发明的具体实施方式做详细说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施方式的限制。

为便于描述本申请中将服务提供方称为sp,查询用户用alice表示,被查询好友用bob表示。

实施例1,如图1、图2所示,所述基于保序加密的好友近邻查询方法包括以下步骤,alice需要发起一个好友近邻查询时,首先确认自己在当前地图上的位置信息,以及自己的邻域范围;然后将自己的位置信息及邻域范围通过保存加密后,将加密后的信息发送给sp,同时将自己的加密参数和秘钥通过安全信道分享给bob;接下来,如果bob同意alice的好友近邻查询请求则进行下述操作,否则直接拒绝请求;如果bob同意了alice的好友近邻查询请求,则bob会获取当前自己的位置信息,然后通过保序加密后发送给sp;sp根据所存储的alice好友列表进行近邻判定,直接对密文进行比较操作,判断好友用户是否在alice设置的邻近范围内;如果判定为否则返回false;如果判定为是,则sp根据alice的好友列表,将位于邻域范围内的所有好友信息反馈给alice。本发明通过利用保序加密方法对好友近邻查询服务中的用户位置信息进行加密保护,服务器在不知道明文的情况下对加密的坐标值进行比较,给出邻域判断结果从而使用户信息更加安全,防止泄密,进一步的大幅度提高系统运算效率和性能,降低用户端开销。

具体步骤如下:

step1:当alice需要发起一个好友近邻查询时,首先需确定自己当前在地图上的精确位置loca:(xa,ya)以及邻域vru范围,并使用最小外接矩形的最大和最小坐标表示该邻域vra:{(xvrmin,yvrmin),(xvrmax,yvrmax)}。

step2:为了确保alice及其好友位置坐标都在一个空间范围,alice需要设定一个参考点(x0,y0)对坐标进行偏移,同时设定一个比例系数α对坐标值进行比例扩大,使得移位后的坐标为整数值,这样可以确保保序加密的输入数值是整数。处理后的位置及邻域坐标表示为loca':(xa',ya')以及vra':{(xvrmin',yvrmin'),(xvrmax',yvrmax')}。

step3:使用算法(1)加密邻域范围enck(vra'),k为加密密钥key。向好友bob发送消息proxmsg,将偏移参数、比例系数及密钥key通过安全信道分享给好友bob。

step4:向sp发出好友近邻查询请求proxquery,将加密后的邻域范围enck(vra')提交给sp。

bob如果愿意接受alice的邻域请求则执行以下操作,否则,直接回复alice拒绝请求。

step5:bob获取当前位置locb:(xb,yb)。

step6:根据alice发送的参考点和比例系数,将位置转换为locb':(xb',yb')。

step7:用alice共享的密钥及算法(1)v∈m|(u,v)∈f,xv∈(xrmin,xrmax),yv∈(yrmin,yrmax)加密位置enck(locb'),发送至sp。

step8:sp收到alice及bob的消息后,进行好友邻域判定:如果enckxvrmin'≤enckxb'<enckxvrmax'且enckyvrmin'≤enckyb'<enckyvrmax'则返回是,否则返回false。

step9:根据alice的好友列表,将位于邻域内的所有好友返回给alice。

实施例2所述步骤(3)中sp对所存储的alice好友列表中的用户位置信息与alice位置信息进行比较判定运算方法是,移动用户a利用gps等定位设备获取当前位置信息loca,我们将用户位置表示为平面中的一点,用坐标(xa,ya)表示具体值;用户a根据自己需要在其周围选取任意形状的区域表示为邻域vra,我们使用最小外接矩形的最大横坐标、最小横坐标、最大纵坐标、最小纵坐标,即矩形左下角和右上角坐标vra:{(xvrmin,yvrmin),(xvrmax,yvrmax)}表示该邻域。

近邻判定:假定二维平面中用户点集合为m,u和v为m中任意两点,u和v满足关系集合f则满足定义u和v为好友关系用户u∈m,其好友v满足:

v∈m|(u,v)∈f,xv∈(xrmin,xrmax),yv∈(yrmin,yrmax)(1)

对于所述的好友近邻查询方法中的alice和bob,如果满足enckxvrmin'≤enckxb'<enckxvrmax'且enckyvrmin'≤enckyb'<enckyvrmax'则返回判定结果true,否则返回false。

实施例3,保序加密方法是一种对于数值型数据保持顺序的加密方案,它使得数值的比较操作可以直接在加密数据上进行,而不用解密密文,这样,一些关系运算和范围查询以及某些分组排序查询等等操作都可以直接应用于加密数据。

保序加密方法包括建模、平铺和镜像三步,

定义1保序函数,给定集合|a|<|b|,对于任意i,j∈a,如果f(i)>f(j)当且仅当i>j,则函数f:a→b是保序的。

定义2保序加密,对于确定性加密方案和明文空间以及密文空间如果e(·)是一个从的保序函数,则确定性加密是保序的。

(1)建模,将输入和目标分布制作成分段的线性样条模型。将相近或者相同的数字按照数值大小划分进不同的存储桶中,使用最小描述长度决定存储桶的总数,并根据代价开销调整区间,允许值宽在桶间存在差异;

设明文空间p={p1,p2...pn},n∈(1,+∞),pi(i≤n)表示原始空间的数值数据,将p划分为m个存储桶表示为p={b1,b2...bm},m≤n;

bi={pl,pl+1,...ph},l≤h,且对于任意两个存储桶,如果i≠j则

(2)平铺,使用特定的映射函数将桶内的明文数据p转换为f,使得f中的数值均匀分布,且数值大小顺序不变,这一过程实际上是桶内加密函数m(p)的求解过程;

假设明文在[0,ph)区间范围上的密度函数为f(p)=pq+r,则对于任意z>0,映射函数m(p)呈均匀分布:

为二次项系数,则m(p)=z(sp2+p)

不同范围参数z被用于不同的存储桶,z的取值应满足两个条件:两个不同明文应该对应两个不同的密文;密文空间应该是明文空间大小的正整数倍,数学表示为:

wf=z(sw2+w)=tn(4)

用[pmin,pmax)和[fmin,fmax)分别表示明文空间p和平铺映射函数f的域,

wi是明文存储桶bi的宽度,是相应平铺桶的宽度,

平铺一个明文数据p,我们首先根据桶边界信息确定p落入哪个存储桶bi中,然后根据公式(6)将明文p映射至平面值f:

(3)镜像通过平铺和镜像使平面数据f被加密成密文数据c,c中值的分布由目标分布决定,

服从目标分布的模型表示为对于每个桶宽为wt的桶bt,我们仍然求得映射函数mt,以及相关参数st和zt

如果我们用表示相应平铺空间桶bt表示桶宽。则桶中一个平面值f可以通过式(7)映射成密码值c,pl≤p<ph,为密文桶的宽度,

其中

保序加密建模、平铺和镜像的过程表示为:

key={k1,k2...km},ki={wi,si,zi},wi为第i个存储桶的宽度,si为二次项系数,zi为范围参数。

通过保序加密算法的设计,从而更好的完成对好友信息进行加密,安全性更高。

实施例4所述基于保序加密的好友近邻查询方法对bob的位置信息设置有距离安全阀值,如50米,或者100米等,也即规定查询者设定的范围或者阈值不能小于某个约定的门限值,协议保证近邻用户位置暴露在一个安全范围内,从而可以有效的保证用户的安全。本发明通过利用保序加密方法对好友近邻查询服务中的用户位置信息进行加密保护,服务器在不知道明文的情况下对加密的坐标值进行比较,给出邻域判断结果从而使用户信息更加安全,防止泄密,进一步的大幅度提高系统运算效率和性能,降低用户端开销;通过只有在alice发起邻近好友查询时,alice才会获取自己的位置信息,而bob也只有在接收到alice发送的加密参数和秘钥后在同意的情况下才会进行自己位置信息的获取,从而将信息发送给sp,从而可以显著减少sp对数据的处理量和存储量;通过所述基于保序加密的好友近邻查询方法对bob的位置信息设置有距离安全阀值,从而可以进一步保护用户的隐私信息。

基于保序加密的好友近邻查询方法安全分析:

保序加密方法中,加密后的密文数据集分布与目标函数相关,与明文数据分布无关,攻击者无法利用密文分布推断出明文,在对抗统计型攻击的方案中具有代表性。

定义1对于任意数x∈di,di表示为一个区间,p(x∈di)可以用x在区间的期望值表示,即p(x∈di)=|di|/l(di),l(di)为di的宽度,|di|为di中包含元素个数。

假设敌手发起针对算法e(·)发起统计分析攻击:明文数据在各个区间的分布概率都不同的情况下,设p(x∈d1)>p(x∈d2)>...>p(x∈dm),经过多次查询和收集后,得到密文c在密文空间各个区间ri分布概率p(c∈r1),p(c∈r2),...,p(c∈rm),经过统计分析,利用明文数据分布做出猜测p(c∈r1)>p(c∈r2)>...>p(c∈rm)。

理论1,保序加密算法在统计分析攻击下是安全的。

证明:保序加密算法在建模阶段通过将输入和目标分布制作成分段的线性样条模型,隐藏了明文数据的分布,改变了原始数据的分布概率。若没有空间扩展的情况下,密文分布与明文分布保持一致,有p(x∈d1)>p(x∈d2)>...>p(x∈dm),则有p(c∈r1)>p(c∈r2)>...>p(c∈rm)然而保序加密算法在平铺阶段,使用特定的映射函数将各个区间的明文数据x转换成f,使用比例参数调整值域范围,并保证数值大小顺序不变,且数值均匀分布。设明文在区间范围di上的密度函数为f(x)=xq+r,则对于任意任意z>0,映射函数m(x)呈均匀分布,在平铺值域f,的优势概率设定为:

(i,j∈[1,m],i≠j),ε足够小,即p(f∈f1)≈p(f∈f2)≈...≈p(f∈fm)。在镜像过程中,opse机制将平面数据f加密成密文数据c,且密文数据分布服从目标分布模型。在opse中目标函数设置成与输入分布完全不同的函数模型,因此,攻击者无法利用明文数据分布p(x∈d1)>p(x∈d2)>...>p(x∈dm)做出猜测p(c∈r1)>p(c∈r2)>...>p(c∈rm)。保序加密算法在统计分析攻击下是安全的。

下面我们基于保序加密算法的安全性,分析paff协议的隐私保护性能。

用户在进行好友邻域查询时即不信任sp,也未必愿意向好友透露自己的位置信息。我们的方法旨在尽可能保证移动用户不暴露自身位置信息的同时获得好友近邻查询服务。我们认为基于保序加密的近邻检测方法满足了设定的安全目标,主要表现在:

(1)查询用户alice不能获取好友bob有关邻域查询结果(trueorfalse)以外的其他任何信息。

alice有权获得好友近邻查询结果,即好友bob是否位于其指定邻域vra内。alice可以从sp处获取位于邻域内的好友列表。但除此以外,alice无法获取其他任何信息。

(2)好友bob不能获取有关alice的任何信息(比如alice的实时位置、邻域范围或者alice的查询结果等)。

根据协议内容可知,alice发送给bob的消息中包含有参考点(x0,y0)、比例系数α以及加密密钥,bob无法从中获知与alice位置相关的信息,比如alice的精确位置和邻域范围,同时bob也无法获得本次近邻检测的结果,即他是否位于alice的邻域范围内。

(3)sp无法获取任何用户的位置信息(比如alice的实时位置、邻域范围,bob的位置信息等)。

alice提交给sp的信息仅仅包含加密后的邻域范围,根据保序加密的安全性,sp在没有解密密钥的前提下无法推断出原文内容,且这个邻域是alice经过偏移操作后的坐标值,sp或其他攻击者在没有计算参数时无法从中获取与alice真实位置相关的任何信息。类似地,bob上传给sp的信息是其偏移和加密后的位置坐标值,sp也无法从中推断出bob的确切位置。

因此,paff协议对于sp和好友均能提供完全的隐私保护。即使攻击者通过各种方法截取了通信网络中传递的信息,也无法获取alice或者bob的确切位置。当然,这种安全性是在用户alice和bob不与sp合谋的前提下分析的。我们考虑最坏的两种安全威胁情况:当bob与sp合谋时,bob或者sp只能从alice提交的信息中推断出alice的邻域范围,并不能获取alice的精确位置。alice设定邻域范围时可以综合考虑这一情况,将阈值设定在安全范围,即使暴露这一范围也不用担心位置隐私。但如果是alice与sp合谋,则alice或者sp可以从bob提交的信息中推断出他的精确位置,因此bob作为位置提供者可以综合考虑这一隐私暴露的风险,选择提供或者拒绝alice的好友近邻查询请求。

有益效果证明:我们通过一系列的测试程序对本方案进行模拟分析,验证其有效性。实验运行环境为intelcore-i52.5-ghzcpu,4gb内存以及windows7操作系统,使用eclipse集成开发环境及jdk-1.7编写及测试代码。实验假设查询用户alice的位置是面积为1024*1024km2空间范围内的一个随机点,alice及其好友的位置点服从均匀分布,每个查询用户可以指定其周围包含位置点的任意区域为邻域(我们设置邻域面积最小值为1km2),查询用户的好友列表里默认有100个好友。每组实验都经过20次测试取平均值得到实验数据。近年来私密的近邻查询方法中,基于同态加密和基于空间泛化方法是两类常用的隐私保护方法,因此我们将方案,简称paff(privacyawarefriendfinder,paff)与这两类方法的典型代表louis协议[1]以及vl算法[2]进行比较。

(1)好友数量

图3和图4显示了用户发布邻域查询时,不同好友数量n的设置下,paff方案中客户端和服务器端的计算开销和通信开销以及与vl算法的对比。我们设置邻域面积s设为2km2,n取值20-1000,vl算法中默认设置级别数为3。

图3中显示,paff方法中用户端运算时间维持在大约11毫秒左右,随着n值变大,sp的计算开销显著增加,但其增幅远远小于vl算法。这是因为vl算法需要逐级计算用户所在网格编码,服务器也需要在每级网格中进行好友是否近邻的检测,且网格等级越高,用户数越多,计算量就越大,因此paff方案计算时间的消耗要优于vl算法。

paff方案中用户alice主要向好友共享加密密钥、参考点等信息。加密密钥大小取决于保序加密操作中明文空间存储桶的个数,总数据量大约是桶数的3倍。根据分析和实验,即使对于包含上百万条数据的数据集,需要的存储桶数量也不会超过200个。一般情况下加密过程中需要的存储桶数目小于10。我们的方案中用户在二维空间的坐标值近似于均匀分布,实验中存储桶数量小于10,因此一般情况下加密密钥不超过1kbyte。sp接收来自请求用户alice和好友bob的加密位置信息,其通信量随着好友数量n的增大呈线性增长,但paff方案通信量的消耗较vl算法更小一些,因为vl算法中用户及好友需要提交每一级网格中的加密信息,产生的通信量更大。

(2)邻域面积

好友近邻查询服务中,邻域的大小和位置由请求用户alice确定。paff方案中使用包含用户指定区域的最小外接矩形的最大和最小坐标表示邻域vr。假设alice设置的邻域最小面积为1km2,一般情况下协议用户设置的邻域面积应该要大于该阈值,即使好友bob与sp合谋推断出alice邻域的真实位置,alice默认其他人知道自己在这一范围内的某个位置是安全的。

从图5和图6中可以看出,paff方案中alice和sp的计算开销和通信开销基本维持不变,可以认为该方案性能不受用户指定邻域面积大小的影响,但vl算法客户端和服务器端的处理时间和通信交换的数据量都随着邻域面积增大而快速增加。这主要是由于邻域面积越大,则用户划分的网格数越多,需要向服务器提交的数据也就越多,因此不管是客户还是服务器端的计算量和通信量都显著增加。

(3)与louis协议性能比较

louis协议利用paillier同态加密方法使得服务器在不知道用户精确位置的情况下,帮助查询用户alice判断好友bob是否在近邻范围内。图7和图8是基于同态加密的louis协议和基于保序加密的paff协议执行一次近邻判定时各实体计算开销和通信开销的对比,实验中好友数设为100,邻域面积为2km2,paillier加密密钥长度为1024位。

从图7、图8中可以看出,paff协议中,alice和bob使用保序加密对自己的位置信息进行处理时仅需要11ms和6ms即可完成操作,计算开销远远小于paillier同态加密方法,而sp对密文在其值域内进行数值大小的比较,计算开销也非常小。图8中显示的通信开销也表明,paff协议中各个实体的通信成本均小于基于louis协议中的通信成本。这是由于保序加密算法较之paillier同态加密方法比较简单,用户仅需对坐标信息进行加密保护,极大地简化了加密数据量。由于服务器可以直接对密文进行数值大小的比较,计算量小,用户与服务器之间的信息交互量也比较小。因此,同样都是在服务器不知道用户具体位置信息的情况下对用户邻域信息判定,paff协议的通信开销要远小于louis协议。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1