CN103020532B - 一种车载终端Flash加密方法及其装置 - Google Patents

一种车载终端Flash加密方法及其装置 Download PDF

Info

Publication number
CN103020532B
CN103020532B CN201210582722.3A CN201210582722A CN103020532B CN 103020532 B CN103020532 B CN 103020532B CN 201210582722 A CN201210582722 A CN 201210582722A CN 103020532 B CN103020532 B CN 103020532B
Authority
CN
China
Prior art keywords
mcu
ciphertext
burning
sequence number
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210582722.3A
Other languages
English (en)
Other versions
CN103020532A (zh
Inventor
何照丹
唐金涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Hangsheng Electronic Co Ltd
Original Assignee
Shenzhen Hangsheng Electronic Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Hangsheng Electronic Co Ltd filed Critical Shenzhen Hangsheng Electronic Co Ltd
Priority to CN201210582722.3A priority Critical patent/CN103020532B/zh
Publication of CN103020532A publication Critical patent/CN103020532A/zh
Application granted granted Critical
Publication of CN103020532B publication Critical patent/CN103020532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种车载终端Flash加密方法及其装置。包括以下几个步骤:步骤A:在MCU,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功;步骤B:在上位机通过串口,解析MCU侧的ISP指令,并获取MCU的序列号;步骤C:通过获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文;步骤D:利用MCU最后一个数据块来保存相应的验证信息。本发明针对MCU编译好的二进制文件,可以做为通用烧录,一个二进制文件可以烧录所有同型号的MCU,本申请针对这样可能产生技术流失的可能性,通过点点烧录,即烧录进去的二进制代码只能用于该MCU芯片,无法应用其他任何MCU芯片。

Description

一种车载终端Flash加密方法及其装置
技术领域
本发明涉及一种基于RT-Thread的车载终端Flash加密方法及其装置,尤其涉及一种基于RT-Thread的车载终端Flash加密方法及其装置。
背景技术
在电子行业,针对目前市场上山寨满天飞,国家提倡市场上有活力的企业和团体加快产业升级,努力创新,形成自己的核心力量。为了防止企业的核心技术被不良分子抄袭,需要一种技术来保护自己技术成果,这样就需要一种新型的加密技术。
传统的MCU加密技术是在启动代码中加读保护(CRP)机制,总共有三级保护机制:
CRP1:禁止通过JTAG引脚访问芯片。该模式允许使用下列ISP命令和约束来进行部分Flash更新。写RAM命令不能访问在0x40000200以下的RAM;将RAM内容复制到Flash命令不能写扇区0;仅当选择所有扇区药檫除时,檫除命令才能檫除扇区0;禁止比较命令。当需要CRP且要更新Flash字段时可使用该模式,但是不能檫除所有扇区时。
CRP2:禁止通过JTAG引脚访问芯片。下列的ISP命令被禁能:读存储器;;写RAM;运行;将RAM内容复制到FLASH;比较;使能CRP2时,ISP檫除命令仅允许檫除所有用户扇区的内容。
CRP3:禁止通过JTAG引脚访问芯片。如果FLASH扇区0中有有效用户代码,ISP禁能。
MD5算法:将一组字符串同md5算法生成一系列的密文,可以生成16位或者32位密文。
ISP即(In-SystemProgramming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程,ISP技术是未来发展方向。XL2000的ISP部份是业界首创的具备传统编程器的可靠性与下载线的方便性于一身的前卫产品。通过单片机控制时序,彻底解决并口ISP兼容性,可靠性的问题。将下载头的相关引脚引入目标板,即可方便快速的对目标板在系统编程。
从某种意义上讲,IAP是全世界数以亿计用户通往Internet的必经之路。Internet内容提供商在Internet上发布综合的或专门的信息,并通过收取广告费和用户注册使用费来获得盈利。
IAP:InApplicationProgramming是指在应用编程,即在程序运行中编程,就是片子提供一系列的机制(硬件/软件上的)当片子在运行程序的时候可以提供一种改变flash数据的方法。通俗点讲,也就是说程序自己可以往程序存储器里写数据或修改程序。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到存储区。大家要注意千万不要尝试去擦除这段ISP引导程序,否则恐怕以后再也下载不了程序了。它和ISP、ICP等方式有很大的区别。在PIC系列单片机中,不是所有的型号都支持IAP的功能,只有PIC18系列和PIC16F87X系列的单片机才有IAP功能;有些STC单片机,AVR单片机和ARM处理器也支持IAP功能。
发明内容
传统的加密技术通过设置ISP读写权限功能,给MCU自由升级带来麻烦,并且烧制进去的程序,通过非常手段从芯片读取的二进制文件,不加修改烧制在其他芯片上,照样可以运行。
本发明的目的是,针对MCU编译好的二进制文件,通常来说可以做为通用烧录,一个二进制文件可以烧录所有同型号的MCU,本发明针对这样可能产生技术流失的可能性,通过点点烧录,即烧录进去的二进制代码只能用于该MCU芯片,无法应用其他任何MCU芯片。从该芯片读出的二进制码也无法烧进任何其他MCU的Flash中。
在ISP在线烧录的基础上,通过MCU的IAP功能和MD5算法验证,在二进制文件烧录完成时,MCU对MD5码进行校验,如果校验通过,则成功完成烧录并可以运行代码,如果校验MD5码不能通过,则MCU启动IAP程序,擦除已经烧制的二进制码。
实现本发明目的的技术方案其特征如下:
一种基于RT-Thread的车载终端Flash加密方法,包括以下几个步骤:
步骤A:在MCU,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功;
步骤B:在上位机通过串口,解析MCU侧的ISP指令,并获取MCU的序列号;
步骤C:通过获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文;
步骤D:利用MCU最后一个数据块来保存相应的验证信息。
优选的,所述魔术码占四个字节,MCU的序列号占用16个字节,密文占用16个字节,二进制码的字节数占用4个字节,总共40个字节放入到最后一个数据块中。
其中,魔术码是用来识别文件格式以便区别于其他格式。类文件的前四个字节,也就是魔术码。
本发明还提供了一种基于RT-Thread的车载终端Flash加密方法的装置,包括:
比较单元,设置于MCU,用于生成密文,与上位传过来的密文进行对比,如果相同则烧录成功;
获取单元,用于解析MCU侧的ISP指令,并获取MCU的序列号;
密文单元,用于将获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文;
存取单元,MCU最后一个数据块来保存相应的验证信息。
本发明采用以上技术方案,其优点在于,在MCU部分,通过IAP的方式,按照上位机相同的方式,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功,如果不同,则通过IAP方式檫除所有已经烧制进去的二进制码,无法成功烧录。
本发明进一步采用以上技术特征,其优点在于,针对MCU编译好的二进制文件,通常来说可以做为通用烧录,一个二进制文件可以烧录所有同型号的MCU,本申请针对这样可能产生技术流失的可能性,通过点点烧录,即烧录进去的二进制代码只能用于该MCU芯片,无法应用其他任何MCU芯片。从该芯片读出的二进制码也无法烧进任何其他MCU的Flash中。
本发明通过原有的ISP烧录功能,通过加密技术MD5算法生成密文,通过验证密文的正确性来完成烧录功能。可以有效保护自己的核心技术不受外界的侵犯。
附图说明
图1是本发明一种实施例的流程示意图;
图2是本发明一种实施例的流程示意图;
具体实施方式
下面结合附图,对本发明的较优的实施例作进一步的详细说明:
如图1和图2所示,PC端与LPC端之间发送并传递信息,包括以下几个步骤:
步骤A:在MCU,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功;
步骤B:在上位机通过串口,解析MCU侧的ISP指令,并获取MCU的序列号;
步骤C:通过获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文;
步骤D:利用MCU最后一个数据块来保存相应的验证信息。
但本发明的方案不仅限于将MCU序列号生成密文,可以将序列号,其他各种字符串及其组合方式生成的密文都归于本发明。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (1)

1.一种基于RT-Thread的车载终端Flash加密方法的装置,其特征在于,包括:
比较单元,设置于MCU,用于生成密文,与上位传过来的密文进行对比,如果相同则烧录成功;
获取单元,用于解析MCU侧的ISP指令,并获取MCU的序列号;
密文单元,用于将获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文;
存取单元,MCU最后一个数据块来保存相应的验证信息;
在MCU部分,通过IAP的方式,按照上位机相同的方式,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功,如果不同,则通过IAP方式檫除所有已经烧制进去的二进制码,无法成功烧录;
所述方法包括以下几个步骤:
步骤A:在MCU,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功;
步骤B:在上位机通过串口,解析MCU侧的ISP指令,并获取MCU的序列号;
步骤C:通过获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文;
步骤D:利用MCU最后一个数据块来保存相应的验证信息;
在ISP在线烧录的基础上,通过MCU的IAP功能和MD5算法验证,在二进制文件烧录完成时,MCU对MD5码进行校验,如果校验通过,则成功完成烧录并可以运行代码,如果校验MD5码不能通过,则MCU启动IAP程序,擦除已经烧制的二进制码。
CN201210582722.3A 2012-12-28 2012-12-28 一种车载终端Flash加密方法及其装置 Active CN103020532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210582722.3A CN103020532B (zh) 2012-12-28 2012-12-28 一种车载终端Flash加密方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210582722.3A CN103020532B (zh) 2012-12-28 2012-12-28 一种车载终端Flash加密方法及其装置

Publications (2)

Publication Number Publication Date
CN103020532A CN103020532A (zh) 2013-04-03
CN103020532B true CN103020532B (zh) 2016-04-27

Family

ID=47969127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210582722.3A Active CN103020532B (zh) 2012-12-28 2012-12-28 一种车载终端Flash加密方法及其装置

Country Status (1)

Country Link
CN (1) CN103020532B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699506A (zh) * 2015-03-16 2015-06-10 成都雅骏新能源汽车科技股份有限公司 一种嵌入式加密烧录工具及其实现方法
CN111681662B (zh) * 2020-06-01 2023-07-25 科大讯飞股份有限公司 车内交互音频加密方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913680A (zh) * 2006-08-25 2007-02-14 华为技术有限公司 移动终端内部软件防盗版的方法与移动终端
CN102104801A (zh) * 2010-12-21 2011-06-22 福建二菱电子有限公司 一种机顶盒软件保密的方法
CN102280133A (zh) * 2011-08-16 2011-12-14 杭州晟元芯片技术有限公司 一种抗截获的代码加密烧录方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892837B2 (en) * 2011-02-22 2014-11-18 Altera Corporation Integrated circuit with tamper-detection and self-erase mechanisms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913680A (zh) * 2006-08-25 2007-02-14 华为技术有限公司 移动终端内部软件防盗版的方法与移动终端
CN102104801A (zh) * 2010-12-21 2011-06-22 福建二菱电子有限公司 一种机顶盒软件保密的方法
CN102280133A (zh) * 2011-08-16 2011-12-14 杭州晟元芯片技术有限公司 一种抗截获的代码加密烧录方式

Also Published As

Publication number Publication date
CN103020532A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
US10656936B2 (en) Systems and methods for software integrity validation using blockchain
US10185828B2 (en) Systems and methods using virtual UEFI path for secure firmware handling in multi-tenant or server information handling system environments
CN103718165B (zh) Bios闪存攻击保护和通知
Zaddach et al. Embedded devices security and firmware reverse engineering
US20200334045A1 (en) Systems And Methods For Separate Storage And Use Of System BIOS Components
CN105488418B (zh) 一种虚拟化平台服务器的可信启动方法及系统
SE531992C2 (sv) Metod och system för säker programvaruprovisionering
JP2005243004A5 (zh)
CN105867985B (zh) 一种车载解码器软件升级文件的方法
US9891862B2 (en) Forensic data acquisition apparatus and method for guaranteeing integrity of flash memory in smart device
US9292664B2 (en) Key injection tool
WO2017202338A1 (zh) 机顶盒加载驱动的方法及系统
CN104769598A (zh) 用于检测非法应用程序的系统和方法
CN110096314A (zh) 一种接口初始化方法、装置、设备及计算机可读存储介质
CN101639877B (zh) 电子装置及其更新基本输入输出系统方法
WO2022078366A1 (zh) 应用保护方法、装置、设备及介质
CN105677409B (zh) 一种系统升级方法及装置
CN110020528A (zh) 一种bmc启动方法、装置及电子设备和存储介质
WO2016048300A1 (en) Operating system agnostic validation of firmware images
CN106293849A (zh) 一种应用更新方法和终端
WO2021061967A1 (en) Secure buffer for bootloader
CN103020532B (zh) 一种车载终端Flash加密方法及其装置
JP2014098951A (ja) 端末装置、完全性検証システム、およびプログラム
US20140188949A1 (en) Methods and systems for supply chain assurance of information handling system code
JP6174247B2 (ja) ハッシュを利用したプログラムの無欠性検証方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant