基于TrustZone架构的应用程序执行方法、装置和终端的制作方法

文档序号:9865259阅读:695来源:国知局
基于TrustZone架构的应用程序执行方法、装置和终端的制作方法
【技术领域】
[0001]本发明涉及终端技术领域,具体而言,涉及一种基于TrustZone架构的应用程序执行方法和一种基于TrustZone架构的应用程序执行装置。
【背景技术】
[0002]在现有的TrustZone技术框架下,系统级的安全是通过将SoC(System on Chips,片上系统)的软硬件资源划分到两个世界(world)中分别获得,即Normal World(正常世界)和Secure World (安全世界),这两个世界分别对应普通运行环境(Rich Execut1nEnvironment,REE)和可信运行环境(Trusted Execut1n Environment,TEE)。具体如图1所示:
[0003]其中,在REE上运行普通的系统(Operating System,OS),以及开放的应用程序(Open Applicat1n)。
[0004]在TEE 中,TZBSP (TrustZone Board Support Package,TrustZone 支持包)向上提供各种安全服务以及驱动,其内部的Monitor (监视器)模块处理REE与TEE之间上下文切换;SEE (Secure Execut1n Environment,安全运行环境)在TZBSP的基础之上实现安全的运行环境并提供TEE内部的API (Applicat1n Programming Interface,应用程序编程接口),供 SAPP (Secure Applicat1n,安全应用)运行,其中 SAPP 包括 OEM APP (OriginalEquipment Manufacturer Applicat1n,原始设备制造商应用)以及厂商指定DRM(DigitalRights Management,数字权限管理技术)。
[0005]可见,图1中所示的框架实现了安全与非安全运行环境的分离,提高了系统级的安全性。但是,由于可运行于SEE之上的SAPP是来自各种OME的安全应用,且由C/C++语言实现,这样的SAPP对于平台依赖性较强,可移植性较差。
[0006]因此,如何能够在确保应用程序安全性的前提下,降低安全应用对平台的依赖性,提高安全应用的可移植性成为亟待解决的技术问题。

【发明内容】

[0007]本发明正是基于上述技术问题至少之一,提出了一种新的基于TrustZone架构的应用程序执行方案,使得能够在确保安全系统中运行可信的应用程序的前提下,有效降低了目前的安全应用对系统平台的依赖性,提高了安全应用的可移植性。
[0008]有鉴于此,本发明提出了一种基于TrustZone架构的应用程序执行方法,适用于具有多系统的终端,包括:基于所述终端的TrustZone支持包和所述终端中的指定系统构建虚拟机;通过所述虚拟机中的编译器对所述应用程序的执行源文件进行编译,以形成字节码文件;通过所述虚拟机中的类加载器将所述字节码文件加载至所述虚拟机中的执行引擎,由所述执行引擎向所述指定系统申请分配内存,并通过所述指定系统将所述应用程序对应的进程装载至所述指定系统分配的内存中;由所述虚拟机中的解释器根据与所述指定系统相对应的指令集,将所述字节码文件解释为所述指定系统的执行指令,并将所述执行指令交由所述指定系统的内核进行执行。
[0009]在该技术方案中,通过基于TrustZone支持包(TrustZone Board SupportPackage, TZBSP)和终端的指定系统构建虚拟机,即以TZBSP作为系统硬件平台支持,以指定系统作为操作系统支持构建虚拟机,以实现对应用程序的运行,使得在上述指定系统为安全系统时,能够在安全系统中通过虚拟机运行可信的应用程序(如JAVA应用),同时由于是解释器根据与指定系统相对应的指令集,将字节码文件解释为该指定系统的执行指令后交由上述指定系统的内核进行执行,使得能够隐藏掉不同系统平台的底层差异,有效降低了目前的安全应用对系统平台的依赖性,提高了安全应用的可移植性。
[0010]在上述技术方案中,优选地,由所述执行引擎向所述终端的指定系统申请分配内存的步骤具体为:通过所述执行引擎向所述TrustZone支持包中的内存管理单元申请分配内存。
[0011]在上述技术方案中,优选地,所述指定系统为所述终端内的安全系统,则由所述执行引擎向所述终端的指定系统申请分配内存的步骤具体还包括:通过所述执行引擎向所述TrustZone支持包中的内存管理单元申请分配属于所述终端中的安全世界的内存。
[0012]在该技术方案中,通过由执行引擎向TrustZone支持包中的内存管理单元申请分配属于安全世界(Secure World)的内存,使得虚拟机在运行应用程序时,应用程序对应的所有进程的内存资源均属于可信运行环境(即TEE),进而能够保证应用程序的安全运行。
[0013]在上述技术方案中,优选地,还包括:在所述指定系统的内核对所述执行指令执行完成之后,由所述虚拟机回收所述指定系统分配的内存,并放入所述指定系统的空闲内存堆。
[0014]在该技术方案中,通过在对执行指令执行完成之后,回收上述指定系统分配的内存,并放入该指定系统的空闲内存堆,使得系统的内存资源能够得到合理的分配,提高了内存资源的利用率。
[0015]在上述技术方案中,优选地,还包括:通过所述虚拟机提供应用程序编程接口,以提供在所述指定系统中的应用程序开发功能。
[0016]在该技术方案中,通过提供应用程序编程接口,使得开发人员能够方便地开发可信的适用于上述指定系统的应用程序。
[0017]其中,优选地,所述虚拟机为JVM,所述JVM通过JNI实现对所述指定系统的功能进行调用,以将所述执行指令交由所述指定系统的内核进行执行。
[0018]根据本发明的另一方面,还提出了一种基于TrustZone架构的应用程序执行装置,适用于具有多系统的终端,包括:构建单元,用于基于所述终端的TrustZone支持包和所述终端中的指定系统构建虚拟机;编译单元,用于通过所述虚拟机中的编译器对所述应用程序的执行源文件进行编译,以形成字节码文件;处理单元,用于通过所述虚拟机中的类加载器将所述字节码文件加载至所述虚拟机中的执行引擎,由所述执行引擎向所述指定系统申请分配内存,并通过所述指定系统将所述应用程序对应的进程装载至所述指定系统分配的内存中;解释单元,用于由所述虚拟机中的解释器根据与所述指定系统相对应的指令集,将所述字节码文件解释为所述指定系统的执行指令;执行单元,用于将所述执行指令交由所述指定系统的内核进行执行。
[0019]在该技术方案中,通过基于TrustZone支持包(TrustZone Board SupportPackage, TZBSP)和终端的指定系统构建虚拟机,即以TZBSP作为系统硬件平台支持,以指定系统作为操作系统支持构建虚拟机,以实现对应用程序的运行,使得在上述指定系统为安全系统时,能够在安全系统中通过虚拟机运行可信的应用程序(如JAVA应用),同时由于是解释器根据与指定系统相对应的指令集,将字节码文件解释为该指定系统的执行指令后交由上述指定系统的内核进行执行,使得能够隐藏掉不同系统平台的底层差异,有效降低了目前的安全应用对系统平台的依赖性,提高了安全应用的可移植性。
[0020]在上述技术方案中,优选地,所述处理单元具体用于:通过所述执行引擎向所述TrustZone支持包中的内存管理单元申请分配内存。
[0021]在上述技术方案中,优选地,所述指定系统为所述终端内的安全系统,则所述处理单元具体还用于:通过所述执行引擎向所述TrustZone支持包中的内存管理单元申请分配属于所述终端中的安全世界的内存。
[0022]在该技术方案中,通过由执行引擎向TrustZone支持包中的内存管理单元申请分配属于安全世界(Secure World)的内存,使得虚拟机在运行应用程序时,应用程序对应的所有进程的内存资源均属于可信运行环境(即TEE),进而能够保证应用程序的安全运行。
[0023]在上述技术方案中,优选地,所述处理单元还用于:在所述指定系统的内核对所述执行指令执行完成之后,由所述虚拟机回收所述指定系统分配的内存,并放入所述指定系统的空闲内存堆。
[0024]在该技术方案中,通过在对执行指令执行完成之后,回收上述指定系统分配的内存,并放入该指定系统的空闲内存堆,使得系统的内存资源能够得到合理的分配,提高了内存资源的利用率。
[0025]在上述技术方案中,优选地,还包括:功能支持单元,用于通过所述虚拟机提供应用程序编程接口,以提供在所述指定系统中的应用程序开发功能。
[0026]在该技术方案中,通过提供应用程序编程接口,使得开发人员能够方便地开发可信的适用于上述指定系统的应用程序。
[0027]其中,优选地,所述虚拟机为JVM,所述JVM通过JNI实现对所述指定系统的功能进行调用,以将所述执行指令交由所述指定系统的内核进
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1