打印
[KungFu8位 MCU]

详解集中单片机的加密办法

[复制链接]
822|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
  在最近一个项目中,急急忙忙把功能完成就给了客户,完全没有安全意识,现在用烧录器把Flash里的程序一读,我就慌了,完全没有加密,随随便便就把程序读出来了,那我干了一个月的活,被人家花几秒钟读出来了,我这不是白干吗。因此,在这里普及一下安全意思,顺便介绍几种常见的加密方法。
沙发
HuangHongLun|  楼主 | 2019-2-26 10:36 | 只看该作者
一、打磨或更改芯片型号丝印

  打磨或更改芯片型号丝印可以迷惑**者,使**者不知从何入手。当然,这是需要成本的,根据产品价格考虑是否需要打磨。

使用特权

评论回复
板凳
HuangHongLun|  楼主 | 2019-2-26 10:36 | 只看该作者
二、使用加密芯片

  使用加密芯片的成本更加高,同时对于加密芯片可靠度无法掌握,风险很大。

使用特权

评论回复
地板
HuangHongLun|  楼主 | 2019-2-26 10:37 | 只看该作者
三、开启单片机Flash保护

  大部分有价值的单片机都有Flash保护功能,使能对应的标志位,烧录器就无法通过通讯脚读取Flash里的数据,唯有全部擦除数据。如图1-1新塘单片机



也有一些单片机通过程序直接把通讯线路物理意义上的断开,这种方法保护更有效,但从此不能再对单片机写入程序,对于售后服务来说是一种风险。如图1-2ST单片机

使用特权

评论回复
5
HuangHongLun|  楼主 | 2019-2-26 10:38 | 只看该作者
三、使用唯一ID号

  对于一些高端的单片机,在出厂的时候芯片内部就给予了一个唯一的ID号。我们可以添加一个存储器(有的单片机内部有),然后组织一种特殊的算法,利用这个唯一的ID号,产生一组数据,把这个数据预先烧录到存储器里。单片机上电初始化的时候,先读出存储器里的这个数据X,然后读出自身的ID号通过加密算法算出一个值Y,然后比较XY值是否一样,如果一样则继续工作,否则停止工作。这种方法是最实用的一种。如图1-3ST单片机的唯一ID号

使用特权

评论回复
6
HuangHongLun|  楼主 | 2019-2-26 10:39 | 只看该作者
四、利用外部电路参数校正

  对于一些非纯数字电路,电路自身存在有较大的参数偏差,这时候可以利用软件校正参数偏差,这使得每一块电路板的程序电路一样,但Flash数据不一样。**者即使**出程序和电路,如果无法理解电路的含义,则无法校正Flash数据,产品运行结果就会有偏差。

使用特权

评论回复
7
vcvfvgvb| | 2019-3-29 16:28 | 只看该作者
单片机的加密越来越完善了

使用特权

评论回复
8
wuhanrf| | 2019-4-24 17:14 | 只看该作者
STC芯片非常垃圾的

使用特权

评论回复
9
operating| | 2019-4-26 19:46 | 只看该作者
利用唯一序列号的方法还是挺不错的

使用特权

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

本版积分规则

50

主题

440

帖子

2

粉丝