一种基于空间区域匿名的位置隐私保护方案的制作方法

文档序号:8514604阅读:197来源:国知局
一种基于空间区域匿名的位置隐私保护方案的制作方法
【技术领域】
[0001]本发明涉及位置隐私保护领域,具体是一种基于空间区域匿名的位置隐私保护方案。
技术背景
[0002]随着无线通信和移动技术的快速发展,使移动用户随时查询任意信息成为可能,使得基于位置的服务(locat1n-based services,LBS)技术得到广泛应用,比如:全球卫星定位系统、通过W1-Fi接入点的定位等,为移动用户提供与当前位置有关的个性化服务。生活中基于位置的服务随处可见,例如:旅游服务、基于用户当前的位置查询距离用户最近的加油站或饭店等。人们在尽情地享受服务的同时,新的问题出现了:位置隐私泄露。位置信息具有敏感性,因为它与人们的日常生活息息相关,而且可能会因为位置信息的泄露导致其他的隐私信息被泄露,例如:出行频繁的地方,如医院可能会使个人健康状况暴露;如私密地方可能会泄露用户个人的隐秘信息等。因此,用户希望使用基于位置的服务同时不暴露自己的位置信息。所以,位置隐私保护备受人们的关注。
[0003]目前,国内外位置隐私保护主要采用基于中心服务器模型,用户首先将请求发送给可信的匿名服务器,可信的匿名服务器将用户的服务请求按照用户的隐私需求组成一个包括K个用户的匿名区域,然后再将更新后的请求发送给位置服务器,可信的匿名服务器从位置服务器获取到查询的结果集,根据用户的需求对候选结果集求精后再发送给用户,但是,中心服务器模型和K-匿名技术的结合会增加可信的匿名服务器的计算开销、延长响应时间、服务质量低等。
[0004]一些学者提出了协作模型,即分布式点对点结构。用户之间通过协作方式形成K-匿名的用户组,形成一个匿名区域,或者使用匿名区域中的假位置向位置服务器发送查询,再利用匿名组成员接收求精结果集。但是,协作模型的匿名性仅仅在于K值的大小,随着K值的增大,服务质量将会降低,并且还可能遭受到区域中心攻击。

【发明内容】

[0005]本发明的主要目的是提供一种基于空间区域匿名的位置隐私保护方案,旨在既能更好的保护用户的位置隐私,又能满足用户高质量的服务需求。
[0006]本发明方案系统架构包括三个部分:移动用户、可信的匿名服务器以及位置服务器;其中,所述可信的匿名服务器包括有匿名引擎、假名匿名处理器、假位置匿名处理器、求精处理器以及共享位置数据库;匿名引擎负责接收移动用户的请求消息、转发请求消息给假名匿名处理、共享位置数据库的查询以及转发精确结果集消息给移动用户。
[0007]为了实现上述目的,本发明的技术方案如下。
[0008]定义如下:
[0009]定义I dis(Loc,Loc’ ):表示点Loc与点Loc’的距离;Loc为Loc (x,y)的缩写,Loc (X,y)中X表示经度,y表示玮度。
[0010]定义2 Flag:表示用户需要的匿名等级。随着Flag的增加,M、K、R的值也随着增加,其中M、K值是调节匿名区域大小的重要参数,它的值决定了用户的匿名等级,M、K的默认值为100m ;R决定了 Loc’的生成范围,默认值为500m。
[0011]定义3 Q(Id,Loc,Query,Range,Flag):由用户发送给可信的匿名服务器的请求消息。Id表示用户的唯一身份标识符,Loc表示用户的位置信息,Query表示查询的关键字,Range表示用户查询的范围,Flag表示用户需要的匿名等级。
[0012]定义4 q’(Id’,Loc,Query,Range,Flag):经过假名匿名处理后的请求消息。Id’为经过假名处理后的身份标识符。
[0013]定义5 Q’(Id’,Loc’,Query,Range_l,Range_2):由可信的匿名服务器发送给位置服务提供商的请求消息。其中Loc’是在以Loc为圆心,半径为R-500、R的圆环区域内的任意位置(可信的匿名服务器根据Flag值相应的设置R的值)。其中Range_l、Range_2表示以Loc’为圆心的圆环状匿名区域的两个半径即外半径和内半径,分别为Range_l =dis (Loc, Loc,) +Range+M, Range_2 = dis (Loc, Loc,) -Range-K (当 Range_2 < 0 时,则令Range_2 = 0)。
[0014]定义6 Rs (Id, ReslutSet):1d表示为身份标识符,ResultSet表示未经求精处理的结果集即候选结果集。
[0015]定义7 Rs’ (Id, Result):1d表示为身份标识符,Result表示经求精处理的结果集即精确结果集。
[0016]定义8 ID列表:存储用户的身份标识符。
[0017]定义9 MapID:保存(Id,Loc, Range,Query)与 Id’ 相对应的信息。
[0018]定义10共享位置数据库:共享位置数据库主要用于检索和存储求精结果集,在共享位置数据库中存在两张表:索引表(Tjndex)、数据表(T_data)。
[0019]定义11 T_index (Index, Loc, Range, Query, time):1ndex表不表的主键;Loc 为位置信息;Range表示用户的查询范围;Query表示查询关键字;time表示记录的插入时间,默认为记录插入时系统的当前时间。
[0020]定义12 T_data (Index, Loc, fk_index):1ndex 表不表的主键;Loc 表不 fk_index对应的查询结果集中的一个位置数据;fk_index是T_data的外键,用来关联索引表T_index的记录。
[0021 ] 共享位置数据库具有功能:
[0022]I)存储求精结果集。当共享位置数据库接收求精结果集后,把请求信息Q中的Loc、Query、Range附加一个当前时间time组成一条记录插入表T_index中,作为求精结果集的索引项。再把求精结果集中的每条数据附加上索引项的主键(T_index.1ndex)作为外键(T_data.fk_index),插入 T_data 中。
[0023]2)维护位置数据。定期维护共享位置数据库中的数据,如果表Tjndex中记录的time与系统当前时间的差值超过了最大有效时间(ValidTime),系统将自动删除该索引记录及与之相关T_data中的位置数据;如果在有效时间内服务器对T_index的记录进行成功索引,重置此记录的time值为系统当前时间。
[0024]3)索引位置数据。当共享位置数据库接收匿名引擎的请求消息Q(Id,L0C,QUery,Range,Flag)时,共享位置数据库首先按关键字Query与T_index表中的记录进行匹配;如果匹配成功,匹配成功的记录记为Record,判断Record是否在有效时间内;如果是,验证以Loc为圆心,Range为半径的圆区域被包含于以Record.Loc为圆心、Record.Range为半径的圆区域中;如果被包含,则把T_data中相应的位置数据返回给匿名引擎。如果其中有任何一项匹配不成功,则通知匿名引擎共享位置数据库不存在满足该查询请求的位置数据并返回空集。
[0025]前提如下:
[0026]I)移动用户与可信的匿名服务器之间的通信是安全可靠的;
[0027]2)可信的匿名服务器的计算性能好、安全级别高;
[0028]3)位置服务器(LBS)是不可靠的。
[0029]步骤如下:
[0030]I)用户向可信的匿名服务器发送基于位置服务请求Q(Id,Loc, Query,Range,Flag),简称 Q ;
[0031]2)可信的匿名服务器接收Q后,对Q进行解析并且向共享位置数据库进行索引;如果共享位置数据库存在Q所查询的数据,将数据封装成精确结果集,再执行步骤7 ;如果共享位置数据库中不存在Q所查询的数据,则返回空集并执行步骤3 ;
[0032]3)可信的匿名服务器把Q转交给假名匿名处理器,假名匿名处理器把Q中的Id加入到ID列表中,再从ID列表中随机选出一个Id’(非原始请求中的Id)并从ID列表中删除Id’,并将原始请求的Id替换成Id’得到q’(Id’,Loc, Query,Range,Flag),同时将(Id’,Id,Loc, Range
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1