CN104731860B - 隐私保护的空间关键字查询方法 - Google Patents
隐私保护的空间关键字查询方法 Download PDFInfo
- Publication number
- CN104731860B CN104731860B CN201510058254.3A CN201510058254A CN104731860B CN 104731860 B CN104731860 B CN 104731860B CN 201510058254 A CN201510058254 A CN 201510058254A CN 104731860 B CN104731860 B CN 104731860B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msubsup
- prime
- vector
- msub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Coloring Foods And Improving Nutritive Qualities (AREA)
Abstract
本发明涉及一种隐私保护的空间关键字查询方法包括:建立空间文本数据库索引;对索引中最小外包矩形和数据点的空间坐标和文本权重进行统一加密;在密文情况下判断查询源位置与最小外包矩形的位置关系;根据位置关系的不同情况,利用查询源位置的坐标构造相应的查询请求;计算最小外包矩形在优先队列中的键值以及数据点在优先队列中的键值;根据上述键值,优先队列对最小外包矩形和数据点进行排序,并输出满足用户查询请求的前k个数据点。本发明通过对索引中的位置信息和文本描述进行统一加密处理,构建安全的查询索引,并设计基于安全索引的空间关键字查询算法以实现保护隐私的高效的空间关键字查询。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种隐私保护的空间关键字查询方法。
背景技术
随着基于位置的服务(Location-based Services,LBS)在移动互联网中的广泛应用,近年来空间关键字查询服务也在工业界和学术界引起了越来越多的关注。已知一个空间文本对象的集合,如兴趣点的集合(Points of Interest,POI),和基于用户位置以及用户查询关键字的查询请求,通过Top-k空间关键字查询得到同时在空间距离和文本相似度两方面最相关的k个对象。这样的查询服务现已被广泛应用于Google Map和Foursquare等互联网服务中。为了实现更好的可用性以及节省开销的目的,越来越多的数据拥有者倾向于将他们的数据服务外包到云计算环境中,这种数据服务包括他们的数据、索引以及查询算法等。例如,大众点评网和去哪网可以将其top-k空间关键字查询服务外包到亚马逊EC2的云中,从而减少他们服务的维护成本。
然而,直接将这些服务外包到云中可能会引起严重的隐私问题。一方面,空间文本数据库本身可能包含私人的数据,这些数据中的位置信息以及文本描述信息不能被任何的第三方获得,包括云计算环境的提供商。同时,收集这些数据需要大量的人力和财力资源,因此,这些数据对于其拥有者的竞争对手来说可以认为是一种商业机密,需要防止这些数据被其竞争对手所窃取。另一方面,如果空间关键字查询中用户的位置信息以及其查询的关键字信息被不可信任的第三方非法获取,用户的出行习惯和查询兴趣就可能被潜在的攻击者所分析和利用。因此,研究外包环境中,空间关键字查询的隐私保护技术有着重要的意义。
关于上述问题的现有技术主要集中在空间查询或文本查询的隐私保护技术,然而由于空间关键字查询中同时利用了文本的相关度和空间距离两方面的因素来进行剪枝和查询,这些已有的隐私保护技术不能够直接用来解决空间关键字查询中的隐私保护问题。
发明内容
本发明所要解决的技术问题是,如何高效地完成空间关键字top-k查询,同时保证隐私不被泄露。
为此目的,本发明提出了一种隐私保护的空间关键字查询方法,包括:S1,根据预存储数据建立空间文本数据库索引;S2,将索引中的最小外包矩形的坐标和文本信息转化为矩形的数据向量E.v,将索引中的数据点转化为数据点的数据向量O.v,对矩形的数据向量进行加密得到加密的矩形的数据向量
对数据点的数据向量进行加密得到加密的数据点的数据向量
其中,和为作为密钥的可逆随机矩阵,E′.v和E″.v为E.v分解得到的两个向量,O′.v和O″.v为O.v分解得到的两个向量;
S3,记录发出查询指令的源位置的坐标以及查询关键字,计算源位置与最小外包矩形的相对位置关系,根据相对位置生成查询空间向量Qi.lv,其中,1≤i≤9,根据查询关键字生成查询文本向量Q.tv,对查询文本向量和查询空间向量进行整合和扩展得到查询向量
Qi.v=(αQi.lv|(1-α)Q.tv|(1-α)),
其中,α为查询空间向量和查询文本向量的权重平衡因子,对查询向量进行加密得到其中,Q'i.v和Q"i.v为Qi.v分解得到的两个向量;
S4,计算最小外包矩形在优先队列中的键值
以及数据点在优先队列中的键值
S5,根据最小外包矩形在优先队列中的键值和数据点在优先队列中的键值,优先队列对最小外包矩形和数据点进行排序和输出,以查询满足用户查询指令的数据点。
优选地,所述步骤S2包括:S21,将索引中的最小外包矩形的坐标和文本权重信息转化为矩形文本向量E.tv,将索引中的数据点的文本权重信息转化为数据文本向量O.tv;
S22,获取最小外包矩形的矩形坐标信息(x'min,y'min,x'max,y'max),其中,最小外包矩形的四条边分别与预设平面直角坐标系中的x轴或y轴平行,x'min和x'max为矩形四个顶点在x轴上的投影坐标,y'min和y'max为矩形四个顶点在y轴上的投影坐标,x'min与y'min和y'max组合,x'max与y'min和y'max组合形成矩形的四个顶点坐标,以及数据点的坐标信息(x′,y′,0,0),x'为数据点在x轴上的投影坐标,y'为数据点在y轴上的投影坐标,对矩形坐标信息增加辅助位后将其转换为矩形空间向量
将数据点的坐标信息增加辅助位后将其转换为数据点的空间向量O.lv=(x′,x′2,1|y′,y′2,1|0,0,0|0,0,0);
S23,将矩形文本向量和矩形空间向量合并得到矩形的数据向量E.v=(E.lv|E.tv|1),将数据点的文本向量和空间向量合并得到数据点的数据向量O.v=(O.lv|O.tv|1);
S24,将矩形合并向量E.v随机分解为两个向量E′.v和E″.v,每个向量分别左乘一个作为密钥的预设可逆矩阵和得到加密矩形向量将数据合并向量随机分解为两个向量O′.v和O″.v,每个向量分别左乘一个可逆随机矩阵和得到加密数据向量
优选地,还包括:S6,针对最小外包矩形的每条边,以其为对称轴随机生成一对辅助对称点作为锚,锚的坐标为(xi,yi),将其扩展为向量Ani=(xi,yi,-0.5(xi+yi)2),其中1≤i≤5,i=1表示最小外包矩形内部的锚,i=2表示最小外包矩形左侧的锚,i=3表示最小外包矩形上方的锚,i=4表示最小外包矩形右侧的锚,i=5表示最小外包矩形下方的锚,对Ani加密得到An′i和An″i为Ani分解得到的两个向量,和为作为密钥的预设的可逆矩阵,针对查询源位置(xq,yq),为其设置辅助向量Q.a=(xi,yi,1),对Q.a加密得到Q′.a和Q″.a为Q.a分解得到的两个矩阵,和为作为密钥的预设的可逆矩阵,根据公式
的计算结果返回代码,若计算结果为正数,则返回代码hi=1,否则返回代码0,根据H=h2|h3|h4|h5确定源位置与最小外包矩形的相对位置关系。
优选地,所述步骤S6还包括:根据最小外包矩形四条边所在直线将平面划分为九个区域,根据源位置所在区域生成源位置的查询空间向量Qi.lv,当源位置处于最小外包矩形内部时,其到最小外包矩形的距离为0,当源位置处于最小外包矩形的左上角、右上角、左下角、右下角时,将其到最小外包矩形最近顶点的距离作为其到最小外包矩形的距离,当源位置位于最小外包矩形的左侧、上部、右侧、下部时,将其到最近的边的距离作为其到最小外包矩形的距离,根据源位置所处区域判断其对应查询空间向量中参与运算的坐标,并将不参与运算的坐标置为0,得到
Q9.lv=(0,0,0|0,0,0|0,0,0|0,0,0),
其中,Q1.lv、Q2.lv、Q3.lv、Q4.lv、Q5.lv、Q6.lv、Q7.lv、Q8.lv、Q9.lv分别表示源位置位于最小外包矩形的左侧、左上角、上部、右上角、右侧、右下角、下部、左下角和内部时对应查询空间向量,
根据查询关键字生成查询文本向量Q.tv={q1,q2,...,qn},其中,当查询指令中包含第i个关键字,qi=-1,否则qi=0,对查询文本向量和查询空间向量进行整合和扩展得到查询向量
Qi.v=(αQi.lv|(1-α)Q.tv|(1-α)),对查询向量进行加密得到加密查询向量
优选地,所述步骤S6还包括:根据H=h2|h3|h4|h5为九个区域中的每个区域分别设置标识,并建立查询向量与标识的对应关系列表,在计算得到H后,根据对应关系列表获取相应的查询向量。
优选地,在云服务器中计算计算最小外包矩形在优先队列中的键值以及数据点在优先队列中的键值,并将满足用户查询指令的数据点返回至用户终端。
优选地,所述索引为IR-tree索引。
根据上述技术方案,本发明解决了在外包的空间文本数据库中空间关键字top-k查询的问题,通过对空间文本数据库中的位置信息和文本描述进行统一的加密处理,来构建一个安全的查询索引,进而设计了基于锚的查询位置判断方法以及位置区分的查询请求陷门生成方法,以实现保护隐私的高效的空间关键字查询算法。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了根据本发明一个实施例的隐私保护的空间关键字查询方法的示意流程图;
图2示出了根据本发明一个实施例的索引结构示意图;
图3示出了根据本发明一个实施例的最小外包矩形划分区域的示意图;
图4示出了根据本发明另一个实施例的数据点和最小外包矩形的示意图;
图5示出了根据本发明另一个实施例的索引结构示意图;
图6示出了根据本发明又一个实施例的构造存储开销和构造时间开销的示意图;
图7示出了根据本发明又一个实施例的内存驻留数据和相应查询响应时间的示意图;
图8示出了根据本发明又一个实施例的磁盘驻留数据的相应查询响应时间的示意图;
图9示出了根据本发明又一个实施例的隐私保护的空间关键字查询方法与现有技术中明文查询算法的响应时间比较示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图1所示,根据本发明一个实施例的空间关键字查询方法,包括:S1,根据预存储数据建立空间文本数据库索引;S2,将索引中的最小外包矩形的坐标和文本信息转化为矩形的数据向量E.v,将索引中的数据点转化为数据点的数据向量O.v,对矩形的数据向量进行加密得到加密的矩形的数据向量
对数据点的数据向量进行加密得到加密的数据点的数据向量
其中,和为作为密钥的可逆随机矩阵,E′.v和E″.v为E.v分解得到的两个向量,O′.v和O″.v为O.v分解得到的两个向量;
S3,记录发出查询指令的源位置的坐标以及查询关键字,计算源位置与最小外包矩形的相对位置关系,根据相对位置生成查询空间向量Qi.lv,其中,1≤i≤9,根据查询关键字生成查询文本向量Q.tv,对查询文本向量和查询空间向量进行整合和扩展得到查询向量
Qi.v=(αQi.lv|(1-α)Q.tv|(1-α)),
其中,α为查询空间向量和查询文本向量的权重平衡因子,对查询向量进行加密得到其中,Q'i.v和Q"i.v为Qi.v分解得到的两个向量;
S4,计算最小外包矩形在优先队列中的键值
以及数据点在优先队列中的键值
S5,根据最小外包矩形在优先队列中的键值和数据点在优先队列中的键值,优先队列对最小外包矩形和数据点进行排序和输出,以查询满足用户查询指令的数据点。
一方面,通过加密算法,可以对空间文本数据库中的位置信息和文本描述进行统一的加密处理,从而构建一个安全的查询索引,保证了用户在索引中进行查询的安全性。
另一方面,通过确定查询位置相对于最小外包矩形的位置关系,可以快速地计算出查询位置到最小外包矩形的距离,进而计算空间文本的相似度,而且根据相对位置确定查询空间向量,可以方便地建立查询向量与最小外包矩形的相对位置,从而快速地计算最小外包矩形和数据点进入优先队列的键值,进而通过IR-tree的最好优先的查询算法查询用户查询指令对应的数据点。
优选地,步骤S2包括:S21,将索引中的最小外包矩形的坐标和文本权重信息转化为矩形文本向量E.tv,将索引中的数据点的文本权重信息转化为数据文本向量O.tv;
S22,获取最小外包矩形的矩形坐标信息(x'min,y'min,x'max,y'max),其中,最小外包矩形的四条边分别与预设平面直角坐标系中的x轴或y轴平行,x'min和x'max为矩形四个顶点在x轴上的投影坐标,y'min和y'max为矩形四个顶点在y轴上的投影坐标,x'min与y'min和y'max组合,x'max与y'min和y'max组合形成矩形的四个顶点坐标,以及数据点的坐标信息(x′,y′,0,0),x'为数据点在x轴上的投影坐标,y'为数据点在y轴上的投影坐标,对矩形坐标信息增加辅助位后将其转换为矩形空间向量
将数据点的坐标信息增加辅助位后将其转换为数据点的空间向量O.lv=(x′,x′2,1|y′,y′2,1|0,0,0|0,0,0);
S23,将矩形文本向量和矩形空间向量合并得到矩形的数据向量E.v=(E.lv|E.tv|1),将数据点的文本向量和空间向量合并得到数据点的数据向量O.v=(O.lv|O.tv|1);
S24,将矩形合并向量E.v随机分解为两个向量E′.v和E″.v,每个向量分别左乘一个作为密钥的预设可逆矩阵和得到加密矩形向量将数据合并向量随机分解为两个向量O′.v和O″.v,每个向量分别左乘一个可逆随机矩阵和得到加密数据向量
通过上述加密算法,可以预先将最小外包矩形和数据点的数据向量处理转化为统一格式,从而可以方便地进行加密,而且通过左乘可逆矩阵,可以在IR-tree索引中的父子节点关系保持不变的情况下进行加密,保证了接下来的查询操作依然可以顺利进行。
例如图2所示的IR-tree索引,其中R1、R2、R3、R4、R5、R6分别代表最小外包矩形,O1、O2、O3、O4、O5、O6、O7分别代表数据点,O1和O2处于最小外包矩形R1中,O3、O4和O5处于最小外包矩形R2中,O5处于最小外包矩形R3中,O6和O7处于最小外包矩形R4中,且最小外包矩形R1和R2处于最小外包矩形R5中,最小外包矩形R3和R4处于最小外包矩形R6中,经过上述加密操作,可以将最小外包矩形R5加密为格式,将数据点O3加密为格式。
如图3所示,优选地,还包括:S6,针对最小外包矩形的每条边,以其为对称轴随机生成一对辅助对称点作为锚,锚的坐标为(xi,yi),将其扩展为向量Ani=(xi,yi,-0.5(xi+yi)2),其中1≤i≤5,i=1表示最小外包矩形内部的锚,i=2表示最小外包矩形左侧的锚,i=3表示最小外包矩形上方的锚,i=4表示最小外包矩形右侧的锚,i=5表示最小外包矩形下方的锚,对Ani加密得到An′i和An″i为Ani分解得到的两个向量,和为作为密钥的预设的可逆矩阵,针对查询源位置(xq,yq),为其设置辅助向量Q.a=(xi,yi,1),对Q.a加密得到Q′.a和Q″.a为Q.a分解得到的两个矩阵,和为作为密钥的预设的可逆矩阵,根据公式
的计算结果返回代码,若计算结果为正数,则返回代码hi=1,否则返回代码0,根据H=h2|h3|h4|h5确定源位置与最小外包矩形的相对位置关系。
为了计算空间文本相似度,计算源位置到MBR(最小外包矩形)的距离是这个过程中的一个基本操作。根据欧几里得距离的定义,点到矩形的距离定义为该点到这个矩形上一点的最短距离,因此,点到矩形的距离可能为该点到矩形某顶点的距离或者该点到矩形某条边的距离。这两种情况是由该点和矩形的位置关系决定的。如图3所示,Q1到MBR的距离是该点到直线a的垂直距离,而Q2到MBR的距离是该点到矩形顶点的距离,矩形的4条边将平面分成9个区域。判断点和矩形的位置关系,只要确定该点在这9个区域中的哪一个区域即可。
优选地,步骤S6还包括:根据最小外包矩形四条边所在直线将平面划分为九个区域,根据源位置所在区域生成源位置的查询空间向量Qi.lv,当源位置处于最小外包矩形内部时,其到最小外包矩形的距离为0,当源位置处于最小外包矩形的左上角、右上角、左下角、右下角时,将其到最小外包矩形最近顶点的距离作为其到最小外包矩形的距离,当源位置位于最小外包矩形的左侧、上部、右侧、下部时,将其到最近的边的距离作为其到最小外包矩形的距离,根据源位置所处区域判断其对应查询空间向量中参与运算的坐标,并将不参与运算的坐标置为0,得到
Q9.lv=(0,0,0|0,0,0|0,0,0|0,0,0),
其中,Q1.lv、Q2.lv、Q3.lv、Q4.lv、Q5.lv、Q6.lv、Q7.lv、Q8.lv、Q9.lv分别表示源位置位于最小外包矩形的左侧、左上角、上部、右上角、右侧、右下角、下部、左下角和内部时对应查询空间向量,
根据查询关键字生成查询文本向量Q.tv={q1,q2,...,qn},其中,当查询指令中包含第i个关键字,qi=-1,否则qi=0,对查询文本向量和查询空间向量进行整合和扩展得到查询向量
Qi.v=(αQi.lv|(1-α)Q.tv|(1-α)),对查询向量进行加密得到加密查询向量
由于在外包之前,数据库中的MBR都已进行加密,这样的位置判断不能直接完成,因此,需要通过为MBR增加辅助点来实现这种位置关系的判断,其中,添加的辅助点这里称之为锚,基于上述描述可以得知,源位置距离某一对轴对称的点哪个更近,则源位置和该点在对称轴的同一侧。因此,对于MBR的每一条边,我们以其为对称轴为其随机生成一对对称点,这样,对于一个MBR来说,总共至少需要生成5个辅助的锚,而由于锚的坐标也存在暴露MBR边的位置的可能,因此,对锚的坐标也进行加密处理。对于一个锚的坐标(xi,yi),首先扩展成向量Ani=(xi,yi,-0.5(xi+yi)2),i从1到5分别表示MBR的内部,左侧,上方,右侧和下方的锚,加密得到相应地,源位置的坐标也生成对应的形式,对于一个源位置(xq,yq),其辅助向量为Q.a=(xi,yi,1),进行加密后的结果是
在确定源位置相对于MBR的位置之后,源位置到MBR距离的计算理论上分为以下3类:1)当源位置在MBR内部时,其到MBR距离为0;2)当源位置在MBR角上的区域时(图3中区域II,IV,VI和VIII),距离需要通过源位置和MBR的顶点来计算;3)当源位置在MBR边外侧的区域时(图3中区域I,III,V,VII),其距离需要通过源位置和MBR的边来计算。
具体地,本发明首先将每个查询空间向量仅保留与用于计算的数据向量中的坐标相对应的位,其他对应于不用于计算的坐标的位将其置为0,从而简化运算量,提高运算速度,得到查询空间向量Q1.lv、Q2.lv、Q3.lv、Q4.lv、Q5.lv、Q6.lv、Q7.lv、Q8.lv、Q9.lv。对于查询文本向量,其表示为Q.tv={q1,q2,...,qn},然后将查询空间向量和查询文本向量进行整合和扩展得到查询向量Qi.v=(αQi.lv|(1-α)Q.tv|(1-α)),相应地,为了保证查询向量的安全性,对查询向量进行加密得到
优选地,步骤S6还包括:根据H=h2|h3|h4|h5为九个区域中的每个区域分别设置标识,并建立查询向量与标识的对应关系列表,在计算得到H后,根据对应关系列表获取相应的查询向量。
由于MBR的坐标已经被加密,即使源位置的位置关系可以被判断,但是计算无法直接完成。而通过本发明的技术方案,则可以根据位置区分的查询请求陷门生成方法,预先生成可能用于上述距离计算的查询请求。
如图3可见,9个区域分别位于MBR的4条边所在直线的确定的一侧,因此可以通过一个4位(二进制)编码来表示这9个区域,其中的每一位表示源位置在某条边所在直线的某一侧,具体可以如下设计:如果区域在直线a或c的左侧,或者区域在直线b或d的上方,相应的位用1来编码;反之,则用0来编码,则根据图3所示分区,可以得到如表1所示的编码,
表1
根据H建立的查询向量Qi.v与标识的对应关系列表即如表1所示,例如当确定H=0111后,则查询到相应的查询向量Q1.v,当确定H=1111,则查询到相应的查询向量Q9.v,从而间接完成计算。
需要说明的是,上述步骤S6与步骤S1至S5并不存在严格的顺序关系,设置MBR和增加辅助点的步骤可以根据需要在接收到用户查询指令之前完成,也可以在接收到用户查询指令后进行。
优选地,在云服务器中计算计算最小外包矩形在优先队列中的键值以及数据点在优先队列中的键值,并将满足用户查询指令的数据点返回至用户终端。通过云服务器计算可以极大提高运算速度,并减轻运算负荷。
优选地,索引为IR-tree索引。
如图4所示,根据本发明的另一个实施例,该实施例中有8个数据点,每个对象包含的文本信息如下:
并存在7个最小外包矩形,数据点和最小外包矩形构成的IR-tree索引如图5所示,相当于在图2的基础上外包了矩形R7,而R7包含了R5、R6以及源位置Q。那么根据确定出每个数据点和最小外包矩形的空间坐标和文本对象如表2所示:
对象或矩形 | 空间坐标 | 文本权重 |
O1 | (4,3,0,0) | (5,0,5,0) |
O2 | (5,4,0,0) | (0,5,5,0) |
O3 | (5,2,0,0) | (7,0,0,1) |
O4 | (4,1,0,0) | (0,0,7,1) |
O5 | (3,4,0,0) | (4,0,4,0) |
O6 | (1,2,0,0) | (0,4,3,0) |
O7 | (2,1,0,0) | (1,1,4,1) |
O8 | (5,1,0,0) | (0,3,3,0) |
R1 | (3.5,2.5,5.5,4.5) | (5,5,5,0) |
R2 | (3.5,0.5,5.5,2.5) | (7,3,7,1) |
R3 | (2.5,3.5,3.5,4.5) | (4,0,4,0) |
R4 | (0.5,0.5,2.52.5) | (1,4,4,1) |
R5 | (3.5,0.5,5.5,4.5) | (7,5,7,1) |
R6 | (0.5,0.5,3.5,4.5) | (4,4,4,1) |
R7 | (0,0,6,5) | (7,5,7,1) |
表2
根据每个最小外包矩形的坐标,为其选择锚用于查询点位置的判断。空间对象的数据、矩形的数据以及锚数据经过本发明的加密方法加密后外包到云中。当位于源位置Q的用户提出空间关键字查询请求:坐标为(3.5,2.5),查询关键字为chinese和restaurant,则查询向量为(3.5,2.5)|(1,0,1,0),请求的空间对象个数k为1。根据本发明的加密方法可以生成位置区分的查询陷门以及相应的查询辅助向量。
查询过程中,首先通过锚和辅助查询向量对查询点的位置进行判断。然后选择对应的查询向量和矩形或者空间对象进行内积计算,得到的查询过程如下(由于加密后的键值不是真实值,在此省略):
1)R7出队列,R5和R6入队列;当前队列:R5,R6;
2)R5出队列,R1和R2入队列;当前队列:R2,R1,R6;
3)R2出队列,O3,O4,O8入队列;当前队列:R1,R6,O3,O4,O8;
4)R1出队列,O1,O2入队列;当前队列:O1,R6,O3,O2,O4,O8;
5)O1出队列,得到top-1的查询结果,查询结束。
从而实现了在对索引加密后,保证了查询安全性的情况下,进行高效的查询和反馈,解决了外部数据库场景中隐私保护的空间文本数据Top-k查询问题。
根据本发明的又一个实施例,可以通过如下实验设置对本发明算法的几个重要参数进行考察。
实验设置如下:使用一台服务器作为云服务器,其配置为Intel(R)Xeon(R)CPUL5638@2.00GHz(Dual Processor)和40.0GB RAM;使用一台PC作为数据拥有者,其配置为Intel(R)Core(TM)i7-3610QM CPU@2.30GHz 2.30GHz和6.0GB RAM。两台主机都运行windows 7操作系统。实验数据集为真实的美国西部道路的空间数据集以及真实的文本数据集20Newsgroups。该空间数据集中包括131,461个数据对象,平均每个数据对象包含104个关键字,数据集中不同的关键字个数限制在10000个。
下面通过分析实验数据来说明本发明中算法的性能。
在考察“索引构造开销”时,本算法分别对索引构造的存储开销和时间开销进行了评估。实验中,构造的安全索引扇出分别设置为100和200。从图6中可以看出,无论是存储开销还是时间开销,当扇出设为100或者200的时候,其影响并不显著。对于存储开销,在当前的实验条件下,其大小依然不足400MB,由于存储资源在云计算环境中可以看作是一种廉价的资源,这样的开销对于云计算环境来说是可以接受的。同时,对于构造时间开销,其主要消耗与对于MBR的加密中。在当前的实验设置下,构造时间保持在分钟级别。由于构造安全索引可以离线进行,同时也是一次性的工作,因此,这样的时间开销对于服务外包的数据拥有者来说是合理的。
在考察“查询响应时间”时,本发明分别对内存驻留和磁盘驻留的数据规模进行了实验。实验参数中扇出依然设定为100和200,查询结果的个数k设定为1,10,20,50四个值,空间和文本的平衡系数α则选择0.1,0.3,0.5,0.7,0.9五个值。实验结果如图7所示,在内存驻留实验中由于内存中数据处理速度较快,当扇出和平衡系数变化时并没有显著的影响,而当k变大时,由于需要查询的结果增加,其时间会有明显的上升。然而,在当前实验条件下,内存驻留数据的查询响应时间不足15ms,可见本发明的查询算法是非常高效的。
在硬盘驻留数据的查询响应时间的实验中,本发明将其与明文查询算法的查询相应时间进行了对比。由于查询数据驻留在磁盘中,每次查询过程中将会出现频繁的I/O操作,基于本发明的基本方法,在实验的实现中采取了对I/O操作的优化剪枝技术,从而得到该实验结果。如图8所示,当平衡系数增加时,查询响应时间会出现下降的趋势,这是由于较高的关键字比重会导致在查询过程中访问更多的节点,从而产生更多的磁盘访问的可能,因此耗时较多。本发明的查询方法在当前的实验设置下响应时间不超过100ms,具有较好的可用性和用户体验。和明文算法相比,本发明的算法仅比其慢了不足40ms,这样的查询响应时间可以认为是在同一个数量级别上。因此,可以说本发明中查询的响应时间在硬盘驻留的实验数据中取得了较好的实验效果。
在考察“可扩展性”时,实验在数据集中随机选取了100,000到1,000,000个数据对象。实验参数中k设置为10,扇出设置为100。同时选取明文查询算法以及基于线性扫描的密文查询基准算法作为比较算法。如图9所示,查询响应时间随着数据集的增加而增长。相比之下,本发明中查询响应时间仅稍慢于明文的查询算法,而比基准算法要快约两个数量级。
可见,本发明的查询算法不仅保证了在索引中查询数据的安全性,还降低了索引构造开销和查询响应时间,并提高了查询的可扩展性。
在本发明中,术语“多个”指两个或两个以上,除非另有明确的限定。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种隐私保护的空间关键字查询方法,其特征在于,包括:
S1,根据预存储的数据建立空间文本数据库索引;
S2,将索引中的最小外包矩形的坐标和文本信息转化为矩形的数据向量E.v,将索引中的数据点的坐标和文本信息转化为数据点的数据向量O.v,对矩形的数据向量进行加密得到加密的矩形的数据向量
<mrow>
<mover>
<mrow>
<mi>E</mi>
<mo>.</mo>
<mi>v</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>=</mo>
<mo>{</mo>
<msubsup>
<mi>M</mi>
<mn>1</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>E</mi>
<mo>&prime;</mo>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>,</mo>
<msubsup>
<mi>M</mi>
<mn>2</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>E</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>}</mo>
<mo>,</mo>
</mrow>
对数据点的数据向量进行加密得到加密的数据点的数据向量
<mrow>
<mover>
<mrow>
<mi>O</mi>
<mo>.</mo>
<mi>v</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>=</mo>
<mo>{</mo>
<msubsup>
<mi>M</mi>
<mn>1</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>O</mi>
<mo>&prime;</mo>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>,</mo>
<msubsup>
<mi>M</mi>
<mn>2</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>O</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>}</mo>
<mo>,</mo>
</mrow>
其中,和为作为密钥的可逆随机矩阵,E′.v和E″.v为E.v分裂得到的两个向量,O′.v和O″.v为O.v分裂得到的两个向量;
S3,记录发出查询指令的源位置的坐标以及查询关键字,计算源位置与最小外包矩形的相对位置关系,根据相对位置生成查询空间向量Qi.lv,其中,1≤i≤9,根据查询关键字生成查询文本向量Q.tv,对查询文本向量和查询空间向量进行整合和扩展得到查询向量
Qi.v=(αQi.lv|(1-α)Q.tv|(1-α)),
其中,α为查询空间向量和查询文本向量的权重平衡因子,对查询向量进行加密得到其中,Q'i.v和Q"i.v为Qi.v分裂得到的两个向量;
S4,计算最小外包矩形在优先队列中的键值
<mrow>
<mi>S</mi>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mover>
<mrow>
<mi>E</mi>
<mo>.</mo>
<mi>v</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>,</mo>
<mover>
<mrow>
<msub>
<mi>Q</mi>
<mi>i</mi>
</msub>
<mo>.</mo>
<mi>v</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>M</mi>
<mn>1</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>E</mi>
<mo>&prime;</mo>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>&CenterDot;</mo>
<msubsup>
<mi>M</mi>
<mn>1</mn>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<msub>
<msup>
<mi>Q</mi>
<mo>&prime;</mo>
</msup>
<mi>i</mi>
</msub>
<mo>.</mo>
<mi>v</mi>
<mo>+</mo>
<msubsup>
<mi>M</mi>
<mn>2</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>E</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>&CenterDot;</mo>
<msubsup>
<mi>M</mi>
<mn>2</mn>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<msub>
<msup>
<mi>Q</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mi>i</mi>
</msub>
<mo>.</mo>
<mi>v</mi>
<mo>,</mo>
</mrow>
以及数据点在优先队列中的键值
<mrow>
<mi>S</mi>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mover>
<mrow>
<mi>O</mi>
<mo>.</mo>
<mi>v</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>,</mo>
<mover>
<mrow>
<msub>
<mi>Q</mi>
<mn>8</mn>
</msub>
<mo>.</mo>
<mi>v</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>M</mi>
<mn>1</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>O</mi>
<mo>&prime;</mo>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>&CenterDot;</mo>
<msubsup>
<mi>M</mi>
<mn>1</mn>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<msub>
<msup>
<mi>Q</mi>
<mo>&prime;</mo>
</msup>
<mn>8</mn>
</msub>
<mo>.</mo>
<mi>v</mi>
<mo>+</mo>
<msubsup>
<mi>M</mi>
<mn>2</mn>
<mi>T</mi>
</msubsup>
<msup>
<mi>O</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mo>.</mo>
<mi>v</mi>
<mo>&CenterDot;</mo>
<msubsup>
<mi>M</mi>
<mn>2</mn>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<msub>
<msup>
<mi>Q</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mn>8</mn>
</msub>
<mo>.</mo>
<mi>v</mi>
<mo>,</mo>
</mrow>
S5,根据最小外包矩形在优先队列中的键值和数据点在优先队列中的键值,优先队列对最小外包矩形和数据点进行排序和输出,以查询满足用户查询指令的数据点。
2.根据权利要求1所述的隐私保护的空间关键字查询方法,其特征在于,所述步骤S2包括:
S21,将索引中的最小外包矩形的坐标和文本权重信息转化为矩形文本向量E.tv,将索引中的数据点的文本权重信息转化为数据文本向量O.tv;
S22,获取最小外包矩形的矩形坐标信息(x'min,y'min,x'max,y'max),其中,最小外包矩形的四条边分别与预设平面直角坐标系中的x轴或y轴平行,x'min和x'max为矩形四个顶点在x轴上的投影坐标,y'min和y'max为矩形四个顶点在y轴上的投影坐标,x'min与y'min和y'max组合,x'max与y'min和y'max组合形成矩形的四个顶点坐标,以及数据点的坐标信息(x′,y′,0,0),x'为数据点在x轴上的投影坐标,y'为数据点在y轴上的投影坐标,对矩形坐标信息增加辅助位后将其转换为矩形空间向量
<mrow>
<mi>E</mi>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>x</mi>
<mi>min</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>|</mo>
<msubsup>
<mi>y</mi>
<mi>min</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>|</mo>
<msubsup>
<mi>x</mi>
<mi>max</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mi>max</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>|</mo>
<msubsup>
<mi>y</mi>
<mi>max</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mi>max</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
将数据点的坐标信息增加辅助位后将其转换为数据点的空间向量
O.lv=(x′,x′2,1|y′,y′2,1|0,0,0|0,0,0);
S23,将矩形文本向量和矩形空间向量合并得到矩形的数据向量E.v=(E.lv|E.tv|1),将数据点的文本向量和空间向量合并得到数据点的数据向量O.v=(O.lv|O.tv|1);
S24,将矩形合并向量E.v随机分解为两个向量E′.v和E″.v,每个向量分别左乘一个作为密钥的预设可逆矩阵和得到加密矩形向量将数据合并向量随机分解为两个向量O′.v和O″.v,每个向量分别左乘一个可逆随机矩阵和得到加密数据向量
3.根据权利要求1所述的隐私保护的空间关键字查询方法,其特征在于,还包括:
S6,针对最小外包矩形的每条边,以其为对称轴随机生成一对辅助对称点作为锚,锚的坐标为(xi,yi),将其扩展为向量Ani=(xi,yi,-0.5(xi+yi)2),其中1≤i≤5,i=1表示最小外包矩形内部的锚,i=2表示最小外包矩形左侧的锚,i=3表示最小外包矩形上方的锚,i=4表示最小外包矩形右侧的锚,i=5表示最小外包矩形下方的锚,对Ani加密得到Ani′和Ani″为Ani分解得到的两个向量,和为作为密钥的预设的可逆矩阵,针对查询源位置(xq,yq),为其设置辅助向量Q.a=(xi,yi,1),对Q.a加密得到Q′.a和Q″.a为Q.a分解得到的两个矩阵,和为作为密钥的预设的可逆矩阵,根据公式
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>P</mi>
<mi>D</mi>
<mrow>
<mo>(</mo>
<mover>
<mrow>
<msub>
<mi>An</mi>
<mn>1</mn>
</msub>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>,</mo>
<mover>
<mrow>
<msub>
<mi>An</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>,</mo>
<mover>
<mrow>
<mi>Q</mi>
<mo>.</mo>
<mi>a</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>m</mi>
<mn>1</mn>
<mi>T</mi>
</msubsup>
<msubsup>
<mi>An</mi>
<mn>1</mn>
<mo>&prime;</mo>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>m</mi>
<mn>1</mn>
<mi>T</mi>
</msubsup>
<msubsup>
<mi>An</mi>
<mi>i</mi>
<mo>&prime;</mo>
</msubsup>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msubsup>
<mi>m</mi>
<mn>1</mn>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<msup>
<mi>Q</mi>
<mo>&prime;</mo>
</msup>
<mo>.</mo>
<mi>a</mi>
<mo>+</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<msubsup>
<mi>m</mi>
<mn>2</mn>
<mi>T</mi>
</msubsup>
<msubsup>
<mi>An</mi>
<mn>1</mn>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>m</mi>
<mn>2</mn>
<mi>T</mi>
</msubsup>
<msubsup>
<mi>An</mi>
<mi>i</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msubsup>
<mo>)</mo>
<mo>&CenterDot;</mo>
<msubsup>
<mi>m</mi>
<mn>2</mn>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<msup>
<mi>Q</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mo>.</mo>
<mi>a</mi>
<mo>,</mo>
<mi>w</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>e</mi>
<mn>2</mn>
<mo>&le;</mo>
<mi>i</mi>
<mo>&le;</mo>
<mn>5</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
的计算结果返回代码,若计算结果为正数,则返回代码hi=1,否则返回代码0,根据H=h2|h3|h4|h5确定源位置与最小外包矩形的相对位置关系。
4.根据权利要求3所述的隐私保护的空间关键字查询方法,其特征在于,所述步骤S6包括:根据最小外包矩形四条边所在直线将平面划分为九个区域,根据源位置所在区域生成源位置的查询空间向量Qi.lv,当源位置处于最小外包矩形内部时,其到最小外包矩形的距离为0,当源位置处于最小外包矩形的左上角、右上角、左下角、右下角时,将其到最小外包矩形最近顶点的距离作为其到最小外包矩形的距离,当源位置位于最小外包矩形的左侧、上部、右侧、下部时,将其到最近的边的距离作为其到最小外包矩形的距离,根据源位置所处区域判断其对应查询空间向量中参与运算的坐标,并将不参与运算的坐标置为0,得到
<mrow>
<msub>
<mi>Q</mi>
<mn>1</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Q</mi>
<mn>2</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Q</mi>
<mn>3</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Q</mi>
<mn>4</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Q</mi>
<mn>5</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Q</mi>
<mn>6</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
</mrow>
2
<mrow>
<msub>
<mi>Q</mi>
<mn>7</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>Q</mi>
<mn>8</mn>
</msub>
<mo>.</mo>
<mi>l</mi>
<mi>v</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>x</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<msubsup>
<mi>y</mi>
<mi>q</mi>
<mrow>
<mo>&prime;</mo>
<mn>2</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>|</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
</mrow>
Q9.lv=(0,0,0|0,0,0|0,0,0|0,0,0),
其中,Q1.lv、Q2.lv、Q3.lv、Q4.lv、Q5.lv、Q6.lv、Q7.lv、Q8.lv、Q9.lv分别表示源位置位于最小外包矩形的左侧、左上角、上部、右上角、右侧、右下角、下部、左下角和内部时对应查询空间向量,
根据查询关键字生成查询文本向量Q.tv={q1,q2,...,qn},其中,当查询指令中包含第i个关键字,qi=-1,否则qi=0,对查询文本向量和查询空间向量进行整合和扩展得到查询向量
Qi.v=(αQi.lv|(1-α)Q.tv|(1-α)),
对查询向量进行加密得到
5.根据权利要求4所述的隐私保护的空间关键字查询方法,其特征在于,所述步骤S6还包括:
根据H=h2|h3|h4|h5为九个区域中的每个区域分别设置标识,并建立查询向量与标识的对应关系列表,在计算得到H后,根据对应关系列表获取相应的查询向量。
6.根据权利要求1所述的隐私保护的空间关键字查询方法,其特征在于,在云服务器中计算最小外包矩形在优先队列中的键值以及数据点在优先队列中的键值,并将满足用户查询指令的数据点返回至用户终端。
7.根据权利要求1所述的隐私保护的空间关键字查询方法,其特征在于,所述索引为IR-tree索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058254.3A CN104731860B (zh) | 2015-02-04 | 2015-02-04 | 隐私保护的空间关键字查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058254.3A CN104731860B (zh) | 2015-02-04 | 2015-02-04 | 隐私保护的空间关键字查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731860A CN104731860A (zh) | 2015-06-24 |
CN104731860B true CN104731860B (zh) | 2017-11-14 |
Family
ID=53455747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510058254.3A Active CN104731860B (zh) | 2015-02-04 | 2015-02-04 | 隐私保护的空间关键字查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731860B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850187B (zh) * | 2017-01-13 | 2018-02-06 | 温州大学瓯江学院 | 一种隐私字符信息加密查询方法及系统 |
CN106603232B (zh) * | 2017-01-22 | 2017-11-24 | 安徽大学 | 一种基于不经意量子密钥分配的最近隐私查询方法 |
CN107360146B (zh) * | 2017-07-03 | 2021-03-26 | 深圳大学 | 一种接受保证的隐私保护空间众包任务分配系统及方法 |
US10831911B2 (en) | 2017-12-19 | 2020-11-10 | Industrial Technology Research Institute | Method, computer program product and processing system for generating secure alternative representation |
US10909261B2 (en) | 2018-12-12 | 2021-02-02 | Industrial Technology Research Institute | Method and computer program product for generating secure alternative representation for numerical datum |
CN110362652B (zh) * | 2019-07-19 | 2022-11-22 | 辽宁工程技术大学 | 基于空间-语义-数值相关度的空间关键字Top-K查询方法 |
CN113158087A (zh) * | 2021-04-09 | 2021-07-23 | 深圳前海微众银行股份有限公司 | 一种空间文本的查询方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394784A (zh) * | 2011-11-21 | 2012-03-28 | 北京邮电大学 | 基于隐私保持的分布式Top-k查询方法 |
CN104052750A (zh) * | 2014-06-24 | 2014-09-17 | 北京邮电大学 | 一种基于仿射变换保护凸二次规划外包中隐私的方法 |
CN104092692A (zh) * | 2014-07-15 | 2014-10-08 | 福建师范大学 | 一种基于k-匿名与服务相似性相结合的位置隐私保护方法 |
-
2015
- 2015-02-04 CN CN201510058254.3A patent/CN104731860B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394784A (zh) * | 2011-11-21 | 2012-03-28 | 北京邮电大学 | 基于隐私保持的分布式Top-k查询方法 |
CN104052750A (zh) * | 2014-06-24 | 2014-09-17 | 北京邮电大学 | 一种基于仿射变换保护凸二次规划外包中隐私的方法 |
CN104092692A (zh) * | 2014-07-15 | 2014-10-08 | 福建师范大学 | 一种基于k-匿名与服务相似性相结合的位置隐私保护方法 |
Non-Patent Citations (1)
Title |
---|
Privacy-Preserving Top-k Spatial Keyword Queries in Untrusted Cloud Environments;Sen Su 等;《IEEE Transactions on Services Computing》;20150924;第pp卷(第99期);1-14 * |
Also Published As
Publication number | Publication date |
---|---|
CN104731860A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731860B (zh) | 隐私保护的空间关键字查询方法 | |
Peng et al. | Enhanced location privacy preserving scheme in location-based services | |
CN107360146B (zh) | 一种接受保证的隐私保护空间众包任务分配系统及方法 | |
CN110287392B (zh) | 一种基于安全划分树的安全空间网络查询方法 | |
CN109344640B (zh) | 一种基于同态加密和多项式计算的子图匹配方法 | |
Chruściński et al. | Generalized semi-Markov quantum evolution | |
Li et al. | PROS: A privacy-preserving route-sharing service via vehicular fog computing | |
Zhang et al. | Lightweight privacy-preserving scheme in Wi-Fi fingerprint-based indoor localization | |
Guo et al. | Secure and efficient ${K} $ nearest neighbor query over encrypted uncertain data in cloud-IoT ecosystem | |
Kumar et al. | Protecting location privacy in cloud services | |
Guo et al. | Privacy-preserving compressive sensing for real-time traffic monitoring in urban city | |
Ma et al. | Personalized location privacy with road network-indistinguishability | |
Wang et al. | Efficient location-based skyline queries with secure r-tree over encrypted data | |
Meng et al. | Verifiable spatial range query over encrypted cloud data in VANET | |
Xu et al. | An efficient and privacy-preserving route matching scheme for carpooling services | |
Büyükköroğlu | Common diagonal Lyapunov function for third order linear switched system | |
CN106685893A (zh) | 一种基于社交网络群的权限控制方法 | |
Qu et al. | Prophet: A context-aware location privacy-preserving scheme in location sharing service | |
Wang et al. | Ropriv: Road network-aware privacy-preserving framework in spatial crowdsourcing | |
Cheng et al. | A user sensitive privacy-preserving location sharing system in mobile social networks | |
Ren et al. | Efficient privacy-preserving circular range search on outsourced spatial data | |
CN111263362B (zh) | 基于密度分布的k-匿名位置隐私保护方法及系统 | |
Li et al. | Dynamic network data protection algorithm using differential privacy in Internet of Things | |
Li et al. | Guest editorial big security challenges in big data era | |
KR101916228B1 (ko) | 가블드 회로 기반 k-NN 질의 처리 방법 및 k-NN 질의 처리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |