ARM TrustZone

TrustZone是2004年ARM cortex-a5引入的。

TrustZone是ARM对ARM v6指令集的扩展,增加了一条指令,一个配置状态位,以及一个安全态。它的目的是把一些安全性要求较高的代码放到安全区里来执行。

内核态程序要进入安全区,需要执行SMI(secure monitor interrupt,在cp15安全状态寄存器中置s位)指令。用户态程序需要调用api接口,操作系统检查程序是否安全,通过则执行smi进行安全区。

s位还体现在AMBA总线上是什么意思?

安全监控程序的固件是独立与OS的,自足的,不可重入的。它负责保存上下文状态(主要是寄存器),包括把当前处理器配置信息保存到一组分编寄存器中。TrustZone增加了大约350个状态位的开销,上下文切换大约需要200个cycle.

ARM建议把安全监控程序放到单独的一块TCM中。TCM是什么?安全监控程序是自己开发的吗?安全区的缓存,TLB, TCM都是单独配置的,因此切换的性能是有保障的。

对中断处理也有影响。因为中断可以来自外设,也可以来自软件,因此要假定中断是不安全的(why)? ARM可以把中断也定义为安全和非安全的。安全代码只能被安全中断打断。


TrustZone 第一层系统架构框图 - 单击查看大图

第一层架构

TrustZone 第二层系统架构框图 - 单击查看大图

第二层架构

第三层

第三层架构


硬件架构

TrustZone 软件架构

软件架构


安全的双刃剑:AMD选择ARM TrustZone浅析


要想完整的实现TrustZone还必须有其他条件配合,首先是TrustZone硬件,也就是类似Cortex-A5这样的处理器,然后就是配套的系统软件,这也是最关键的部分,主要有两家厂商在做。

一家是德国慕尼黑市的Giesecke & Devrient公司的MobiCore,另一家则是荷兰Trusted Logic Mobility公司的Trusted Execution Environment。这两家公司都是在ARM网站上推荐的。


注1:紧致内存是指片上快速存储区,与片上缓存具有同等的性能,但因为程序可完全控制紧致内存,因而比统计复用的缓存有更好的可预测性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值