|
各位大佬,想请教一下关于SFI的问题。 我知道SFI是对用户程序进行加密,然后通过HSM将加密的程序下载到芯片,然后芯片对加密程序进行解密,此时加密程序将变成明文下载到Flash里面(查找资料说是明文),不知道整个过程我理解的对不对。在这个过程中我有三个疑问: 1.最终下载到STM32H757里的程序是明文还是密文(假如OB不设置读保护)?通过SWD是否可读? 2.假如在OB不设置读保护的情况下,可以通过SWD读FLASH区域,那么SFI加密的意义何在?这样用户程序还是会存在泄露的风险。 3.在STM32H757电路内部,SFI的数字证书和公私钥是存放在哪里,有没有具体的存放地址?或者说数字证书和公私钥是否可读? |
求助:USB 设备模式下的 UF2 更新,擦写非活动 Bank 时引起主机复位,但加 Hub 正常 —— 双 Bank 不是应该无干扰吗?
STM32H7R7的SPI DMA双缓冲怎么做。
有人用过PVD在掉电瞬间写Flash
STM32H743 配置USBOTG 使用U盘几周后 stm32无法识别usb
在STM32CubeIDE 中用sprintf,printf总感觉差点什么
STM32H743使用Keil V6(AC6)编译FreeRTOS报错__forceinline未定义及CMSIS-RTOS2配置错误,如何解决?
NUCLEOh753zi
stm32H745 M4核不能调试和下载
关于H750VB的SDMMC开启DMA读写SD卡
FDCAN如何处理大于64帧字节的数据
微信公众号
手机版
SFI的核心价值在于 防止固件在传输和烧录过程中被窃取或篡改
密钥存储在芯片安全区,私钥不可读,公钥需物理防护
[md]感谢您的解答。
我可以理解成完成固件烧录之后可通过SWD将FLASH区域的信息读出来吗?这个时候如果不想程序被窃取,只能通过配置写保护功能?
设置RDP Level 1/2读保护等级
禁用SWJ-DP引脚和调试时钟
配置安全区域和安全库
当然,设置RDP 是最简单也是最直接的方式。
[md]是的
感谢您的回复。我又遇到一个问题,想请教一下。
在生成.sfi文件,配置好HSM后需要将程序下载进芯片。CubeProgrammer这个软件好像不支持.sfi文件的下载,所以我就采用命令行工具Programmer_CLI来下载程序,但是我在打开命令行的时候闪退了,请问该如何解决闪退的问题。另外我想知道除了采用命令行下载方式外,还有没有其他的下载方式?希望大佬能帮忙解答一下疑惑。