【技术实现步骤摘要】
数据处理方法、装置、设备和存储介质
[0001]本公开的示例实施例总体涉及计算机领域,特别地涉及基于可信执行环境的数据处理方法、装置、设备和计算机可读存储介质。
技术介绍
[0002]可信执行环境(Trusted execution environment,TEE)通过软硬件方法在中央处理器中构建一个安全区域,能够为运行在其中的程序提供一个具备机密性和完整性保护的独立执行环境。在可信执行环境中,程序运行代码和机密数据可以被维护在一块加密的隔离内存中,并在加密内存中完成计算,整个计算过程对外部不可见,以此方式来实现数据的保护。换言之,不同的程序可以以彼此隔离的方式在可信执行环境被运行。这种隔离性在保证数据安全的同时,也增加了程序间分享数据间的复杂度。因此,如何在可信执行环境中快捷高效地实现内存的共享以实现程序间的数据共享是当前亟待解决的技术问题。
技术实现思路
[0003]在本公开的第一方面,提供了一种数据处理方法,包括:在可信执行环境中,初始化第一程序和与第一程序不同的第二程序;分别为第一程序和第二程序分配第一内存空间和第二内存空间;其中,第一内存空间对第一程序可见并且对第二程序不可见,并且第二内存空间对第二程序可见并且对第一程序不可见;其中,第一内存空间为线性内存地址空间,并且包括至少包括第一内存页;并且其中,第二内存空间为线性内存地址空间,并且包括至少包括第二内存页,第二内存页与第一内存页不同;将第一内存空间的第一内存页映射至可信执行环境的虚拟地址空间中的第一虚拟内存页;以及将第二内存空间的第二内 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,包括:在可信执行环境中,初始化第一程序和与所述第一程序不同的第二程序;分别为所述第一程序和所述第二程序分配第一内存空间和第二内存空间;其中,所述第一内存空间对所述第一程序可见并且对所述第二程序不可见,并且所述第二内存空间对所述第二程序可见并且对所述第一程序不可见;其中,所述第一内存空间为线性内存地址空间,并且包括至少包括第一内存页;并且其中,所述第二内存空间为线性内存地址空间,并且包括至少包括第二内存页,所述第二内存页与所述第一内存页不同;将所述第一内存空间的所述第一内存页映射至所述可信执行环境的虚拟地址空间中的第一虚拟内存页;以及将所述第二内存空间的第二内存页映射至所述虚拟地址空间中的所述第一虚拟内存页。2. 根据权利要求1所述的方法,还包括:响应于检测到由所述第一程序发起的数据的访问请求,确定所述数据所对应的内存地址是否在所述第一内存空间内;以及根据确定所述内存地址不在所述第一内存空间内,将所述内存地址映射至所述虚拟地址空间的异常虚拟内存页。3.根据权利要求1所述的方法,还包括:为所述第一程序生成第一映射表,所述第一映射表包括至少一个页表条目,每个页表条目与所述第一内存空间中的一个相应的内存页相对应并且指示以下至少一项:所述相应的内存页是否已经被映射至所述虚拟地址空间中的一虚拟内存页,或与所述相应的内存页相对应的虚拟内存页的在所述虚拟地址空间中的虚拟地址信息。4.根据权利要求3所述的方法,其中为所述第一程序生成所述第一映射表包括:响应于检测到所述第一程序被初始化,为所述第一程序生成所述第一映射表,所述第一映射表具有预设数目的页表条目;并且所述方法还包括:响应于检测到针对所述第一程序的增加内存指令,在所述第一映射表中修改至少一个页表条目以指示所述第一内存空间中的至少一个新分配的内存页与所述虚拟地址空间中的至少一个虚拟内存页的映射关系。5.根据权利要求3所述的方法,其中所述第一映射表包括与所述第一内存页相对应的第一页表条目,所述第一页表条目包括以下至少一项:第一信息,所述第一信息指示所述第一内存页已经被映射至第一虚拟内存页,第二信息,所述第二信息指示标识所述第一虚拟内存页的第一虚拟地址,以及第三信息,所述第三信息指示所述第一程序针对所述第一内存页的读写权限信息。6. 根据权利要求3所述的方法,其中所述第一映射表包括以下至少一项:第一子映射表,所述第一子映射表包括至少一个第一页表条目,所述至少一个第一页表条目与所述第一程序具有只读权限的至少一个内存页相对应;以及第二子映射表,所述第二子映射表包括至少一个第二页表条目,所述至少一个第二页表条目与所述第一程序具有写权限的至少一个内存页相对应。
7. 根据权利要求1所述的方法,其中所述第一内存空间还包括第三内存页和第四内存页,所述第三内存页和所述第四内存页为所述第一内存空间中的两个连续内存页,所述方法还包括:将所述第一内存空间的所述第三内存页映射至所述虚拟地址空间中的第二虚拟内存页;以及将所述第四内存页映射至所述虚拟地址空间中的第三虚拟内存页,所述第二虚拟内存页和所述第三虚拟内存页在所述虚拟地址空间中不连续。8.根据权利要求1所述的方法,还包括:在所述第一程序运行期间,检测由所述第一程序发起的创建共享内存的请求,所述创建共享内存的请求指示如下信息:所述第一内存页的第一内存地址信息、所述第一程序针对所述第一内存页所设置的读写权限信息以及所述第一内存页的第一标识信息;响应于检测到由所述第二程序发起的查询共享内存的请求,向所述第二程序返回在所述可信执行环境中的共享内存的标识信息列表,所述标识信息列表包括所述第一内存页的所述第一标识信息;检测由所述第二程序发起的共享内存映射请求,所述共享内存映射请求指示所述第二内存页的第二内存地址信息以及所述第一内存页的所述第一标识信息;以及响应于检测到所述共享内存映射请求,将所述第二内存页映射至所述第一虚拟内存页。9.一种数据处理装置,包括:程序初始化模块,被配置为:在可信执行环境中,初始化第一程序和与所述第一程序不同的第二程序;内存分配模块,被配置为分别为所述第一程序和所述第二程序分配第一内存空间和第二内存空间;其中,所述第一内存空间对所述第一程序可见并且对所述第二程序不可见,并且所述第二内存空间对所述第二程序可见并且对所述第一程序不可见;其中,所述第一内存空间为线...
【专利技术属性】
技术研发人员:贺培轩,王伟力,张殷乾,季洪涵,张尧,吴烨,
申请(专利权)人:南方科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。