基于Wi-Fi指纹的高效隐私保护的室内定位方法

文档序号:9768176阅读:1092来源:国知局
基于Wi-Fi指纹的高效隐私保护的室内定位方法【
技术领域
】[0001]本发明涉及的是一种无线通信领域的技术,具体是一种基于Wi-Fi指纹的高效隐私保护的室内定位方法。【
背景技术
】[0002]由于无线技术的发展,涌现了许多基于无线信号各种特征的室内定位方法,有些基于FM信号,音频信号,但更多的是基于Wi-Fi信号的定位方法。[0003]定位方法的实质是基于位置的服务,这种位置服务还包含许多中,比如基于位置的广告推送,基于位置的查询服务等等,而其中常常被忽视的问题是其中的位置信息的隐私问题。在室内定位的位置信息交互中,用户在传递指纹信息给服务器进行匹配时,其指纹信息可能会被攻击方窃听,从而导致位置隐私泄露的问题。攻击方可以利用用户的指纹信息推断其位置信息,并且发送广告或者记录用户运动路径等等;同时,服务器的位置信息指纹库也可能会被泄露,如果服务器方为了保护用户的位置隐私,将一部分加密处理过的最近邻指纹的距离传回,那么攻击方可以根据这些距离来对服务器的指纹库进行推断,窃取了服务器信息的隐私。[0004]为了解决对位置信息的加密问题,常用的方法是用普通密码学加密方法,比如同态加密等。这种密码学加密方法虽然可以保证在用户和服务器的信息交互中信息的加密,但是计算时间长,且密文占用空间大,并不能很好的解决移动端的实际应用问题。【
发明内容】[0005]本发明针对现有技术存在的上述不足,提出一种基于Wi-Fi指纹的高效隐私保护的室内定位方法,采用位置敏感哈希函数对位置隐私的加密方法,以达到高效性和隐私保护的性质。通过对定位的重新设计,来达到减少计算时间空间,提高定位精度,以及保护用户和服务器位置信息隐私的目的。[0006]所述的位置敏感哈希函数(Locality-SensitiveHashing),是p稳定分布的位置敏感哈希函数(Locality-SensitiveHashingbasedonp-stabledistributions),具体特性是依据P稳定分布值的特性可以保证两个欧几里得距离上越相近的指纹向量,将以越高的概率哈希在同一个值。通过这样的哈希函数,可以达到对位置敏感的要求,在进行相似指纹的匹配时,因为已知指纹越相似,他们匹配的概率越高,所以那些匹配次数高的指纹越相似。根据这个原理和这种哈希过程中对数据结构的设计,达到了寻找匹配次数多的数据库指纹的目的。[0007]本发明是通过以下技术方案实现的:[0008]本发明包括以下步骤:[0009]步骤1、收集室内每个位置的指纹并生成索引集合,具体为:[0010]1.1)假设一个包含m个位置,η个Wi-Fi接入点(AccessPoint)的室内场景。位置集合表示为M={1,2,···ηι},Wi-Fi接入点集合表示为N={1,2,···η}。收集室内每个位置、每个Wi-Fi接入点的RSS信号,用$甲}表示第j个位置收集到的、所有η个接入点的信号强度组成的向量,即指纹。[0011]1.2)构建一个由1个哈希表组成的索引集合,该索引集合包含所有的服务器端在每个位置收集的指纹的信息,且用户使用这个索引集合来计算自己的位置坐标,对于第i个哈希表,从位置敏感哈希函数集G={gi,g2,g3,…gi|gi:Rn-Nk}的集合中选取函数组gi,来将哈希表i从η个接入点收集的η维向量映射到一个k维向量中,其中:gi(v)=(hii(v),hi2(v),···hik(v)),每个hij(v)函数都是一个具有p稳定性的位置敏感哈希函数。[0012]所述的索引集合包括:1个哈希表、每个哈希表的对应函数组gl,g2"_gl的参数以及用指纹序号标记的每个指纹的位置坐标。[0013]1.3)对每个采集到的指纹f派射到每个哈希表i时,计算gl(fj)并且得到一个k维的向量Slj。将这个Slj向量和指纹序号j一并插入到哈希表i中,循环操作直至每个服务器端指纹库中的指纹均插入到每一个哈希表中,其中循环操作次数为指纹数量η*哈希表数量1。[0014]步骤2、将索引集合通过无线网络传给用户端,以待用户完成对自己位置信息的查找,具体为:[0015]2.1)计算用户收集到的指纹f在每个哈希表i中通过函数gdfO计算得到的Υη然后在每个哈希表i中查找是否有与相等的su,并记录其对应的指纹序号j,即发生碰撞;再计算与j的碰撞次数并生成候选人表格T={〈IDi,ω〇,<ID2,ω2>,…,〈IDx,ωx>},其中IDi-IDx分别为第一至第χ个匹配s值的序列号,ωι~ωχ分别为与序列号匹配的碰撞次数。[0016]2.2)将候选人表格排序,按照每个指纹序号的碰撞次数由高至低递减的顺序,并且取出前c个碰撞次数最高的候选人,将其序号与碰撞次数一起形成候选人优化表格Τ'=KID、,ω'AaD's,ω'2>,…〈ID'x,ω'χ>};然后利用候选人优化表格计算用户的实际位置,即其中:(?F)即为最终得到的用户坐标。[0017]优选地,本发明在步骤2.2)中采用了倍数约束Rd来解决相似指纹带来的定位误差问题:在实际情况中,假设用户指纹向量Q和一个指纹库指纹A非常相似,因此碰撞次数比其他指纹库指纹要高很多。而这种极为相似的指纹库指纹在地理位置上来说也和用户的位置非常接近。本发明中的倍数约束Rd规定当所采用的前一个指纹的碰撞次数与后一个指纹的碰撞次数的倍数大于Rd时,停止对后续指纹的采用,此时认为足够接近的指纹已经被采用,所以不再采用后续的指纹库指纹来增大误差。[0018]优选地,本发明在步骤2.2)中通过设定累积约束Pt来设定所有候选指纹碰撞次数的总和,从而达到自动控制候选指纹个数的步骤,以削减需要自定义候选指纹个数的步骤:通过Pt乘以总的碰撞次数作为碰撞阈值,在按碰撞次数从大到小处理候选指纹中的一个时,计算当前所有已处理指纹碰撞次数的和,如果超过这个阈值,则舍去当前指纹;否则采用当前指纹,继续下一个指纹的处理。技术效果[0019]与现有技术相比,本发明可以显著地减少加密时间且只要求线性时间复杂度,空间复杂度低;用户服务器之间的信息交互得以加密传播;定位流程重设计,交互只需一次通信,通信效率高;实现简单,系统步骤清晰易处理。【附图说明】[0020]图1为本发明室内定位的系统设计图;[0021]图2为采用哈希表的存储结构;[0022]图3为实验中变量1在不同取值下的定位精度CDF曲线;[0023]图4为实验中变量k在不同取值下的定位精度CDF曲线;[0024]图5为实验中变量c在不同取值下的定位精度CDF曲线;[0025]图6为实验中单层场景下基本算法和优化算法定位精度CDF曲线;[0026]图7为实验中双层场景下基本算法和优化算法定位精度CDF曲线;[0027]图8为实验中变量1在不同取值下所需要的用户查询时间;[0028]图9为实验中不同指纹维度场景下基本算法和优化算法的中位数误差;[0029]图10为实验中不同大小的指纹库场景下基本算法和优化算法的中位数误差。【具体实施方式】[0030]以下实施例的实验是在一个分布于200mX200m的三维空间内的,包含353个Wi-Fi接入点和306个指纹测试点的大型实验。306个指纹测试点分别有222个指纹库点和84个用户指纹查询点,均匀分布在共两层的教学楼上,其中:在收集每个测试点的Wi-Fi信号强度时,测试时间为30s,对其中变化的所有值取平均值,得到最终的信号强度值。另外,在算法对每组对照组实验进行计算时,均为重复100次计算取的平均值。实施例1[0031]本实施例包括以下步骤:[0032]第一步:指纹库数据采集及处理成索引合集[0033]如图1所示,图中箭头显示的是指纹库的数据采集工作与处理过程,具体步骤如下:[0034]i)服务器方选择共Μ={1,2,···πι}个地点作为指纹库的指纹采集位置,以及接收信号良好的Ν={1,2,"·η}个Wi-Fi接入点(AccessPoint),简称为ΑΡ。[0035]ii)服务器方在室内的每个位置j上完成以下工作:[0036]收集室内每个Wi-Fi接入点的RSS信号,用fj={f/,f/,f/,…f表示第j个位置收集的信号强度向量并保存成指纹库F={fjIjEM}。[0037]收集该位置点的位置坐标,并保存成位置坐标库L={(Xj,yj)IjeM}[0038]iii)定义一个索引集合,由1个哈希表组成。哈希表的组成结构如图2所示。[0039]iv)选择哈希表参数:对于每个哈希表i,从G={gi,g2,g3,…gi|gi:Rn-Nk}这个函数集合中选取一个函数gi,来将自己从η个接入点收集的η维向量映射到一个k维向量中,其中:gi函数定义为gi(v)=(hu(v),hi2(v),···hik(v)),每个hij(v)函数都是一个具有p稳定性的位置敏感哈希函数,其形式为:,:为η维从p稳定分布独立抽取的向量,为从[0,w)中随机抽取的实数。此外,对于每个哈希表,选择两个全局哈希函数hAl(v)和hBi(v),可以将k维向量v分别映射到两个最大为一个哈希表长度S和一个大质数P的哈希表中,达到压缩k维向量成为两个整数的目的。[0040]v)对每个服务器采集的指纹t,重复以下过程:[0041]对每个哈希表i时,计算gi(fj)并且得到一个k维的向量Sij。计算hAi(Sij)和hBi(Sij)分别作为索引值和检验值。[0042]插入过程如图2所示。在当前哈希表i中,寻找索引值的单元,假设为0。然后寻找索引值对应的检验值的列表,假设该列表现在有两个检验值:139和375。那么如果当前指纹对应的检验值是139,就将当前指纹对应的序号j插入到ID列表中,即图2中数字5的后面;如果当前检验值列表不存在当前指纹对应的检验值,那么在检验值列表中添加一项当前的检验值,然后把当前指纹对应的序号添在后面。这样就完成了指纹j在哈希表i中的插入工作。[0043]在所有的指纹完成了对每个哈希表的插入工作后,这i个哈希表和哈希表中所需哈希函数的所有参数一起,以及位置坐标库L一起作为定位系统的索引集合。[0044]第二步:用户指纹最近邻搜索[0045]如图1所示,图中黑色箭头显示的是服务器方将索引集合发给用户,用户利用自己的指纹信息和索引集合搜索最近邻的步骤,具体步骤如下:[0046]i)服务器方将上一阶当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1