如何在生产时防止代码泄漏

时间:2018-01-03 15:33来源:ZLG致远电子

摘要:很多时候代码往往是在生产时泄漏的,本文将介绍如何在生产时防止代码泄漏。

产品在出厂后往往都会对芯片进行软硬件加密,要想山寨产品需要破解芯片,然而对已加密的芯片进行解密,一般需要拆解芯片,分析其内部总线结构,破解周期长,费用昂贵。但很多时候代码往往是在生产时泄漏的,本文将介绍如何在生产时防止代码泄漏。

有很多企业在产品研发完成后,一般选择代工厂进行批量生产,代码的安全性尤为重要。为了避免工厂直接接触代码,一般会在编程器上建立加密工程,对烧录文件进行加密保护,再将加密后的工程发给代工厂生产,杜绝了文件被直接泄漏的可能。

 
图1 工程加密
    
传统的烧录方式为擦除—编程—校验—加密,该方式可以保障芯片在烧录完成后处于加密状态,在一定程度上杜绝了代码泄漏的可能性,但并非无懈可击,只要一个小动作就可以轻易盗取芯片内部的代码,例如,烧录执行完擦除—烧写后,在校验的时候将板子(芯片)从编程器的连接中断开,使烧录没有执行到加密阶段,此时的芯片处于烧写完成但未加密的状态,随便一个编程器就可以读取其内部的代码,从而导致代码泄漏。


 
图2 传统烧录方式
    
为了解决这个问题,P800isp 编程器提供了灵活编辑的组合配置,组合中的操作可以任意增减、调整执行顺序。为了避免生产中代码泄漏,可以将组合顺序调整为擦除—加密—编程—校验,在编程之前先加密,这样可以保证编程完成后,芯片一旦发生复位(或掉电),加密就会生效,禁止读取内部代码。当然,该方式也需要芯片本身的支持,有些芯片一旦执行加密,就会立即生效,如 MicroChip 的 PIC 系列芯片、ATMEL 的 ATSAM4C 系列芯片等等,只能使用传统的烧录方式。


 
图3 自定义安全加密方式
我要投稿
帖子推荐更多

Copyright 2008-2018 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348