本公开涉及计算机,尤其涉及一种基于可信执行环境的内存访问方法及相关设备。
背景技术:
1、本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、可信执行环(trusted executive environment,tee)来实现是由处理器和内存中划分出的独立的可信区域构成的运行环境,其通过隔离选定代码和数据的执行与主操作系统的执行,提供了高级别的安全保护。
3、但是,对存储于可信执行环境中的数据,攻击者可以通过分析数据访问模式来分析得到数据内容,从而威胁可信执行环境的安全性。
技术实现思路
1、有鉴于此,本公开的目的在于提出一种基于可信执行环境的内存访问方法及相关设备,至少在一定程度上解决相关技术中的技术问题之一。
2、基于上述目的,本公开第一方面提供了一种基于可信执行环境的内存访问方法,包括:
3、获取待写入所述可信执行环境的至少一个待处理数据项;
4、对于至少部分所述待处理数据项,计算对应于每个所述待处理数据项的多个候选数据存储单元的位置,并构建所述待处理数据项与多个所述候选数据存储单元之间的关联关系;其中,多个所述候选数据存储单元部署于所述可信执行环境;
5、基于预设的不经意匹配算法以及所述关联关系,确定所述待处理数据项与多个所述候选数据存储单元中的目标数据存储单元之间的匹配关系;
6、基于所述匹配关系,将所述待处理数据项写入所述目标数据存储单元。
7、在一些实施例中,所述计算对应于每个所述待处理数据项的多个候选数据存储单元的位置,包括:
8、基于预设数量的哈希函数计算所述候选数据存储单元在索引表中的放置位置,且所述哈希函数的数量与所述候选数据存储单元的数量相同。
9、在一些实施例中,所述哈希函数的数量为3-6个。
10、在一些实施例中,所述基于预设的不经意匹配算法以及所述关联关系,确定所述待处理数据项与多个所述候选数据存储单元中目标数据存储单元之间的匹配关系,包括:
11、基于至少一个所述待处理数据项确定第一顶点集,基于所述候选数据存储单元在索引表中的放置位置所对应的表项确定第二顶点集,基于所述关联关系确定边集;
12、基于所述边集查找所述第一顶点集中各顶点与所述第二顶点集中各顶点之间的交替路径,确定所述第一顶点集各顶点与所述第二顶点集各顶点之间的路径匹配关系;
13、基于所述第一顶点集中各顶点与所述第二顶点集中各顶点之间的路径匹配关系,确定所述待处理数据项与所述目标数据存储单元在索引表中所对应的表项之间的匹配关系。
14、在一些实施例中,所述基于所述边集查找所述第一顶点集中各顶点与所述第二顶点集中各顶点之间的交替路径,确定所述第一顶点集各顶点与所述第二顶点集各顶点之间的路径匹配关系,包括:
15、基于预设的第一优先级规则对所述边集进行不经意的第一排序;
16、遍历第一排序后的所述边集,构建所述第一顶点集中各顶点与所述所述第二顶点集中各顶点之间的第一匹配关系;
17、基于预设的第二优先级规则对所述边集进行不经意的第二排序;
18、遍历第二排序后的所述边集,对所述第一匹配关系进行调整,获得所述路径匹配关系。
19、在一些实施例中,所述第一优先级规则,包括以下至少之一:
20、将第一顶点集指向同一顶点的边设置在一个分组;
21、边先从第二顶点集向第一顶点集定向;
22、自由边先定向;
23、具有较小计数的边先定向。
24、在一些实施例中,所述第二优先级规则,包括以下至少之一:
25、将第二顶点集指向同一顶点的边设置在一个分组;
26、边先从第二顶点集向第一顶点集定向;
27、具有较大计数的边先定向。
28、在一些实施例中,所述将所述待处理数据项写入所述目标数据存储单元,包括:
29、将所述待处理数据项对应的索引信息写入索引表中与所述目标数据存储单元对应的表项中。
30、在一些实施例中,所述的方法,还包括:
31、对所述索引表中的表项进行层级存储。
32、在一些实施例中,所述的方法,还包括:
33、获取针对待查询数据项的查询请求;
34、基于所述查询请求对所述索引表进行层级查询;
35、响应于在目标层级中获取到所述待查询数据对应的索引信息,基于所述索引信息获取所述待查询数据项;
36、对至少部分剩余层级进行基于不经意算法的查询获取第一数据项,基于所述待查询数据项和所述第一数据项获得针对所述查询请求的查询结果。
37、本公开第二方面提供了一种基于可信执行环境的内存访问装置,包括:
38、获取模块,被配置为:获取待写入所述可信执行环境的至少一个待处理数据项;
39、计算模块,被配置为:对于至少部分所述待处理数据项,计算对应于每个所述待处理数据项的多个候选数据存储单元的位置,并构建所述待处理数据项与多个所述候选数据存储单元之间的关联关系;其中,多个所述候选数据存储单元部署于所述可信执行环境;
40、确定模块,被配置为:基于预设的不经意匹配算法以及所述关联关系,确定所述待处理数据项与多个所述候选数据存储单元中的目标数据存储单元之间的匹配关系;
41、写入模块,被配置为:基于所述匹配关系,将所述待处理数据项写入所述目标数据存储单元。
42、本公开的第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的基于可信执行环境的内存访问方法。
43、本公开的第四方面提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面所述的基于可信执行环境的内存访问方法。
44、本公开实施例第五方面提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如第一方面所述的基于可信执行环境的内存访问方法。
45、从上面所述可以看出,本公开提供的基于可信执行环境的内存访问方法及相关设备,在获取待写入部署在可信执行环境的内存中的待处理数据项之后,对于至少部分待处理数据项,先计算各个待处理数据项的多个候选数据存储单元的位置并构建待处理数据项与部署于可信执行环境中的多个候选数据存储单元之间的关联关系,再利用不经意匹配算法确定待处理数据项与多个候选数据存储单元中的目标数据存储单元之间的匹配关系,再基于该匹配关系将待处理数据项写入部署于可信执行环境的目标数据存储单元,从而实现了对可信执行环境的不经意内存访问方式;由于先确定出待处理数据项的多个候选数据存储单元的位置,再利用不经意匹配算法从多个候选数据存储单元中确定出目标数据存储单元以对待处理数据项进行写入,从而能够有效隐藏数据访问模式,防止潜在的攻击者通过分析访问模式来推测数据内容;结合可信执行环境,可以进一步增强数据在处理过程中的保密性和完整性。
1.一种基于可信执行环境的内存访问方法,包括:
2.根据权利要求1所述的方法,其中,所述计算对应于每个所述待处理数据项的多个候选数据存储单元的位置,包括:
3.根据权利要求2所述的方法,其中,所述哈希函数的数量为3-6个。
4.根据权利要求2所述的方法,其中,所述基于预设的不经意匹配算法以及所述关联关系,确定所述待处理数据项与多个所述候选数据存储单元中目标数据存储单元之间的匹配关系,包括:
5.根据权利要求4所述的方法,其中,所述基于所述边集查找所述第一顶点集中各顶点与所述第二顶点集中各顶点之间的交替路径,确定所述第一顶点集各顶点与所述第二顶点集各顶点之间的路径匹配关系,包括:
6.根据权利要求5所述的方法,其中,所述第一优先级规则,包括以下至少之一:
7.根据权利要求5所述的方法,其中,所述第二优先级规则,包括以下至少之一:
8.根据权利要求4所述的方法,其中,所述将所述待处理数据项写入所述目标数据存储单元,包括:
9.根据权利要求8所述的方法,还包括:
10.根据权利要求9所述的方法,还包括:
11.一种基于可信执行环境的内存访问装置,包括:
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至10任一项所述的基于可信执行环境的内存访问方法。
13.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至10任一项所述的基于可信执行环境的内存访问方法。
14.一种计算机程序产品,其特征在于,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1至10任意一项所述的基于可信执行环境的内存访问方法。