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下

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
蜗牛蜗牛
1楼-- · 2019-12-14 14:53
片羽之神
2楼-- · 2019-12-14 19:04
 精彩回答 2  元偷偷看……
leiyitan
3楼-- · 2019-12-14 20:36
本帖最后由 leiyitan 于 2017-9-22 06:20 编辑

Git大神!自己在很多项目中都想实现这么一个功能,除了USB口,我还想用串口-蓝牙ble或WiFi透传,这样就可以用手机做个APP连接主板做程序升级了。
fengyunyu
4楼-- · 2019-12-14 22:22
这样处理已经够可靠了
ddddddd
5楼-- · 2019-12-15 02:43
这个厉害了
honami520
6楼-- · 2019-12-15 04:51
还不错,支持开源

一周热门 更多>