你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

《STM32MPU安全启动》 课程学习心得

[复制链接]
STMWoodData 发布时间:2024-11-26 16:31

一直都很关注ST的MP系列mpu处理器,可以像学习mcu一样学习mpu处理器了,对学习linux更方便了。今年 ST又发布STM32MP2系列了。但是对于MPU系列软件如何保护一直很疑惑。这次论坛组织学习STM32MP系列安全启动课程正好可以好好了解下。

首先看到这个课程主要学习内容如下:

1732606933363.jpg

整个课程一步步在讲解如何实现STM32MPU的安全启动远离,实现过程及方法。

通过MPU安全启动,我们可以确保设备上执行的软件是经过验证的、可信任的;这是通过验证每个软件组件的完整性,防止任何未授权的修改;以及建立整个系统的安全基础 — 根信任(Root of Trust);支持多级安全验证,确保从引导加载程序到操作系统内核及应用程序的每一层都经过验证,建立信任链(Chain of Trust),使整个系统的安全性得以保障并应对复杂的安全威胁,为各种应用场景提供一个安全的运行环境。从这个可以看出安全启动可以保护我们开发的产品软件。

课程中讲述了安全启动的一个流程:MPU系统复位后首先从信任根启动,信任根代码不可变也不能被跳过。它会验证安全配置和校验下一级启动代码,只有下一级代码是我们信任的密钥才会跳到下一级启动。如此从根源上杜绝非信任代码运行。

本次就谈谈最后一步uboot校验kernel内核启动过程的流程。在STM32MPU安全启动课程的第五部分,即是U-Boot校验kernel的。U-Boot在加载Kernel时通过使用Fit Image镜像进行校验。Fit Image是一种描述镜像内内容的树状结构,包含多个节点,如Kernel镜像、Device Tree等。每个节点可以包含哈希值,并且可以添加签名进行校验。通过这种方式U-Boot在加载过程中可以对Kernel进行完整的校验,确保其完整性和安全性。在上位机生成Fit Image时,可以使用make image工具,通过指定配置信息和密钥来生成带签名的Fit Image。

1732608057379.jpg

课程重点讲解了uboot校验kernel的使能过程。首先需要对uboot的CONFIG进行修改,确保校验功能已启用。接着生成签名校验所需的密钥,并在上位机上使用工具生成RSA密钥对。随后编辑.its文件,指定生成fitimage所需的kernel、device tree等组件。最后使用make image工具生成带签名的fit image。整个过程都强调了安全性。建议禁用其他可能的kernel启动方式,确保uboot只能启动带签名的fit image.

image.png

上位机上使用openssl工具生成RSA密钥对方法。

image.png

下面就是.its文件配置内容:

1732608057393.jpg

image.png

接着是生成fit image命令。

image.png

STM32MPU安全启动课程总结:课程分为六个部分,分别介绍了安全启动的概念、boot chain、安全启动bootrom的校验原理、chain of trust中的TF-A-BL2如何校验加载启动OPT和u-boot、双核或多核产品的固件加载方式以及从u-boot到kernel的启动过程。课程还详细讲解了不同系列芯片在安全启动中的功能差异和密钥管理。最后,课程总结了在不同启动阶段密钥的存放位置和校验方式,强调了OTP中密钥的不可更改性和密钥的可更新性。

image.png

不同阶段校验方式不同,部分密钥存于OTP,部分加在device tree或image中,理清各个部分关系就可以知道如何修改或升级各个部分的校验。特别是OTP部分,OTP只能写一次,写后不可更改,锁定后0变1就不可回0。烧写密钥后会锁定,避免OTP内容变化。写到OTP的根密钥等重要数据,务必妥善保管,后续image签名加密都需要。

收藏 评论1 发布时间:2024-11-26 16:31

举报

1个回答
STMCU-管管 回答时间:2024-11-26 16:51:41
点个赞,总结的不错
' Z4 W7 U5 \& V; e4 ~0 ?2 |0 w

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版