当前位置: 首页 > 专利查询>南京大学专利>正文

一种用于移动端应用程序的可信执行环境的实现系统技术方案

技术编号:29614831 阅读:21 留言:0更新日期:2021-08-10 18:29
本发明专利技术公开一种用于移动端应用程序的可信执行环境的实现系统,其特征在于,包括移动端设备侧和应用程序开发者侧;所述移动端设备侧包括普通世界非安全敏感环境、普通世界可信执行环境和安全世界;所述普通世界非安全敏感环境包括不可信操作系统、可信执行环境管理模块和非安全敏感应用程序;所述普通世界可信执行环境包括安全操作系统、系统管理模块和安全敏感应用程序;所述安全世界包括可信操作系统、完整性验证模块、可信应用程序、EL3安全监视器;所述EL3安全监视器包括ARM可信固件、中断管理模块、页表管理模块、系统启动模块、系统关闭模块、外设访问模块、资源调整模块;所述应用程序开发者侧包括应用程序拆分模块、库生成模块。

【技术实现步骤摘要】
一种用于移动端应用程序的可信执行环境的实现系统
本专利技术涉及一种用于移动端应用程序的可信执行环境的实现系统,属于移动端设备用户隐私和数据安全

技术介绍
随着移动端设备和移动端应用程序的迅速发展,移动端计算已经显著改变了人们的日常生活,使得人们的生活越来越方便。但是移动端的迅猛发展,使得用户隐私以及公司机密数据的宝贵价值愈发显现了出来,吸引了很多恶意攻击者来窃取用户隐私或机密数据。因此,移动端计算的安全性变得愈加重要。作为移动端芯片主力的ARM,在2003年推出了ARM平台的可信执行环境TrustZone。可信执行环境是处理器中的安全区域,它保证加载到其中的代码和数据在保密性和完整性方面受到保护。TrustZone正是基于硬件机制保护的可信执行环境,可以用来保护移动端计算的安全性。TrustZone将片上系统(SystemonChip)的资源分成两个隔离的世界,即普通世界(NormalWorld)和安全世界(SecureWorld),以安全地管理处理器、内存和外部设备。其中普通世界只能访问普通世界的资源,不能访问安全世界的资源;而安全世界可以访问普通世界和安全世界的资源。在支持TrustZone的ARM芯片中,有着不同的特权级和执行模式,普通世界中有EL0(运行用户程序)、EL1(运行操作系统)、EL2(运行虚拟机管理程序);安全世界中有EL0(运行可信应用程序)、EL1(运行可信操作系统);EL3(运行可信固件)是最高特权级,负责中断处理、普通世界和安全世界之间的切换等。因为安全世界可以访问普通世界的资源,安全世界相比普通世界具有更高的权限,如果安全世界被滥用,则可能会引发严重的安全问题。因此往往只有移动端设备厂商才能控制安全世界,安全世界的程序往往在设备出厂后不再更改,厂商可以利用安全世界进行可信计算,但是移动端普通应用程序往往很难使用安全世界来保护自己的隐私和机密数据。除此之外,安全世界的资源非常有限,例如可以使用的内存非常小;并且安全世界的可信操作系统往往非常简洁,支持的功能非常有限,使得实现复杂的可信应用程序非常困难,这是因为系统越复杂,那么存在漏洞的可能性就会越大,而如果系统非常简洁,就有可能通过形式化验证等方法验证系统的安全性。近年来移动端应用程序在飞速发展,现在的移动端应用程序生态已经百花齐放,在当前移动端场景下,移动端应用程序已经成为激烈的商业竞争的关键渠道。从安全的角度出发,越来越多的移动端应用程序迫切希望能够得到可信执行环境级别的保护,使得它们能够防御来自恶意软件或者被攻破的操作系统的攻击。然而,TrustZone一直存在着用户使用门槛高的难题,在很多移动端设备中,TrustZone并没有被使用、甚至是完全空白的,只有非常少的应用程序能在厂商的严格控制之下使用TrustZone。这显然无法满足当今移动端应用程序的安全需求。TrustZone在ARMv8.4标准中引入了对TrustZone安全世界的虚拟化支持,使得安全世界中支持EL2,从而能够为应用程序提供虚拟可信执行环境。这一特性可以一定程度上降低TrustZone的使用门槛,但是依然面临着安全世界资源受限、功能受限的问题;另外,这一特性目前仅仅出现在了ARMv8.4标准中,目前尚未发布支持该特性的硬件,所以目前无法用来解决移动端应用程序面临的严峻安全问题。因此,目前TrustZone对移动端应用程序并不足够友好,而移动端应用程序又迫切希望能够得到可信执行环境级别的保护,因此需要一种用于移动端应用程序的可信执行环境的实现系统。
技术实现思路
专利技术目的:针对现有技术中存在的问题与不足,本专利技术提供一种用于移动端应用程序的可信执行环境的实现系统,以开发者为中心,能够极大地降低应用程序开发者使用可信执行环境的使用门槛;也解决了传统TrustZone架构面临的资源受限、功能受限的问题;该方法足够轻量,使得该方法实现的可信执行环境非常高效。技术方案:一种用于移动端应用程序的可信执行环境的实现系统,包括移动端设备侧和应用程序开发者侧;所述移动端设备侧包括普通世界非安全敏感环境、普通世界可信执行环境和安全世界;所述普通世界非安全敏感环境包括不可信操作系统、可信执行环境管理模块和非安全敏感应用程序;所述普通世界可信执行环境包括安全操作系统、系统管理模块和安全敏感应用程序;所述安全世界包括可信操作系统、完整性验证模块、可信应用程序、EL3安全监视器(securemonitor);所述EL3安全监视器包括ARM可信固件、中断管理模块、页表管理模块、系统启动模块、系统关闭模块、外设访问模块、资源调整模块。所述应用程序开发者侧包括应用程序拆分模块、库生成模块。所述不可信操作系统是运行在普通世界非安全敏感环境的操作系统,主要负责为应用程序提供运行环境。所述可信执行环境管理模块是不可信操作系统中的内核模块,负责管理普通世界可信执行环境的资源,负责加载普通世界可信执行环境的镜像、维护元数据以及预分配资源,负责与普通世界可信执行环境之间的通信、外设切换、资源调整。所述非安全敏感应用程序是不可信操作系统中的应用程序的非安全敏感部分,需要使用普通世界可信执行环境的应用程序,将被拆分为两部分,非安全敏感部分和安全敏感部分,分别对应非安全敏感应用程序和安全敏感应用程序。所述普通世界可信执行环境是安全敏感代码的执行环境,运行在普通世界中,与普通世界非安全敏感环境是隔离的;普通世界可信执行环境可以同时并行运行多个,每个普通世界可信执行环境之间也是隔离的;每个普通世界可信执行环境都会至少独占一个处理器核和一块内存区域。所述安全操作系统是运行在普通世界可信执行环境的操作系统,主要负责为安全敏感应用程序提供运行环境。所述系统管理模块是运行在安全操作系统中的内核模块,负责与普通世界非安全敏感环境之间的通信、文件IO、外设切换、资源调整、系统关闭。所述安全敏感应用程序是运行在安全操作系统中的应用程序的安全敏感部分,与非安全敏感应用程序一一对应。所述可信操作系统是运行在安全世界的操作系统,由设备厂商安装,主要负责为可信应用程序提供运行环境。所述完整性验证模块是运行在可信操作系统中的内核模块,负责密钥存储、在普通世界可信执行环境启动前检查其镜像完整性。所述可信应用程序是运行在可信操作系统中的应用程序,由设备厂商安装。所述ARM可信固件(ARMTrustedFirmware)运行在EL3中,具有最高权限,主要负责安全世界的配置、普通世界和安全世界之间的切换等。所述中断处理模块运行在ARM可信固件中,负责处理EL3中接收到的中断。所述页表管理模块运行在ARM可信固件中,负责管理EL2页表,为普通世界可信执行环境提供安全隔离。所述系统启动模块运行在ARM可信固件中,负责启动普通世界可信执行环境。所述系统关闭模块运行在ARM可信固件中,负责关闭普通世界可信执行环境并清除运行痕迹。所述外设访问模块运行在ARM可信固件中,负责管理普通世界可信执行环境的外设安全访问本文档来自技高网
...

【技术保护点】
1.一种用于移动端应用程序的可信执行环境的实现系统,其特征在于,包括移动端设备侧和应用程序开发者侧;所述移动端设备侧包括普通世界非安全敏感环境、普通世界可信执行环境和安全世界;所述普通世界非安全敏感环境包括不可信操作系统、可信执行环境管理模块和非安全敏感应用程序;所述普通世界可信执行环境包括安全操作系统、系统管理模块和安全敏感应用程序;所述安全世界包括可信操作系统、完整性验证模块、可信应用程序、EL3安全监视器;所述EL3安全监视器包括ARM可信固件、中断管理模块、页表管理模块、系统启动模块、系统关闭模块、外设访问模块、资源调整模块;所述应用程序开发者侧包括应用程序拆分模块、库生成模块。/n

【技术特征摘要】
20210419 CN 20211041572951.一种用于移动端应用程序的可信执行环境的实现系统,其特征在于,包括移动端设备侧和应用程序开发者侧;所述移动端设备侧包括普通世界非安全敏感环境、普通世界可信执行环境和安全世界;所述普通世界非安全敏感环境包括不可信操作系统、可信执行环境管理模块和非安全敏感应用程序;所述普通世界可信执行环境包括安全操作系统、系统管理模块和安全敏感应用程序;所述安全世界包括可信操作系统、完整性验证模块、可信应用程序、EL3安全监视器;所述EL3安全监视器包括ARM可信固件、中断管理模块、页表管理模块、系统启动模块、系统关闭模块、外设访问模块、资源调整模块;所述应用程序开发者侧包括应用程序拆分模块、库生成模块。


2.根据权利要求1所述的用于移动端应用程序的可信执行环境的实现系统,其特征在于,所述不可信操作系统是运行在普通世界非安全敏感环境的操作系统,为应用程序提供运行环境;
所述可信执行环境管理模块是不可信操作系统中的内核模块,负责管理普通世界可信执行环境的资源,负责加载普通世界可信执行环境的镜像、维护元数据以及预分配资源,负责与普通世界可信执行环境之间的通信、外设切换、资源调整;
所述非安全敏感应用程序是不可信操作系统中的应用程序的非安全敏感部分,需要使用普通世界可信执行环境的应用程序,将被拆分为两部分,非安全敏感部分和安全敏感部分,分别对应非安全敏感应用程序和安全敏感应用程序。


3.根据权利要求1所述的用于移动端应用程序的可信执行环境的实现系统,其特征在于,所述普通世界可信执行环境是安全敏感代码的执行环境,运行在普通世界中,与普通世界非安全敏感环境是隔离的;普通世界可信执行环境可以同时并行运行多个,每个普通世界可信执行环境之间也是隔离的;每个普通世界可信执行环境都会至少独占一个处理器核和一块内存区域;
所述安全操作系统是运行在普通世界可信执行环境的操作系统,为安全敏感应用程序提供运行环境;
所述系统管理模块是运行在安全操作系统中的内核模块,负责与普通世界非安全敏感环境之间的通信、文件IO、外设切换、资源调整、系统关闭;
所述安全敏感应用程序是运行在安全操作系统中的应用程序的安全敏感部分,与非安全敏感应用程序一一对应。


4.根据权利要求1所述的用于移动端应用程序的可信执行环境的实现系统,其特征在于,所述可信操作系统是运行在安全世界的操作系统,由设备厂商安装,为可信应用程序提供运行环境;
所述完整性验证模块是运行在可信操作系统中的内核模块,负责密钥存储、在普通世界可信执行环境启动前检查其镜像完整性;
所述可信应用程序是运行在可信操作系统中的应用程序,由设备厂商安装;
所述ARM可信固件运行在EL3中,具有最高权限,主要负责安全世界的配置、普通世界和安全世界之间的切换;
所述中断处理模块运行在ARM可信固件中,负责处理EL3中接收到的中断;
所述页表管理模块运行在ARM可信固件中,负责管理EL2页表,为普通世界可信执行环境提供安全隔离;
所述系统启动模块运行在ARM可信固件中,负责启动普通世界可信执行环境;
所述系统关闭模块运行在ARM可信固件中,负责关闭普通世界可信执行环境并清除运行痕迹;
所述外设访问模块运行在ARM可信固件中,负责管理普通世界可信执行环境的外设安全访问;
所述资源调整模块运行在ARM可信固件中,负责普通世界可信执行环境的动态资源调整;
所述应用程序拆分模块是应用程序开发工具,负责将应用程序自动拆分成安全敏感部分和非安全部分;
所述库生成模块是应用程序开发工具,负责为拆分后的应用程序自动生成使用普通世界可信执行环境的动态库,并分别将安全敏感部分和非安全部分代码重新打包。


5.根据权利要求1所述的用于移动端应用程序的可信执行环境的实现系统,其特征在于,所述普通世界可信执行环境的安全性是通过硬件机制来保证的;普通世界可信执行环境与普通世界非安全敏感环境是隔离的,普通世界可信执行环境能同时并行运行多个,不同普通世界可信执行环境之间也是隔离的;每个普通世界可信执行环境独占资源,拥有各自的处理器核和内存区域,这些独占资源只能被所属的普通世界可信执行环境所访问;隔离是使用二阶段页表实现的,由页表管理模块负责启用和管理二阶段页表;页表管理模块为普通世界非安全敏感环境和普通世界可信执行环境分别配置各自的二阶段页表,从而保证普通世界非安全敏感环境和普通世界可信执行环境只能访问属于自己的资源;
所述普通世界非安全敏感环境和普通世界可信执行环境之间通过共享内存通信;可信执行环境管理模块会维护一个共享内存池,当启动新的普通世界可信执行环境时,可信执行环境管理模块从共享内存池中分配一块专用的共享内存用来通信;每个普通世界可信执行环境只能访问属于自己的共享内存,共享内存的访问隔离通过二阶段页表实现。


6.根据权利要求1所述的用于移动端应用程序的可信执行环境的实现系统,其特征在于,所述普通世界可信执行环境的生命周期包括初始化、启动、关闭,还包括外设安全访问、资源动态调整;
所述初始化是指应用程序开发者开发使用普通世界可信执行环境的应用程序,包括两种情况,一是从零开始开发使用普通世界可信执行环境的应用程序,二是适配现有应用程序;如果是从零开始开发的应用程序,则直接使用库生成模块提供的动态库进行应用程序开发;如果是适配现有应用程序,则使用应用程序开发工具实现;所述应用程序开发工具是一个自动化开发工具,负责将普通应用程序自动适配到普通世界可信执行环境;应用程序开发工具包括应用程序拆分模块和库生成模块;应用程序拆分模块能够将已有应用程序自动拆分为安全敏感部分和非安全部分,库生成模块能够生成用于非安全敏感应用程序和安全敏感应用程序之间通信的动态链接库;然后将拆分后的应用程序重新打包,最终获得适配后的应用程序;
所述启动是指启动普通世界可信执行环境来运行安全敏感应用程序;启动首先会构建普通世界可信执行环境,在普通世界可信执行环境中启动安全操作系统,并在安全操作系统中运行安全敏感应用程序;
所述关闭是指安全敏感应用程序运行完毕后安全关闭普通世界可信执行环境;
所述外设安全访问是指普通世界可信执行环境安全地访问外设;如果外设同时被普通世界非安全敏感环境和普通世界可信执行环境访问,或者同时被多个普通世界可信执行环境访问,那么外设访问是不安全的;
普通世界可信执行环境支持安全地访问外设,当普通世界可信执行环境访问外设时,其他环境无法访问该外设;外设安全访问是通过控制二阶段页表实现的,只有当前要进行外设访问的一方才能拥有外设内存地址的二阶段页表映射;默认情况下普通世界非安全敏感环境持有所有外设,如果普通世界可信执行环境需要外设安全访问,需要发出外设安全访问请求,成功请求到外设后,才能进行外设安全...

【专利技术属性】
技术研发人员:许封元孙立志王烁程吴昊龚宇航仲盛
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

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

1