一种车载终端Flash加密方法及其装置的制作方法

文档序号:6385837阅读:582来源:国知局
专利名称:一种车载终端Flash加密方法及其装置的制作方法
技术领域
本发明涉及一种基于RT-Thread的车载终端Flash加密方法及其装置,尤其涉及一种基于RT-Thread的车载终端Flash加密方法及其装置。
背景技术
在电子行业,针对目前市场上山寨满天飞,国家提倡市场上有活力的企业和团体加快产业升级,努力创新,形成自己的核心力量。为了防止企业的核心技术被不良分子抄袭,需要一种技术来保护自己技术成果,这样就需要一种新型的加密技术。传统的MCU加密技术是在启动代码中加读保护(CRP)机制,总共有三级保护机制 CRPl :禁止通过JTAG引脚访问芯片。该模式允许使用下列ISP命令和约束来进行部分
Flash更新。写RAM命令不能访问在0x40000200以下的RAM ;将RAM内容复制到Flash命令不能写扇区O ;仅当选择所有扇区药檫除时,檫除命令才能檫除扇区O ;禁止比较命令。当需要CRP且要更新Flash字段时可使用该模式,但是不能檫除所有扇区时。CRP2 禁止通过JTAG弓I脚访问芯片。下列的ISP命令被禁能读存储器;;写RAM ;运行;将RAM内容复制到FLASH ;比较;使能CRP2时,ISP檫除命令仅允许檫除所有用户扇区的内容。CRP3 :禁止通过JTAG引脚访问芯片。如果FLASH扇区O中有有效用户代码,ISP禁能。MD5算法将一组字符串同md5算法生成一系列的密文,可以生成16位或者32位密文。ISP( Internet Server Provider, Internet 服务提供商)就是为用户提供Internet接人和(或)Internet信息服务的公司和机构。前者又称为IAP(Internet AccessProvider, Internet 接人提供商),后者又称为 ICP (Internet Content Provider,Internet内容提供商)。由于接驳国际互联网需要租用国际信道,其成本对于一般用户是无法承担的。Internet接入提供商作为提供接驳服务的中介,需投人大量资金建立中转站,租用国际信道和大量的当地电话线,购置一系列计算机设备,通过集中使用,分散压力的方式,向本地用户提供接驳服务。从某种意义上讲,IAP是全世界数以亿计用户通往Internet的必经之路。Internet内容提供商在Internet上发布综合的或专门的信息,并通过收取广告费和用户注册使用费来获得盈利。IAP :1n Application Programming是指在应用编程,即在程序运行中编程,就是片子提供一系列的机制(硬件/软件上的)当片子在运行程序的时候可以提供一种改变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序列号生成密文,可以将序列号,其他各种字符串及其组合方式生成的密文都归于本发明。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种车载终端Flash加密方法,其特征在于,包括以下几个步骤 步骤A:在MCU,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功; 步骤B:在上位机通过串口,解析MCU侧的ISP指令,并获取MCU的序列号; 步骤C:通过获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文; 步骤D:利用MCU最后一个数据块来保存相应的验证信息。
2.如权利要求1所述的车载终端Flash加密方法,其特征在于,所述魔术码占四个字节,MCU的序列号占用16个字节,密文占用16个字节,二进制码的字节数占用4个字节,总共40个字节放入到最后一个数据块中。
3.—种如权利要求1或2所述的车载终端Flash加密方法的装置,其特征在于,包括 比较单元,设置于MCU,用于生成密文,与上位传过来的密文进行对比,如果相同则烧录成功; 获取单元,用于解析MCU侧的ISP指令,并获取MCU的序列号; 密文单元,用于将获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文; 存取单元,MCU最后一个数据块来保存相应的验证信息。
全文摘要
本发明提供一种车载终端Flash加密方法及其装置。包括以下几个步骤步骤A:在MCU,生成密文,与上位传过来的密文进行对比,如果相同则烧录成功;步骤B:在上位机通过串口,解析MCU侧的ISP指令,并获取MCU的序列号;步骤C:通过获取的MCU序列号,传入到MD5算法中,加密后得到16位的MD5密文;步骤D:利用MCU最后一个数据块来保存相应的验证信息。本发明针对MCU编译好的二进制文件,可以做为通用烧录,一个二进制文件可以烧录所有同型号的MCU,本发明针对这样可能产生技术流失的可能性,通过点点烧录,即烧录进去的二进制代码只能用于该MCU芯片,无法应用其他任何MCU芯片。
文档编号G06F21/57GK103020532SQ20121058272
公开日2013年4月3日 申请日期2012年12月28日 优先权日2012年12月28日
发明者何照丹, 唐金涛 申请人:深圳市航盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1