ARM的TrustZone
对于32位设计,ARM控股有限公司已经开发出云对缓解这些缺点很长的路叫的TrustZone技术。 TrustZone的指的是可以在若干ARM内核来实现安全性扩展 - 和紧密地集成到其的Cortex-甲处理器。
ARM的系统级的安全方法开始于执行环境,并延长与特定公司的AMBA总线和AXI总线特定的TrustZone IP模块。该系统的方法使得有可能以固定的外围设备,如存储器和密码块。
在TrustZone架构基本上偏析ARM的芯的MCU的一个子集,硬件通过定义处理器,外围设备,存储器地址,和高速缓存甚至地区为“安全”或“非安全”硬件上运行。 TrustZone技术可以动态暴露的完整的MCU来保护软件,或该MCU的正常软件的一个子集。
TrustZone的通过分割处理器内核成两个虚拟内核,一个在一个正常的世界操作和其他工作在安全的世界(图1)实现这一目的。这种机制主要是创建执行特权除了对用户和内核模式下的传统划分一个新的水平。这两个世界之间的转换由监控模式的软件都经过精心的控制。
德州仪器的ARM TrustZone架构的图像
图1:ARM的TrustZone架构在概念基础上创建虚拟内核。 (德州仪器提供)
任何MCU供应商与基于ARM的产品必须实现的TrustZone的选项。德州仪器(TI)提供的TrustZone功能的应用程序与它的KeyStone II系统级芯片(SoC)架构,其特点是集成了ARM的Cortex-A15群集支持。由于TrustZone的集成ARM的Cortex-A处理器,TI的更经济的Sitara系列,这是基于A8核心,所有的TrustZone的支持,包括AM3352ZCE27的成员。
在其他的TrustZone功能的产品是Atmel的SAMA5D4系列32位MCU,包括ATSAMA5D41A-CU和飞思卡尔半导体i.MX6系列,包括MCIMX6X1CVK08AB。
因为它是基于硬件的,TrustZone的提供一个坚实的基础时,可建立在安全的软件的上层。有参与创建的TrustZone保护申请后3基础要素。
可信执行环境(TEE) - 一个软件堆栈的安全的世界中运行,再加上需要启用安全的世界的软件,与正常世界的软件交互的通信功能。 TEE软件通常由一个小的微内核和API,让安全软件与较大的,以用户为中心的软件进行通信。
安全的应用程序和安全服务,或信任的应用程序(TA)
的安全监控充当虚拟看门者控制所述域之间的迁移。
通过调用一个名为监控模式的新处理器模式的两个虚拟内核之间的物理核心交换机。监控模式可正常世界的模式,无论是通过激活ARM的安全监控调用(SMC)指令,或从硬件异常机制的子集来输入。在IRQ,FIQ,外部数据中断,和外部预取中止异常的结构都可以使所述处理器切换到监视模式。这些中断也可以被赋予较高的优先级,以防止拒绝服务攻击安全的世界的软件。