一种基于Geohash的网格化位置隐私保护方法及装置与流程

文档序号:12740747阅读:598来源:国知局
一种基于Geohash的网格化位置隐私保护方法及装置与流程

本发明属于信息安全技术领域,尤其涉及一种基于Geohash的网格化位置隐私保护方法及装置。



背景技术:

随着无线通信和移动定位技术的不断发展,特别是移动网络和GPS定位技术的广泛应用,极大方便了大众的日常生活;与此同时个人用户的隐私安全也受到了威胁,用户在使用这些服务时,可能面临个人隐私泄露的问题。如恶意的服务提供商或者是针对位置服务器的攻击者就可能获得位置数据,从而挖掘推测出用户的真实身份、工作地点、家庭住址等信息。

近年来,研究者提出了许多方法和机制来保护位置隐私数据,如区域覆盖、假名、假地址等。其中最常见的隐私保护方法就是基于可信第三方的k-匿名算法,它在第三方匿名服务器上使用GPS数据计算形成匿名组和匿名区域来隐藏用户的真实身份和真实位置,这些算法通常需要大量的浮点型运算和大的存储空间来维持实时性。



技术实现要素:

本发明实施例提供一种基于Geohash的网格化位置隐私保护方法,旨在解决现有的基于可信第三方的k-匿名算法需要大量的浮点型运算和大的存储空间来维持实时性的问题。

本发明是这样实现的,一种基于Geohash的网格化位置隐私保护方法,所述方法包括如下步骤:

S21、接收客户端发送的服务查询请求,所述请求中携带有用户标识、用户所在位置的经纬度及用户处于当前位置的时间;

S22、根据所述经纬度计算用户真实位置所在网格的Geohash编码,并根据所述用户真实位置所在网格的Geohash编码确定与其近邻的八个网格;

S23、判断九个网格组成的网格区域内的当前活动用户数量N是否大于k,若N≥k,则将所述网格区域作为匿名区域;

S24、从所述匿名区域中随机取出一个网格代替用户真实位置向数据库发起服务查询请求。

本发明实施例还提供了一种基于Geohash的网格化位置隐私保护装置,述装置包括:

请求接收模块,用于接收客户端发送的服务查询请求,所述请求中携带有用户标识、用户所在位置的经纬度及用户处于当前位置的时间;

网格确定模块,用于根据所述经纬度计算用户真实位置所在网格的Geohash编码,并根据所述用户真实位置所在网格的Geohash编码确定与其近邻的八个网格;

匿名区域确认模块,用于判断九个网格组成的网格区域内的当前活动用户数量N是否大于k,若N≥k,则将所述网格区域作为匿名区域;以及

匿名查询模块,用于从所述匿名区域中随机取出一个网格代替用户真实位置向数据库发起服务查询请求。

本发明实施例通过Geohash编码对位置信息进行降维,使用编码比较运算来代替传统的位置隐私保护使用GPS浮点进行计算,减少了计算量,极大提高了服务速度,且在一定程度上解决了网格式算法存储空间高损耗问题。

附图说明

图1为本发明实施例提供基于Geohash的网格化位置隐私保护系统的结构示意图;

图2为本发明实施例一提供的基于Geohash的网格化位置隐私保护方法的流程图;

图3为本发明实施例五提供的基于Geohash的网格化位置隐私保护装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为本发明实施例提供的基于Geohash的网格化位置隐私保护系统的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。

在本发明实施例中,基于Geohash的网格化位置隐私保护系统包括:客户端、匿名服务器及服务提供商数据库;

客户端发送服务查询请求至匿名服务器;

匿名服务器接收客户端发送的服务查询请求,基于Geohash编码获取匿名区域,向服务提供商数据库发送匿名查询请求,并将服务提供商数据库返回的服务查询信息发送至匿名区域内的客户端;

服务提供商数据库接收匿名服务器发送的服务查询请求,获取服务查询信息,并返回给匿名服务器。

图2为本发明实施例一提供的基于Geohash的网格化位置隐私保护方法的流程图,该方法包括如下步骤:

S21、接收客户端发送的服务查询请求,所述请求中携带有用户标识、用户所在位置的经纬度、用户处于当前位置的时间;

在本发明实施例中,客户端安装有GPS定位仪,客户端向匿名服务器发送服务请求时,请求中携带有用于唯一标识用户的用户标识码,可以是手机号或其他具有唯一性的用户编号,还携带有用户所在位置的经纬度、用户处于当前位置的时间。

S22、根据所述经纬度计算用户真实位置所在网格的Geohash编码,并根据所述用户真实位置所在网格的Geohash编码确定其近邻的八个网格的;

Geohash的具体算法是将经度和纬度分别按照类二分算法不断逼近,每一次逼近用0或者1表示划分产生的区域,每五次划分作为一个层次,当层数为奇数时,每次划分的结果与第一层类似;当层数为偶数时,每次划分与第二层类似,循环递归直到划分到指定精度;Geohash编码的特性决定了同层相邻位置的Geohash编码的前缀是相似的,因此在进行近邻网格的确认通过比较编码的前缀即可实现,本发明实施例中的Geohash编码的编码长度一般取8至10位。

S23、判断九个网格组成的网格区域内的当前活动用户数量N是否大于k,若N≥k,则将所述网格区域作为匿名区域;

本发明实施例中,活动用户的缓存列表中记录了用户标识、用户所在位置的Geohash编码、及状态信息(Alive),状态信息标记用户处于“存活”还是“下线”的状态,如用数字“1”表示用户处于存活状态,用数字“0”表示用户处于下线状态,通过九个网格Geohash编码下的活动用户的缓存列表的状态信息(Alive)进行统计,即可获知网格区域内的当前活动用户数量N,本发明实施例中的k取值范围一般为5至50。

S24、从所述匿名区域中随机取出一个网格代替用户真实位置向数据库发起服务查询请求。

本发明实施例通过Geohash编码对位置信息进行降维,使用编码比较运算来代替传统的位置隐私保护使用GPS浮点进行计算,减少了计算量,极大提高了服务速度,且在一定程度上解决了网格式算法存储空间高损耗问题。

在图1所示的实施例的基础上,本发明实施例二提供的基于Geohash的网格化位置隐私保护方法,步骤S23还包括:

当N<k时,则执行如下步骤:

S231、删除所述用户真实位置所在网格的Geohash编码的最后一位作为父网格的Geohash编码,根据所述父网格的Geohash编码确定与其近邻的八个父网格;

S232、检测父网格的Geohash编码是否大于最大匿名区域的编码长度Lmax,若检测结果为是,则判断九个父网格组成的父网格区域内的当前活动用户数量N是否大于k;

S233、若N≥k,则将所述父网格区域作为匿名区域,若N<k,执行步骤S231至步骤S233。

本发明实施例通过减少用户真实位置所在网格的Geohash编码的长度,来扩大网格区域的面积,增加网格区域内的当前活动用户的数量,以达增加匿名成功的几率,因此,当判断当前九个网格组成的网格区域内的当前用户活动数量小于K时,为了防止匿名区域内的活动用户的分布过稀疏,导致服务位置不精准,因此,网格区域的大小大于用户设定的最大匿名区域,即当前网格的Geohash编码长度不能比最大匿名区域对应的Geohash编码长度Lmax短,本发明实施例中Lmax的取值范围为5至8,当网格区域的大小等于最大匿名区域时,此时网格区域内的当前用户活动数量小于k时,匿名失败。

在实施例一和实施例二的基础上,本发明实施例三提供的基于Geohash的网格化位置隐私保护方法,在步骤S24之后还包括:

S26、利用剪枝算法删除匿名区域中的冗余网格;

在本发明实施例中,利用剪枝算法删除匿名区域中的冗余网格,具体包括如下步骤:

S261、遍历匿名区域中的每一个网格,统计剩余网格内的当前活动用户数量M;

S262、若M≥k,则将所述网格从匿名区域中剔除,若M<k,则所述网格保留在匿名区域。

本发明实施例中,遍历匿名区域中的每一个网格,统计匿名区域内除去该网格之外剩余网格的当前活动用户数量,若活动用户数量大于等于k,说明没有该网格也能实现k匿名,说明该网格是冗余的麻将该网格从匿名区域中剔除,按照该方法依次遍历匿名区域中的所有网格,进行冗余网格的剔除。

本发明实施例通过剪枝算法剔除冗余网格,来确保代替用户真实位置的网格不会偏离用户真实位置太远,从而确保了最终推荐服务的质量。

作为本发明的优选实施例,在步骤S261之前还包括:

S263、将匿名区域中的网格按随机顺序重新排序。

由于匿名区域中的网格排列顺序是随机,所以每次剪枝的结果也不相同,最终枝后的匿名区域中剪随机取出一个网格中代替用户真实位置发起服务查询,进一步增强用户位置的隐私。

在实施例一、实施例二或实施例三的基础上,本发明实施例四提供的基于Geohash的网格化位置隐私保护方法,在步骤S21之后还包括:

S27、查询T时刻当前活动用户数量N;

S28、若N≥k,获取T时刻当前活动用户的缓存列表;

S29、若N<k,依次查询T-n·Δt(n=1、2、3、4…)时刻至T时刻所述网格区域内活动用户数量Nn,直至Nn≥k,获取T-n·Δt时刻至T时刻的活动用户的缓存列表。

本发明实施例通过使用用户的历史位置数据增强用户的位置隐私,极大地减小了匿名区域,显著降低了计算和通信开销。

本领域普通技术人员可以理解实现上述实施例的全部或部分可以通过硬件来完成,也可以通过程序指令相关的硬件来完成,执行上述步骤的程序可以存储于一种计算机可读存储介质,上述提到的存储介质可以是只读存储器、闪存、磁盘或光盘等。

图3为本发明实施例五提供的基于Geohash的网格化位置隐私保护装置,为了便于说明,仅示出与本发明实施例相关的部分。

该基于Geohash的网格化位置隐私保护装置包括:

请求接收模块31,接收客户端发送的服务查询请求,请求中携带有用户标识、用户所在位置的经纬度及用户处于当前位置的时间;

网格确定模块32,根据请求接收模块31接收到的经纬度计算用户真实位置所在网格的Geohash编码,并根据用户真实位置所在网格的Geohash编码确定与其近邻的八个网格;

本发明实施例中的Geohash编码的编码长度一般取8至10位。

匿名区域确认模块33,判断由网格确定模块确认的九个网格组成的网格区域内的当前活动用户数量N是否大于k,若N≥k,则将所述网格区域作为匿名区域;

本发明实施例中的k取值范围一般为5至50。

匿名查询模块34,从匿名区域确认模块33确认的匿名区域中随机取出一个网格代替用户真实位置向数据库发起服务查询请求。

本发明实施例通过Geohash编码对位置信息进行降维,使用编码比较运算来代替传统的位置隐私保护使用GPS浮点进行计算,极大提高了计算速度,同时在一定程度上解决了网格式算法对位置服务质量和存储空间的高损耗问题,同时具有保留了其匿名成功率高、处理速度快的特点。

在实施例五的基础上,本发明实施例六提供的基于Geohash的网格化位置隐私保护装置,当N<k时,匿名区域确认模块33还包括:

父网格确定单元331,删除用户真实位置所在网格的Geohash编码的最后一位作为父网格的Geohash编码,根据父网格的Geohash编码确定与其近邻的八个父网格;

条件判断单元332,检测确定的父网格的Geohash编码是否大于最大匿名区域的编码长度Lmax,若检测结果为是,判断九个父网格组成的父网格区域内的当前活动用户数量N是否大于k;以及

匿名区域确认单元333,若N≥k,将父网格区域作为匿名区域,若N<k,则通知父网格确定单元删除用户真实位置所在网格的Geohash编码的最后一位作为父网格的Geohash编码,根据父网格的Geohash编码确定与其近邻的八个父网格。

本发明实施例通过减少用户真实位置所在网格的Geohash编码的长度,来扩大网格区域的面积,增加网格区域内的当前活动用户的数量,以达增加匿名成功的几率,因此,当判断当前九个网格组成的网格区域内的当前用户活动数量小于K时,为了防止匿名区域内的活动用户的分布过稀疏,导致服务位置不精准,因此,网格区域的大小大于用户设定的最大匿名区域,即当前网格的Geohash编码长度不能比最大匿名区域对应的Geohash编码长度Lmax短,本发明实施例中Lmax的取值范围为5至8,当网格区域的大小等于最大匿名区域时,此时网格区域内的当前用户活动数量小于k时,匿名失败。

在实施例五或实施例六的基础上,本发明实施例七提供的基于Geohash的网格化位置隐私保护装置,该装置还包括:

剪枝模块35,利用剪枝算法删除匿名区域中的冗余网格;

所述剪枝模块35包括:

随机排序单元351,将匿名区域中的网格按随机顺序重新排序;

数量统计单元352,遍历匿名区域中的每一个网格,统计剩余网格内的当前活动用户数量M;以及

冗余剔除单元353,若M≥k,将该网格从所述匿名区域中剔除,若M<k,将该网格保留在所述匿名区域。

本发明实施例中,遍历匿名区域中的每一个网格,统计匿名区域内除去该网格之外剩余网格的当前活动用户数量,若活动用户数量大于等于k,说明没有该网格也能实现k匿名,说明该网格是冗余的麻将该网格从匿名区域中剔除,按照该方法依次遍历匿名区域中的所有网格,进行冗余网格的剔除。

本发明实施例通过剪枝算法剔除冗余网格,来确保代替用户真实位置的网格不会偏离用户真实位置太远,从而确保了最终推荐服务的质量。此外,由于匿名区域中的网格排列顺序是随机,所以每次剪枝的结果也不相同,最终枝后的匿名区域中剪随机取出一个网格中代替用户真实位置发起服务查询,进一步增强用户位置的隐私。

在实施例五、实施例六或实施例七的基础上,本发明实施例七提供的基于Geohash的网格化位置隐私保护装置,该装置还包括:

查询模块36,查询T时刻当前活动用户数量N;以及

处理模块37,若N≥k,获取T时刻当前活动用户的缓存列表,若N<k,用于依次查询T-n·Δt(n=1、2、3、4…)时刻至T时刻所述网格区域内活动用户数量Nn,直至Nn≥k,获取T-n·Δt时刻至T时刻的活动用户的缓存列表。

本发明实施例通过使用用户的历史位置数据增强用户的位置隐私,极大地减小了匿名区域,显著降低了计算和通信开销。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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