标签 TrustZone 下的文章

ARMv8-M的TrustZone可应对的攻击类型

在安全系统设计中,我们常会有一个问题就是:“这个系统到底有多安全?”而在TrustZone设计中,我们考虑了很多种攻击类型,比如:软件访问控制通过额外的系统组件,系统内存可以划分为Secure和Non-Secure空间,可以保护Secure空间不被Non-Secure模式访问。Secure Address的跳转通过SG指令和NSC空间的定义,可以保证系统只能在有效的Entry Point才能...

继续阅读 »

TrustZone系统测试(Test Target)指令

Test Target指令设计的主要目的是允许软件获取某个内存地址所属的安全属性(Secure Attribute)。Test Target(TT)指令可以查询内存地址的安全属性和访问权限。Test Target Unprivileged(TTT) 可以查询非特权模式下内存地址的安全属性和访问权限。Test Target Alternate Domain(TTA)和Test Target A...

继续阅读 »

TrustZone中Secure和Non-Secure模式的切换

ARMv8-M的TrustZone支持Secure和Non-Secure模式的直接切换。以下几个汇编指令是状态切换中要用到的比较重要的指令:指令描述SGSecure Gateway是状态切换的第一条指令BXNS用于安全模式切换到非安全模式BLXNS用于安全模式下的非安全函数调用一下是状态切换的一个框图:从非安全模式下调用安全模式函数也是允许的,不过entry point的第一条指令必须是SG...

继续阅读 »

TrustZone中的SAU模块寄存器

SAU内部的寄存器都是32位的,下表是SAU相关寄存器的一个列表:地址名称类型复位值处理器状态描述0xE000EDD0SAU_CTRLRW0x00000000SecureNon-SecureSAU控制寄存器RAZ/WI0xE000EDD4SAU_TYPERO0x0000000xSecureNon-SecureSAU类型寄存器,表征可用regions数目RAZ/WI0xE000EDD8SAU_...

继续阅读 »