一种k-匿名与云端相结合的位置隐私保护方法

文档序号:8398194阅读:541来源:国知局
一种k-匿名与云端相结合的位置隐私保护方法
【技术领域】
[0001] 本发明设及基于位置的服务及安全隐私技术领域,尤其设及一种k-匿名与云端 相结合的位置隐私保护方法。
【背景技术】
[0002] 基于位置的服务是指使用某种定位技术为移动用户提供与当前位置有关的个性 化服务,它要求用户在向基于位置的服务器提出服务请求时,必须向基于位置的服务器提 供自身的位置信息,LBS服务器根据用户提供的位置信息来处理用户提出的基于位置的查 询并将查询结果返回给用户。当移动用户向服务器提出服务请求时,用户通过定位装置获 取自己的位置信息并发送给LBS服务器,LBS服务器根据接收到的位置信息对该用户的服 务请求进行处理。由于LBS服务器根据接收到的位置信息来处理请求,因此用户的位置信 息越准确,服务器返回给用户的服务信息就越准确,即用户的位置信息的准确性决定了LBS 的服务质量。
[0003] 位置服务在带给人们巨大收益的同时,也带来了泄露个人信息的危害。该是因为 位置服务既直接包含用户的隐私信息,又隐含了用户的个性习惯、健康状况、社会地位等其 他敏感信息。随着大数据时代的到来,大量访问数据、共享数据和从数据中抽取信息的方法 出现了,人们在享受该些新技术带来的便利应用的同时,也越来越关注隐私保护。位置数据 的不当使用,会给用户各方面的隐私带来严重威胁。

【发明内容】

[0004] 为寻求用户位置隐私保护和充分使用云端数据的平衡,本发明提供一种k-匿名 与云端相结合的位置隐私保护方法,结合k-匿名和云端大量数据的优点,用户可W根据自 己的隐私要求制定个性化参数,匿名服务器充当中间件,与云端交互和处理从云端选择的 信息,从而使用户的隐私信息得到保护。此方法在保护移动用户位置隐私的同时,无需降低 发布位置的消息精度,使用户得到高质量的服务。
[0005] 本发明采用如下技术方案,一种k-匿名与云端相结合的位置隐私保护方法,包 括,
[0006] 步骤1、位于某一位置的用户采用六元组形式q= (id,loc,time,qry,k,S)表示 用户的请求消息,其中id是发出请求用户的id,loc是发出请求的位置,time是发出请求 的时间,qiT是请求的查询内容,k是用户指定的匿名参数,k为正整数且#也为正整数,S是用户指定的匿名区域;
[0007] 步骤2、匿名服务器收到用户请求消息后与云端交互,根据匿名区域S从云端中选 择k个合适的消息,匿名服务器对该k个消息和用户请求消息进行匿名处理;
[000引步骤3、匿名服务器将含有k+1个消息的数组Q发送给LBS服务器,LBS服务器依 次从数组中取出消息进行查询,并将查询结果放入到数组Q后返还给匿名服务器。
[0009] 步骤4、匿名服务器过滤出真实结果返回给用户。
[0010] 匿名服务器的匿名处理过程为:
[0011] S21、匿名服务器将用户请求消息的time赋值给变量date,然后从云端选出的k 个消息中选出^1116值在(date-^/^,date)范围内的消息,假设该些消息的个数为^',首先 将该j个消息对应六元组中的itk和S改为与用户请求消息的itk和S-致并按time值递增排序,再将它们对应的六元组放入数组Q,然后将用户请求消息对应的六元组也放到 数组Q中;将剩余的k-j个消息对应的六元组的中W、k和S值改为与用户请求消息一致, time值依次改为date+random(k-j),按照time值递增排序后,将它们对应的六元组放入数 组0中,其中^311(1〇111化-如是在化范围内产生的随机数,精确到小数点后一位;k-j 对应该k-j个消息的下标次序;
[0012] S22、数组Q中第i个元素位置定义为loci,其time值定义为ti,将数组中每个位置 看作是用户从loc。顺序走到loCk,则需要满足条件P找(tw) =l〇Cw|X(ti) =locj声0, 初始赋值令i二0,A= 0 ;首先判断At=Si,i+i/Vf,是否成立,其中SLi+1为 loc剧locw的距离,V 为用户从loc剧locw的最大速度,若成立则说明P{X(tw)= locwlx(ti) =locj声0,此时执行S24,不成立则重复执行S23 ;
[0013] S23、判断tw-A=date是否成立,成立则说明第i+1个元素是用户元素,此时令 A=ti+At-date,不成立则A不变;不论tw-A=date成立与否,都令tw=ti+At并 重新插入到数组Q中进行递增排序;然后继续判断At=Si,w/Vi,w<tw-ti是否成立,若成 立则执行S24,若不成立则反复执行S23 ;
[0014] S24、将i值加1,当i<k时重复执行S22,直至i=k。
[0015] 匿名服务器过滤出真实结果的过程为;匿名服务器接收到LBS服务器返还的包含 查询结果的数组Q后,将该数组中每个消息对应六元组中的time值减去A值,然后在查询 结果数组中找出time值等于date值的消息即为用户真正需要的结果。
[0016] 采用本发明的方法,匿名服务器与通过云端交互可W获得大量的消息W确保匿名 服务器匿名不会因为达不到k值而失败;将k个假消息与用户消息匿名形成符合马尔科夫 过程的一条用户轨迹;当LBS服务器被攻击者攻破,攻击者获得的资源是已经经过匿名服 务器匿名过的信息,从而使用户的位置隐私得到了保护。本发明实现简单,保护移动用户位 置隐私的同时,无需降低发布位置消息精度,使用户获得满意的位置服务
【附图说明】
[0017] 图1为本发明k-匿名与云端相结合的位置隐私保护方法的流程图;
[001引图2为本发明匿名服务器进行匿名处理的流程图;
[0019] 图3为本发明所用设备的交互示意图。
【具体实施方式】
[0020] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用W解释本发明,并 不用于限定本发明。
[0021] 我们采用六元组形式q= (id,loc,time,qry,k,S)表示用户的请求消息,其中id 是发出请求用户的id;loc表现为(x,y)的形式,表示用户发出查询时的位置,X表示位置 的经度,y表示位置的绅度;time是发出请求的时间;qiT是请求的查询内容;k表示用户指 定的匿名参数;S表示用户指定的匿名区域。
[0022] 步骤一、发送请求,
[002引用户Uid想查询附近有哪些酒吧,此时需要知道用户Uid的位置信息,但用户又不想 暴露自己的真实位置信息,那么用户Uw就需要按照六元组形式向匿名服务器发出查询服 务请求。其请求消息六元组中id填Uid;l0c是通过定位装置获取的位置信息,不需要用户 设置;time是用户Uid发送请求时的时间,从客户端直接获取,该里假设时间为2015年1月 20日18:00 ;qry指查询附近的酒吧;k表示用户Uid指定的匿名参数,为了简单说明,该里k 取的较小,例如4 ;s表示用户指定的匿名区域,假设用户Uid现在在南京邮电大学S牌楼校 区,那么用户可W指定S为S牌楼,也可W指定S为鼓楼区,亦可指定为南京,该里假设用户 指定为S牌楼。用户将q=扣W,loc,2015年1月20日18:00,"查询附近的酒吧",4, "S 牌楼")发送给匿名器就完成了请求任务。
[0024] 步骤二、匿名服务器对消息匿名,
[0025] 通过与云端交互获得需要的信息后,在匿名服务器中通过改变从云端得到的信息 达到对请求消息q的匿名化。
[0026] 具体匿名过程如下:
[0027] 步骤21、匿名服务器接收到用户的请求q后与云端进行交互,从云端中选 择4个loc在S牌楼的消息,该些消息均遵循六元组的形式。该里选择的4个消息 分另II为q〇=扣ido,loc曲,time。,qry〇,k〇,s〇) ;Qi=(Uid。loc",time。qry。k。Si);屯= (Ui出,loCq2,times,qiT2,kg, S2) ;Q3=扣地,l〇Cq3,times,qiTs,ks, S3)。其中,time。为 2015年1 月 20 日 16:00 为 2015年 1 月 20 日 16:30 ;time2为 2015年 1 月 19 日 19:00 ;time3 为 2015 年 1 月 17 日 16:00 ;
[002引步骤22、匿名服务器将用户请求消息的time赋值给date后根据date和k从4个 消息中找出time值在2015年1月20日16:00到2015年1月20日18:00范围内的消息, 发现q。和q1
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1