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

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

3天内不再提示

使用STM32Trust探索嵌入式系统安全的所有方面

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-11 09:45 次阅读

是否有可能将嵌入式系统的安全性从负担转变为祝福?这是 ST 试图通过STM32Trust回答的问题,该计划专注于我们为提高设备安全性而带来的所有软件和硬件解决方案。信息安全或信息安全可能是一个负担,因为它是一个如此广阔的领域。因此,帮助工程师意味着让 ST 工具更易于使用。事实上,利用系统提供的所有功能并不总是显而易见的。此外,获得严格认证的需求可能会增加成本并延迟产品发布。因此,开发人员需要解决方案来更快地实施重要保护。

使用 STM32Trust 探索嵌入式系统安全的所有方面

它是如何开始的以及进展如何

STM32Trust 是一个随着 ST 发布更多软件工具和产品而不断发展的程序。该计划于 2019 年开始,还帮助教育开发人员确保他们的知识是最新的。因此,ST 举办培训、发表论文、撰写文档并与合作伙伴合作以促进获得认证。换句话说,在一篇博文中详尽地解释 STM32Trust 的所有方面是徒劳的,这就是为什么ST 博客决定专注于一些核心解决方案,以帮助读者更好地了解他们如何在系统中实施安全性。

STM32Trust 的核心解决方案之一是X-CUBE-SBSFU(安全启动和安全固件更新)。简而言之,软件扩展包使开发人员能够实现安全启动并提供安全的固件更新系统。它是 STM32Trust 的重要支柱之一,同时也是我们的安全固件安装 (SFI)流程。后者可以将加密固件上传到微控制器中,以防止 IP 盗窃等。虽然 SBSFU 和 SFI 在 ST 推出 STM32Trust 时占据主导地位,但我们在产品组合中添加了新的解决方案。例如,可信固件-M (TF-M)有助于在我们的 STM32L5 微控制器上实现安全环境。同样,可信固件-A (TF-A)适用于 Cortex-A 设备,例如STM32MP1。因此,让我们深入研究这些产品,看看它们为 STM32Trust 带来了什么。

STM32Trust 和 X-CUBE-SBSFU:打造安全启动和安全固件更新

从头到尾保护用户

Secure Boot 是一个在启动或重置时运行的程序,通过检查文件大小或签名以确定是否有任何更改来验证引导文件的完整性。因此,它可以保护系统免受在引导序列期间想要破坏固件的攻击。另一种保护类型是安全固件更新。这种方法可以保护用户免受远程修改现有系统的攻击。实际上,当服务器发送部分或完整的加密固件映像更新时,嵌入式系统会通过 UART 将其传输到 MCU,系统会检查其真实性,然后在安装之前对其进行解密。

更容易实现

像 X-CUBE-SBSFU 这样的包允许开发人员更轻松地实现这些功能。例如,在我们的 STM32L4 上运行的 X-CUBE-SBSFU 代码获得了PSA 1 级认证。因此,工程师可以使用它更快地获得相同的认证。此外,ST 继续提供其源代码。因此,开发人员可以从我们的实施中学习并优化他们的应用程序。例如,我们的库可以生成大约 60 KB 的二进制文件,这对于一些小型嵌入式系统来说可能有点大。但是,优化操作使开发人员能够修剪代码并仅使用相关功能以适合他们的 MCU。

X-CUBE-SBSFU 还可以用于其他用途,因为它可以帮助团队利用各种 STM32Trust 工具。例如,它使用我们的X-CUBE-CRYPTOLIB库来优化加密操作。ST 最近对软件包进行了大修,以提供模块化方法和经过认证的代码。此外,X-CUBE-CRYPTOLIB 现在根据 MCU 分离库以更直观。X-CUBE-SBSFU 还增加了对STSAFE-A110的支持,STSAFE-A110是 STEVAL-STWINKT1B 上的防篡改安全元件,用于存储各种密钥和证书。

STM32Trust 和 TF-M 或 TF-A:创建可信环境

通过加密、验证和隔离实现安全

TF-M 和 TF-A 都是可信执行环境 (TEE) 的参考实现。前者适用于特定的 Cortex-M 内核,而后者适用于 Cortex-A 设备。顾名思义,关键是通过隔离和保护系统的各个方面来建立信任。例如,TF-M 和 TF-A 利用安全存储和加密操作来保护启动和更新过程。因此,它们提供了一种方法来保证安全启动机制和固件的完整性。它们还将运行时沙箱化,以防止问题影响整个系统,并启用密钥存储、证明和安全加密等服务。

在 Cortex-M 和 Cortex-A 设备上建立信任

希望在兼容的 STM32 微控制器上使用 TF-M 的开发人员将在其软件包中找到他们需要的东西。例如,在 STM32L5 上实现 TF-M 从 STM32CubeL5开始。该软件包具有安全启动、安全存储、安全隔离等重要功能的参考实现。因此,团队可以创建一个类似于 SFU 但具有标准隔离方案的机制。随着时间的推移,我们还将继续改进我们的参考实现,以利用更多功能。至于 TF-A,由于 MPU 的情况明显不同,ST 创建了一个Wiki 来指导工程师。它引导用户了解主要概念和软件工具,以快速实施参考环境。此外,开发人员还可以使用 OP-TEE,这是一种开放式可移植可信执行环境,可作为非安全 Linux 内核的配套解决方案。

STM32Trust 和 SFI:带来安全的固件安装

保护知识产权和防止盗窃

安全固件安装是一种保护客户二进制文件免受恶意活动影响的机制。很多时候,公司必须依靠第三方来组装他们的最终产品。问题是它会引起很大的焦虑和不确定性。装配线上的流氓员工或黑客可能会窃取固件,从而导致灾难性后果。安全固件安装通过在将固件运送给 OEM 之前对其进行加密来防止它。由于解密发生在代码在 MCU 内部时,IP 仍然是安全的,任何被盗的固件都是无用的。此外,公司甚至可以使用这种技术来跟踪固件安装的数量,以监控任何产品盗窃。

一张智能卡和 STM32CubeProgrammer

SFI 主要依赖于两个工具。开发人员使用STM32CubeProgrammer软件中提供的 Trusted Package Creator 实用程序加密他们的固件,并将他们的私钥和证书放置在采用智能卡形式的安全硬件模块中。

然后,团队将加密的二进制和智能卡运送到 EMS。装配线通过 UART、I《sup》2《/sup》C、USB 或 JTAG 通过 STM32CubeProgrammer 上传固件和密钥。然后,智能卡通过验证 MCU 并获取其唯一密钥来验证所有内容。该卡还发送一个私钥来解密二进制文件并为每个产品生成一个单独的许可证。该许可证使上传系统能够跟踪精确的安装次数。最后,ST 最近发布了新版本的智能卡,允许公司定义他们的目标设备。以前,MCU的型号是预先设置好的。使用新版本,公司可以加载它以享受更灵活的系统。

审核编辑:郭婷

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

    关注

    48

    文章

    7546

    浏览量

    151325
  • STM32
    +关注

    关注

    2270

    文章

    10896

    浏览量

    355767
收藏 人收藏

    评论

    相关推荐

    【「嵌入式系统设计与实现」阅读体验】+ 学习一个STM32的案例

    说明意法半导体在高校中推广是很成功的,很多学生一谈到嵌入式就想到STM32。今天学习的案例是“基于STM32的水果无损检测及分拣系统”。这个作品的技术难点其实不大,很容易想到它就是用视
    发表于 12-06 22:22

    嵌入式超火的方向有哪些?

    广泛的应用前景。 3.智慧城市 嵌入式技术在智慧城市中的应用中也十分重要。智慧城市中需要大量的传感器、控制器和其他设备来实现对城市环境、交通、公共安全等方向的监测和管理。 例如,利用嵌入式
    发表于 11-21 15:49

    什么是嵌入式操作系统?

    的战斗机。 FreeRTOS:它适合那些资源有限的小型设备,就像小巧的瑞士军刀。 QNX:它以安全和可靠著称,很多汽车和工业系统都用它,可以说是EOS中的沃尔沃。 Linux:虽然它不是专门为嵌入式
    发表于 11-08 15:07

    嵌入式Hypervisor:架构、原理与应用 阅读体验 +分离内核的嵌入式Hyperviso

    读后感:分离内核与SKH架构的深刻洞察 在阅读了关于分离内核和SKH(分离内核Hypervisor)的详细阐述后,我深感这一技术在现代计算机系统,尤其是嵌入式系统安全关键
    的头像 发表于 10-12 17:06 319次阅读
    <b class='flag-5'>嵌入式</b>Hypervisor:架构、原理与应用 阅读体验 +分离内核的<b class='flag-5'>嵌入式</b>Hyperviso

    嵌入式系统的原理和应用

    嵌入式系统是一种专用的计算机系统,其设计初衷是执行特定任务,而非作为通用计算机使用。这类系统通常作为更大系统的一部分,起到控制、监控或辅助的
    的头像 发表于 10-05 17:03 828次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,以及每个步骤的说明。 硬件选择 在开始
    的头像 发表于 09-02 09:11 480次阅读

    学习hypervisor嵌入式产品安全设计

    Hypervisor的设计与实现,涵盖嵌入式Hypervisor架构与核心组件、中断隔离技术、内存隔离技术、循环表调度器、健康监控、分区间通信技术、内核资源管理模型、系统初始化过程、内核服务
    发表于 08-25 09:11

    嵌入式系统中工业4.0网络安全

    C和C++在嵌入式系统中占主导地位。多年来,实施工业4.0和物联网的组织已经认识到所有代码中的信息安全性的重要性,特别是对于嵌入式设备中的C
    的头像 发表于 08-12 21:45 482次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>中工业4.0网络<b class='flag-5'>安全</b>

    从菜鸟到大牛!嵌入式完整学习路线:STM32单片机-RTOS-Linux

    嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为
    的头像 发表于 07-23 16:11 4084次阅读
    从菜鸟到大牛!<b class='flag-5'>嵌入式</b>完整学习路线:<b class='flag-5'>STM32</b>单片机-RTOS-Linux

    嵌入式系统怎么学?

    嵌入式系统怎么学? 随着物联网、智能制造等新技术的兴起,嵌入式系统的应用范围更加广泛。包括但不限于工业控制、汽车电子、医疗设备、智能家居、智慧城市、消费电子、通信设备等。学习
    发表于 07-02 10:10

    入门嵌入式系统这些知识你知道吗?

    嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的
    发表于 05-03 09:54 555次阅读

    使用STM32Trust构建安全的商业产品

    来自设备的网络连接及其传输的数据。这些努力与公司保护存储在嵌入式系统中的敏感IP的愿望相辅相成,这样他们的专有工作就无法被克隆或更改。此外,集成这些额外的安全措施符合公司的偏好,即系统
    的头像 发表于 04-02 18:05 1676次阅读

    嵌入式系统发展前景?

    应用领域。随着汽车电子化和智能化程度的不断提高,嵌入式系统将在汽车控制、安全系统、自动驾驶等方面发挥更为重要的作用。 工智能和机器学习技术的发展为
    发表于 02-22 14:09

    如何使用 DSC 和 MCU 确保嵌入式系统安全

    作者:Stephen Evanczuk 投稿人:DigiKey 北美编辑 随着向物联网 (IoT) 的迁移,安全性已不再是嵌入式应用中的选配功能,已发展成为确保系统完整性所需的必备能力。为了满足日益
    的头像 发表于 02-13 14:38 730次阅读
    如何使用 DSC 和 MCU 确保<b class='flag-5'>嵌入式</b><b class='flag-5'>系统安全</b>

    嵌入式系统的应用实例

    嵌入式系统的三个基本要素是嵌入性、专用性与计算机系统
    的头像 发表于 01-22 09:57 1062次阅读