CN106599693B - 一种多次可编程硬件加密方法及装置 - Google Patents
一种多次可编程硬件加密方法及装置 Download PDFInfo
- Publication number
- CN106599693B CN106599693B CN201510672952.2A CN201510672952A CN106599693B CN 106599693 B CN106599693 B CN 106599693B CN 201510672952 A CN201510672952 A CN 201510672952A CN 106599693 B CN106599693 B CN 106599693B
- Authority
- CN
- China
- Prior art keywords
- value
- encryption
- reading
- auxiliary
- read
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明适用于多次可编程硬件加密领域,提供了一种多次可编程硬件加密方法及装置,该多次可编程硬件加密方法包括:芯片上电;当该芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;判断该辅助加密位的值与保护读写时序的辅助加密值是否一致;一致时,读取加密位的值;判断该加密位的值是否为预设的加密值;根据该加密位的判断结果,读取MTP数据,该MTP数据为存储在多次可编程硬件内部的数据。本发明一方面,加大了破解难度,即使芯片原厂泄露了MTP读取时序,也无法轻易读取加密过的程序文件,提高了多次可编程硬件的安全程度,另一方面,具备了足够的灵活性,可根据需求设计不同加密位和辅助加密位,提高了多次可编程硬件的智能程度。
Description
技术领域
本发明属于多次可编程硬件加密领域,尤其涉及一种多次可编程硬件加密方法及装置。
背景技术
随着电子消费市场的不断发展,竞争越来越强,信息安全至关重要,单片机用户程序加密要求也越来越高。多次可编程(Multiple Time Programmable,MTP)作为非常有竞争优势的存储器,相对于一次性可编程(One Time Programmble,OTP)而言,两者成本差不多,都需要加高压烧写,但MTP有多次编程的优势,而相对于OTP有明显的成本优势。
然而,现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度。其原因在于,多次可编程硬件允许多次烧写,当烧写进一小段接入服务商程序,可通过接入服务商程序将其余代码读出来,此外,芯片原厂泄露了MTP读取时序时,也可以轻易读取程序文件。
发明内容
本发明实施例的目的在于提供一种多次可编程硬件加密方法,旨在解决现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度的问题。
本发明实施例是这样实现的,一种多次可编程硬件加密方法,包括:
芯片上电;
当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
一致时,读取加密位的值;
判断所述加密位的值是否为预设的加密值;
根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。
本发明实施例的另一目的在于提供一种多次可编程硬件加密装置,包括:
上电模块,用于芯片上电;
辅助加密位读取模块,用于当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
辅助加密值判断模块,用于判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
加密位读取模块,用于一致时,读取加密位的值;
加密值判断模块,用于判断所述加密位的值是否为预设的加密值;
MTP数据读取模块,用于根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。
在本发明实施例中,根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据,解决了现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度的问题。有益效果在于两方面,一方面,加大了破解难度,即使芯片原厂泄露了MTP读取时序,也无法轻易读取加密过的程序文件,提高了多次可编程硬件的安全程度,另一方面,具备足够的灵活性,可以根据不同需求设计不同加密位和辅助加密位,提高了多次可编程硬件的智能程度。
附图说明
图1是本发明实施例提供的多次可编程硬件加密方法的实现流程图;
图2是本发明实施例描述了配置芯片保护功能的实现流程图;
图3是本发明实施例提供的步骤S106的实现流程图;
图4是本发明实施例提供的烧写模式的较佳实现流程图;
图5是本发明实施例提供的读取校验模式的较佳实现流程图;
图6是本发明实施例提供的工作模式的较佳实现流程图;
图7是本发明实施例提供的多次可编程硬件加密装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
图1是本发明实施例提供的多次可编程硬件加密方法的实现流程图,详述如下:
在步骤S101中,芯片上电;
在步骤S102中,当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
在步骤S103中,判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
在步骤S104中,一致时,读取加密位的值;
在步骤S105中,判断所述加密位的值是否为预设的加密值;
在步骤S106中,根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。
其中,配置加密位的位数为1bit,配置辅助加密位的位数为16bit。
其中,当读取到不正确的MTP数据时,输在提醒信息,所述提醒信息包括校验出错信息、售后服务地址信息以及售后服务电话信息中的至少一种。
在本发明实施例中,解决了现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度的问题。加大了破解难度,即使芯片原厂泄露了MTP读取时序,也无法轻易读取加密过的程序文件,提高了多次可编程硬件的安全程度,同时又具备足够的灵活性,可以根据不同需求设计不同加密位和辅助加密位,提高了多次可编程硬件的智能程度。
实施例二
图2是本发明实施例描述了配置芯片保护功能的实现流程图,详述如下:
在步骤S201中,当所述芯片进入工作判断模式时,读取辅助加密位的值;
在步骤S202中,判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。
实施例三
本发明实施例描述了烧写辅助加密位的实现流程,详述如下:
在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;
其中,某个固定值和另一个固定值为不同的固定值。
实施例四
图3是本发明实施例提供的步骤S106的实现流程图,详述如下:
在步骤S301中,当所述加密位判断为预设的加密值时,读取值全为0X0000;
在步骤S302中,当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。
实施例五
本发明实施例描述了配置顺序读写功能的实现流程,详述如下:
配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。
实施例六
图4是本发明实施例提供的烧写模式的较佳实现流程图,详述如下:
芯片上电;
进入烧写模式,是,烧写某个固定值到辅助加密位,否,进入工作判断模式;
顺序烧录MTP;
是否烧录完成,是,烧写MTP读取辅助校验值,烧写另一固定值到辅助加密位,否,返回顺序烧录MTP。
实施例七
图5是本发明实施例提供的读取校验模式的较佳实现流程图,详述如下:
芯片上电;
进入校验读取模式,是,读取辅助加密位的值,否,进入工作判断模式;
辅助加密位的值与保护读写时序的辅助加密值是否一致,是,读取辅助校验值,否,退出校验读取模式;
判断加密位是否为加密值,是,读取值为全0x0000,否,软件发送读取辅助校验值;
辅助校验值是否与读取到的校验值一致,是,正确读到MTP数据,否,读到错误的随机值;
正确读到MTP数据,MTP地址自动加1。
实施例八
图6是本发明实施例提供的工作模式的较佳实现流程图,详述如下:
芯片上电;
读取辅助加密位的值;
判断辅助加密位的值是否正确,是,所述芯片运行校验读取程序,否,芯片复位,等待重新上电。
实施例九
本发明实施例描述了多次可编程硬件加密方法,在实际中较佳的保护应用,详述如下:
采用了1bit加密位和16bits辅助加密位。
1、正常加密保护。正常情况下,加密位为加密状态时,通过烧录器等读到的代码为全0x0000。上电时如果判断辅助加密位不是烧写成功的值,则芯片不正常工作。
2、烧录读写时序泄露保护。这种情况可以采取两种方式来加强保护:
1)烧写和读取时序上只支持顺序读写,从首地址开始,地址自动加1。
2)烧写的第一步是强行烧写辅助加密位,且烧写为某个固定值,如0xAA55;当烧写完最后一个MTP地址后,再强行烧写辅助加密位,且烧写为另一个固定值,如0x5AA5。
3)增加MTP读取64bits辅助校验值,该辅助校验值参与到MTP数据读取时的校验,每次读取数据前需要发送该辅助校验值,如果与烧录到MTP的校验值不一致,则读到的是随机值,而不是正确的数据。并且是在程序烧录最后,烧写辅助加密位之前烧录辅助校验值,这样更加大了破解难度。
实施例十
图7是本发明实施例提供的多次可编程硬件加密装置的结构框图,该装置可以运行于蓝牙芯片中。为了便于说明,仅示出了与本实施例相关的部分。
参照图7,该多次可编程硬件加密装置,包括:
上电模块71,用于芯片上电;
辅助加密位读取模块72,用于当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
辅助加密值判断模块73,用于判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
加密位读取模块74,用于一致时,读取加密位的值;
加密值判断模块75,用于判断所述加密位的值是否为预设的加密值;
MTP数据读取模块76,用于根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。
在本实施例的一种实现方式中,所述多次可编程硬件加密装置,还包括:
配置芯片保护功能模块,所述配置芯片保护功能,所述芯片保护功能,具体为:
当所述芯片进入工作判断模式时,读取辅助加密位的值;
判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。
在本实施例的一种实现方式中,所述多次可编程硬件加密装置,还包括:
烧写模块,在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;
其中,某个固定值和另一个固定值为不同的固定值。
在本实施例的一种实现方式中,所述MTP数据读取模块,包括:
第一读取模块,用于当所述加密位判断为预设的加密值时,读取值全为0X0000;
第二读取模块,用于当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。
在本实施例的一种实现方式中,所述多次可编程硬件加密装置,还包括:
顺序读写功能配置模块,用于配置顺序读写功能,所述顺序读写功能,具体为:
配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。
本发明实施例提供的装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。所述的程序可以存储于可读取存储介质中,所述的存储介质,如随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种多次可编程硬件加密方法,其特征在于,包括:
芯片上电;
当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
一致时,读取加密位的值;其中,根据不同的需求设计不同的加密位;
判断所述加密位的值是否为预设的加密值;
根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据;
当读取到不正确的MTP数据时,输出提醒信息,所述提醒信息包括校验出错信息、售后服务地址信息以及售后服务电话信息中的至少一种;
在当***进入校验读取模式时,利用读取线程,读取辅助加密位的值之前,所述多次可编程硬件加密方法,还包括:
在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;
其中,某个固定值和另一个固定值为不同的固定值。
2.如权利要求1所述的多次可编程硬件加密方法,其特征在于,在当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值之前,所述多次可编程硬件加密方法,还包括:
配置芯片保护功能,所述芯片保护功能,具体为:
当所述芯片进入工作判断模式时,读取辅助加密位的值;
判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。
3.如权利要求1所述的多次可编程硬件加密方法,其特征在于,根据所述加密位的判断结果,读取MTP数据,具体为:
当所述加密位判断为预设的加密值时,读取值全为0X0000;
当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。
4.如权利要求1所述的多次可编程硬件加密方法,其特征在于,还包括:
配置顺序读写功能,所述顺序读写功能,具体为:
配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。
5.一种多次可编程硬件加密装置,其特征在于,包括:
上电模块,用于芯片上电;
辅助加密位读取模块,用于当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
辅助加密值判断模块,用于判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
加密位读取模块,用于一致时,读取加密位的值;其中,根据不同的需求设计不同的加密位;
加密值判断模块,用于判断所述加密位的值是否为预设的加密值;
MTP数据读取模块,用于根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据;其中,当读取到不正确的MTP数据时,输出提醒信息,所述提醒信息包括校验出错信息、售后服务地址信息以及售后服务电话信息中的至少一种;
烧写模块,在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;
其中,某个固定值和另一个固定值为不同的固定值。
6.如权利要求5所述多次可编程硬件加密装置,其特征在于,还包括:
配置芯片保护功能模块,所述配置芯片保护功能,所述芯片保护功能,具体为:
当所述芯片进入工作判断模式时,读取辅助加密位的值;
判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。
7.如权利要求5所述多次可编程硬件加密装置,其特征在于,所述MTP数据读取模块,包括:
第一读取模块,用于当所述加密位判断为预设的加密值时,读取值全为0X0000;
第二读取模块,用于当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。
8.如权利要求7所述多次可编程硬件加密装置,其特征在于,所述多次可编程硬件加密装置,还包括:
顺序读写功能配置模块,用于配置顺序读写功能,所述顺序读写功能,具体为:
配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510672952.2A CN106599693B (zh) | 2015-10-16 | 2015-10-16 | 一种多次可编程硬件加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510672952.2A CN106599693B (zh) | 2015-10-16 | 2015-10-16 | 一种多次可编程硬件加密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106599693A CN106599693A (zh) | 2017-04-26 |
CN106599693B true CN106599693B (zh) | 2020-02-18 |
Family
ID=58553826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510672952.2A Active CN106599693B (zh) | 2015-10-16 | 2015-10-16 | 一种多次可编程硬件加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106599693B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968834A (zh) * | 2009-07-28 | 2011-02-09 | 上海移为通信技术有限公司 | 电子产品的防抄板加密方法和装置 |
CN103093130A (zh) * | 2013-01-09 | 2013-05-08 | 杭州华三通信技术有限公司 | 一种硬件绑定信息加密方法和网络设备 |
CN104537320A (zh) * | 2014-12-05 | 2015-04-22 | 深圳市雷赛软件技术有限公司 | 芯片自动加密方法和*** |
CN104777761A (zh) * | 2014-01-15 | 2015-07-15 | 上海华虹集成电路有限责任公司 | 实现mcu安全性的方法及电路 |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
-
2015
- 2015-10-16 CN CN201510672952.2A patent/CN106599693B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968834A (zh) * | 2009-07-28 | 2011-02-09 | 上海移为通信技术有限公司 | 电子产品的防抄板加密方法和装置 |
CN103093130A (zh) * | 2013-01-09 | 2013-05-08 | 杭州华三通信技术有限公司 | 一种硬件绑定信息加密方法和网络设备 |
CN104777761A (zh) * | 2014-01-15 | 2015-07-15 | 上海华虹集成电路有限责任公司 | 实现mcu安全性的方法及电路 |
CN104537320A (zh) * | 2014-12-05 | 2015-04-22 | 深圳市雷赛软件技术有限公司 | 芯片自动加密方法和*** |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106599693A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10509568B2 (en) | Efficient secure boot carried out in information processing apparatus | |
US7296128B2 (en) | Nonvolatile memory with error correction for page copy operation and method thereof | |
US10310772B2 (en) | Memory control method and memory control apparatus | |
JP2006079811A (ja) | エラー検出用パリティー発生器を備えた半導体メモリ装置 | |
CN102750191A (zh) | 用于启动固态非易失性存储设备内的刷新操作的方法 | |
US20120036369A1 (en) | Memory identification code generation method, management method, controller, and storage system | |
EP3780489A1 (en) | Memory device providing data security | |
JP2008009721A (ja) | 評価システム及びその評価方法 | |
US20160210063A1 (en) | Data writing method and system | |
CN106599693B (zh) | 一种多次可编程硬件加密方法及装置 | |
CN106648713A (zh) | 一种otp烧录方法及装置 | |
EP3404662B1 (en) | A method and system for implementing a non-volatile counter using non-volatile memory | |
JP2008123106A (ja) | マイクロコンピュータ及びマイクロコンピュータのデバッグ方法 | |
CN106571914B (zh) | 一种基于otp器件的密钥管理装置 | |
CN103870745A (zh) | 电子设备和安全启动电子设备的方法 | |
KR100634432B1 (ko) | 카피백 프로그램 동작 중에 에러를 검출하는 낸드 플래시메모리 장치 및 에러 검출 방법 | |
KR20100085657A (ko) | 불휘발성 메모리 소자 및 그 동작 방법 | |
JP2010079686A (ja) | データ処理装置、メモリ制御回路およびメモリ制御方法 | |
JP2010231699A (ja) | データ処理装置、データ処理方法、及びデータ処理プログラム | |
US20130272068A1 (en) | Managing of the erasing of operative pages of a flash memory device through service pages | |
JP2013222272A (ja) | 半導体装置、機密データ管理システム、及び機密データ管理方法 | |
US11494262B2 (en) | Electronic device having one-time-programmable (OTP) memory and method for writing and reading OTP memory | |
KR100632949B1 (ko) | 낸드 플래시 메모리 장치 및 그것의 카피백 프로그램 방법 | |
CN117472283A (zh) | 非易失性存储器、数据传输方法、***、设备及介质 | |
JP2016062173A (ja) | 電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Shenzhen Nanshan District, Guangdong Province, Guangdong Province, Yuehai Street High-tech Zone Community Science and Technology South Road 18 Shenzhen Bay Science and Technology Eco-Park 12 Skirt Building 732 Applicant after: Shenzhen Bojuxing Microelectronics Technology Co., Ltd. Address before: 518000 Shenzhen City, Nanshan District Province, a new high tech park, No. 1,, new materials, building D, room four, building Applicant before: Shenzhen Bojuxing Industrial Development Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |