X-Cube-SBSFU 使用技巧(之一)——初步了解
关键字:安全启动,安全升级,SBSFU,签名校验,加解密
1. 引言
安全启动与安全更新是嵌入式设备安全的基本安全要求之一:安全启动提供信任根,
保证每次设备启动运行的应用程序的完整性与合法性;安全更新则在固件升级环节避免系
统软件被恶意修改或替换。
为了方便客户在其嵌入式设备的设计中更加容易地集成安全启动和安全更新功能,
STM32 提供了相关安全实现,支持众多 STM32 MCU 系列。其中 X-CUBE-SBSFU 是针
对 Cortex V6/V7M 内核的 STM32 MCU 产品的参考方案,软件包下载地址:
https://www.st.com/x-cube-sbsfu。
在 X-CUBE-SBSFU 使用技巧的第一篇,我们对软件包及其软件架构等进行介绍,让
读者对这个软件包有一个初步认识。
2. 安全启动、安全更新基本概念与原则
2.1. 安全启动
嵌入式系统安全启动的目标是保证每次上电启动所运行的应用程序都是真实可信的软件。
为了达到这个目的,安全启动需要满足几个基本要求:
• 系统中存在这样一段不变的启动代码,每次上电总是从这段代码开始运行,这段启动
代码不会被修改,其运行也无法被绕过
• 这段启动代码将检查系统配置,确认必要的安全配置状态,并且校验后续运行的应用
程序代码的完整性、合法性,通常这个校验通过密码学算法来完成
• 安全启动代码只有在系统配置检查和应用校验通过后才会跳转执行后续的应用程序
安全启动的过程示意见图 1
图1. 安全启动过程示意