datasheet

技术文章—如何在烧录生产过程中全方位保护芯片程序

2019-04-11来源: EEWORLD作者: ZLG立功科技·致远电子 关键字:烧录  芯片程序

随着山寨产品层出不穷,越来越多的人开始关注芯片烧录的安全性问题。芯片作为一个产品的核心部件,其内部程序一旦被盗取,那么整个产品将面临被破解的风险,这里将介绍如何在烧录生产过程中全方位保护芯片程序,实现安全生产。

 

要实现安全生产,首先得保正烧录文件的安全性。烧录文件是研发项目的结晶,其安全性极为重要,特别对于代烧录工厂,人员配备参差不齐,如果将文件直接下发给工厂生产,容易造成文件泄漏。为此P800系列编程器提供了工程加密功能,烧录工程由研发制作,并对敏感文件数据进行加密,以加密工程的形式下发给工厂生产,既解决了工厂接触文件的风险,又避免了工人建立、配置烧录工程的繁琐操作,提高生产效率。

 

 

工程加密保证了文件的安全性,但是否就能确保芯片程序的安全呢?我们知道,芯片除了能烧写(编程)外,还有读取接口,以方便芯片的调试和校验数据的完整性,也就是烧录进去的程序还可以被完整的读取出来。即使不接触文件,也能获取文件内容,最终导致烧录文件被间接盗取。当然,芯片在设计时也会考虑到这个问题,每种芯片基本都拥有自己的一套加密方法,我们只要在烧录完成后,及时给芯片加密,就能在一定程度上保障代码的安全性。

 

然而,文件、芯片双重加密看似牢不可破,其实还是有一定的漏洞,这个漏洞主要出现在烧录流程上。擦除、烧写、校验、加密为传统的烧录流程,市面上绝大多数编程器均采用该流程。我们知道,芯片的保护在于加密,在该流程中,加密放到了最后执行,如果芯片在烧写完成后,加密之前被取走(也就是校验阶段,校验一般都会持续一段时间,而这段时间足够芯片被取走),那么芯片就处于烧录完成但未加密状态,导致程序被读取盗走。

 

 

为解决这个问题,我们可以把加密放到烧写之前,这样烧录流程就变为:擦除、加密、烧写、校验。即使在校验阶段把芯片取下,芯片也已经加密完成了,无法读取其内部数据。也许你会问,加密后芯片还能烧写和校验吗?其实对于大部分芯片来说,加密是需要重新启动才会生效的,也就是只要在烧录流程中不掉电、不复位,芯片依然可以正常烧写和校验。当芯片取下后,加密就会立即生效,及时保护芯片内部程序。

 

 

安全的工程加密,可靠的芯片保护以及灵活的流程配置是P800系列编程器的标准功能,既能拟补传统编程器的安全性不足,又能保证量产的稳定性,全方位保护知识产权。

 


关键字:烧录  芯片程序

编辑:muyan 引用地址:http://www.eeworld.com.cn/manufacture/2019/ic-news041127665.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:2018年全球前十大IC设计公司营收排名出炉
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

JFlash ARM对stm32程序的读取和烧录

as 选择要储存的文件类型如:HEX格式,存储就OK了。写入读取的文件:第一步:File-->Open  data flie打开相应的HEX文件。第二步:Targect-->Connect链接JLINK   ;Targect-->Program 等待烧录完成就OK了。如有不做之处请指教,目前不会破解单片机,但是想学,如果有大神愿意授教小弟感激不尽,学破解不是为了破解别人的单片机,而是只有懂了破解之道才能更好的保护自己的程序不被破解。
发表于 2019-02-13
JFlash ARM对stm32程序的读取和烧录

STC51烧录程序时序分析

检测串口是否有上位机检测信号。一旦发现检测信号,单片机回复响应信息,响应信息波形可见图2.4,内容则可见图2.5。图2.3  检测信号图2.4  响应信号图2.5  回复内容上位机接收到单片机响应后的回复信号,波特率为2400,每比特所占时间大约为416us,可以根据图2.7对上位机的回复进行数据解析。图2.6  上位机回复内容图2.7  上位机回复内容Note3:上位机(STC-ISP)程序烧录总的烧录过程为:上位机先检测单片机,再通知单片机开始烧录程序,每次发一小段程序,单片机会有一个ACK,之后再发结束指令,图3.2接图3.1。图3.1  程序烧录图3.2 
发表于 2019-01-26
STC51烧录程序时序分析

STM32F103关闭SWD/JTAG功能无法烧录时处理方法

现象:1.SWD或者JTAG无法连接2.FLASH ARM烧录出现以下错误    - Erasing affected sectors ...    - ERROR: RAM check failed @ address 0x20000000.    - ERROR: Write: 0x03020100 07060504    - ERROR: Read: 0x00000000 00000000    - ERROR: (0 bytes of RAM have been checked successfully) 
发表于 2019-01-16

STM32环境搭建,建立工程及程序烧录

;随便填一些用户信息…   安装程序从当前开始安装,等待安装完成.   如果提示安装驱动,如果需要使用到ULink进行程序的烧录调试,则选择是,如果不需要选择否就可以了。   MDK安装完成界面如下所示,点击finnish:   弹出如下界面,取消选择show the dialog at startup,点击OK 此时在界面左方的树形列表中,ALL Devices列表下,只有一个ARM选项,等待程序刷新获取所有的设备列表: 展开设备STMicroelectronics选项,将会看到所有类型
发表于 2018-12-15
STM32环境搭建,建立工程及程序烧录

解决mdk生成bin烧录lpc1343无法运行问题

/fromelf.exe --bin --output ./Obj/gpiotest.bin  ./Obj/gpiotest.axf通过设置PIO_01 = LOW, PIO_03 = HIGH,插入USB电缆后,PC正常出现U盘符, 但下载我自己的测试程序后,无任何反应(似乎我的程序没被更新)。重新复位芯片后,U盘里存在的firmware.bin 还是之前购买来时芯片本身自带的firmware 文件.但是我用flash magic 烧录到里面去,却能正确运行。看来是hex转bin出问题了。网上开始查找原因,然后发现一条有用的帖子信息:(21IC)应该是代码有效性校验字节不对,看看芯片UM,关于“Criterion for Valid User
发表于 2018-11-30

ubuntu下建立stm32开发环境:程序烧录openocd+openjtag

上一篇博客写了在ubuntu下,建立stm32开发环境,程序也已经编译好生成main.bin,接下来就是要把该文件烧录到stm32上.在Linux下给arm烧录程序主要使用openocd,这个软件开源,而且支持众多芯片,从ARM9到A8都可以,当然STM32也可以.支持的JTAG工具也很多,JLINK ST-LINK OSBDM都可以,我这正好有一个openjtag基于FT2232C的,也是被支持的.参考:How-to manual  Installing a toolchain for Cortex-M3/STM32 on Ubuntu   by Peter Seng博主最近
发表于 2018-10-13

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 市场动态 半导体生产 材料技术 封装测试 工艺设备 光伏产业 平板显示 电子设计 电子制造 视频教程

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved