本技术涉及计算机,具体地,涉及一种可信执行环境系统。
背景技术:
1、随着计算机技术的不断发展,risc-v作为一种开放标准指令集架构,由于其具有模块化、可扩展和开源的特点,已经越来越多地应用在各种应用场景中,例如嵌入式系统或高性能计算。其中,在信息安全领域中,可信执行环境(trusted execution environment,tee)和常规执行环境(trusted execution environment,ree)分别应用于不同的场景,以满足不同的安全需求,tee的应用主要集中在提供高安全级别的数据处理和保护敏感信息,ree应用于通用的环境。为了提高信息使用安全性,如何对tee和ree之间进行切换显得尤为重要。
2、目前,相关技术中通过物理内存保护(physical memory protection,pmp)机制模拟tee和ree之间的切换,然而pmp改变的只是cpu执行的不同地址空间,cpu的运行状态不会因为pmp的改变而切换到不同的缓存(cache)和转换后备缓冲区(tlb),当tee切换至ree时,如果未正确清理cache)和转换后备缓冲区(tlb),则敏感数据可能会残留在这些微架构组件中,从而导致tee信息存在泄露的风险;为了防止上述信息的泄露,如果手动执行flush&invalidate 操作,可能带来很大的性能开销,降低了整个系统的处理效率。
技术实现思路
1、本技术实施例中提供了一种可信执行环境系统。
2、本技术实施例的第一个方面,提供了一种可行执行环境系统,包括:
3、cpu总线、cpu、翻译后备缓冲器tlb组件、缓存、内存共享寄存器,所述cpu通过所述cpu总线分别与所述tlb组件、所述缓存、所述内存共享寄存器建立连接;
4、所述cpu设置有安全属性寄存器,所述安全属性寄存器用于控制所述cpu的安全属性;所述tlb组件中的tlb条目包括安全属性位,所述安全属性位用于表征所述tlb条目的安全属性;所述缓存中的缓存行包括安全标记位,所述安全标记位用于表征所述缓存行的安全属性;所述内存共享寄存器用于控制共享区域的安全属性;所述安全属性包括安全状态和非安全状态。
5、在本技术一个可选的实施例中,当所述系统处于机器模式时,所述安全属性寄存器用于被配置为安全模式或非安全模式;所述安全模式用于表征所述cpu在安全状态下运行,所述非安全模式用于表征所述cpu在非安全状态下运行;
6、当所述安全属性寄存器被配置为安全模式后,接收并响应于模式切换指令,控制所述系统从所述机器模式切换至监督模式或用户模式,所述cpu在安全状态下运行;
7、当所述安全属性寄存器被配置为非安全模式后,接收并响应于模式切换指令,控制所述系统从所述机器模式切换至监督模式或用户模式,所述cpu在非安全状态下运行。
8、在本技术一个可选的实施例中,所述系统还用于:
9、当所述cpu在安全状态下运行时,将所述tlb组件中产生的tlb条目对应的安全属性位置为“secure”;所述安全属性位为“secure”用于表征所述tlb条目处于安全状态;
10、当所述cpu在非安全状态下运行时,将所述tlb组件中产生的tlb条目对应的安全属性位置为“non-secure”;所述安全属性位为“non-secure”用于表征所述tlb条目处于非安全状态。
11、在本技术一个可选的实施例中,所述系统还用于:
12、当所述cpu在安全状态下运行时,在所述tlb组件中匹配安全状态的tlb条目;
13、当所述cpu在非安全状态下运行时,在所述tlb组件中匹配非安全状态的tlb 条目。
14、在本技术一个可选的实施例中,所述系统还用于:
15、当所述cpu在安全状态下运行时,接收并响应于条目刷新指令,对所述安全状态的tlb条目执行刷新处理;
16、当所述cpu在非安全状态下运行时,接收并响应于条目刷新指令,对所述非安全状态的tlb条目执行刷新处理。
17、在本技术一个可选的实施例中,所述系统还用于:
18、当所述cpu在安全状态下运行时,将新加载到所述缓存行中的数据的安全标记位置为1;所述安全标记位为1表征所述缓存行为安全状态;
19、当所述cpu在非安全状态下运行时,将新加载到缓存中的数据的安全标记位置为0;所述安全标记位为0表征所述缓存行为非安全状态。
20、在本技术一个可选的实施例中,所述系统还用于:
21、当所述cpu在安全状态下运行时,在所述缓存中访问安全状态的缓存行;
22、当所述cpu在非安全状态下运行时,在所述缓存中访问非安全状态的缓存行。
23、在本技术一个可选的实施例中,所述系统还用于:
24、当所述cpu在安全状态下运行时,接收并响应于缓存更新指令,对安全标记位为1的缓存行执行更新处理;
25、当所述cpu在非安全状态下运行时,接收并响应于缓存更新指令,对安全标记位为0的缓存行执行更新处理。
26、在本技术一个可选的实施例中,所述内存共享寄存器包括shm_base寄存器和shm_size寄存器;所述shm_size寄存器用于表征所述共享区域的大小,所述shm_base寄存器用于表征所述共享区域的起始地址;
27、当所述shm_base寄存器的最低比特位被置为1时,表征所述共享区域是使能的;当所述shm_base寄存器的最低比特位被置为0时,表征所述共享区域未使能。
28、在本技术一个可选的实施例中,所述系统还用于:
29、当所述cpu在安全状态下运行时,接收并响应于共享区域访问指令,将共享区域对应的tlb条目中的安全属性位置为“non-secure”,以及将共享区域对应的缓存中的安全标记位置为0;
30、当所述cpu在非安全状态下运行时,接收并响应于共享区域访问指令,将共享区域对应的tlb条目中的安全属性位置为“non-secure”,以及将共享区域对应的缓存中的安全标记位置为0。
31、本技术实施例中的可信执行环境系统包括:cpu总线、cpu、翻译后备缓冲器tlb组件、缓存、内存共享寄存器,cpu通过cpu总线分别与tlb组件、缓存、内存共享寄存器建立连接,安全属性寄存器用于控制cpu的安全属性,tlb组件中的tlb条目包括安全属性位,安全属性位用于表征tlb条目的安全属性,缓存中的缓存行包括安全标记位,安全标记位用于表征缓存行的安全属性,内存共享寄存器用于控制共享区域的安全属性,安全属性包括安全状态和非安全状态。本技术中的技术方案由于在cpu总线、缓存和tlb组件中引入了安全属性,通过在cpu设置安全属性寄存器,并在tlb组件中设置了安全属性位,以及在缓存中设置安全标记位,从而实现了对安全和非安全世界的隔离,不仅减少了安全信息泄露的风险,而且简化了安全状态切换时的管理,降低了性能开销,同时提供了一种高效的共享内存机制,确保了系统在保证安全性的同时,具有较高的灵活性和性能,其不仅可以适用于risc-v架构,还可以推广到其他类似的开放架构中,为未来的安全计算提供了坚实的基础,提高了整个系统处理效率。
1.一种可信执行环境系统,其特征在于,所述可信执行环境系统包括:
2.根据权利要求1所述的系统,其特征在于,当所述系统处于机器模式时,所述安全属性寄存器用于被配置为安全模式或非安全模式;所述安全模式用于表征所述cpu在安全状态下运行,所述非安全模式用于表征所述cpu在非安全状态下运行;
3.根据权利要求1所述的系统,其特征在于,所述系统还用于:
4.根据权利要求1所述的系统,其特征在于,所述系统还用于:
5.根据权利要求4所述的系统,其特征在于,所述系统还用于:
6.根据权利要求1所述的系统,其特征在于,所述系统还用于:
7.根据权利要求1所述的系统,其特征在于,所述系统还用于:
8.根据权利要求1所述的系统,其特征在于,所述系统还用于:
9.根据权利要求1所述的系统,其特征在于,所述内存共享寄存器包括shm_base寄存器和shm_size寄存器;所述shm_size寄存器用于表征所述共享区域的大小,所述shm_base寄存器用于表征所述共享区域的起始地址;
10.根据权利要求1所述的系统,其特征在于,所述系统还用于: