
* 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 ![]() 图1) {1 j. t& P. b$ Q+ q 介绍Secure Boot概念;BootRom->FSBL校验过程;TF-A BL2->U-boot校验启动;Optee如何校验CM核固件;Uboot校验Kernel. 听完课程,收获很多,但很多地方也是似懂非懂。在实践中理解应该会更好一点。' 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的每一级代码,确保在系统运行过程中每一层软件的合法性和完整性。安全启动对嵌入式设备的防护至关重要,特别是在面对可能的攻击或篡改时,能够有效地抵御不法软件的加载。 2.STM32MPU系列提供了多种启动流程,具体流程根据不同的产品型号有所不同。通过本课程的学习,我了解了STM32MPU产品如何从电源启动开始,经过一系列的硬件与软件初始化,最终完成整个操作系统的启动。在这一过程中,根信任(Root of Trust)的验证非常重要,尤其是在设备的Boot Room阶段,设备首先会校验根信任的代码,确保后续代码加载时的安全性。此外,每一层代码的验证都依赖于前一层的信任验证,保证了设备在启动过程中的安全性。 3.在系统启动的最后阶段,UBoot的作用尤为重要,它负责校验并加载操作系统内核(Kernel)。在本课程中,我了解了UBoot如何通过校验机制来确保内核的安全性。特别是,UBoot会对从根信任到内核的每一层代码进行校验,并确保只有合法且经过认证的代码才能被加载。这一过程中,任何篡改或不符合要求的代码都会被阻止,确保系统的可信性。 在学习过程中,我特别注意到STM32MP15、STM32MP13和STM32MP25的差异,尽管它们的启动流程大体相同,但在不同型号上,根信任的具体实现和校验的机制存在一定的差异。因此,在选择具体型号时,需要根据安全需求来选择支持安全启动的版本。# L4 k1 @. x c4 `- _# @ # @+ c7 N3 A+ H, ~- L- }; d 通过课程学习,对安全启动机制有了更深的了解,如果能在实践项目中使用,将会有更清晰的认识。以前对MP13,MP15和MP25的理解只是存在于复杂性问题区别,这次学习对以后的应用选型也提供了很大帮助,安全启动不仅是硬件的要求,也是一种必要的软件安全保障。作为一名嵌入式工程师,还有很多的知识需要学习,希望官方能提供更多更好的学习资源。' b1 x4 [- ~' R9 p9 q/ n |
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。
《STM32MPU安全启动》 课程学习心得
《STM32MPU安全启动》学习笔记+STM32MP系列mpu安全启动解析