PCB设计如何防止别人抄板?
一、前言
当然可以。防止PCB抄板是一个系统工程,从硬件到软件,从物理到法律,需要采用多层次、立体化的防护策略。虽然没有绝对无法破解的防护,但目标都是极大提高抄袭者的成本、技术难度和时间周期,使其得不偿失。PCB设计中,在通过重重关卡完成PCB设计后,最重要的就是版权问题,抄袭现象是屡见不鲜了。那么,PCB设计如何防止别人抄板?
二、防护方法
1、磨片,用细砂纸将芯片上的型号磨掉;对于偏门的芯片比较管用。
2、封胶,如粘钢材等,将PCB及其上的元件全部覆盖;里面还可故意搞五六根飞线拧在一起。要注意的是胶不能有腐蚀性,封闭区域发热不太大。
3、使用专用加密芯片,如ATMEL的AT88SC153等。
4、使用不可破解的芯片,如EPLD的EPM7128以上、ACTEL的CPLD等。
5、使用MASK IC,这需要很大的批量。
6、使用裸片,抄袭者们看不出型号也不知道接线。但芯片的功能不要太容易猜。
7、在电流不大的信号线上串联60欧姆以上的电阻。(哈哈,有点坏,前提不能影响信号质量)。
8、多用一些无字(或只有些代号)的小元件参与信号的处理,如小贴片电容、TO-XX的二极管等。
9、PCB采用埋孔和盲孔技术,使过孔藏在板内。(代价有点高)。
10、使用其它专用配套件,如定做的LCD屏、定做的变压器等等。
11、申请专利。鉴于知识产权保护的环境太差,国外最优选的方法在咱们这只能放在最后一条。
三、 物理层面防护(增加直接复制难度)
使用黑胶封装(“牛屎”芯片)
方法:将核心MCU或FPGA用一团黑色环氧树脂胶封装起来。
优点:成本极低,物理铲除胶体会大概率损坏内部的芯片和邦定线,导致芯片无法工作或无法辨认型号。
缺点:显得产品低端,影响散热,且专业的抄板公司可能有办法溶解胶体。
打磨并重新丝印芯片
方法:将关键芯片(如MCU、Flash、CPLD)表面的型号标识打磨掉,然后印上自己的假型号或混淆型号。
优点:成本低,能有效干扰抄袭者快速识别核心器件。
缺点:对于有经验的工程师,通过分析电路、引脚定义或使用专业工具仍可能识别出芯片。
采用定制件/专用芯片(ASIC)
方法:将部分或全部核心功能集成到一颗自己定制设计的专用集成电路中。
优点:这是终极物理防护。抄袭者无法在市场上购买到该芯片,反向工程一颗ASIC的成本极高(数百万到上千万),周期极长。
缺点:设计流片成本非常高,只适用于出货量极大的产品。
使用BGA封装芯片
方法:核心处理器选用球栅阵列封装的芯片。
优点:BGA的焊球在芯片底部,无法通过显微镜直接看到引脚连接,增加了抄板焊接和绘图的难度。
缺点:增加了自身的生产和维修难度。对于专业抄板者,通过X光扫描可以解决这个问题。
设计多层板(6层及以上)
方法:将关键信号线布在中间层。
优点:抄袭者需要通过逐层打磨、拍照、再对齐的方式来获取PCB走线图。层数越多,对齐和修复的难度呈指数级增长,且容易在打磨过程中损坏PCB。
缺点:增加了自身的PCB制板和设计成本。
四、 软件/固件层面防护(核心防护手段)
这是目前最主流、最有效的防护方式,核心思想是让抄袭者即使拿到了完整的硬件,也无法让系统运行或获取关键代码。
使用具备安全特性的MCU
方法:选择支持读保护、写保护 的微控制器。例如,ST的STM32系列有RDP级别,NXP的LPC系列有CRP级别。
原理:一旦在代码中启用这些保护,通过JTAG、SWD等调试接口将无法读取芯片内部的Flash存储内容。强行尝试读取会导致芯片内容被永久擦除。
优点:成本增加极少,防护效果非常好,是必备的基础防护。
使用加密芯片/认证芯片
方法:在板上增加一颗专门的加密芯片。主MCU在启动或运行关键功能时,需要与加密芯片进行“握手”认证。
工作原理:
简单认证型:主MCU发送一个挑战码,加密芯片用预置的密钥计算并返回一个响应码。主MCU验证响应码正确后才继续工作。
算法协同型:将产品核心算法的关键部分放在加密芯片中运行,主MCU只负责外围控制。即使程序被读出,也缺少最核心的逻辑。
优点:即使MCU被破解,抄袭者仍需破解加密芯片(通常非常困难)并理解其通信协议,防护等级高。
程序代码混淆与加密
方法:
混淆:在编写固件时,使用无意义的变量/函数名,增加反汇编和理解的难度。
加密:将编译后的固件程序加密后存储在外部Flash中。MCU上电后,由一片安全启动芯片(通常也是加密芯片)或MCU内部的安全Bootloader将加密固件解密到RAM中执行。
优点:即使通过物理手段从外部Flash中读出数据,得到的也是密文,毫无用处。
五、 系统设计层面防护(增加逆向工程难度)
空置元件/虚假网络
方法:在PCB上放置一些不焊接的元件,或者将一些无关紧要的引脚通过电阻/电容连接到虚假的网络上。
优点:干扰抄袭者的电路分析,让他们花费大量时间去研究这些“为什么存在”的元件。
使用未标注的测试点
方法:将重要的信号线引到一些没有丝印标注的测试点上。
优点:抄袭者不知道这些测试点的用途,增加了调试和分析的难度。
软件与硬件深度耦合
方法:利用PCB上一些固有的、不可改变的“指纹”信息作为加密因子。例如,读取特定ADC通道的电压值(由于电阻精度误差,每块板的这个值都是唯一的)、读取Flash的唯一ID等。
原理:在程序初始化时,读取这些硬件特征值,经过特定算法后作为密钥的一部分,或用于验证程序是否运行在“正确的”板卡上。
优点:即使代码被完整复制到另一块板上,也会因为硬件“指纹”不匹配而无法运行。
六、 法律层面防护
申请专利
对产品中具有创新性的电路、结构或算法申请发明专利或实用新型专利。
优点:一旦发现抄袭,可以通过法律途径维权,要求停止侵权和赔偿。
缺点:申请周期长,费用较高,且专利内容需要公开。
软件著作权登记
对产品的固件代码进行软件著作权登记。
优点:成本较低,办理速度快,是证明代码归属权的有效法律证据。
核心思想:防抄板不是要做一个坚不可摧的堡垒,而是要让抄袭的成本远高于其可能带来的收益。 通过上述方法的组合,你可以构建一个足够高的门槛,吓退绝大多数潜在的抄袭者。
