发明名称 一种适用于位置服务系统中面向连续查询的位置匿名方法
摘要 本发明公开了一种适用于位置服务系统中面向连续查询的位置匿名方法,该方法属于位置服务隐私保护技术领域,包括步骤:移动用户提出匿名请求;匿名服务器中的匿名模块对请求匿名,然后把匿名后的请求发送给位置服务器。位置服务器处理请求并把查询的结果集合发送给匿名服务器,匿名服务器的查询处理模块对收到的候选结果集合进行过滤,并且把精确结果发送给相应的移动用户。本发明允许移动用户个性化定制隐私保护参数。匿名模块运行在匿名服务器中;所述的匿名模块根据移动用户的隐私保护参数,利用本发明的匿名方法进行计算,保证移动用户在查询有效期内所有匿名区域包含一定数量相同的查询,而且匿名空间被其包含的移动用户共享,对位置服务中提出连续查询移动用户的查询隐私进行有效的保护。
申请公布号 CN102892073B 申请公布日期 2015.07.01
申请号 CN201210335648.5 申请日期 2012.09.11
申请人 北京航空航天大学 发明人 李巍;刘春雷;李云春;焦伟;蒋江涛
分类号 H04W4/02(2009.01)I;H04W12/12(2009.01)I;H04L29/06(2006.01)I 主分类号 H04W4/02(2009.01)I
代理机构 北京永创新实专利事务所 11121 代理人 李有浩
主权项 一种适用于位置服务系统中面向连续查询的位置匿名方法,其特征在于:对基于位置服务中的移动用户提出的查询进行匿名的步骤如下:步骤一:移动用户向匿名服务器发出请求信息移动用户UID={U<sub>A</sub>,U<sub>B</sub>,U<sub>C</sub>,U<sub>D</sub>,U<sub>E</sub>,U<sub>F</sub>,U<sub>G</sub>,…,U<sub>u</sub>}中的任意一移动用户U<sub>u</sub>把查询内容Q={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>}发送给匿名服务器中的匿名模块;所述任意一查询内容q<sub>n</sub>的格式为<ID,x<sub>ID</sub>,y<sub>ID</sub>,Qcon<sub>ID</sub>,k<sub>ID</sub>,m<sub>ID</sub>>;ID表示移动用户的身份;x<sub>ID</sub>,y<sub>ID</sub>表示移动用户的位置坐标;Qcon<sub>ID</sub>表示请求的服务内容;k<sub>ID</sub>表示个性化k匿名参数;m<sub>ID</sub>表示个性化m不变性参数;步骤二:匿名服务器对移动用户进行匿名步骤201:匿名服务器中的匿名模块对收到的查询内容Q={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>}中的任意移动用户U<sub>u</sub>的标识ID进行假名赋值处理,得到用户假名ID′;同时记录移动用户的真实标识与用户假名之间的对应关系;所述记录移动用户的真实标识与用户假名之间的对应关系具体为:第一移动用户U<sub>A</sub>的身分标识为A,在匿名模块中A对应的假名为A′,则查询内容的格式变换为<A′,x<sub>A′</sub>,y<sub>A′</sub>,Qcon<sub>A′</sub>,k<sub>A′</sub>,m<sub>A′</sub>>;步骤202:根据匿名模块收到的查询内容Q={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>}中的任意移动用户U<sub>u</sub>位置坐标x<sub>ID</sub>,y<sub>ID</sub>,利用hilbert曲线填充算法将移动用户U<sub>u</sub>的二维坐标转为一维索引Index(x<sub>ID</sub>,y<sub>ID</sub>);采用hilbert曲线填充算法对移动用户UID={U<sub>A</sub>,U<sub>B</sub>,U<sub>C</sub>,U<sub>D</sub>,U<sub>E</sub>,U<sub>F</sub>,U<sub>G</sub>,…,U<sub>u</sub>}进行位置坐标x<sub>ID</sub>,y<sub>ID</sub>为一维索引,得到每个移动用户的Index(x<sub>ID</sub>,y<sub>ID</sub>)索引码;然后根据每个移动用户的Index(x<sub>ID</sub>,y<sub>ID</sub>)索引码对查询内容Q={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>}中的请求服务内容Qcon<sub>ID</sub>进行从小到大的排序,得到升序排列的查询内容D={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>};步骤203:对升序排列的查询内容D={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>}进行遍历,遍历过的移动用户组成遍历集合记为PUID={PU<sub>A</sub>,PU<sub>B</sub>,PU<sub>C</sub>,PU<sub>D</sub>,PU<sub>E</sub>,PU<sub>F</sub>,PU<sub>G</sub>,…,PU<sub>u</sub>};对升序排列的查询内容D={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>}进行遍历,遍历过的查询内容组成遍历查询集合记为S={q<sub>A</sub>,q<sub>B</sub>,…,q<sub>u</sub>};然后,获取每个移动用户UID={U<sub>A</sub>,U<sub>B</sub>,U<sub>C</sub>,U<sub>D</sub>,U<sub>E</sub>,U<sub>F</sub>,U<sub>G</sub>,…,U<sub>u</sub>}的不变服务集合IS={Qcon<sub>A′</sub>,Qcon<sub>B′</sub>,Qcon<sub>C′</sub>,Qcon<sub>D′</sub>,Qcon<sub>E′</sub>,Qcon<sub>F′</sub>,Qcon<sub>G′</sub>,…,Qcon<sub>u′</sub>};所述的不变服务集合IS的获取过程如下:首先,根据任意移动用户U<sub>u</sub>在初始查询时刻T<sub>1</sub>所在的匿名空间,得到该移动用户U<sub>u</sub>发出的查询内容q<sub>u</sub>;以及在初始时刻T<sub>1</sub>所在的匿名空间内其他移动用户的查询内容q<sub>o</sub>,即排他查询内容q<sub>o</sub>;然后,在各个查询时刻,匿名空间需要包括查询内容q<sub>u</sub>和排他查询内容q<sub>o</sub>,即所有匿名空间包括查询内容q<sub>u</sub>和排他查询内容q<sub>o</sub>不变的查询请求,所述的包括查询内容q<sub>u</sub>和排他查询内容q<sub>o</sub>不变的查询请求组成不变服务集合IS={Qcon<sub>A′</sub>,Qcon<sub>B′</sub>,Qcon<sub>C′</sub>,Qcon<sub>D′</sub>,Qcon<sub>E′</sub>,Qcon<sub>F′</sub>,Qcon<sub>G′</sub>,…,Qcon<sub>u′</sub>};步骤204:将IS与S进行取交集操作,如果IS与S的交集的模大于等于移动用户的服务请求的个性化m不变性参数,则进入步骤205;或者IS为空且移动用户数大于等于个性化m不变性参数,则进入步骤205;否则匿名失败,返回步骤一;步骤205:检查匿名空间中的移动用户数量,如果匿名空间的移动用户数量满足移动用户提出的个性化k匿名参数k<sub>ID</sub>,则把该匿名空间作为最终的匿名空间发送给位置服务器;同时重新设置不变服务集合IS,重复执行步骤204,直至找不到任何满足要求的匿名空间;否则如果匿名空间不能满足移动用户的个性化k匿名参数k<sub>ID</sub>要求,便与已生成的匿名空间进行融合,直到满足移动用户提出的个性化k匿名参数k<sub>ID</sub>大小为止;经过步骤205后,任意移动用户U<sub>u</sub>的查询内容格式变为<u′,R<sub>new</sub>,Qcon<sub>u</sub>>,R<sub>new</sub>表示经查询隐私保护算法生成的匿名空间;步骤三:位置服务器向匿名服务器发出查询结果位置服务器根据收到的匿名后查询内容<u′,R<sub>new</sub>,Qcon<sub>u</sub>>进行查询处理,并把候选查询结果C<sub>候选</sub>={Cq<sub>1</sub>,Cq<sub>2</sub>,…,Cq<sub>n</sub>}发送给匿名服务器;步骤四:匿名服务器向移动用户发出确认后查询结果匿名服务器收到位置服务器返回的查询结果后,根据移动用户的准确位置对查询结果进行过滤,并且把准确的查询结果发送给相应的移动用户;匿名服务器中的查询处理模块根据移动用户位置x<sub>ID</sub>,y<sub>ID</sub>对位置服务器返回的候选查询结果C<sub>候选</sub>={Cq<sub>1</sub>,Cq<sub>2</sub>,…,Cq<sub>n</sub>}进行身份过滤处理,找到精确结果,得到最终查询结果L<sub>最终</sub>={Lq<sub>1</sub>,Lq<sub>2</sub>,…,Lq<sub>n</sub>};然后将L<sub>最终</sub>={Lq<sub>1</sub>,Lq<sub>2</sub>,…,Lq<sub>n</sub>}发送给移动用户;所述身份过滤处理是指将已经存储的假名和移动用户真实的身份标识的对应寻找。
地址 100191 北京市海淀区学院路37号