掌桥专利:专业的专利平台
掌桥专利
首页

一种k匿名地理位置隐私保护方法、系统及电子设备

文献发布时间:2023-06-19 19:30:30


一种k匿名地理位置隐私保护方法、系统及电子设备

技术领域

本发明属于地理位置隐私保护技术领域,涉及一种k匿名地理位置隐私保护方法、系统及电子设备,具体涉及一种平衡二叉树与匿名区中心点结合的k匿名地理位置隐私保护方法、系统及电子设备。

背景技术

随着移动互联网与5G移动通讯技术的快速发展,人们已从互联网时代渐渐的步入了万物互联时代。

为了获取优质的位置服务,人们必须将自己精确的地理位置提交给应用服务器,同时提出查询请求。若用户的个人地理位置信息及查询请求被不可信的第三方或不法分子所获取,对方可以通过分析这些信息来得知用户的居住地址、健康状况及生活习惯等,这些信息的泄露很有可能会造成用户的个人安全问题出现,例如不法分子在得知某用户的住家地址后,通过连续观察得知该用户的关系网,造成用户与其关系密切的人的安全受到威胁。

所以在这科技网络蓬勃发展的时代,要想让移动平台应用可以得到更好的发展,需要保护好用户的地理位置隐私。

继2003年Beresford提出了地理位置隐私的概念后,Gruteser等人将k-匿名技术引入到LBS位置隐私保护技术中,即将发起请求的用户与周围k-1个协助用户组成一个k-匿名组来隐藏请求用户的真实地理位置,使服务提供商或攻击者在获取用户的查询请求后其所能辨别出用户真实位置的概率降低至1/k。李树全等人提出了利用方形网格区域来替代用户的真实地理位置,并在匿名服务器中将地理空间划分为固定大小的网格以提高缓存的利用率。这项研究是在第三方可信服务器的基础上进行,然而现实中第三方服务器并非完全可信的。对于这问题,夏兴有等人基于半可信第三方服务器,提出了基于假位置和Stackelberg博弈的地理位置匿名算法,即以网格内用户服务请求的概率分布来选择位置匿名集。Chi-Yin Chow等人提出了一种点对点(P2P)空间伪装算法。该算法中,移动用户通过单跳或多跳的通信来与周围的用户形成一个点对点的匿名组。

研究者们不停的研究及改进各种方案,让用户的地理位置隐私可以在不同场景中得到更好地保护,但在实际上很难做到对用户地理位置隐私的完全保护,因为移动位置服务在快速发展的同时对于它的攻击方法也不停的加强中。

发明内容

本发明针对现有技术的不足,提供了一种平衡二叉树与匿名区中心点结合的k匿名地理位置隐私保护方法、系统及电子设备。

本发明的方法所采用的技术方案是:一种k匿名地理位置隐私保护方法,包括以下步骤:

步骤1:请求用户发起位置查询请求,构建平衡二叉树;

在请求用户发起位置查询请求时,请求用户向云服务器请求信用评分,云服务器将返回用户的信用评分;

若信用评分小于所设置的阈值,k匿名组构建失败;

若信用评分大于等于所设置的阈值,通过平衡二叉树的形式来确定寻找下一个协助用户所使用的节点,即将请求用户的身份标识ID作为构建平衡二叉树的根节点元素,提取根节点用户的坐标,在该坐标的设定范围内寻找所有可协助的用户;通过计算当前匿名区的中心点并选择距离中心最接近的协助用户;当协助用户的信用评分ε大于所设置的阈值,将协助用户加入匿名组中,并成为构建平衡二叉树的元素之一,否则便将该协助用户从可协助用户名单中删除;

步骤2:构建完整匿名组;

步骤2.1:当匿名组中用户数n≥2时,找出匿名组中用户的位置最大点和位置最小点的x,y坐标(max_x,max_y)和(min_x,min_y)来计算当前匿名组的中心点(_,mid_);

步骤2.2:通过平衡二叉树的方式来确定当前用来寻找下一个协助用户的用户ID及坐标;

以该用户为中心,在设定的范围内寻找可协助的用户并计算每个可协助用户到中心点的距离

步骤2.3:重复步骤2.1和2.2,直到匿名组用户数n≥k,匿名组构造完成;其中,k为请求用户及k-1个协助用户;

步骤3:利用构建的平衡二叉树和匿名组对地理位置隐私进行保护。

本发明的系统所采用的技术方案是:一种k匿名地理位置隐私保护系统,包括以下模块:

模块1,用于请求用户发起位置查询请求,构建平衡二叉树;

在请求用户发起位置查询请求时,请求用户向云服务器请求信用评分,云服务器将返回用户的信用评分;

若信用评分小于所设置的阈值,k匿名组构建失败;

若信用评分大于等于所设置的阈值,通过平衡二叉树的形式来确定寻找下一个协助用户所使用的节点,即将请求用户的身份标识ID作为构建平衡二叉树的根节点元素,提取根节点用户的坐标,在该坐标的设定范围内寻找所有可协助的用户;通过计算当前匿名区的中心点并选择距离中心最接近的协助用户;当协助用户的信用评分ε大于所设置的阈值,将协助用户加入匿名组中,并成为构建平衡二叉树的元素之一,否则便将该协助用户从可协助用户名单中删除;

模块2,用于构建完整匿名组;

具体包括以下子模块:

模块2.1,用于当匿名组中用户数n≥2时,找出匿名组中用户的位置最大点和位置最小点的x,y坐标(max_x,max_y)和(min_x,min_y)来计算当前匿名组的中心点(_,mid_);

模块2.2,用于通过平衡二叉树的方式来确定当前用来寻找下一个协助用户的用户ID及坐标;

以该用户为中心,在设定的范围内寻找可协助的用户并计算每个可协助用户到中心点的距离

模块2.3,用于重复模块2.1和模块2.2,直到匿名组用户数n≥k,匿名组构造完成;其中,k为请求用户及k-1个协助用户;

模块3,用于利用构建的平衡二叉树和匿名组对地理位置隐私进行保护。

本发明的电子设备所采用的技术方案是:一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现所述的k匿名地理位置隐私保护方法。

相对于现有技术,本发明的有益效果包括:

(1)本发明通过将请求用户及k-1个协助用户一起组成一个匿名组,可以将请求用户的个人信息汇聚在由k-1个协助用户一起组成的大群体中,以达到将请求用户的个人信息模糊化并掩盖的效果。

(2)本发明在构建匿名组的过程中,利用平衡二叉树的方式来找寻周围的可协助用户加入匿名组中,可以快速地找到下一个协助用户并且确保匿名组构造过程中不在以请求用户为中心来寻找协助用户。其中,在每次找寻可协助用户前,会重新计算当前的k匿名区域的中心点,以在挑选可协助用户时尽可能的选取距离中心点最接近的可协助用户加入到匿名组中,进一步提高请求用户远离匿名区域中心点的概率,提高请求用户遭到中心攻击的概率。

附图说明

图1是本发明实施例的方案流程图。

图2是本发明实施例的平衡二叉树的构建流程图。

图3是本发明实施例的匿名组构建的流程图。

图4是本发明实施列的平衡二叉树与普通二叉树构造匿名组所需时间的对比图。

图5是本发明实施列的平衡二叉树与普通二叉树构造的匿名组请求用户远离中心点的概率对比图。

图6是本发明实施列在增加了中心点判断后,基于平衡二叉树和普通二叉树方式寻找协助用户构建匿名组所需的时间。

图7是本发明实施列在增加了中心点判断后,基于平衡二叉树和普通二叉树方式所构建的匿名组请求用户远离中心点的概率对比图。

图8是本发明实施列的基于平衡二叉树方式及平衡二叉树结合匿名区中心点方式所构造的匿名区请求用户远离中心点的概率对比图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

本发明主要基于平衡二叉树的形式结合匿名区的中心点,提高请求用户的真实信息被通过中心攻击而盗取的概率。通过本发明获取的数据结果显示请求用户在利用地理位置服务时,可降低遭到攻击者对其进行中心攻击概率,从而更好地保护用户的真实信息。

请见图1,本发明提供的一种k匿名地理位置隐私保护方法,包括以下步骤:

步骤1:请求用户发起位置查询请求,构建平衡二叉树;

在请求用户发起位置查询请求时,请求用户向云服务器请求信用评分,云服务器将返回用户的信用评分;

若信用评分小于所设置的阈值,k匿名组构建失败;

若信用评分大于等于所设置的阈值,通过平衡二叉树的形式来确定寻找下一个协助用户所使用的节点,即将请求用户的身份标识ID作为构建平衡二叉树的根节点元素,提取根节点用户的坐标,在该坐标的设定范围内寻找所有可协助的用户;通过计算当前匿名区的中心点并选择距离中心最接近的协助用户;当协助用户的信用评分ε大于所设置的阈值,将协助用户加入匿名组中,并成为构建平衡二叉树的元素之一,否则便将该协助用户从可协助用户名单中删除;

通过将请求用户及k-1个协助用户一起组成一个匿名组,可以将请求用户的个人信息汇聚在由k-1个协助用户一起组成的大群体中,以达到将请求用户的个人信息模糊化并掩盖的效果。

请见图2,本实施例在创建平衡二叉树时,当右新用户加入匿名组且树为空时,将新用户即请求用户的身份标识ID作为平衡二叉树的根节点;当有新的协助用户加入构造平衡二叉树且树不为空时,检测当前用户的身份标识是否大于或小于根节点;

若用户的身份标识小于根节点且左孩子为空,将用户的身份标识放入左子树中;

若用户的身份标识小于根节点且左孩子不为空,将左孩子设为父节点,即当前的根节点,并再次检测当前用户的身份标识是否大于或小于根节点;

若用户的身份标识大于根节点且右孩子为空,将用户的身份标识放入右子树中;

若用户的身份标识大于根节点且右孩子不为空,将右孩子设为父节点并再次检测当前用户的身份标识是否大于或小于根节点。

新加入的用户在完成树节点的构建后;通过计算平衡二叉树的平衡因子balance,即左子树高度l_height减去右子树高度r_height,来判断树是否处于平衡状态,以确保平衡二叉树在新用户加入后仍保持其树的平衡;

若balance>1,则表示树处于不平衡状态;若插入的节点位于根的左边,且位于最接近插入节点的拥有两个子节点的父节点左边,对平衡二叉树进行单次旋转;若插入的节点位于根的左边,且位于最接近插入节点的拥有两个子节点的父节点右边,对平衡二叉树进行双次旋转;

若balance=1,则左右两端子树达到平衡状态,平衡二叉树保持在其最小高度。

本实施例在创建平衡二叉树时,经过“三次握手”建立信任后,将用户加入到匿名组中;在用户与云服务器进行“三次握手”交互过程中,通过签名与验签来对彼此间传输的数据进行验证,以确保数据在传输过程中的安全性及完整性;

所述用户和云服务器之间的签名认证及加密过程如下:

(1)云服务器和用户会在发送信息前各自生成一对RSA秘钥对;

(2)用户和云服务器交换彼此的RSA公钥;

(3)用户随机生成AES密钥后,利用该密钥对数据进行加密,形成密文;

(4)用户使用自己的RSA私钥对AES密钥签名并利用客户端的RSA公钥来加密AES密钥;

(5)用户将签名、密文及加密后的AES密钥一同发送至云服务器;

(6)云服务器在收到用户的签名、密文及加密后的AES密钥后,用自己的私钥对加密后的AES密钥进行解密;

(7)云服务器利用用户的RSA公钥及解密后的AES密钥进行验签;

(8)验签成功后,云服务器利用该AES密钥来解密密文,获取用户发送的数据。

步骤2:构建完整匿名组;

请见图3,本实施例中步骤2的具体实现包括以下子步骤:

步骤2.1:当匿名组中用户数n≥2时,找出匿名组中用户的位置最大点max和位置最小点min的x,y坐标(max_x,max_y)和(min_x,min_y)来计算当前匿名组的中心点(mid_x,mid_y);

步骤2.2:通过平衡二叉树的方式来确定当前用来寻找下一个协助用户的用户ID及坐标;

以该用户为中心,在设定的范围内寻找可协助的用户并计算每个可协助用户到中心点的距离

本实施例中,使用平衡二叉树形式决定当前寻找下一个协作用户的节点的5种情况包括树的根为空、树的根不为空且左孩子为空、树的根不为空且左孩子不为空、树的根不为空且右孩子为空和树的根不为空且右孩子不为空;

若树的根为空时,则将当前输入的值设为父节点,即下一步寻找协作用户所使用的节点;

若树的根不为空,则对当前输入值与根的大小进行比较;当值小于根且左孩子为空时,将值放入左子树中并将根设为父节点,反之将值放入右子树;当值小于根且左孩子不为空时,将左孩子设为根并再次进行对比。

步骤2.3:重复步骤2.1和2.2,直到匿名组用户数n≥k,匿名组构造完成;其中,k为请求用户及k-1个协助用户;

步骤3:利用构建的平衡二叉树和匿名组对地理位置隐私进行保护。

在构建匿名组的过程中,利用平衡二叉树的方式来找寻周围的可协助用户加入匿名组中,可以快速地找到下一个协助用户并且确保匿名组构造过程中不在以请求用户为中心来寻找协助用户。其中,在每次找寻可协助用户前,会重新计算当前的k匿名区域的中心点,以在挑选可协助用户时尽可能的选取距离中心点最接近的可协助用户加入到匿名组中,进一步提高请求用户远离匿名区域中心点的概率。

本实施例通过仿真实验对本方案的安全性及匿名组构建时间等进行验证分析。实验在

设置k匿名组所需的用户数k=5,10,15,20并对不同的k值分别进行40次实验来获取实验结果参数的平均值。通过这些平均值,反映出方案的性能。表1和图4为对比使用平衡二叉树和普通二叉树的方式来构建匿名组所需的时间,而表2和图5则为其匿名组中请求用户远离中心点的概率。

表1构造匿名组所需的时间

表2请求用户远离中心点的概率

从表1和表3中的数据显示,k值越大,构造匿名组所需的时间越长。与方案“基于第三方信任检测的二叉树模型增量近邻查询方法(BTINQ)”中使用二叉树的形式寻找协助用户相比,本方案通过平衡二叉树的形式使左右两端的子树保持平衡且将树的高度维持在其最小高度,因此本方案所构造的树高度要比使用普通二叉树的小,其平均查找效率也相对提高了。随着k值的增加,利用平衡二叉树形式构造的匿名区所能缩短的时间就越多。

利用二叉树形式来构造匿名组可以使匿名组构造过程中不再以请求用户为中心来寻找协作用户。表2和图5所示,通过平衡二叉树的单次和双次旋转自平衡操作来选择当前寻找下一个协助用户的节点可以提高请求用户远离中心点的概率,但效果甚微。因此,实验中结合了匿名区中心点的方式来降低用户遭到中心点攻击的概率,以提高其安全性能。此外,从分析数据得知k值的增大并不会影响请求用户远离中心点的概率。

为了降低攻击者通过中心攻击来获取用户的位置信息的概率,在使用平衡二叉树形式查找协助用户的基础上,增加了可协作用户到当前匿名区域中心点的判断,以便选择距离中心点最近的协作用户加入匿名组。表3和图6为增加了中心点判断后,基于平衡二叉树和普通二叉树方式寻找协助用户构建匿名组所需的时间,而表4和图7则为其匿名组中请求用户远离中心点概率的对比。

表3构建匿名组所需的时间

/>

表4匿名组中请求用户远离中心点的概率

从表2和表4的结果显示可以得出经过增加当前匿名区中心点判断的方法,可以将请求用户远离中心点的概率提升大约30%至40%,将受到中心攻击的概率降低至70%。图8为请求用户远离中心点的概率图。因此,本方案能有效的保护用户的隐私安全。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

相关技术
  • 一种群智感知中基于k-匿名的位置及数据隐私保护方法
  • 一种面向智能电网V2G的可控匿名隐私保护系统及方法
  • 一种分布式K匿名位置隐私保护方法、系统、设备及终端
技术分类

06120115938627