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

《STM32MPU安全启动》学习笔记

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

$ U$ Y" a7 f3 e% I/ q1 \$ V, W       以前接触过MP15X和MP13X,大部分情况下都是参照板卡商提供的资料学习和修改。对安全启动这部分还是第一次这么系统的学习。1 m( i: z; l8 _- x5 H
安全启动不仅是保护设备和数据的关键机制,也是维护系统整体安全性的基础。4 {0 d6 f5 o+ Y6 m& E& U
简单谈一下自己的学习心得。课程分为5部分:
+ N0 T  }( p2 ?+ R7 v+ t* z) Y 课程结构.png
1 b/ y# w5 L3 ?! {) M图15 l" @# @5 F! G. n0 g- G
绍Secure Boot概念;BootRom->FSBL校验过程;TF-A BL2->U-boot校验启动;Optee如何校验CM核固件;Uboot校验Kernel.) N/ Q: E3 s$ }  ~+ Q
听完课程,收获很多,但很多地方也是似懂非懂。在实践中理解应该会更好一点。
9 S$ W/ V$ M* u( ]5 D- H& w3 t8 K1.简单说一下理解哈,通过一系列的验证步骤,确保从上电开始执行的每一段代码都能通过身份验证。这一过程的基础是根信任(Root of Trust),即在系统启动时,从一个固定的、不可篡改的存储地址(通常是设备的硬件或启动存储)开始执行代码。这段代码会进行自我验证,并逐级验证下一级代码的合法性,形成一个完整的验证链,这就是信任链(Chain of Trust)。0 _/ {& I' W. B8 q+ U/ L( I
通过这一机制,STM32MPU能够在设备启动时验证从Boot Room、TFA到UBoot和Kernel的每一级代码,确保在系统运行过程中每一层软件的合法性和完整性。安全启动对嵌入式设备的防护至关重要,特别是在面对可能的攻击或篡改时,能够有效地抵御不法软件的加载。& C9 o, m# i5 t0 f, o0 H) Q
2.STM32MPU系列提供了多种启动流程,具体流程根据不同的产品型号有所不同。通过本课程的学习,我了解了STM32MPU产品如何从电源启动开始,经过一系列的硬件与软件初始化,最终完成整个操作系统的启动。在这一过程中,根信任(Root of Trust)的验证非常重要,尤其是在设备的Boot Room阶段,设备首先会校验根信任的代码,确保后续代码加载时的安全性。此外,每一层代码的验证都依赖于前一层的信任验证,保证了设备在启动过程中的安全性。
! R0 c( B7 W" r- }3.在系统启动的最后阶段,UBoot的作用尤为重要,它负责校验并加载操作系统内核(Kernel)。在本课程中,我了解了UBoot如何通过校验机制来确保内核的安全性。特别是,UBoot会对从根信任到内核的每一层代码进行校验,并确保只有合法且经过认证的代码才能被加载。这一过程中,任何篡改或不符合要求的代码都会被阻止,确保系统的可信性。* B. k2 x1 Z) E4 i4 A. @8 p! e
在学习过程中,我特别注意到STM32MP15、STM32MP13和STM32MP25的差异,尽管它们的启动流程大体相同,但在不同型号上,根信任的具体实现和校验的机制存在一定的差异。因此,在选择具体型号时,需要根据安全需求来选择支持安全启动的版本。
9 W2 g' }& k9 m! q0 @
2 m$ I1 p6 c- Y0 v
' j" W' s' f, [* o
通过课程学习,对安全启动机制有了更深的了解,如果能在实践项目中使用,将会有更清晰的认识。以前对MP13,MP15和MP25的理解只是存在于复杂性问题区别,这次学习对以后的应用选型也提供了很大帮助,安全启动不仅是硬件的要求,也是一种必要的软件安全保障。作为一名嵌入式工程师,还有很多的知识需要学习,希望官方能提供更多更好的学习资源。1 w* J- x- c  _3 T5 C2 z# A
收藏 评论0 发布时间:2024-11-26 13:54

举报

0个回答

所属标签

相似分享

官网相关资源

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