1.一种基于位置隐私保护的云环境下圆形范围查询方法,其特征在于,应用于位置查询终端,包括以下步骤:位置查询终端向位置服务器请求位置查询终端的密钥对、查询位置所在区域的原子区域编码以及哈希函数的密钥对;
位置查询终端利用私钥解密获得查询区域的原子区域编码,根据圆形查询范围确定查询范围内的原子区域集合以及与查询范围边界相交的原子区域集合,将由查询位置和半径表示的圆形查询范围转换为查询向量形式;
位置查询终端将范围内的原子区域集合和与范围边界相交的原子区域集合中的原子区域编码利用哈希函数进行哈希处理,对查询向量进行加密处理,生成令牌发送给云服务器;
所述位置查询终端接收云服务器发来的满足查询范围的空间数据点。
2.如权利要求1所述的基于位置隐私保护的云环境下圆形范围查询方法,其特征在于,在获得待查询区域的原子区域编码后,位置查询终端根据查询位置和查询半径确定圆形查询范围,查询范围所覆盖的原子区域集合包括在圆形查询范围内的原子区域集合和与圆形查询范围相交的原子区域集合;
位置查询终端构建查询向量,用于判断与圆形查询范围相交的原子区域集合中空间数据与圆形查询范围的关系;
或者,
对于查询范围所覆盖的原子区域集合,利用随机数k1对其进行哈希处理获得其中i∈S1,j∈S2,S1表示查询范围内的原子区域集合,S2表示查询范围边界处的原子区域集合;
对于查询向量,位置查询终端调用SSW算法计算其密文,根据待查询区域、HS和密文构建令牌。
3.一种基于位置隐私保护的云环境下圆形范围查询装置,其特征在于,包括处理器,包括以下步骤:处理器向位置服务器请求处理器的密钥对、查询位置所在区域的原子区域编码以及哈希函数的密钥对;
处理器利用私钥解密获得查询区域的原子区域编码,根据圆形查询范围确定查询范围内的原子区域集合以及与查询范围边界相交的原子区域集合,将由查询位置和半径表示的圆形查询范围转换为查询向量形式;
处理器将范围内的原子区域集合和与范围边界相交的原子区域集合中的原子区域编码利用哈希函数进行哈希处理,对查询向量进行加密处理,生成令牌发送给云服务器;
所述处理器接收云服务器发来的满足查询范围的空间数据点。
4.一种基于位置隐私保护的云环境下圆形范围查询方法,其特征在于,应用于位置服务器,包括以下步骤:位置服务器生成加密向量所需的密钥及哈希函数的密钥,同时为每一位置查询终端生成唯一的密钥对;
位置服务器利用Hilbert曲线将待查询区域划分为多个原子区域的集合,将空间数据点以原子区域为单位存放和管理,对每一个空间数据点构造位置向量并建立索引;
位置服务器对索引进行加密后发送给云服务器,使得云服务器根据加密索引中的位置向量与令牌中的加密查询向量判断查询范围与空间数据两者之间的关系以得到最终的查询结果。
5.如权利要求4所述的基于位置隐私保护的云环境下圆形范围查询方法,其特征在于,位置服务器生成加密向量所需的密钥及哈希函数的密钥,同时为每一位置查询终端生成唯一的密钥对,具体为:位置服务器调用SSW加密算法生成对称密钥sk,用于加密位置向量和查询向量;选择一个随机数k1作为哈希函数H的密钥用于加密Hilbert曲线编码;位置服务器调用KeyGen(1λ)算法为每一个注册位置查询终端生成密钥对(pki,ski)用于相互通信,并通过安全信道将(pki,ski,sk,k1)发送给位置查询终端;
或者,
所述索引包括待查询区域、所属原子区域、数据编号和位置向量信息,所述位置向量用于判断空间数据是否落在位置查询终端的圆形查询范围内。
6.如权利要求4所述的基于位置隐私保护的云环境下圆形范围查询方法,其特征在于,位置服务器对索引进行加密后发送给云服务器,具体为:将空间数据所属的原子区域编码作哈希处理,然后,调用SSW加密算法加密位置向量获得密文,加密后的索引包括待查询区域、哈希处理后的所属原子区域、数据编号和密文,将加密后的索引发送给云服务器。
7.一种位置提供装置,其特征在于,包括处理器;
处理器生成加密向量所需的密钥及哈希函数的密钥,同时为每一位置查询终端生成唯一的密钥对;
处理器利用Hilbert曲线将待查询区域划分为多个原子区域的集合,将空间数据点以原子区域为单位存放和管理,对每一个空间数据点构造位置向量并建立索引;
处理器对索引进行加密后发送给云服务器,使得云服务器根据加密索引中的位置向量与令牌中的加密查询向量判断查询范围与空间数据两者之间的关系以得到最终的查询结果。
8.一种基于位置隐私保护的云环境下圆形范围查询方法,其特征在于,包括以下步骤:位置服务器生成加密向量所需的密钥及哈希函数的密钥,同时为每一位置查询终端生成唯一的密钥对;
位置服务器利用Hilbert曲线将待查询区域划分为多个原子区域的集合,将空间数据点以原子区域为单位存放和管理,对每一个空间数据点构造位置向量并建立索引;
位置服务器对索引进行加密后发送给云服务器;
位置查询终端向位置服务器请求查询位置所在区域的原子区域编码,位置服务器利用位置查询终端公钥加密查询区域的原子区域编码并发送给位置查询终端;
位置查询终端利用私钥解密获得查询区域的原子区域编码,根据圆形查询范围确定查询范围内的原子区域集合以及与查询范围边界相交的原子区域集合,将由查询位置和半径表示的圆形查询范围转换为查询向量形式;
位置查询终端将范围内的原子区域集合和与范围边界相交的原子区域集合中的原子区域编码利用哈希函数进行哈希处理,对查询向量进行加密处理,生成令牌发送给云服务器;
云服务器收到位置查询终端的令牌后,通过对令牌中的加密查询向量与加密索引中的加密位置向量进行计算来判断两者之间的关系,将满足查询范围的空间数据点返回给位置查询终端。
9.如权利要求8所述的基于位置隐私保护的云环境下圆形范围查询方法,其特征在于,云服务器收到位置查询终端的令牌后,将查询范围内的原子区域集合与加密索引中的原子区域编码集进行等值匹配,对于匹配的原子区域,将其内部的空间数据编码保存至待发送集合中;
云服务器将和查范围边界相交的原子区域集合与加密索引的原子区域编码进行等值匹配,对于匹配的原子区域内的加密空间数据,利用SSW算法保密判断查询向量与位置向量之间的内积与零的关系,当内积小于或等于零时,此空间数据属于以查询点为圆心的预设半径的圆形范围,将该空间数据的编号保存至待发送集合中;
云服务器将待发送集合发送到位置查询终端。
10.一种基于位置隐私保护的云环境下圆形范围查询系统,其特征在于,包括至少一台位置服务器、至少一台云服务器和至少一台位置查询终端,所述位置服务器、云服务器和位置查询终端之间均相互通信连接;
位置服务器生成加密向量所需的密钥及哈希函数的密钥,同时为每一位置查询终端生成唯一的密钥对;利用Hilbert曲线将待查询区域划分为多个原子区域的集合,将空间数据点以原子区域为单位存放和管理,对每一个空间数据点构造位置向量并建立索引;对索引进行加密后发送给云服务器;
位置查询终端向位置服务器请求查询位置所在区域的原子区域编码,位置服务器利用位置查询终端公钥加密查询区域的原子区域编码并发送给位置查询终端;
位置查询终端利用私钥解密获得查询区域的原子区域编码,根据圆形查询范围确定查询范围内的原子区域集合以及与查询范围边界相交的原子区域集合,将由查询位置和半径表示的圆形查询范围转换为查询向量形式;
位置查询终端将范围内的原子区域集合和与范围边界相交的原子区域集合中的原子区域编码进行哈希处理,对查询向量进行加密处理,生成令牌发送给云服务器;
云服务器收到位置查询终端的令牌后,通过对令牌中的加密查询向量与加密索引中的位置向量进行计算,将满足查询范围的空间数据点返回给位置查询终端。