一种保护位置隐私的近邻检测方法与流程

文档序号:12278405阅读:475来源:国知局
一种保护位置隐私的近邻检测方法与流程
本发明涉及一种保护位置隐私的近邻检测方法,该方法基于Geohash编码,在保护用户位置隐私的前提下,为用户找出附近的邻居。
背景技术
:随着移动互联网的快速发展以及智能便携终端的普及,传统互联网服务逐步向移动互联网方向转变。另一方面,Facebook等一大批传统社交网络服务的兴起,也让越来越多的人认识到了社交网络的重要性,基于位置的社交网络服务由此应运而生。LBSNS是指以位置信息为基础,通过移动设备建立起的以社会交往和内容分享为目的的移动服务,如微信、Twitter和新浪微博。这些服务不仅能够方便用户随时发现附近的好友,促进好友之间的互动,而且也允许用户在分享照片、视频的同时标记事件发生的地点,使得其他用户能够更加直观地了解用户分享的内容。现如今,无线定位技术的日趋成熟,使得智能手机可以通过多种途径获取到当前使用者的位置信息。而对物理位置信息的获取和使用则是LBSNS应用最为显著和重要的特点。因此,随着LBSNS的发展,关于用户位置隐私信息的使用和保护的争论是最为人关注的关键问题之一。首先,LBSNS为用户提供服务时必不可少地会釆集用户的位置信息,而不仅用户的位置信息本身包含大量个人隐私信息,通过位置信息还可以推测出用户的其它信息,如宗教信仰、兴趣爱好、家庭住址、健康状况等。若位置信息被攻击者恶意利用,严重者将造成用户财产损失,甚至人身伤害。Geohash是一种地理编码,可以把二维的经纬度坐标编码成一维的字符串,作为全球唯一的标识。Geohash的思想是先将经纬度范围(纬度范围-90~90,经度范围-180~180)视为一个二维平面矩形,然后分别将经度和纬度进行类二分法划分,每次二分称为一次划分,把每5次划分作为一个层次。当层数为奇数时,每次划分的结果与第1层类似;当层数为偶数时,每次划分的结果与第2层类似。一直循环划分到任意精度。用0或1表示每次划分产生的区域,具体如图1所示:当沿经度方向进行二分时,左侧区域的编码为0,右侧区域的编码为1;当沿纬度方向进行二分时,下面区域的编码为0,上面区域的编码为1。之后,将每5次划分的二进制编码转换成32进制编码,用数字0-9和除a、i、l、o外的英文小写字母表示,即为Geohash某一层网格的编码。Geohash编码字符串表示的并不是一个点,而是一个矩形区域。对于Geohash编码字符串所能表示的精度则需要根据字符串的长度进行判断。Geohash编码位数越少,表示的范围越大、精度越低;相反,编码位数越多,精度则越高,如表1所示。表1Geohash编码精度geohash字符串长度(Base32)经度比特位纬度比特位矩形宽度矩形高度误差(km)1235,009.4km4,992.6km±25002551,252.3km624.1km±630378156.5km156km±784101039.1km19.5km±20512134.9km4.9km±2.4615151.2km609.4m±0.6171718152.9m152.4m±0.0768202038.2m19m±0.019922234.8m4.8m±0.0002当Geohash编码字符串长度为8时,精度在19m左右,而当编码长度为9时,精度达2米左右。由此,在精度足够高的情况下,共享前缀长度越长,两个地方的位置越接近。鉴于此,常将Geohash编码用于附近地点查询,即根据用户查询的点的空间位置和空间查询范围的大小,得到所在的Geohash层级,计算查询点在该层级的Geohash编码,利用该编码在数据库中查询与之具有相同前缀的点数据。技术实现要素:本发明的目的在于提供一种保护位置隐私的近邻检测方法,该方法解决了传统近邻检测方法会泄露用户的位置信息,严重情况下将会危害到用户隐私的问题。为实现上述目的,本发明的技术方案是:一种保护位置隐私的近邻检测方法,包括如下步骤,S1:用户更新位置时,先采用Geohash编码将所在位置编码成前缀码和后缀码两部分,而后对后缀码进行加密形成后缀密文,最后将前缀码和后缀密文提交给社交网络服务器;S2:当用户请求近邻检测服务时,社交网络服务器根据用户位置的前缀码以及其指定的邻居查询区域进行邻居初选,而后将初选的邻居集合以及对应的后缀密文转发给第三方服务器;S3:第三方服务器解密初选的邻居集合的后缀密文得到邻居集合的后缀码,而后根据相对位置筛选真正的邻居集合,最后,通过社交网络服务器将查询结果返回给用户。在本发明一实施例中,所述步骤S1中,采用Geohash编码将所在位置编码成前缀码和后缀码两部分采用隐私处理方法,具体为:首先采用Base32的Geohash编码用户的所在位置,接着根据隐私需求定义一个匿名区域的最小面积Amin,然后根据Amin确定位置编码的后缀长度,从而将位置编码分成前缀码和后缀码两部分,并将后缀码通过用户与第三方服务器共享的秘钥加密。在本发明一实施例中,所述步骤S2中,邻居查询区域以用户匿名后的位置为中心,向外扩大搜索范围R得到,且该区域也采用Geohash编码进行编码,得到邻居查询区域前缀码。在本发明一实施例中,所述步骤S2中,邻居初选具体实现如下:1)、找出位置前缀码包含邻居查询区域前缀码的用户,并将该用户加入初选邻居集合中;2)、将邻居查询区域前缀码位数、初选的邻居集合与其对应的位置后缀密文一起发送给第三方服务器。在本发明一实施例中,所述步骤S3中,第三方服务器筛选真正的邻居集合,具体实现如下:1)、根据邻居查询区域前缀码位数将候选用户限定在一个矩形区域范围内;2)、接着根据每个用户的位置后缀码将其映射到矩形区域的具体位置中,然后算出他们与请求用户之间的距离,若该距离在请求用户查询范围内的即为邻居,反之则不是。相较于现有技术,本发明具有以下有益效果:本发明提出的近邻检测方法,使用Geohash编码将用户的位置信息分成前后缀两部分,分别由社交网络服务器和第三方服务器处理,使得两者都无法获得用户完整的位置信息,从而有效解决传统近邻检测方法中存在的位置隐私暴露问题。该方法在社交网络中具有很大的实用前景。附图说明图1为基于Geohash的隐私保护近邻检测方法系统框架图。图2是用户最小位置区域构造原理图。图3是邻居查询区域构造原理图。图4是基于Geohash的查询区域构造原理图。图5是用户位置前缀与查询区域交集原理图。图6是单个查询区域邻居距离计算原理图。图7是多个查询区域邻居距离计算原理图。具体实施方式下面结合附图,对本发明的技术方案进行具体说明。如图1-7所示,本发明的一种保护位置隐私的近邻检测方法,包括如下步骤,S1:用户更新位置时,先采用Geohash编码将所在位置编码成前缀码和后缀码两部分,而后对后缀码进行加密形成后缀密文,最后将前缀码和后缀密文提交给社交网络服务器;S2:当用户请求近邻检测服务时,社交网络服务器根据用户位置的前缀码以及其指定的邻居查询区域进行邻居初选,而后将初选的邻居集合以及对应的后缀密文转发给第三方服务器;S3:第三方服务器解密初选的邻居集合的后缀密文得到邻居集合的后缀码,而后根据相对位置筛选真正的邻居集合,最后,通过社交网络服务器将查询结果返回给用户。进一步的,所述步骤S1中,采用Geohash编码(9位)将所在位置编码成前缀码和后缀码两部分采用隐私处理方法,具体为:首先采用Base32的Geohash编码用户的所在位置,接着根据隐私需求定义一个匿名区域的最小面积Amin,然后根据Amin(查表1)确定位置编码的后缀长度,从而将位置编码分成前缀码和后缀码两部分,并将后缀码通过用户与第三方服务器共享的秘钥加密。进一步的,所述步骤S2中,邻居查询区域以用户匿名后的位置为中心,向外扩大搜索范围R得到,且该区域也采用Geohash编码进行编码,得到邻居查询区域前缀码。进一步的,所述步骤S2中,邻居初选具体实现如下:1)、找出位置前缀码包含邻居查询区域前缀码的用户,并将该用户加入初选邻居集合中;2)、将邻居查询区域前缀码位数、初选的邻居集合与其对应的位置后缀密文一起发送给第三方服务器。进一步的,所述步骤S3中,第三方服务器筛选真正的邻居集合,具体实现如下:1)、根据邻居查询区域前缀码位数将候选用户限定在一个矩形区域范围内;2)、接着根据每个用户的位置后缀码将其映射到矩形区域的具体位置中,然后算出他们与请求用户之间的距离,若该距离在请求用户查询范围内的即为邻居,反之则不是。现以用户A作为请求用户实现各个阶段的查询:在注册阶段,用户A与社交网络服务器共享它的公钥PuKA。注册成功之后,用户A获得了它的社交网络身份标识IDA,而社交网络服务器将记录<IDA,PuKA>存储到它的用户信息表格中。在位置更新阶段,首先用户通过手机的GPS模块等获得自身原始位置信息(xA,yA)。然后,用户A将真实位置使用Geohash进行编码,并根据Amin(查表1)确定位置编码的后缀长度,从而将位置编码划分前缀preGeoA与后缀posGeoA。如图2所示,假设满足用户隐私度的区域面积Amin约为38.2*19m的具体矩形框,即用户A愿意让社交网络服务器知道其位置前缀8位(表1可得)。真实位置的后缀posGeoA使用与第三方服务器共享的秘钥SKA加密EnSKA(posGeoA)。此时,位置编码前缀即代表了用户A愿意与社交网络服务器共享的位置区域RFA(preGeoA)。最后,用户A将该位置区域以及加密后缀发送给社交网络服务器,消息格式为(IDA,ts,EnPrKA(ts,IDA),RA,RFA(preGeoA),EnSKA(posGeoA)),其中ts为时间戳,用于防止重放攻击,EnPrKA(ts,IDA)为用户A的签名,RA为用户真实的邻居查找范围。社交网络服务器收到消息之后,首先使用用户A的公钥验证用户的身份,若为合法用户,则将该消息中的用户位置信息存储于用户信息表中,格式为<IDA,PuKA,RA,RFA(preGeoA),EnSKA(posGeoA)>。在近邻检测阶段,当用户A请求近邻检测查询时,如图3所示,其以位置区域RFA的外接圆为中心,以搜索范围RA为半径,得到要查询的邻居区域SearchReigonA。这里存在两种情况,如图4所示,若用户A的邻居区域可以在一个矩形框内,则该矩形框为用户上传给社交网络服务的查询区域SearchReigonA,用户将该区域发送给服务器,消息格式为(IDA,“neighbor”,SearchReigonA);若邻居区域不在矩形框内,而是超出了矩形框,则用户A将连同其位置在内的邻接八个矩形区域一起发送给社交网络服务器,作为邻居的查询区域,每个邻接区域分别给出其与用户A所在区域的位置关系posRelative,消息格式为(IDA,“neighbor”,)。社交网络服务器收到请求之后,执行邻近检测邻居初选阶段:1)首先访问用户信息表,将每个用户上传的位置区域RF(preGeo)与用户A查询区域SearchReigonA做计算,区域存在交集的用户即为候选邻近用户;这里,由于每个区域都使用Geohash编码,所以判断两个区域是否存在交集,只需判断其他用户的位置前缀是否包含用户A的查询区域前缀即可,如图5所示,用户B的位置区域前缀包含用户A的查询区域前缀,因此他们存在交集,而用户C的位置区域前缀未包含,因此其与用户A的查询区域不存在交集。2)接着,服务器将每个候选用户的位置区域前缀除去与查询区域SearchReignA编码相同的部分,留下不同的前缀部分DiffPre;3)最后将每个候选用户的ID连同他们的后缀位置密文EnSK(posGeo)、前缀部分DiffPre、用户A的后缀位置密文EnSKA(posGeoA)、查询范围RA和区域SearchReignA编码前缀位数preN一起发送给第三方服务器,消息格式为(IDA,RA,EnSKA(posGeoA),preN,)。这里,若用户A的查询区域包含其邻接的8个区域,则社交网络服务器需建立9个候选用户集,将具有相同编码前缀的候选用户分为同一个候选集,连同每个邻接区域与用户A所在区域的位置关系一起,此时消息格式则为(IDA,RA,preN,EnSKA(posGeoA),)。第三方服务器收到消息之后,执行邻近检测真正邻居筛选阶段:1)首先服务器解密获得所有用户包括用户A的位置后缀posGeo。2)接着,利用用户A的区域SearchReignA编码前缀位数preN可以将所有候选用户映射在一定的范围内,即将所有用户以及用户A映射到同一个矩形框中RecReign。若存在9个查询区域,则每个候选用户集对应的用户则为同一个矩形框中。3)然后根据每个候选用户的前缀部分DiffPre以及位置后缀posGeo可以得出每个候选用户位于矩形框RecReign中的哪个小矩形框中。这里,如图6所示,对于只有一个查询区域,假设区域SearchReignA编码前缀位数preN为5位数,则通过表1可以确定候选用户位于边长为4.9km*4.9km的矩形框中。接着根据用户A和用户B的前缀部分DiffPre和位置后缀posGeo以及他们的位数和(原为Base32的4位,为了方便说明,假设是6比特位)可以得出它们所在的小矩形框位置以及小矩形框的边长为612.5m(6比特位即6次划分,则可以得到64个小矩形,大矩形RecReign的每个边长有8个小矩形,由大矩形RecReign边长长度除于8个小矩形即为每个小矩形的边长长度)。然后我们以每个用户所在小矩形的中心位置作为它们的近似位置,并借助C点利用勾股定理算出用户A与B之间的距离。若该距离cAB<=RA,则认为B为A的邻居,反之则不是。对于有9个查询区域的情况,服务器根据社交网络服务器给出的与用户A所在区域的位置关系posRelative还原出区域位置,并将各候选集用户对应到其所在查询区域内。如图7所示,与单个查询区域情况一样,假设每个查询区域的边长为为4.9km*4.9km,且用户A和用户B的前缀部分DiffPre和位置后缀posGeo以及他们的位数和为6比特位,可以得出它们所在的小矩形框位置以及小矩形框的边长为612.5m。然后我们以每个用户所在小矩形的中心位置作为它们的近似位置,并借助C点利用勾股定理算出用户A与B之间的距离。若该距离cAB<=RA,则认为B为A的邻居,反之则不是。4)最后,第三方服务器将最终的邻居用户集发送给社交网络服务器。社交网络服务器收到之后,将该邻居用户集发送给用户A。本发明提出的近邻检测方法,使用Geohash编码将用户的位置信息分成前后缀两部分,分别由社交网络服务器和第三方服务器处理,使得两者都无法获得用户完整的位置信息,从而有效解决传统近邻检测方法中存在的位置隐私暴露问题。该方法在社交网络中具有很大的实用前景。以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1