构建密文范围检索结果完备性验证数据结构的方法及系统技术方案

技术编号:38317592 阅读:24 留言:0更新日期:2023-07-29 08:59
本发明专利技术公开了一种构建密文范围检索结果完备性验证数据结构的方法及系统,根据采样的数据记录计算各可检索维度的分位数数组;利用分位数数组将数据记录的取值范围归一化到[0,1]的区间;计算立方体编码系统所需的层次数;利用立方体编码系统将数据记录分配到不同的立方体单元中,对属于同一立方体单元的记录利用密钥进行加密,生成立方格索引;构建基于多叉树结构的验证数据结构,以立方格索引中的每个立方格作为多叉树的叶节点,以自底向上的方式逐层构建多叉树,形成完整的验证数据结构。以较小的计算与存储开销构建出能用于密文范围检索结果完备性验证所需的验证数据结构,解决现有方法计算开销过高、难以处理大规模数据集的问题。集的问题。集的问题。

【技术实现步骤摘要】
Conference on Management of Data.ACM,2009.)等树结构的方法,基于密码学聚合签名的方法(Mykletun E,Narasimha M,Tsudik G.Authentication and integrity in outsourced databases[J].ACM Transactions on Storage,2006,2(2):107

138.),基于密码学累加器的方法(Zhang Y,Katz J,Papamanthou C.IntegriDB:Verifiable SQL for outsourced databases[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security.2015:1480

1491.)等。然而前述方法均假设数据集是明文数据集或仅经过保序加密,在这些方法中服务提供商(通常是云数据库)可以获知数据集的明文记录或数据记录之间的顺序信息,暴露了相关数据的隐私。
[0009]为了保护数据隐私,Wu等人提出了一种支持密文数据范围检索结果完备性验证的验证数据结构SVETree以及相应的原型系统ServeDB(WU S,LI Q,LI G,et al.ServeDB:Secure,Verifiable,and Efficient Range Queries on Outsourced Database[C/OL]//2019IEEE 35th International Conference on Data Engineering(ICDE).2019:626

637.DOI:10.1109/ICDE.2019.00062.)。但验证数据结构SVETree构造过程的计算与存储开销高昂,导致其难以处理亿级规模的大规模数据集。SVETree构造过程的时间与存储开销受数据记录在值域空间中的分布的影响。当数据记录在值域空间中分布不均匀时,即少部分记录集中在小片区域中,SVETree会采用更多的立方体编码层次数来缩小立方体的规模,这会导致SVETree结构的计算与存储开销显著增长。同时,验证数据结构SVETree会为每一条数据记录生成一个叶节点,当数据集包含的数据记录为亿级规模时,SVETree结构包含的树顶点数量也是亿级规模,SVETree结构为每个树顶点计算相应的布隆过滤器(Bloom Filter)会带来大量的计算开销,导致构造SVETree结构的所需时间过长。
[0010]因此,现有支持密文数据的范围检索结果完备性验证的方法,存在着验证数据结构的构造过程的计算与存储开销高昂的缺陷。目前尚缺乏一种高效的支持亿级规模数据集的密文范围检索结果完备性验证的方法。

技术实现思路

[0011]专利技术目的:本专利技术的目的是提供一种构建密文范围检索结果完备性验证数据结构的方法及系统,支持大规模数据集上的密文范围检索结果的完备性验证,同时降低验证数据结构的构造计算开销。
[0012]技术方案:本专利技术提供了一种构建密文范围检索结果完备性验证数据结构的方法及系统,包含以下步骤:
[0013](1)从数据集所有者处获取数据集,对数据集中的每条记录赋予唯一且不重复的编号;
[0014](2)获取数据集中每个可检索维度取值的全局最大值和全局最小值,从数据集中采样部分数据记录构成采样数据集,根据采样数据集在各可检索维度上的取值以及该维度的全局最大值和全局最小值,计算各可检索维度的分位数数组,分位数数组包含了可搜索维度中的多个分位数;
[0015](3)对于数据集中的每条记录,将记录各维度的取值x归一化到[0,1]范围之间;对于记录的每一个可检索维度的取值x,根据相应维度的分位数数组,计算x所处于的分位数区间,如果x的取值在分位数数组中a%分位数与b%分位数范围之间,则将x归一化到[a/
100%,b/100%]范围之间,并用归一化后的值替换取值x,从而得到归一化数据集;
[0016](4)根据归一化数据集,通过迭代搜索合适的立方体编码系统层次数L,在第L轮迭代中,将整个数据值域空间平均划分为2
dL
个立方体单元,其中d是数据集可检索维度数量;根据立方体单元取值范围与归一化的数据记录取值的包含关系,将数据记录分配到相应的立方体单元中;如果立方体单元所包含记录数量的最大值小于等于指定阈值,则迭代过程停止,此时的迭代轮数即为立方体编码系统层次数;
[0017](5)对于归一化数据集中的每一条记录,根据该记录在各个立方体层次上所属的立方体单元,生成立方体编码集合;
[0018](6)对归一化数据集中的数据记录按该数据记录在最后一个立方体层次的立方体编码进行分组,将具有相同立方体编码的记录分为一组,为每一组记录构造立方格,记录的立方体编码构成立方格的键,每一组的记录内容构成立方格的值,对立方格的值进行加密,形成加密的立方格索引;
[0019](7)根据加密的立方格索引,构造k叉树结构,k为任意大于等于2的正整数,k叉树中的每个节点有至多k个子节点,k叉树的叶节点数量与立方格数量相同,每一个叶节点对应一个不同的立方格;
[0020](8)为k叉树的每个树节点附加一个布隆过滤器,对于每个树节点,将该树节点所覆盖的叶节点对应的立方格的所有立方体编码插入到布隆过滤器中;
[0021](9)为k叉树中的每个树节点生成节点哈希签名,节点哈希签名与该树节点的布隆过滤器的内容、该树节点的所有子节点的节点哈希签名有关;
[0022](10)加密的立方格索引、k叉树和立方体编码系统层次数共同构成了该数据集的用于密文范围检索结果完备性验证的验证数据结构,将验证数据结构上传至云数据库;同时将验证数据结构的摘要信息共享至客户,客户进行校验及查询。
[0023]进一步的,步骤(3)中在将一条记录进行归一化时,对于该记录的每一个可检索维度的取值x,在该维度的分位数数组q中查找满足条件q[y]≤x≤q[y+1]的最小数组下标y,计算下标y在分位数数组中对应的分位数为和其中|q|是分位数数组q包含的元素数量,根据公式计算x的归一化值norm(x),归一化后的值norm(x)的取值范围在[0,1]之间。
[0024]进一步的,步骤(5)中为记录生成立方体编码时,为每个立方体层次中的所有立方体生成唯一的编号,记录的立方体编码与立方体层次数以及记录在该层次所属的立方体编号相关。
[0025]进一步的,步骤(7)中构造k叉树的过程采用自底层,即叶节点所在层向上逐层构造的方式,对于某一层的树节点,以k个为一组分组,为每组节点创建一个新的树节点,这组节点均是新创建的树节点的子节点,逐层构造树节点直到某一层中只有一个树节点为止。
[0026]本专利技术对应提供一种构建密文范围检索结果完备性验证数据结构的系统,包含多维数据集模块、归一化模块、迭代搜索模块、加密模块、构建验本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种构建密文范围检索结果完备性验证数据结构的方法,其特征在于,包含以下步骤:(1)从数据集所有者处获取数据集,对数据集中的每条记录赋予唯一且不重复的编号;(2)获取数据集中每个可检索维度取值的全局最大值和全局最小值,从数据集中采样部分数据记录构成采样数据集,根据采样数据集在各可检索维度上的取值以及该维度的全局最大值和全局最小值,计算各可检索维度的分位数数组,分位数数组包含了可搜索维度中的多个分位数;(3)对于数据集中的每条记录,将记录各维度的取值x归一化到[0,1]范围之间;对于记录的每一个可检索维度的取值x,根据相应维度的分位数数组,计算x所处于的分位数区间,如果x的取值在分位数数组中a%分位数与b%分位数范围之间,则将x归一化到[a/100%,b/100%]范围之间,并用归一化后的值替换取值x,从而得到归一化数据集;(4)根据归一化数据集,通过迭代搜索合适的立方体编码系统层次数L,在第L轮迭代中,将整个数据值域空间平均划分为2
dL
个立方体单元,其中d是数据集可检索维度数量;根据立方体单元取值范围与归一化的数据记录取值的包含关系,将数据记录分配到相应的立方体单元中;如果立方体单元所包含记录数量的最大值小于等于指定阈值,则迭代过程停止,此时的迭代轮数即为立方体编码系统层次数;(5)对于归一化数据集中的每一条记录,根据该记录在各个立方体层次上所属的立方体单元,生成立方体编码集合;(6)对归一化数据集中的数据记录按该数据记录在最后一个立方体层次的立方体编码进行分组,将具有相同立方体编码的记录分为一组,为每一组记录构造立方格,记录的立方体编码构成立方格的键,每一组的记录内容构成立方格的值,对立方格的值进行加密,形成加密的立方格索引;(7)根据加密的立方格索引,构造k叉树结构,k为任意大于等于2的正整数,k叉树中的每个节点有至多k个子节点,k叉树的叶节点数量与立方格数量相同,每一个叶节点对应一个不同的立方格;(8)为k叉树的每个树节点附加一个布隆过滤器,对于每个树节点,将该树节点所覆盖的叶节点对应的立方格的所有立方体编码插入到布隆过滤器中;(9)为k叉树中的每个树节点生成节点哈希签名,节点哈希签名与该树节点的布隆过滤器的内容、该树节点的所有子节点的节点哈希签名有关;(10)加密的立方格索引、k叉树和立方体编码系统层次数共同构成了该数据集的用于密文范围检索结果完备性验证的验证数据结构,...

【专利技术属性】
技术研发人员:王肇康潘佳辉周璐季曹枞张仲辉宋雨欣
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

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

1