硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4727|回复: 6
收起左侧

[技术讨论] 串口IAP升级时候,怎么进行加密保护代码安全性呢?

[复制链接]

21

主题

34

回帖

97

积分

初级会员

积分
97
发表于 2020-7-23 01:08:05 | 显示全部楼层 |阅读模式
如果把生成的bin文件直接通过串口传给bootloader,然后覆盖原来代码,直接启动是不是存在风险?
可以进行某中协议或者加密软件进行加密吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
发表于 2020-7-23 08:47:11 | 显示全部楼层
是的,直接覆盖风险很高,你的APP更新时死机就麻烦了。
可以考虑搞个双备份。
回复

使用道具 举报

21

主题

34

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2020-7-23 09:18:33 | 显示全部楼层
eric2013 发表于 2020-7-23 08:47
是的,直接覆盖风险很高,你的APP更新时死机就麻烦了。
可以考虑搞个双备份。

外部一般都有外部的flash,如果先通过app将代码储存到外部flash,再跳到bootloader,之后进行检验,成功之后再覆盖呢?效果会不会好些
回复

使用道具 举报

21

主题

34

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2020-7-23 13:56:39 | 显示全部楼层
eric2013 发表于 2020-7-23 08:47
是的,直接覆盖风险很高,你的APP更新时死机就麻烦了。
可以考虑搞个双备份。

在freertos下进行系统IAP升级的时候,当进入到代码拷贝接收和代码覆盖阶段,应该关闭哪些外部事件才能保证不被打断呢?
除了关闭硬件定时器,硬件中断还需要关闭哪些东西呢?
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2020-7-23 14:30:28 | 显示全部楼层
bootloader 里校验APP
回复

使用道具 举报

21

主题

34

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2020-7-23 18:16:42 | 显示全部楼层
ztrx 发表于 2020-7-23 14:30
bootloader 里校验APP

可以对mdk生成的bin文件加进行一些CRC检验,然后bootloader里面收到以后进行解析验证,验证完成功后再进行拷贝复制到flash,这样可以实现。
回复

使用道具 举报

2

主题

28

回帖

34

积分

新手上路

积分
34
发表于 2021-1-10 11:39:42 | 显示全部楼层
我的做法是把出厂固件先放到flash,app执行FTP下载最新固件,通过crc32算法校验数据完整性,检验无误后直接跳转bootload,在bootload中只做擦写flash,如果升级失败,开机按下按键,强制恢复出厂设置,当然也可以在升级失败后再次擦写flash(擦除成功后自定义变量保存本次擦写结果)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-29 07:16 , Processed in 0.240129 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表