CN104750784B - 一种基于Merkle树结构的空间查询完整性验证方法 - Google Patents
一种基于Merkle树结构的空间查询完整性验证方法 Download PDFInfo
- Publication number
- CN104750784B CN104750784B CN201510101056.0A CN201510101056A CN104750784B CN 104750784 B CN104750784 B CN 104750784B CN 201510101056 A CN201510101056 A CN 201510101056A CN 104750784 B CN104750784 B CN 104750784B
- Authority
- CN
- China
- Prior art keywords
- node
- integrity verification
- result
- tree
- query
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Merkle树结构的空间查询完整性验证方法,该方法在已有的自适应Hilbert曲线所生成的四分树节点上,提出了支持查询完整性验证的Merkle树结构的构建方法,并提出了范围查询与KNN查询的完整性验证方法,使得本发明所提供的完整性验证结果不存在误报与漏报的情况,进而使得服务提供者难以对用户的查询结果进行恶意更改。本发明方法可以在空间数据外包的服务模式下,为用户提供高效的验证结构生成功能,以及准确的范围查询与KNN查询完整性验证功能,从而保证空间查询服务的质量。
Description
【技术领域】
本发明属于数据库处理技术领域,具体涉及一种基于Merkle树结构的空间查询完整性验证方法。
【背景技术】
随着智能设备与云存储技术的发展,大量的位置相关数据需要迁移到云存储平台上进行维护与管理,由此产生了数据拥有者隐私信息泄露的威胁,为此,众多外包空间数据隐私保护方法被提出,从而支持对外包空间数据坐标信息的空间转换,并支持对授权用户的空间检索处理,从而在保护数据拥有者隐私信息的条件下,使得外包的数据依然可用。然而,在商业利益的驱使下,服务提供者可能返回不符合用户需要的检索结果,更有甚者,一些恶意服务提供者可能对查询结果进行篡改,从而严重影响查询的服务质量。因此,在该服务模式下,亟需对查询结果的完整性验证方法进行研究,使得授权用户可以确认从服务提供者获得的查询结果是否可信。
目前许多研究者提出了支持对密文空间数据进行查询的解决方案,保护了外包空间数据的隐私,其中Hilbert曲线(Standard Hilbert Curve,SHC)被广泛应用于空间数据的转换中,其支持外包空间数据的隐私保护与高效查询。另一类研究则集中于对查询结果的完整性验证上,其中基于签名的技术由数据拥有者为外包数据集中的每一个元素生成一个签名,从而作为进行完整性验证的依据。为了提高验证的效率,Merkle哈希树(MerkleHash Tree,MHT)被用于对查询结果的验证。然而,目前只有很少的工作同时解决外包空间数据隐私保护与查询结果完整性验证的问题,基于Hilbert曲线的概率复制策略(SHCbased probabilistically replicating scheme,SPR)在一定程度上解决了该问题,但是,SPR并不是一种确定性的完整性验证方法,它提供的验证结果具有一定的漏报率。
【发明内容】
针对现有的空间查询完整性验证方法所存在的问题,本发明提供一种基于Merkle树结构的空间查询完整性验证方法,通过在自适应Hilbert曲线所生成的四分树节点上建立Merkle树验证结构,并设计了范围查询与KNN查询的完整性验证方法,使得本发明所提供的验证结果不存在误报与漏报的情况,保证了授权用户可以完全确认从服务提供者获得的查询结果是否可信。
为了实现上述目的,本发明采用以下技术方案:
一种基于Merkle树结构的空间查询完整性验证方法,包括以下步骤:
首先,数据拥有者使用自适应Hilbert曲线生成外包数据集中各兴趣点的索引值,并对各兴趣点的内容采用对称加密方法处理获得建立索引后的密文数据集In(Φ’);然后,数据拥有者在自适应Hilbert曲线生成的空间四分树基础上,继续对该四分树进行处理,生成用于查询完整性验证的MQ-tree;最后,授权用户经过基于自适应Hilbert曲线的查询处理,从服务提供者处获得查询结果与对应的信息摘要,使用对称密钥解密查询结果后,得到明文查询结果,该用户通过MQ-tree、明文查询结果以及原始的查询请求,对本次查询的完整性进行验证。
优选的,MQ-tree的生成方法包括以下步骤:
步骤1.1:将自适应Hilbert曲线生成的空间四分树根节点T压入存储四分树节点的栈S中;
步骤1.2:若栈S不为空,则执行步骤1.3,否则执行步骤1.7;
步骤1.3:弹出栈顶元素至临时节点Q中,若Q含有子节点,则执行步骤1.4,否则执行步骤1.6;
步骤1.4:若Q的所有子节点均被访问,且这些子节点均具有信息摘要,则生成Q的信息摘要hQ=H(hQ(0)|hQ(1)|hQ(2)|hQ(3)),并设定Q已被访问,然后跳回步骤1.2,否则执行步骤1.5;
其中,H()表示哈希函数,|表示字符串的连接操作,Q(i)表示节点Q的第i个子节点,hQ(i)表示Q第i个子节点的信息摘要;MQ-tree也是四分树,中间节点Q的子节点顺序由子节点的索引值决定,索引值较小的子节点在前,满足Q(0).VA<Q(1).VA<Q(2).VA<Q(3).VA,其中Q(i).VA表示节点Q(i)的AHC索引值;
步骤1.5:先将节点Q压入栈S中,再把Q的四个子节点倒序压入栈S中,即依次压入Q(3)、Q(2)、Q(1)、Q(0),然后跳回步骤1.2;
步骤1.6:若节点Q不包含兴趣点,则设定节点Q的信息摘要hQ=H($),否则设定Q的信息摘要hQ=H(pi.d|pj.d|pk.d|...),两种情况均设定Q已被访问,然后跳回步骤1.2;
步骤1.7:数据拥有者对四分树根节点T的摘要hT运行签名算法Sign(),并将签名结果Sign(hT)存储于根节点中,即生成MQ-tree,其根节点为T。
优选的,对本次查询的完整性进行验证为范围查询结果完整性验证;范围查询结果完整性验证方法具体包括:
步骤2.1:将MQ-tree根节点T的引用赋值于临时节点Q;
步骤2.2:若节点Q不含有子节点,则执行步骤2.3,否则执行步骤2.5;
步骤2.3:若节点Q的对应区域与范围查询窗口W无交集,则设定输出参数d=hQ,并跳至步骤2.7,否则执行步骤2.4;
其中,hQ为节点Q的信息摘要,在MQ-tree的生成过程中获得;
步骤2.4:若范围查询结果集R的键值表R.keyset中包含节点Q的索引值Q.VA,则设定输出参数d=R.get(Q.VA),并跳至步骤2.7,否则设定输出参数d=H($),并跳至步骤2.7;
其中,R.keyset包含结果集R中所有的索引值,R.get(Q.VA)可从结果集R中获得匹配索引值Q.VA的记录的信息摘要;
步骤2.5:若节点Q的对应区域与范围查询窗口W无交集,则设定输出参数d=hQ,并跳至步骤2.7,否则执行步骤2.6;
步骤2.6:对节点Q的四个子节点,顺序递归执行步骤2.1至2.7;其输入参数由节点Q(i)、W(i)以及R组成,返回的信息摘要结果分别为d(0)、d(1)、d(2)、d(3),由此设定输出参数d=H(d(0)|d(1)|d(2)|d(3));
其中,W(i)表示范围W的第i个子区域,与节点Q(i)的对应区域匹配;
步骤2.7:返回验证信息摘要d,并由授权用户使用MQ-tree的根节点与数据拥有者的公钥,比较d与Sign-1(hT)是否相同,若相同,则说明本次范围查询结果是完整的,否则为非完整的;
其中,Sign-1()为与签名算法Sign()对应的逆运算。
优选的,对本次查询的完整性进行验证为KNN查询结果完整性验证;KNN查询结果完整性验证方法具体包括以下步骤:
步骤3.1:使用查询结果集R与KNN查询点q,生成对应的范围查询窗口W,为一个中心为q,边长为2||p―q||的正方形,其中,p为结果集R中距离q最远的兴趣点,||p―q||表示p与q之间的欧式距离;
步骤3.2:使用基于AHC的范围查询转换方法,获得范围查询窗口W的查询结果R”;
步骤3.3:若且在R”-R中不存在与q的距离比p更近的兴趣点,则通过范围查询完整性验证方法进行验证,获得验证结果,否则结束验证过程,返回查询结果不完整;
其中,R”-R表示集合R”与R的差集;若则证明服务提供商在结果集中插入了额外的兴趣点,若在R”-R中存在与q的距离比p更近的兴趣点,则意味着服务提供商用其他兴趣点替换了正确结果集中的兴趣点,以上两种情况均会终止KNN查询结果完整性验证过程。
相对于现有技术,本发明具有以下有益效果:本发明提出的基于Merkle树结构的空间查询完整性验证方法,在构建外包空间数据的索引后即生成Merkle树结构的认证信息,从而支持对空间查询的完整性验证,基于Hilbert曲线的概率复制策略(SHC basedprobabilistically replicating scheme,SPR),需要存储额外的对象副本信息,增加了数据的存储与维护开销,且SPR提供的验证结果具有一定的漏报率,而本发明仅需维护Merkle树结构的验证信息,从而提高了存储资源的利用率,且本发明的完整性验证结果是确定性的,不存在误报与漏报的情况。
本发明公开了一种基于Merkle树结构的空间查询完整性验证方法,在已有的自适应Hilbert曲线所生成的四分树节点上,提出了支持查询完整性验证的Merkle树结构的构建方法,并提出了范围查询与KNN查询的完整性验证方法,使得本发明所提供的完整性验证结果不存在误报与漏报的情况,进而使得服务提供者难以对用户的查询结果进行恶意更改。本发明方法可以在空间数据外包的服务模式下,为用户提供高效的验证结构生成功能,以及准确的范围查询与KNN查询完整性验证功能,从而保证空间查询服务的质量。
【附图说明】
图1为本发明用于空间数据外包与查询完整性验证的系统框架示意图;
图2为在数据集NA上,SPR与本发明方法每执行100次范围查询完整性验证所需的时间对比图;
图3为在数据集NA上,SPR与本发明方法每执行100次KNN查询完整性验证所需的时间对比图。
【具体实施方式】
下面结合附图对本发明做进一步详细说明。
图1为本发明用于空间数据外包与查询完整性验证的系统框架图,该图详细说明了本发明的工作流程。本发明中,设定数据拥DO有者持有一个包含n个兴趣点的原始数据集合Φ,每个兴趣点pi用一个三元组表示为<x,y,info>,其中x、y为其坐标值,info表示该兴趣点的附属信息,例如姓名、地址、电话号码等。在将数据外包给服务提供商SP之前,数据拥有者选择秘密的转换参数,然后使用AHC构建外包数据的索引。为了保护兴趣点的隐私信息,对兴趣点的内容<x,y,info>使用对称密钥Sk进行加密,该密钥为数据拥有者和授权用户所共享。处理后的兴趣点的存储结构表示为<VA,{x,y,info}Sk,d>,其中VA是AHC生成的兴趣点索引,信息摘要则通过d=H(x|y|info)生成(|表示连接操作),H()为哈希函数。
图1中,In(Φ’)表示建立索引后的密文数据集,其具有信息摘要,T表示用于查询完整性验证的Merkle四分树(Merkle Quad Tree,MQ-tree),{STKi}表示授权用户拥有的AHC转换密钥,{p’}和{d}分别表示查询的密文结果与其对应的信息摘要,{p}表示与{p’}对应的明文结果。
本发明一种基于Merkle树结构的空间查询完整性验证方法,包括以下步骤:
首先,数据拥有者DO使用自适应Hilbert曲线(Adaptive Hilbert Curve,AHC)生成外包数据集中各兴趣点的索引值,并对各兴趣点的内容采用对称加密方法处理获得建立索引后的密文数据集In(Φ’);然后,数据拥有者DO在自适应Hilbert曲线生成的空间四分树基础上,继续对该四分树进行处理,生成用于查询完整性验证的MQ-tree。最后,授权用户AU经过基于AHC的查询处理,从服务提供者SP处获得查询结果与对应的信息摘要,使用对称密钥解密查询结果后,得到明文查询结果,该用户通过MQ-tree、明文查询结果以及原始的查询请求,对本次查询的完整性进行验证。
用户对本次查询的完整性进行验证,具体为范围查询结果完整性验证或者KNN查询结果完整性验证。
本发明中,MQ-tree的生成方法,包括以下步骤:
步骤1.1:将自适应Hilbert曲线生成的空间四分树根节点T压入存储四分树节点的栈S中;
步骤1.2:若栈S不为空,则执行步骤1.3,否则执行步骤1.7;
步骤1.3:弹出栈顶元素至临时节点Q中,若Q含有子节点,则执行步骤1.4,否则执行步骤1.6;
步骤1.4:若Q的所有子节点均被访问,且这些子节点均具有信息摘要,则生成Q的信息摘要hQ=H(hQ(0)|hQ(1)|hQ(2)|hQ(3)),并设定Q已被访问,然后跳回步骤1.2,否则执行步骤1.5;
其中,H()表示哈希函数,|表示字符串的连接操作,Q(i)表示节点Q的第i个子节点,hQ(i)表示Q第i个子节点的信息摘要。MQ-tree也是四分树,中间节点Q的子节点顺序由子节点的索引值决定,即索引值较小的子节点在前,满足Q(0).VA<Q(1).VA<Q(2).VA<Q(3).VA,其中Q(i).VA表示节点Q(i)的AHC索引值。
步骤1.5:先将节点Q压入栈S中,再把Q的四个子节点倒序压入栈S中,即依次压入Q(3)、Q(2)、Q(1)、Q(0),然后跳回步骤1.2。
步骤1.6:若节点Q不包含兴趣点,则设定节点Q的信息摘要hQ=H($),否则设定Q的信息摘要hQ=H(pi.d|pj.d|pk.d|...),两种情况均需设定Q已被访问,然后跳回步骤1.2;
需要说明的是,本步骤中的节点Q为四分树中的叶子节点,当Q中不包含兴趣点时,其消息摘要设为固定值H($),$为数据拥有者指定的固定字符串;当Q包含多个兴趣点时,其信息摘要设为H(pi.d|pj.d|pk.d|...),其中各兴趣点的信息摘要满足pi.d≤pj.d≤pk.d。
步骤1.7:数据拥有者对四分树根节点T的摘要hT运行签名算法Sign(),并将签名结果Sign(hT)存储于根节点中,即生成MQ-tree,其根节点为T。
在生成MQ-tree后,即可基于此对查询结果的完整性进行验证,其中,范围查询结果完整性验证方法是一种递归算法,其输入参数由MQ-tree根节点T、范围查询窗口W、以及范围查询结果集R组成,输出参数则为验证信息摘要d,由d即可对查询结果的完整性进行验证,该方法包括如下步骤:
步骤2.1:将MQ-tree根节点T的引用赋值于临时节点Q;
步骤2.2:若节点Q不含有子节点,则执行步骤2.3,否则执行步骤2.5;
步骤2.3:若节点Q的对应区域与范围查询窗口W无交集,则设定输出参数d=hQ,并跳至步骤2.7,否则执行步骤2.4;
其中,hQ为节点Q的信息摘要,在MQ-tree的生成过程中获得。
步骤2.4:若范围查询结果集R的键值表R.keyset中包含节点Q的索引值Q.VA,则设定输出参数d=R.get(Q.VA),并跳至步骤2.7,否则设定输出参数d=H($),并跳至步骤2.7;
其中,R.keyset包含结果集R中所有的索引值,R.get(Q.VA)可从结果集R中获得匹配索引值Q.VA的记录的信息摘要。
步骤2.5:若节点Q的对应区域与范围查询窗口W无交集,则设定输出参数d=hQ,并跳至步骤2.7,否则执行步骤2.6;
步骤2.6:对节点Q的四个子节点,顺序递归执行步骤2.1至2.7;其输入参数由节点Q(i)、W(i)、以及R组成,返回的信息摘要结果分别为d(0)、d(1)、d(2)、d(3),由此设定输出参数d=H(d(0)|d(1)|d(2)|d(3));
需要说明的是,W(i)表示范围W的第i个子区域,与节点Q(i)的对应区域匹配。
步骤2.7:返回验证信息摘要d,并由授权用户使用MQ-tree的根节点与数据拥有者的公钥,即比较d与Sign-1(hT)是否相同,若相同,则说明本次范围查询结果是完整的,否则为非完整的。
其中,Sign-1()为与签名算法Sign()对应的逆运算。
对于服务提供商返回的KNN查询结果集R,其完整性验证可以转换为范围查询的完整性验证过程,从而通过范围查询完整性验证算法进行验证,KNN查询结果完整性验证方法包括如下步骤:
步骤3.1:使用查询结果集R与KNN查询点q,生成对应的范围查询窗口W,为一个中心为q,边长为2||p―q||的正方形,其中,p为结果集R中距离q最远的兴趣点,||p―q||表示p与q之间的欧式距离。
步骤3.2:使用基于AHC的范围查询转换方法,获得范围查询窗口W的查询结果R”;
步骤3.3:若且在R”-R中不存在与q的距离比p更近的兴趣点,则通过本发明的范围查询完整性验证方法进行验证,获得验证结果,否则结束验证过程,返回查询结果不完整。
其中,R”-R表示集合R”与R的差集。需要说明的是,若则证明服务提供商在结果集中插入了额外的兴趣点,若在R”-R中存在与q的距离比p更近的兴趣点,则意味着服务提供商用其他兴趣点替换了正确结果集中的兴趣点,以上两种情况均会终止KNN查询结果完整性验证过程。
综上所述,本发明提出一种基于Merkle树结构的空间查询完整性验证方法。该方法基于AHC生成的四分树构建Merkle树结构的数据完整性认证信息,并设计了范围查询与KNN查询的完整性验证方法,使得本发明所提供的验证结果不存在误报与漏报的情况,保证了授权用户可以完全确认从服务提供者获得的查询结果是否可信,使得服务提供者难以对用户的查询结果进行恶意更改。
通过实验对比本发明与SPR的性能,实验使用文献[1]相同的数据集,采用AES-128对兴趣点内容进行加密,SHA-256生成兴趣点与树节点的信息摘要,RSA-1024则用来生成信息摘要的签名。各数据集均被归一化到单位区域[0,1]2中,实验在Intel i5-2400 3.1Ghz处理器,8GB内存计算机上完成。
由于SPR与本发明分别使用SHC和AHC对外包数据的位置坐标进行转换,且SHC与AHC分别采用不同的曲线参数,因此,需要首先确定SHC与AHC在空间转换时曲线参数的对应关系。实验采用文献[1]中表4的曲线参数对应关系,使用重叠指数λ作为SPR与本文方案的统一调节参数。
图2显示了在数据集NA上,SPR与本发明每执行100次范围查询完整性验证所需的时间。当选择相同的重叠指数λ与查询窗口时,本发明所需的范围查询完整性验证时间远小于SPR。这是由于SPR需要先对原始查询结果进行解密,并对其进行审计,然后才能验证其完整性,而本发明需基于MQ-tree生成原始查询结果的信息摘要,即可验证该摘要是否由数据拥有者签名。随着查询窗口的增大,SPR的验证时间快速增加,而本发明的验证开销则缓慢增长。即使当重叠指数λ=1且查询窗口为0.09,本发明仍然可以在26ms内完成一次范围查询完整性验证过程。
图3显示了在数据集NA上,SPR与本发明每执行100次KNN查询完整性验证所需的时间。与范围查询完整性验证类似,本发明的时间开销也小于SPR。当重叠指数λ=1时,SPR所需的验证时间迅速增加,而本发明的时间开销仅略微增长。本发明与SPR将KNN查询完整性验证转换为范围查询完整性验证,转换后的范围查询窗口会随着K值的增加而扩大。然而,当K取较小值的时候,其对应的转换范围查询窗口也较小,因此,KNN查询完整性验证所需的时间较少。
参考文献:
[1]田丰,桂小林,等.基于兴趣点分布的外包空间数据隐私保护方法[J].计算机学报,2014,37(1):123-138.(EI,20140717331180)
[2]KU WS,HU Ling,SHAHABI C,WANG Haixun.A Query Integrity AssuranceScheme for Accessing Outsourced Spatial Databases[J].Geoinformatica,2013,17(1):97-124.
Claims (3)
1.一种基于Merkle树结构的空间查询完整性验证方法,其特征在于,包括以下步骤:
首先,数据拥有者使用自适应Hilbert曲线生成外包数据集中各兴趣点的索引值,并对各兴趣点的内容采用对称加密方法处理获得建立索引后的密文数据集In(Φ’);然后,数据拥有者在自适应Hilbert曲线生成的空间四分树基础上,继续对该四分树进行处理,生成用于查询完整性验证的MQ-tree;最后,授权用户经过基于自适应Hilbert曲线的查询处理,从服务提供者处获得查询结果与对应的信息摘要,使用对称密钥解密查询结果后,得到明文查询结果,该用户通过MQ-tree、明文查询结果以及原始的查询请求,对本次查询的完整性进行验证;
对本次查询的完整性进行验证为KNN查询结果完整性验证;KNN查询结果完整性验证方法具体包括以下步骤:
步骤3.1:使用查询结果集R与KNN查询点q,生成对应的范围查询窗口W,为一个中心为q,边长为2||p―q||的正方形,其中,p为结果集R中距离q最远的兴趣点,||p―q||表示p与q之间的欧式距离;
步骤3.2:使用基于AHC的范围查询转换方法,获得范围查询窗口W的查询结果R”;
步骤3.3:若且在R”-R中不存在与q的距离比p更近的兴趣点,则通过范围查询完整性验证方法进行验证,获得验证结果,否则结束验证过程,返回查询结果不完整;
其中,R”-R表示集合R”与R的差集;若则证明服务提供商在结果集中插入了额外的兴趣点,若在R”-R中存在与q的距离比p更近的兴趣点,则意味着服务提供商用其他兴趣点替换了正确结果集中的兴趣点,以上两种情况均会终止KNN查询结果完整性验证过程。
2.根据权利要求1所述的一种基于Merkle树结构的空间查询完整性验证方法,其特征在于,MQ-tree的生成方法包括以下步骤:
步骤1.1:将自适应Hilbert曲线生成的空间四分树根节点T压入存储四分树节点的栈S中;
步骤1.2:若栈S不为空,则执行步骤1.3,否则执行步骤1.7;
步骤1.3:弹出栈顶元素至临时节点Q中,若Q含有子节点,则执行步骤1.4,否则执行步骤1.6;
步骤1.4:若Q的所有子节点均被访问,且这些子节点均具有信息摘要,则生成Q的信息摘要hQ=H(hQ(0)|hQ(1)|hQ(2)|hQ(3)),并设定Q已被访问,然后跳回步骤1.2,否则执行步骤1.5;
其中,H()表示哈希函数,|表示字符串的连接操作,Q(i)表示节点Q的第i个子节点,hQ(i)表示Q第i个子节点的信息摘要;MQ-tree也是四分树,中间节点Q的子节点顺序由子节点的索引值决定,索引值较小的子节点在前,满足Q(0).VA<Q(1).VA<Q(2).VA<Q(3).VA,其中Q(i).VA表示节点Q(i)的AHC索引值;
步骤1.5:先将节点Q压入栈S中,再把Q的四个子节点倒序压入栈S中,即依次压入Q(3)、Q(2)、Q(1)、Q(0),然后跳回步骤1.2;
步骤1.6:若节点Q不包含兴趣点,则设定节点Q的信息摘要hQ=H($),否则设定Q的信息摘要hQ=H(pi.d|pj.d|pk.d|...),两种情况均设定Q已被访问,然后跳回步骤1.2;H($)为固定值,$为数据拥有者指定的固定字符串,d为输出参数;
步骤1.7:数据拥有者对四分树根节点T的摘要hT运行签名算法Sign(),并将签名结果Sign(hT)存储于根节点中,即生成MQ-tree,其根节点为T。
3.根据权利要求1所述的一种基于Merkle树结构的空间查询完整性验证方法,其特征在于,对本次查询的完整性进行验证为范围查询结果完整性验证;范围查询结果完整性验证方法具体包括:
步骤2.1:将MQ-tree根节点T的引用赋值于临时节点Q;
步骤2.2:若节点Q不含有子节点,则执行步骤2.3,否则执行步骤2.5;
步骤2.3:若节点Q的对应区域与范围查询窗口W无交集,则设定输出参数d=hQ,并跳至步骤2.7,否则执行步骤2.4;
其中,hQ为节点Q的信息摘要,在MQ-tree的生成过程中获得;
步骤2.4:若范围查询结果集R的键值表R.keyset中包含节点Q的索引值Q.VA,则设定输出参数d=R.get(Q.VA),并跳至步骤2.7,否则设定输出参数d=H($),并跳至步骤2.7;H($)为固定值,$为数据拥有者指定的固定字符串;
其中,R.keyset包含结果集R中所有的索引值,R.get(Q.VA)可从结果集R中获得匹配索引值Q.VA的记录的信息摘要;
步骤2.5:若节点Q的对应区域与范围查询窗口W无交集,则设定输出参数d=hQ,并跳至步骤2.7,否则执行步骤2.6;
步骤2.6:对节点Q的四个子节点,顺序递归执行步骤2.1至2.7;其输入参数由节点Q(i)、W(i)以及R组成,返回的信息摘要结果分别为d(0)、d(1)、d(2)、d(3),由此设定输出参数d=H(d(0)|d(1)|d(2)|d(3));
其中,W(i)表示范围查询窗口W的第i个子区域,与节点Q(i)的对应区域匹配;
步骤2.7:返回验证信息摘要d,并由授权用户使用MQ-tree的根节点与数据拥有者的公钥,比较d与Sign-1(hT)是否相同,若相同,则说明本次范围查询结果是完整的,否则为非完整的;
其中,Sign-1()为与签名算法Sign()对应的逆运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510101056.0A CN104750784B (zh) | 2015-03-06 | 2015-03-06 | 一种基于Merkle树结构的空间查询完整性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510101056.0A CN104750784B (zh) | 2015-03-06 | 2015-03-06 | 一种基于Merkle树结构的空间查询完整性验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104750784A CN104750784A (zh) | 2015-07-01 |
CN104750784B true CN104750784B (zh) | 2018-03-02 |
Family
ID=53590468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510101056.0A Expired - Fee Related CN104750784B (zh) | 2015-03-06 | 2015-03-06 | 一种基于Merkle树结构的空间查询完整性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104750784B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021560B (zh) * | 2016-05-30 | 2019-04-09 | 浙江工业大学 | 面向数据流的低时延内存b+树索引构建方法 |
CN106899937B (zh) * | 2017-02-16 | 2019-10-25 | 湖北大学 | 隐私保护的安全位置服务范围查询外包方法 |
CA3051762A1 (en) * | 2018-12-13 | 2019-04-18 | Alibaba Group Holding Limited | Data isolation in a blockchain network |
CN110109920B (zh) * | 2019-03-19 | 2022-03-22 | 咪咕文化科技有限公司 | 数据比对方法及服务器 |
CN110516460B (zh) * | 2019-08-29 | 2021-05-14 | 重庆市筑智建信息技术有限公司 | 一种用于bim数据的加密安全方法及其系统 |
CN111209591B (zh) * | 2019-12-31 | 2022-03-29 | 浙江工业大学 | 一种按时间排序的存储结构与快速查询的方法 |
CN112291236B (zh) * | 2020-10-28 | 2022-06-21 | 青岛大学 | 一种云端数据所有权验证方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984728A (zh) * | 2014-05-16 | 2014-08-13 | 西安交通大学 | 用于外包空间数据库的范围查询完整性验证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102238681B1 (ko) * | 2013-07-01 | 2021-04-12 | 삼성전자주식회사 | 데이터 인증을 위한 서명 정보 생성 및 검증 방법과 이를 위한 시스템 |
-
2015
- 2015-03-06 CN CN201510101056.0A patent/CN104750784B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984728A (zh) * | 2014-05-16 | 2014-08-13 | 西安交通大学 | 用于外包空间数据库的范围查询完整性验证方法 |
Non-Patent Citations (3)
Title |
---|
Spatial Outsourcing for Location-based Services;Yin Yang et al;《Proceedings of the 24th International Conference on Data Engineering》;20081231;第1082-1091页 * |
基于MH树的外包数据库查询验证方法;袁多宝等;《计算机工程》;20100228;第36卷(第4期);第115-117页 * |
基于兴趣点分布的外包空间数据隐私保护方法;田丰等;《计算机学报》;20140131;第37卷(第1期);第123-138页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104750784A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750784B (zh) | 一种基于Merkle树结构的空间查询完整性验证方法 | |
CN108234515B (zh) | 一种基于智能合约的自认证数字身份管理系统及其方法 | |
CN106529327B9 (zh) | 混合云环境下面向加密数据库的数据存取系统及方法 | |
CN106127075B (zh) | 一种云存储环境下基于隐私保护的可搜索加密方法 | |
CN105787387B (zh) | 一种数据库加密方法及该加密数据库查询方法 | |
CN104765848B (zh) | 混合云存储中支持结果高效排序的对称可搜索加密方法 | |
CN104657413B (zh) | 加密的内存列存储 | |
CN107423632B (zh) | 可定制的敏感数据脱敏方法和系统 | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
CN108234664B (zh) | 一种基于云服务的账户管理方法 | |
CN112800088A (zh) | 基于双向安全索引的数据库密文检索系统及方法 | |
US10635824B1 (en) | Methods and apparatus for private set membership using aggregation for reduced communications | |
US8619978B2 (en) | Multiple account authentication | |
CN109885615A (zh) | 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法 | |
US8914847B2 (en) | Multiple user authentications on a communications device | |
CN107547530A (zh) | 移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用系统 | |
Wang et al. | Towards secure and effective utilization over encrypted cloud data | |
CN106980796A (zh) | 云环境下基于mdb+树的多域连接关键词的搜索方法 | |
CN106326666A (zh) | 一种健康档案信息管理服务系统 | |
CN107209843A (zh) | 安全执行环境通信 | |
CN113127927B (zh) | 一种许可链数据共享及监管的属性重构加密方法及系统 | |
CN104077302B (zh) | 一种大用户量账户存储和检索及认证系统 | |
CN107766739A (zh) | 面向加密文本数据的短语检索方法及其装置 | |
CN108664808A (zh) | 一种面向图书搜索服务的用户敏感主题保护方法及系统 | |
CN108768651A (zh) | 支持多维区间范围查询的可搜索公钥加密方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180302 |
|
CF01 | Termination of patent right due to non-payment of annual fee |