Secure Boot 机制
Secure Boot 这个功能负责在SOC启动时验证bootloader二进制的合法性。Bootloader二进制是由SOC的Rom Code启动的,所以这个bootloader的合法性认证就需要由Rom Code来实现,那bootloader认证使用的公钥保存在哪里呢?答案是存在SOC的efuse单元里,在产品的生成阶段工厂需要使用SOC厂商提供的工具来把公钥烧录到SOC中(一次烧录之后再也不能更改)。
现在我们清楚了,Secure Boot这个功能完全有SOC硬件实现的。所以如果产品有Secure Boot需求的话,首先查看SOC的datasheet看芯片支不支持这个功能。据我说知Freescale的i.mx5和i.mx6,TI的jacinto5和jactinto6都支持Secure Boot。而市面上从2016年开始的SOC基本都支持Secure Boot(特别是车载娱乐系统SOC)。
PS: Secure Boot负责校验上电之后运行的第一个用户二进制文件,比如u-boot。