安全启动Secure Boot流程

安全启动-secure boot
除了nspe和spe两个环境的沟通流程之外,secure boot也是trusted firmware很重要的设计环节。
secure boot最主要的目的就是防止系统使用到恶意的固件程序或操作系统,在开机流程中,boot
code会先透过密码学(cryptography)算法验证是否为可信任的的程序,如果验证成功即会开始执行,否则中止流程。
在trusted firmware-m的secure boot流程如下:
secure boot流程
boot loader stage 1(bl1)
此阶段主要是必要的硬件初始化或是设定,因此bl1 boot code必须要是可信任且不可被窜改。在执行完初始化后,就会跳到bl2的entry point继续执行bl2。
the bootloader code must be stored and executed from rom or such part of
flash memory which supports write protection.
boot loader stage 2(bl2)
bl2负责其他需要的初始化操作,例如启动mcuboot前所需的设定或检查,接着就会把执行移交给mcuboot。
mcuboot
mcuboot是针对32-bit microcontroller所设计的secure bootloader,其中包含完整的程序验证流程,因此也是trusted firmware-m secure boot流程的核心。
而mcuboot本身是独立的open source project,因此也能应用在其他项目上。
tf-m
tf-m会依据memory layout放置在指定的內存位置,而mcuboot会先去该位置取得tf-m binary
code,并且进行相关验证确认,如果tf-m已被加密,也会在这阶段进行解密。在确认完tf-m是正确且可信任后,就会加载tf-m。
要注意的是,trusted firmware-m手册中有提到,验证和解密所需key建议放在otp memory中,以确保不可修改。
rotpk(root of trust public key)can be stored in a one-time-programmable(otp)memory.
此外,由于需要在加载tf-m前就对tf-m binary进行验证,因此上一个段落提到的crypto流程不适用在这里,我们需要额外的crypto api来处理验证与加解密。
一般这个时候使用的驱动和接口会封装在bl2。
rtos
最后阶段就是加载rtos以及应用程序。这阶段的流程和上一个阶段相似,同样要先验证确认且解密,确认无误后再加载并执行。

雍智科技预计4月下旬正式在台湾挂牌上柜 未来将布局大陆封测及晶圆制造厂
VR技术应用于交通安全教育,可有效预防安全隐患
合成孔径雷达原理知识总结
CMOS技术低压差线性稳压器 L-DO 世微AP7340 4.0V
揭密iPhone多触点技术的由来和原理
安全启动Secure Boot流程
全球知名电解液企业新宙邦报名角逐“年度技术创新奖”
MSP430单片机的LED驱动电路原理解析
基于服务器的冗余电源技术探讨
工程师面试时绝对不能说的13句话
社会影响力投资项目产品发布会成功举办!
基建狂魔的新玩具登场:世界首台千吨级架桥机首秀操作
更换液晶屏幕灯管全过程
SOLIDWORKS 30个实用小技巧
带通滤波器可以很好地抑制噪声测试
怎样使用Arduino Uno校准Atlas Scientific的EZO pH传感器
ADI公司携手Gridspertise在智能电表领域进行合作
电源开关指示灯的制作图解
Oculus首次推出了Quest 2虚拟现实耳机的首次重大更新
ST传感器采用接近检测解决智能手机意外断线