CN107204984B - 一种位置隐私保护方法及系统 - Google Patents
一种位置隐私保护方法及系统 Download PDFInfo
- Publication number
- CN107204984B CN107204984B CN201710477842.XA CN201710477842A CN107204984B CN 107204984 B CN107204984 B CN 107204984B CN 201710477842 A CN201710477842 A CN 201710477842A CN 107204984 B CN107204984 B CN 107204984B
- Authority
- CN
- China
- Prior art keywords
- user
- anonymous
- anonymous group
- group
- users
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种位置隐私保护方法及系统,方法包括:根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,各匿名组中用户的数量为K,K表示发出查询请求的各用户的匿名参数的最大值;计算各匿名组的离心度;判断离心度值最大的匿名组是否满足拆分条件,拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;当离心度值最大的匿名组满足拆分条件时,将各被拆分用户分配给距离各被拆分用户最近的匿名组中,并继续计算各匿名组的离心度;当离心度值最大的匿名组不满足拆分条件时,保留离心度值最大的匿名组。本发明提供的位置隐私保护方法及系统,既能保证位置隐私安全,又能保证查询服务质量。
Description
技术领域
本发明涉及基于位置隐私的服务领域,特别是涉及一种位置隐私保护方法及系统。
背景技术
针对位置隐私泄露带来的巨大隐患,目前各类隐私保护方法层出不穷。位置隐私保护的目标包括:身份保护,服务提供商能获取位置但不知是谁请求服务;位置保护,服务提供商知道谁在请求服务但不能获取其准确位置;身份及位置防护,服务提供商不能获知谁在哪里请求服务。目前从系统结构来看,方法主要分为两大类,一种是基于可信第三方(Trust Third Party,TTP)的位置服务架构,另一种是无TTP的位置服务架构。
基于TTP位置服务架构的隐私保护方法中,TTP相当于客户端和位置服务器之间的一道防火墙,其中被使用最广泛的方法就是k-匿名方法。2003年Gruteser和Grunwald最早将k-匿名方法用于位置隐私保护,该方案的基本原理就是用一个覆盖其他k-1个用户的区域来代替用户的真实位置。此方法缺点是k值固定,不符合个性化的匿名要求,而且当用户的密度比较大时,选取的区域如果较小,会在一定程度上暴露位置信息。为解决这些问题,又有人提出了一种支持个性化匿名的Casper方案,该方案把整个区域信息按层次四叉树划分,在一张散列表中存储每个用户所在单元以及隐私需求。当用户发出查询请求后,假如用户所在单元不满足隐私要求,则按照搜索规则查询相邻单元直到满足要求。但是此种隐匿方案不能抵抗位置推断攻击。对此,又有人提出了一种基于希尔伯特变换的位置隐私保护方法,使得匿名服务器也无法直接获取用户的位置信息,来提高安全性。但由于空间维度的降低,该方案容易产生较大的匿名区域,由此给位置服务提供商(Location BasedServices,LBS)带来较大的计算和通信开销。为提高查询服务质量,有人提出了一种基于服务相似性的k-匿名位置隐私保护方法,此方法通过把具有相似查询的用户划分到一个匿名组,利用用户之间查询的联系来提高利用匿名组查询的准确度,提高了服务质量。但是此方法进行匿名之前,首先需要对相关城市地图根据兴趣点分布构造相似地图,此项工作量对于人口分布、兴趣点分布相对集中的大中城市是十分巨大的。
基于无TTP的位置服务架构只有客户端和位置服务器,客户端通过独立或协作的方式实现匿名区域,完成隐私保护。Space Twist是一种典型的基于无TTP位置服务架构的隐私保护方法。此算法采用客户端用户附近的一个锚点代替用户的真实位置发起多轮增量近邻查询,每个用户再根据自己的真实位置从中获取结果,以此来实现用户位置隐私的保护,但是此算法的隐私保护程度并不高。对此,有人对上述方案进行了改进,将Space Twist算法和k-匿名算法进行结合,将Space Twist中的锚点替换为根据用户的位置隐私需求结合用户所在路网环境来产生的匿名区域,增强了隐私保护程度,但是此种方法在产生匿名区域的时候不仅增加了额外的开销,而且降低了查询服务的质量。
可见,现有技术中的各种位置隐私保护方法,虽然位置隐私保护的强度在不断增加,但是相应的基于位置信息的服务质量并没有提高,甚至在部分隐私保护方法下,查询服务的质量下降了。如何平衡位置隐私安全和查询服务质量之间的矛盾是很值得研究的一个问题。
因此,如何提供一种既能保证位置隐私安全、又能保证查询服务质量的位置隐私保护方法及系统,成为本领域技术人员亟需解决的技术问题。
发明内容
本发明的目的是提供一种位置隐私保护方法,所述方法既能保证位置隐私安全、又能保证查询服务质量。
为实现上述目的,本发明提供了如下方案:
一种位置隐私保护方法,所述方法包括:
根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,其中,各所述匿名组中用户的数量为K,K表示所述发出查询请求的各用户的匿名参数的最大值;
计算各所述匿名组的离心度;
判断离心度值最大的匿名组是否满足拆分条件,所述拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;
当离心度值最大的匿名组满足拆分条件时,将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中,并继续计算各所述匿名组的离心度,其中,满足所述拆分条件的匿名组包括各所述被拆分用户;
当离心度值最大的匿名组不满足拆分条件时,保留离心度值最大的匿名组。
可选的,所述根据发出查询请求的各用户的k密度及离群点因子构建各匿名组具体包括:
计算备选用户集中各用户的k密度及离群点因子,其中,所述备选用户集包括发出查询请求的各用户;
选出最大的k密度对应的用户作为匿名组的锚点;
计算所述锚点与所述备选用户集中剩余的各用户的距离;
按照各所述距离由小到大的顺序依次筛选出K-1个用户;
根据所述锚点和所述K-1个用户构建所述匿名组;
判断所述备选用户集中剩余用户的数量是否小于K;
如果所述备选用户集中剩余用户的数量大于或等于K,继续选出最大的k密度对应的用户作为匿名组的锚点;
如果所述备选用户集中剩余用户的数量小于K,将所述备选用户集中,小于离群点阈值的离群点因子对应的用户分配给距离所述小于离群点阈值的离群点因子对应的用户最近的匿名组中,并将大于或等于离群点阈值的离群点因子对应的用户分配给离群点队列。
可选的,根据公式:计算发出查询请求的各用户的离群点因子,其中,LOFk(r)表示用户r的离群点因子,Nk(r)表示所述用户r的k距离邻域中的用户,lrdk(o,PT)表示对象o的局部可达密度,lrdk(r,PT)表示对象r的局部可达密度,|Nk(r)|表示对象r的k距离邻域中用户的个数。
可选的,根据公式:计算匿名组C的离心度,其中,Cd(C)表示所述匿名组C的离心度,m表示所述匿名组C的锚点,r′表示所述匿名组C中的用户,dis tan ce(r′,m)表示所述用户r′与所述锚点m之间的距离,|Nk(r′)|表示所述匿名组C中用户的个数。
可选的,在所述将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中或所述保留离心度值最大的匿名组之后还包括:
筛选出每个匿名组中各用户可接受的匿名组区域面积的最大值A;
判断各所述匿名组的区域面积是否小于A;
如果所述匿名组的区域面积小于A,则根据公式:A=π×r1 2,调整所述匿名组的区域半径,其中,r1表示调整后的所述匿名组的区域半径;
如果所述匿名组的区域面积大于或等于A,所述匿名组保留原来的区域半径。
本发明的目的还在于提供一种位置隐私保护系统,所述系统既能保证位置隐私安全、又能保证查询服务质量。
为实现上述目的,本发明提供了如下方案:
一种位置隐私保护系统,所述系统包括:
匿名组构建模块,用于根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,其中,各所述匿名组中用户的数量为K,K表示所述发出查询请求的各用户的匿名参数的最大值;
第一计算模块,与所述匿名组构建模块连接,用于计算各所述匿名组的离心度;
第一判断模块,与所述第一计算模块连接,用于判断离心度值最大的匿名组是否满足拆分条件,所述拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;
拆分模块,拆分模块,分别与所述第一判断模块和所述第一计算模块连接,用于当离心度值最大的匿名组满足拆分条件时,将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中,其中,满足所述拆分条件的匿名组包括各所述被拆分用户,当离心度值最大的匿名组不满足拆分条件时,保留离心度值最大的匿名组。
可选的,所述匿名组构建模块具体包括:第一计算单元、锚点筛选单元、第二计算单元、用户筛选单元、匿名组构建单元、判断单元和分配单元,其中,
所述第一计算单元,用于计算备选用户集中各用户的k密度及离群点因子,其中,所述备选用户集包括发出查询请求的各用户;
所述锚点筛选单元,用于选出最大的k密度对应的用户作为匿名组的锚点;
所述第二计算单元,用于计算所述锚点与所述备选用户集中剩余的各用户的距离;
所述用户筛选单元,用于按照各所述距离由小到大的顺序依次筛选出K-1个用户;
所述匿名组构建单元,用于根据所述锚点和所述K-1个用户构建所述匿名组;
所述判断单元,用于判断所述备选用户集中剩余用户的数量是否小于K;
如果所述备选用户集中剩余用户的数量大于或等于K,所述锚点筛选单元继续选出最大的k密度对应的用户作为匿名组的锚点;
如果所述备选用户集中剩余用户的数量小于K,所述分配单元将所述备选用户集中,小于离群点阈值的离群点因子对应的用户分配给距离所述小于离群点阈值的离群点因子对应的用户最近的匿名组中,并将大于或等于离群点阈值的离群点因子对应的用户分配给离群点队列。
可选的,所述计算单元根据公式:计算发出查询请求的各用户的离群点因子,其中,LOFk(r)表示用户r的离群点因子,Nk(r)表示所述用户r的k距离邻域中的用户,lrdk(o,PT)表示对象o的局部可达密度,lrdk(r,PT)表示对象r的局部可达密度,|Nk(r)|表示对象r的k距离邻域中用户的个数。
可选的,所述系统还包括分别与所述匿名组构建模块和所述第一判断模块连接的离心度计算模块,所述离心度计算模块根据公式:计算匿名组C的离心度,其中,Cd(C)表示所述匿名组C的离心度,m表示所述匿名组C的锚点,r′表示所述匿名组C中的用户,dis tan ce(r′,m)表示所述用户r′与所述锚点m之间的距离,|Nk(r′)|表示所述匿名组C中用户的个数。
可选的,所述系统还包括:
最大面积获取模块,与所述拆分模块连接,用于筛选出每个匿名组中各用户可接受的匿名组区域面积的最大值A;
第三判断模块,与所述最大面积获取模块连接,用于判断各所述匿名组的区域面积是否小于A;
调整模块,与所述第三判断模块连接,用于当所述匿名组的区域面积小于Amin时,根据公式:Amin=π×r1 2,调整所述匿名组的区域半径,其中,r1表示调整后的所述匿名组的区域半径,当所述匿名组的区域面积大于或等于A,所述匿名组保留原来的区域半径。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提出的基于聚类的k-匿名位置隐私保护方法及系统,初次构建的匿名组即可满足各用户可接受的匿名组内用户个数的要求,在此基础上再对某些满足拆分条件的匿名组进行拆分,拆分用户会被分到其他匿名组,因此,最终建立的各匿名组可以保证每个匿名组内用户数量大于等于用户指定的匿名参数,达到用户位置信息k匿名的目的,从而保证用户位置隐私的安全。
同时,本发明根据各用户的k密度及离群点因子构建的匿名组,能够去除离群点用户,而且根据离心度值对满足拆分条件的匿名组进行了拆分,因此,在进行查询服务时,结果集可以兼顾到匿名组内大部分用户的查询需求,从而有效保证查询服务的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为采用中心服务器的查询系统的结构示意图;
图2为本发明实施例1的流程图;
图3为本发明实施例1步骤11的流程图;
图4为本发明实施例2的结构框图;
图5为本发明实施例2匿名组构建模块21的结构框图;
图6为本发明实施例3中对象r的k距离示意图;
图7为本发明实施例3匿名组调整阶段示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,采用中心服务器的系统包括客户端101、匿名服务器102、LBS提供商的位置服务器103和数据库104。其中匿名服务器102是可信的,并且客户端101与可信的匿名服务器102之间的通信经过加密认证;可信的匿名服务器102与LBS提供商的位置服务器103之间的通信不能保证是否安全,攻击者可通过窃听、截取等方式发起攻击。
采用中心服务器的系统的查询过程按如下:
客户端101发出查询请求M,并给出隐私要求即匿名组内最少用户数量Kmin以及匿名区域最小面积Amin值,将查询信息M加密后发送给匿名服务器102;
匿名服务器102通过聚类k-匿名算法进行匿名分组,得到匿名结果集C,把C发送给LBS服务器103;
LBS服务器103根据匿名集中锚点位置信息l和查询信息集合inqs进行查询处理,找到符合条件的候选集结果R;
现有技术中的各种位置隐私保护方法,位置隐私保护的强度在不断增加,但是相应的基于位置信息的服务质量并没有提高,甚至在部分隐私保护方法下,查询服务的质量下降了。如何平衡位置隐私安全和查询服务质量之间的矛盾是很值得研究的一个问题。
发明的目的是提供一种位置隐私保护方法及系统,所述方法及系统既能保证位置隐私安全、又能保证查询服务质量。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1:
如图2所示,一种位置隐私保护方法,所述方法包括:
步骤11:根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,其中,各所述匿名组中用户的数量为K,K表示所述发出查询请求的各用户的匿名参数的最大值;
步骤12:计算各匿名组的离心度;
步骤13:判断离心度值最大的匿名组是否满足拆分条件,拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;
如果离心度值最大的匿名组满足拆分条件,执行步骤15,否则,执行步骤14;
步骤14:保留离心度值最大的匿名组;
步骤15:将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中,并继续计算各所述匿名组的离心度,其中,满足所述拆分条件的匿名组包括各所述被拆分用户;
本实施例中,根据公式:计算匿名组C的离心度,其中,Cd(C)表示所述匿名组C的离心度,m表示所述匿名组C的锚点,r′表示所述匿名组C中的用户,dis tan ce(r′,m)表示所述用户r′与所述锚点m之间的距离,|Nk(r′)|表示所述匿名组C中用户的个数。
步骤16:筛选出每个匿名组中各用户可接受的匿名组区域面积的最大值A;
步骤17:判断各所述匿名组的区域面积是否小于A;
若是,执行步骤18,否则,执行步骤19;
步骤18::根据公式:A=π×r1 2,调整所述匿名组的区域半径,其中,r1表示调整后的所述匿名组的区域半径;
步骤19:匿名组保留原来的区域半径。
如图3所示,步骤11:根据发出查询请求的各用户的k密度及离群点因子构建各匿名组具体包括:
步骤111:计算备选用户集中各用户的k密度及离群点因子,其中,备选用户集包括发出查询请求的各用户;
步骤112:选出最大的k密度对应的用户作为匿名组的锚点;
步骤113:计算所述锚点与所述备选用户集中剩余的各用户的距离;
步骤114:按照各所述距离由小到大的顺序依次筛选出K-1个用户;
步骤115:根据锚点和所述K-1个用户构建所述匿名组;
步骤116:判断备选用户集中剩余用户的数量是否小于K,
如果备选用户集中剩余用户的数量大于或等于K,返回步骤112;
如果备选用户集中剩余用户的数量小于K,执行步骤117;
步骤117:判断各用户的离群点因子是否小于离群点阈值;
若是,执行步骤118,否则执行步骤119;
步骤118:将小于离群点阈值的离群点因子对应的用户分配给与其距离最近的匿名组;
步骤119:将大于或等于离群点阈值的离群点因子对应的用户分配给离群点队列,离群点队列W中的用户对象将并入下一轮查询。
具体地,本实施例中,根据公式:计算发出查询请求的各用户的离群点因子,其中,LOFk(r)表示用户r的离群点因子,Nk(r)表示所述用户r的k距离邻域中的用户,lrdk(o,PT)表示对象o的局部可达密度,lrdk(r,PT)表示对象r的局部可达密度,|Nk(r)|表示对象r的k距离邻域中用户的个数。
本实施例中,还设置有备用用户队列,当备选用户集中的用户数量,即发出查询请求的用户数量小于K时,首先从备用用户队列中提取(K-K′)个备用用户补充到备选用户集中,使备选用户集中用户数量达到K,其中,K′<K,K′表示备选用户集中的用户数量。
本发明提出的基于聚类的k-匿名位置隐私保护方法,最终建立的各匿名组可以保证每个匿名组内用户数量大于等于用户指定的匿名参数,达到用户位置信息k匿名的目的,从而保证用户位置隐私的安全。而且,在匿名组的建立过程中从匿名组中去除了离群点用户,因此,在进行查询服务时,结果集可以兼顾到匿名组内大部分用户的查询需求,从而有效保证查询服务的质量。
实施例2:
如图4所示,位置隐私保护系统包括:
匿名组构建模块21,用于根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,其中,各所述匿名组中用户的数量为K,K表示所述发出查询请求的各用户的匿名参数的最大值;
第一计算模块22,与所述匿名组构建模块21连接,用于计算各所述匿名组的离心度;
第一判断模块23,与所述第一计算模块22连接,用于判断离心度值最大的匿名组是否满足拆分条件,所述拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;
拆分模块24,分别与所述第一判断模块23和所述第一计算模块22连接,用于当离心度值最大的匿名组满足拆分条件时,将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中,其中,满足所述拆分条件的匿名组包括各所述被拆分用户,当离心度值最大的匿名组不满足拆分条件时,保留离心度值最大的匿名组。
最大面积获取模块25,与所述拆分模块24连接,用于筛选出每个匿名组中各用户可接受的匿名组区域面积的最大值A;
第三判断模块26,与所述最大面积获取模块25连接,用于判断各所述匿名组的区域面积是否小于A;
调整模块27,与所述第三判断模块26连接,用于当所述匿名组的区域面积小于Amin时,根据公式:Amin=π×r1 2,调整所述匿名组的区域半径,其中,r1表示调整后的所述匿名组的区域半径,当所述匿名组的区域面积大于或等于A,所述匿名组保留原来的区域半径。
如图5所示,所述匿名组构建模块21具体包括:第一计算单元211、锚点筛选单元212、第二计算单元213、用户筛选单元214、匿名组构建单元215、判断单元216和分配单元217,其中,
所述第一计算单元211,用于计算备选用户集中各用户的k密度及离群点因子,其中,所述备选用户集包括发出查询请求的各用户;
所述锚点筛选单元212,用于选出最大的k密度对应的用户作为匿名组的锚点;
所述第二计算单元213,用于计算所述锚点与所述备选用户集中剩余的各用户的距离;
所述用户筛选单元214,用于按照各所述距离由小到大的顺序依次筛选出K-1个用户;
所述匿名组构建单元215,用于根据所述锚点和所述K-1个用户构建所述匿名组;
所述判断单元216,用于判断所述备选用户集中剩余用户的数量是否小于K;
如果所述备选用户集中剩余用户的数量大于或等于K,所述锚点筛选单元212继续选出最大的k密度对应的用户作为匿名组的锚点;
如果所述备选用户集中剩余用户的数量小于K,所述分配单元217将所述备选用户集中,小于离群点阈值的离群点因子对应的用户分配给距离所述小于离群点阈值的离群点因子对应的用户最近的匿名组中,并将大于或等于离群点阈值的离群点因子对应的用户分配给离群点队列。
本实施例中,所述第一计算单元211根据公式:计算发出查询请求的各用户的离群点因子,其中,LOFk(r)表示用户r的离群点因子,Nk(r)表示所述用户r的k距离邻域中的用户,lrdk(o,PT)表示对象o的局部可达密度,lrdk(r,PT)表示对象r的局部可达密度,|Nk(r)|表示对象r的k距离邻域中用户的个数。
本实施例中,所述第一计算模块22根据公式:计算匿名组C的离心度,其中,Cd(C)表示所述匿名组C的离心度,m表示所述匿名组C的锚点,r′表示所述匿名组C中的用户,dis tan ce(r′,m)表示所述用户r′与所述锚点m之间的距离,|Nk(r′)|表示所述匿名组C中用户的个数。
本发明提出的基于聚类的k-匿名隐私保护机制,利用聚类的思想进行匿名组的构造,把用户数据抽象为数据对象,同时引入离群点的概念,在匿名组构造过程中消除离群点来优化匿名组内用户的分布,匿名组调整阶段根据离心度对匿名组进行拆分与合并,能够消除已有的k-匿名分组中离群点对分组查询的影响,使得查询服务更加符合预期的要求,在不影响位置信息安全性下,能够有效缓和隐私保护和查询服务质量之间的矛盾问题。
实施例3:
本实施例中,将用户发出的查询信息M表示为:
M={mid,loc,inq,Kmin,Amin} (1)
其中,mid表示用户的标识信息,loc=(x,y)代表用户发出查询时的位置信息,x代表用户的经度位置,y代表用户的纬度位置;inq表示用户发出的查询内容,其可以是单条内容,也可以是多条内容的集合;Kmin是匿名参数,代表用户可接受的匿名组内用户的最小个数,Kmin越大,隐私保护程度越高;Amin代表用户可接受的匿名组区域最小面积大小;参数loc由定位系统给出,inq、Kmin和Amin由用户指定。
匿名结果集C,即匿名服务器对用户信息匿名处理后的匿名组信息,表示为:
C={nid,m,L,inqs,s} (2)
其中nid表示匿名组的标识信息;m表示匿名组内用户标识信息集合;L=(X,Y)表示匿名组查询锚点的位置信息,X表示锚点的经度位置,Y表示锚点的纬度位置;inqs表示查询时刻匿名组内各用户发出的查询信息的集合,s代表匿名组的区域面积。匿名组的区域面积,即匿名组内各个用户分布所形成的的区域,在此区域中至少有K个用户,其中K表示匿名组内各用户所指定的Kmin的最大值,并且每个用户是无法区分的,此区域的面积至少要大于匿名组内各个用户所指定的最大的Amin的值。
一种位置隐私保护方法包括:
步骤31:根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,其中,各所述匿名组中用户的数量为K,K表示所述发出查询请求的各用户的匿名参数的最大值;
本实施例把所研究用户所在空间记作PT,每个用户看做一个对象,设某个对象r的k距离就是r到它的k个最近邻用户的最大距离,这个距离记作k-dist(r)。在空间PT中,若存在对象o∈PT,它与对象r之间的距离记作d(r,o),该距离应满足:
(1)对于至少k个对象o'∈PT,有d(r,o')≤d(r,o);
(2)最多有k-1个对象o"∈P,使得d(r,o")<d(r,o)成立;
如图6所示,k=10,k距离是r与o之间的距离。
对象r的k距离邻域,记作Nk(r),该邻域代表以r为圆心,以k-dist(r)为半径的区域内所有对象的集合。
对象r相对于对象o的可达距离reach_disk(r,o)=max{k-dist(r),d(o,r)},即k-dist(r)和d(r,o)中较大的一个。
在用户空间PT中,对象r是PT中的一个用户。设distK(i)(0<i≤k)是所有dist(r,rj)(0<j≤|PT|)中最小的k个距离,dist(r,rj)表示用户rj与对象r之间的距离。定义在空间PT下,对象r的k最近邻居距离如下:
以对象r的k最近邻距离的倒数来表征对象r在用户空间PT中的密度大小,记作对象r的k密度。
可见,对象r的k密度越大,则表示r与其周围对象的距离越小。对象的k密度越大,可选做匿名组锚点的概率越大,把k密度最大的对象作为匿名组锚点,可以有效减小查询服务时的误差。
对象r的局部可达密度是基于r的k最近邻点的平均可达密度的倒数,对象r的局部可达密度为:
其中,lrdk(r,PT)表示对象r的局部可达密度,Nk(r)表示r的k距离邻域中的用户对象,|Nk(r)|表示r的k距离邻域中用户对象的个数。
对象r的离群点因子(LOF)表征了r为离群点的程度,其定义如下:
它是r和它的k最近邻局部可达密度的比率的平均值。可见,假如对象r的离散程度越大,那么它k邻域中大多数数据对象是离对象r较远的,这些数据对象的局部可达密度应该是偏大,而对象r本身的局部可达密度是偏小,因此相对来说两者的比值,即离群点因子的值也是偏大。相反,假如对象r的离群程度较小,对象o的局部可达密度和对象r的局部可达密度相似,则两者的比值,即离群点因子的值应该接近1。因此,可以通过计算LOFk(r)来判断r是否是局部离群点。
步骤32:计算各匿名组的离心度;
匿名组的离心度可用匿名组内各点与匿名组锚点的平均距离来表征,即若m为匿名组C的锚点,则C的离心度为:
其中,Cd(C)表示所述匿名组C的离心度,m表示所述匿名组C的锚点,r′表示所述匿名组C中的用户,distance(r′,m)表示所述用户r′与所述锚点m之间的距离,|Nk(r′)|表示所述匿名组C中用户的个数。
步骤33:判断离心度值最大的匿名组是否满足拆分条件,拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;
若是,执行步骤34,否则,保留离心度值最大的匿名组;
步骤34:将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中,并继续计算各所述匿名组的离心度,其中,满足所述拆分条件的匿名组包括各所述被拆分用户;
基于聚类的k匿名算法的基本思想就是利用聚类的方法实现匿名组的划分,把分布相对集中的用户划分到同一匿名组中。首先用户将查询请求发送给TTP,TTP进行基本处理后得到一个用户数据集P。计算P中的每个对象的初始k密度以及离群点因子LOF,并把各用户按k密度降序放到优先队列Q里面。
Q中的每个对象至少包括以下内容:m(用户的查询请求M),den(对象的k密度),assign(对象的分配状态),lof(离群点因子),radius(对象的k距离)。初始状态下Q中的每个对象e的e.assigned状态设置为false。
利用k-聚类方法进行匿名分组:首先利用聚类方法生成大小为K的匿名组;然后对匿名组进行调整,把匿名组调整为符合要求的匿名组。
采用算法实现本申请的位置隐私保护方法的流程如下:
(1)匿名算法主要流程:
输入:数据集P,正整数K(隐私需求,即各用户的匿名参数Kmin中最大的值)
输出:聚类匿名集,C={C1,C2,...,Cm},|Ci|≥kmin,i=1,...,m,其中|Ci|表示匿名组Ci中的用户数量;
步骤311:对P中每个对象r使用公式(2)计算k密度denK(r,P);
步骤312:把P中的每个对象按k密度降序排列,并分别放入队列Q和Q’中,使用公式(4)计算Q中所有对象的离群点因子LOF;
步骤313:聚类构造每个匿名组的初始锚点选择应该为k密度最大的对象,由于Q中每个对象是按k密度降序排列,因此每个匿名组锚点直接选为队列Q的队首元素即可,匿名组内剩余对象选为P中与锚点聚类最近的K-1个对象;聚类完成一次匿名分组之后,数据集P中剩余对象的k密度和LOF发生了变化,因此要更新队列Q中对象的k密度和对象的LOF,依次聚类完成匿名分组,直至数据集P中对象数量少于K;
检查剩余对象的离群点因子,将离群点阈值设置为2,小于离群点阈值的离群点因子对应的用户为正常对应,则将其分配入距其最近的匿名组,将大于或等于离群点阈值的离群点因子对应的用户为离群点,将其分配给离群点队列。
(2)匿名组初始划分完成,得到初始匿名组数据集C*,调用调整匿名组函数AdjustGroup()对匿名组满足条件的匿名组进行调整:
调整函数AdjustGroup()的基本思想是将离心度较大的几个匿名组合并到其他匿名组,主要作用是拆除掉一些用户对象分布不合理的匿名组,在此过程中同样剔除掉离群点对象,提高查询服务质量。
调整示例如图7所示:
构造集合Cbp来存储已经被调整过的匿名组;首先对离心度值最大的匿名组进行拆分,将离心度值最大的匿名组中的被拆分用户分配给距离其最近的其他匿名组中,比较调整过之后的各匿名组离心度的和与调整之前各匿名组离心度的和的大小,假如匿名组调整之后离心度和增大,则放弃对该匿名组进行拆分的调整,并不再拆分其他匿名组。否则,对数据集中更新后的匿名组继续进行上述操作,最终得到调整结果集,C’=Cbp。
(3)以上过程已基本完成匿名组的构造,但最后各个匿名组区域半径需满足用户查询要求。由于匿名组中的对象数据是按照密度大小降序排列,匿名组锚点即各个匿名组的队首元素,调整初始将锚点的k-距离设即匿名组区域半径,调整过程如下:
输入:调整结果集,
输出:匿名结果集,C={C1,C2,...,Cn},|Ci|≥K,i=1,...,n;
遍历Ci',获取匿名组Ci'内用户标识集合mi,查询信息集合inqsi,并比较得到Amin的最大值A,判断各匿名组的区域面积是否小于A;
如果所述匿名组的区域面积小于A,则根据公式:A=π×r1 2,调整匿名组的区域半径,其中,r1表示调整后的所述匿名组的区域半径,即调整每个匿名组内的锚点即匿名组队列的队首元素,调整匿名组区域半径即调整队首元素的k距离大小。
如果所述匿名组的区域面积大于或等于A,所述匿名组保留原来的区域半径。
最后利用匿名组内用户标识集合mi,查询信息集合inqsi,匿名组的区域半径,锚点的坐标信息等构造Ci。
综上,完成匿名查询信息,匿名服务器可将匿名查询信息发送给LBS服务器进行相应的查询服务,离群点队列队列W中的用户对象将并入下一轮查询。
由于现有技术中的各类隐私保护方法,实现位置隐私保护最基本的思想就是通过不同的匿名组构造方案来实现用户位置信息的k-匿名,其存在以下问题:
1.隐私需求的个性化服务。不同的用户对于隐私保护的程度的需求是不同的,隐私保护方案应该支持用户的个性化需求,而不是去指定隐私保护的参数。
2.位置隐私的安全问题。有的隐私保护算法过于追求匿名处理的性能而忽视了位置隐私可能被泄露的问题,比如Space Twist算法。
3.算法的性能问题。考虑位置隐私保护强度以及查询质量的同时,还应考虑算法的执行效率,在LBS服务过程中加入隐私保护之后,应尽量减少匿名过程所占用的时间。
本发明针对现有技术中无法平衡位置隐私保护和查询服务质量之间的矛盾的问题,利用聚类的方法构造匿名组,经实验证明有不错的匿名效率以及匿名成功率;并引入离群点的概念,通过消除匿名组内存在的离群点,来尽可能减小匿名对查询服务质量的影响,而且上述方法还支持用户指定隐私保护参数,满足用户的个性化需求。
下面对本发明提供的隐私保护方法的性能进行分析:
(1)复杂度分析
首先对数据集P中用户对象的k密度计算后使用快速排序法排序,需要的时间为O(nlogn)。主程序完成匿名组构建的时间为ET=(n-1)+(n-2)+...+K≈n(n-1)/2,即ET的时间复杂度为O(n2)。调整匿名组的执行次数不多于K。函数AdjustCluster()主要的循环代码在判断匿名组的离心度,需要找最近邻匿名组,与主程序寻找最近邻点类似,因此时间复杂度同样为O(n2)。最后对匿名组邻域面积的调整时间为O(m)<O(n2),因此基于密度k聚类算法时间复杂度为O(n2)。
(2)安全性分析
k匿名算法的安全性要求主要是两个方面,匿名组内是否包含了多于K个的用户对象,匿名区域面积是否超过了一定大小。本发明提供的基于聚类的k-匿名算法,从所给出的算法描述可看出,首次匿名分组会保证每个匿名组内用户对象数为K,在匿名组调整阶段,某些匿名组会被拆分用户对象会被分到其他匿名组,因此完成匿名分组后可以保证每个匿名组内用户数量至少为K,实现用户位置信息k匿名的要求。实现匿名组划分之后,算法还会要求假如匿名组区域面积达不到最低要求A的话,至少要把区域面积扩充到A,这样也避免了由于匿名区域面积过小导致的用户位置信息泄露的问题。综合这两方面,在当前预知的相关攻击下,此算法是安全的,可以有效保护用户的位置信息。
(3)查询服务质量分析
就LBS端的查询服务来说,LBS端的查询方法一般分为两种,最近K邻①(K-NearestNeighbors,KNN)查询方法;②范围查询方法。LBS根据匿名区域R,将数据库中满足条件的兴趣点形成候选集CS返给客户端。
本算法选用第二种方式通过给出匿名组锚点信息来实现,使用此种查询方法如何减小因匿名而带来的查询误差是提高服务质量的关键。基于聚类的k匿名算法匿名组内锚点的选取是基于用户对象的分布密度,所选用户对象是在匿名组中k密度最大的,相对其他用户对象来说,其分布位置为匿名组的中心,并且本算法在构造匿名组过程中消除掉了其中可能存在的离群点,因此在进行查询服务时结果集可以兼顾到匿名组内大部分用户的查询需求,因此本算法可以有比较好的查询服务的质量;而且本算法支持用户指定自己的隐私需求,支持个性化的隐私保护。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种位置隐私保护方法,其特征在于,所述方法包括:
根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,其中,各所述匿名组中用户的数量为K,Z表示所述发出查询请求的各用户的匿名参数的最大值;
计算各所述匿名组的离心度;
判断离心度值最大的匿名组是否满足拆分条件,所述拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;
当离心度值最大的匿名组满足拆分条件时,将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中,并继续计算各所述匿名组的离心度,其中,满足所述拆分条件的匿名组包括各所述被拆分用户;
当离心度值最大的匿名组不满足拆分条件时,保留离心度值最大的匿名组。
2.根据权利要求1所述的方法,其特征在于,所述根据发出查询请求的各用户的k密度及离群点因子构建各匿名组具体包括:
计算备选用户集中各用户的k密度及离群点因子,其中,所述备选用户集包括发出查询请求的各用户;
选出最大的k密度对应的用户作为匿名组的锚点;
计算所述锚点与所述备选用户集中剩余的各用户的距离;
按照各所述距离由小到大的顺序依次筛选出K-1个用户;
根据所述锚点和所述K-1个用户构建所述匿名组;
判断所述备选用户集中剩余用户的数量是否小于K;
如果所述备选用户集中剩余用户的数量大于或等于K,继续选出最大的k密度对应的用户作为匿名组的锚点;
如果所述备选用户集中剩余用户的数量小于K,将所述备选用户集中,小于离群点阈值的离群点因子对应的用户分配给距离所述小于离群点阈值的离群点因子对应的用户最近的匿名组中,并将大于或等于离群点阈值的离群点因子对应的用户分配给离群点队列。
5.根据权利要求1所述的方法,其特征在于,在所述保留离心度值最大的匿名组之后还包括:
筛选出每个匿名组中各用户可接受的匿名组区域面积的最大值A;
判断各所述匿名组的区域面积是否小于A;
如果所述匿名组的区域面积小于A,则根据公式:A=π×r1 2,调整所述匿名组的区域半径,其中,r1表示调整后的所述匿名组的区域半径;
如果所述匿名组的区域面积大于或等于A,所述匿名组保留原来的区域半径。
6.一种位置隐私保护系统,其特征在于,所述系统包括:
匿名组构建模块,用于根据发出查询请求的各用户的k密度及离群点因子构建各匿名组,其中,各所述匿名组中用户的数量为K,Z表示所述发出查询请求的各用户的匿名参数的最大值;
第一计算模块,与所述匿名组构建模块连接,用于计算各所述匿名组的离心度;
第一判断模块,与所述第一计算模块连接,用于判断离心度值最大的匿名组是否满足拆分条件,所述拆分条件为:拆分后的各匿名组的离心度的和小于拆分前的各匿名组的离心度的和;
拆分模块,分别与所述第一判断模块和所述第一计算模块连接,用于当离心度值最大的匿名组满足拆分条件时,将各被拆分用户分配给距离各所述被拆分用户最近的匿名组中,其中,满足所述拆分条件的匿名组包括各所述被拆分用户,当离心度值最大的匿名组不满足拆分条件时,保留离心度值最大的匿名组。
7.根据权利要求6所述的系统,其特征在于,所述匿名组构建模块具体包括:第一计算单元、锚点筛选单元、第二计算单元、用户筛选单元、匿名组构建单元、判断单元和分配单元,其中,
所述第一计算单元,用于计算备选用户集中各用户的k密度及离群点因子,其中,所述备选用户集包括发出查询请求的各用户;
所述锚点筛选单元,用于选出最大的k密度对应的用户作为匿名组的锚点;
所述第二计算单元,用于计算所述锚点与所述备选用户集中剩余的各用户的距离;
所述用户筛选单元,用于按照各所述距离由小到大的顺序依次筛选出K-1个用户;
所述匿名组构建单元,用于根据所述锚点和所述K-1个用户构建所述匿名组;
所述判断单元,用于判断所述备选用户集中剩余用户的数量是否小于K;
如果所述备选用户集中剩余用户的数量大于或等于K,所述锚点筛选单元继续选出最大的k密度对应的用户作为匿名组的锚点;
如果所述备选用户集中剩余用户的数量小于K,所述分配单元将所述备选用户集中,小于离群点阈值的离群点因子对应的用户分配给距离所述小于离群点阈值的离群点因子对应的用户最近的匿名组中,并将大于或等于离群点阈值的离群点因子对应的用户分配给离群点队列。
10.根据权利要求6所述的系统,其特征在于,所述系统还包括:
最大面积获取模块,与所述拆分模块连接,用于筛选出每个匿名组中各用户可接受的匿名组区域面积的最大值A;
第三判断模块,与所述最大面积获取模块连接,用于判断各所述匿名组的区域面积是否小于A;
调整模块,与所述第三判断模块连接,用于当所述匿名组的区域面积小于Amin时,根据公式:Amin=π×r1 2,调整所述匿名组的区域半径,其中,r1表示调整后的所述匿名组的区域半径,当所述匿名组的区域面积大于或等于A,所述匿名组保留原来的区域半径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710477842.XA CN107204984B (zh) | 2017-06-22 | 2017-06-22 | 一种位置隐私保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710477842.XA CN107204984B (zh) | 2017-06-22 | 2017-06-22 | 一种位置隐私保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107204984A CN107204984A (zh) | 2017-09-26 |
CN107204984B true CN107204984B (zh) | 2020-05-19 |
Family
ID=59907092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710477842.XA Active CN107204984B (zh) | 2017-06-22 | 2017-06-22 | 一种位置隐私保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107204984B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108566373B (zh) * | 2018-03-06 | 2020-06-12 | 清华大学 | 保护用户隐私的位置信息发布系统 |
CN111263362B (zh) * | 2020-01-15 | 2023-04-07 | 甘肃机电职业技术学院(甘肃省机械工业学校、甘肃省机械高级技工学校) | 基于密度分布的k-匿名位置隐私保护方法及系统 |
CN112188394A (zh) * | 2020-10-09 | 2021-01-05 | 华侨大学 | 具有锚点位置隐私信息保护能力的通信可调节点定位协议 |
CN112866992B (zh) * | 2021-01-22 | 2022-04-22 | 湖南大学 | 一种位置隐私保护方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105307111A (zh) * | 2014-07-07 | 2016-02-03 | 南京理工大学常熟研究院有限公司 | 一种基于增量近邻查询的位置隐私保护方法 |
CN105553827A (zh) * | 2015-12-10 | 2016-05-04 | 北京理工大学 | 一种匿名网络中兼顾匿名性与通信时延的消息转发方法 |
CN105812354A (zh) * | 2016-03-07 | 2016-07-27 | 江苏大学 | 一种lbs背景下车联网中基于抗攻击的位置隐私保护方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8893224B2 (en) * | 2006-08-29 | 2014-11-18 | Microsoft Corporation | Zone policy administration for entity tracking and privacy assurance |
US10091646B2 (en) * | 2014-08-29 | 2018-10-02 | Apple Inc. | Reduced resolution location determination for improved anonymity of user location |
-
2017
- 2017-06-22 CN CN201710477842.XA patent/CN107204984B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105307111A (zh) * | 2014-07-07 | 2016-02-03 | 南京理工大学常熟研究院有限公司 | 一种基于增量近邻查询的位置隐私保护方法 |
CN105553827A (zh) * | 2015-12-10 | 2016-05-04 | 北京理工大学 | 一种匿名网络中兼顾匿名性与通信时延的消息转发方法 |
CN105812354A (zh) * | 2016-03-07 | 2016-07-27 | 江苏大学 | 一种lbs背景下车联网中基于抗攻击的位置隐私保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107204984A (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107204984B (zh) | 一种位置隐私保护方法及系统 | |
Wu et al. | A cooperative computing strategy for blockchain-secured fog computing | |
JP4681615B2 (ja) | ノードのワークロードの分割 | |
EP2923459B1 (en) | Multi-objective server placement determination | |
Dong et al. | Novel privacy-preserving algorithm based on frequent path for trajectory data publishing | |
Kazemi et al. | A privacy-aware framework for participatory sensing | |
CN105246072B (zh) | 一种路网环境下的用户位置隐私保护方法和系统 | |
WO2020173287A1 (en) | Systems and methods for determining network shards in blockchain network | |
CN110287392B (zh) | 一种基于安全划分树的安全空间网络查询方法 | |
US20160173404A1 (en) | Method to jointly select cloud computing and network services and associated device | |
Chen et al. | MapReduce skyline query processing with a new angular partitioning approach | |
KR101937188B1 (ko) | 블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말 | |
US11388175B2 (en) | Threat detection of application traffic flows | |
US20230367749A1 (en) | Data migration method and apparatus, device, medium, and computer product | |
US20190289433A1 (en) | Mobile device location proofing | |
CN109583227B (zh) | 一种隐私信息保护方法、装置及系统 | |
CN107707566B (zh) | 一种基于缓存和位置预测机制的轨迹隐私保护方法 | |
CN106803825B (zh) | 基于查询范围的匿名区构造方法 | |
CN109495565B (zh) | 基于分布式泛在计算的高并发服务请求处理方法和设备 | |
Salem et al. | Toward inference delivery networks: Distributing machine learning with optimality guarantees | |
Kim et al. | Hilbert‐order based spatial cloaking algorithm in road network | |
CN113595907A (zh) | 一种基于sslvpn下发路由策略的聚合方法和装置 | |
US20160076901A1 (en) | Method and apparatus of computing location of safe exit for moving range query in road network | |
ES2821967T3 (es) | Procedimiento para detectar aplicaciones de terminales de usuarios móviles | |
JP6580212B1 (ja) | 通信装置、通信方法、および、通信プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230601 Address after: 065000 Workshop 1, No. 19 Anjin Road, Economic Development Zone, Anci District, Langfang City, Hebei Province Patentee after: Langfang Meiyin Information Technology Co.,Ltd. Address before: 050000 17 North East Ring Road, Shijiazhuang, Hebei Patentee before: SHIJIAZHUANG TIEDAO University |
|
TR01 | Transfer of patent right |