当前位置:首页 > 单片机 > 单片机
[导读]在HCS12系列单片机中,加密可以分成两种方法:完全加密和使用密码的加密。这两种加密的方法根据用户的需求,使用的场合也有所不同。  完全加密  所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作

在HCS12系列单片机中,加密可以分成两种方法:完全加密和使用密码的加密。这两种加密的方法根据用户的需求,使用的场合也有所不同。

  完全加密

  所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作。在MC9S12DP256单片机中,加密是通过对某一Flash单元($FF0F)编程来实现的。加密后的芯片,BDM编程器对Flash的读操作就被禁止了。

  采用完全加密,读取ROM代码的可能性就不存在了,这是一种最为“安全”的加密方法。如果用户

  想修改ROM的内容,唯一的办法就是将Flash的内容全部擦除,这一操作可以通过BDM编程器来完成。

  使用BDM编程器擦除Flash ROM和EEPROM的过程与在普通模式下对片内的Flash ROM擦除操作过程基本一样,区别是对寄存器或是存储单元的读写要改由BDM命令来实现。通过BDM编程器将一连串完整的擦除指令序列送给单片机,就可将Flash ROM和EEPROM的内容全部擦除了。

  在全擦除操作完成后,BDM编程器将系统复位,系统会自动检查全擦除操作是否成功。如果成功,BDM状态寄存器的UNSEC位会自动置“1”,系统进入解密状态。

  由于系统靠检查Flash ROM和EEPROM是否清空来决定系统是否保持加密状态,所以,如果用户程序偶然将Flash ROM和EEPROM的内容全部擦除,那么系统也将自动解密。

  使用密码的加密

  为了留有读取ROM代码的可能,用户可以采用一种带有密码的加密方式。解密时,用户只要给出正确的密码(称为“后门密码”),就可以读写ROM,而不破坏其内容了。

  使用这种方法,用户需要在加密之前,设定4个字长的密码,并将其存放在Flash中,MC9S12DP256存放密码的Flash地址是从$FF00到$FF07。设定的密码可以随用户程序一起下载到芯片中。

  解密时,接受用户输入的密码并验证的工作只能由一个用户接口程序来完成的,不能使用BDM编程器。接口的方式没有限制,如SCI、SPI、IIC、MSCAN等等,只要用户能够将正确的密码输入,任何一种接口方式都是可以的,最为典型的接口是串口。

  假设接收的密码存在变量KEY0-KEY7中,验证密码的程序如下:

  ******************

  * TEST KEYS

  ******************

  TESTKEYS

  BSET FCNFG,$20 ;置KEYACC为1

  LDD KEY0

  STD $FF00

  LDD KEY2

  STD $FF02

  LDD KEY4

  灵活使用带密码的加密解密方法

  通过研究我们发现,使用带有密码的加密方式,看似给破解代码留有了可能性,但因为接受和验证密码都需要由用户程序完成,只要用户程序设计的可靠,这种可能性是很小的。

  为了增强用户接口程序的可靠性和灵活性,我们提出以下几种可能的设计思路:

  针对穷举密码的对策:MC9S12DP256的密码长达8个字节,如果不将密码限定在ASCII码的范围内,那么可以选择的密码数量将达到1.8*1019 种。为了防患破解者穷举密码,用户可以设定允许输入错误密码的次数,如果出错超过一定次数,接口程序就不再接收新的密码了。允许出错的次数可以根据安全需要和使用方便综合考虑。

  灵活的对外接口:使用密码加解密时,用户程序使用的对外接口是没有任何限制的。本文中的串口程序只是一例,MC9S12DP256片内集成了众多的接口模块,如SCI、SPI、IIC、MSCAN、J1850等等。使用哪一个接口,用户可以根据方便和安全考虑自己选择,这样也会使破解者难以入手。

  用户程序级密码验证:用户还可以给接口程序增设一级密码验证的步骤。只有通过该密码验证,才能进一步输入解密的密码。因为加密后,Flash ROM就无法读写了,用户程序可以将增设的密码也保存到Flash中,留待验证。另外,如果某一个模块既要作为接受密码的接口,又有其他的用途,也应该留有一个交互界面,在使用前让用户选择该模块的用途。

  远程加解密:在很多场合,用户对于单片机的控制是通过以太网等介质远程实现的,只要有相应的接口程序,能够远程对单片机进行加解密,这无疑会给用户的工作带来很大的方便。

 

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

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 信息技术
关闭
关闭