赞
踩
TrustZone是ARMv8-M的一个安全扩展选项,主要目的是为各种嵌入式应用提供一个完善的安全系统平台。
TrustZone并不是一个新的概念,实际在Cortex-A中已经存在多年,现在这个概念被扩展到ARMv8-M处理器中。
总的来讲,ARMv8-M的TrustZone技术和Cortex-A系列基本类似。二者的处理器都有安全和非安全两种模式,非安全模式只能访问非安全的存储空间。ARMv8-M中TrustZone的设计考虑到了资源和效率两个方面。和Cortex-A系列中TrustZone不同的是,它的安全和非安全空间的划分是基于地址空间的,模式的转换也是在异常处理中自动完成的。
TrustZone在ARMv8-M和Cortex-A系列中的差异:
ARMv8-M中TrustZone做了很多低功耗相关的优化:
ARM的TrustZone技术将系统和软件划分为安全和非安全两个模式,安全软件可以访问安全和非安全模式下的内存和资源,而非安全模式只能访问非安全模式的内存和资源。线程[1]和中断下两种模式是正交的,也就是两种模式均支持线程和中断。
如果系统实现了安全模块,那么系统默认会从安全模式启动。如果没有安全模块,那么系统总会在非安全模式。TrustZone技术允许CPU获取当前的安全状态。但是TrustZone技术并不包含安全的每个方面,比如它并没有加密模块。下图是一个划分了安全和非安全模式的处理器框图:
处理器框图
在实现ARMv8-M安全模块的时候,很多关键组件都要用安全模式下的组件替换,这些关键组件包括:
安全应用扩展
安全(信任)和非安全(非信任)软件可以同时工作,但是非安全应用不能直接访问安全资源。也就是所有的对安全资源的访问都要通过API的形式访问,这些API由安全应用提供。API的访问需要鉴权,通过这种形式,即使非安全应用中有漏洞,黑客也不能破解整个芯片。
作者:Love_Jane
链接:https://www.jianshu.com/p/497055a2df9b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。