一种K匿名的虚假位置确定方法及装置与流程

文档序号:12866247阅读:333来源:国知局
一种K匿名的虚假位置确定方法及装置与流程

本发明涉及移动通信技术领域,尤其是涉及一种k匿名的虚假位置确定方法及装置。



背景技术:

基于位置的服务由于定位技术的发展得到了工业界以及学术界的广泛关注,已广泛应用于人们生活。服务提供商利用用户的位置信息为用户提供多种便捷的服务。在基于位置服务的帮助下,用户可以快速搜索出所在地点附近的服务,并指引选择最佳路径等等。然而无线网络的开放性使得它们易受非法用户的攻击或监听,基于位置服务在带来各种便利的同时也带来隐私泄露的隐患。随着位置信息的精度变得越来越高,位置信息的使用变得越来越频繁,与用户位置相关的隐私有可能遭到严重泄露。

传统的k匿名方法是将真实位置与k-1个虚拟位置同时发送给基于位置服务的服务器,使其很难从虚假位置中分辨出真实位置。k值越大,用户的隐私就越安全。这种虚假位置选择的方法主要基于空间泛化,空间泛化的基本思想是选取一块足够大的区域,使其覆盖足够多(k个以上)用户。当该区域中的用户需要报告位置信息时,用这块覆盖k个用户的区域来替代真实用户的位置区域,从而实现k匿名。

现有的虚拟位置的确定方法主要有三种,第一种是基于覆盖真实用户位置的虚拟网格,或者是基于真实用户位置的虚拟圆。也就是通过在真实用户位置附近选择k-1个虚假位置组成方形或圆形区域,实现k匿名保护用户隐私。这种方法虽然在配置和控制上灵活,为用户提供可控的位置隐私保护,且较容易融入到现有系统和架构中,不需要第三方完成匿名工作,且不需要过多的计算和通信开销。但是,当攻击者获取边信息(边信息指的是用户历史请求信息)后,包括局部边信息或者全局边信息,其可以根据这些位置的历史请求信息快速去排除一些不可能的虚假位置(比如请求率存在较大差异的位置区域),从而使得k匿名效果不能得到很好发挥。

第二种方法是使用信息熵作为衡量隐私保护等级。通过合理选择带有最大信息熵的虚假位置集合,实现k匿名保护用户隐私。该方法可以有效对抗共谋攻击和推理攻击等攻击,然而,该方法将虚假位置抽象为点的形式,但实际用户上报的虚假位置可能为一定区域。虚假位置的选择还受实际位置区域以及形状的影响,当候选虚假位置区域被一些物体遮挡或者与其他虚假位置区域相交的时候,将会大大影响虚假位置总面积,最终导致隐私面积小于原本期望值。比如,当所选虚假位置区域被建筑或湖遮挡住一部分,或者与其他其他虚假位置区域相交的情况下,拥有所有虚假位置实际情况的攻击者就能很快减小虚假位置形成的区域。

第三种方法是使用基于距离积的概念取代距离和的概念选择虚假位置,从而实现遮盖面积的最大化。仿真结果显示了考虑距离积的方法可以有效解决当候选虚假位置距离相同的情况,同时结果证明了遮盖面积增加提高了用户隐私保护等级。该研究将虚假位置抽象为点的形式,但实际用户上报的虚假位置可能为一定区域,当候选虚假位置区域被一些物体遮挡,将会大大影响虚假位置总面积,最终导致隐私面积小于原本期望值。

在实现本发明实施例的过程中,发明人发现现有的虚假位置确定的方法在已知边信息的情况下,很容易排除虚假位置,且无法对虚假位置的覆盖面积进行精确的计算,以最大化虚假位置的覆盖面积。



技术实现要素:

本发明所要解决的技术问题是如何解决虚假位置确定的方法在已知边信息的情况下,很容易排除虚假位置,且无法对虚假位置的覆盖面积进行精确的计算,以最大化虚假位置的覆盖面积的问题。

针对以上技术问题,本发明的实施例提供了一种k匿名的虚假位置确定方法,包括:

获取根据真实位置选定的多个虚假位置,得到第一集合;

从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合;

从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合;

其中,所述真实位置和所述第三集合中的虚假位置形成的第一泛化面积,大于或等于所述真实位置和所述第二集合中的所述第一预设数量的虚假位置形成的第二泛化面积。

可选地,所述从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合,包括:

获取所述真实位置对应的请求率、所述第一集合中的每一虚假位置对应的请求率、欲从所述第一集合中筛选出的虚假位置的第二预设数量,所述预设阈值和对应于所述预设阈值的容忍上限;

执行第一操作,其中,所述第一操作包括:

计算当前的第一集合中的每一虚假位置和所述真实位置之间的请求率差的绝对值,得到对应于当前的第一集合中的每一虚假位置的请求率差异;

将请求率差异小于所述预设阈值的虚假位置添加至第二集合中,并从当前的第一集合中删除添加至第二集合中的虚假位置;

判断当前的第二集合中的虚假位置的数量是否大于所述第二预设数量,若是,结束所述第一操作;

若判断当前的第二集合中的虚假位置的数量小于所述第二预设数量,则按照预设规则更新预设阈值,判断更新后的预设阈值是否大于或者等于所述容忍上限,若是,结束所述第一操作,否则重新执行所述第一操作。

可选地,所述从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合,包括:

创建临时集合,将所述真实位置添加至当前的临时集合中;

执行第二操作,所述第二操作包括:

针对当前的第二集合中的每一虚假位置,计算其与当前的临时集合中包括的所述真实位置,以及当前临时集合中包括的所有虚假位置组成的泛化面积,作为第三泛化面积,将第三泛化面积中面积最大,且包括在当前的第二集合中的虚假位置添加至当前的临时集合中,并从当前的第二集合中删除添加至当前的临时集合中的虚假位置;

判断当前的临时集合中包括的虚假位置的数量是否大于或者等于所述第一预设数量,若是,结束所述第二操作,并将当前的临时集合中的所有虚假位置添加至所述第三集合,否则,重复执行所述第二操作。

可选地,所述针对当前的第二集合中的每一虚假位置,计算其与当前的预设临时集合中包括的所述真实位置,以及预设临时集合中包括的所有虚假位置组成的第三泛化面积,包括:

将当前的第二集合中的某一虚假位置所在的位置区域、当前的预设临时集合中包括的所述真实位置所在的位置区域、以及对应于预设临时集合中包括的所有虚假位置所在的位置区域均添加至位置区域集合;

根据所述位置区域集合中每一位置区域对应的遮挡面积,以及两两位置区域之间的位置关系,计算所述第三泛化面积;

其中,若存在相互不相交的两个位置区域,则按照公式计算这两个位置区域的泛化面积;

若存在相交且遮挡区域不相交的两个位置区域,则按照公式计算这两个位置区域的泛化面积;

若两个位置区域中的第i个位置区域的遮挡区域和这两个位置区域的相交区域重叠,则按照公式计算这两个位置区域的泛化面积;

若两个位置区域中的第j个位置区域的遮挡区域和这两个位置区域的相交区域重叠,则按照公式计算这两个位置区域的泛化面积;

若两个位置区域中对应的两个遮挡区域均和这两个位置区域的相交区域重叠,则按照公式计算这两个位置区域的泛化面积;

其中,r为位置区域的半径,为第i个位置区域的遮挡面积,为第j个位置区域的遮挡面积,为第i个位置区域和第j个位置区域的相交区域的面积。

可选地,所述按照预设规则更新预设阈值,包括:

计算当前的预设阈值和预设步长之间的和,得到更新后的预设阈值。

第二方面,本发明的实施例还提供了一种k匿名的虚假位置确定装置,包括:

获取模块,用于获取根据真实位置选定的多个虚假位置,得到第一集合;

第一筛选模块,用于从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合;

第二筛选模块,用于从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合;

其中,所述真实位置和所述第三集合中的虚假位置形成的第一泛化面积,大于或等于所述真实位置和所述第二集合中的所述第一预设数量的虚假位置形成的第二泛化面积。

可选地,所述第一筛选模块包括:

获取单元,用于获取所述真实位置对应的请求率、所述第一集合中的每一虚假位置对应的请求率、欲从所述第一集合中筛选出的虚假位置的第二预设数量,所述预设阈值和对应于所述预设阈值的容忍上限;

执行单元,用于执行第一操作,其中,所述第一操作包括:计算当前的第一集合中的每一虚假位置和所述真实位置之间的请求率差的绝对值,得到对应于当前的第一集合中的每一虚假位置的请求率差异;将请求率差异小于所述预设阈值的虚假位置添加至第二集合中,并从当前的第一集合中删除添加至第二集合中的虚假位置;判断当前的第二集合中的虚假位置的数量是否大于所述第二预设数量,若是,结束所述第一操作;若判断当前的第二集合中的虚假位置的数量小于所述第二预设数量,则按照预设规则更新预设阈值,判断更新后的预设阈值是否大于或者等于所述容忍上限,若是,结束所述第一操作,否则重新执行所述第一操作。

可选地,所述第二筛选模块还用于创建临时集合,将所述真实位置添加至当前的临时集合中;执行第二操作,所述第二操作包括:针对当前的第二集合中的每一虚假位置,计算其与当前的临时集合中包括的所述真实位置,以及当前临时集合中包括的所有虚假位置组成的泛化面积,作为第三泛化面积,将第三泛化面积中面积最大,且包括在当前的第二集合中的虚假位置添加至当前的临时集合中,并从当前的第二集合中删除添加至当前的临时集合中的虚假位置;判断当前的临时集合中包括的虚假位置的数量是否大于或者等于所述第一预设数量,若是,结束所述第二操作,并将当前的临时集合中的所有虚假位置添加至所述第三集合,否则,重复执行所述第二操作。

第三方面,本发明的实施例还提供了一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:获取根据真实位置选定的多个虚假位置,得到第一集合;从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合;从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合;其中,所述真实位置和所述第三集合中的虚假位置形成的第一泛化面积,大于或等于所述真实位置和所述第二集合中的所述第一预设数量的虚假位置形成的第二泛化面积。

第三方面,本发明的实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述的方法。

本发明的实施例提供了一种k匿名的虚假位置确定方法及装置,该方法综合考虑了请求率和虚假位置的实际覆盖的泛化面积,一方面了保证了虚假位置和真实位置之间的请求率差异较小,另一方面最大化了真实位置和虚假位置的覆盖区域的泛化面积,提高了真实位置的隐私保护等级,能够有效的对抗共谋攻击和推理攻击等攻击。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的k匿名的虚假位置确定方法的流程示意图;

图2是本发明另一个实施例提供的k匿名的虚假位置确定方法中的第二集合的确定方法的流程示意图;

图3是本发明另一个实施例提供的k匿名的虚假位置确定方法中的根据请求率差异筛选虚假位置的流程示意图;

图4是本发明另一个实施例提供的k匿名的虚假位置确定方法中的根据泛化面积筛选虚假位置的流程示意图;

图5是本发明另一个实施例提供的不相交的位置区域的示意图;

图6是本发明另一个实施例提供的位置区域相交且遮挡部分不和这两个位置区域的相交区域重叠的示意图;

图7是本发明另一个实施例提供的位置区域相交且一个位置区域的遮挡部分和这两个位置区域的相交区域重叠的示意图;

图8是本发明另一个实施例提供的位置区域相交且另一个位置区域的遮挡部分和这两个位置区域的相交区域重叠的示意图;

图9是本发明一个实施例提供的位置区域相交且两个位置区域的遮挡部分均和这两个位置区域的相交区域重叠的示意图;

图10是本发明一个实施例提供的k匿名的虚假位置确定装置的结构框图;

图11是本发明一个实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本实施例提供的k匿名的虚假位置确定方法的流程示意图。参见图1,该方法包括:

101:获取根据真实位置选定的多个虚假位置,得到第一集合;

102:从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合;

103:从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合;

其中,所述真实位置和所述第三集合中的虚假位置形成的第一泛化面积,大于或等于所述真实位置和所述第二集合中的所述第一预设数量的虚假位置形成的第二泛化面积。

需要说明的是,第一集合,第二集合和第三集合均为虚假位置组成的集合,第三集合是第二集合的子集,第二集合是第一集合的子集。真实位置是需要被隐私保护的位置,虚假位置是用于为识别出真实位置产生干扰的位置区域。本实施例中的真实位置指的是需要被隐私保护的位置,确定某个真实位置后,根据该真实位置确定包括该真实位置的区域,将该区域中的多个其它用户发送的位置作为虚假位置,得到第一集合。也就是说本实施例中所选的虚假位置,并不是随机产生的位置,而是其它用户之前发送的位置。请求率属于边信息,可以是从服务器中获取的,也可以是通过监听无线信道得到,具体如何获取请求率本实施例不做具体限制。第一泛化面积指的是真实位置和第三集合中所有的虚假位置覆盖的总面积,第二泛化面积指的是真实位置和第二集合中任意的第一预设数量的虚假位置覆盖的总面积。

本发明的实施例提供的k匿名的虚假位置确定方法,综合考虑了请求率和虚假位置的实际覆盖的泛化面积,一方面了保证了虚假位置和真实位置之间的请求率差异较小,另一方面最大化了真实位置和虚假位置的覆盖区域的泛化面积,提高了真实位置的隐私保护等级,能够有效的对抗共谋攻击和推理攻击等攻击。

更进一步地,在上述实施例的基础上,所述从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合,包括:

获取所述真实位置对应的请求率、所述第一集合中的每一虚假位置对应的请求率、欲从所述第一集合中筛选出的虚假位置的第二预设数量,所述预设阈值和对应于所述预设阈值的容忍上限;

执行第一操作,其中,所述第一操作包括:

计算当前的第一集合中的每一虚假位置和所述真实位置之间的请求率差的绝对值,得到对应于当前的第一集合中的每一虚假位置的请求率差异;

将请求率差异小于所述预设阈值的虚假位置添加至第二集合中,并从当前的第一集合中删除添加至第二集合中的虚假位置;

判断当前的第二集合中的虚假位置的数量是否大于所述第二预设数量,若是,结束所述第一操作;

若判断当前的第二集合中的虚假位置的数量小于所述第二预设数量,则按照预设规则更新预设阈值,判断更新后的预设阈值是否大于或者等于所述容忍上限,若是,结束所述第一操作,否则重新执行所述第一操作。

更进一步地,在上述各个实施例的基础上,所述按照预设规则更新预设阈值,包括:

计算当前的预设阈值和预设步长之间的和,得到更新后的预设阈值。

更为具体的,上述步骤如图2所示,包括:

201:获取所述真实位置对应的请求率、所述第一集合中的每一虚假位置对应的请求率、欲从所述第一集合中筛选出的虚假位置的第二预设数量,所述预设阈值和对应于所述预设阈值的容忍上限;

202:计算当前的第一集合中的每一虚假位置和所述真实位置之间的请求率差的绝对值,得到对应于当前的第一集合中的每一虚假位置的请求率差异;

203:将请求率差异小于所述预设阈值的虚假位置添加至第二集合中,并从当前的第一集合中删除添加至第二集合中的虚假位置;

204:判断当前的第二集合中的虚假位置的数量是否大于所述第二预设数量,若是,执行步骤207,否则,执行步骤205;

205:计算当前的预设阈值和预设步长之间的和,得到更新后的预设阈值;

206::判断更新后的预设阈值是否大于或者等于所述容忍上限,若是,执行步骤207,否则执行步骤202;

207:结束并获取当前的第二集合。

本实施例提供了一种第二集合的获取方法,该方法通过第二预设数量和容忍上限的限制可以保证得到的每一虚假位置与真实位置之间的请求率差异较小,从而有效防止了攻击者通过请求信息对虚假位置的识别,提高了真实位置的隐私等级。

更进一步地,在上述各个实施例的基础上,所述从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合,包括:

创建临时集合,将所述真实位置添加至当前的临时集合中;

执行第二操作,所述第二操作包括:

针对当前的第二集合中的每一虚假位置,计算其与当前的临时集合中包括的所述真实位置,以及当前临时集合中包括的所有虚假位置组成的泛化面积,作为第三泛化面积,将第三泛化面积中面积最大,且包括在当前的第二集合中的虚假位置添加至当前的临时集合中,并从当前的第二集合中删除添加至当前的临时集合中的虚假位置;

判断当前的临时集合中包括的虚假位置的数量是否大于或者等于所述第一预设数量,若是,结束所述第二操作,并将当前的临时集合中的所有虚假位置添加至所述第三集合,否则,重复执行所述第二操作。

更进一步地,在上述各个实施例的基础上,所述针对当前的第二集合中的每一虚假位置,计算其与当前的预设临时集合中包括的所述真实位置,以及预设临时集合中包括的所有虚假位置组成的第三泛化面积,包括:

将当前的第二集合中的某一虚假位置所在的位置区域、当前的预设临时集合中包括的所述真实位置所在的位置区域、以及对应于预设临时集合中包括的所有虚假位置所在的位置区域均添加至位置区域集合;

根据所述位置区域集合中每一位置区域对应的遮挡面积,以及两两位置区域之间的位置关系,计算所述第三泛化面积;

其中,若存在相互不相交的两个位置区域,则按照公式计算这两个位置区域的泛化面积;

若存在相交且遮挡区域不相交的两个位置区域,则按照公式计算这两个位置区域的泛化面积;

若两个位置区域中的第i个位置区域的遮挡区域和这两个位置区域的相交区域重叠,则按照公式计算这两个位置区域的泛化面积;

若两个位置区域中的第j个位置区域的遮挡区域和这两个位置区域的相交区域重叠,则按照公式计算这两个位置区域的泛化面积;

若两个位置区域中对应的两个遮挡区域均和这两个位置区域的相交区域重叠,则按照公式计算这两个位置区域的泛化面积。

需要说明的是,在计算泛化面积的过程中,本实施例将虚假位置和真实位置所覆盖的区域均称为位置区域。第三泛化面积指的是某一第二集合中的虚假位置、预设临时集合中的真实位置和预设临时集合中的所有虚假位置所覆盖的面积之和。第一预设数量为人为设定的数值。

本实施例仅仅考虑最多两个虚假位置的所在区域相交的情况,对于更多的区域相交的情况可以用类似的方法求解。考虑无线网络,包含有n个虚假位置的位置区域随机分布在无线网络中,本实施例研究圆形区域,而不是数学上抽象的点模型。每个圆形区域半径为r。每个位置区域可能被物体遮挡,令第n个位置区域被物体遮挡的面积为πr2δn,δn∈[0,1],n∈n,n为无线网络中真实位置和n个虚假位置的位置区域的集合。

令虚假位置或真实位置的位置区域i和位置区域j的相交面积为i,j∈n,位置区域中被物体遮挡的面积为n∈n。

当某个位置区域远离其他位置区域,或者未被任何物体遮挡时,这些位置区域总泛化面积应为kπr2,则实现了k匿名应有的总覆盖面积。然而,当虚假位置或者真实位置的位置区域与其他位置区域相交,或者被物体部分遮挡,总泛化面积将会受到影响。有以下几种情况将导致总泛化面积的减少:

如图5所示,若存在相互不相交的两个位置区域,则按照公式计算这两个位置区域的泛化面积;

如图6所示,若存在相交且遮挡区域不相交的两个位置区域,即当两个位置区域相互靠近相交时,两个虚假位置区域组成的泛化面积为

如图7所示,若两个位置区域中的一个位置区域的遮挡区域(两个位置区域相交且与位置区域i的遮挡面积重叠)和这两个位置区域的相交区域重叠时,由于遮挡面积有可能是不规则的,因此为了数学上可计算,假设相交和遮挡均等地对总泛化面积产生影响。在这种情况下,两个虚假位置区域组成的总泛化面积为

如图8所示,当图7中的两个位置区域中的另一个位置区域的遮挡区域(两个位置区域相交且与位置区域j的遮挡面积重叠)和这两个位置区域的相交区域重叠时,两个位置区域组成的总泛化面积为

如图9所示,若两个位置区域中对应的两个遮挡区域均和这两个位置区域的相交区域重叠,即当两个位置区域相交且与位置区域i和位置区域j的遮挡面积同时重叠,假设相交和遮挡均等地对总泛化面积产生影响,在这种情况下,两个位置区域组成的总泛化面积为

其中,r为位置区域的半径,为第i个位置区域的遮挡面积,为第j个位置区域的遮挡面积,为第i个位置区域和第j个位置区域的相交区域的面积。

作为一种更为具体的实施例,该方法首先从n个候选的虚假位置(根据真实位置选定的多个虚假位置)中选择出至少m个请求率差异小于一定阈值的候选虚假位置。然后从选定的m个虚假位置集合中,根据虚假位置实际情况选择k-1个虚假位置,使得其总泛化面积最大。当用户向基于位置服务的服务器提出请求,用户选择k-1个虚假位置,并将其与自己真实位置区域一起发送给基于位置服务的服务器并等待回复位置服务。

例如,攻击者的目的是得到真实用户的敏感信息比如真实位置。因此需要知道所有虚假位置的信息。用户通常可以得到两种类型的边信息:局部边信息和全局边信息。局部边信息指的是部分用户的历史请求信息;全局边信息指的是所有用户的历史请求信息。

被动式攻击者可以监测监听无线信道,或攻破用户得到相关的历史请求信息。主动式攻击者可以攻破lbs的服务器,从而得到所有候选位置历史请求信息。被动式攻击意味着攻击者能够得到局部边信息;主动式攻击意味着攻击者能够得到全局边信息,并时刻监测所有位置的请求情况。同时,攻击者还知道系统使用k匿名技术保护真实用户隐私,以及使用的虚假位置选择算法。

针对上述攻击,本发明在考虑虚假位置历史请求以及实际形状和遮挡状态下最大化隐私等级和总泛化面积。实际虚假位置区域有可能与其他虚假位置区域相交,也有可能被物体部分遮挡。因此该虚假位置选择问题可以建模为多目标优化问题。一方面,能通过最小化所选虚假位置历史请求率的差异,最大化隐私等级。这样可以得到k匿名效果,否则攻击者将很容易排除不可能的候选虚假位置。另一方面,尽可能在考虑虚假位置区域实际情况的增大总泛化面积。这样可以增大匿名区域。

如图3所示,首先301:输入参数,例如,输入主要参数n(第一集合)、m、q、q0、ε、εδ和εup等参数,其中q0是真实用户请求率,q是n个虚假位置的请求率集合,m(第二预设数量)是该算法需要的虚假位置的最小个数,ε为虚假位置与真实用户位置之间请求率差异容忍值(预设阈值),εδ是ε的步长,εup是ε的容忍上限(容忍上限)。

然后,执行302:从所有虚假位置中选出请求率差异小于请求率差异容忍值ε的所有虚假位置,例如,依次从所有虚假位置(第一集合中包括的所有虚假位置)中选出请求率小于请求率差异容忍值ε的所有虚假位置。

之后,执行303:判断选出的虚假位置的个数>m的条件是否成立,若成立,执行步骤304:结束,否则,执行步骤305。例如,当个数大于预定阈值m时,则停止“基于请求率的虚假位置选择”算法(第一操作),否则,执行305:更新ε,即更新请求率差异容忍值,然后,执行306:判断ε<容忍上限的条件是否成立,若是,返回步骤302,再次按照更新后的ε选出请求率差异小于请求率差异容忍值的虚假位置,否则执行步骤304:结束。也即,按照上述步骤直至选出的虚假位置个数大于m或请求率差异容忍值ε达到给定上限εup。

接着,如图4所示,执行401:将真实位置纳入已选集合(临时集合)中。

然后,402:遍历第二集合中所有的虚假位置,并与已选集合中的真实位置和虚假位置组成集合,计算该集合的总泛化面积;例如,从候选集合m(第二集合)中遍历所有的虚假位置,并与已选集合l中的已选的集合组成集合l+{j},(j∈m),计算该集合l+{j}的总泛化面积(第三泛化面积)。

403:将总泛化面积最大值对应的,属于第二集合的虚假位置纳入已选集合,并将该虚假位置从第二集合中删除;例如,选择出具有最大总泛化面积的虚假位置j*,将该位置选入已选集合l中,并从候选集合m中移除。直至已选集合中包含k个虚假位置。

404:判断条件已选集合中虚假位置的个数>k-1是否成立,若是,则执行405:结束,否则返回步骤402。

在计算θ(l),即集合l中虚假位置组成的总泛化面积时,首先计算真实位置的泛化面积,然后从集合l中任选一个虚假位置开始计算泛化面积。判断与现有计算位置区域是否相交,如果不相交,即可根据图5所示的情况计算总泛化面积;如果相交,需要判断该虚假位置区域与相交位置区域是否存在遮挡,如果不存在遮挡,则即可根据图6中所示的情况计算总泛化面积;如果存在遮挡,则存在3种可能:相交区域与已计算区域的遮挡区域重叠,可根据图7中所示的情况计算总泛化面积;相交区域与待计算区域的遮挡区域重叠,可根据图8中所示的情况计算总泛化面积;相交区域与已计算区域的遮挡区域、待计算区域的遮挡区域均重叠,可根据图7中所示的情况计算总泛化面积。当根据具体情况计算出总泛化面积后,将该位置从集合l中移除。重复上述过程直至l集合中不包含任何“虚假位置”。

本实施例提供的k匿名的虚假位置确定方法同时考虑了虚假位置的历史请求率和虚假位置的实际区域,建立多目标优化问题,并提出两步骤解决方案;从候选虚假位置中选择出尽可能多的满足指定阈值的虚假位置区域,保证了选出的虚假位置集合请求率的差异足够小,保护了真实用户的k匿名效果;基于选定虚假位置相交的情况和虚假位置被遮挡的情况选择虚假位置区域,最大化隐私保护面积;可适用于不同虚假位置区域形状相交的情况,推导出实际泛化面积,以便隐私保护面积的计算。

第二方面,如图10所示,本实施例还提供了一种k匿名的虚假位置确定装置1000,包括获取模块1001、第一筛选模块1002和第二筛选模块1003,其中,

获取模块1001,用于获取根据真实位置选定的多个虚假位置,得到第一集合;

第一筛选模块1002,用于从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合;

第二筛选模块1003,用于从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合;

其中,所述真实位置和所述第三集合中的虚假位置形成的第一泛化面积,大于或等于所述真实位置和所述第二集合中的所述第一预设数量的虚假位置形成的第二泛化面积。

本发明的实施例提供了一种k匿名的虚假位置确定装置,该装置综合考虑了请求率和虚假位置的实际覆盖的泛化面积,一方面了保证了虚假位置和真实位置之间的请求率差异较小,另一方面最大化了真实位置和虚假位置的覆盖区域的泛化面积,提高了真实位置的隐私保护等级,能够有效的对抗共谋攻击和推理攻击等攻击。

更进一步地,在上述实施例的基础上,所述第一筛选模块包括:

获取单元,用于获取所述真实位置对应的请求率、所述第一集合中的每一虚假位置对应的请求率、欲从所述第一集合中筛选出的虚假位置的第二预设数量,所述预设阈值和对应于所述预设阈值的容忍上限;

执行单元,用于执行第一操作,其中,所述第一操作包括:计算当前的第一集合中的每一虚假位置和所述真实位置之间的请求率差的绝对值,得到对应于当前的第一集合中的每一虚假位置的请求率差异;将请求率差异小于所述预设阈值的虚假位置添加至第二集合中,并从当前的第一集合中删除添加至第二集合中的虚假位置;判断当前的第二集合中的虚假位置的数量是否大于所述第二预设数量,若是,结束所述第一操作;若判断当前的第二集合中的虚假位置的数量小于所述第二预设数量,则按照预设规则更新预设阈值,判断更新后的预设阈值是否大于或者等于所述容忍上限,若是,结束所述第一操作,否则重新执行所述第一操作。

更进一步地,在上述各个实施例的基础上,所述第二筛选模块还用于创建临时集合,将所述真实位置添加至当前的临时集合中;执行第二操作,所述第二操作包括:针对当前的第二集合中的每一虚假位置,计算其与当前的临时集合中包括的所述真实位置,以及当前临时集合中包括的所有虚假位置组成的泛化面积,作为第三泛化面积,将第三泛化面积中面积最大,且包括在当前的第二集合中的虚假位置添加至当前的临时集合中,并从当前的第二集合中删除添加至当前的临时集合中的虚假位置;判断当前的临时集合中包括的虚假位置的数量是否大于或者等于所述第一预设数量,若是,结束所述第二操作,并将当前的临时集合中的所有虚假位置添加至所述第三集合,否则,重复执行所述第二操作

图11是示出本发明的实施例提供的电子设备的结构框图。

参照图11,所述电子设备,包括:处理器(processor)1101、存储器(memory)1102和总线1103;

其中,

所述处理器1101、存储器1102、通过所述总线1103完成相互间的通信;

所述处理器1101用于调用所述存储器1102中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取根据真实位置选定的多个虚假位置,得到第一集合;从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合;从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合;其中,所述真实位置和所述第三集合中的虚假位置形成的第一泛化面积,大于或等于所述真实位置和所述第二集合中的所述第一预设数量的虚假位置形成的第二泛化面积。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取根据真实位置选定的多个虚假位置,得到第一集合;从所述第一集合中筛选出与所述真实位置之间的请求率差异小于预设阈值的虚假位置,得到第二集合;从所述第二集合中筛选出第一预设数量的虚假位置,得到第三集合;其中,所述真实位置和所述第三集合中的虚假位置形成的第一泛化面积,大于或等于所述真实位置和所述第二集合中的所述第一预设数量的虚假位置形成的第二泛化面积。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。

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