加密数据查询方法、装置、存储介质、处理器及终端设备制造方法及图纸

技术编号:36250529 阅读:13 留言:0更新日期:2023-01-07 09:43
本发明专利技术实施例公开了一种加密数据查询方法、装置、存储介质、处理器及终端设备,属于加密数据处理领域,加密数据查询方法包括:获取待查询密文以及第一目标节点中存储的第一预设密文;在可信执行环境中对待查询密文以及第一预设密文进行解密处理,得到待查询的目标键值以及按照大小顺序依次排列的多个第一预设键值;在可信执行环境中,采用预设查询逻辑,从多个第一预设键值中查询目标键值,得到第一查询结果;输出第一查询结果。通过本发明专利技术,解决了相关技术中在对采用多节点形式的数据结构存储的加密数据进行查询时的查询效率较低的技术问题。术问题。术问题。

【技术实现步骤摘要】
加密数据查询方法、装置、存储介质、处理器及终端设备


[0001]本专利技术涉及加密数据处理领域,尤其涉及一种加密数据查询方法、装置、存储介质、处理器及终端设备。

技术介绍

[0002]B

Tree(多路搜索树)是一种常见的数据结构,这个数据结构一般用于数据库的索引,综合效率较高。B+Tree是B

Tree的变种,与B

Tree相比硬盘读写次数更少,查询效率更稳定,且更便于范围查询,在数据库索引领域有广泛应用。
[0003]采用B

Tree、B+Tree或其他类似的数据结构对数据进行存储时,会生成若干节点,通过这些节点实现内容的存储,通过节点内数据的键值之间的排列关系以及节点间数据的键值之间的排列关系,可以方便数据的查找操作。采用类似B

Tree或B+Tree等多节点形式的数据结构对加密数据进行存储的情况下,当需要对加密数据进行操作时,需要先进行密文的查询操作。相关技术中,针对这种多节点形式的数据结构存储的加密数据进行查询时,针对每个节点内的每个数据,均需要切换至可信执行环境进行数据比较操作,因此需要频繁地调用可信执行环境。例如在对B

Tree或B+Tree的一个节点内的数据进行查询时,需要将该节点中的各个密文依次输入可信执行环境中进行解密,并与待查询密文比较,这带来了较大的可信执行环境调用开销,导致查询效率较低。
[0004]因此,相关技术中在对采用多节点形式的数据结构存储的加密数据进行查询时的查询效率较低。针对上述的问题,目前尚未提出有效的解决方案。
[0005]在
技术介绍
部分中公开的以上信息只是用来加强对本文所描述技术的
技术介绍
的理解。因此,
技术介绍
中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在已知的现有技术。

技术实现思路

[0006]本专利技术实施例提供了一种加密数据查询方法、装置、存储介质、处理器及终端设备,以至少解决相关技术中在对采用多节点形式的数据结构存储的加密数据进行查询时的查询效率较低的技术问题。
[0007]根据本专利技术实施例的第一个方面,提供了一种加密数据查询方法,用于对采用预设数据结构存储的密文进行查询,预设数据结构采用键值对的形式存储密文,预设数据结构包括多个节点,属于同一个节点的多个键值按照大小顺序依次排列,至少两个节点的键值之间存在预设的大小关系,加密数据查询方法包括:获取待查询密文以及第一目标节点中存储的第一预设密文,第一目标节点为预设数据结构的任意一个节点;在可信执行环境中对待查询密文以及第一预设密文进行解密处理,得到待查询的目标键值以及按照大小顺序依次排列的多个第一预设键值;在可信执行环境中,采用预设查询逻辑,从多个第一预设键值中查询目标键值,得到第一查询结果;输出第一查询结果,第一查询结果至少包括结果标识信息和位置标识信息,结果标识信息表征是否在多个第一预设键值中查询到目标键
值,位置标识信息用于指示目标键值所属的位置。
[0008]进一步地,在可信执行环境中,采用预设查询逻辑,从多个第一预设键值中查询目标键值,包括:确定多个第一预设键值中是否存在目标键值,得到结果标识信息;在多个第一预设键值中存在目标键值的情况下,根据目标键值与多个第一预设键值的大小关系,确定位置标识信息;在多个第一预设键值中不存在目标键值的情况下,根据第一大小关系以及第二大小关系,确定位置标识信息,第一大小关系为目标键值与多个第一预设键值的大小关系,第二大小关系为至少一个第一预设键值与其它的节点的至少一个键值之间的大小关系。
[0009]进一步地,在结果标识信息表征未在多个第一预设键值中查询到目标键值的情况下,加密数据查询方法还包括:根据位置标识信息,确定第二目标节点;获取第二目标节点中存储的第二预设密文;在可信执行环境中对第二预设密文进行解密处理,得到按大小顺序依次排列的多个第二预设键值;从多个第二预设键值中查询目标键值。
[0010]进一步地,在可信执行环境中对待查询密文或第一预设密文进行解密处理,包括:确定解密缓存中是否存储有待查询密文或第一预设密文对应的解密结果;在解密缓存中存储有解密结果的情况下,从解密缓存中获取解密结果。
[0011]进一步地,在可信执行环境中对待查询密文或第一预设密文进行解密处理,还包括:在解密缓存中未存储解密结果的情况下,采用预设解密逻辑对待查询密文或第一预设密文进行解密,得到解密结果;将解密结果存储至解密缓存。
[0012]进一步地,采用预设查询逻辑,从多个第一预设键值中查询目标键值,包括:获取目标查询函数的标识符;根据标识符,确定目标查询函数对应的指针;采用指针,调用目标查询函数,以从多个第一预设键值中查询目标键值。
[0013]进一步地,在可信执行环境可以访问主机内存的情况下,获取第一目标节点中存储的第一预设密文,包括:获取第一预设密文对应的内存地址;在可信执行环境无法访问主机内存的情况下,获取第一目标节点中存储的第一预设密文,包括:将第一预设密文拷贝至可信执行环境。
[0014]根据本专利技术实施例的第二个方面,还提供了一种加密数据查询装置,用于对采用预设数据结构存储的密文进行查询,预设数据结构采用键值对的形式存储密文,预设数据结构包括多个节点,属于同一个节点的多个键值按照大小顺序依次排列,至少两个节点的键值之间存在预设的大小关系,加密数据查询装置包括:第一获取单元,用于获取待查询密文以及第一目标节点中存储的第一预设密文,第一目标节点为预设数据结构的任意一个节点;第一解密单元,用于在可信执行环境中对待查询密文以及第一预设密文进行解密处理,得到待查询的目标键值以及按照大小顺序依次排列的多个第一预设键值;第一查询单元,用于在可信执行环境中,采用预设查询逻辑,从多个第一预设键值中查询目标键值,得到第一查询结果;输出单元,用于输出第一查询结果,第一查询结果至少包括结果标识信息和位置标识信息,结果标识信息表征是否在多个第一预设键值中查询到目标键值,位置标识信息用于指示目标键值所属的位置。
[0015]进一步地,第一查询单元包括:第一查询模块,用于确定多个第一预设键值中是否存在目标键值,得到结果标识信息;第二查询模块,用于在多个第一预设键值中存在目标键值的情况下,根据目标键值与多个第一预设键值的大小关系,确定位置标识信息;第二查询
模块还用于在多个第一预设键值中不存在目标键值的情况下,根据第一大小关系以及第二大小关系,确定位置标识信息,第一大小关系为目标键值与多个第一预设键值的大小关系,第二大小关系为至少一个第一预设键值与其它的节点的至少一个键值之间的大小关系;加密数据查询装置还包括:确定单元,用于在结果标识信息表征未在多个第一预设键值中查询到目标键值的情况下,根据位置标识信息,确定第二目标节点;第二获取单元,用于获取第二目标节点中存储的第二预设密文;第二解密单元,用于在可信执行环境中对第二预设密文进行解密处理,得到按大小顺序依次排列的多个第二预设键值;第二查询单元,用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加密数据查询方法,用于对采用预设数据结构存储的密文进行查询,所述预设数据结构采用键值对的形式存储所述密文,所述预设数据结构包括多个节点,属于同一个所述节点的多个键值按照大小顺序依次排列,至少两个所述节点的所述键值之间存在预设的大小关系,所述加密数据查询方法包括:获取待查询密文以及第一目标节点中存储的第一预设密文,所述第一目标节点为所述预设数据结构的任意一个所述节点;在可信执行环境中对所述待查询密文以及所述第一预设密文进行解密处理,得到待查询的目标键值以及按照大小顺序依次排列的多个第一预设键值;在所述可信执行环境中,采用预设查询逻辑,从所述多个第一预设键值中查询所述目标键值,得到第一查询结果;输出所述第一查询结果,所述第一查询结果至少包括结果标识信息和位置标识信息,所述结果标识信息表征是否在所述多个第一预设键值中查询到所述目标键值,所述位置标识信息用于指示所述目标键值所属的位置。2.根据权利要求1所述的加密数据查询方法,其中,所述在所述可信执行环境中,采用预设查询逻辑,从所述多个第一预设键值中查询所述目标键值,包括:确定所述多个第一预设键值中是否存在所述目标键值,得到所述结果标识信息;在所述多个第一预设键值中存在所述目标键值的情况下,根据所述目标键值与多个所述第一预设键值的大小关系,确定所述位置标识信息;在所述多个第一预设键值中不存在所述目标键值的情况下,根据第一大小关系以及第二大小关系,确定所述位置标识信息,所述第一大小关系为所述目标键值与多个所述第一预设键值的大小关系,所述第二大小关系为至少一个所述第一预设键值与其它的所述节点的至少一个所述键值之间的大小关系。3.根据权利要求1所述的加密数据查询方法,其中,在所述结果标识信息表征未在所述多个第一预设键值中查询到所述目标键值的情况下,所述加密数据查询方法还包括:根据所述位置标识信息,确定第二目标节点;获取所述第二目标节点中存储的第二预设密文;在所述可信执行环境中对所述第二预设密文进行解密处理,得到按大小顺序依次排列的多个第二预设键值;从多个所述第二预设键值中查询所述目标键值。4.根据权利要求1所述的加密数据查询方法,其中,所述在可信执行环境中对所述待查询密文或所述第一预设密文进行解密处理,包括:确定解密缓存中是否存储有所述待查询密文或所述第一预设密文对应的解密结果;在所述解密缓存中存储有所述解密结果的情况下,从所述解密缓存中获取所述解密结果。5.根据权利要求4所述的加密数据查询方法,其中,所述在可信执行环境中对所述待查询密文或所述第一预设密文进行解密处理,还包括:在所述解密缓存中未存储所述解密结果的情况下,采用预设解密逻辑对所述待查询密文或所述第一预设密文进行解密,得到解密结果;将所述解密结果存储至所述解密缓存。
6.根据权利要求1至5中任一项所述的加密数据查询方法,其中,所述采用预设查询逻辑,从所述多个第一预设键值中查询所述目标键值,包括:获取目标查询函数的标识符;根据所述标识符,确定所述目标查询函数对应的指针;采用所述指针,调用所述目标查询函数,以从所述多个第一预设键值中查询所述目标键值。7.根据权利要求1至5中任一项所述的加密数据查询方法,其中,在所述可信执行环境可以访问主机内存的情况下,获取所述第一目标节点中存储的所述第一预设密文,包括:获取所述第一预设密文对应的内存地址;在所述可信执行环境无法访问所述主机内存的情况下,获取所述第一目标节点中存储的所述第一预设密文,包括:将所述第一预设密文拷贝至所述可信执行环境。8.一种加密数据查询装置,用于对采用预设数据结构存储的密文进行查询,所述预设数据结构采用键值对的形式存储所述密文,所述预设数据结构...

【专利技术属性】
技术研发人员:田成锦汪晟李飞飞李亦然
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1