0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TrustZone介绍及用途

瑞萨嵌入式小百科 来源:野火电子 2025-04-08 09:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

2.3.1什么是TrustZone,它有什么作用

TrustZone是Arm开发的一项核心技术,作为Armv8-M架构的一部分,通过强制硬件隔离提供系统级安全措施。TrustZone要求在软件中划分安全和非安全MCU区域对应的逻辑分区,从而创建受保护的环境。该技术通常在搭载ArmCortex-M33内核的器件上实现,个别情况下也在搭载ArmCortex-M23内核的器件上实现。

6fbdd1b8-1041-11f0-9310-92fbcf53809c.png

内存区域划分为三个不同的分区:

一个安全分区,用于密钥存储和数据解密等受信任或受保护的IP;

一个非安全分区,用于常规应用;

以及一个非安全可调用分区,用作其他两个分区之间的网关。

通过最后一个非安全可调用分区,位于非安全分区中的代码可以调用安全分区中的服务。此功能可以通过跳板(veneer)实现,支持隔离安全分区和非安全分区。

6fd2ce4c-1041-11f0-9310-92fbcf53809c.jpg

如上图所示:TrustZone支持对安全区域和非安全区域进行隔离。在安全和非安全状态下都可以访问非安全环境中的函数和数据,而非安全环境中的例程只能通过调用位于非安全可调用环境(NSC)的跳板来访问安全环境中的服务。通过此方式提供一个进入安全环境的确定入口点。

2.3.2安全环境和非安全环境的划分

现在我们已经清楚,程序需要划分为安全和非安全环境,我们该如何相应地对软件进行分区?为此,基于TrustZone的系统始终包含两个不同的项目:一个安全项目,另一个是非安全项目。二者都可以利用SRAM以及代码和数据闪存,但只有安全代码可以直接访问两个(安全和非安全)分区。

可借助e2studio中的项目配置器设置这些项目。创建新项目后,系统将提示您选择项目应具有的类型。

Flat扁平化(非TrustZone)项目

TrustZone安全项目

TrustZone非安全项目

注解:

关于TrustZone的具体应用方法请参考本教程的最后章节的TrustZone应用示例。与安全环境和非安全环境的划分相关的内容包括:跨边界的函数调用、从安全代码到非安全代码的回调、保护函数等。

2.3.3器件生命周期管理(DLM)

器件生命周期(DLM)定义了器件寿命的不同阶段,并控制调试接口、串行编程接口和瑞萨测试模式的功能。出于安全原因,这样便可将位于安全环境中的代码的编写与在非安全环境中运行的应用程序的编写分开,并且可以由两个独立的团队来开发产品:由安全开发人员团队创建信任根(RoT)或孤立的子系统,并由非安全环境的设计人员创建使用该RoT或子系统的应用程序。灵活配置软件包(FSP)和e2studio支持这种设计划分。

安全环境的代码准备就绪后,可将其预先烧录到器件中,并将生命周期设置为NSECSD,从而锁定安全环境,或者作为捆绑包由非安全项目引用。应用程序设计人员将以此作为起点,在非安全环境中编写应用程序,对其进行调试,然后将其烧录到器件中。如果需要,他们还可以禁用所使用的闪存模块的编程和擦除功能。最后一步,将生命周期的状态设置为已部署、调试锁定或引导锁定。这样一来,整个器件可获得保护,并且不能对编程接口和器件进行调试、读取或编程。如下图显示了器件生命周期可能的状态和转换。

器件生命周期管理的不同状态:

6fe3a8e8-1041-11f0-9310-92fbcf53809c.png

有三种不同的调试访问级别,它们视生命周期的状态而变化:

DBG2:允许调试器连接,访问存储器和外设没有任何限制。

DBG1:允许调试器连接,但访问只限于非安全内存区域和外设。

DBG0:不允许进行调试连接。

下面的表格提供了对每个生命周期的解释:

6fffd540-1041-11f0-9310-92fbcf53809c.png

可以使用瑞萨闪存编程器(RenesasFlashProgrammer(RFP))或瑞萨器件分区管理器(DevicePartition Manager)执行从一种状态到另一种状态的转换,但后者可选择的状态有限。可以通过使用身份验证密钥来保护状态之间的转换。有关不同DLM状态和器件特定转换的更多信息,请参见相应微控制器的用户手册。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18634

    浏览量

    387619
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9501

    浏览量

    388864
  • 瑞萨
    +关注

    关注

    36

    文章

    22432

    浏览量

    89779
  • 生命周期
    +关注

    关注

    0

    文章

    18

    浏览量

    7547
  • trustzone
    +关注

    关注

    0

    文章

    22

    浏览量

    12871
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    embOS如何支持Arm TrustZone

    通过ARMv8-M架构支持的TrustZone技术,可以将关键安全固件和私有程序(如安全引导、固件更新和密钥)与其余应用程序隔离,极大降低被攻击的可能性,增加嵌入式系统安全。SEGGER的embOS目前已支持ARMv8-M TrustZone,这使得embOS成为高效、安
    发表于 09-22 12:16 1032次阅读
    embOS如何支持Arm <b class='flag-5'>TrustZone</b>

    TrustZone结构化消息是什么?

    大家好,我已阅读任何与TrustZone相关的内容,但我无法弄清楚这两个世界是如何相互沟通的。我所能找到的只是TrustZone API规范中的内容:客户端和服务可以通过两种机制进行通信:结构化
    发表于 03-20 08:58

    介绍Cortex-A和Cortex-M的TrustZone之间的差异

    相信关注安全和嵌入式的开发者对TrustZone都不陌生,最近看到有网友在问Cortex-A和Cortex-M的TrustZone之间的差异,我们来简单介绍下。Arm在2003年的Armv6开始
    发表于 07-13 14:45

    了解体系结构-适用于AArch64的TrustZone介绍

    在本指南中,我们介绍TrustZoneTrustZone通过内置在CPU中的硬件强制隔离,提供了一种高效的全系统安全方法。 我们介绍Trust
    发表于 08-10 07:02

    ARMv8-A TrustZone软件对实施SVE的系统的影响

    本文档介绍ARMv8-A[ARMv8]的可伸缩向量扩展[SVE]对在应用程序处理器上以安全状态执行的软件的影响。 本文档考虑了部署现有ARMv8-A TrustZone软件对实施SVE的系统的影响,并为实施SVE的系统更新该软件和设计未来的安全软件提供了建议
    发表于 08-23 06:17

    STM32 MCU TrustZone开发调试技巧分享

    系统隔离与ARM V8-M TrustZone技术、TrustZone地址安全区及资源安全属性配置、TrustZone架构下的HardFault调试与处理 、TrustZone环境中外
    发表于 09-05 06:16

    ARM TrustZone技术对Zynq SoC的作用

    现在,你可以通过阅读“对Xilinx Zynq-7000 All Programmable SoC中的ARM TrustZone架构进行编程”这本新鲜出炉的用户手册,来理解怎样更好的使用Zynq
    的头像 发表于 08-01 08:28 4026次阅读
    ARM <b class='flag-5'>TrustZone</b>技术对Zynq SoC的作用

    物联网安全-基于Cortex-M处理器的TrustZone技术简介(1)

    物联网安全-基于Cortex-M处理器的TrustZone技术简介(1)Trustzone 技术介绍TrustZone的特性Register bankingTrustZone 技术可以
    发表于 12-01 11:36 8次下载
    物联网安全-基于Cortex-M处理器的<b class='flag-5'>TrustZone</b>技术简介(1)

    AN5347_STM32L5系列TrustZone®功能

    AN5347_STM32L5系列TrustZone®功能
    发表于 11-21 08:11 0次下载
    AN5347_STM32L5系列<b class='flag-5'>TrustZone</b>®功能

    Arm® TrustZone® 技术简介

    一.前言 本文对TrustZone 进行简单的介绍,不涉及具体的技术细节,旨在有一个概念性的感性的理解,后面有机会再分享几篇更详细的技术细节介绍和实际应用案例。 本文后续内容以瑞萨的RA系列为例
    的头像 发表于 07-04 08:44 4421次阅读
    Arm® <b class='flag-5'>TrustZone</b>® 技术简介

    STM32 MCU TrustZone开发调试技巧分享

    电子发烧友网站提供《STM32 MCU TrustZone开发调试技巧分享.pdf》资料免费下载
    发表于 07-28 13:35 1次下载
    STM32 MCU <b class='flag-5'>TrustZone</b>开发调试技巧分享

    调试TrustZone时,如何处理HardFault?

    调试TrustZone时,如何处理HardFault?
    的头像 发表于 09-27 16:33 1279次阅读
    调试<b class='flag-5'>TrustZone</b>时,如何处理HardFault?

    STM32L5中如何关闭TrustZone

    电子发烧友网站提供《STM32L5中如何关闭TrustZone.pdf》资料免费下载
    发表于 09-20 09:41 0次下载
    STM32L5中如何关闭<b class='flag-5'>TrustZone</b>

    armv9-动态Trustzone技术的介绍

    十多年来,TrustZone 一直在基于 Arm 的设备上成功保护媒体 pipelines 。在此期间,这些设备的要求随着比特率、分辨率、帧率、图像质量和用户界面创新而显着增长。所有这些都在突破最初的设计限制。
    的头像 发表于 11-10 16:39 1709次阅读
    armv9-动态<b class='flag-5'>Trustzone</b>技术的<b class='flag-5'>介绍</b>

    STM32 TrustZone 开发调试技巧

    电子发烧友网站提供《STM32 TrustZone 开发调试技巧.pdf》资料免费下载
    发表于 12-18 11:16 2次下载
    STM32 <b class='flag-5'>TrustZone</b> 开发调试技巧