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

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

3天内不再提示

如何在ICU-S和ICU-M设备上实现安全启动

星星科技指导员 ? 来源:瑞萨电子 ? 作者:Satoshi Yamanaka ? 2022-04-24 15:24 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这篇博客文章是三部分系列的第 2 部分,旨在让读者基本了解什么是安全启动以及为什么需要它。

RH850 MCU 上有 2 种安全 IP,ICU-S 和 ICU-M。在这篇博客文章中,我们介绍了如何在这两种类型的设备上实现安全启动。

ICU-S 和 ICU-M 中的安全启动可以基于 HIS(现为 AUTOSAR)安全硬件扩展(SHE)规范来实现。如果您想了解有关 SHE 规范的更多信息,请参阅 AUTOSAR SHE(URL:安全硬件扩展规范 (autosar.org))。每个人都可以从 AUTSAR SHE 站点获得 SHE 规范。

poYBAGJk-zqAV8CaAAFIcExJfYU427.png?itok=r4mxjuL-

pYYBAGJk-zqAbWjqAAEW0Re6Pb4220.png?itok=nyvCWJjK

RH850上使用ICU-S的安全启动实现方法

ICU-S 是相当于 EVITA light 的智能密码单元。

安全软件适用于 ICU-S MCU 中的主处理器元件 (MainPE)。MainPE 可以通过 ICUS 的特殊功能寄存器接口使用 ICU-S 模块中的硬件资源,例如加密加速器和安全密钥存储。

poYBAGJk-zuAYz6iAACdQ0rMihI094.png

ICU-S 没有专用的纯安全 CPU。安全启动从非安全 CPU (PE1) 运行。为防止篡改,初始安全启动逻辑存储在一次性程序 (OTP) 存储器中。重置向量必须指向这个不可变的代码以防止篡改。与 OTP 一起,ICUS 设备上的安全启动使用安全启动 MAC 密钥和存储在 ICUS 中受保护的安全启动 MAC 插槽。在这个策略中,OTP 内存和ICUS 创建了信任根。

方法总结:

硬件信任根:

OTP闪存和ICUS中受保护的密钥存储

防篡改:

MAC 和 MAC 密钥安全地存储在受保护的 ICUS 内存中

密码算法

CMAC ( NIST SP 800-38B )

pYYBAGJk-zyAM5CDAADUaored8I151.png?itok=1c6YS1U3

在 RH850 上使用 ICUS 的分段安全启动示例:

MCU 复位后,CPU(PE1) 启动并运行位于 OTP 内存中的安全启动程序。

安全引导程序验证用户程序 A。

安全启动程序根据用户程序 A 和启动 MAC 密钥计算 CMAC 值。

安全启动程序验证计算结果和“程序 A 的 CMAC 值” (注 1)。

如果步骤 2 中的验证通过,PE1 运行用户程序 A,并在 ICU-S 的帮助下验证用户程序 B。

与步骤 2 相同(程序 A -》 程序 B)。

如果步骤 3 中的验证通过,则 PE1 执行用户程序(程序 B)。

注 1:“程序 A 的 CMAC 值”可以注册在 ICU-S 管理的安全数据闪存上

RH850上使用ICU-M的安全启动实现方法

ICU-M 是符合 EVITA 中等用例的瑞萨智能密码单元。

具有 ICU-M 的 MCU 有一个单独的 ICU-M 处理器,称为智能密码单元处理器 (ICUP)。安全软件完全在 ICUP 上运行。ICUP 可以独占访问 ICU-M 中的硬件资源,例如加密加速器和安全闪存。此外,ICUP 可以访问一些共享资源以与主处理器元件 (MainPE) 进行通信

在 MainPE 上运行的应用软件不能直接访问 ICU-M 中的资源,例如加密加速器和安全闪存。因此,MainPE 必须通过定义好的通信接口向 ICUP 请求安全服务。该接口由 ICUM 固件设计定义。具有 ICUM 的 MCU 支持通过共享内存邮箱和处理器间中断进行处理器间通信。

poYBAGJk-zyAU2aTAADQoTns4cc646.png

在具有 ICUM 的设备上,安全启动从安全 ICUP 运行。初始安全启动逻辑存储在仅 ICU-M 可访问的安全代码存储中。安全启动实施使用存储在受保护 ICUM 数据闪存中的安全启动密钥验证应用程序。安全启动密钥和 ICUM 构成了硬件“信任根”。复位后, ICUP 首先启动并执行应用软件的安全启动。验证后, ICUP 将 MCU 中的其他处理器元件从复位状态释放并开始运行。如前所述,ICU-M 中的硬件资源,例如加密加速器和安全闪存,由 ICUP 独占访问。

方法总结:

硬件信任根:

ICU-M硬件。和安全代码闪存上的安全启动程序。(攻击者无法更改受 ICU-M 硬件保护的安全启动程序)

防篡改:

引导 MAC 存储在受保护的数据闪存中,只有 ICUM 可以访问。

密码算法:

CMAC ( NIST SP 800-38B )

RSA 数字签名算法

poYBAGJk-z2AYeebAADs-sL4SKI550.png?itok=bPZfzuM6

在 RH850 MCU 中使用 ICUM 的分阶段安全启动示例(对称算法)

ICUP 配置为 MCU 复位后的引导处理器。

用户程序 A 由 ICU-M 中的安全启动程序验证。

安全启动程序根据用户程序 A 和启动 MAC 密钥计算 CMAC 值。

安全启动程序验证计算结果和“程序 A 的 CAMC 值”。

如果步骤 2 中的验证通过,CPU(PE1) 由 ICUM(安全软件)启动

PE1 运行用户程序 A 并验证用户程序 B 使用安全软件。

与步骤 2 相同(程序 A -》 程序 B)。

如果步骤 4 中的验证通过,则用户程序 B 由 PE1 操作。

pYYBAGJk-z2ARafuAADs5JGM04I242.png?itok=EvAWToXV

在 RH850 MCU 中使用 ICUM 的分阶段安全启动示例(非对称算法)

ICUP 配置为 MCU 复位后的引导处理器。

用户程序 A 由 ICU-M 中的安全启动程序验证。

安全启动程序计算来自用户程序 A 的消息摘要(哈希)。

安全启动程序根据程序 A 的签名和公钥计算消息摘要。

安全启动程序验证这两个消息摘要。

如果步骤 2 中的验证通过,CPU(PE1) 由 ICUM(安全软件)启动

PE1 运行用户程序 A 并验证用户程序 B 使用安全软件。

与步骤 2 相同(程序 A -》 程序 B)。

如果步骤 4 中的验证通过,则用户程序 B 由 PE1 操作。

结论

总之…

ICU-S和ICU-M可以做“信任根”和“信任链”。

ICU-S 和 ICU-M 中的安全启动可以基于 AUTOSAR (SHE) HIS 实现。

ICU-M中的安全启动可以基于签名验证来实现。

审核编辑:郭婷

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

    关注

    68

    文章

    19953

    浏览量

    237441
  • mcu
    mcu
    +关注

    关注

    146

    文章

    18074

    浏览量

    370830
  • 存储器
    +关注

    关注

    39

    文章

    7663

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    医院手术室、ICU 必装!安科瑞医疗 IT 方案,为生命安全 “双保险”

    在医院手术室、ICU/CCU 等 2 类医疗场所,电子医疗设备与患者身体直接接触 —— 手术电极、监护传感器插入人体时,哪怕是0.2mA 以下的微小漏电流,都可能引发致命风险。如何从电力源头杜绝隐患
    的头像 发表于 08-12 15:20 ?120次阅读
    医院手术室、<b class='flag-5'>ICU</b> 必装!安科瑞医疗 IT 方案,为生命<b class='flag-5'>安全</b><b class='flag-5'>上</b> “双保险”

    适配器电源管理ic U95153构筑电源管理安全守护网

    适配器电源管理icU95153构筑电源管理安全守护网YLBU95153电源适配器能够根据设备的需求,精确调节输出电压和电流。无论是输入电压的波动,还是负载的变化,它都能迅速响应,确保输出稳定,为
    的头像 发表于 08-07 16:20 ?171次阅读
    适配器电源管理ic U95153构筑电源管理<b class='flag-5'>安全</b>守护网

    5v2a小功率离线式手机充电器ic U95143

    5v2a小功率离线式手机充电器icU95143YINLIANBAO手机充电器ic是充电设备中的核心部件,关乎充电效率与安全性。在寻找高效充电解决方案时,不妨考虑深圳银联宝的这款手机充电器
    的头像 发表于 07-17 16:18 ?249次阅读
    5v2a小功率离线式手机充电器ic U95143

    救命设备不能停!UPS电源如何守护医疗ICU/手术室的生命防线?

    一、核心作用与价值1.保障关键设备持续运行手术室与ICU:UPS电源在市电中断时实现0ms无缝切换,确保麻醉机、监护仪、呼吸机等设备持续运行,避免手术中断或患者生命危险。案例:某三甲医
    的头像 发表于 07-04 09:56 ?269次阅读
    救命<b class='flag-5'>设备</b>不能停!UPS电源如何守护医疗<b class='flag-5'>ICU</b>/手术室的生命防线?

    何在MCXN947微控制器配置安全启动和生命周期

    本文档旨在介绍如何在MCXN947微控制器配置安全启动和生命周期,以确保产品在量产阶段的安全性,防止代码被窃取和篡改,并且能够
    的头像 发表于 06-26 09:49 ?1383次阅读
    如<b class='flag-5'>何在</b>MCXN947微控制器<b class='flag-5'>上</b>配置<b class='flag-5'>安全</b><b class='flag-5'>启动</b>和生命周期

    I2C EEPROM无法从FX3S USB控制器启动怎么处理?

    后,重新启动电路板,只有一次显示 BULKLOOP。 我再次重新启动了主板,但要求 USB 启动增益(引导加载程序设备),而不是从 EEPROM
    发表于 05-20 07:47

    如何重新启动 FX3S 的枚举过程?

    。 然而,我面临的一个问题是,如果 FX3S 最初没有连接到 USB 3.0 电缆和 PC,它就不会重新启动枚举过程。 在这种情况下,有人能指导我如何重新启动 FX3S 的枚举过程吗?
    发表于 05-19 07:34

    何在Android设备安装Cyusb3014芯片驱动?

    1.如何在Android设备安装Cyusb3014芯片驱动? 我们在 Windows 上有 FX3 驱动程序 SDK。 2.如何在Android系统上下载固件到芯片中?
    发表于 05-15 07:23

    优化模式下低启动低消耗的充电器ic U6018

    优化模式下低启动低消耗的充电器icU6018集成电路的启动电流主要用于激活电路中的各个组件,确保它们达到正常工作所需的电压和电流条件。启动电流的大小对于电路的稳定性和可靠性至关重要,过
    的头像 发表于 03-13 16:15 ?398次阅读
    优化模式下低<b class='flag-5'>启动</b>低消耗的充电器ic U6018

    【瑞萨RA2L1入门学习】05、待机模式按键外部中断唤醒 低功耗测试

    查看到串口打印的时间。点按一下开发板的用户按键,进入待机模式,再按一下则恢复正常工作模式。待机模式下RTC实时时钟正常计数,可以通过这个方法来实现低功耗日历的设计。 最后关心一下功耗到底如何,因为
    发表于 01-29 23:08

    适配器电源IC U231X集合高效率、安全性、小体积多重优势

    适配器电源ICU231X集合高效率、安全性、小体积多重优势快充协议的多样化,给适配器产品的设计和开发带来了很大的挑战。除此之外,快充效率、安全性、体积、兼容性等因素,也是用户在选择适配器时的重要考虑
    的头像 发表于 01-09 16:19 ?658次阅读
    适配器电源IC U231X集合高效率、<b class='flag-5'>安全</b>性、小体积多重优势

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】按键点灯:使用轮询方式和中断方式实现

    本篇实现一个简单的功能:按键点灯 也就是按下按钮(SW1:P005)灯点亮(LED1:P207) 电路如下图: 或者说实现功能:P005为低电平时,P207为高电平。 有两种方式实现: 1:轮询
    发表于 12-21 22:22

    buildroot中添加nodejs后推荐加哪些包?

    现有一IoT中运行的nodejs 16项目,计划用buildroot部署在设备。我将开发板中的buildroot升级后,成功编译运行了nodejs16本体。但在启动项目、依赖等时遇到各种“依赖
    发表于 11-01 12:57

    何在反激式拓扑中实现启动

    电子发烧友网站提供《如何在反激式拓扑中实现启动.pdf》资料免费下载
    发表于 09-04 11:09 ?0次下载
    如<b class='flag-5'>何在</b>反激式拓扑中<b class='flag-5'>实现</b>软<b class='flag-5'>启动</b>

    何在DRA821U使用Linux实现快速引导

    电子发烧友网站提供《如何在DRA821U使用Linux实现快速引导.pdf》资料免费下载
    发表于 09-03 10:11 ?0次下载
    如<b class='flag-5'>何在</b>DRA821U<b class='flag-5'>上</b>使用Linux<b class='flag-5'>实现</b>快速引导