本公开的示例实施例总体涉及计算机领域,特别地涉及基于可信执行环境的数据处理方法、装置、设备和计算机可读存储介质。
背景技术:
1、可信执行环境(trusted execution environment,tee)通过软硬件方法在中央处理器中构建一个安全区域,能够为运行在其中的程序提供一个具备机密性和完整性保护的独立执行环境。在可信执行环境中,程序运行代码和机密数据可以被维护在一块加密的隔离内存中,并在加密内存中完成计算,整个计算过程对外部不可见,以此方式来实现数据的保护。换言之,不同的程序可以以彼此隔离的方式在可信执行环境被运行。这种隔离性在保证数据安全的同时,也增加了程序间分享数据间的复杂度。因此,如何在可信执行环境中快捷高效地实现内存的共享以实现程序间的数据共享是当前亟待解决的技术问题。
技术实现思路
1、在本公开的第一方面,提供了一种数据处理方法,包括:在可信执行环境中,初始化第一程序和与第一程序不同的第二程序;分别为第一程序和第二程序分配第一内存空间和第二内存空间;其中,第一内存空间对第一程序可见并且对第二程序不可见,并且第二内存空间对第二程序可见并且对第一程序不可见;其中,第一内存空间为线性内存地址空间,并且包括至少包括第一内存页;并且其中,第二内存空间为线性内存地址空间,并且包括至少包括第二内存页,第二内存页与第一内存页不同;将第一内存空间的第一内存页映射至可信执行环境的虚拟地址空间中的第一虚拟内存页;以及将第二内存空间的第二内存页映射至虚拟地址空间中的第一虚拟内存页。
2、在本公开的第二方面,提供了一种数据处理装置,包括:程序初始化模块,被配置为:在可信执行环境中,初始化第一程序和与第一程序不同的第二程序;内存分配模块,被配置为分别为第一程序和第二程序分配第一内存空间和第二内存空间;其中,第一内存空间对第一程序可见并且对第二程序不可见,并且第二内存空间对第二程序可见并且对第一程序不可见;其中,第一内存空间为线性内存地址空间,并且包括至少包括第一内存页;并且其中,第二内存空间为线性内存地址空间,并且包括至少包括第二内存页,第二内存页与第一内存页不同;第一映射模块,被配置为将第一内存空间的第一内存页映射至可信执行环境的虚拟地址空间中的第一虚拟内存页;以及第二映射模块,被配置为将第二内存空间的第二内存页映射至虚拟地址空间中的第一虚拟内存页。
3、在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使电子设备执行第一方面的方法。
4、在本公开的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序可由处理器执行以实现第一方面的方法。
5、应当理解,本内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
1.一种数据处理方法,包括:
2. 根据权利要求1所述的方法,还包括:
3.根据权利要求1所述的方法,还包括:
4.根据权利要求3所述的方法,其中为所述第一程序生成所述第一映射表包括:
5.根据权利要求3所述的方法,其中所述第一映射表包括与所述第一内存页相对应的第一页表条目,所述第一页表条目包括以下至少一项:
6. 根据权利要求3所述的方法,其中所述第一映射表包括以下至少一项:
7. 根据权利要求1所述的方法,其中所述第一内存空间还包括第三内存页和第四内存页,所述第三内存页和所述第四内存页为所述第一内存空间中的两个连续内存页,所述方法还包括:
8.根据权利要求1所述的方法,还包括:
9.一种数据处理装置,包括:
10. 根据权利要求9所述的装置,还包括越界检查模块,被配置为:
11.根据权利要求9所述的装置,还包括页表生成模块,被配置为:
12.根据权利要求11所述的装置,其中所述页表生成模块还被配置为:
13.根据权利要求11所述的装置,其中所述第一映射表包括与所述第一内存页相对应的第一页表条目,所述第一页表条目包括以下至少一项:
14. 根据权利要求11所述的装置,其中所述第一映射表包括以下至少一项:
15. 根据权利要求9所述的装置,其中所述第一内存空间还包括第三内存页和第四内存页,所述第三内存页和所述第四内存页为所述第一内存空间中的两个连续内存页,所述装置还包括:
16.根据权利要求9所述的装置,还包括:
17.一种电子设备,包括:
18.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至8中任一项所述的方法。