蓝牙面试题解析:Bootloader 如何保证固件安全性?
难度:⭐⭐⭐⭐ 较难 |场景:社招二面/三面、固件安全开发 |高频:🔥🔥🔥🔥🔥
标准答案
Bootloader 通过安全启动链 + 签名验证 + 存储区访问控制三层机制保证固件加载的安全性:
① 安全启动链(Secure Boot Chain)
BootROM → Bootloader → 应用固件 ↓ ↓ ↓ 验证ROM 验证Bootloader 验证App 完整性 签名 签名 (不可变) (Hash+签名) (Hash+签名) 链式验证原则:每一级在加载下一级之前,先验证其签名 如果任何一级验证失败 → 停止启动或进入恢复模式② Bootloader 的签名验证流程
// Bootloader 验证应用固件boolbootloader_verify_app