机电之家行业门户网运行
文章 下载
最新公告:

  没有公告

设备维修与管理培训
您现在的位置: 设备维修与管理 >> 设备管理 >> 基础管理 >> 技术管理 >> 资讯正文
 
赞助商
 
 
最新文章
 
 使用NEC单片机保护您的设计
 显微镜的使用方法和注意事项
 正确使用光学显微镜的几个注意点
 使用单位对起重机械的安全管理
 起重机钢丝绳的使用与维护
 电动葫芦的使用维护与安全注意事
 可作钻夹头使用的多功能顶尖
 使用装夹台提高批量加工效率
 浅谈如何延长等离子消耗件的使用
 水基防锈剂的使用注意事项
 
推荐技术
 
 
相关文章
 
没有相关资讯
 
客户服务
 
如果您有设备方面好的文章或见解,您可以送到我们的投稿信箱
客服电话:0571-87774297
信   箱:88ctv@163.com
我们保证在48小时内回复


s

b

g

l

.

j

d

z

j

.

c

o

m

 

[组图]使用NEC单片机保护您的设计           ★★★
使用NEC单片机保护您的设计
作者:佚名 文章来源:网络 点击数: 更新时间:2009-11-26 14:42:51

 

如今,一款新产品刚推出不久,市场上往往就会出现仿冒的产品,给先期研发的企业和个人造成知识产权的侵犯和经济利益的损害。作为工程师,在产品设计初期应该尽量考虑到产品被抄袭的可能,选择一款具有良好保密性的单片机并对单片机系统进行加密设计,防止竞争对手的抄袭。

破解单片机程序的方法

对单片机内的程序窃取主要有两种方法:侵入式和非侵入式。侵入式的方法是破坏芯片的封装,并利用半导体测试设备、显微镜和微定位器等仪器找到芯片内保护熔丝的位置并将其擦除,使其变成未经加密的芯片,然后用编程器将程序读出,或者直接将探针放在芯片内部总线上读出存储器中的程序。非侵入式的方法是利用芯片设计或芯片编程时序中的某些漏洞对芯片进行解密,例如针对早期的AT89C系列芯片在擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后停止下一步擦除片内程序存储器数据的操作,从而使加密的单片机变成没加密似的,然后利用普通编程器就可读出片内的程序了。

可以看到,使用侵入式的解密方法需要使用昂贵的设备,并且需要花费较长的时间,其解密成本较高;而使用非侵入式的解密方法需要的设备相对较廉价,只要能找出芯片设计中的漏洞就有可能实现解密,但是需要解密者有深厚的专业知识。

newmaker.com
图1:NEC 78K系列单片机的保密功能

NEC单片机的保密设计

理论上来说,单片机的程序不可能做到百分之百的保密,对单片机程序进行加密只是为了提高破解成本。当一个产品的破解成本高到和自主设计一个相同产品的成本相当的时候,便没人会有兴趣破解此产品。

产品设计中,为了避免增加外围硬件从而增加产品成本,产品软件的保密通常主要依靠所选用单片机的保密性来保证,因此选用一款保密性良好的单片机来提高抄袭者的破解成本就显得尤为重要。NEC(日电电子)在其FLASH型的78K系列单片机中设计了充足的保护措施来保证单片机程序代码的安全。

通常除了开发者的原因外,单片机程序目标文件的泄露无外乎三个原因:1.量产时程序烧写过程中目标文件被窃取;2.产品上市后被窃密者拿到,利用侵入式或非侵入式的方法获取单片机内的目标文件;3.使用BootLoader程序通过串口、CAN接口等进行产品现场升级时应用程序目标文件被窃取。

newmaker.com
图2:量产编程器的加密设置

量产编程时的程序保密

第三方为NEC设计的量产编程器FL-G03可以支持对8片芯片的同时烧写。开发工程师使用128位密钥将原始HEX文件加密,并将该密钥固化到编程中用于烧写时的解密,工程师还可在编程器上设置烧写芯片的数量限制,然后将编程器和加密过的HEX文件提供给程序烧写人员。这样避免了其它人员接触原始HEX文件,且最多只能烧写设定数量的芯片。

newmaker.com
图3:即使保密位被破坏也无法读出程序

防止侵入式和非侵入式的程序窃取

侵入式的破解方法可以将加密过的芯片变成非加密的芯片,然后用编程器读出程序,当然也可以用探针从芯片内部总线读取程序,但这样做的成本相当之高;非侵入式的破解方法最后一般都要通过编程器将程序读出。NEC的78K系列单片机没有PROGRAM READ功能,因此无法利用编程器将程序读出。(注:用编程器给芯片编程时的校验功能并不是将程序读出来进行校验,而是编程器将数据送给芯片,由芯片内核独立完成与存储区数据的比较,然后将比较结果返回给编程器)。

newmaker.com
图4:使用加密的目标文件进行现场升级

产品现场升级时的程序保密

如果单片机程序设计者使用了BootLoader功能,则可以在产品售出后方便地通过串口等通讯口对单片机程序进行升级,但是这也给窃密者留下了可乘之机,新版本的应用程序目标文件有可能被泄露。解决办法是设计者将应用程序的目标文件按自定义的某种算法进行加密,并将解密算法放在BootLoader程序中。升级的时候BootLoader程序对目标文件进行解密,然后写入目标FLASH区。这可以避免原始的目标文件泄露出去。

防止芯片程序被意外擦除或改写

除了上面谈到的防止程序被泄露或破解的措施外,78K系列单片机还采取了多项措施来保证程序不会被意外擦除或者改写。78K系列单片机可以在编程时通过编程软件对FLASH进行如下安全设置:

1. 禁止全片擦除操作。
2. 禁止块擦除操作。
3. 禁止写操作。
4. 禁止改写boot cluster0区。

这些设置可以禁止通过编程器对芯片进行擦除和写入操作,但是芯片内的用户程序仍然可以对FLASH区进行擦除和写入操作。一旦设置了“禁止全片擦除操作”后,芯片内的程序将不可再被擦除和改写,此设置也无法再被取消。

各项安全设置与操作命令的关系见表1。

表1: 各项安全设置与操作命令的关系
newmaker.com

结语

NEC的78K系列单片机从多个方面采取措施使得单片机程序的保密性得到加强,尤其它没有READ命令,无法将程序数据读出到片外的特点使得其破解成本大大提高,有效地保护设计者的知识产权。

作者:深圳世强电讯有限公司 甘梽甬

 

资讯录入:admin    责任编辑:admin 
  • 上一篇资讯:

  • 下一篇资讯: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    不良信息
    举报中心
    机电之家设备管理网
    致力于机电设备维修与管理技术
    网络110
    报警服务
    服务热线:0571-87774297 传真:0571-87774298 电子邮件:donemi@hz.cn 服务 QQ:66821730
    机电之家(www.jdzj.com)旗下网站 杭州滨兴科技有限公司提供技术支持

    版权所有 Copyright © 机电之家--中国机电行业门户·设备维修与管理

    主办:杭州高新(滨江)机电一体化学会
    网站经营许可证:浙B2-20080178-1