System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 可信执行环境实现方法、计算机设备及存储介质技术_技高网

可信执行环境实现方法、计算机设备及存储介质技术

技术编号:40283309 阅读:7 留言:0更新日期:2024-02-07 20:36
本发明专利技术公开了一种可信执行环境实现方法、计算机设备及存储介质,本发明专利技术面向RISC‑V平台构建多种可信执行环境安全原语,包括可信执行环境CPU保护、可信执行环境内存隔离以及可信执行环境内存共享,以提供对多种TEE抽象的支持,包括机密虚拟机、S‑Enclave以及U‑Enclave,使用户可以根据机密任务的大小选择合适的TEE抽象。此外,本发明专利技术支持在机密虚拟机内部构建安全隔离域,并运行Enclave,能够防止未经安全验证的恶意虚拟机内核侵害和泄露用户应用中的敏感数据。安全监视器负责可信执行环境和富执行环境以及可信执行环境内部实例之间的内存隔离和共享。

【技术实现步骤摘要】

本专利技术涉及机密计算,尤其涉及的是一种可信执行环境实现方法、计算机设备及存储介质


技术介绍

1、当前各大主流cpu厂商都推出基于其自家cpu硬件扩展的tee架构,能够创建一个隔离的环境,为用户的代码和数据提高机密性和完整性保证。目前主流的可信执行环境(trusted execution environment,tee)架构可以分为两类,一类是面向虚拟化环境的机密虚拟机,另一类是面向普通进程的enclave(飞地)。这些enclave和机密虚拟机技术架构也逐渐应用于区块链、大数据、人工智能等领域,成为构建其他技术的安全基石。

2、目前的这些tee架构在设计时仅提供单一的抽象,或者是机密虚拟机或者是enclave。这种单一的抽象设计使其难以适应用户广泛的机密任务需求。且目前大部分tee架构的构建都基于闭源的商业cpu硬件安全扩展,这导致其安全性难以审计。此外,机密虚拟机这种虚拟机(virtual machine,vm)级的隔离要比enclave这种进程级的隔离粒度大的多。目前机密虚拟机大部分还是运行一些宏内核操作系统,比如linux,这使得其内部通常包含一些安全性难以审计的第三方的软件、库和驱动等。虽然机密虚拟机能够防御来自其外部的特权软件的侵害,但其内部仍然面临与外部非虚拟化环境同样的安全问题,若机密虚拟机中未经安全验证的恶意虚拟机内核则可能会侵害和泄露用户应用中的敏感数据。

3、因此,现有技术还有待于改进和发展。


技术实现思路

1、鉴于上述现有技术的不足,本专利技术的目的在于提供一种可信执行环境实现方法、计算机设备及存储介质,以解决现有tee架构单一抽象、安全性难以审计以及由于缺乏内部隔离从而可能导致的未经安全验证的恶意虚拟机内核侵害和泄露用户应用中的敏感数据的问题。

2、本专利技术的技术方案如下:

3、第一方面,本专利技术提供了一种可信执行环境实现方法,其包括:

4、安全监控器响应用户请求,创建可信执行环境实例;其中,所述可信执行环境实例包括机密虚拟机、管理态飞地与用户态飞地;

5、在可信执行环境运行时,安全监控器控制富执行环境与所述可信执行环境以及可信执行环境实例之间的状态切换与恢复,并进行安全检查;

6、安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享。

7、本专利技术进一步地设置,所述在可信执行环境运行时,安全监控器控制富执行环境与所述可信执行环境以及可信执行环境实例之间的状态切换与恢复,并进行安全检查的步骤包括:

8、在富执行环境进入可信执行环境时,安全监控器恢复可信执行环境的cpu寄存器状态,并对需要更新的cpu寄存器状态进行检查;

9、在可信执行环境退出至富执行环境时,安全监控器对可信执行环境中的敏感寄存器进行清空并对微架构信息进行清除。

10、本专利技术进一步地设置,所述在富执行环境进入可信执行环境时,安全监控器恢复可信执行环境的cpu寄存器状态,并对需要更新的cpu寄存器状态进行检查的步骤包括:

11、配置中断异常代理寄存器,当可信执行环境中发生中断和异常时,将可信执行环境自身可处理的中断和异常代理给可信执行环境,并对可信执行环境不可处理的中断和异常进行处理。

12、本专利技术进一步地设置,所述在富执行环境进入可信执行环境时,安全监控器恢复可信执行环境的cpu寄存器状态,并对需要更新的cpu寄存器状态进行检查的步骤还包括:

13、当发生异常导致可信执行环境退出并通过富执行环境处理后,在可信执行环境恢复运行时对cpu寄存器状态进行检查,并在可信执行环境退出时对敏感寄存器进行清空。

14、本专利技术进一步地设置,安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤包括:

15、当所述安全监控器注册完成一段连续物理内存作为可信内存区后,所述安全监控器申请一个位图对连续物理内存的状态进行记录,并根据位图对整个可信内存区的内存进行管理;其中,内存分配粒度可被配置;

16、当所述可信执行环境触发二阶段缺页时,所述安全监控器检查位图,并找到一个空闲的内存组,将其中的内存页分配给机密虚拟机,并将其中一个内存页缺页地址建立映射,剩余的内存页作为缓存供后续的缺页使用,并在缓存用尽后向所述安全监控器申请新的可信内存。

17、本专利技术进一步地设置,所述安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤还包括:

18、当所述可信执行环境需要与所述富执行环境共享内存时,对相应的物理内存进行标记,在机密虚拟机触发二阶段缺页中断时,根据二阶段页表中的标记判断缺页的内存是否是共享内存页,若是,则将缺页转给富执行环境进行处理;其中,所述富执行环境会为共享内存页配置物理内存,并在返回机密虚拟机之前将物理内存页注册到安全监控器,并通过安全监控器对机密虚拟机的缺页进行映射;

19、当所述可信执行环境之间进行内存共享时,源可信执行环境实例向安全监控器注册内存共享请求,当目标可信执行环境实例向安全监控器注册接受共享内存的回复后,源可信执行环境实例与目标可信执行环境实例建立内存共享,安全监控器将源可信执行环境实例的共享内存重映射至目标可信执行环境实例。

20、本专利技术进一步地设置,所述安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤还包括:

21、创建飞地物理地址空间,以映射飞地的内存数据,其中,所有的飞地共享一个飞地物理地址空间;

22、当创建飞地并申请安全内存时,对机密虚拟机地址空间的相应内存页进行标记,并在二阶段页表中取消相应内存页的权限,以在机密虚拟机地址空间中构建一个内存隔离域;

23、根据安全内存在机密虚拟机地址空间的地址偏移将安全内存中的飞地内存页重映射到飞地物理地址空间中,以使飞地内存处于一个单独的地址空间中。

24、本专利技术进一步地设置,所述安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤还包括:

25、将机密虚拟机地址空间中的相应内存重映射至飞地物理地址空间。

26、第二方面,本专利技术还提供了一种计算机设备,包括处理器与存储器,所述处理器上存储有计算机程序,所述计算机程序被所述处理器执行时用于实现上述所述的可信执行环境实现方法。

27、第三方面,本专利技术还提供了一种存储介质所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的可信执行环境实现方法。

28、本专利技术所提本文档来自技高网...

【技术保护点】

1.一种可信执行环境实现方法,其特征在于,包括:

2.根据权利要求1所述的可信执行环境实现方法,其特征在于,所述在可信执行环境运行时,安全监控器控制富执行环境与所述可信执行环境以及可信执行环境实例之间的状态切换与恢复,并进行安全检查的步骤包括:

3.根据权利要求2所述的可信执行环境实现方法,其特征在于,所述在富执行环境进入可信执行环境时,安全监控器恢复可信执行环境的CPU寄存器状态,并对需要更新的CPU寄存器状态进行检查的步骤包括:

4.根据权利要求2所述的可信执行环境实现方法,其特征在于,所述在富执行环境进入可信执行环境时,安全监控器恢复可信执行环境的CPU寄存器状态,并对需要更新的CPU寄存器状态进行检查的步骤还包括:

5.根据权利要求1所述的可信执行环境实现方法,其特征在于,安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤包括:

6.根据权利要求1所述的可信执行环境实现方法,其特征在于,所述安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤还包括:

7.根据权利要求1所述的可信执行环境实现方法,其特征在于,所述安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤还包括:

8.根据权利要求1所述的可信执行环境实现方法,其特征在于,所述安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤还包括:

9.一种计算机设备,包括处理器与存储器,其特征在于,所述处理器上存储有计算机程序,所述计算机程序被所述处理器执行时用于实现权利要求1-8任一项所述的可信执行环境实现方法。

10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的可信执行环境实现方法。

...

【技术特征摘要】

1.一种可信执行环境实现方法,其特征在于,包括:

2.根据权利要求1所述的可信执行环境实现方法,其特征在于,所述在可信执行环境运行时,安全监控器控制富执行环境与所述可信执行环境以及可信执行环境实例之间的状态切换与恢复,并进行安全检查的步骤包括:

3.根据权利要求2所述的可信执行环境实现方法,其特征在于,所述在富执行环境进入可信执行环境时,安全监控器恢复可信执行环境的cpu寄存器状态,并对需要更新的cpu寄存器状态进行检查的步骤包括:

4.根据权利要求2所述的可信执行环境实现方法,其特征在于,所述在富执行环境进入可信执行环境时,安全监控器恢复可信执行环境的cpu寄存器状态,并对需要更新的cpu寄存器状态进行检查的步骤还包括:

5.根据权利要求1所述的可信执行环境实现方法,其特征在于,安全监控器注册一段连续物理内存作为可信内存区,并配置二阶段页表对可信执行环境与富执行环境以及可信执行环境实例之间的内存进行隔离与共享的步骤包括:

6.根据权利要求1所述的可信执行环境实现方法,其特...

【专利技术属性】
技术研发人员:张殷乾王杰
申请(专利权)人:南方科技大学
类型:发明
国别省市:

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

1