当前位置:首 页 --> 方案设计
电子产品防止被“山寨”的几种方法
发布时间:2015/10/10 13:08:00 来源:
在线咨询:
给我发消息
李湘宁 2850985550
给我发消息
张代明 3003290139
给我发消息
姚红霞 3003214837
13713728695

摘要:产品就像工程师的“孩子”,是辛苦数月、甚至数年的结晶!为了“孩子”的安全,为了辛苦付出的成果不被别人抄袭,我们需要采取强有力的措施!

产品就像工程师的“孩子”!需要付出数月、甚至数年的精力和心血去设计每个细节。它既需要细心呵护长大;也需要打预防针来增强免疫力,以便应对外面丰富多彩但同时危险的世界。如果“免疫力”太差,“孩子”将面对各种不安全问题。这其中最重要的安全问题便是被“抄袭”?

核心的安全要素在“固件”

有人说,硬件和固件的安全同等重要!实际不然,硬件非常容易破解。因为材料、元器件,以及PCB都是标准化生产的,没有秘密可言。且从技术含量上来说,固件通常比硬件要高,固件发挥余地最大,最能体现产品的设计水平。

措施一:关闭通往外界的“大门”

芯片的烧录接口(如UART、JTAG)就像是通往外界的“大门”。通过这扇门,工具可以将固件灌入芯片或者读取出来。如果不把这扇门给关上,里面的固件极易被抄袭者读取,然后烧录到复制的硬件。这样,辛苦培养的“孩子”就变成了别人家的“孩子”。

1.jpg

关闭“大门”有以下几种方式方式。

l 使能加密位(如MSP430的JTAG熔丝位),关闭烧录接口,任何工具都无法接入。这种方式可靠性高,大多数MCU都具备这种特性;

l 固件主动将烧录接口管脚配置成IO管脚,实现烧录接口关闭,如JTAG的TCK管脚配置成GPIO。这种方式有一定风险,固件必须在芯片启动后尽可能快地关闭;

l 剪掉烧录管脚。除非打开芯片,否则很难将管脚引出。由于可操作性较差,适用于产品量少、价值低的情况。

推荐第一种方式,且这种方式也已经由SmartPro 2008软件支持。可以直接在配置界面中勾选“加密位”。以MB9BF506R为例,配置界面如下。

2.jpg

措施二:为固件“加壳”

“加壳”就是为固件披上“保护罩”,数据格式及含义发生变化。抄袭者拿到数据后,至少得花个几年的时间才能够解开。最终解开时,产品即将跨入生命终点,这时已经没什么意义了。适用于不具备加密机制的NorFlash、NandFlash、EEPROM。

具体措施是:采取加密算法对原始数据加密,将加密后的数据写入存储器。读取时,采用解密算法还原成原始数据。这种方式,需要工程师在固件中设置好加解密算法。

3.jpg

措施三:采用唯一ID芯片,固件跟硬件绑定

如果做最坏的打算,固件已经被读出来了,是否还有希望防抄袭?有!有些工程师巧妙地选用具有唯一ID的芯片,这样便无法复制出完全相同的硬件。固件会检查ID是不是与它期望的一样。如果不一样,就可以判断出有人已经破解成功,然后将固件烧到其它硬件。

4.jpg

当发现不一致时,固件可以不工作。有些工程师比较“坏”,固件会在某个特定的时间点做出“使坏”,比如异常死机。如果此时产品已经卖给客户,那些抄袭者们将会自食恶果!

如何保证固件跟硬件是完全绑定?使用SmartPro 2008软件里的自定义SN功能,烧录时可以读取芯片ID,进行运算,将结果植入主控芯片。固件只需要读取运算结果,然后与当前ID是否匹配,便可检查出是否被抄袭。只要保密运算结果的存储位置和计算方法,即使抄袭者读取出数据,也无法在其它芯片上使用!

5.jpg

措施四:不要轻易将原始固件交给其他人

在将固件交给工厂时,也要特别注意做好加密。看似安全的地方往往容易隐藏着问题。不管是交给自己的工厂,还是交给代烧工厂,尽量建立加密工程,并且限定只能在特定编程器上使用、限定允许烧录的次数。即便加密工程被抄袭者拿到,也没有任何用处。

6.jpg

在使用SmartPro 2008软件时,可以开启保护模式,允许用户设置密码,加密工程。

总结

以上几种安全措施,没有哪一种是绝对安全的。在实际设计时,应该考虑采用多种措施,从各个方面提升安全性能。这样一来,我们可爱的工程师们辛苦劳动成果才不会那么容易地被抄袭,“孩子”才能安全!

 
    您可能对以下产品感兴趣  
产品型号 功能介绍 兼容型号 封装形式 工作电压 备注
 
深圳市永阜康科技有限公司 粤ICP备17113496号 服务热线:0755-82863877 手机:13242913995