• 正文
    • 关于 TrustZone
    • TrustZone在项目中重要的作用
    • RA8 TrustZone工程
  • 相关推荐
申请入驻 产业图谱

Cortex-M85(RA8)单片机中 TrustZone 的含义和作用是什么?

04/03 11:05
707
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

作者 | strongerHuang

TrustZone,翻译过来叫:安全区、信任区。

TrustZone 是ARM引入的一项硬件级安全技术,旨在通过隔离敏感资源与非安全操作,为嵌入式系统提供更强的安全防护。

在最新的Arm Cortex-M85 内核中都包含 TrustZone 这项功能,当然,TrustZone 这项技术在十多年前就已经有了。我们之前分享的瑞萨 RA8 单片机里面也包含这项技术。

关于 TrustZone

TrustZone 是一种硬件强制隔离机制,将CPU、内存、外设等资源划分为安全区(Secure World)和非安全区(Non-secure World)。

通过硬件级别的权限控制,确保非安全代码无法直接访问安全区的关键资源(如加密密钥、固件等),从而抵御软件攻击或物理侧信道攻击。

在 Cortex-M85 (RA8单片机)中,TrustZone 基于 Armv8.1-M 架构实现,并针对RA8(MCU)场景优化,提供低延迟、低开销的安全隔离,适合实时性要求高的嵌入式应用。

TrustZone 的几点作用1、硬件级资源隔离内存与外设分区:每个内存块、外设均可标记为安全或非安全,非安全代码访问安全资源时会被硬件拦截。

安全状态切换:通过专用指令(如 SG/NSG)在安全/非安全状态间切换,确保关键操作(如密钥处理)仅在安全环境执行。

2、安全服务隔离

安全区可运行可信代码(如加密算法、安全启动、固件更新),非安全区运行普通应用,防止恶意代码窃取敏感数据。

支持安全回调机制,允许非安全代码通过受控接口调用安全服务(如签名验证),避免直接暴露安全逻辑。

3、防御多类攻击阻止软件漏洞(如缓冲区溢出)导致的安全区越权访问。

结合物理防护措施(如防篡改检测),增强对硬件攻击的抵抗。

TrustZone在项目中重要的作用

在座各位,应该有很多都是搞嵌入式开发的,相信或多或少都遇到过软件bug的时候。

其实,嵌入式开发,很多情况下的bug,都是由于内存的问题导致的。说白了,就是“非法”操作了内存地址。同时也有些bug是因为非法操作硬件导致的。

此时,如果引入TrustZone这种功能,能很大程度减少bug的发生。那么,TrustZone在项目中有哪些重要的作用呢?

1、提升系统安全性

敏感数据保护:密钥、证书等存储于安全区,即使应用层被攻破,攻击者也无法直接读取。

安全启动与固件更新:确保只有经签名的固件可在安全区执行,防止恶意固件注入。

2、 降低开发与部署成本

芯片集成安全功能:无需外置安全元件(SE),减少硬件复杂性和成本。

模块化开发:安全与非安全代码可独立开发,团队协作更高效(如安全团队负责安全区,应用团队负责非安全区)。

3、增强产品竞争力

适应严苛场景:适用于智能家居、医疗设备、车联网等高安全需求领域。

延长产品生命周期:通过可信任的远程固件更新,持续修复漏洞,降低召回风险。

RA8 TrustZone工程

基于瑞萨 e2 studio 可以快速创建一个 RA8D1_TrustZone工程。

主要就是在创建工程的时候,选择TrustZone Secure Project:

然后,官方也提供了工程例程:

生成的工程,和普通的工程,看起来没什么区别,但底层是发生了变化的。比较直观的就是:内存地址。通过工具其实都能看到一些变化信息。

今天就分享到这里,主要是一些基础的信息,更多还需要大家结合实际项目深入理解。希望对大家有所帮助。

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

作者黄工,从事嵌入式软件开发工作8年有余,高级嵌入式软件工程师,业余维护公众号『strongerHuang』,分享嵌入式软硬件、单片机、物联网等内容。