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

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

3天内不再提示

瑞萨RA产品家族初学者指南-第11章(1)

瑞萨MCU小百科 来源:未知 2023-01-16 13:25 次阅读

瑞萨RA产品家族初学者指南》系列文章已收录成合集,欢迎点击上方查看合集并订阅!

11. 安全性和TrustZone

您将在本章中学到以下内容:

  • 什么是TrustZone以及它如何保护器件

  • Renesas的TrustZone可以带来哪些好处

  • 对应用的安全部分和非安全部分进行分隔的原理

  • 如何实现器件生命周期管理

安全性至关重要!必须从项目伊始就考虑到安全性,因为无法在后续流程中加入该要素。至少,无法避免费用高昂的重新设计工作,甚至还可能面临要重建整个应用。安全性可视为建筑物的地基:没有华丽的外表,而且其所需的设计和建造时间可能超过建造其他功能所需的时间总和。即便完成搭建,也可能感觉不到它的存在。但是,安全性对于互联环境中的所有应用都至关重要。

什么时候需要确保安全性?产品通过有线或无线接口(如WiFi、蓝牙USB以太网)进行通信时。存储十分重要的信息(如密钥、证书、密码、个人数据、测量数据或算法)时。产品升级(例如,进行固件更新、功能升级或购买付费服务)时。

因此,安全性涉及各种应用领域。安全性与“智能”世界息息相关,如智能电网、智慧城市、智能楼宇、智能家居、智能照明、智能手表、智能电器或智能服装等。它还会影响到物联网工业应用,因为传感器机器人技术、楼宇自动化或农业也需要确保安全性。还有医疗应用,人命关天,必须谨慎对待安全问题。

瑞萨的RA产品家族微控制器支持以多种方式来创建安全应用:通过搭载Arm Cortex-M4、-M23或-M33内核的器件上的安全加密引擎,通过搭载Cortex-M4或-M23内核的器件上的安全内存保护单元,也可以通过搭载Cortex-M33内核的MCU上瑞萨对Arm的TrustZone的自有实现。本章将讨论最后一种方式。

最后值得一提的是:大多数RA产品家族MCU均已通过PSA Certified 1级认证,其中RA6M4 MCU系列已通过PSA Certified 2级认证。其中包括对采用Trusted Firmware M (TF-M)的RA产品家族灵活配置软件包进行PSA功能API认证。多个RA产品家族MCU系列已通过SESIP1认证,无论选择何种软件平台,都能确保实现基本的安全功能。此外,安全加密引擎获多项NIST CAVP认证,可确保各种加密功能正常发挥作用。从而增强了用户面向互联环境开发安全产品时的信心。

本章目录

  1. 什么是TrustZone,它有什么作用?

  2. 安全环境和非安全环境的划分

  3. 器件生命周期管理

  4. TrustZone用例

11.1 什么是TrustZone,它有什么作用?

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

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

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

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

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

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

使用TrustZone时,非安全环境(非安全处理环境(NSPE))中的代码无法直接访问安全环境(安全处理环境(SPE))中的内容。举例来说,这意味着非安全环境不能更改或使用安全环境中的密钥或证书。只有位于安全环境中的代码才能进行此操作。这可以实现IP保护和沙盒,并减少关键组件的攻击面,同时还可简化嵌入式器件的安全评估。因此,如果微控制器中存在需要保护的知识产权(IP),请将其放置在安全环境中!

e63c74f6-955b-11ed-bfe3-dac502259ad0.jpg

图11-2:TrustZone支持对安全区域和非安全区域进行隔离

在安全和非安全状态下都可以访问非安全环境中的函数和数据,而非安全环境中的例程只能通过调用位于非安全可调用环境(NSC)的跳板来访问安全环境中的服务。通过此方式提供一个进入安全环境的确定入口点。

虽然Arm对TrustZone的原始定义适用于闪存、RAM和内置组件(如SysTick定时器或MPU),并要求将应用程序代码和数据与安全项目分离,但其不包括对DMA控制器或外设分离的保护。

瑞萨扩展了这一概念,并将TrustZone过滤器应用于其他总线以及引脚和外设。总线过滤器可防止非安全代码通过DMA、DTC和类似机制提取安全代码和数据。换句话说:它可以防止外设访问不应该访问的内存。另一方面,应用于引脚和外设的TrustZone过滤器允许锁定引脚,使其仅可供安全环境访问,而不支持从任何位置进行访问。

这不仅可保护外部接口,而且还能防止非安全代码窃听引脚。例如,位于非安全环境中的恶意代码不能监听分配给安全环境的引脚状态,也不能重建通过UART进行的传输内容。非安全代码也不能覆盖输出。

瑞萨还确保在启动时没有安全漏洞。其他制造商在其实现中使用软件配置的安全属性单元(SAU),这导致TrustZone在复位后短时间内处于未配置状态,瑞萨决定在其RA产品家族中使用实现定义属性单元(IDAU),通过非易失性寄存器配置。这意味着,在获取复位向量时,也就是在执行任何应用程序之前,已经配置了TrustZone并且保证器件是安全的。安全属性通过SCI(片内工厂)引导模式在非易失性内存中设置,应用程序无法修改其内容,只能读取其内容。

还需要注意:仅通过使用TrustZone不能实现应用的安全。仅使用TrustZone并不意味着该器件已具备安全保护。TrustZone只是安全工具箱中可选择的一款工具,必须以正确的方式使用才能发挥作用。如果安全应用程序本身存在漏洞(如不合规范的代码),则TrustZone自身并不能避免被攻击。安全代码必须验证其正确性和可信度。

但TrustZone有助于提供并执行信任根(RoT)。RoT是始终可信赖的源,也是所有安全操作、数据和算法的基础。它不仅使代码和数据完整性和隔离、系统验证、薄膜或身份验证之类的服务可用于当前或其他受信任的系统或器件,而且还包含密钥、证书或密码。但这也意味着,如果信任根遭到破坏,则完全丧失保护功能。

TrustZone通过将敏感数据存储在安全环境中来对数据和固件提供保护。它还可以将关键软件预装为安全固件,并将外设配置为仅允许从安全环境访问,从而提供操作保护。

有关TrustZone的更多信息和更详细的解释,您可以识别下方二维码或复制对应的网址在浏览器中打开查看Arm文档:

e6598e42-955b-11ed-bfe3-dac502259ad0.png

https://developer.arm.com/documentation/den0013/d/ARM-Architecture-and-Processors/Architecture-history-and-extensions/Security-Extensions--TrustZone-?lang=en

但请注意,Arm通常采用术语“受信任”和“非受信任”,其定义直接对应于“安全”和“非安全”。


原文标题:瑞萨RA产品家族初学者指南-第11章(1)

文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。


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

    关注

    146

    文章

    16017

    浏览量

    343627
  • 瑞萨
    +关注

    关注

    32

    文章

    22214

    浏览量

    84915

原文标题:瑞萨RA产品家族初学者指南-第11章(1)

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    国内哪家的FPGA适合初学者

    如题,想着手学习FPGA的话,国内哪家的比较好,更适合初学者学习?这方面的经验,是一点都没。
    发表于 04-14 19:17

    瑞萨电子RA产品家族新增RA0E1 MCU产品

    瑞萨电子RA产品家族新增RA0E1 MCU产品组。RA0E1系列是一款低功耗、低成本微控制器,结
    的头像 发表于 04-11 15:17 354次阅读
    瑞萨电子<b class='flag-5'>RA</b><b class='flag-5'>产品</b><b class='flag-5'>家族</b>新增<b class='flag-5'>RA</b>0E1 MCU<b class='flag-5'>产品</b>组

    初学者请问各位大佬

    为什么在89C51单片机中R1可以提供低地址 在外部扩展RAM中不是P0口提供低8位地址P2口提供高8位地址吗初学者有些不理解望各位大佬解答一下谢谢
    发表于 02-23 16:39

    RA家族QE电机应用开发指南

    电子发烧友网站提供《RA家族QE电机应用开发指南.pdf》资料免费下载
    发表于 01-31 09:57 0次下载
    <b class='flag-5'>RA</b><b class='flag-5'>家族</b>QE电机应用开发<b class='flag-5'>指南</b>

    分享给嵌入式初学者

    电子发烧友网站提供《分享给嵌入式初学者.doc》资料免费下载
    发表于 11-08 10:46 0次下载
    分享给嵌入式<b class='flag-5'>初学者</b>

    面向CAN总线初学者的入门教程

    本资料是CAN初学者的入门书,对 CAN 是什么、CAN 的特征、标准规格下的位置分布等、CAN 的概要及 CAN 的协议进行了说明。
    发表于 10-20 17:25 1次下载

    初学者入门

    太好了,初学者学习慢慢消化中……
    发表于 09-21 13:50

    BMS架构的初学者指南,电池管理系统bms的功能包括哪些

    电池技术的持续转型促使许多新人学习设计电池管理系统。本文提供了电池管理系统(BMS)架构的初学者指南,讨论了主要功能块,并解释了每个模块对电池管理系统的重要性。
    的头像 发表于 07-12 15:41 2259次阅读
    BMS架构的<b class='flag-5'>初学者</b><b class='flag-5'>指南</b>,电池管理系统bms的功能包括哪些

    初学者工具包-沙漏(个人模组)

    电子发烧友网站提供《初学者工具包-沙漏(个人模组).zip》资料免费下载
    发表于 06-26 09:43 0次下载
    <b class='flag-5'>初学者</b>工具包-沙漏(个人模组)

    初学者快速判断并查找出LED显示屏故障的方法

    LED显示屏故障分析对于初学者来说直接、有效的方法就是排除法,LED显示屏主要由三大硬件部分组成:控制卡、单元板、开关电源。LED显示屏故障分析对于初学者来说直接、有效的方法就是排除法,LED显示屏主要由三大硬件部分组成:控制卡、单元板、开关电源。
    的头像 发表于 06-15 14:48 781次阅读
    <b class='flag-5'>初学者</b>快速判断并查找出LED显示屏故障的方法

    《GD32 MCU原理及固件库开发指南》+读后感

    4~8偏重实践,主要以实例来讲解工程应用。如果你是一名经验丰富的资深用户,对GD32 MCU已经有了一定的了解,可以从4开始阅读。如果你是一名
    发表于 06-06 21:52

    FPB-RA6E1快速原型板】CoreMark移植完全指南——UART输出和SysTick计时

    性能的程序,类似PC上的Cinebench、CPU-Z之类的CPU性能测试工具。 了解了CoreMark是什么之后,接下来我们尝试在FPB-RA6E1快速原型板上跑一下CoreMark,看看分数
    发表于 05-28 17:18

    PLC初学者必须掌握的梯形图

    PLC初学者必须掌握的七大梯形图
    发表于 05-25 16:44 4次下载

    FPB-RA6E1快速原型板】简单开箱和RASC+Keil开发环境搭建

    是——FPB-RA6E1快速原型板。 按照惯例,先来个简单的开箱。 拆开快递,首先看到的是开发板包装盒: 可以看到生产日期、批号等信息,以及“MADE IN UK”一行字(英国制造)。 打开
    发表于 05-22 23:13

    RA MCU创意氛围赛】以RA2E的车载VFD屏幕时钟

    引言 很高兴能有机会参加【RA MCU创意氛围赛】,在以前学习stm32的时候,就是野火的开发板、文档以及视频带我入门的。现在有空体验一下野火的产品——
    发表于 05-21 17:02