一种位置信息的隐匿方法及位置服务器与流程

文档序号:16848599发布日期:2019-02-12 22:32阅读:476来源:国知局
一种位置信息的隐匿方法及位置服务器与流程

本发明涉及位置服务领域,尤其涉及一种基于位置信息的隐匿名方法及位置服务器。



背景技术:

随着智能移动终端的普及和网络技术的发展,运营商可以通过信令数据、业务应用系统、自有定位平台及用户上网日志获取位置信息。移动位置信息服务(location-basedservices,lbs)作为移动通信增值服务中的重要一环,已逐渐成为人们生活中不可缺少的一部分,用户可以随时随地通过便携的移动设备,如手机、pda、palm等,查询到各种所需的位置信息,从而可以从这些位置信息中继续挖掘出用户的意图、活动规律和潜在的兴趣爱好等重要信息。但是位置信息泄露所带来的隐私泄露威胁也越来越大,由于位置信息的高价值性与敏感性并存的特性,导致运营商对位置信息的大数据应用存在很大隐私泄露隐患,对位置隐私的保护已经成为运营商基于位置服务发展中必须解决的问题之一。

因此,现有技术中存在以下几种位置信息的隐匿方法,以对使用移动位置服务的用户隐私进行保护。

第一、生成虚假用户的方法。在生成虚假用户的方法中,通过采用直接随机生成虚假用户,该方法适合应用于隐私程度不高的情况。它的缺点是大量的虚假用户会增加服务器计算的开销,延长用户等待服务结果的时间,并且浪费了系统的资源,降低了服务质量。

第二、空间匿名的方法。空间匿名方法的隐私保护度比生成虚假用户方法更好,并且匿名区域大小能够直观的反映隐私保护度。时空匿名方法的优点是在空间匿名的基础上考虑了用户查询的时间,进一步提升了位置隐私保护度。

第三、时空匿名的方法。时空匿名方法能够连续的保护用户的位置信息,保证攻击者不能通过推理获得用户的位置信息。空间匿名与时空匿名的缺点是在用户稀疏环境下,匿名区域过大而导致服务器返回用户的结果不够精确。

在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:

在上述三种位置匿名方法都能实现一定程度的隐私保护,但是采用生成虚假用户的方法将会增加位置服务的计算开销;采用空间匿名方法和时空匿名方法存在用户稀疏的问题,即在用户稀疏的区域中无法保证位置服务的可用性和准确性。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种位置信息的隐匿方法及位置服务器,不仅可以减少位置服务的计算开销,而且还可以保证位置服务的可用性和准确性。

本发明的技术方案是这样实现的:

本发明实施例提出了一种位置信息的隐匿方法,所述方法包括:

接收到针对目标用户的当前查询请求后,获取所述目标用户的真实位置信息,以及针对所述目标用户的上一次查询请求反馈的虚假位置信息;

当所述虚假位置信息满足预设的匿名条件时,通过所述虚假位置信息将所述真实位置信息进行隐匿。

在上述实施例中,所述通过所述虚假位置信息将所述真实位置信息进行隐匿,包括:

确定各个虚假位置信息相对于所述真实位置信息的相邻轨迹;

通过各个相邻轨迹将所述真实位置信息进行隐匿。

在上述实施例中,所述确定各个虚假位置信息相对于所述真实位置信息的相邻轨迹,包括:

确定各个虚假位置信息相对于所述真实位置信息的简单相邻轨迹;

或者,确定各个虚假位置信息相对于所述真实位置信息的组合相邻轨迹。

在上述实施例中,所述方法还包括:

记录接收到所述当前查询请求的当前查询时间;

当所述虚假位置信息不满足所述匿名条件时,根据所述真实位置信息和所述当前查询时间将在预设空间范围和预设时间范围内的历史用户进行聚类;

根据聚类结果生成满足所述匿名条件的虚假位置信息;

通过所述虚假位置信息将所述真实位置信息进行隐匿。

在上述实施例中,所述根据所述真实位置信息学和所述当前查询时间将在预设空间范围和预设时间范围内的历史用户进行聚类,包括:

根据所述真实位置信息、所述当前查询时间以及预先确定的最小半径、检测半径和最大半径,计算所述虚假位置信息的第一生成区域和第二生成区域;

在所述第一生成区域和所述第二生成区域中分别对所述历史用户进行聚类。

本发明实施例还提出了一种位置服务器,所述位置服务器包括:获取单元和隐匿单元;其中,

所述获取单元,用于接收针对目标用户的当前查询请求后,获取所述目标用户的真实位置信息,以及针对所述目标用户的上一次查询请求反馈的虚假位置信息;

所述隐匿单元,用于当所述虚假位置信息满足预设的匿名条件时,通过所述虚假位置信息将所述真实位置信息进行隐匿。

在上述实施例中,所述隐匿单元包括:确定子单元和隐匿子单元;其中,

所述确定子单元,用于确定各个虚假位置信息相对于所述真实位置信息的相邻轨迹;

所述隐匿子单元,用于通过各个相邻轨迹将所述真实位置信息进行隐匿。

在上述实施例中,所述确定子单元,具体用于确定各个虚假位置信息相对于所述真实位置信息的简单相邻轨迹;或者,确定各个虚假位置信息相对于所述真实位置信息的组合相邻轨迹。

在上述实施例中,所述位置服务器还包括:聚类单元;其中,

所述获取单元,还用于记录接收到所述当前查询请求的当前查询时间;

所述聚类单元,用于当所述虚假位置信息不满足所述匿名条件时,根据所述真实位置信息和所述当前查询时间将在预设空间范围和预设时间范围内的历史用户进行聚类;

所述隐匿单元,还用于根据聚类结果生成满足所述匿名条件的虚假位置信息;通过所述虚假位置信息将所述真实位置信息进行隐匿。

在上述实施例中,所述聚类单元包括:计算子单元和聚类子单元;其中,

所述计算子单元,用于根据所述真实位置信息、所述当前查询时间以及预先确定的最小半径、检测半径和最大半径,计算所述虚假位置信息的第一生成区域和第二生成区域;

所述聚类子单元,用于在所述第一生成区域和所述第二生成区域中分别对所述历史用户进行聚类。

本发明实施例提出了一种位置信息的隐匿名方法及位置服务器,接收到针对目标用户的当前查询请求后,先获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息;当虚假位置信息满足预设的匿名条件时,通过虚假位置信息将真实位置信息进行隐匿。也就是说,在本发明实施例提出的技术方案中,在获取到目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息之后,可以先判断虚假位置信息是否满足预设的匿名条件,只有当虚假位置信息满足预设的匿名条件时,才会通过虚假位置信息将真实位置信息进行隐匿。而在现有技术中,采用生成虚假用户的方法将会增加位置服务的计算开销;采用空间匿名方法和时空匿名方法无法保证位置服务的可用性和准确性。因此,和现有技术相比,本发明实施例提出的位置信息的隐匿名方法及位置服务器,不仅可以减少位置服务的计算开销,而且还可以保证位置服务的可用性和准确性;并且,本发明实施例的技术方案实现简单方便、便于普及,适用范围更广。

附图说明

图1为本发明实施例中位置信息的隐匿方法的第一实现流程示意图;

图2为本发明实施例中通过虚假位置信息将真实位置信息进行隐匿的实现方法流程示意图;

图3为本发明实施例中简单相邻轨迹的实现方法流程示意图;

图4为本发明实施例中组合相邻轨迹的实现方法流程示意图;

图5为本发明实施例中生成虚假位置信息的实现方法流程示意图;

图6为本发明实施例中位置信息的隐匿方法的第二实现流程示意图;

图7为本发明实施例中时空聚类簇的实现方法流程示意图;

图8为本发明实施例中根据真实位置信息和当前查询时间对历史用户进行聚类的实现方法流程示意图;

图9为本发明实施例中虚假位置信息的生成区域的组成结构示意图;

图10为本发明实施例中位置k-匿名的实现方法示意图;

图11为本发明实施例中位置服务器的第一组成结构示意图;

图12为本发明实施例中位置服务器的第二组成结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一、

在本发明的具体实施例中,图1为本发明实施例中位置信息的隐匿方法的第一实现流程示意图。如图1所示,位置信息的隐匿方法可以包括以下步骤:

步骤101、接收到针对目标用户的当前查询请求后,获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息。

在本发明的具体实施中,位置服务器先接收针对目标用户的当前查询请求;其中,当前查询请求中可以携带目标用户的位置标识。在本发明的具体实施例中,位置服务器可以保存每次查询对应的目标用户的虚假位置信息。因此,位置服务器在接收到针对目标用户的当前查询请求后,可以获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息。

步骤102、当虚假位置信息满足预设的匿名条件时,通过虚假位置信息将真实位置信息进行隐匿。

在本发明的具体实施例中,当虚假位置信息满足预设的匿名条件时,位置服务器可以通过虚假位置信息将真实位置信息进行隐匿。图2为本发明实施例中通过虚假位置信息将真实位置信息进行隐匿的实现方法流程示意图。如图2所示,通过虚假位置信息将真实位置信息进行隐匿的方法可以包括以下步骤:

步骤102a、确定各个虚假位置信息相对于真实位置信息的相邻轨迹。

在本发明的具体实施例中,位置服务器可以确定各个虚假位置信息相对于真实位置信息的简单相邻轨迹;或者,位置服务器还可以确定各个虚假位置相对于真实位置信息的组合相邻轨迹。

具体地,在目标用户的运动过程中,假设查询用户上一次提交查询请求时使用的位置匿名方法为虚假用户的k-匿名算法。在目标用户到达新的位置后,位置服务器会接收到针对目标用户的新的查询请求,因此,位置服务器可以根据各个虚假位置信息相对于真实位置信息的相邻轨迹,将真实位置信息进行隐匿,这样可以增加当前查询请求反馈的虚假位置信息的拟真度。因为要用到各个虚假位置信息相对于真实位置信息的相邻轨迹,所以以下给出两个关于轨迹的重要定义,简单相邻轨迹和组合相邻轨迹。

图3为本发明实施例中简单相邻轨迹的实现方法流程示意图。如图3所示,假设qi表示上一次查询对应的目标用户的真实位置信息;qi+1表示当前查询对应的目标用户的真实位置信息;令min(q,ti)表示轨迹ti上的唯一一点,这一点到点q的距离最短,例如min(q,ti)=x,其中,轨迹t上的任意一点xi到q的距离都大于等于点min(q,ti)=x到q的距离,即:{d(x,q)≤d(xi,q)|xi∈ti}。给定一个相关半径r>0,qi相对于qi+1的简单相邻轨迹为tk,如果存在一个tk的子轨迹并满足以下条件:

1)、pm=qi且pj=min(qi+1,tk),m<j≤n;

2)、d(qi+1,pj)≤r,d(qi+1,pn)≤r且d(qi+1,pn+1)≥r;

3)、d(qi,p)+d(qi+1,p)≤(qtimei+1-qtimei)×vmax;其中,vmax为道路网络中所允许的最大速度,qtimei和qtimei+1分别为目标用户位于qi时的查询时间和用户位于qi+1时的查询时间。

在上述定义中,条件1)和条件2)要求轨迹经过qi点并距离qi+1点在一定范围内;而条件3)则保证轨迹tik上的起始点之间的距离能在qi到qi+1的时间内到达。

如图3所示,给定一个节点对<qi,qi+1>和半径r,根据前面所知不难搜索到所有qi相对于qi+1的简单相邻轨迹。首先,分别查询所有经过qi点的轨迹和距离qi+1小于半径r的所有轨迹;然后将两个结果轨迹集合取交集,即可得到经过qi点并距离qi+1点距离小于r的轨迹集合;最后,获得所得集合中符合条件3)的轨迹,即获得了所有经过qi关于qi+1的简单相邻轨迹。

在一些用户稀疏的区域中,严格的找到一条关于两点的简单相邻轨迹有一定的困难,因此,简单相邻轨迹的数量非常少,以至于不足以支撑用户位置隐私保护算法。图4为本发明实施例中组合相邻轨迹的实现方法流程示意图。如图4所示,假设存在两条轨迹t1与t2,它们都不是qi关于qi+1的简单相邻轨迹,但是轨迹t=(p1,p2,…,pj,pj+1,…,pn)是一条经过qi关于qi+1的组合相邻轨迹,如果满足以下条件:

1)、轨迹t满足简单相邻轨迹的条件;

2)、

3)、d(pj,pj+1)≤c;其中,c是一个用户自定义的阈值,<pj,pj+1>被称为轨迹t的连接对。

根据以上定义,图4中的t3是一条经过qi相对于qi+1的组合相邻轨迹。实际上,一条组合相邻轨迹是两条轨迹t1和t2的组合形式,t1与t2之间存在一些重叠。尽管t1或是t2都不是单独经过qi和qi+1,但是它们结合成的轨迹也能对人们从qi到qi+1的频率给出提示。

在本发明的具体实施例中,相邻轨迹的查找算法描述如下:

上述算法的最佳情况是,在搜索相邻轨迹过程中,能够找到点a相对于点b的简单相邻轨迹,其时间复杂度为h×o(e)。而在搜索相邻轨迹过程中,如果找不到点a相对于点b的简单相邻轨迹,那么就需要寻找组合相邻轨迹,搜索组合相邻轨迹的时间复杂度为h×o(ab),其中a+b=e,e为相邻轨迹中点的个数,h为经过点a的历史轨迹的条数。

在本发明的具体实施例中,假设用户连续进行n次查询,当用户进行第1次查询时,可以根据真实位置信息和当前查询时间将在预设空间范围和预设时间范围内的历史用户进行聚类;根据聚类结果生成满足匿名条件的虚假位置信息;通过虚假位置信息将真实位置信息进行隐匿。但是,当用户进行第i(i≠1)次查询时,则第i次查询请求反馈的虚假位置信息需要与第i-1次查询请求反馈的虚假位置信息满足速度限制原则。因此,在本发明的具体实施例中,位置服务器可以根据第i-1次查询请求反馈的虚假位置信息和第i次查询请求反馈的真实位置信息对目标用户进行位置匿名。

具体地,用户发送的第i次查询请求为qi=(uid,loci,ti,pri,queryi);其中,uid为目标用户的唯一标识,loci为当前查询请求反馈的目标用户的真实位置信息,ti为当前查询时间,queryi为针对目标用户发送的第i次查询请求,pri为隐私需求参数。在本发明的具体实施例中,位置服务器可以根据真实位置信息loci和隐私需求参数pri,确定虚假位置信息的生成区域di。当查询用户发送第i次查询时,其发送的第i-1次查询的匿名过程已经完成。那么,假设针对目标用户的第i-1次查询请求生成了k个虚假用户,则位置服务器可以查找经过每一个虚假位置信息dumj(1≤j≤k)相对于真实位置信息loci的相邻轨迹,相关半径为虚假用户生成区域di的最大半径dmax。

步骤102b、通过各个相邻轨迹将真实位置信息进行隐匿。

在本发明的具体实施例中,位置服务器在确定各个虚假位置信息相对于真实位置信息的相邻轨迹之后,位置服务器可以通过各个相邻轨迹将所述真实位置信息进行隐匿;具体地,位置服务器可以根据各个虚假位置信息相对于真实位置信息的简单相邻轨迹将真实位置信息进行隐匿;或者,位置服务器还可以根据各个虚假位置信息相对于真实位置信息的组合相邻轨迹将真实位置信息进行隐匿。

图5为本发明实施例中生成虚假位置信息的实现方法流程示意图。如图5所示,假设点a是目标用户位于loci点时生成的一个虚假位置信息dumj,在经过点a的历史用户轨迹中查找关于点loci半径为dmax的相邻轨迹tj。结合查询用户第i次查询对应的虚假用户生成区域,可以在相邻轨迹tj上找到一点b,使位置点b为历史用户位置,并且b在虚假用户生成区域di内。将b点作为对目标用户第i次查询请求qi的位置点loci匿名时的虚假位置信息dumj。由相邻轨迹的定义可知,相邻轨迹tj上的任意一点与点a的距离都不会超出按路网最大速度行走的距离,这样攻击者很难通过速度限制判断dumj为虚假用户。

本发明实施例提出了一种位置信息的隐匿名方法,接收到针对目标用户的当前查询请求后,先获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息;当虚假位置信息满足预设的匿名条件时,通过虚假位置信息将真实位置信息进行隐匿。也就是说,在本发明实施例提出的技术方案中,在获取到目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息之后,可以先判断虚假位置信息是否满足预设的匿名条件,只有当虚假位置信息满足预设的匿名条件时,才会通过虚假位置信息将真实位置信息进行隐匿。而在现有技术中,采用生成虚假用户的方法将会增加位置服务的计算开销;采用空间匿名方法和时空匿名方法无法保证位置服务的可用性和准确性。因此,和现有技术相比,本发明实施例提出的位置信息的隐匿名方法,不仅可以减少位置服务的计算开销,而且还可以保证位置服务的可用性和准确性;并且,本发明实施例的技术方案实现简单方便、便于普及,适用范围更广。

实施例二、

图6为本发明实施例中位置信息的隐匿方法的第二实现流程示意图。如图6所示,位置信息的隐匿方法可以包括以下步骤:

步骤601、接收到针对目标用户的当前查询请求后,获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息。

在本发明的具体实施中,位置服务器接收查询用户发送的当前位置请求;其中,当前查询请求中可以携带目标用户的位置标识。在本发明的具体实施例中,查询用户与目标用户可以是同一个用户,也可以是不同的用户。

步骤602、记录接收到当前查询请求的当前查询时间。

在本发明的具体实施例中,位置服务器在接收到查询用户发送的查询请求之后,位置服务器可以记录接收到当前查询请求的当前查询时间。具体地,位置服务器还可以计算接收到当前查询请求的当前查询时间与接收到上一次查询请求的上一次查询时间的时间差值;然后判断该时间差值是否小于预先设置的时间阈值;当该时间差值小于时间阈值时,位置服务器可以判定接收到查询用户发送的当前查询请求和上一次查询请求是连续查询;此时位置服务器可以获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息;当虚假位置信息满足预设的匿名条件时,位置服务器可以通过虚假位置信息将真实位置信息进行隐匿;当该时间差值大于或者等于时间阈值时,位置服务器可以判定接收到查询用户发送的当前查询请求和上一次查询请求是非连续查询;此时位置服务器可以获取目标用户的真实位置信息;根据真实位置信息和当前查询时间将在预设空间范围和预设时间范围内的历史用户进行聚类;根据聚类结果生成满足匿名条件的虚假位置信息;通过虚假位置信息将真实位置信息进行隐匿。

步骤603、当虚假位置信息不满足匿名条件时,根据真实位置信息和当前查询时间将在预设空间范围和预设时间范围内的历史用户进行聚类。

在本发明的具体实施例中,当虚假位置信息不满足预设的匿名条件时,位置服务器可以根据真实位置信息和当前查询时间将在预设空间范围内和预设时间范围内的历史用户进行聚类。所谓时空聚类,是一个在一段指定时间内移动彼此靠近的对象的集合的聚类。现实中有很多这样的例子,如一群迁徙的动物或是同一个旅游团队的成员等。时空聚类的特点在于,当包含的位置和对象可能发生变化时,簇的特征保持不变。例如,当一群动物大规模迁徙时,有些动物会离开群体,而有些外来动物会加入群体。

图7为本发明实施例中时空聚类簇的实现方法流程示意图。如图7所示,一个h的快照si,即在ti时刻的所有对象和它们位置的集合。因为在ti时刻并不是s中所有的对象都必须存在,所以si是s的一个子集,si={oj∈s:ti∈oj.t}。给定一个快照si后,通过使用一个如dbscan的标准的空间聚类算法,确定哪些在si中密集的对象组彼此靠近并且对象组的密度符合聚类算法的密度限制条件。h上的时空聚类,是h上的每个快照si上所有位置点的集合的聚类。在此,为了简化计算量,采用一种快照直接重叠的时空聚类算法,这样可以增加聚类的稳定性。如图7所示,假设s1,s2,s3的三个快照的空间区域完全相同,可以看出相同的对象在三个不同快照上的位置也存在变化,将它们置于同一个快照su上重新进行聚类。

图8为本发明实施例中根据真实位置信息和当前查询时间对历史用户进行聚类的实现方法流程示意图。如图8所示,根据真实位置信息和当前查询时间对历史用户进行聚类的方法可以包括以下步骤:

步骤603a、根据真实位置信息、当前查询时间以及预先确定的最小半径、检测半径和最大半径,计算虚假用户的第一生成区域和第二生成区域。

在本发明的具体实施例中,隐私需求(privacyrequirement,pr)=(k,da,ts),其中,k表示匿名参数,即:真实用户和虚假用户的总数;da表示匿名区域的面积,即包含k个用户的最小多边形的面积;ts表示虚假用户生成的时间区域,通常以用户查询时刻t作为ts的中点,即时间区域为[t-ts/2,t+ts/2]。

图9为本发明实施例中虚假位置信息的生成区域的组成结构示意图。如图9所示,loc为真实位置信息,rdum为距离loc半径为dmin和dmax的圆之间的区域。其中,dmin的作用是防止虚假用户生成位置距离真实用户位置过近,而泄露真实位置信息。dmax的作用是防止虚假用户距离真实用户位置过远,即起不到保护作用也降低服务效率。另外,对于匿名区域面积的要求,本文通过设定检测半径dfine以保证虚假用户组成的面积符合用户的要求。因此,虚假用户生成区域被检测半径分为两个区域,区域(dmin,dfine)为基本区域rbasic,区域(dfine,dmax)为保护区域rprotect。基本区域内生成的虚假位置信息的作用是保证虚假用户距离真实用户位置距离接近,起到迷惑攻击者的作用。保护区域内生成的虚假位置信息的作用是扩大匿名区域,从而提高匿名度。

步骤603b、在第一生成区域和第二生成区域中分别对历史用户进行聚类。

在本发明的具体实施例中,第一生成区域可以是:基本区域rbasic;第二生成区域可以是:保护区域rprotect。

在本发明的具体实施例中,位置服务器可以根据匿名区域的面积da和匿名参数k,根据以下公式(1)确定最小半径dmin;根据以下公式(2)可以确定检测半径dfine;最后,根据以下公式(3)计算出最大半径dmax,其中c1,c2,c3是常数。

因为在区域(dmin,dmax)内总共需要生成k-1个虚假位置信息,所以根据两个区域面积的比例,可以确定区域rbasic内和区域rprotect内生成虚假位置信息的个数。假设区域rbasic内应该生成的虚假用户个数为kbasic,则计算方法如以下公式(4)。

区域rprotect内应该生成的虚假位置信息的个数为kprotect,计算方式如以下公式(5)。

如图9所示,分别在区域rbasic内和区域rprotect内对历史用户进行聚类,分别得到n和m个历史用户簇。根据每个簇中的历史用户数量,分配虚假位置信息的数量。假设区域re内存在p个簇,第i个簇中历史用户个数为ni,用ndi表示第i个簇中产生虚假位置信息的数量,ke表示第i个簇所在区域应该生成的虚假位置信息的数量,计算方式如以下公式(6)。

步骤604、根据聚类结果生成满足匿名条件的虚假位置信息。

在本发明的具体实施例中,位置服务器可以根据聚类结果生成满足匿名条件的虚假位置信息。具体地,位置服务器可以通过调整预先确定的最小半径、检测半径和最大半径,从而调整第一生成区域和第二生成区域,根据聚类结果生成满足匿名条件的虚假位置信息。

步骤605、通过虚假位置信息将真实位置信息进行隐匿。

在本发明的具体实施例中,位置服务器可以通过虚假位置信息将真实位置信息进行隐匿。现有位置隐私保护中使用最多的方法为:位置k-匿名。位置k-匿名(locationk-anonymity):当一个移动对象的位置无法与其他(k-1)个对象的位置相互区分时,则称这k个用户的位置满足k-匿名,将匿名区域代替用户的真实位置信息,达到攻击者无法识别出用户的真实轨迹的目的。

图10为本发明实施例中位置k-匿名的实现方法示意图。如图10所示,在位置k-匿名模型中,每个用户的位置都表示成一个三元组([x1,x2][y1,y2][t1,t2]),其中([x1,x2][y1,y2])表示目标用户所在的二维空间区域,[t1,t2]表示目标用户在这个区域对应的时间段。([x1,x2][y1,y2][t1,t2])表示目标用户在[t1,t2]内的某一时刻出现在([x1,x2][y1,y2])区域内的某一位置点。同理,另外(k-1)个用户也在[t1,t2]中的某一时刻出现在([x1,x2][y1,y2])区域内的某一位置点,那么这k个用户满足位置k-匿名。如图10所示是一个k=5的位置k-匿名模型,如下述表1所示:

表1

如上述表1所示,点a、b、c、d和e经过位置隐匿名后均用([x1,x2][y1,y2][t1,t2])表示,其中([x1,x2][y1,y2][t1,t2])代表了一个时空区域。那么,外界只知道在此区域内有5个用户,而每个用户出现在该区域内的任意一个位置的概率都相同,所以每个用户的具体位置对于外界来说是不可确定的。点a、b、c、d和e构成了5-匿名模型的匿名集,图10中([x1,x2][y1,y2][t1,t2])代表的一个时空区域是其匿名区域。k匿名方法的优点是在空间匿名的基础上考虑了用户查询的时间,进一步提升了位置隐私保护度。结合时空匿名方法的轨迹匿名模型能够连续的保护用户的位置信息,保证攻击者不能够通过推理获得用户的位置信息。

本发明实施例提出了一种位置信息的隐匿名方法,接收到针对目标用户的当前查询请求后,先获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息;当虚假位置信息满足预设的匿名条件时,通过虚假位置信息将真实位置信息进行隐匿。也就是说,在本发明实施例提出的技术方案中,在获取到目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息之后,可以先判断虚假位置信息是否满足预设的匿名条件,只有当虚假位置信息满足预设的匿名条件时,才会通过虚假位置信息将真实位置信息进行隐匿。而在现有技术中,采用生成虚假用户的方法将会增加位置服务的计算开销;采用空间匿名方法和时空匿名方法无法保证位置服务的可用性和准确性。因此,和现有技术相比,本发明实施例提出的位置信息的隐匿名方法,不仅可以减少位置服务的计算开销,而且还可以保证位置服务的可用性和准确性;并且,本发明实施例的技术方案实现简单方便、便于普及,适用范围更广。

实施例三:

图11为本发明实施例中位置服务器的第一组成结构示意图。如图11所示,所述位置服务器包括:获取单元1101和隐匿单元1102;其中,

所述获取单元1101,用于接收针对目标用户的当前查询请求后,获取所述目标用户的真实位置信息,以及针对所述目标用户的上一次查询请求反馈的虚假位置信息;

所述隐匿单元1102,用于当所述虚假位置信息满足预设的匿名条件时,通过所述虚假位置信息将所述真实位置信息进行隐匿。

图12为本发明实施例中位置服务器的第二组成结构示意图。如图12所示,所述隐匿单元1102包括:确定子单元11021和隐匿子单元11022;其中,

所述确定子单元11021,用于确定各个虚假位置信息相对于所述真实位置信息的相邻轨迹;

所述隐匿子单元11022,用于通过各个相邻轨迹将所述真实位置信息进行隐匿。

进一步的,所述确定子单元11021,具体用于确定各个虚假位置信息相对于所述真实位置信息的简单相邻轨迹;或者,确定各个虚假位置信息相对于所述真实位置信息的组合相邻轨迹。

进一步的,所述位置服务器还包括:聚类单元1103;其中,

所述获取单元1101,还用于记录接收到所述当前查询请求的当前查询时间;

所述聚类单元1102,用于当所述虚假位置信息不满足所述匿名条件时,根据所述真实位置信息和所述当前查询时间将在预设空间范围和预设时间范围内的历史用户进行聚类;

所述隐匿单元1103,还用于根据聚类结果生成满足所述匿名条件的虚假位置信息;通过所述虚假位置信息将所述真实位置信息进行隐匿。

进一步的,所述聚类单元1102包括:计算子单元11021和聚类子单元11022;其中,

所述计算子单元11021,用于根据所述真实位置信息、所述当前查询时间以及预先确定的最小半径、检测半径和最大半径,计算所述虚假位置信息的第一生成区域和第二生成区域;

所述聚类子单元11022,用于在所述第一生成区域和所述第二生成区域中分别对所述历史用户进行聚类。

本发明实施例提出了一种位置服务器,接收到针对目标用户的当前查询请求后,先获取目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息;当虚假位置信息满足预设的匿名条件时,通过虚假位置信息将真实位置信息进行隐匿。也就是说,在本发明实施例提出的技术方案中,在获取到目标用户的真实位置信息,以及针对目标用户的上一次查询请求反馈的虚假位置信息之后,可以先判断虚假位置信息是否满足预设的匿名条件,只有当虚假位置信息满足预设的匿名条件时,才会通过虚假位置信息将真实位置信息进行隐匿。而在现有技术中,采用生成虚假用户的方法将会增加位置服务的计算开销;采用空间匿名方法和时空匿名方法无法保证位置服务的可用性和准确性。因此,和现有技术相比,本发明实施例提出的位置服务器,不仅可以减少位置服务的计算开销,而且还可以保证位置服务的可用性和准确性;并且,本发明实施例的技术方案实现简单方便、便于普及,适用范围更广。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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