一种支持高效隐私保护空间关键词查询的加密索引构建方法

文档序号:36959224发布日期:2024-02-07 13:03阅读:21来源:国知局
一种支持高效隐私保护空间关键词查询的加密索引构建方法

本发明属于隐私保护,具体的说是涉及一种支持高效隐私保护空间关键词查询的加密索引构建方法。


背景技术:

1、随着云计算和基于位置的服务在互联网中快速发展,面对不断增长的数据量,越来越多的企业和个人选择将拥有的空间文本数据外包到云服务器中,以便实现查询数据的灵活性和有效的节约成本,同时也能实现数据的长期存储与随意访问。然而上传到云端的数据和用户的查询过程可能会暴露相关信息与个人偏好行为,从而导致严重的隐私泄露问题。因此在“诚实而好奇”的云服务器下研究隐私保护空间数据的查询有着重要意义。

2、为了保护数据的隐私,最直接也最常见的方法就是将数据先进行加密再上传云端。但是加密后的数据可读性严重下降,数据的检索与查询的复杂程度也将增加,导致计算时间与开销大大增加。因此,对于如何高效的进行隐私保护数据的查询成为了当下的主要追求。为了解决这一问题,现有的文献已经提出了许多隐私保护空间查询的方案。例如有利用geohash来对地区范围进行编码再进行查询,有利用多项式拟合技术确定闭合曲线来确定位置范围,还有文献通过格雷码对位置坐标转换后来存储构建四叉树,也有通过矩形顶角坐标确定位置,或者利用空间填充曲线来确定位置点信息。上述的现有方案能够有效地保证隐私与提升检索效率,然而,在许多大规模数据的应用场景中,这些方案要么会因数据文档的向量维度增大而占用大量的存储空间,要么会导致查询效率的低下,因巨大的计算与存储开销给用户带来不好的使用体验。因此,如果能提出一种在保证隐私安全和实现准确查找的同时,还能压缩存储维度并便于查找数据的索引,就能有效减少数据存储代价并提升隐私保护空间关键词的查询效率。


技术实现思路

1、为了解决现有技术存在的不足,本发明提供了一种支持加密文档快速空间关键词检索的隐私保护空间关键词查询加密索引创建方法,该索引构建方法基于关键词-位置avl查找树二元组序列的加密索引结构,并利用0-1编码和hmac等方法对索引数据进行加密,提高安全性,可用于实现在保护隐私的情况下对空间关键词进行精确搜索,提高检索效率。

2、为了达到上述目的,本发明是通过以下技术方案实现的:

3、本发明是一种支持高效隐私保护空间关键词查询的加密索引构建方法,其创建方法包括如下过程:

4、(1)根据空间数据集d={(w1,l1),(w2,l2),···,(wm,lm)},构建关键词的字典w={w1,w2,…,wn},其中li=(xi,yi)为二维空间位置点,wi为描述该位置的关键词集合;

5、(2)根据字典w以及空间数据集d,构建关键词-位置集二元组序列l={l1,l2,…,ln},其中li=(wi,loci)为关键词-位置集二元组,loci表示位置描述关键词集合中包含wi的位置构成的集合,即loci={lj|(wj,lj)∈d∧wi∈wj};

6、(3)对于l中的每一个关键词-位置集二元组li,根据划分参数τ对li中的位置集合loci进行拆分,并对拆分后的结果进行等长化处理,进而生成个等长关键词-位置集二元组li’={li,1,li,2,…,li,h},其中li,j=(wi,loci,j),loci,j为包含τ个位置点的集合。经过拆分处理后,形成位置点数量相等的等长关键词-位置集二元组序列

7、(4)对于位置点数量相等的等长关键词-位置集二元组li’中的每一个关键词-位置集li,j=(wi,loci,j),根据loci,j中各位置点的横坐标或纵坐标构建与相应的avl查找树ti,j,进而生成关键词-查找树二元组(wi,ti,j)。最终,生成关键词-查找树二元组序列其中ti,j为与li,j对应的avl查找树;

8、(5)利用0-1编码和hmac对中的每一个关键词-查找树二元组(wi,ti,j)进行加密处理,并进行排序,进而生成加密关键词-查找树二元组序列该序列即为支持高效隐私保护空间关键词查询的加密索引。

9、进一步的,步骤(3)中根据划分参数τ对li=(wi,loci)进行等长拆分的过程包括以下步骤:

10、(3.1)若关键词wi∈w所对应的位置点集loci包含位置点的数量小于等于划分参数τ,则构造τ-|loci|个虚拟位置加入loci,得到位置集合loci,1。此时,li经过拆分处理后形成的等长关键词-位置集二元组即为li’={li,1},其中li,1=(wi,loci,1);

11、(3.2)若关键词wi∈w所对应的位置点集loci包含位置点的数量大于划分参数τ,将loci拆分成个位置子集g={g1,g2,…,gh},并且为了保证填充虚拟位置的相似性尽可能小,满足任意两个子集中包含位置的数量之差的绝对值不大于1。构造(h*τ-|loci|)个虚拟位置,对于g的每个子集gj,如果gj中包含的位置数量小于τ,则将τ-|loci,j|个虚拟位置加入gj。使得每个gj都包含τ个位置点。此时,li经过拆分处理后形成的等长关键词-位置集二元组即为li’={li,1,li,2,…,li,h},其中任一关键词-位置集li,j=(wi,loci,j),loci,j=gj。

12、进一步的,步骤(4)中生成关键词-查找树二元组序列的过程包括以下步骤:

13、(4.1)对于l’中的每一个关键词-位置集li,j=(wi,loci,j),根据loci,j中各位置点的横坐标或纵坐标构建与相应的avl查找树ti,j,由于loci,j的长度都为τ,所以构建的avl查找树的大小与高度都相同;

14、(4.2)对于每个关键词wi和对应的avl查找树ti,j,生成关键词-查找树二元组(wi,ti,j),即由关键词wi可以得到每一个与之对应的查找树{ti,1,ti,2,…,ti,j}。最终生成关键词-查找树二元组序列其中ti,j为与li,j对应的avl查找树。

15、进一步的,执行步骤(5)中通过对中的每一个关键词-查找树二元组(wi,ti,j)进行加密,并进行排序,最终得到加密关键词-查找树二元组序列具体过程包括以下步骤:

16、(5.1)对于中的每一个关键词-查找树二元组(wi,ti,j),首先对其中avl查找树ti,j利用0-1编码与hmac进行加密处理,生成加密avl查找树然后对其中的关键词wi利用hmac进行加密处理,其中key为hmac的密钥,此时即可得到加密的关键词-查找树二元组当中的所有关键词-查找树二元组加密处理完毕,则得到加密关键词-查找树二元组序列

17、(5.2)根据加密关键词的大小关系,对中的加密关键词-查找树二元组进行排序,生成加密关键词-查找树二元组序列该序列即为加密索引。

18、进一步的,步骤(5.1)中针对avl查找树ti,j利用0-1编码与hmac进行加密处理,需要对ti,j的每个结点中存储的坐标数据c按照如下步骤执行加密处理:

19、(5.1.1)对于ti,j的每个结点中存储的坐标数据c,首先将坐标数据c转换为w位的二进制形式cb,cb=b1b2…bw-1bw(bi∈{0,1},i∈{1,2,…,w}),然后对cb进行1编码,生成1编码集合oc={b1b2…bi|bi=1,1≤i≤w};

20、(5.1.2)对于所述1编码集合oc中的每一个编码x利用hmac加密处理,生成hmac编码hmac(x,key),其中key为hmac的密钥,最终得到加密后的1编码集合当ti,j的所有结点加密处理完毕,则得到加密后的avl查找树

21、本发明的有益效果是:首先,本发明运用了关键词-位置集查找树二元组,最后形成索引有效的降低查询时间;其次,本发明利用0-1编码与hmac等方式对索引进行加密,有效保证安全性与隐私性;并且,相较于大部分方案的先查询位置点再根据关键词进行筛选或拼接后查询的方式,面对大量的位置点数量,本发明提出的加密索引构建方法先利用关键词进行筛选后再查询搜索范围内的位置点,能有效降低查询次数与查询时间,实现快捷高效的隐私保护空间关键词范围查询。因此,利用本发明进行空间关键词查询的效率高。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1