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

《STM32MPU安全启动》学习笔记

[复制链接]
jundao721 发布时间:2024-11-26 13:54
* d/ a- X$ I4 s: u, a4 r! B% U. z
       以前接触过MP15X和MP13X,大部分情况下都是参照板卡商提供的资料学习和修改。对安全启动这部分还是第一次这么系统的学习。) A; B6 p1 X$ O, J: q
安全启动不仅是保护设备和数据的关键机制,也是维护系统整体安全性的基础。6 S" e7 ^6 k# [6 U: ?3 h' W' Z- m' b
简单谈一下自己的学习心得。课程分为5部分:% h, @7 d0 |. t) R. a' t' D2 z
课程结构.png
! s- Y" n* v! w/ P. p图1) {1 j. t& P. b$ Q+ q
绍Secure Boot概念;BootRom->FSBL校验过程;TF-A BL2->U-boot校验启动;Optee如何校验CM核固件;Uboot校验Kernel.
% {! N& {. d% s& K听完课程,收获很多,但很多地方也是似懂非懂。在实践中理解应该会更好一点。' E0 u7 H2 D6 j9 E* N0 G9 f
1.简单说一下理解哈,通过一系列的验证步骤,确保从上电开始执行的每一段代码都能通过身份验证。这一过程的基础是根信任(Root of Trust),即在系统启动时,从一个固定的、不可篡改的存储地址(通常是设备的硬件或启动存储)开始执行代码。这段代码会进行自我验证,并逐级验证下一级代码的合法性,形成一个完整的验证链,这就是信任链(Chain of Trust)。* @) K: F! }+ z
通过这一机制,STM32MPU能够在设备启动时验证从Boot Room、TFA到UBoot和Kernel的每一级代码,确保在系统运行过程中每一层软件的合法性和完整性。安全启动对嵌入式设备的防护至关重要,特别是在面对可能的攻击或篡改时,能够有效地抵御不法软件的加载。
) w% v! y1 Q# ~8 X2.STM32MPU系列提供了多种启动流程,具体流程根据不同的产品型号有所不同。通过本课程的学习,我了解了STM32MPU产品如何从电源启动开始,经过一系列的硬件与软件初始化,最终完成整个操作系统的启动。在这一过程中,根信任(Root of Trust)的验证非常重要,尤其是在设备的Boot Room阶段,设备首先会校验根信任的代码,确保后续代码加载时的安全性。此外,每一层代码的验证都依赖于前一层的信任验证,保证了设备在启动过程中的安全性。
$ }) c6 Y) D: w4 z9 T3.在系统启动的最后阶段,UBoot的作用尤为重要,它负责校验并加载操作系统内核(Kernel)。在本课程中,我了解了UBoot如何通过校验机制来确保内核的安全性。特别是,UBoot会对从根信任到内核的每一层代码进行校验,并确保只有合法且经过认证的代码才能被加载。这一过程中,任何篡改或不符合要求的代码都会被阻止,确保系统的可信性。
' d3 {$ u5 R( L  Z在学习过程中,我特别注意到STM32MP15、STM32MP13和STM32MP25的差异,尽管它们的启动流程大体相同,但在不同型号上,根信任的具体实现和校验的机制存在一定的差异。因此,在选择具体型号时,需要根据安全需求来选择支持安全启动的版本。# L4 k1 @. x  c4 `- _# @

/ b4 C; M6 w1 c1 N
# @+ c7 N3 A+ H, ~- L- }; d
通过课程学习,对安全启动机制有了更深的了解,如果能在实践项目中使用,将会有更清晰的认识。以前对MP13,MP15和MP25的理解只是存在于复杂性问题区别,这次学习对以后的应用选型也提供了很大帮助,安全启动不仅是硬件的要求,也是一种必要的软件安全保障。作为一名嵌入式工程师,还有很多的知识需要学习,希望官方能提供更多更好的学习资源。' b1 x4 [- ~' R9 p9 q/ n
收藏 评论0 发布时间:2024-11-26 13:54

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版