CN115017389A - 一种基于基树的空间数据范围查询方法及装置 - Google Patents
一种基于基树的空间数据范围查询方法及装置 Download PDFInfo
- Publication number
- CN115017389A CN115017389A CN202210456324.0A CN202210456324A CN115017389A CN 115017389 A CN115017389 A CN 115017389A CN 202210456324 A CN202210456324 A CN 202210456324A CN 115017389 A CN115017389 A CN 115017389A
- Authority
- CN
- China
- Prior art keywords
- index
- query
- tree
- cloud storage
- storage server
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于基树的空间数据范围搜索方法及装置,针对现有方案查询、更新效率低,计算开销大且安全性低的问题,本发明首先基于文件位置生成radix‑tree的索引结构,在查询时缩小了查询范围,有利于提高查询效率,并利用双云服务器架构,实现在加密环境下减少服务器与查询用户之间的交互次数,缓解了查询用户的计算负担。此外,采用这种树结构可以实现高效的空间数据更新;本发明采用高效的公钥同态加密机制可以隐藏搜索模式并且抵抗选择明文攻击。
Description
技术领域
本公开涉及信息安全领域,具体涉及一种基于基数的空间数据范围查询方法及装置。
背景技术
基于位置的服务(Location-Based Services,LBS)有多种应用,从交通(如优步)到社交媒体(如Facebook上的“附近的朋友”或微信上的“附近的人”)。LBS提供商主要处理大规模数据集,并将此类数据集外包给第三方服务器(如云服务器),这为数据库所有者提供了极好的好处,如按需访问数据。为了保证数据的安全,即在存储和检索过程中不被泄露,需要在外包数据前对数据进行加密,然而传统基于位置的范围查询方法采用的对称可搜索加密技术,安全性较低。当用户想获取一个范围内的所有密文,传统的方法需要对所有密文的位置进行比较并筛选出满足查询需求的密文,这无疑造成了带宽和计算资源的浪费且查询效率低。基于这种情况,已经存在了缩小范围的查询技术,但这些技术在密文的范围查询应用中存在相应的问题,比如构建索引、更新索引效率低,不适合位置范围大的数据集,有的还存在安全性较低,如泄漏搜索模式。
发明内容
针对上述现有技术,本发明所解决的技术问题至少是提供一种基于位置信息比较提高空间数据查询效率和安全性的方法。
为了解决上述技术问题,本发明的技术方案如下:
第一方面,本发明提出了一种空间数据范围查询方法,包括下述步骤:
生成电子文档的查询范围目标;
将查询范围目标进行加密,生成并向云存储服务器提交查询请求的陷门;
基于所述陷门,通过云存储服务器与云密钥管理服务器协作获取所有密文,并由云存储服务器将所述密文发送给查询用户;
接收所述密文并解密;
所述云存储服务器存储有加密索引树和加密电子文档的密文,所述索引树为基树,基于电子文档的位置生成;
所述云密钥管理服务器存储有用于索引树解密的密钥。
在上述技术方案中,本发明方法可用于在云存储背景下,实现查询用户对服务器接收的空间数据密文进行范围查询。本发明生成基于基树(Radix-tree)的索引树结构,在进行范围搜索的时,可以缩小查询的范围,克服了现有技术中需要对所有的位置信息进行比较,导致查询效率低,使得本发明实现了缩小查询范围,且查询效率高,实现了高效的空间数据密文进行比较查询,而且具有存储计算开销小,安全性高的优点。同时,采用这种索引树结构可使得在对数据进行更新时速度更快且计算开销小。在上述技术方案中,通过采用双服务器架构,减少了服务器与用户的交互,同时也减轻了用户的计算负担。
作为本发明的进一步改进,所述索引树基于二进制和分段划分构建,按照位置进行文件划分管理,位置具有相同前缀的文件存储到树中的同一个节点,因此,在进行范围搜索的时,可以缩小查询的范围,克服了现有技术中需要对所有的位置信息进行比较,导致查询效率低,使得本发明实现了缩小查询范围,且查询效率高。同时,采用这种索引树结构可使得在对数据进行更新时速度更快且计算开销小。索引树建立包括下述步骤:
将电子文档的位置坐标采用二进制向量表示,将每个坐标分量的二进制向量分段,每段长度记作l,l>0;
对每个坐标分量,将分段的二进制向量作为索引依次存到索引树中的每一层的块中,其中根节点中的块存储最高l位的二进制向量分段,叶节点中的块存储最低l位的二进制向量分段,树中的每个节点最多包含2l个块,除了叶节点,其他每个节点中存储的块有可能存在一个子节点。
作为本发明的进一步改进,所述索引树更新时速度更快且计算开销小,包括下述步骤:
将新的电子文件的位置采用二进制向量表示,将每个位置分量的二进制向量分段,每段长度记作l,l>0;
对每个位置分量的每一段,在当前索引树上进行逐层插入,直至叶节点中的块中;
或者对已有的索引树进行遍历,逐层删除文件的信息而不删除块,直至找到叶节点中所对应的块,删除该块;
对于在索引树中更新的路径,将其加密后发送给云存储服务器进行更新。
作为本发明的进一步改进,采用了双服务器架构,减少了在加密环境下服务器与用户的交互,同时也减轻了用户的计算负担。所述云存储服务器与云密钥管理服务器协作获取所有密文,包括下述步骤:
在云存储服务器收到陷门后,从索引树的根节点开始,将索引与陷门进行比较,并将比较结果发送给云密钥管理服务器,由云存储管理服务器解密,并将解密的值返回给云存储服务器,所述值指示该索引是否在查询范围内;
如果该索引是查询边界,继续访问这该索引对应块的子节点;如果该索引在查询范围内,表示该块存储的所有电子文件在查询范围内,将密文添加到查询结果集中,不需要继续访问该索引所在块的子节点,继续访问下一个块;如果该索引超出查询范围,忽略该索引所在块,继续访问下一个块,直至遍历完根节点中存储的所有块,得到最终的结果密文集并返回给查询用户。
作为本发明的进一步改进,所述加密电子文档的密文通过对电子文档的位置采用对称加密算法加密获得。
作为本发明的进一步改进,所述对称加密算法包括高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
作为本发明的进一步改进,所述加密索引树或者所述将查询范围目标进行加密,采用公钥加密体制;所述公钥加密体制为随机在错误分布中选择两个随机数,一个随机数用于计算生成模2为1的值,该值作为同态加密私钥,另一个随机数用于和秘钥组成同态加密公钥。所述公钥加密体制,克服了现有技术基于可搜索加密技术实现空间数据范围查询安全性低,能够实现隐藏搜索模式,具有算法简洁、计算速度快、占用存储空间小的特点。
作为本发明的进一步改进,所述二进制向量被分为d段,d>0,每个二进制分段均有对应的加密公钥和解密密钥,相同二进制分段对应的加密公钥和解密密钥相同。将位置具有相同前缀的文件存储到树中的同一个节点,从而使得进行范围搜索的时,缩小查询的范围,提高查询效率。
第二方面,本发明提出一种基于基树的空间数据范围查询装置,包括一个云存储服务器、一个云密钥管理服务器,客户端,通过采用了双服务器架构,减少了服务器与用户的交互,同时也减轻了用户的计算负担。
所述客户端:生成电子文档的查询范围目标;将查询范围目标进行加密,生成并向云存储服务器提交查询请求的陷门;接收云存储服务器返回的关于查询范围目标所对应的密文并解密;
所述云存储服务器:将接收的陷门和自身存储的加密索引树中的索引逐个进行计算比较,与云密钥管理服务器协作,判断用于比较的索引是否在查询范围内,从而获取所有满足查询范围的密文并将其发送给客户端;
所述云密钥管理服务器:存储有用于索引树解密的密钥,用于对云存储服务器计算比较的结果进行解密,并返回解密结果以使云存储服务器判断用于比较的索引是否在查询范围内;
所述索引树为基树,基于电子文档的位置生成,使得在对数据进行更新时速度更快且计算开销小。
第三方面,本发明提出一种计算机可读存储装置,包括至少一个存储介质,所述存储介质存储有能够被处理器加载并执行上述任一种方法的计算机程序。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为实施例1中XRadix索引树示意图;
图2为实施例1中添加文件后的XRadix索引树示意图;
图3为实施例1中删除文件后的XRadix索引树示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1的思路是:基于文档位置的十进制位置坐标,利用进制转换方法和分段划分构建基于Radix的索引树,利用公钥加密机制密钥对索引树进行加密,得到外包出去的电子文档索引,将索引树和密文集上传到云存储服务器,将密钥上传到云密钥管理服务器;将查询请求转换为目标查询向量,利用公钥机密体制密钥对目标查询向量进行加密,得到查询请求的陷门并发送到云存储服务器;利用索引和陷门的大小关系,云密钥管理服务器辅助云存储服务器筛选出符合查询范围的密文,最后云存储服务器将结果返回给查询用户。
步骤1,生成基于Radix的索引树。
首先,得到所有文档位置坐标信息。然后,对坐标进行转换,即将十进制转换为长度为n的二进制向量b。将二进制向量进行分段,每段是长度为l的二进制向量b′,一共分为d段。将各段二进制向量分别存储到索引树的不同层,最终生成一个高度为d的索引树。
在实施例1中,设n=8,l=4,d=2。电子文档集包含电子文档f1,f2和f3,且外包电子文档f1,f2和f3,的位置分别是(7,15),(4,2)和(18,20)。以X轴为例,分别将‘7’,‘4’,‘18’转换为长度为8的二进制向量“00000111”,“00000100”,“00010010”。然后对每个二进制向量进行分段得到{“0000”,“0111”},{“0000”,“0100”},{“0001”,“0010”},对应的十进制分别为{“0”,“7”},{“0”,“4”},{“1”,“2”}。
将数据依次存储到Radix索引树中,先存储文件f1→{“0000”,“0111”},申请一个根节点Bucket,将其记作B1,在B1创建一个空的chunk,将其记作c1,将“0000”(0)存储到这个chunk中。然后,为这个chunk生成一个孩子节点Bucket B2,1,在B2,1中创建一个空的chunkc2,1存储“0111”(7);接着,存储文件f2→{“0000”,“0100”},从B1中的第一个chunk c1开始查找“0000”(0),经查找,c1中存储的数据为“0000”(0),所以直接遍历c1的孩子节点B2,1存储“0100”(4),从B2,1中的第一个chunk c1,1开始查找,没有chunk中存储“0100”(4),则在B2,1中创建一个空的chunk c1,2并存储“0100”(4);最后,存储文件f3→{“0001”,“0001”},从B1中的第一个chunk c1开始查找“0001”(1),经查找并不存在,则在B1中创建空的chunk,将其记作c2并存储“0001”(1),然后创建的c2孩子节点Bucket B2,2,在B2,2中创建一个空的chunk,将其记作c2,2存储“0010”(2)。最终得到了一个高度为2的X轴的Radix索引树,树中的每个节点最多包含24个块,除了叶节点,其他每个节点中存储的块有可能存在一个子节点。
采取上述同样的方式可构建一个Y轴的Radix索引树。
步骤2,设置公钥加密体制密钥和对称密钥。
从离散高斯分布中随机选取两个多项式F1,g,利用F1计算得到私钥sk。使用多项式g和sk计算得到公钥pk。最终得到私钥SK={sk1,…,skd},公钥PK={pk1,…,pka}。
在实施例1中,假设将二进制向量分为2段,即d=2,则应生成2对公私钥对,私钥为SK={sk1,sk2},公钥为PK={pk1,pk2}。
生成对称加密算法的对称密钥。
所述对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
步骤3,对索引树进行加密。
以X轴对应的高度为d的Radix索引树为例进行加密。针对索引树中不同层的节点存储的二进制向量,从错误分布中选取两个随机值,结合层对应的公钥逐位对二进制进行加密处理生成索引,最终得到一个加密的XRadix索引树。同理可生成一个加密的YRadix索引树。
设X轴对应的Radix索引树中某个节点Bucket Bi中的某个chunk cj存储的二进制向量为b′=“1010”,对应的公钥为pki,在差错分布中选取随机值s,e,可得索引I=pkis+pe+b′k,k=1,2,3,4。其中p是一个素数,同理,树中所有节点存储的信息都采用此加密方式。
利用对称密钥对每个外包电子文档进行加密,得到密文。
将XRadix索引树、YRadix索引树和密文打包发送给云存储服务器,发送私钥SK到云密钥管理服务器。并且将对称密钥通过安全通道发送给授权查询用户。
步骤4,生成查询范围目标。
利用进制转换方法,将查询坐标转换为长度为n的二进制向量q,然后进行分段,每段是长度为l的二进制向量q′,一共分为d段。
设n=8,l=4,d=2。查询范围为[3,8]x,[4,16]y。以X轴为例,将‘3’,‘8’分别转换为“00000011”,“00001000”,然后进行分段{“0000”,“0011”},{“0000”,“1000”},对应的十进制为{“0”,“3”},{“0,“8”}。
步骤5,对查询范围目标进行加密。
分别对X轴和Y轴对应的范围生成的查询范围目标进行加密。首先加密X轴的查询范围目标,从差错分布中选取两个随机值,结合段对应的公钥逐位对二进制进行加密处理生成部分陷门。同理,按照该方法加密Y轴的查询范围目标生成部分陷门。
设X轴的查询范围目标为qx={“0000”,“0011”},Qx={“0000”,“1000”},其中qx表示查询范围的下限,Qx表示查询范围中的上限。在差错分布中选取四个随机值s1,s2,e1,e2,得到X轴的部分陷门:
同理,可得到Y轴的部分陷门ty1,ty2,Ty1,Ty2;最后,查询用户向云存储服务器提交查询范围请求的陷门:
T={tx1,tx2,Tx1,Tx2,ty1,ty2,Ty1,Ty2}
步骤6,查询密文。
云存储服务器收到陷门T后,与云密钥管理服务器合作在XRadix索引树和YRadix索引树中索引进行查找。从根节点开始,比较索引与陷门的大小关系,最终返回在查询范围内的密文。
本发明的实施例中,查询用户查询的X轴范围陷门为{tx1,tx2,Tx1,Tx2}。具体查询步骤如下:
第一步:XRadix索引树中根节点存储的索引为{I1,…,Im},云存储服务器首先比较tx1,Tx1和I1(存储在chunk c1)是否相等,比较方式如下:
其中,Aj,Bj分别表示陷门,索引I1中的各位值。
第二步:云存储服务器将M1发送到云密钥管理服务器进行解密得到值R=sk1M1(mod p)并返回给云存储服务器,如果R=1,表示tx1=I1,则继续访问c1的孩子节点(索引树的第二层)继续判断。
第三步:如果R≠1,表示tx1≠I1,则继续比较的tx1和I1大小关系,比较方式如下:
第四步:云存储服务器将M2发送到云密钥管理服务器进行解密得到值R′=sk2M2(mod p)并返回给云存储服务器,如果R′=1,表示tx1<I1;否则,tx1>I1,则该索引小于最小查询边界,该索引对应块的密文不在查询范围内,忽略该chunk,继续访问下一个chunk继续访问比较。
第五步:如果tx1<I1,根据第三、四步判断Tx1和I1的关系,如果Tx1>I1,即tx1<I1<Tx1,表示该索引在查询范围内,直接返回该chunk存储的所有文件信息,不需要访问该chunk的所有孩子节点;如果Tx1=I1,访问索引I1所在chunk的子节点;如果Tx1<I1,则该索引大于最大查询边界,该索引对应块的密文不在查询范围内,忽略该chunk,继续访问下一个chunk。
如果是访问索引Ii(tx1=Ii)所在块的子节点,仅需要判断tx2和I2,i的大小关系,如果tx2=I2,i,表示所有索引等于最小的查询边界,满足查询条件,将该chunk存储的文件添加到查询结果集中;如果tx2<I2,i,表示索引大于最小的查询边界,同时也表示小于最大的查询边界,则满足查询条件,将该chunk存储的文件添加到查询结果集中;如果tx2>I2,i,表示索引小于最小的查询边界,不满足查询条件,忽略该chunk。
如果是访问索引Ii(Tx1=Ii)所在块的子节点,仅需要判断Tx2和I2,i的大小关系,如果Tx2=I2,i,表示索引等于最大的查询边界,满足查询条件,将该chunk存储的文件添加到查询结果集中;如果Tx2>I2,i,表示索引小于最大的查询边界,同时也表示大于最小的查询边界,则满足查询条件,将该chunk存储的文件添加到查询结果集中;如果Tx2<I2,i,表示索引大于最大的查询边界,不满足查询条件,忽略该chunk。
第七步:直至遍历完根节点中的所有chunks,得到查找查询范围内的所有密文。
第八步:重复上述步骤可查询到满足Y轴范围的所有密文。
第九步:云存储服务器取交集将所有满足范围的密文发送给查询用户。
步骤7,解密返回的密文。
利用对称密钥,对查询用户接收到的密文进行解密,得到每个密文对应的明文。
步骤8,数据更新。
利用进制转换、分割的技术将需要更新的文件位置进行处理,在明文索引树上进行遍历执行添加或删除操作,重新进行加密,在选择s,e进行加密时,针对于根节点,s,e和之前根节点加密采用的相同,而其他层重新选择s,e进行加密,最终将更新的路径上传到云存储服务器更换之前的路径。
设已有的XRadix索引树如图1所示。假设要添加的文件是f4,对应的X坐标是49,转换二进制串为“000000110001”,然后插入到图1中,更新的路径如图2标记所示。
将这条路径上传到云存储服务器上与之前的路径进行替换。更新YRadix索引树类似。
假如需要删除的文件是f1,首先在图1所示的XRadix索引树上删除,从根节点开始遍历,直到叶子节点,更新路径如下图3标记所示。
将这条路径上传到云存储服务器上与之前的路径进行替换。更新YRadix索引树类似。
上述在云存储服务器上进行更新过程时,不需要进行解密,云存储服务器只需要在根节点中存储的chunk中进行遍历,找到要更新的路径直接进行替换。
在实施例2中,将对文档的位置坐标替换成二叉树,和本发明方法进行实验对比,对比结果表明:所构建二叉树的大小与所有文档位置覆盖的范围成正比,即文档位置覆盖范围越大则构建的索引存储开销越大,索引结构是不可伸缩的且扩展性差,在进行数据更新时开销较大,更新效率较低,且不能隐藏搜索模式。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本公开方法可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本公开而言更多情况下,软件程序实现是更佳的实施方式。
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
Claims (10)
1.一种基于基树的空间数据范围查询方法,其特征在于,所述方法包括下述步骤:
生成电子文档的查询范围目标;
将查询范围目标进行加密,生成并向云存储服务器提交查询请求的陷门;
基于所述陷门,通过云存储服务器与云密钥管理服务器协作获取所有密文,并由云存储服务器将所述密文发送给查询用户;
接收所述密文并解密;
所述云存储服务器存储有加密索引树和加密电子文档的密文,所述索引树为基树,基于电子文档的位置生成;
所述云密钥管理服务器存储有用于索引树解密的密钥。
2.根据权利要求1所述的方法,其特征在于,所述索引树采用包括下述步骤建立:
将电子文档的位置坐标采用二进制向量表示,将每个坐标分量的二进制向量分段,每段长度记作l,l>0;
对每个坐标分量,将分段的二进制向量作为索引依次存到索引树中的每一层的块中,其中根节点中的块存储最高l位的二进制向量分段,叶节点中的块存储最低l位的二进制向量分段,树中的每个节点最多包含2l个块,除了叶节点,其他每个节点中存储的块有可能存在一个子节点。
3.根据权利要求1所述的方法,其特征在于,所述索引树采用包括下述步骤更新:
将新的电子文件的位置采用二进制向量表示,将每个位置分量的二进制向量分段,每段长度记作l,l>0;
对每个位置分量的每一段,在当前索引树上进行逐层插入,直至叶节点中的块中;
或者对已有的索引树进行遍历,逐层删除文件的信息而不删除块,直至找到叶节点中所对应的块,删除该块;
对于在索引树中更新的路径,将其加密后发送给云存储服务器进行更新。
4.根据权利要求1所述的方法,其特征在于,所述云存储服务器与云密钥管理服务器协作获取所有密文,包括下述步骤:
在云存储服务器收到陷门后,从索引树的根节点开始,将索引与陷门进行比较,并将比较结果发送给云密钥管理服务器,由云存储管理服务器解密,并将解密的值返回给云存储服务器,所述值指示该索引是否在查询范围内;
如果该索引是查询边界,继续访问该索引对应块的子节点;如果该索引在查询范围内,,则将该索引对应块上的密文添加到查询结果集中,并访问下一个块;如果该索引超出查询范围,则继续访问下一个块,直至遍历完根节点中存储的所有块,并将得到密文集返回给查询用户。
5.根据权利要求1所述的方法,其特征在于,所述加密电子文档的密文通过对电子文档的位置采用对称加密算法加密获得。
6.根据权利要求5所述的方法,其特征在于,所述对称加密算法包括高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
7.根据权利要求1所述的方法,其特征在于,所述加密索引树或者所述将查询范围目标进行加密,采用公钥加密体制密钥;
所述公钥加密体制密钥为随机在错误分布中选择两个随机数,一个随机数用于计算生成模2为1的值,该值作为同态加密私钥,另一个随机数用于和秘钥组成同态加密公钥。
8.根据权利要求7所述的方法,其特征在于,所述二进制向量被分为d段,d>0,每个二进制分段均有对应的加密公钥和解密密钥,相同二进制分段对应的加密公钥和解密密钥相同。
9.一种基于基树的空间数据范围查询装置,包括一个云存储服务器、一个云密钥管理服务器,客户端,其特征在于:
所述客户端:生成电子文档的查询范围目标;将查询范围目标进行加密,生成并向云存储服务器提交查询请求的陷门;接收云存储服务器返回的关于查询范围目标所对应的密文并解密;
所述云存储服务器:将接收的陷门和自身存储的加密索引树中的索引逐个进行计算比较,与云密钥管理服务器协作,判断用于比较的索引是否在查询范围内,从而获取所有满足查询范围的密文并将其发送给客户端;
所述云密钥管理服务器:存储有用于索引树解密的密钥,用于对云存储服务器计算比较的结果进行解密,并返回解密结果以使云存储服务器判断用于比较的索引是否在查询范围内;
所述索引树为基树,基于电子文档的位置生成。
10.一种计算机可读存储装置,其特征在于:包括至少一个存储介质,所述存储介质存储有能够被处理器加载并执行如权利要求1至8中任一种方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210456324.0A CN115017389A (zh) | 2022-04-24 | 2022-04-24 | 一种基于基树的空间数据范围查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210456324.0A CN115017389A (zh) | 2022-04-24 | 2022-04-24 | 一种基于基树的空间数据范围查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017389A true CN115017389A (zh) | 2022-09-06 |
Family
ID=83066852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210456324.0A Pending CN115017389A (zh) | 2022-04-24 | 2022-04-24 | 一种基于基树的空间数据范围查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115017389A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204916A (zh) * | 2022-12-30 | 2023-06-02 | 杭州慧康物联网科技有限公司 | 一种基于医疗大数据的数据库智能管理系统 |
-
2022
- 2022-04-24 CN CN202210456324.0A patent/CN115017389A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204916A (zh) * | 2022-12-30 | 2023-06-02 | 杭州慧康物联网科技有限公司 | 一种基于医疗大数据的数据库智能管理系统 |
CN116204916B (zh) * | 2022-12-30 | 2023-07-21 | 杭州慧康物联网科技有限公司 | 一种基于医疗大数据的数据库智能管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815350B (zh) | 一种云环境中动态的密文多关键词模糊搜索方法 | |
Salam et al. | Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage | |
CN112800445B (zh) | 一种用于密文数据的前后向安全和可验证的布尔查询方法 | |
CN106934301B (zh) | 一种支持密文数据操作的关系型数据库安全外包数据处理方法 | |
CN112270006A (zh) | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 | |
Wang et al. | Forward and backward-secure range-searchable symmetric encryption | |
CN104657673A (zh) | 平均复杂度理想安全的保序加密 | |
Kim et al. | Hilbert curve-based cryptographic transformation scheme for spatial query processing on outsourced private data | |
CN110413652B (zh) | 一种基于边缘计算的大数据隐私化检索方法 | |
CN112332979B (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
CN111026788A (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
CN114826703A (zh) | 基于区块链的数据搜索细粒度访问控制方法及系统 | |
Zou et al. | Highly secure privacy‐preserving outsourced k‐means clustering under multiple keys in cloud computing | |
CN111651779B (zh) | 一种在区块链中进行加密图像检索的隐私保护方法 | |
CN107294701B (zh) | 具有高效密钥管理的多维密文区间查询装置及查询方法 | |
CN110222520B (zh) | 云环境中支持图加密数据的关键词查询方法 | |
CN109783456B (zh) | 去重结构搭建方法、去重方法、文件取回方法、去重系统 | |
CN115017389A (zh) | 一种基于基树的空间数据范围查询方法及装置 | |
Wang et al. | QuickN: Practical and secure nearest neighbor search on encrypted large-scale data | |
CN108011713B (zh) | 一种云存储中基于同态加密的密文检索方法 | |
Ibrahim et al. | Towards efficient yet privacy-preserving approximate search in cloud computing | |
CN113132345B (zh) | 具有可搜索功能的代理隐私集合求交方法 | |
CN114142996A (zh) | 一种基于sm9密码算法的可搜索加密方法 | |
CN117786751A (zh) | 一种对称可搜索加密方法、装置、设备及介质 | |
CN114416720B (zh) | 云环境中高效灵活可验证的多属性范围检索方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |