历史上的今天
今天是:2025年01月04日(星期六)
2018年01月04日 | 如何在生产时防止代码泄漏
2018-01-04 来源:ZLG致远电子
产品在出厂后往往都会对芯片进行软硬件加密,要想山寨产品需要破解芯片,然而对已加密的芯片进行解密,一般需要拆解芯片,分析其内部总线结构,破解周期长,费用昂贵。但很多时候代码往往是在生产时泄漏的,本文将介绍如何在生产时防止代码泄漏。
有很多企业在产品研发完成后,一般选择代工厂进行批量生产,代码的安全性尤为重要。为了避免工厂直接接触代码,一般会在编程器上建立加密工程,对烧录文件进行加密保护,再将加密后的工程发给代工厂生产,杜绝了文件被直接泄漏的可能。

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

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

图3 自定义安全加密方式
史海拾趣
|
公司一个PDM管理员说是从深正回来公司工作的,冒了一句:从来没有听说有结构工程师一职位。把我们研发中心老结构气的差点把给杀了。这种人居然被领导弄进来,不知道啥关系?… 查看全部问答> |
|
惭愧,我是新手,请问各位高手,485和232串口在物理接口上有什么区别...工控机一般有RS485串口吗?是通过什么实现的...是加了一个转换器吗?串口通信编程时有什么不同...不胜感激… 查看全部问答> |
|
大家好!小弟因作业要做一个程序,向大家求助以下问题: 程序的目的是发现无线网络的access point, 并且能够连入该网络;用visual studio 2005, c#开发; 我想用的是OpenNETCF.org提供的一系列API; 我的电脑是windows xp service pack 2的。 但 ...… 查看全部问答> |
|
为了做到低功耗,请问大家GPIO如何配置,小弟用的是S3C2440A。 对于外部有负载的GPIO如何配置,我目前的做法是如果不用,就将其配置成输入。 对于外部没有负载的GPIO如何配置,我的做法是将其配置成输出,并配置DAT寄存器为1. 如果是特殊功能引 ...… 查看全部问答> |
|
推荐一款低功耗段式液晶屏 看论坛正在做低功耗时钟,我刚好手头有个东西也需要低功耗显示,向大家推荐北京青云的LCM061A段式模块,主要是3.3V下可以工作,典型工作电流看厂家资料说是50ua(无背光),省电模式下《1ua。因为最近正在调试别的部 ...… 查看全部问答> |




