以前接触过MP15X和MP13X,大部分情况下都是参照板卡商提供的资料学习和修改。对安全启动这部分还是第一次这么系统的学习。1 m( i: z; l8 _- x5 H 安全启动不仅是保护设备和数据的关键机制,也是维护系统整体安全性的基础。4 {0 d6 f5 o+ Y6 m& E& U 简单谈一下自己的学习心得。课程分为5部分: 图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 听完课程,收获很多,但很多地方也是似懂非懂。在实践中理解应该会更好一点。 1.简单说一下理解哈,通过一系列的验证步骤,确保从上电开始执行的每一段代码都能通过身份验证。这一过程的基础是根信任(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阶段,设备首先会校验根信任的代码,确保后续代码加载时的安全性。此外,每一层代码的验证都依赖于前一层的信任验证,保证了设备在启动过程中的安全性。 3.在系统启动的最后阶段,UBoot的作用尤为重要,它负责校验并加载操作系统内核(Kernel)。在本课程中,我了解了UBoot如何通过校验机制来确保内核的安全性。特别是,UBoot会对从根信任到内核的每一层代码进行校验,并确保只有合法且经过认证的代码才能被加载。这一过程中,任何篡改或不符合要求的代码都会被阻止,确保系统的可信性。* B. k2 x1 Z) E4 i4 A. @8 p! e 在学习过程中,我特别注意到STM32MP15、STM32MP13和STM32MP25的差异,尽管它们的启动流程大体相同,但在不同型号上,根信任的具体实现和校验的机制存在一定的差异。因此,在选择具体型号时,需要根据安全需求来选择支持安全启动的版本。 ' j" W' s' f, [* o 通过课程学习,对安全启动机制有了更深的了解,如果能在实践项目中使用,将会有更清晰的认识。以前对MP13,MP15和MP25的理解只是存在于复杂性问题区别,这次学习对以后的应用选型也提供了很大帮助,安全启动不仅是硬件的要求,也是一种必要的软件安全保障。作为一名嵌入式工程师,还有很多的知识需要学习,希望官方能提供更多更好的学习资源。1 w* J- x- c _3 T5 C2 z# A |
《STM32MPU安全启动》 课程学习心得
《STM32MPU安全启动》学习笔记+STM32MP系列mpu安全启动解析
《STM32MPU安全启动》学习笔记 - STM32MPU安全启动学**结
《STM32MPU安全启动》学习笔记总结
刘氓兔的64位入门挑战【1】——MP257芯片下单和硬件准备
首发STM32MP135构建OpenWRT系统
最新消息:意法半导体最具性价比、速度最快的单核MPU STM32MP13现已支持运行RTOS!意法半导体兑现了之前的承诺!
STM32MP135F-DK开发板评测-开箱亮屏
意法半导体扩展STM32Cube开发环境,简化单核STM32MP1裸机软件开发
1月18日有奖直播 | 如何在STM32MP13x上实现FOTA升级?