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

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

Info

Publication number
CN105528548A
CN105528548A CN201510904283.7A CN201510904283A CN105528548A CN 105528548 A CN105528548 A CN 105528548A CN 201510904283 A CN201510904283 A CN 201510904283A CN 105528548 A CN105528548 A CN 105528548A
Authority
CN
China
Prior art keywords
chip
code
outnvmem
nonvolatile memory
memory
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.)
Pending
Application number
CN201510904283.7A
Other languages
English (en)
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.)
Yue Xin Information Technology (shanghai) Co Ltd
Espressif Systems Shanghai Co Ltd
Original Assignee
Yue Xin Information Technology (shanghai) 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 Yue Xin Information Technology (shanghai) Co Ltd filed Critical Yue Xin Information Technology (shanghai) Co Ltd
Priority to CN201510904283.7A priority Critical patent/CN105528548A/zh
Publication of CN105528548A publication Critical patent/CN105528548A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Abstract

本发明公开了一种对芯片OutNvMem中代码批量加密并自动解密的方法,包含如下步骤:步骤1:对芯片上电复位;步骤2:查询InNvMem中的标志位是否被置位,若标志位未被置位,则执行步骤3;若标志位已被置位,则执行应用程序;步骤3:将OutNvMem中的明文代码读取到片内存储器;步骤4:将所述的步骤3中已被读取到片内存储器的明文代码加密成密文代码;步骤5:将步骤4中加密得到的密文代码写回片外非易失性存储器中;步骤6:将InNvMem中的标志位置位,芯片执行应用程序。本发明能够使批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。

Description

对芯片OutNvMem中代码批量加密并自动解密的方法
技术领域
本发明涉及一种提高手机、平板电脑、电视机顶盒、机器人等嵌入式电子产品安全性的方案,特别涉及一种对芯片OutNvMem中代码批量加密并自动解密的方法。
背景技术
对于产品制造商而言,其非常不希望自己产品中的使用的代码被竞争对手所知晓。但是如果代码是以明文的形式存储在片外存储器中的时候,是没有办法防止别人从片外存储器中直接盗取代码的。所以片外存储器中的代码需要被加密之后,以密文的形式存储。为了提高密文代码被破解的难度,需要对不同芯片对应的相同明文代码使用不同的密钥进行加密,以保证不同芯片对应的密文代码各不相同。制造商在成批量地生产产品的时候,如果根据不同芯片对片外存储器烧写不同的密文代码,那么就需要预先准备好若干份不同的密文代码再分别烧写。这样生成若干份密文代码以及分别烧写片外存储器将花费大量时间也非常不方便。
发明内容
本发明的目的是提供一种对芯片OutNvMem中代码批量加密并自动解密的方法,能够使生产商在批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
为了实现以上目的,本发明是通过以下技术方案实现的:
一种对芯片OutNvMem中代码批量加密并自动解密的方法,包含如下步骤:
步骤1:对芯片上电复位;
步骤2:查询片内非易失性存储器中的标志位是否被置位,若标志位未被置位,则执行步骤3;若标志位已被置位,则执行应用程序;
步骤3:将片外非易失性存储器中的明文代码读取到片内存储器;
步骤4:将所述的步骤3中已被读取到片内存储器的明文代码加密成密文代码;
步骤5:将步骤4中加密得到的密文代码写回片外非易失性存储器中;
步骤6:将片内非易失性存储器中的标志位置位,芯片执行应用程序。
所述的步骤3中,明文代码被分批读取到片内存储器。
所述的步骤5中,密文代码被分批写回到片外非易失性存储器中。
所述的步骤4中,被读取到片内存储器的明文代码通过芯片片内非易失性存储器中存储的自身独有的ID进行加密。
所述的加密过程包含如下子步骤:芯片片内非易失性存储器中存储的自身独有的ID通过软件方式生成Key对明文代码进行加密。
所述的加密过程包含如下子步骤:芯片片内非易失性存储器中存储的自身独有的ID通过调用硬件模块生成Key对明文代码进行加密。
所述的步骤3中片内存储器包含但不限于:易失性存储器或非易失性存储器。
所述对芯片OutNvMem中代码批量加密并自动解密的方法的应用环境包含但不限于:计算机、手机、平板电脑、电视机顶盒、机器人、车联网设备。
本发明与现有技术相比,具有以下优点:
能够使生产商在批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
附图说明
图1为本发明对芯片OutNvMem中代码批量加密并自动解密的方法的方法流程图。
具体实施方式
以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
一种对芯片片外非易失性存储器(简称为:OutNvMem)中代码批量加密并自动解密的方法,该方法可应用于计算机、手机、平板电脑、电视机顶盒、机器人、车联网设备等电子设备上。
如图1所示,本发明的方法包含如下步骤:
步骤1:对芯片上电复位;
步骤2:查询片内非易失性存储器(简称为:InNvMem)中的标志位(简称为:InNvFlag)是否被置位,若标志位未被置位,则执行步骤3;若标志位已被置位,则执行应用程序;
步骤3:由于InNvFlag没有被置位,将OutNvMem中所有明文代码不经过解密直接读取到片内存储器(简称为:InMem),在本实施例中,采用分批读取的方式,能够使得每次只占用InMem的一小部分。InMem采用易失性存储器SRAM或非易失性存储器等。在本实施例中,芯片既可以是通过执行InNvMem中的代码查询到InNvFlag未被置位而不通过软件对从OutNvMem读取的代码解密,也可以由硬件识别到InNvFlag未被置位而不对从OutNvMem读取的代码进行硬件解密。
步骤4:将每次从OutNvMem读取到的明文代码(简称为:PCode_n),然后使用芯片InNvMem中存储的自身独有的ID生成不同的Key_n,对PCode_n加密成密文代码。在本发明中,既可以通过软件方式生成Key_n并使用Key_n对PCode_n加密,也可以调用硬件模块生成Key_n并使用Key_n对PCode_n加密,从而在软件层面规避对Key_n的读取。
步骤5:将该密文代码写回OutNvMem,在本实施例中,同样采用分批写回的方式。
步骤6:芯片将InNvFlag置位,以完成整个加密过程,芯片开始正常执行应用程序。此时整个OutNvMem中的代码都是密文代码,并且每块芯片对应的OutNvMem中的代码都各不相同,芯片与OutNvMem一一对应。由于此时InNvFlag已被置位,所以芯片从此之后每次从OutNvMem读取到密文代码时,都必然首先通过软件或硬件对其解密成明文代码,因此这些代码能够被正常使用。从此之后,芯片每次复位之后,将重复上述步骤,若首先查询到InNvFlag已被置位,于是直接跳转到应用程序开始执行。由于芯片读取OutNvMem中代码的瓶颈在于OutNvMem是一个慢速设备,其吞吐率受限,所以芯片每次将取回的密文代码进行解密成明文代码所额外耗费的时间并不会显著降低整个系统的效率,特别是当解密是由硬件模块完成时。同时也正由于OutNvMem为慢速设备,所以芯片使用OutNvMem中代码时,不需要将大量密文代码一次性解密成PCode后存储在InMem中再使用,而可以在每次读取密文代码时实时解密成明文代码使用,这样节约了大量InMem空间。
因此,在生产商批量生产产品的时候,本发明能够对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
综上所述,本发明对芯片OutNvMem中代码批量加密并自动解密的方法,能够使批量生产产品的时候,对所有芯片的片外慢速非易失性存储器预先烧写相同的明文代码,并且所有芯片的片内非易失性存储器中的标志位未被置位。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (8)

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中代码批量加密并自动解密的方法的应用环境包含但不限于:计算机、手机、平板电脑、电视机顶盒、机器人、车联网设备。
CN201510904283.7A 2015-12-09 2015-12-09 对芯片OutNvMem中代码批量加密并自动解密的方法 Pending CN105528548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510904283.7A CN105528548A (zh) 2015-12-09 2015-12-09 对芯片OutNvMem中代码批量加密并自动解密的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510904283.7A CN105528548A (zh) 2015-12-09 2015-12-09 对芯片OutNvMem中代码批量加密并自动解密的方法

Publications (1)

Publication Number Publication Date
CN105528548A true CN105528548A (zh) 2016-04-27

Family

ID=55770768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510904283.7A Pending CN105528548A (zh) 2015-12-09 2015-12-09 对芯片OutNvMem中代码批量加密并自动解密的方法

Country Status (1)

Country Link
CN (1) CN105528548A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019041272A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 一种计算机内存数据加解密的方法及装置
CN111400725A (zh) * 2019-01-03 2020-07-10 西安中车永电捷通电气有限公司 防止芯片锁死的方法、芯片以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209098B1 (en) * 1996-10-25 2001-03-27 Intel Corporation Circuit and method for ensuring interconnect security with a multi-chip integrated circuit package
CN1323147A (zh) * 2000-05-10 2001-11-21 日本电气株式会社 移动通信装置和数据隐蔽方法
CN101710307A (zh) * 2009-10-16 2010-05-19 上海闻泰电子科技有限公司 一种数码设备的数据安全保护方法
CN102346820A (zh) * 2010-07-30 2012-02-08 深圳芯邦科技股份有限公司 一种保密数据存储方法及装置
CN103389963A (zh) * 2012-05-09 2013-11-13 北京兆易创新科技股份有限公司 一种嵌入式系统控制器
CN103488916A (zh) * 2013-08-12 2014-01-01 中国航天科工集团第三研究院第八三五七研究所 一种弹上软件加密保护方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209098B1 (en) * 1996-10-25 2001-03-27 Intel Corporation Circuit and method for ensuring interconnect security with a multi-chip integrated circuit package
CN1323147A (zh) * 2000-05-10 2001-11-21 日本电气株式会社 移动通信装置和数据隐蔽方法
CN101710307A (zh) * 2009-10-16 2010-05-19 上海闻泰电子科技有限公司 一种数码设备的数据安全保护方法
CN102346820A (zh) * 2010-07-30 2012-02-08 深圳芯邦科技股份有限公司 一种保密数据存储方法及装置
CN103389963A (zh) * 2012-05-09 2013-11-13 北京兆易创新科技股份有限公司 一种嵌入式系统控制器
CN103488916A (zh) * 2013-08-12 2014-01-01 中国航天科工集团第三研究院第八三五七研究所 一种弹上软件加密保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄孝章等: "《信息系统分析与设计》", 31 August 2010, 清华大学出版社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019041272A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 一种计算机内存数据加解密的方法及装置
CN109791589A (zh) * 2017-08-31 2019-05-21 华为技术有限公司 一种计算机内存数据加/解密的方法及装置
CN109791589B (zh) * 2017-08-31 2021-07-16 华为技术有限公司 一种计算机内存数据加解密的方法及装置
CN111400725A (zh) * 2019-01-03 2020-07-10 西安中车永电捷通电气有限公司 防止芯片锁死的方法、芯片以及存储介质

Similar Documents

Publication Publication Date Title
US9483664B2 (en) Address dependent data encryption
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
US8700916B2 (en) Utilizing physically unclonable functions to derive device specific keying material for protection of information
US20160197899A1 (en) Method of Dynamically Encrypting Fingerprint Data and Related Fingerprint Sensor
US20190384938A1 (en) Storage apparatus and method for address scrambling
CN105260668A (zh) 一种文件加密方法及电子设备
CN102238001B (zh) 一种提高数据安全性的方法和装置
US10809925B2 (en) Configurable security memory region
US8356186B1 (en) Decryption system and method for reducing processing latency of stored, encrypted instructions
US20020083332A1 (en) Creation and distribution of a secret value between two devices
CN103246852A (zh) 加密数据的存取方法及装置
CN105528548A (zh) 对芯片OutNvMem中代码批量加密并自动解密的方法
CN103020549A (zh) 存储器的保护装置以及存储装置
US20120321079A1 (en) System and method for generating round keys
US11050575B2 (en) Entanglement and recall system using physically unclonable function technology
US9531535B2 (en) Secure memories using unique identification elements
CN114266055B (zh) 一种多核固件安全存储方法及系统
CN111914309A (zh) 密码保护的数据储存装置以及非挥发式存储器控制方法
CN104537319A (zh) 对总线进行加解扰的装置和方法、集成电路芯片
US11734434B2 (en) Protection system and protection method for software and firmware or information
CN111339544B (zh) 离线下载装置及离线下载方法
JP2015026892A (ja) 情報処理システム
CN107358067A (zh) 在加密狗中用License衍生出SCK实现加密和解密的方法
CN109902492B (zh) 集成电路外部存储器中写加密信息集合的方法和集成电路
US10892890B2 (en) Hash offset based key version embedding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Room 204, Building No. 2, 690 Bibo Road, Zhangjiang High-tech Park, Pudong New Area, Shanghai, 201203

Applicant after: Lexin Information Technology (Shanghai) Co., Ltd.

Address before: Room 204, Building No. 2, 690 Bibo Road, Zhangjiang High-tech Park, Pudong New Area, Shanghai, 201203

Applicant before: Yue Xin information technology (Shanghai) Co., Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20160427

RJ01 Rejection of invention patent application after publication