ARM TrustZone技术简介 -- 4 (TrustOS)

ARM TrustZone技术将处理器分为安全和非安全两部分,通过硬件隔离确保安全。传统实现中,安全侧仅提供简单服务,但现代TrustOS采用微内核设计,提高业务隔离和系统稳定性。三星的Trustonic's kinibi是此类微内核TrustOS的实例,依赖ARM TrustFirmware进行安全与非安全域切换。TrustOS主要通过减少功能和硬件隔离来增强安全性,适用于一般安全需求场景。
摘要由CSDN通过智能技术生成

TrustZone技术在物理上可以把一个ARM处理器核分时复用为两个不同的处理器,在处理器的非安全部分运行的是标准的Linux系统,而在另外一侧运行的是安全强相关的功能。而由于ARM  TrustZone的硬件隔离作用,其相互之间的交互只能通过机器指令SMC来使能切换,而实际的切换过程由ARM提供的TrustFirmware BL31 来提供 。

在硬件外部设备划分的过程中,一般情况下IRQ交由非安全侧处理,而ARM特有的FIQ则交由安全侧去处理,其具体哪些硬件和内存能够被安全侧和非安全侧访问可以通过硬件寄存器的配置来进行。

当需要由比如Linux向安全侧的OS传递请求等数据时,其本质是通过一块物理内存映射到非安全侧和安全侧来达成数据共享的作用的。而此部分内存也是整个TrustZone技术暴露在外的最大攻击面,由于数据交互的特有需求,所以这种在非安全侧和安全侧传递数据的内存是一定能够被两边访问的,作为信息传递的媒介,其和操作系统的用户态程序和内核态功能进行交互的内存十分相似,而我们能够拿来保护 用户态和内核态数据交互的内存保护方法也大部分都能够直接应用在保护 非安全侧和安全侧系统之间内存交互之上。

在早期的TrustZone应用中,在安全侧的处理逻辑大部分只是简单的函数调用,例如非安全侧将要加密的数据发送到安全侧,安全侧通过函数调用同步的完成加密或者解密的流程,并把结果返回给安全侧。这种实现相当的简单高效,能够处理很多简单的应用场景,但是其同时也存在很多问题:

1. 不利于扩展&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值