如何使用STM32Trust生成器生成的SFI和SMI加密固件

昨天文章《最近stm32cubemx、ide、programmer都更新了些什么内容》讲述了st最近在这些工具上的动作。 今天讲述的内容是stm32生态中,stm32trust下面的一部分内容。 (本文参考应用笔记文档:an5054) 一、回顾stm32trust什么是stm32trust? stm32trust是一套stm32解决方案,提供完整的代码保护和执行保护工具套件,如下图:
今天讲述的就是代码保护中,使用stm32trustedpackagecreator生成sfi和smi加密固件。 stm32trust官方网址:
www.st.com/stm32trust
二、基础介绍
sfi:secure firmware installation,安全固件安装解决方案。
smi:secure module install,安全模块安装。
oem:original equipment manufacturer,原始设备制造商(或原厂);
sfi格式是由st公司创建的固件加密格式,它使用带有128位密钥的aes-gcm算法将固件(elf、hex、bin或srec格式)转换为sfi格式的加密和认证固件。
smi格式是st公司创建的一种格式,旨在保护合作伙伴的软件(软件模块和库)。
三、安装stm32trust生成器
stm32trustedpackagecreator安全包生成器工具属于stm32cubeprogrammer编程工具中的一部分(附加的工具)。
所以,在安装stm32cubeprogrammer工具时,集成有stm32trustedpackagecreator这个工具,只是默认不安装,需要手动勾选。
打开stm32trustedpackagecreator工具,在主界面你就会看到一些我们之前说的sfi、smi、hsm内容。
四、sfi固件生成过程
主要过程如下框图,由原厂固件、随机数、密钥,经过stm32trustedpackagecreator工具加密成sfi格式固件。
生成过程生产主要过程见下图:
在执行aes-gcm加密一个区域之前,我们计算初始化向量(iv)为:
iv = nonce + area index
该工具将固件映像划分为几个加密的部分,这些部分对应于不同的内存区域。
这些附加到相应描述符(由工具生成的未加密的描述性头部)的加密部分称为区域。
这些领域分不同的类型:
f:固件区域(输入固件中的常规段) m:模块区域(用于sfi-smi组合图像生成,对应于来自smi模块的输入) c:配置区域(用于选择字节配置) p:表示“暂停”区域 r:回复区域
区域“p”和“r”并不代表真正的固件区域,而是在sfi映像被分割成几个部分时创建的,这是在sfi映像的全局大小超过用户在创建sfi映像期间预定义的允许ram大小时的情况。
下面ram大小和ct地址输入用于sfi:
p和r区域与常规sfi区域:
此生成过程的最终输出是单个文件,该文件是经过加密和验证的smi格式固件。sfi格式布局如下:
当sfi图像在生成过程中被分割时,“p”和“r”区域出现在sfi图像布局中,如图下图所示:
五、smi固件生成过程
smi同样是一种加密固件,只是这里面加密的是针对模块和库。
smi加密过程和sfi有点类似,如下图:
生成过程生产主要过程见下图:
aes-gcm加密使用以下输入:
•128位aes加密密钥
•输入nonce作为初始化向量(iv)
•作为附加身份验证数据的安全版本(aad)
在创建smi映像文件之前,对smi映像有效性进行pcrop检查:
•pcrop部分必须在flash字(256位)上对齐,否则将显示警告
•该区域的大小必须至少为2个flash单词(512位),否则将显示警告
•该部分必须在flash单词边界(256位单词)上结束,否则将显示警告
•如果紧随pcrop部分之后的部分的起始地址与pcrop部分的最后一个flash单词重叠(在执行pcrop对齐约束之后),则生成失败并出现错误消息。
如果一切正常,在指定的路径下创建两个输出:
•smi图像
•lib数据
smi格式布局如下:

无人机在警用安防领域的应用
通过汽车智能信息服务系统优化人车界面
无线自动控制的实现与应用领域
芯片“门外汉”紫光,收购展讯、锐迪科的背后
SIMS二次离子质谱介绍
如何使用STM32Trust生成器生成的SFI和SMI加密固件
自动气象站的作用是什么,它的功能特点如何
电车bms是什么意思 锂电池bms是什么意思
带保护电路的新型电源插座
万用表如何测量电流电压和电阻
欧司朗公开2019财年第三季度汽车市场周期性疲软未见复苏
配电房智能监控系统
智慧工地智能化管理-智能压实监控系统
回顾18年云知声融资统计和其的快速发展
绝缘电阻测试仪AT682SE的特点性能及应用
SIC功率器件的发展现状!
微电阻计原理是什么?
首批苹果HomeKit智能家居设备曝光
信号检测理论在通信信号检测中的应用
基于AD8479和ADA4805-1电流监控电路设计