当前位置:首页 > 单片机 > 单片机
[导读]如今,一款新产品刚推出不久,市场上往往就会出现仿冒的产品,给先期研发的企业和个人造成知识产权的侵犯和经济利益的损害。作为工程师,在产品设计初期应该尽量考虑到产品被抄袭的可能,选择一款具有良好保密性的单

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

 

破解单片机程序的方法

 

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

 

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

 


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

 

NEC单片机的保密设计

 

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

 

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

 

 

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

 

 


图2:量产编程器的加密设置。

 

量产编程时的程序保密

 

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

 

 


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

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


 

 

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

 

 


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

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

 

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

 

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

 

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

1. 禁止全片擦除操作。

2. 禁止块擦除操作。

3. 禁止写操作。

4. 禁止改写boot cluster0区。

 

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

 

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

 


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

 

结语

 

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭