前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cortex-M和Cortex-A的TrustZone差异

Cortex-M和Cortex-A的TrustZone差异

作者头像
安智客
发布2019-08-26 16:21:53
1.5K0
发布2019-08-26 16:21:53
举报
文章被收录于专栏:安智客安智客

相信关注安全和嵌入式的开发者对TrustZone都不陌生,最近在我们的极术社区(www.aijishu.com)有网友询问Cortex-A和Cortex-M的TrustZone之间的差异,那么我们来简单介绍下。

Arm在2003年的Armv6开始就开始引入TrustZone,到Armv7-A和Armv8-A把TrustZone作为架构的可选的安全扩展。虽然TrustZone做架构的可选扩展,但是所有的Cortex-A的CPU都实现这个扩展,例如Cortex-A7,Cortex-A53,Cortex-A55,和最新的Cortex-A77等都支持TrustZone,并且得到非常广泛的应用,比较典型的场景如指纹识别、人脸识别、移动支付、企业应用、数字版权保护等等,都是基于TrustZone来实现保护的。

其实对于底层安全技术来说,无论是哪个场景的安全要求归结到硬件上面可以分为两点,一个对数据的访问,一个是对外设的控制。TrustZone天生就具备这样的优势,因为CPU分为安全状态和普通状态,结合地址空间控制器可以实现对不同的访问数据权限,结合总线和系统IP可以非常灵活控制外设的访问权限,网上有非常多的Cortex-A的TrustZone资料。

Arm从2015年把TrustZone引入到M系列,也是作为Armv8-M的可选的安全扩展,同样虽然是可选的安全扩展,但是Cortex-M23、Cortex-M33等CPU都实现TrustZone。为什么把TrustZone引入到M系列呢?因为越来越多的设备具备联网能力,只要能够联网都存在安全威胁,云服务商要确保只有可信的设备才能接入到他们的云服务,另外是设备端一般要把数据上传到云端,如果设备端不安全,数据的源头都不安全,那么上传到云端也没有价值,或者有负价值,所以说设备端是IoT安全的源头,确保设备的安全性是IoT安全的基础。

Cortex-A和Cortex-M的TrustZone在设计思想上是一样的,CPU都有两个安全状态,并且系统上的资源划分为安全资源和非安全资源,在非安全状态下只能访问非安全资源,在安全状态下能否访问所有的资源。但是M系列和A系列架构本身就存在差异,那么TrustZone从具体实现角度来看也存在差异,并且M系列资源比较有限和需要实时响应,在安全的具体设计时也不一样。

例如在A系列两个状态的切换只能通过monitor来切换,M系列的切换入口就比较多;M系列可以直接响应非安全中断,也可以直接调用非安全的代码;M系列的banked寄存器也会更多,在软件的差异上也比较大,A系列需要软件来保存上下文,M系列很多是通过硬件的方式自动保存......

实际上,Arm在网站介绍了Cortex-A和Cortex-M之间的差异的同时也提供了Armv8-M的TrustZone白皮书,点击“阅读原文”前往极术社区查看更多技术细节。

关注Arm中国,够深度,更精彩

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安智客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档