逆操作保证安全:先加密后烧录

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

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

图1 工程加密

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

图2 传统烧录方式

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

图3 自定义安全加密方式

公众号介绍

致远电子官方微信公众号,一个汇聚500名工程师的研发测试分享平台,为您提供电子行业领先的产品技术与解决方案。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171228B0AY6Z00?refer=cp_1026

相关快讯

扫码关注云+社区