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

《STM32MPU安全启动》学习笔记

[复制链接]
jundao721 发布时间:2024-11-26 13:54

0 p& N$ u, R; d. j' r. O: x0 o       以前接触过MP15X和MP13X,大部分情况下都是参照板卡商提供的资料学习和修改。对安全启动这部分还是第一次这么系统的学习。
2 |" S& l! v4 _* o  |! {安全启动不仅是保护设备和数据的关键机制,也是维护系统整体安全性的基础。
5 C7 b* m* x9 M, H简单谈一下自己的学习心得。课程分为5部分:8 O: z' S2 G( E6 x$ q$ r
课程结构.png
9 g5 H: F9 ?/ O, ~) k7 N  v4 }图1; f( X" \6 E0 c4 x* K7 s% n
绍Secure Boot概念;BootRom->FSBL校验过程;TF-A BL2->U-boot校验启动;Optee如何校验CM核固件;Uboot校验Kernel.7 F7 p3 k1 w# ~: ?1 i
听完课程,收获很多,但很多地方也是似懂非懂。在实践中理解应该会更好一点。: z; R! B  s, K3 O7 N0 r! X
1.简单说一下理解哈,通过一系列的验证步骤,确保从上电开始执行的每一段代码都能通过身份验证。这一过程的基础是根信任(Root of Trust),即在系统启动时,从一个固定的、不可篡改的存储地址(通常是设备的硬件或启动存储)开始执行代码。这段代码会进行自我验证,并逐级验证下一级代码的合法性,形成一个完整的验证链,这就是信任链(Chain of Trust)。: o. L  [: u4 q. T7 o
通过这一机制,STM32MPU能够在设备启动时验证从Boot Room、TFA到UBoot和Kernel的每一级代码,确保在系统运行过程中每一层软件的合法性和完整性。安全启动对嵌入式设备的防护至关重要,特别是在面对可能的攻击或篡改时,能够有效地抵御不法软件的加载。
# w. Q( ^' i& s# h2 X0 Y( a! H' s2.STM32MPU系列提供了多种启动流程,具体流程根据不同的产品型号有所不同。通过本课程的学习,我了解了STM32MPU产品如何从电源启动开始,经过一系列的硬件与软件初始化,最终完成整个操作系统的启动。在这一过程中,根信任(Root of Trust)的验证非常重要,尤其是在设备的Boot Room阶段,设备首先会校验根信任的代码,确保后续代码加载时的安全性。此外,每一层代码的验证都依赖于前一层的信任验证,保证了设备在启动过程中的安全性。& {7 B0 F$ ~9 u/ F) V0 V
3.在系统启动的最后阶段,UBoot的作用尤为重要,它负责校验并加载操作系统内核(Kernel)。在本课程中,我了解了UBoot如何通过校验机制来确保内核的安全性。特别是,UBoot会对从根信任到内核的每一层代码进行校验,并确保只有合法且经过认证的代码才能被加载。这一过程中,任何篡改或不符合要求的代码都会被阻止,确保系统的可信性。  k1 E( N/ u" I  B( i, [- i1 r4 F
在学习过程中,我特别注意到STM32MP15、STM32MP13和STM32MP25的差异,尽管它们的启动流程大体相同,但在不同型号上,根信任的具体实现和校验的机制存在一定的差异。因此,在选择具体型号时,需要根据安全需求来选择支持安全启动的版本。
( g* t# h4 q; }3 m' \1 E, _% t) c. T8 `) H
/ e6 C5 |6 d7 W0 P- N! d
通过课程学习,对安全启动机制有了更深的了解,如果能在实践项目中使用,将会有更清晰的认识。以前对MP13,MP15和MP25的理解只是存在于复杂性问题区别,这次学习对以后的应用选型也提供了很大帮助,安全启动不仅是硬件的要求,也是一种必要的软件安全保障。作为一名嵌入式工程师,还有很多的知识需要学习,希望官方能提供更多更好的学习资源。
6 b) G: ?: k- a$ r
收藏 评论0 发布时间:2024-11-26 13:54

举报

0个回答

所属标签

相似分享

官网相关资源

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