CN106599693A - 一种多次可编程硬件加密方法及装置 - Google Patents

一种多次可编程硬件加密方法及装置 Download PDF

Info

Publication number
CN106599693A
CN106599693A CN201510672952.2A CN201510672952A CN106599693A CN 106599693 A CN106599693 A CN 106599693A CN 201510672952 A CN201510672952 A CN 201510672952A CN 106599693 A CN106599693 A CN 106599693A
Authority
CN
China
Prior art keywords
value
read
mtp
programmable hardware
chip
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.)
Granted
Application number
CN201510672952.2A
Other languages
English (en)
Other versions
CN106599693B (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 BOJUXING INDUSTRIAL DEVELOPMENT Co Ltd
Original Assignee
SHENZHEN BOJUXING INDUSTRIAL DEVELOPMENT 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 BOJUXING INDUSTRIAL DEVELOPMENT Co Ltd filed Critical SHENZHEN BOJUXING INDUSTRIAL DEVELOPMENT Co Ltd
Priority to CN201510672952.2A priority Critical patent/CN106599693B/zh
Publication of CN106599693A publication Critical patent/CN106599693A/zh
Application granted granted Critical
Publication of CN106599693B publication Critical patent/CN106599693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure 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 TimeProgrammble,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 (10)

1.一种多次可编程硬件加密方法,其特征在于,包括:
芯片上电;
当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
一致时,读取加密位的值;
判断所述加密位的值是否为预设的加密值;
根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。
2.如权利要求1所述的多次可编程硬件加密方法,其特征在于,在当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值之前,所述多次可编程硬件加密方法,还包括:
配置芯片保护功能,所述芯片保护功能,具体为:
当所述芯片进入工作判断模式时,读取辅助加密位的值;
判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。
3.如权利要求1或2所述的多次可编程硬件加密方法,其特征在于,在当所述系统进入校验读取模式时,利用读取线程,读取辅助加密位的值之前,所述多次可编程硬件加密方法,还包括:
在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;
其中,某个固定值和另一个固定值为不同的固定值。
4.如权利要求1所述的多次可编程硬件加密方法,其特征在于,根据所述加密位的判断结果,读取MTP数据,具体为:
当所述加密位判断为预设的加密值时,读取值全为0X0000;
当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。
5.如权利要求1所述的多次可编程硬件加密方法,其特征在于,还包括:
配置顺序读写功能,所述顺序读写功能,具体为:
配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。
6.一种多次可编程硬件加密装置,其特征在于,包括:
上电模块,用于芯片上电;
辅助加密位读取模块,用于当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;
辅助加密值判断模块,用于判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;
加密位读取模块,用于一致时,读取加密位的值;
加密值判断模块,用于判断所述加密位的值是否为预设的加密值;
MTP数据读取模块,用于根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。
7.如权利要求6所述多次可编程硬件加密装置,其特征在于,还包括:
配置芯片保护功能模块,所述配置芯片保护功能,所述芯片保护功能,具体为:
当所述芯片进入工作判断模式时,读取辅助加密位的值;
判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。
8.如权利要求6或7所述多次可编程硬件加密装置,其特征在于,还包括:
烧写模块,在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;
其中,某个固定值和另一个固定值为不同的固定值。
9.如权利要求6所述多次可编程硬件加密装置,其特征在于,所述MTP数据读取模块,包括:
第一读取模块,用于当所述加密位判断为预设的加密值时,读取值全为0X0000;
第二读取模块,用于当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。
10.如权利要求9所述多次可编程硬件加密装置,其特征在于,所述多次可编程硬件加密装置,还包括:
顺序读写功能配置模块,用于配置顺序读写功能,所述顺序读写功能,具体为:
配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。
CN201510672952.2A 2015-10-16 2015-10-16 一种多次可编程硬件加密方法及装置 Active CN106599693B (zh)

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 true CN106599693A (zh) 2017-04-26
CN106599693B 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)

* Cited by examiner, † Cited by third party
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 国电南京自动化股份有限公司 嵌入式设备加密与验证方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CN106599693B (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
CN100541436C (zh) 用于对eeprom页面进行编程和校验的方法和装置
US8015416B2 (en) Memory information protection system and methods
CN101102574A (zh) 终端验证方法和装置
CN101124768A (zh) 使用受保护的非易失性存储器的系统和方法
EP1830240A1 (en) Memory information protecting system, semiconductor memory, and method for protecting memory information
US11157181B2 (en) Card activation device and methods for authenticating and activating a data storage device by using a card activation device
TWI363966B (en) Method, system and controller for transmitting and dispatching data stream
CN103684786A (zh) 数字证书的存储与硬件载体绑定的方法及系统
CN103914662A (zh) 一种基于分区的文件加密系统的访问控制方法和装置
CN108199827A (zh) 客户端代码完整性校验方法、存储介质、电子设备及系统
KR100972540B1 (ko) 라이프 사이클 단계들을 가진 보안 메모리 카드
US8738919B2 (en) Control of the integrity of a memory external to a microprocessor
CN102971984B (zh) 认证存储设备的方法和主机设备
CN102750982A (zh) 一种加密存储芯片的烧录方法及系统
JP2016535868A (ja) インクカートリッジチップ及び当該チップが用いられるインクカートリッジ
CN104077243A (zh) Sata硬盘设备加密方法及系统
CN108614967A (zh) 电池认证方法、设备电池、无人机及存储介质
CN106599693A (zh) 一种多次可编程硬件加密方法及装置
CN106571914B (zh) 一种基于otp器件的密钥管理装置
CN106326726A (zh) 一种基于ds2432的嵌入式加密认证方法及系统
CN103186798A (zh) 一种ic卡生产测试系统
CN106156548A (zh) 用于程序加密的认证方法和装置
CN101533372B (zh) 数据存取系统
CN103870745A (zh) 电子设备和安全启动电子设备的方法
CN114237492A (zh) 非易失性存储器保护方法及装置

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