STM32-IAP USB升级含AES128加密 CRC校验及下载工具

2019-12-14 12:38发布

本帖最后由 Zigbee2012 于 2017-9-21 22:30 编辑

sifteo cubes AES加密思路

1.在boot启动时, 通过CRC验证MCU flash的APP部分是否正确,来决定是否执行APP(保证boot的安全,防止非法APP,读取boot)
2.更新固件时
  *接收来自USB的加密固件
  *在boot 中, AES解密固件
  *写入flash, 生成APP的CRC校验值
3.跳转至APP分区
  
       虽然AES+CRC校验的方式不是完全可靠,但在成本有限的条件下,这种方案可以说是最佳方案。
如果在成本允许情况下,可以考虑额外添加专用的加密芯片,详情请看附件《加密算法简介》

工具:
USB升级固件工具:swiss   ( 详情见swiss的使用)
加密固件bin工具:fwdeploy (将bin文件加密生成stf文件)

以上提到的不论加密/升级工具及STM32 bootloaer AES USB均是开源的,在github上可以下载
ps:sifteo的bootlaoder使用USB+AES,但bin只有8k。

相关链接:
源码下载:https://github.com/sifteo/thundercracker    bootloader请看 firmware/master/bootloader
论坛上的资料:https://www.amobbs.com/thread-5676907-1-1.html

======
更新附件,源码大家直接去github下

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。