打印

STM32加密防** 求高手支招

[复制链接]
12341|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yang4469|  楼主 | 2013-11-23 18:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yang4469 于 2015-1-14 12:07 编辑

目前做了一个系统,用到了一片stm32和多片stm8,想出产品了,但又不想让人轻易的山寨了,至少要让破解成本提高
目前想到的办法是
1。最基本的方法是置读保护,这样可以防止外部工具非法访问
2.st的芯片都有自己的ID,根据自己的ID来加密,这样每个芯片烧录的程序不同,这样就是拷贝出了bin文件,也不是简单的就能用的
但是这样的话,不是很适合批量生产
3.程序里面明码、暗码都有版权显示,为后续如果需要打官司留一手
4.增加一个加密芯片
5.当然,芯片之间互相通信可以加上软件验证
6.在SRAM里面运行,加备用电池,掉电必须返厂,这种方式生产也是个问题,对于后期维护成本也太高了
7.针对反汇编反编译的自陷编程技术
也许有重复的,目前想到的就是这些,大家有木有什么更好的加密方法啊

相关帖子

沙发
谈的元| | 2013-11-23 21:07 | 只看该作者
可以通过外部升级代码,发现三寨的就给三寨的升级

使用特权

评论回复
板凳
haiyuan254| | 2013-11-23 21:07 | 只看该作者
恐怕你的产品自己卖着都费劲吗?还有人抄吗?

使用特权

评论回复
地板
chunyang| | 2013-11-23 21:15 | 只看该作者
如果所用MCU本身可被解密,可以找一片尚未被解密的MCU通过密码通讯来验证身份进入工作态,但此种方案需要注意编程技巧,免得被反汇编后绕开。一般对付解密,用汇编编程比较好控制。

使用特权

评论回复
5
huangxz| | 2013-11-23 21:33 | 只看该作者
stm32被**的可能性还是比较大的,不知道st32,st33那类的芯片能不能好点。

使用特权

评论回复
6
Schvian| | 2013-11-23 22:10 | 只看该作者
人为加片CPLD,增加**难度

使用特权

评论回复
7
变形金刚4| | 2013-11-23 22:49 | 只看该作者
可以通过外部升级代码,发现三寨的就给三寨的升级

使用特权

评论回复
8
kseeker| | 2013-11-24 12:21 | 只看该作者
关于第2点,处理好了不影响批量生产:
将程序分成3部分:1,bootloader.2,应用程序.3, 激活程序。批量生产时,3部分统一烧录到片子的不同区域里。
第一次运行时,bootloader调用激活程序,由激活程序负责读取芯片id,处理后写入flash。之后重启,转回bootloader。
这里还可以有些额外的工作可以做,比如,我的程序数据很多,需要用sd卡烧写进外挂的nand Flash(用户固件升级也是
通过sd卡完成的),所以我就顺便把芯片id,程序版本等信息记录到sd卡的一个txt文件里,这样出厂的设备都有记录可查。
没有sd卡的话,可以通过串口输出这些数据。把串口和烧录口做到一个插座上,程序烧录完后自动与上位机通信。

第二次运行时,bootloader检测到已初始化,擦除激活程序(对于保密来说很重要),转入应用程序运行。
这样处理,不需要额外的烧写步骤,只需要烧录完后自动运行几微秒。
关于第7点,不需要在sram里运行,只要在后备寄存器里写几个字节即可。数据丢失后不一定要返厂,而是要求用户提供
其购买的信息(比如你之前写进去的id或者产品序列号),如果能够确认是正品,就给用户一个密码用于恢复。

另外一个很管用的方法是在一个隐蔽的地方加入程序完整性的校验以检测程序是否被修改过。用MD5之类的散列算法,而
不要用CRC,那不是用于加密的。

使用特权

评论回复
9
ipman| | 2013-11-24 12:33 | 只看该作者
需要这么多单片机? 山寨见了都担心售后服务啊~ 你就大胆的不加密往外卖, 降低山寨门槛, 届时也好招安山寨厂家

使用特权

评论回复
10
icecut| | 2013-11-24 13:17 | 只看该作者
ipman 发表于 2013-11-24 12:33
需要这么多单片机? 山寨见了都担心售后服务啊~ 你就大胆的不加密往外卖, 降低山寨门槛, 届时也好招安山寨厂 ...

不加密都没人敢抄

使用特权

评论回复
11
sherwin| | 2013-11-24 14:14 | 只看该作者
建议楼主找本坛的名人——mcuisp,貌似他有一种可以加密的批量烧录器,在批量生产的时候,保证你的每一个片子里面的程序都是加密且不相同的。   @mcuisp

或者,找Mcuplayer请教也可以啊,也是业内的大拿啊,呵呵。

使用特权

评论回复
12
dirtwillfly| | 2013-11-24 16:38 | 只看该作者
有些产品没必要加密的

使用特权

评论回复
13
ljxh401| | 2013-11-24 17:28 | 只看该作者
利用唯一id 根本不会影响批量生产

使用特权

评论回复
14
yhn1973| | 2013-11-25 09:35 | 只看该作者
打磨

使用特权

评论回复
15
yang4469|  楼主 | 2013-11-25 10:04 | 只看该作者
谈的元 发表于 2013-11-23 21:07
可以通过外部升级代码,发现三寨的就给三寨的升级

ok,这个可以有

使用特权

评论回复
16
yang4469|  楼主 | 2013-11-25 10:06 | 只看该作者
haiyuan254 发表于 2013-11-23 21:07
恐怕你的产品自己卖着都费劲吗?还有人抄吗?

是么,卖的情况如何不是现在考虑的,我想的是产品研发肯定要考虑加密的事

使用特权

评论回复
17
yang4469|  楼主 | 2013-11-25 10:07 | 只看该作者
chunyang 发表于 2013-11-23 21:15
如果所用MCU本身可被解密,可以找一片尚未被解密的MCU通过密码通讯来验证身份进入工作态,但此种方案需要注 ...

谢谢超版,记下了

使用特权

评论回复
18
yang4469|  楼主 | 2013-11-25 10:11 | 只看该作者
ipman 发表于 2013-11-24 12:33
需要这么多单片机? 山寨见了都担心售后服务啊~ 你就大胆的不加密往外卖, 降低山寨门槛, 届时也好招安山寨厂 ...

产品需要采集数据的个数上万个,频率很高,每秒扫描50-100次

使用特权

评论回复
19
yang4469|  楼主 | 2013-11-25 10:12 | 只看该作者
sherwin 发表于 2013-11-24 14:14
建议楼主找本坛的名人——mcuisp,貌似他有一种可以加密的批量烧录器,在批量生产的时候,保证你的每一个片 ...

哦,我刚接触这些东西,对很多东西,很多牛人都还不是很了解,谢谢了

使用特权

评论回复
20
yang4469|  楼主 | 2013-11-25 10:14 | 只看该作者
kseeker 发表于 2013-11-24 12:21
关于第2点,处理好了不影响批量生产:
将程序分成3部分:1,bootloader.2,应用程序.3, 激活程序。批量生产 ...

恩,你这个对我来说很有帮助,谢谢

使用特权

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

本版积分规则

15

主题

267

帖子

0

粉丝