CN105787353A - 可信应用管理系统及可信应用的加载方法 - Google Patents
可信应用管理系统及可信应用的加载方法 Download PDFInfo
- Publication number
- CN105787353A CN105787353A CN201410794750.0A CN201410794750A CN105787353A CN 105787353 A CN105787353 A CN 105787353A CN 201410794750 A CN201410794750 A CN 201410794750A CN 105787353 A CN105787353 A CN 105787353A
- Authority
- CN
- China
- Prior art keywords
- trusted application
- execution module
- security kernel
- credible
- loading
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提出一种可信应用管理系统,将每个可信应用作为单独的文件,使得普通执行模块在运行时可以动态的向可信执行模块请求需要使用的可信应用,安全内核对该可信应用进行加载,即对所述可信应用的加载进行于可信应用管理系统运行的过程中。利用所述可信应用管理系统,本发明还提供一种可信应用的加载方法以实现动态加载过程,可以提高系统的灵活性和可扩展性,减少系统启动时间。
Description
技术领域
本发明涉及软件领域,尤其涉及一种可信应用管理系统及可信应用的加载方法。
背景技术
基于TrustZone/TEE技术的嵌入式系统的所有软硬件被划分为REE(RichExecutionEnvironment)系统和TEE(TrustedExecutionEnvironment)系统两部分。TEE系统是安全、可信的系统,它的资源不能被REE系统访问。可信应用运行在安全内核(TEEkernel)之上,为REE系统提供安全相关的服务。
现有的方案一般是将所有的可信应用和TEEkernel一起做成一个镜像文件保存到非易失性存储器中,在TEEkernel启动初始化时加载所有的可信应用。其加载环节如图1所示。即首先通过BootRom实现远程无盘启动,然后运行TEEbootloader,为系统初始化准备好正确的环境;之后TEEkernel启动并加载所有的可信应用,再启动REE系统。由此可见,现有技术是在TEE启动时即加载运行所有可信应用;另外,考虑到现有技术是将所有的可信应用和TEEkernel做成一个镜像文件,因此存在以下缺点:
修改、增加、删除一个可信应用都需要重新制作镜像文件,在产品开发阶段严重影响开发效率,在产品使用后升级会有升级失败、破坏TEEkernel和其它可信应用的风险;相对于系统正常运行时按需加载可信应用,在TEEkernel启动时加载所有可信应用会增加系统的启动时间,也过早的为所有可信应用分配系统资源。
发明内容
为解决现有技术存在的问题,本发明提供一种可信应用管理系统,包括
多个可信应用,存储于非易失性存储器中;
普通执行模块,用于发出加载可信应用的命令;以及
可信执行模块,包括安全内核,所述安全内核用于加载及调度管理所述可信应用;
其中,当所述安全内核加载所述可信应用成功后,向所述普通执行模块返回加载成功的信息。
可选的,所述可信应用为经过压缩、加密和数字签名的文件,在所述安全内核加载所述可信应用之前,先对所述可信应用进行数字签名验证、解密以及解压。
可选的,所述的可信应用管理系统还包括
共享存储区,可被所述普通执行模块和所述可信执行模块访问,用于存储预加载的可信应用;以及
可信存储区,只可被所述可信执行模块访问,用于存储所述经过数字签名验证后、解密后以及解压后的可信应用。
本发明还提供一种可信应用的加载方法,包括
将预加载的可信应用从存储于多个可信应用的非易失性存储器中调出;
普通执行模块发出加载可信应用的命令;
可信执行模块通过其安全内核加载所述可信应用;以及
所述安全内核加载所述可信应用成功后,向所述普通执行模块返回加载成功的信息。
可选的,可信应用从存储于多个可信应用的非易失性存储器中调出,普通执行模块将所述可信应用存储到共享存储区中,所述共享存储区可被所述普通执行模块和所述可信执行模块访问。
可选的,对所述可信应用的加载进行于可信应用管理系统运行的过程中。
可选的,所述可信应用为经过压缩、加密和数字签名的文件,在所述安全内核加载所述可信应用之前,先对所述可信应用进行数字签名验证、解密以及解压。
可选的,若数字签名验证成功,则所述安全内核解密所述可信应用;若数字签名验证失败,则所述安全内核向所述普通执行模块返回验证失败的消息。
可选的,若解压失败,则所述安全内核向所述普通执行模块返回解压失败的消息;若解压成功,则所述安全内核加载所述可信应用。
可选的,对所述可信应用的压缩采取DEFLATE算法。
本发明提出的可信应用管理系统将每个可信应用作为单独的文件,使得普通执行模块在运行时可以动态的向可信执行模块请求需要使用的可信应用(TrustedApplication),安全内核(TEEkernel)对该可信应用进行加载,即对所述可信应用的加载进行于可信应用管理系统运行的过程中,如此可以提高系统的灵活性和可扩展性,减少系统启动时间。
附图说明
图1为现有技术中可信应用管理系统运行的流程图。
图2为本发明一实施例所述可信应用管理系统运行的流程图。
图3为本发明一实施例所述可信应用管理系统的结构示意图。
图4为本发明一实施例所述可信应用的加载方法的大致流程图。
图5为本发明一实施例所述可信应用的加载方法的具体流程图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
鉴于现有技术存在的问题,发明人想到将每个可信应用作为单独的文件,提出一种可信应用管理系统,使得REE系统在运行时可以动态的向TEE系统请求需要使用的可信应用(TrustedApplication),安全内核(TEEkernel)对该可信应用进行加载,即对所述可信应用的加载进行于可信应用管理系统运行的过程中,如此可以提高系统的灵活性和可扩展性,减少系统启动时间。
如图3所示,本发明可信应用管理系统的结构包括多个可信应用,本实施例以两个可信应用,即可信应用31和可信应用32为例进行说明,多个可信应用均存储于非易失性存储器30中。可信应用管理系统还包括普通执行模块100和可信执行模块200,普通执行模块100用于发出加载可信应用的命令,可信执行模块200包括安全内核210,所述安全内核210用于加载及调度管理所述可信应用。
在本实施例中,普通执行模块100为REE(RichExecutionEnvironment),可信执行模块200为TEE(TrustedExecutionEnvironment),但本发明不以此为限。
可信应用为经过压缩、加密和数字签名的文件,在所述安全内核210加载可信应用之前,先对可信应用进行数字签名验证、解密以及解压。因为为了实现每个可信应用作为单独的文件,在系统正常运行时按需动态加载,编译链接后的二进制可信应用需要进行压缩、加密和数字签名等处理步骤。加密是为了保护机密性,这是因为可信应用是存放在非易失性存储器30中的,如eMMC、NandFlash,可以被REE系统读取,或者被eMMC/NandFlash读写器读取。可信应用发行方需要使用它的私钥对可信应用进行数字签名,以保证可信应用的完整性和真实性。为了减少对可信应用加密和数字签名的时间开销,以及系统加载可信应用前的签名验证和解密的时间开销,先对可信应用进行压缩后再进行加密和数字签名。
可信应用管理系统还包括共享存储区20和可信存储区10,其中共享存储区20和可被普通执行模块100和所述可信执行模块200访问,用于存储预加载的可信应用;可信存储区10只可被所述可信执行模块200访问,用于存储所述经过数字签名验证后、解密后以及解压后的可信应用。
本发明提供的可信应用的加载方法如图4所示,包括
S1:将预加载的可信应用从存储于多个可信应用的非易失性存储器30中调出。具体的,由于本发明的可信应用管理系统包括共享存储区20,REE系统从非易失性存储器30中加载经压缩、加密和数字签名的可信应用到共享存储区20。
然后进行步骤S2:普通执行模块100发出加载可信应用的命令。所述可信应用由于为经过压缩、加密和数字签名的文件,在所述安全内核210加载可信应用之前,先对可信应用进行数字签名验证、解密以及解压。其中,对于数字签名验证和解密过程:若数字签名验证成功,则所述安全内核210解密所述可信应用;若数字签名验证失败,则所述安全内核210向所述普通执行模块100返回验证失败的消息。对于解压过程:若解压失败,则所述安全内核210向普通执行模块100返回解压失败的消息;若解压成功,则所述安全内核210加载可信应用。
接着进行步骤S3,可信执行模块200通过其安全内核210加载所述可信应用。
最后进行步骤S4:所述安全内核210加载所述可信应用成功后,向所述普通执行模块100返回加载成功的信息。
下面以一个具体例子详细说明本发明提供的可信应用的加载方法的运行过程,本实施例中普通执行模块100为REE(RichExecutionEnvironment),可信执行模块200为TEE(TrustedExecutionEnvironment)。如图5所示,本实施例包括以下步骤:
1.REE系统从非易失性存储中加载经压缩、加密和数字签名的可信应用到共享RAM;
2.REE系统向TEEkernel发出加载该可信应用的请求消息。对可信应用的加载是由TEEkernel执行的;
3.TEEkernel验证可信应用的数字签名;
如果验证签名失败,TEEkernel向REE系统返回验证失败的消息,流程结束;
如果验证签名成功,TEEkernel解密可信应用,将解出的明文可信应用放到可信RAM中。这是因为明文可信应用是不能被REE系统访问的;
4.TEEkernel解压可信应用。解压后的可信应用也是放到可信RAM中的;
如果解压失败,TEEkernel向REE系统返回解压失败的消息,流程结束;
如果解压成功,TEEkernel加载运行可信应用。加载后的可信应用是可以被TEEkernel调度管理的;
5.TEEkernel向REE系统返回加载成功的消息,流程结束。
优选方案中,对可信应用的压缩可以采用DEFLATE算法;加密采用AES-CBC算法,秘钥长度128bits;数字签名采用RSA-PKCS1-PSS-MGF1-SHA1方案,秘钥长度2048bits。非易失性存储可使用eMMC;共享RAM采用DDR;可信RAM采用专用的片内SRAM,或者经过硬件保护的一个DDR安全区域。
采用此发明后,可信应用管理系统运行如图2所示。即首先通过BootRom实现远程无盘启动,然后运行TEEbootloader,为系统初始化准备好正确的环境;之后TEEkernel启动。与现有技术不同的是,此时并不加载所有的可信应用,而是接着直接启动REE系统,完成整个启动流程。当启动完成,系统正常运行时,如有需要则按需要动态加载特定的可信应用。此方法具有以下优点:
1.每个可信应用都是一个单独的文件,可在系统正常运行时按需动态加载。而不需要将所有可信应用做一个镜像文件中。这在产品开发中和使用过程中升级都具有灵活性高、扩展性强等优势;
2.在系统正常运行时,而不是系统启动时加载可信应用,减少了系统启动时间。
本发明提出的可信应用管理系统,将每个可信应用作为单独的文件,使得REE系统在运行时可以动态的向TEE系统请求需要使用的可信应用(TrustedApplication),安全内核(TEEkernel)对该可信应用进行加载,即对所述可信应用的加载进行于可信应用管理系统运行的过程中,如此可以提高系统的灵活性和可扩展性,减少系统启动时间。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种可信应用管理系统,其特征在于,包括
多个可信应用,存储于非易失性存储器中;
普通执行模块,用于发出加载可信应用的命令;以及
可信执行模块,包括安全内核,所述安全内核用于加载及调度管理所述可信应用;
其中,当所述安全内核加载所述可信应用成功后,向所述普通执行模块返回加载成功的信息。
2.如权利要求1所述的可信应用管理系统,其特征在于,所述可信应用为经过压缩、加密和数字签名的文件,在所述安全内核加载所述可信应用之前,先对所述可信应用进行数字签名验证、解密以及解压。
3.如权利要求2所述的可信应用管理系统,其特征在于,还包括
共享存储区,可被所述普通执行模块和所述可信执行模块访问,用于存储预加载的可信应用;以及
可信存储区,只可被所述可信执行模块访问,用于存储所述经过数字签名验证后、解密后以及解压后的可信应用。
4.一种可信应用的加载方法,其特征在于,包括
将预加载的可信应用从存储于多个可信应用的非易失性存储器中调出;
普通执行模块发出加载可信应用的命令;
可信执行模块通过其安全内核加载所述可信应用;以及
所述安全内核加载所述可信应用成功后,向所述普通执行模块返回加载成功的信息。
5.如权利要求4所述的可信应用的加载方法,其特征在于,可信应用从存储于多个可信应用的非易失性存储器中调出,普通执行模块将所述可信应用存储到共享存储区中,所述共享存储区可被所述普通执行模块和所述可信执行模块访问。
6.如权利要求4所述的可信应用的加载方法,其特征在于,对所述可信应用的加载进行于可信应用管理系统运行的过程中。
7.如权利要求4所述的可信应用的加载方法,其特征在于,所述可信应用为经过压缩、加密和数字签名的文件,在所述安全内核加载所述可信应用之前,先对所述可信应用进行数字签名验证、解密以及解压。
8.如权利要求7所述的可信应用的加载方法,其特征在于,若数字签名验证成功,则所述安全内核解密所述可信应用;若数字签名验证失败,则所述安全内核向所述普通执行模块返回验证失败的消息。
9.如权利要求7所述的可信应用的加载方法,其特征在于,若解压失败,则所述安全内核向所述普通执行模块返回解压失败的消息;若解压成功,则所述安全内核加载所述可信应用。
10.如权利要求7所述的可信应用的加载方法,其特征在于,对所述可信应用的压缩采取DEFLATE算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410794750.0A CN105787353A (zh) | 2014-12-17 | 2014-12-17 | 可信应用管理系统及可信应用的加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410794750.0A CN105787353A (zh) | 2014-12-17 | 2014-12-17 | 可信应用管理系统及可信应用的加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105787353A true CN105787353A (zh) | 2016-07-20 |
Family
ID=56385506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410794750.0A Pending CN105787353A (zh) | 2014-12-17 | 2014-12-17 | 可信应用管理系统及可信应用的加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105787353A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951771A (zh) * | 2017-03-17 | 2017-07-14 | 上海与德科技有限公司 | 一种安卓操作系统的移动终端使用方法 |
CN108614711A (zh) * | 2018-04-20 | 2018-10-02 | 北京握奇智能科技有限公司 | Ta镜像存储方法、装置以及终端 |
CN110264197A (zh) * | 2019-05-20 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 结合事件函数类型和判断条件的收据存储方法和节点 |
CN111414626A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 基于tee扩展的实时性保证方法及系统 |
CN111563253A (zh) * | 2020-07-16 | 2020-08-21 | 百度在线网络技术(北京)有限公司 | 智能合约运行方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136049A (zh) * | 2011-04-01 | 2011-07-27 | 奇智软件(北京)有限公司 | 一种终端应用的安全管理方法及系统 |
CN102479097A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种支持多级加载的安全嵌入式操作系统 |
CN103714459A (zh) * | 2013-12-26 | 2014-04-09 | 电子科技大学 | 一种智能终端安全支付系统及方法 |
US20140237181A1 (en) * | 2011-07-07 | 2014-08-21 | Atlantis Computing, Inc. | Method and apparatus for preparing a cache replacement catalog |
CN104102876A (zh) * | 2014-07-17 | 2014-10-15 | 北京握奇智能科技有限公司 | 保障客户端运行安全的装置 |
-
2014
- 2014-12-17 CN CN201410794750.0A patent/CN105787353A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479097A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种支持多级加载的安全嵌入式操作系统 |
CN102136049A (zh) * | 2011-04-01 | 2011-07-27 | 奇智软件(北京)有限公司 | 一种终端应用的安全管理方法及系统 |
US20140237181A1 (en) * | 2011-07-07 | 2014-08-21 | Atlantis Computing, Inc. | Method and apparatus for preparing a cache replacement catalog |
CN103714459A (zh) * | 2013-12-26 | 2014-04-09 | 电子科技大学 | 一种智能终端安全支付系统及方法 |
CN104102876A (zh) * | 2014-07-17 | 2014-10-15 | 北京握奇智能科技有限公司 | 保障客户端运行安全的装置 |
Non-Patent Citations (2)
Title |
---|
GANGGEXIONGQI: "《http://blog.csdn.net/ganggexiongqi/article/details/6788270 》", 18 September 2011 * |
王熙友: "ARM Trust Zone安全隔离技术研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951771A (zh) * | 2017-03-17 | 2017-07-14 | 上海与德科技有限公司 | 一种安卓操作系统的移动终端使用方法 |
CN106951771B (zh) * | 2017-03-17 | 2020-11-17 | 吉安县森博木业有限公司 | 一种安卓操作系统的移动终端使用方法 |
CN108614711A (zh) * | 2018-04-20 | 2018-10-02 | 北京握奇智能科技有限公司 | Ta镜像存储方法、装置以及终端 |
CN108614711B (zh) * | 2018-04-20 | 2021-12-10 | 北京握奇智能科技有限公司 | Ta镜像存储方法、装置以及终端 |
CN110264197A (zh) * | 2019-05-20 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 结合事件函数类型和判断条件的收据存储方法和节点 |
CN110264197B (zh) * | 2019-05-20 | 2021-05-18 | 创新先进技术有限公司 | 结合事件函数类型和判断条件的收据存储方法和节点 |
CN111414626A (zh) * | 2020-04-01 | 2020-07-14 | 中国人民解放军国防科技大学 | 基于tee扩展的实时性保证方法及系统 |
CN111414626B (zh) * | 2020-04-01 | 2023-09-26 | 中国人民解放军国防科技大学 | 基于tee扩展的实时性保证方法及系统 |
CN111563253A (zh) * | 2020-07-16 | 2020-08-21 | 百度在线网络技术(北京)有限公司 | 智能合约运行方法、装置、设备及存储介质 |
CN111563253B (zh) * | 2020-07-16 | 2020-11-03 | 百度在线网络技术(北京)有限公司 | 智能合约运行方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9191202B2 (en) | Information processing device and computer program product | |
CN105787353A (zh) | 可信应用管理系统及可信应用的加载方法 | |
CN109840430B (zh) | Plc的安全处理单元及其总线仲裁方法 | |
US8726038B2 (en) | FPGA apparatus and method for protecting bitstream | |
US20210012008A1 (en) | Method of initializing device and method of updating firmware of device having enhanced security function | |
US10657260B2 (en) | Electronic devices and methods supporting unsecured system-on-chip secure boot functionalities | |
US20120210115A1 (en) | Secure Boot Method and Method for Generating a Secure Boot Image | |
US20150207624A1 (en) | Key extraction during secure boot | |
US11126566B2 (en) | Method and apparatus for sharing security metadata memory space | |
EP2962243A1 (en) | A method for software anti-rollback recovery | |
CN111201553B (zh) | 一种安全元件及相关设备 | |
CN109656750B (zh) | 用于在安全闪存装置上数据恢复的基于puf的引导加载 | |
US11336444B2 (en) | Hardware security module for verifying executable code, device having hardware security module, and method of operating device | |
US9935768B2 (en) | Processors including key management circuits and methods of operating key management circuits | |
US11803644B2 (en) | Security hardened processing device | |
US11423150B2 (en) | System and method for booting processors with encrypted boot image | |
KR20160130773A (ko) | 메시지 인증 코드 태그들을 활용하는 시스템들에 사용하기 위한 롤백 공격들로부터의 데이터 무결성 보호 | |
CN104715208A (zh) | 一种基于tpm芯片的平台完整性校验方法 | |
US11308238B2 (en) | Server and method for identifying integrity of application | |
US11960608B2 (en) | Fast secure booting method and system | |
US20200233676A1 (en) | Bios management device, bios management system, bios management method, and bios management program-stored recording medium | |
CN103530169A (zh) | 虚拟机文件保护方法和用户终端 | |
TW201519094A (zh) | 建立原生運算系統之系統與方法 | |
GB2595509A (en) | Computer secure boot method and system | |
WO2016184180A1 (zh) | 一种系统安全启动方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20160720 Assignee: Shanghai Li Ke Semiconductor Technology Co., Ltd. Assignor: Leadcore Technology Co., Ltd. Contract record no.: 2018990000159 Denomination of invention: Credible application management system and loading method for credible applications License type: Common License Record date: 20180615 |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160720 |