本发明专利技术公开了一种隐私保护的安全位置服务范围查询外包方法,包括:步骤1,位置服务提供商利用Hilbert曲线和Merkle哈希树对POI数据进行预处理,获得POI数据密文集和Merkle哈希树树根的签名,并发送给云服务提供商;步骤2,位置服务提供商对用户位置信息进行预处理,获得用户位置信息的Hilbert值范围
【技术实现步骤摘要】
隐私保护的安全位置服务范围查询外包方法
本专利技术属于基于位置服务
,特别是涉及一种隐私保护的安全位置服务范围查询外包方法。
技术介绍
随着定位技术的日益成熟以及移动互联网的快速普及,基于位置服务(Location-BasedServices,LBS)已成为覆盖了人们生活的方方面面,正在改变人们的生活方式和习惯。典型的LBS特别是移动环境下的LBS是指用户使用移动设备内嵌的全球定位系统(GPS)获取当前位置信息,然后根据其位置信息向LBSP查询附近自己感兴趣的服务,例如查询附近的医院、宾馆、餐厅、加油站等信息。业界已经涌现了一大批LBS的应用,如Foursquare、Facebook、美团、猫眼电影、百度糯米、大众点评等。而瑞典市场研究公司BergInsight预测全球LBS市场规模将从2014年的103亿欧元,以22.5%的复合年增长率(CAGR),增长至2020年的348亿欧元。可以预见在不久的将来,LBS必将取得更大范围和更深层次的应用。在众多的基于位置服务的查询中,基于位置的范围查询寻求位置值在特定范围中的兴趣点(PointOfInterest,POI)集合。具体地,在LBS应用环境中,一个兴趣点POI常常用其位置作为一个空间属性,并使用其它诸多数值属性,如一个餐馆的食品质量、价格、服务、卫生条件。我们说一个POI满足范围查询条件在于,如果一个POI具有某个数值属性,且空间属性在当前查询用户查询区间内。随着LBS应用的快速发展,特别是近年来移动互联网的迅速普及,LBS数据和服务规模也日益增大,使得LBS服务在计算以及存储上需求急剧增长,这种增长对位置服务提供商(Location-BasedServiceProvider,LBSP)有限的运营资源构成了巨大的挑战,幸运地是,云计算技术的兴起为应对这一挑战提供了可能。云平台因其具有强大的存储以及高效的计算能力一直备受业界的推崇,通过将LBSP的LBS数据和服务外包到资源强大的CSP,让CSP为用户提供永远在线服务,不但可以减少数据的管理成本,还可以为用户提供更高效的服务,并有着极大的部署弹性和扩展性。LBS的这种外包模式也逐渐成为了LBS应用中主流的服务模式。虽然LBS外包模式减少了LBSP的运营成本并能为用户提供更高效的LBS。但是,由于CSP不可信,LBS外包应用也面临着诸多安全风险。这当中有两个典型问题,首先是LBSP外包出去的POI数据的安全问题,由于POI数据是LBSP花费大量资源获取的私有资源,是其维持运营的资本,如果泄露给不怀好意的CSP,将损害LBSP的利益。此外,由于POI的位置属性和用户请求位置相关,将POI空间属性明文外包给CSP将会在用户查询时候泄露用户位置隐私;其次是查询结果的真实性问题,由于在LBS外包应用中,用户的请求是由CSP来响应的,CSP可能出于其自身的利益,纂改用户的查询结果。由于LBS服务的功能核心是满足用户的查询需求,因此前一个问题实质是如何在不告知CSPLBS服务原始数据情况下,满足用户在CSP上的隐私地开展查询需求,其对应的研究问题是位置隐私保护的云端位置密文检索,并在一些现有工作中得到了解决;而后一个问题的实质是如何在让用户从CSP返回的验证信息中检验查询结果的完整性。对这两个问题单独的,这一问题同样也在一些现有工作中得到了解决。然而,当同时考虑两方面问题时,现有工作都不能同时解决问题,要么效率较低。
技术实现思路
本专利技术的目的是提供一种隐私保护的安全位置服务范围查询外包方法,本专利技术可在不告知CSPLBS原始数据情况下,使得用户能够从CSP处获取正确的查询服务数据,同时保障LBSP的数据安全和用户的查询结果完整性。为达到上述目的,本专利技术提供的隐私保护的安全位置服务范围查询外包方法,包括步骤:隐私保护的安全位置服务范围查询外包方法,包括步骤:步骤1,位置服务提供商对POI数据进行预处理;本步骤进一步包括子步骤:1.1根据POI数据集获得整个空间区域,并进一步获得整体空间区域的最小外接矩形区域;1.2将该最小外接矩形区域划分为4个子矩形区域,该4个子矩形区域记为第1层的子矩形区域;按照预设的构造规则,用三条线段将该4个子矩形区域的中心点顺次连接,获得第1层的子型曲线;所述的构造规则包括Hilbert曲线的起点、方向、缩放因子和阶数,起点选择该4个子矩形区域的中心点之一,方向为顺时针方向或逆时针方向,起点和方向随机设置,缩放因子和阶数根据实际安全需要定制,缩放因子和阶数越大安全性越强;1.3逐层构造子型曲线,获得Hilbert曲线,具体为:1.3a对第m层的各子矩形区域分别进行如下操作,其中,m的初始值为1:将第m层的子矩形区域划分为第(m+1)层的4个子矩形区域,按照预设的构造规则,用三条线段将该第(m+1)层的4个子矩形区域的中心点顺次连接,获得该第m层的子矩形区域的子型曲线;1.3b沿着第m层的子型曲线的走向,连接第m层的各子矩形区域的子型曲线,得第(m+1)层的子型曲线;1.3c令m=m+1,重复执行子步骤1.3a~1.3c,直至获得第M层的子型曲线,第M层的子型曲线即最终的Hilbert曲线;M为预设的层数,根据经验取值;1.4沿着Hilbert曲线对Hilbert曲线穿过的最小子矩形区域顺序编码,该编码即Hilbert值;1.5根据POI数据集中各POI对象的位置获得各POI对象的Hilbert值,即将各POI对象位置所落入的最小子矩形区域的编码作为该POI对象的Hilbert值;1.6按照Hilbert值从大到小对POI数据密文Ci’进行排序,得到排序后的POI数据密文集其中,n为POI数据集中POI对象的总数,Ci’包含第i个POI对象的Hilbert值及密文,该密文即使用对称加密算法对第i个POI对象的位置信息及数据内容进行加密后生成的密文;1.7对排序后的POI数据密文集构造Merkle哈希树,具体为:1.7a判断n是否为2的幂数,若是,执行子步骤1.7b;否则,执行子步骤1.7c;1.7b构造深度为d的二叉树,d和n存在数学关系n=2d;二叉树中,每个叶子节点对应一个POI数据密文Ci’,且按Hilbert值从小到大的顺序将各POI数据密文Ci’顺次赋给各叶子节点;叶子节点的哈希值通过对POI数据密文Ci’进行哈希运算获得,每一个非叶子节点的哈希值为它的两个直接子节点的哈希值所串接;1.7c构造深度为d'的二叉树,d'和n'存在数学关系n'=2d',n'为所有大于n的2的幂数中的最小值;二叉树中,前n个叶子节点分别对应一个POI数据密文Ci’,且按Hilbert值从小到大的顺序将各POI数据密文Ci’顺次赋给前n个叶子节点;其他叶子节点为冗余叶子节点;每一个非叶子节点的哈希值为它的两个直接子节点的哈希值所串接;1.7d使用Ci’和Ti计算树根的哈希值,将树根哈希值进行签名,Ti为所有被用来验证叶子节点Ci’的最小中间节点集合;1.8将POI数据密文集和签名发送给云服务提供商;步骤2,位置服务提供商对用户位置信息进行预处理;本步骤具体为:根据用户位置信息确定用户所需要查询的区域范围Q,区域范围Q内所有最小子矩形区域的编码构成Hilbert值范围Q',将Hilbert值范围Q'本文档来自技高网...
【技术保护点】
隐私保护的安全位置服务范围查询外包方法,其特征是,包括步骤:步骤1,位置服务提供商对POI数据进行预处理;本步骤进一步包括子步骤:1.1根据POI数据集获得整个空间区域,并进一步获得整体空间区域的最小外接矩形区域;1.2将该最小外接矩形区域划分为4个子矩形区域,该4个子矩形区域记为第1层的子矩形区域;按照预设的构造规则,用三条线段将该4个子矩形区域的中心点顺次连接,获得第1层的子型曲线;所述的构造规则包括Hilbert曲线的起点、方向、缩放因子和阶数,起点选择该4个子矩形区域的中心点之一,方向为顺时针方向或逆时针方向,起点和方向随机设置,缩放因子和阶数根据实际安全需要定制,缩放因子和阶数越大安全性越强;1.3逐层构造子型曲线,获得Hilbert曲线,具体为:1.3a对第m层的各子矩形区域分别进行如下操作,其中,m的初始值为1:将第m层的子矩形区域划分为第(m+1)层的4个子矩形区域,按照预设的构造规则,用三条线段将该第(m+1)层的4个子矩形区域的中心点顺次连接,获得该第m层的子矩形区域的子型曲线;1.3b沿着第m层的子型曲线的走向,连接第m层的各子矩形区域的子型曲线,得第(m+1)层的子型曲线;1.3c令m=m+1,重复执行子步骤1.3a~1.3c,直至获得第M层的子型曲线,第M层的子型曲线即最终的Hilbert曲线;M为预设的层数,根据经验取值;1.4沿着Hilbert曲线对Hilbert曲线穿过的最小子矩形区域顺序编码,该编码即Hilbert值;1.5根据POI数据集中各POI对象的位置获得各POI对象的Hilbert值,即将各POI对象位置所落入的最小子矩形区域的编码作为该POI对象的Hilbert值;1.6按照Hilbert值从大到小对POI数据密文C...
【技术特征摘要】
1.隐私保护的安全位置服务范围查询外包方法,其特征是,包括步骤:步骤1,位置服务提供商对POI数据进行预处理;本步骤进一步包括子步骤:1.1根据POI数据集获得整个空间区域,并进一步获得整体空间区域的最小外接矩形区域;1.2将该最小外接矩形区域划分为4个子矩形区域,该4个子矩形区域记为第1层的子矩形区域;按照预设的构造规则,用三条线段将该4个子矩形区域的中心点顺次连接,获得第1层的子型曲线;所述的构造规则包括Hilbert曲线的起点、方向、缩放因子和阶数,起点选择该4个子矩形区域的中心点之一,方向为顺时针方向或逆时针方向,起点和方向随机设置,缩放因子和阶数根据实际安全需要定制,缩放因子和阶数越大安全性越强;1.3逐层构造子型曲线,获得Hilbert曲线,具体为:1.3a对第m层的各子矩形区域分别进行如下操作,其中,m的初始值为1:将第m层的子矩形区域划分为第(m+1)层的4个子矩形区域,按照预设的构造规则,用三条线段将该第(m+1)层的4个子矩形区域的中心点顺次连接,获得该第m层的子矩形区域的子型曲线;1.3b沿着第m层的子型曲线的走向,连接第m层的各子矩形区域的子型曲线,得第(m+1)层的子型曲线;1.3c令m=m+1,重复执行子步骤1.3a~1.3c,直至获得第M层的子型曲线,第M层的子型曲线即最终的Hilbert曲线;M为预设的层数,根据经验取值;1.4沿着Hilbert曲线对Hilbert曲线穿过的最小子矩形区域顺序编码,该编码即Hilbert值;1.5根据POI数据集中各POI对象的位置获得各POI对象的Hilbert值,即将各POI对象位置所落入的最小子矩形区域的编码作为该POI对象的Hilbert值;1.6按照Hilbert值从大到小对POI数据密文Ci’进行排序,得到排序后的POI数据密文集其中,n为POI数据集中POI对象的总数,Ci’包含第i个POI对象的Hilbert值及密文,该密文即使用对称加密算法对第i个POI对象的位置信息及数据内容进行加密后生成的密文;1.7对排序后的POI数据密文集构造Merkle哈希树,具体为:1.7a判断n是否为2的幂数,若是,执行子步骤1.7b;否则,执行子步...
【专利技术属性】
技术研发人员:刘梦君,杨兵,丁永刚,
申请(专利权)人:湖北大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。