当前位置: 首页 > 专利查询>之江实验室专利>正文

一种支持隐匿查询的索引构建和检索方法及装置制造方法及图纸

技术编号:39733557 阅读:8 留言:0更新日期:2023-12-17 23:36
本发明专利技术公开了一种支持隐匿查询的索引构建和检索方法及装置,所述方法包括以下步骤:构建包含数据表

【技术实现步骤摘要】
一种支持隐匿查询的索引构建和检索方法及装置


[0001]本专利技术涉及隐私安全计算
,尤其涉及一种支持隐匿查询的索引构建和检索方法及装置


技术介绍

[0002]近些年来,随着数据的大量产生和处理,数据的存储和保护变得尤为重要

为了保护数据隐私和安全,各种技术被发展和完善

其中,隐匿查询技术
(Private Information Retrieval

PIR)
趋于成熟,该技术可实现查询方从数据提供方查询数据而不暴露其查询的内容

目前已有基于不经意传输

同态加密

隐私求交等多种实现方案

[0003]中国专利文献
CN115905238A
公开了一种隐匿查询方法

装置

电子设备和存储介质,该方法包括响应于对待查询数据的查询请求,确定所述待查询数据的查询标识;所述查询标识用于确定待查询数据在服务方中的分片存储区域;将所述查询标识发送给服务方,用于指示服务方根据所述查询标识,查询并反馈所述查询标识对应的分片存储区域中的密文序列和相应的位置索引序列;其中,所述分片存储区域为所述服务方根据数据库中各数据的原始位置索引对各所述数据进行分片存储的区域;获取所述密文序列和所述位置索引序列,并根据所述位置索引序列,从所述密文序列中确定目标密文;获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中确定所述目标密文的目标密钥;根据所述目标密钥对所述目标密文进行解密,得到所述待查询数据的明文信息

[0004]虽然上述方法提到了位置索引的概念,但该索引的使用上每查一条数据则返回整个存储片区的索引序列,若查询多条不在同一存储片区的数据,则会造成大量的冗余索引内容被传输,效率较低

该方法中提到查询方可根据唯一性标识确定待查数据在数据库中的原始索引,而实施例中采取的方案是查询方存储所有服务方的原始数据索引,该方案在实际应用代价较大

除此之外,在检索方面,查询方查询获取的内容包括多条数据的密文序列

位置索引序列和密钥,通过其密钥和密文序列可以解出密文序列中的多条数据,存在安全隐患

[0005]另外,中国专利文献
CN116028948A
公开了一种关键词隐私信息检索方法及装置,该方法为:接收用户输入的用于检索隐私信息的待查关键词和用于混淆待查关键词的混淆词的第一数量
M
,接收服务器发送的数据总量
X
;根据第一数量,对数据总量
X
进行分组,获得第二数量
N
;根据第二数量
N
和待查关键词,获得目标筛选信息;将第二数量
N
和目标筛选信息发送给服务器,接收服务器反馈的目标索引列表,目标索引列表中包括将第二数量
N
和目标筛选信息代入预设筛选条件得到的
Y
个密文索引;根据目标索引列表,从服务器中获得目标索引列表对应的包含隐私信息的子数据集,从子数据集中,获得待查关键词对应的隐私信息

该方法虽然一定程度上可以降低电子设备计算开销和通信开销,保护用户检索条件和检索结果

但该方法依然是依赖通信冗余保证其隐匿性,在索引查询阶段每查一个关键字则有
M
‑1条冗余加密索引信息被传输,查询多个关键字存在大量冗余索引传输的问题

并且以上两个方案的索引结构与数据和算法为统一整体,其的目的均不是构建一个支持隐匿
查询的独立索引

[0006]因此,亟需一种独立的

支持多种技术方案的隐匿查询索引构建和检索方法


技术实现思路

[0007]鉴于上述,本专利技术的目的是提供一种支持隐匿查询的索引构建和检索方法及装置,以填补隐匿查询领域独立索引的空白,为现有的隐匿查询技术提供一种通用

高效的索引构建和检索方案

[0008]第一方面,本专利技术实施例提供的一种支持隐匿查询的索引构建和检索方法,包括以下步骤:
[0009]构建包含数据表

二级索引以及一级索引的索引与数据存储结构,其中,数据表包括多个具有唯一标识符的数据桶,每个数据桶包含多条原始数据记录,数据桶的存储方式与按行查询的隐匿查询算法兼容;二级索引包括多个二级索引桶,每个二级索引桶包含若干行二级索引记录,每个二级索引记录包括数据桶中的关键字

关键字对应的数据桶桶号和在对应桶号的数据桶中的行号;一级索引包含若干行一级索引记录,每个一级索引记录包括的起始关键字

终止关键字

二级索引桶号

以及二级索引桶长度;
[0010]基于构建的索引与数据存储结构进行隐匿查询检索,包括:基于输入的关键字在一级索引中确定关键字对应的二级索引桶的桶号和长度,基于关键字与二级索引桶的长度计算二级索引桶的行号;基于二级索引桶的桶号和行号,结合隐匿查询技术获取数据表中对应的原始数据记录

[0011]根据本专利技术实施例,其中,所述数据表的构建过程包括:
[0012]根据不可区分度将原始数据文件拆分为若干个数据文件,组成一个数据表,每个数据文件作为数据表中的一个数据桶,其中,原始数据文件中的原始数据记录以自然存储的顺序存放

[0013]根据本专利技术实施例,其中,所述二级索引的构建过程包括:
[0014]提取数据桶中每一条原始数据记录的关键字和关键字对应的数据桶桶号以及在对应桶号的数据桶中的行号作为一条二级索引记录;对所有二级索引记录进行关键字排序和关键字合并;根据不可区分度对所有二级索引记录拆分若干个二级索引文件,将每个二级索引文件作为一个二级索引桶;基于关键字为每条二级索引记录分配在二级索引桶中的存储行位置

[0015]进一步地,所述对所有二级索引记录进行关键字排序和关键字合并,包括:
[0016]采用快速排序与文件级归并排序结合的算法对所有二级索引记录进行关键字排序和关键字合并,所述快速排序与文件级归并排序结合的算法包括:将所有二级索引记录划分为
N
块二级索引记录块,其中
N
小于二级索引记录的数量;对每块二级索引记录块执行以下操作:读入内存进行快速排序,将快速排序后的二级索引记录块写入中间文件,对中间文件进行归并排序

[0017]进一步地,所述基于关键字为每条二级索引记录分配在二级索引桶中的存储行位置,包括:
[0018]采用二级索引位置生成算法为每条二级索引记录分配在二级索引桶的位置,所述二级索引位置生成算法以关键字为输入,将每个二级索引桶对应的二级索引文件划分为两...

【技术保护点】

【技术特征摘要】
1.
一种支持隐匿查询的索引构建和检索方法,其特征在于,包括以下步骤:构建包含数据表

二级索引以及一级索引的索引与数据存储结构,其中,数据表包括多个具有唯一标识符的数据桶,每个数据桶包含多条原始数据记录,数据桶的存储方式与按行查询的隐匿查询算法兼容;二级索引包括多个二级索引桶,每个二级索引桶包含若干行二级索引记录,每个二级索引记录包括数据桶中的关键字

关键字对应的数据桶桶号和在对应桶号的数据桶中的行号;一级索引包含一个一级索引文件,每个一级索引文件包含若干行一级索引记录,每个一级索引记录包括的起始关键字

终止关键字

二级索引桶号

以及二级索引桶长度;基于构建的索引与数据存储结构进行隐匿查询检索,包括:获取一级索引文件,并基于输入的关键字确定关键字对应的二级索引桶的桶号和长度;基于关键字与二级索引桶的长度计算二级索引桶的行号;基于二级索引桶的桶号和行号,结合隐匿查询技术获取数据表中对应的原始数据记录
。2.
根据权利要求1所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述数据表的构建过程包括:根据不可区分度将原始数据文件拆分为若干个数据文件,组成一个数据表,每个数据文件作为数据表中的一个数据桶,其中,原始数据文件中的原始数据记录以自然存储的顺序存放
。3.
根据权利要求1所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述二级索引的构建过程包括:提取数据桶中每一条原始数据记录的关键字和关键字对应的数据桶桶号以及在对应桶号的数据桶中的行号作为一条二级索引记录;对所有二级索引记录进行关键字排序和关键字合并;根据不可区分度对所有二级索引记录拆分若干个二级索引文件,将每个二级索引文件作为一个二级索引桶;基于关键字为每条二级索引记录分配在二级索引桶中的存储行位置
。4.
根据权利要求3所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述对所有二级索引记录进行关键字排序和关键字合并,包括:采用快速排序与文件级归并排序结合的算法对所有二级索引记录进行关键字排序和关键字合并,所述快速排序与文件级归并排序结合的算法包括:将所有二级索引记录划分为
N
块二级索引记录块,其中
N
小于二级索引记录的数量;对每块二级索引记录块执行以下操作:读入内存进行快速排序,将快速排序后的二级索引记录块写入中间文件,对中间文件进行归并排序
。5.
根据权利要求3所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述基于关键字为每条二级索引记录分配在二级索引桶中的存储行位置,包括:采用二级索引位置生成算法为每条二级索引记录分配在二级索引桶的位置,所述二级索引位置生成算法以关键字为输入,将每个二级索引桶对应的二级索引文件划分为两个哈希表空间,使用第一哈希函数和第二哈希函...

【专利技术属性】
技术研发人员:李霄涵闵楠
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1