打印
[MCU]

裸奔系统程序如何防篡改?

[复制链接]
1566|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alphal|  楼主 | 2016-11-13 11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2016-11-13 13:40 | 只看该作者
锁住调试接口就可以了,一般都有这功能

使用特权

评论回复
板凳
alphal|  楼主 | 2016-11-13 21:36 | 只看该作者
ayb_ice 发表于 2016-11-13 13:40
锁住调试接口就可以了,一般都有这功能

有道理。。但疗效没那么好吧,技术上实现才是硬道理。

使用特权

评论回复
地板
GeekyGeek| | 2016-11-13 22:35 | 只看该作者
本帖最后由 GeekyGeek 于 2016-11-13 22:49 编辑

我以PIC18为例,我将配置位CP置1,那么程序hex无法通过烧录器(硬件方式)读出来的
我将配置位EBTRB,EBTRx全都置1, 那么就算被植入木马程序,也无法通过表读(软件方式)读出程序hex.
所以不管是硬件的方式,还是软件的方式都无法读出程序hex.

另外,IDE生成了应用程序hex, 我会对hex加密,然后才交给生产线去使用。
加密后的程序通过上位机传送给预装了bootloader的MCU, bootloader接收数据,解密,并完成烧写。

这么多的保护措施,只在2,3个产品线(核心产品)上有用到,虽然不一定是万无一失,但安全等级已经相当高,成本却没有增加。



使用特权

评论回复
5
皈依| | 2016-11-14 08:28 | 只看该作者
用MCU的ID锁住芯片,做读写保护,另外禁用烧录接口。

使用特权

评论回复
6
oayzw| | 2016-11-14 09:25 | 只看该作者
真想盗版的话会刨开芯片直接读

使用特权

评论回复
7
songchenping| | 2016-11-14 11:58 | 只看该作者
先申请专利保护啊

使用特权

评论回复
8
GeekyGeek| | 2017-1-5 13:30 | 只看该作者
oayzw 发表于 2016-11-14 09:25
真想盗版的话会刨开芯片直接读

是的,没有绝对安全的方案。对于一般的MCU 产品,只需5000美元,就可以请国外大牛,使用逆向工程的方法克隆一个出来。国内价可能更低。

如果加了锁,禁止下载器读出hex,  使用encrypted bootloader,擦除芯片丝印等,可以增加别人克隆你的产品的成本。

所以对于有安全保护需要的产品,加禁读锁,使用encrypted bootloader, 擦出丝印,我都做全了。估计克隆的成本比自己开发的成本还高。我的目的也就达到了。

对于重要产品,加密hex,由encrypted bootloader来解密和在线烧写的方式,是必做的,这样hex文件就算给到客户或合作伙伴手上,让客户或合作伙伴升级你的产品软件。可以避免产品召回(节省产品召回的成本),也不要担心你的软件hex的安全问题(比如,客户或合作伙伴有了你的hex,就把你踢开,这种情况,如果用了encrypted bootloader 就不会发生了)

国外很多公司的产品BIN文件,或Hex文件都会发给国内的代工企业。但是他们的BIN文件或Hex文件(BIN 文件的多)都是加密过的。产品更新软件都是由encrypted bootloader接收加密过的BIN/Hex, 先解密再烧写。
但是国内使用encrypted bootloader的公司几乎没有。不知道是不是不愿去开发这个,其实开发这个用不了多少成本的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

112

主题

473

帖子

1

粉丝