对芯片OutNvMem中代码批量加密并自动解密的方法

文档序号:9766142阅读:544来源:国知局
对芯片OutNvMem中代码批量加密并自动解密的方法
【技术领域】
[0001]本发明涉及一种提高手机、平板电脑、电视机顶盒、机器人等嵌入式电子产品安全性的方案,特别涉及一种对芯片OutNvMem中代码批量加密并自动解密的方法。
【背景技术】
[0002]对于产品制造商而言,其非常不希望自己产品中的使用的代码被竞争对手所知晓。但是如果代码是以明文的形式存储在片外存储器中的时候,是没有办法防止别人从片外存储器中直接盗取代码的。所以片外存储器中的代码需要被加密之后,以密文的形式存储。为了提高密文代码被破解的难度,需要对不同芯片对应的相同明文代码使用不同的密钥进行加密,以保证不同芯片对应的密文代码各不相同。制造商在成批量地生产产品的时候,如果根据不同芯片对片外存储器烧写不同的密文代码,那么就需要预先准备好若干份不同的密文代码再分别烧写。这样生成若干份密文代码以及分别烧写片外存储器将花费大量时间也非常不方便。

【发明内容】

[0003]本发明的目的是提供一种对芯片OutNvMem中代码批量加密并自动解密的方法,能够使生产商在批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
[0004]为了实现以上目的,本发明是通过以下技术方案实现的:
一种对芯片OutNvMem中代码批量加密并自动解密的方法,包含如下步骤:
步骤1:对芯片上电复位;
步骤2:查询片内非易失性存储器中的标志位是否被置位,若标志位未被置位,则执行步骤3;若标志位已被置位,则执行应用程序;
步骤3:将片外非易失性存储器中的明文代码读取到片内存储器;
步骤4:将所述的步骤3中已被读取到片内存储器的明文代码加密成密文代码;
步骤5:将步骤4中加密得到的密文代码写回片外非易失性存储器中;
步骤6:将片内非易失性存储器中的标志位置位,芯片执行应用程序。
[0005]所述的步骤3中,明文代码被分批读取到片内存储器。
[0006]所述的步骤5中,密文代码被分批写回到片外非易失性存储器中。
[0007]所述的步骤4中,被读取到片内存储器的明文代码通过芯片片内非易失性存储器中存储的自身独有的ID进行加密。
[0008]所述的加密过程包含如下子步骤:芯片片内非易失性存储器中存储的自身独有的ID通过软件方式生成Key对明文代码进行加密。
[0009]所述的加密过程包含如下子步骤:芯片片内非易失性存储器中存储的自身独有的ID通过调用硬件模块生成Key对明文代码进行加密。
[0010]所述的步骤3中片内存储器包含但不限于:易失性存储器或非易失性存储器。[0011 ] 所述对芯片OutNvMem中代码批量加密并自动解密的方法的应用环境包含但不限于:计算机、手机、平板电脑、电视机顶盒、机器人、车联网设备。
[0012]本发明与现有技术相比,具有以下优点:
能够使生产商在批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
【附图说明】
[0013]图1为本发明对芯片OutNvMem中代码批量加密并自动解密的方法的方法流程图。
【具体实施方式】
[0014]以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
[0015]一种对芯片片外非易失性存储器(简称为= OutNvMem)中代码批量加密并自动解密的方法,该方法可应用于计算机、手机、平板电脑、电视机顶盒、机器人、车联网设备等电子设备上。
[0016]如图1所示,本发明的方法包含如下步骤:
步骤1:对芯片上电复位;
步骤2:查询片内非易失性存储器(简称为:1nNvMem)中的标志位(简称为:1nNvFlag)是否被置位,若标志位未被置位,则执行步骤3;若标志位已被置位,则执行应用程序;
步骤3:由于InNvFlag没有被置位,将OutNvMem中所有明文代码不经过解密直接读取到片内存储器(简称为= InMem),在本实施例中,采用分批读取的方式,能够使得每次只占用InMem的一小部分。InMem采用易失性存储器SRAM或非易失性存储器等。在本实施例中,芯片既可以是通过执行InNvMem中的代码查询到InNvFlag未被置位而不通过软件对从OutNvMem读取的代码解密,也可以由硬件识别到InNvFlag未被置位而不对从OutNvMem读取的代码进行硬件解密。
[0017]步骤4:将每次从OutNvMem读取到的明文代码(简称为:PCode_n),然后使用芯片InNvMem中存储的自身独有的ID生成不同的Key_n,对PCodejW密成密文代码。在本发明中,既可以通过软件方式生成Key_n并使用Key_r^#PCode_n加密,也可以调用硬件模块生成Key_n并使用Key_r^#PCode_n加密,从而在软件层面规避对Keyj^^读取。
[0018]步骤5:将该密文代码写回OutNvMem,在本实施例中,同样采用分批写回的方式。
[0019]步骤6:芯片将InNvFlag置位,以完成整个加密过程,芯片开始正常执行应用程序。此时整个OutNvMem中的代码都是密文代码,并且每块芯片对应的OutNvMem中的代码都各不相同,芯片与OutNvMem--对应。由于此时InNvFlag已被置位,所以芯片从此之后每次从
OutNvMem读取到密文代码时,都必然首先通过软件或硬件对其解密成明文代码,因此这些代码能够被正常使用。从此之后,芯片每次复位之后,将重复上述步骤,若首先查询到InNvFlag已被置位,于是直接跳转到应用程序开始执行。由于芯片读取OutNvMem中代码的瓶颈在于OutNvMem是一个慢速设备,其吞吐率受限,所以芯片每次将取回的密文代码进行解密成明文代码所额外耗费的时间并不会显著降低整个系统的效率,特别是当解密是由硬件模块完成时。同时也正由于OutNvMem为慢速设备,所以芯片使用OutNvMem中代码时,不需要将大量密文代码一次性解密成PCode后存储在InMem中再使用,而可以在每次读取密文代码时实时解密成明文代码使用,这样节约了大量InMem空间。
[0020]因此,在生产商批量生产产品的时候,本发明能够对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
[0021 ]综上所述,本发明对芯片OutNvMem中代码批量加密并自动解密的方法,能够使批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
[0022]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【主权项】
1.一种对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,包含如下步骤: 步骤1:对芯片上电复位; 步骤2:查询片内非易失性存储器中的标志位是否被置位,若标志位未被置位,则执行步骤3;若标志位已被置位,则执行应用程序; 步骤3:将片外非易失性存储器中的明文代码读取到片内存储器; 步骤4:将所述的步骤3中已被读取到片内存储器的明文代码加密成密文代码; 步骤5:将步骤4中加密得到的密文代码写回片外非易失性存储器中; 步骤6:将片内非易失性存储器中的标志位置位,芯片执行应用程序。2.如权利要求1所述的对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,所述的步骤3中,明文代码被分批读取到片内存储器。3.如权利要求1或2所述的对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,所述的步骤5中,密文代码被分批写回到片外非易失性存储器中。4.如权利要求1或2所述的对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,所述的步骤4中,被读取到片内存储器的明文代码通过芯片片内非易失性存储器中存储的自身独有的ID进行加密。5.如权利要求4所述的对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,所述的加密过程包含如下子步骤:芯片片内非易失性存储器中存储的自身独有的ID通过软件方式生成Key对明文代码进行加密。6.如权利要求4所述的对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,所述的加密过程包含如下子步骤:芯片片内非易失性存储器中存储的自身独有的ID通过调用硬件模块生成Key对明文代码进行加密。7.如权利要求1所述的对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,所述的步骤3中片内存储器包含但不限于:易失性存储器或非易失性存储器。8.如权利要求1所述的对芯片OutNvMem中代码批量加密并自动解密的方法,其特征在于,所述对芯片OutNvMem中代码批量加密并自动解密的方法的应用环境包含但不限于:计算机、手机、平板电脑、电视机顶盒、机器人、车联网设备。
【专利摘要】本发明公开了一种对芯片OutNvMem中代码批量加密并自动解密的方法,包含如下步骤:步骤1:对芯片上电复位;步骤2:查询InNvMem中的标志位是否被置位,若标志位未被置位,则执行步骤3;若标志位已被置位,则执行应用程序;步骤3:将OutNvMem中的明文代码读取到片内存储器;步骤4:将所述的步骤3中已被读取到片内存储器的明文代码加密成密文代码;步骤5:将步骤4中加密得到的密文代码写回片外非易失性存储器中;步骤6:将InNvMem中的标志位置位,芯片执行应用程序。本发明能够使批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
【IPC分类】G06F21/60, G06F21/10
【公开号】CN105528548
【申请号】CN201510904283
【发明人】林豪, 陈实, 鹿剑
【申请人】乐鑫信息科技(上海)有限公司
【公开日】2016年4月27日
【申请日】2015年12月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1