基于信任区的操作系统和方法技术方案

技术编号:22330562 阅读:68 留言:0更新日期:2019-10-19 12:21
本发明专利技术实施例公开了一种基于信任区的操作系统和方法。该操作系统包括运行可信执行环境TEE、TEE监控区域和安全切换装置的安全模式子系统;TEE在接收到TEE中的可信应用TA发送的敏感操作请求时,将敏感指令标识和敏感操作请求的操作参数写入到通用寄存器中,并向安全切换装置发送切换请求;安全切换装置接收切换请求,将安全模式子系统的运行环境由TEE切换至TEE监控区域;TEE监控区域存储操作系统中的敏感指令,在运行环境由TEE切换至TEE监控区域之后,根据第一敏感指令标识调用对应的第一敏感指令,通过第一敏感指令和第一操作参数执行相应的第一敏感操作。通过本发明专利技术实施例,能够有效提高操作系统的安全性。

Operating system and method based on trust zone

【技术实现步骤摘要】
基于信任区的操作系统和方法
本专利技术涉及安全
,具体涉及一种基于信任区的操作系统和方法。
技术介绍
随着互联网技术和智能终端的高速发展,对于智能终端运行环境的安全级别的要求也越来越高,信任区(TrustZone)已逐渐成为智能终端的标配。TrustZone是由ARM公司提出的一种安全技术,TrustZone引入了监控模式,在监控模式之上分为安全模式(secureworld)与普通模式(normalworld),安全模式下运行安全级别较高的程序。监控模式的安全级别是最高的,可通过它实现安全模式与普通模式之间的切换。安全模式是与普通模式完全隔离的,但是安全模式可以访问普通模式的所有物理内存等信息。终端设备启动时,会首先进入安全模式,然后由安全模式下的程序负责切换到普通模式启动终端系统。安全模式中运行的环境,通常称为可信执行环境(TrustExecutionEnvironment,TEE),普通模式中运行的环境,通常称为普通执行环境(RichExecutionEnvironment,REE),一般也称TEE和REE为SecureWorld和NormalWorld。TEE具有其自身的执行空间,比普通操作系统(RichOS)的安全级别更高。TEE所能访问的软硬件资源是与RichOS分离的。TEE提供了授权安全软件(TrustedApplication,TA)的安全执行环境,同时也保护TA的资源和数据的保密性、完整性和访问权限。为了保证TEE本身的可信根,TEE在安全启动过程中是要通过验证并且与RichOS隔离的。随着生态系统的发展,TEE已经成为安全关键应用程序的平台,支持各种可信应用(TAs)动态安装。这种开放性不可避免地会导致TEE的两方面的问题:复杂性越高,攻击面越大。作为构建安全模型中的可信计算基(TrustedComputingBase,TCB),如果TEE受到威胁,就会威胁整个系统的安全。例如,由于TEE具有最高的特权,攻击者可以利用TEE的错误来写入称为“回旋镖”攻击,通过该攻击获取到REE的控制权限,对REE系统的安全性造成极大的威胁。同时,如果TEE受到威胁,则可能会进一步损害TAs并导致诸如指纹数据或密钥等重要数据信息的泄漏。
技术实现思路
本专利技术实施例提供了一种基于信任区的操作系统和操作系统的启动方法,用于提高系统的安全性第一方面,本专利技术实施例提供一种基于信任区的操作系统,所述操作系统应用于终端设备中,所述操作系统包括安全模式子系统,所述安全模式子系统中运行可信执行环境TEE、TEE监控区域和安全切换装置,所述TEE和所述TEE监控区域分别与所述安全切换装置连接;所述TEE,用于在接收到所述TEE中的可信应用TA发送的第一敏感操作请求后,将所述第一敏感操作请求对应的第一敏感指令标识和所述第一敏感操作请求的第一操作参数存储到通用寄存器中,并向所述安全切换装置发送携带有第一切换标识的第一切换请求,所述第一切换标识用于标识需要将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域;所述安全切换装置,用于接收所述第一切换请求,根据所述第一切换请求将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域;所述TEE监控区域,用于存储所述操作系统中的敏感指令,在所述安全模块子系统的运行环境由所述TEE切换至所述TEE监控区域之后,从所述通用寄存器中读取所述第一敏感指令标识和所述第一操作参数,根据所述第一敏感指令标识调用对应的第一敏感指令,通过所调用的第一敏感指令和所述第一操作参数执行相应的第一敏感操作。在上述方法中,操作系统的敏感指令都存储在TEE监控区域中,将需要调用这些敏感指令来执行的敏感操作作为接口为TEE提供服务。由于TEE监控区域单独控制了操作系统的敏感指令,因此,TEE监控区域获得了在进行敏感操作前对敏感操作进行安全检查的能力,保证了对敏感操作的安全检查不会被绕过,提高了系统敏感操作的安全性。进而提高系统的安全性。在一种可能的设计中,所述TEE,具体用于:根据所述第一敏感操作请求在预配置的敏感指令标识表中,查找所述第一敏感操作请求所对应的第一敏感指令标识;其中,所述敏感指令标识表用于存储敏感操作与敏感指令标识的对应关系。在上述方法中,这样TEE监控区域能够知晓TEE所需要调用的敏感指令。在一种可能的设计中,所述安全切换装置,具体用于:获取所述TEE监控区域的第一上下文信息,加载所述第一上下文信息;若第二上下文信息与所述第一上下文信息相同,则确定所述TEE与所述监控环境之间的切换环境安全,所述第二上下文信息为所述第一上下文信息加载后的、与所述第一上下文信息对应的信息。在上述方法中,能够表明在加载TEE监控区域的过程中未发生安全攻击。在一种可能的设计中,若所述第二上下文信息与所述第一上下信息不相同,所述安全切换装置还用于:退出将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域的操作。在上述方法中,能够表明在加载TEE监控区域的过程中发生安全攻击。在一种可能的设计中,所述TEE监控区域在通过所调用的第一敏感指令和所述第一操作参数执行相应的第一敏感操作之前,还用于:按照预配置的安全检查策略对所述第一敏感操作进行安全检查,确定所述第一敏感操作通过所述安全检查。在上述方法中,TEE监控区域在进行敏感操作前对敏感操作进行安全检查,保证了对敏感操作的安全检查不会被绕过,提高了系统敏感操作的安全性。在一种可能的设计中,所述安全切换装置,还用于在接收到所述第一切换请求之后,保存所述TEE的TEE上下文信息;所述TEE监控区域,还用于在所述第一敏感操作执行完毕后,将所述第一敏感操作的第一操作结果存储到所述通用寄存器,并向所述安全切换装置发送携带有第二切换标识的第二切换请求,所述第二切换标识用于标识需要将运行环境由所述TEE监控区域切换至所述TEE;所述安全切换装置,还用于接收所述第二切换请求,根据所述第二切换请求和所述TEE上下文信息将所述安全模式子系统的运行环境由所述TEE监控区域切换至所述TEE;所述TEE,还用于在所述安全模块子系统的运行环境由所述TEE监控区域切换至所述TEE之后,从所述通用寄存器中读取所述第一操作结果。在上述方法中,可以依据TEE上下文信息,安全切换进TEE。在一种可能的设计中,所述TEE监控区域,还用于在所述TEE的代码加载阶段,对所加载的所述TEE的代码进行敏感指令检查,确定所述所加载的所述TEE的代码中不存在敏感指令。在上述方法中,确定所加载的TEE的代码中不存在敏感指令,则认为启动过程中没有对操作系统的攻击,进而可以正常加载代码。在一种可能的设计中,所述操作系统还包括普通模式子系统,所述普通模式子系统运行普通执行环境REE,所述REE与所述安全切换装置连接;所述REE,用于接收所述REE中的客户应用CA发送的TA调用请求,将所述TA调用请求的安全请求参数存储到第一共享内存中,向所述安全切换装置发送携带有第三切换标识的第三切换请求,所述第一共享内存为所述REE与所述TEE之间的共享内存,所述安全请求参数中包括所请求调用的TA标识,所述第三切换标识用于标识需要将运行环境由所述REE切换至所述TEE;所述安全切换装置,用于接收所述第本文档来自技高网
...

【技术保护点】
1.一种基于信任区的操作系统,其特征在于,所述操作系统应用于终端设备中,所述操作系统包括安全模式子系统,所述安全模式子系统中运行可信执行环境TEE、TEE监控区域和安全切换装置,所述TEE和所述TEE监控区域分别与所述安全切换装置连接;所述TEE,用于在接收到所述TEE中的可信应用TA发送的第一敏感操作请求后,将所述第一敏感操作请求对应的第一敏感指令标识和所述第一敏感操作请求的第一操作参数存储到通用寄存器中,并向所述安全切换装置发送携带有第一切换标识的第一切换请求,所述第一切换标识用于标识需要将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域;所述安全切换装置,用于接收所述第一切换请求,根据所述第一切换请求将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域;所述TEE监控区域,用于存储所述操作系统中的敏感指令,在所述安全模块子系统的运行环境由所述TEE切换至所述TEE监控区域之后,从所述通用寄存器中读取所述第一敏感指令标识和所述第一操作参数,根据所述第一敏感指令标识调用对应的第一敏感指令,通过所调用的第一敏感指令和所述第一操作参数执行相应的第一敏感操作。

【技术特征摘要】
1.一种基于信任区的操作系统,其特征在于,所述操作系统应用于终端设备中,所述操作系统包括安全模式子系统,所述安全模式子系统中运行可信执行环境TEE、TEE监控区域和安全切换装置,所述TEE和所述TEE监控区域分别与所述安全切换装置连接;所述TEE,用于在接收到所述TEE中的可信应用TA发送的第一敏感操作请求后,将所述第一敏感操作请求对应的第一敏感指令标识和所述第一敏感操作请求的第一操作参数存储到通用寄存器中,并向所述安全切换装置发送携带有第一切换标识的第一切换请求,所述第一切换标识用于标识需要将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域;所述安全切换装置,用于接收所述第一切换请求,根据所述第一切换请求将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域;所述TEE监控区域,用于存储所述操作系统中的敏感指令,在所述安全模块子系统的运行环境由所述TEE切换至所述TEE监控区域之后,从所述通用寄存器中读取所述第一敏感指令标识和所述第一操作参数,根据所述第一敏感指令标识调用对应的第一敏感指令,通过所调用的第一敏感指令和所述第一操作参数执行相应的第一敏感操作。2.根据权利要求1所述的操作系统,其特征在于,所述TEE,具体用于:根据所述第一敏感操作请求在预配置的敏感指令标识表中,查找所述第一敏感操作请求所对应的第一敏感指令标识;其中,所述敏感指令标识表用于存储敏感操作与敏感指令标识的对应关系。3.根据权利要求1所述的操作系统,其特征在于,所述安全切换装置,具体用于:获取所述TEE监控区域的第一上下文信息,加载所述第一上下文信息;若第二上下文信息与所述第一上下文信息相同,则确定所述TEE与所述监控环境之间的切换环境安全,所述第二上下文信息为所述第一上下文信息加载后的、与所述第一上下文信息对应的信息。4.根据权利要求3所述的操作系统,其特征在于,若所述第二上下文信息与所述第一上下信息不相同,所述安全切换装置还用于:退出将所述安全模式子系统的运行环境由所述TEE切换至所述TEE监控区域的操作。5.根据权利要求1至4中任一项所述的操作系统,其特征在于,所述TEE监控区域在通过所调用的第一敏感指令和所述第一操作参数执行相应的第一敏感操作之前,还用于:按照预配置的安全检查策略对所述第一敏感操作进行安全检查,确定所述第一敏感操作通过所述安全检查。6.根据权利要求1至5中任一项所述的操作系统,其特征在于,所述安全切换装置,还用于在接收到所述第一切换请求之后,保存所述TEE的TEE上下文信息;所述TEE监控区域,还用于在所述第一敏感操作执行完毕后,将所述第一敏感操作的第一操作结果存储到所述通用寄存器,并向所述安全切换装置发送携带有第二切换标识的第二切换请求,所述第二切换标识用于标识需要将运行环境由所述TEE监控区域切换至所述TEE;所述安全切换装置,还用于接收所述第二切换请求,根据所述第二切换请求和所述TEE上下文信息将所述安全模式子系统的运行环境由所述TEE监控区域切换至所述TEE;所述TEE,还用于在所述安全模块子系统的运行环境由所述TEE监控区域切换至所述TEE之后,从所述通用寄存器中读取所述第一操作结果。7.根据权利要求1至6中任一项所述的操作系统,其特征在于,所述TEE监控区域,还用于在所述TEE的代码加载阶段,对所加载的所述TEE的代码进行敏感指令检查,确定所述所加载的所述TEE的代码中不存在敏感指令。8.根据权利要求1至7中任一项所述的操作系统,其特征在于,所述操作系统还包括普通模式子系统,所述普通模式子系统运行普通执行环境REE,所述REE与所述安全切换装置连接;所述REE,用于接收所述REE中的客户应用CA发送的TA调用请求,将所述TA调用请求的安全请求参数存储到第一共享内存中,向所述安全切换装置发送携带有第三切换标识的第三切换请求,所述第一共享内存为所述REE与所述TEE之间的共享内存,所述安全请求参数中包括所请求调用的TA标识,所述第三切换标识用于标识需要将运行环境由所述REE切换至所述TEE;所述安全切换装置,用于接收所述第三切换请求,根据所述第三切换请求将所述操作系统的运行环境由所述REE切换至所述TEE;所述TEE,用于在所述操作系统的运行环境由所述REE切换至所述TEE后,从所述第一共享内存中读取所述安全请求参数,根据所述安全请求参数调用对应的TA并执行相应的操作。9.根据权利要求8所述的操作系统,其特征在于,所述REE,用于接收所述REE中的CA发送的第二敏感操作请求,将所述第二敏感操作请求对应的第二敏感指令标识和所述第二敏感操作请求的第二操作参数存储到第二共享内存中,向所述安全切换装置发送携带有第四切换标识的第四切换请求,所述第四切换标识用于标识需要将所述操作系统的运行环境由所述REE切换至所述TEE监控区域,所述第二共享内存为所述REE与所述TEE监控区域之间的共享内存;所述安全切换装置,用于接收所述第四切换请求,根据所述第四切换请求将所述操作系统的运行环境由所述REE切换至所述TEE监控区域;所述TEE监控区域,用于在所述操作系统的运行环境由所述REE切换至所述TEE监控区域后,从所述第二共享内存中读取所述第二敏感指令标识和所述第二操作参数,根据所述第二敏感指令标识调用对应的敏感指令,通过所调用的敏感指令和所述第二操作参数执行相应的第二敏感操作。10.根据权利要求9所述的操作系统,其特征在于,所述TEE,具体用于:根据所述第二敏感操作请求在预配置的敏感指令标识表中,查找所述第二敏感操作请求所对应的第二敏感指令标识。11.根据权利要求9所述的操作系统,其特征在于,所述安全切换装置,还用于在接收到所述第四切换请求之后,保存所述REE的REE上下文信息;所述TEE监控区域,还用于在所述第二敏感操作执行完毕后,将所述第二敏感操作的第二操作结果存储到所述第二共享内存,并向所述安全切换装置发送携带有第五切换标识的第五切换请求,所述第五切换标识用于标识需要将运行环境由所述TEE监控区域切换至所述REE;所述安全切换装置,还用于接收所述第五切换请求,根据所述第五切换请求和所述REE上下文信息将所述安全模式子系统的运行环境由所述TEE监控区域切换至所述REE;所述REE,还用于在所述安全模块子系统的运行环境由所述TEE监控区域切换至所述REE之后,从所述第二共享内存中读取所述第二操作结果。12.根据权利要求7至11中任一项所述的系统,其特征在于,所述TEE监控区域,还用于在所述操作系统的启动与初始化阶段,将所述安全切换装置配置为所述TEE、所述TEE监控区域和所述REE三者中两两之间的切换机制,并在所述终端设备的内存中初始化所述TEE监控区域的第一内存页表、所述TEE的第二内存页表、所述REE的第三内存页表,其中,所述第一内存页表、所述第二内存页表、所述第三内存页表和所述安全切换装置的第四内存页表所对应的内存空间各不相同,所述第一内存页表禁止被所述TEE和所述REE映射,所述第一内存页表和所述第二内存页表禁止被所述REE映射,所述第四内存页表禁止被所述REE映射;所述安全切换装置,还用于在将所述操作系统的运行环境切换的过程中,将操作系统的内存页表指针切换至对应的运行环境的内存页表。13.根据权利要求1至13中任一项所述的系统,其特征在于,所述TEE,具体用于通过调用安全监视调用SMC指令向所述安全切换装置发送所述第一切换请求。14.一种基于信任区的操作方法,其特征在于,所述方法应用的操作系统应用于移动设备中,所述操作系统包括安全模式子系统,所述安全模式子系统中运行可...

【专利技术属性】
技术研发人员:利文浩夏虞斌陈海波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1