CN117171764A - Risc-v的可信执行环境实现方法、系统及相关设备 - Google Patents
Risc-v的可信执行环境实现方法、系统及相关设备 Download PDFInfo
- Publication number
- CN117171764A CN117171764A CN202311442065.7A CN202311442065A CN117171764A CN 117171764 A CN117171764 A CN 117171764A CN 202311442065 A CN202311442065 A CN 202311442065A CN 117171764 A CN117171764 A CN 117171764A
- Authority
- CN
- China
- Prior art keywords
- eapp
- operating system
- task program
- execution environment
- embedded operating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- QQAHEGDXEXIQPR-UHFFFAOYSA-N 2-(ethylamino)-1-phenylpentan-1-one Chemical compound CCCC(NCC)C(=O)C1=CC=CC=C1 QQAHEGDXEXIQPR-UHFFFAOYSA-N 0.000 claims abstract description 106
- 102100032262 E2F-associated phosphoprotein Human genes 0.000 claims abstract description 106
- 101710155837 E2F-associated phosphoprotein Proteins 0.000 claims abstract description 106
- 230000006870 function Effects 0.000 claims abstract description 69
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Storage Device Security (AREA)
Abstract
本发明适用于应用程序安全保护技术领域,尤其涉及一种RISC‑V的可信执行环境实现方法、系统及相关设备,所述方法包括:在Machine‑Mode下运行安全监控器,并在User‑Mode下运行有多任务程序的嵌入式操作系统;将EAPP部署于嵌入式操作系统,并将EAPP对应承载至多任务程序中;在嵌入式操作系统中进行多任务程序的切换,并判断切换到的多任务程序是否承载EAPP,若是:调用切换函数,将切换函数传输给安全监控器;通过安全监控器对EAPP所要访问的物理内存空间的权限进行修改,并在作系统中运行承载EAPP的多任务程序。本发明提高了可信执行环境的可推广性和安全性。
Description
技术领域
本发明适用于应用程序安全保护技术领域,尤其涉及一种RISC-V的可信执行环境实现方法、系统及相关设备。
背景技术
可信执行环境(Trusted Execution Environment,简称TEE)是一种基于RISC-V指令集架构的软件与硬件设计结合的应用程序环境,具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。可信执行环境的基本思想是在硬件中为安全数据单独分配一块隔离的内存,所有安全数据的计算均在这块隔离的内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息,以此来实现安全数据的隐私计算。
Keystone是一个相关技术中较常用于RISC-V处理器的开源TEE框架。Keystone一共使用了User-mode、Supervisor-mode、Machine-mode三个特权等级,其中,Machine-mode下运行着安全监控器(Security Monitor,简称SM),负责设置平台的资源访问权限,并监控其运行状态,Supervisor-mode下运行着操作系统,User-mode下运行着用户多任务,SM作为最高等级的监控器,其用于切换运行操作系统和用户任务。
Keystone的软件架构如图1所示,如上所述,这样的方案必须基于三个特权等级的芯片架构,使应用程序的适配开发较为复杂,对开发人员的技术要求也比较高;其次,从实用性的角度,Keystone的方案目前不能支持运行FreeRTOS(一种基于Linux的轻量级嵌入式操作系统)等嵌入式操作系统,无法应用在基于FreeRTOS的应用程序环境,可扩展性比较局限;另一方面,Keystone方案采用的由SM切换操作系统和EAPP(Enclave App,飞地应用)的运行方式,使用SM切换并不适用于多应用的情况,调度任务越多,SM的逻辑和处理流程就越复杂,SM运行越不安全。
因此,有必要提出一种新的可信执行环境实现方法来解决上述问题。
发明内容
本发明提供一种RISC-V的可信执行环境实现方法、系统及相关设备,旨在解决现有技术在RISC-V中运行操作系统和多应用时的调度方案难、流程复杂的技术问题。
第一方面,本发明提供一种RISC-V的可信执行环境实现方法,所述可信执行环境实现方法包括以下步骤:
在Machine-Mode下运行安全监控器,并在User-Mode下运行嵌入式操作系统,其中,所述嵌入式操作系统中运行有多任务程序;
将EAPP部署于所述嵌入式操作系统,并将所述EAPP对应承载至所述多任务程序中;
在所述嵌入式操作系统中进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若是;
调用切换函数,将所述切换函数传输给所述安全监控器;通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改,并在所述嵌入式操作系统中运行承载了所述EAPP的所述多任务程序。
更进一步地,所述切换函数为ECALL函数。
更进一步地,所述调用切换函数,将所述切换函数传输给所述安全监控器的步骤,具体为:
确定所述EAPP运行时所需的物理内存空间的权限,并以控制所述物理内存空间的访问权限的寄存器和操作函数作为参数来调用所述切换函数;
将所述切换函数传输给所述安全监控器。
更进一步地,通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改的步骤,具体为:
在所述安全监控器中根据所述切换函数进行入参判断,以获取所述寄存器和所述操作函数,之后,通过所述安全监控器对所述寄存器的值进行修改,使得承载了所述EAPP的所述多任务程序能够根据权限对所述物理内存空间按照所述操作函数进行访问。
更进一步地,所述可信执行环境实现方法还包括以下步骤:
在承载了所述EAPP的所述多任务程序运行时进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若否:
保存所述EAPP的上下文信息;或,
通过所述安全监控器对所述EAPP所访问的物理内存空间的权限进行修改,使得所述多任务程序无法访问所述物理内存空间。
第二方面,本发明还提供一种RISC-V的可信执行环境实现系统,包括:
第一初始化模块,用于在Machine-Mode下运行安全监控器,并在User-Mode下运行嵌入式操作系统,其中,所述嵌入式操作系统中运行有多任务程序;
第二初始化模块,用于将EAPP部署于所述嵌入式操作系统,并将所述EAPP对应承载至所述多任务程序中;
切换模块,用于在所述嵌入式操作系统中进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若是,执行运行模块;
运行模块,用于调用切换函数,将所述切换函数传输给所述安全监控器;通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改,并在所述嵌入式操作系统中运行承载了所述EAPP的所述多任务程序。
第三方面,本发明还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的RISC-V的可信执行环境实现程序,所述处理器执行所述RISC-V的可信执行环境实现程序时实现如上述实施例中任意一项所述的RISC-V的可信执行环境实现方法中的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有RISC-V的可信执行环境实现程序,所述RISC-V的可信执行环境实现程序被处理器执行时实现如上述实施例中任意一项所述的RISC-V的可信执行环境实现方法中的步骤。
本发明所达到的有益效果,在于提出了一种RISC-V中基于Machine-Mode和User-Mode实现的可信执行环境的设计,并在这个环境中实现了嵌入式操作系统的运行,其中的嵌入式操作系统运行在User-Mode下并对普通的多任务程序和承载了EAPP的任务之间进行调度切换任务,操作系统和EAPP相关的中断也由切换函数实现的中断转发机制实现了自行处理,减小了运行于Machine-Mode下的安全监控器的应用复杂性和调用频率,提高了可信执行环境的可推广性和安全性。
附图说明
图1是相关技术的Keystone软件架构示意图;
图2是本发明实施例提供的RISC-V的可信执行环境实现方法的步骤流程框图;
图3是本发明实施例提供的可信执行环境的示意图;
图4是本发明实施例提供的RISC-V的可信执行环境实现系统的结构示意图;
图5是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图2,图2是本发明实施例提供的RISC-V的可信执行环境实现方法的步骤流程框图,所述可信执行环境实现方法包括以下步骤:
S101、在Machine-Mode下运行安全监控器,并在User-Mode下运行嵌入式操作系统,其中,所述嵌入式操作系统中运行有多任务程序。
S102、将EAPP部署于所述嵌入式操作系统,并将所述EAPP对应承载至所述多任务程序中。
S103、在所述嵌入式操作系统中进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若是,执行步骤S104。
S104、调用切换函数,将所述切换函数传输给所述安全监控器;通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改,并在所述嵌入式操作系统中运行承载了所述EAPP的所述多任务程序。
具体的,请参照图3,图3是本发明实施例提供的可信执行环境的示意图,本发明实施例中以FreeRTOS作为所述嵌入式操作系统的实施示例,具体运行的操作系统类型可以根据实际需要进行选择。在本发明实施例构建的可信执行环境中,安全监控器(SecurityMonitor,简称SM)运行于Machine-Mode下,而所述嵌入式操作系统运行于User-Mode下,所述多任务程序是直接运行于所述嵌入式操作系统中的;与之相对的,本发明实施例中的EAPP(飞地应用)也运行于User-Mode下,且每一个EAPP由一个单独的多任务程序进行承载,实现由所述嵌入式操作系统进行直接的调度。其中,物理内存空间的权限时是相对于EAPP而言的,本发明实施例中的设计,是将多个需要在可信执行环境下执行的EAPP,打包到嵌入式操作系统的不同任务中,通过初始化由安全监控器设置好的所有权限之后,再变化特权模式,由嵌入式操作系统来进行运行和调度。
EAPP是可信执行环境中的安全应用程序,其所在的物理内存空间和对应的访问权限是被严格限制的,一般的,基于RISC-V指令集架构的芯片一般将嵌入式操作系统设置在Supervisor-Mode下运行。而本发明实施例中将嵌入式操作系统移动到了User-Mode下,提高了环境的可信度,简化了环境的应用开发。由于User-Mode下是无法直接处理中断的,因此需要通过一种新的中断转发机制来处理不同特权模式下的中断处理问题。
本发明实施例中的所述嵌入式操作系统能够在多任务程序和EAPP之间进行调度,基于步骤S103-S104,所述嵌入式操作系统从多任务程序切换运行至承载了EAPP的程序时,涉及到了切换的EAPP对可信执行环境下飞地(enclave)的物理内存空间的访问权限(读、写、执行等)问题,而本发明实施例中通过所述嵌入式操作系统调用的函数来触发特权切换,让具有变更物理内存空间的访问权限能力的所述安全监控器对当前EAPP可访问的物理地址空间进行设置,使得EAPP能够按照设置的访问权限访问对应的物理内存空间,实现EAPP的正常运行。
本发明实施例中的所述切换函数为ECALL函数。
本发明实施例中,调用切换函数,将所述切换函数传输给所述安全监控器的步骤,具体为:
确定所述EAPP运行时所需的物理内存空间的权限,并以控制所述物理内存空间的访问权限的寄存器和操作函数作为参数来调用所述切换函数;
将所述切换函数传输给所述安全监控器。
通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改的步骤,具体为:
在所述安全监控器中根据所述切换函数进行入参判断,以获取所述寄存器和所述操作函数,之后,通过所述安全监控器对所述寄存器的值进行修改,使得承载了所述EAPP的所述多任务程序能够根据权限对所述物理内存空间按照所述操作函数进行访问。
具体的,由于User-Mode的所述嵌入式操作系统不能操作Machine-Mode下的用于确定物理内存空间访问权限的寄存器,因此本发明实施例设计了通过软件调用ECALL函数的方式,并由所述安全监控器来处理该函数,对寄存器的读写操作以及寄存器的名字作为参数传入函数,Machine-Mode下的所述安全监控器完成ECALL函数的处理,并返回结果给User-Mode的所述嵌入式操作系统的中承载了EAPP的多任务程序,从而实现所述嵌入式操作系统下EAPP的运行。
示例性的,在FreeRTOS中切换到的EAPP需要对hartid寄存器的读操作权限,此时由FreeRTOS调用ECALL函数,并传入hartid寄存器的操作指令,安全监控器接收到ECALL函数后,通过ECALL的异常处理函数通过入参判断并跳转hartid的操作函数,退出中断时将结果返回,使得User-Mode下的FreeRTOS程序由此获取到了Machine-Mode下的hartid寄存器有效值。
所述可信执行环境实现方法还包括以下步骤:
在承载了所述EAPP的所述多任务程序运行时进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若否:
保存所述EAPP的上下文信息;或,
通过所述安全监控器对所述EAPP所访问的物理内存空间的权限进行修改,使得所述多任务程序无法访问所述物理内存空间。
本发明实施例中构建的可信执行环境是使得所述嵌入式操作系统对普通的多任务程序和承载了EAPP的多任务程序之间相互调用的设计,因此,上述步骤实际是实现了在已运行的承载了EAPP的多任务程序切换回普通的多任务程序时所执行的操作。所述上下文信息是程序运行阶段产生的文件,如果EAPP正在运行时产生了任务切换,则对EAPP的上下文信息进行保存。通过这样的设计,在后续过程中再切换到这个承载任务时,再恢复对应的上下文信息来继续执行对应的EAPP,从而完善了不同任务的中断恢复处理;此外,当切换出不承载EAPP的多任务程序时,还需要对原本的物理内容空间的访问权限进行修改,以符合可信执行环境的设定。
相较于现有技术,本发明实施例通过EAPP参与到嵌入式操作系统的任务切换来替代Keystone提出的由安全监控器一直监控运行并需实时主动切换操作系统和EAPP的方案,由于Keystone方案中在操作系统或EAPP的每一次切换都需要安全监控器运行,使得其运行频率高、因此遭受攻击的可能性更大;而本发明实施例提出的方案,由操作系统的多个任务程序一对一承载所有的EAPP,在操作系统的每一次切换时,会判断任务是否承载了EAPP,并在承载了EAPP的情况下,才通过调用函数通知更高特权级别的安全监控器以更改当前访问的物理内容空间的权限,再跳转至对应EAPP运行;对应的,在运行操作系统的应用时,对应的飞地内容空间会受到访问权限限制。这样的设计减少了可信执行环境中应用切换时安全监控器的运行次数,很大程度上提高了可信执行环境的应用性,同时也使安全监控器更加简单化,更符合了可信执行环境的安全规范。并且,基于这样的设计,不仅保证了可信执行环境中所有EAPP的安全运行、切换,还可使用现有的嵌入式操作系统,如FreeRTOS的抢占式调度、轮询调度、时间片调度等多种成熟的调度方案,在开发人员对EAPP等程序进行开发时,也能够按照FreeRTOS的开发方式进行,并兼顾对应的操作系统特性,有利于提高开发人员的工作效率。
本发明所达到的有益效果,在于提出了一种RISC-V中基于Machine-Mode和User-Mode实现的可信执行环境的设计,并在这个环境中实现了嵌入式操作系统的运行,其中的嵌入式操作系统运行在User-Mode下并对普通的多任务程序和承载了EAPP的任务之间进行调度切换任务,操作系统和EAPP相关的中断也由切换函数实现的中断转发机制实现了自行处理,减小了运行于Machine-Mode下的安全监控器的应用复杂性和调用频率,提高了可信执行环境的可推广性和安全性。
本发明实施例还提供一种RISC-V的可信执行环境实现系统,请参照图4,图4是本发明实施例提供的RISC-V的可信执行环境实现系统的结构示意图,其包括:
第一初始化模块201,用于在Machine-Mode下运行安全监控器,并在User-Mode下运行嵌入式操作系统,其中,所述嵌入式操作系统中运行有多任务程序;
第二初始化模块202,将EAPP部署于所述嵌入式操作系统,并将所述EAPP对应承载至所述多任务程序中;
切换模块203,用于在所述嵌入式操作系统中进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若是,执行运行模块204;
运行模块204,用于调用切换函数,将所述切换函数传输给所述安全监控器;通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改,并在所述嵌入式操作系统中运行承载了所述EAPP的所述多任务程序。
所述RISC-V的可信执行环境实现系统200能够实现如上述实施例中的RISC-V的可信执行环境实现方法中的步骤,且能实现同样的技术效果,参上述实施例中的描述,此处不再赘述。
本发明实施例还提供一种计算机设备,请参照图5,图5是本发明实施例提供的计算机设备的结构示意图,所述计算机设备300包括:存储器302、处理器301及存储在所述存储器302上并可在所述处理器301上运行的RISC-V的可信执行环境实现程序。
所述处理器301调用所述存储器302存储的RISC-V的可信执行环境实现程序,执行本发明实施例提供的RISC-V的可信执行环境实现方法中的步骤,请结合图2,具体包括以下步骤:
S101、在Machine-Mode下运行安全监控器,并在User-Mode下运行嵌入式操作系统,其中,所述嵌入式操作系统中运行有多任务程序;
S102、将EAPP部署于所述嵌入式操作系统,并将所述EAPP对应承载至所述多任务程序中;
S103、在所述嵌入式操作系统中进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若是,执行步骤S104;
S104、调用切换函数,将所述切换函数传输给所述安全监控器;通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改,并在所述嵌入式操作系统中运行承载了所述EAPP的所述多任务程序。
更进一步地,所述切换函数为ECALL函数。
更进一步地,所述调用切换函数,将所述切换函数传输给所述安全监控器的步骤,具体为:
确定所述EAPP运行时所需的物理内存空间的权限,并以控制所述物理内存空间的访问权限的寄存器和操作函数作为参数来调用所述切换函数;
将所述切换函数传输给所述安全监控器。
更进一步地,通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改的步骤,具体为:
在所述安全监控器中根据所述切换函数进行入参判断,以获取所述寄存器和所述操作函数,之后,通过所述安全监控器对所述寄存器的值进行修改,使得承载了所述EAPP的所述多任务程序能够根据权限对所述物理内存空间按照所述操作函数进行访问。
更进一步地,所述可信执行环境实现方法还包括以下步骤:
在承载了所述EAPP的所述多任务程序运行时进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若否:
保存所述EAPP的上下文信息;或,
通过所述安全监控器对所述EAPP所访问的物理内存空间的权限进行修改,使得所述多任务程序无法访问所述物理内存空间。
本发明实施例提供的计算机设备300能够实现如上述实施例中的RISC-V的可信执行环境实现方法中的步骤,且能实现同样的技术效果,参上述实施例中的描述,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有RISC-V的可信执行环境实现程序,该RISC-V的可信执行环境实现程序被处理器执行时实现本发明实施例提供的RISC-V的可信执行环境实现方法中的各个过程及步骤,且能实现相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过RISC-V的可信执行环境实现程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,简称RAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,所揭露的仅为本发明较佳实施例而已,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式用等同变化,均属于本发明的保护之内。
Claims (8)
1.一种RISC-V的可信执行环境实现方法,其特征在于,所述可信执行环境实现方法包括以下步骤:
在Machine-Mode下运行安全监控器,并在User-Mode下运行嵌入式操作系统,其中,所述嵌入式操作系统中运行有多任务程序;
将EAPP部署于所述嵌入式操作系统,并将所述EAPP对应承载至所述多任务程序中;
在所述嵌入式操作系统中进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若是:
调用切换函数,将所述切换函数传输给所述安全监控器;通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改,并在所述嵌入式操作系统中运行承载了所述EAPP的所述多任务程序。
2.如权利要求1所述的RISC-V的可信执行环境实现方法,其特征在于,所述切换函数为ECALL函数。
3.如权利要求2所述的RISC-V的可信执行环境实现方法,其特征在于,所述调用切换函数,将所述切换函数传输给所述安全监控器的步骤,具体为:
确定所述EAPP运行时所需的物理内存空间的权限,并以控制所述物理内存空间的访问权限的寄存器和操作函数作为参数来调用所述切换函数;
将所述切换函数传输给所述安全监控器。
4.如权利要求3所述的RISC-V的可信执行环境实现方法,其特征在于,通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改的步骤,具体为:
在所述安全监控器中根据所述切换函数进行入参判断,以获取所述寄存器和所述操作函数,之后,通过所述安全监控器对所述寄存器的值进行修改,使得承载了所述EAPP的所述多任务程序能够根据权限对所述物理内存空间按照所述操作函数进行访问。
5.如权利要求1所述的RISC-V的可信执行环境实现方法,其特征在于,所述可信执行环境实现方法还包括以下步骤:
在承载了所述EAPP的所述多任务程序运行时进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若否:
保存所述EAPP的上下文信息;或,
通过所述安全监控器对所述EAPP所访问的物理内存空间的权限进行修改,使得所述嵌入式操作系统无法访问所述物理内存空间。
6.一种RISC-V的可信执行环境实现系统,其特征在于,包括:
第一初始化模块,用于在Machine-Mode下运行安全监控器,并在User-Mode下运行嵌入式操作系统,其中,所述嵌入式操作系统中运行有多任务程序;
第二初始化模块,用于将EAPP部署于所述嵌入式操作系统,并将所述EAPP对应承载至所述多任务程序中;
切换模块,用于在所述嵌入式操作系统中进行所述多任务程序的切换,并判断切换到的所述多任务程序是否承载所述EAPP,若是,执行运行模块;
运行模块,用于调用切换函数,将所述切换函数传输给所述安全监控器;通过所述安全监控器对所述EAPP所要访问的物理内存空间的权限进行修改,并在所述嵌入式操作系统中运行承载了所述EAPP的所述多任务程序。
7.一种计算机设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的RISC-V的可信执行环境实现程序,所述处理器执行所述RISC-V的可信执行环境实现程序时实现如权利要求1-5中任意一项所述的RISC-V的可信执行环境实现方法中的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有RISC-V的可信执行环境实现程序,所述RISC-V的可信执行环境实现程序被处理器执行时实现如权利要求1-5中任意一项所述的RISC-V的可信执行环境实现方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311442065.7A CN117171764A (zh) | 2023-11-01 | 2023-11-01 | Risc-v的可信执行环境实现方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311442065.7A CN117171764A (zh) | 2023-11-01 | 2023-11-01 | Risc-v的可信执行环境实现方法、系统及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117171764A true CN117171764A (zh) | 2023-12-05 |
Family
ID=88947112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311442065.7A Pending CN117171764A (zh) | 2023-11-01 | 2023-11-01 | Risc-v的可信执行环境实现方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171764A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651778A (zh) * | 2020-05-26 | 2020-09-11 | 上海交通大学 | 基于risc-v指令架构的物理内存隔离方法 |
CN114722404A (zh) * | 2022-06-09 | 2022-07-08 | 睿思芯科(深圳)技术有限公司 | 基于risc-v实现任意数量eapp的方法、系统 |
US20230177148A1 (en) * | 2021-12-08 | 2023-06-08 | Microsoft Technology Licensing, Llc | Liveness guarantees in secure enclaves using health tickets |
CN116578341A (zh) * | 2023-04-28 | 2023-08-11 | 平头哥(上海)半导体技术有限公司 | 处理器、中断隔离方法、指令模拟方法、片上系统及设备 |
-
2023
- 2023-11-01 CN CN202311442065.7A patent/CN117171764A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651778A (zh) * | 2020-05-26 | 2020-09-11 | 上海交通大学 | 基于risc-v指令架构的物理内存隔离方法 |
US20230177148A1 (en) * | 2021-12-08 | 2023-06-08 | Microsoft Technology Licensing, Llc | Liveness guarantees in secure enclaves using health tickets |
CN114722404A (zh) * | 2022-06-09 | 2022-07-08 | 睿思芯科(深圳)技术有限公司 | 基于risc-v实现任意数量eapp的方法、系统 |
CN116578341A (zh) * | 2023-04-28 | 2023-08-11 | 平头哥(上海)半导体技术有限公司 | 处理器、中断隔离方法、指令模拟方法、片上系统及设备 |
Non-Patent Citations (1)
Title |
---|
ALEX THOMAS: "Enclaves in Real-Time Operating Systems", HTTP://WWW2.EECS.BERKELEY.EDU/PUBS/TECHRPTS/2021/EECS-2021-134.HTML, pages 1 - 32 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2323064B1 (en) | Computing system using single operating system to provide normal security services and high security services, and methods thereof | |
KR100934533B1 (ko) | 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
US8161453B2 (en) | Method and apparatus for implementing task management of computer operations | |
US6820155B1 (en) | Interruption managing device and interruption managing method | |
CN101361036B (zh) | 变更虚拟机监控器中的调度器的方法和装置 | |
US20020161957A1 (en) | Methods and systems for handling interrupts | |
US8245231B2 (en) | Method of launching low-priority tasks | |
EP0955581A1 (en) | Software interrupt mechanism | |
US20060155552A1 (en) | Event handling mechanism | |
US20040098722A1 (en) | System, method, and computer program product for operating-system task management | |
CN109117253B (zh) | 一种微内核调度的方法和装置 | |
Hahm et al. | Reliable real-time operating system for IoT devices | |
CN113535341B (zh) | Linux下CPU核间中断通信的实现方法及装置 | |
Staschulat et al. | Budget-based real-time executor for micro-ros | |
CN117171764A (zh) | Risc-v的可信执行环境实现方法、系统及相关设备 | |
JP2008537248A (ja) | デジタルシグナルプロセッサ上でのマルチタスクの実施 | |
CN115202807A (zh) | 云桌面黑白名单控制方法、装置和设备 | |
US20220283848A1 (en) | Enabling modern standby for unsupported applications | |
CN112559117B (zh) | 定时器处理方法、装置、电子设备及计算机存储介质 | |
CN114610485A (zh) | 资源处理系统以及方法 | |
Jipping | Smartphone Operating System Concepts with Symbian OS | |
CN111788555B (zh) | 数据处理装置和方法 | |
NL1025169C2 (nl) | Procesmobiliteitsprotocol. | |
US11874722B2 (en) | Applying modern standby configurations on a per-application basis | |
CN113296900A (zh) | 一种任务切换方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |