[讨论] 最安全省钱省事的防拷贝方式

bigbat   2020-1-20 12:32 楼主

从多年的开发经验来讲,不推荐使用什么加密芯片!真的不推荐。理由:

1、成本比较高,外置芯片就算你的芯片是白来的,你总得占用一点PCB面积吧,PCB是按面积收费的哦。

2、过度占用芯片资源,你有接口就得要引脚吧,不会你的芯片是内置到MCU里的吧。最起码你的有读写代码吧,这些代码不占用flash空间吗?要是因此用了更大flash的芯片,这不就是成本吗?

3、增加系统的故障率,你的系统如果工作在工业级的温度范围内,有可能一些小厂的芯片的温度范围不达标,可能因为这颗料造成你的系统无法工作!就算是达标的芯片,它就敢保证百分百不出问题吗?甚至有些小厂的芯片由于设计的不合理,由于程序中断等的影响造成读写时序“偶尔”出问题,关键是偶尔出现问题很难清查,造成的损失更大。

4、最关键的是你认为有了加密芯片就保险了,恰恰就是你的这种侥幸的心理害了你,在市场上没有没有看到过克隆版的加密狗!那都是被“河蟹”的芯片做的。由于芯片工艺的原因内部一般都有flash区域,这个flash区域很容易被识别,可以通过探针接通这个区域把里面的敏感信息读出来。可能你说我把信息加密不就可以了,那干嘛用加密芯片,普通芯片也一样的。

5、就算你的加密芯片不被破解,通常做法是在程序启动时调一下加密程序,然后就开始正常程序了,使用在程序中不停的检测加密点是不方便的,那这样对于risc指令集的芯片,通过修改指令的办法也是很容易被短路的。只要找到测试跳转指令,把它改成跳转指令就可以完成。这个就是不懂汇编的人,也可以轻易的测试出来。因为RISC指令的反汇编质量太高了。

那么有没有好的便宜的办法呢?那我就推荐一个:

现在的大部分芯片都设计有一个工厂内置的唯一ID(我知道的STM32、NXP的PLC),利用这个芯片ID即经济又方便。

办法就是:在程序启动时将芯片的ID读取出来,然后随便找个算法加密一下,例如:ID和一个质数异或,然后保存到变量中,在程序的循环间隙与程序中事先计算好的数字结果比较,如果不对了!那就好不客气的启动反克隆程序。这样攻击者在不逆向分析你的程序的情况下是很难破解你的芯片的。

回复评论 (10)

有理。

应该赞一个。

点赞  2020-1-20 19:44

曾见有个厂家生产的设备,开机后液晶显示 “XXXX公司” 字样。另一家拷贝了单片机程序。当然,另一家绝对不敢让仿制的设备开机后也显示同样的文字。于是让程序员找出这段文字在程序中什么地方,然后修改成自己的公司名称。可是,修改后烧入单片机,开机后立即死机。

点赞  2020-1-20 20:06
引用: maychang 发表于 2020-1-20 20:06 曾见有个厂家生产的设备,开机后液晶显示 “XXXX公司” 字样。另一家拷贝了单片机程序。当然,另 ...

这就尴尬了

射频【放大器】
点赞  2020-1-21 01:09
引用: btty038 发表于 2020-1-21 01:09 这就尴尬了

其实,加密无非是增加仿冒者的成本。只要仿冒的成本比重新写程序还要高,仿冒者自然就会放弃,而去重新写程序。楼主所提出的办法,目的就是增加仿冒者成本。

点赞  2020-1-21 16:05

单片机程序,如果仿冒者必须把所有源程序都读懂,才能够修改,那么仿冒者的成本就相当大了。须知即使解密单片机读出了所有二进制代码并且进行了反汇编,反汇编后的源程序也是很难读懂的——仿冒者不知道哪段子程序起什么作用,完成什么任务。

点赞  2020-1-22 10:31

目前最难防的不是克隆芯片,而是抄板和芯片方案。很多厂家买来好的产品,想办法搞到工作原理。很多产品就被仿制了

点赞  2020-1-22 11:26
引用: maychang 发表于 2020-1-22 10:31 单片机程序,如果仿冒者必须把所有源程序都读懂,才能够修改,那么仿冒者的成本就相当大了。须知即使解密单 ...

这些年这种低端的仿制者不多了,多的是抄袭方案。

点赞  2020-1-22 11:30
引用: bigbat 发表于 2020-1-22 11:30 这些年这种低端的仿制者不多了,多的是抄袭方案。

如果仿冒者能够搞清楚工作原理,修改方案,重新编写程序,仿冒者的水平也就不算低了。

点赞  2020-1-22 11:49
引用: maychang 发表于 2020-1-22 11:49 如果仿冒者能够搞清楚工作原理,修改方案,重新编写程序,仿冒者的水平也就不算低了。

主要是现在网上很容易就可以找到编写程序的人,有时还比较便宜。多数中小企业都不舍得投入研发,比较急功近利。大环境也决定着他们不敢投入,风险太高了。研发慢了市场黄金期过了很难收回成本。快了产品品质很可能达不到效果。更别说被人仿制冲击的风险了。多数的中小企业的市场都是比较冷门的行业。以我从事过的煤矿安全行业来说,看上去好像是很大众的行业,但其实行业规模很小。而且竞争异常的“惨烈”。全国的煤矿企业也不会超过二千家(不是矿井数量),说出来可能有人不相信,但是这就是事实。一个集团企业就有几百个甚至几千口井,全国就有三、四十家这样的“煤安企业”。产品品质说了不算,主要是营销。

真不是仿制者水平高,主要是:1、产品技术含量低。2、产品技术同质化严重。很多“技术问题”就是被同行看看就会的事。

点赞  2020-1-22 12:45
引用: bigbat 发表于 2020-1-22 12:45 主要是现在网上很容易就可以找到编写程序的人,有时还比较便宜。多数中小企业都不舍得投入研发,比较急功 ...

这样的小企业,目前还能生存。但只要具有很强研发能力的大企业看上了这块市场,生产出了性能更好的产品,小企业立刻会遇到很大的困难。最好的情况,是被大企业收购,最坏的当然就是关门大吉。

点赞  2020-1-22 12:59
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复