买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种多次可编程硬件加密方法及装置_深圳市博巨兴微电子科技有限公司_201510672952.2 

申请/专利权人:深圳市博巨兴微电子科技有限公司

申请日:2015-10-16

公开(公告)日:2020-02-18

公开(公告)号:CN106599693B

主分类号:G06F21/57(20130101)

分类号:G06F21/57(20130101)

优先权:

专利状态码:有效-授权

法律状态:2020.02.18#授权;2017.05.24#实质审查的生效;2017.04.26#公开

摘要:本发明适用于多次可编程硬件加密领域,提供了一种多次可编程硬件加密方法及装置,该多次可编程硬件加密方法包括:芯片上电;当该芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;判断该辅助加密位的值与保护读写时序的辅助加密值是否一致;一致时,读取加密位的值;判断该加密位的值是否为预设的加密值;根据该加密位的判断结果,读取MTP数据,该MTP数据为存储在多次可编程硬件内部的数据。本发明一方面,加大了破解难度,即使芯片原厂泄露了MTP读取时序,也无法轻易读取加密过的程序文件,提高了多次可编程硬件的安全程度,另一方面,具备了足够的灵活性,可根据需求设计不同加密位和辅助加密位,提高了多次可编程硬件的智能程度。

主权项:1.一种多次可编程硬件加密方法,其特征在于,包括:芯片上电;当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;一致时,读取加密位的值;其中,根据不同的需求设计不同的加密位;判断所述加密位的值是否为预设的加密值;根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据;当读取到不正确的MTP数据时,输出提醒信息,所述提醒信息包括校验出错信息、售后服务地址信息以及售后服务电话信息中的至少一种;在当系统进入校验读取模式时,利用读取线程,读取辅助加密位的值之前,所述多次可编程硬件加密方法,还包括:在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;其中,某个固定值和另一个固定值为不同的固定值。

全文数据:一种多次可编程硬件加密方法及装置技术领域[0001] 本发明属于多次可编程硬件加密领域,尤其涉及一种多次可编程硬件加密方法及目.0背景技术[0002] 随着电子消费市场的不断发展,竞争越来越强,信息安全至关重要,单片机用户程序加密要求也越来越高。多次可编程MultipleTimeProgrammable,MTP作为非常有竞争优势的存储器,相对于一次性可编程OneTimeProgrammble,OTP而言,两者成本差不多,都需要加高压烧写,但MTP有多次编程的优势,而相对于OTP有明显的成本优势。[0003] 然而,现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度。其原因在于,多次可编程硬件允许多次烧写,当烧写进一小段接入服务商程序,可通过接入服务商程序将其余代码读出来,此外,芯片原厂泄露了MTP读取时序时,也可以轻易读取程序文件。发明内容[0004] 本发明实施例的目的在于提供一种多次可编程硬件加密方法,旨在解决现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度的问题。[0005] 本发明实施例是这样实现的,一种多次可编程硬件加密方法,包括:[0006] 芯片上电;[0007] 当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;[0008] 判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;[0009] —致时,读取加密位的值;[0010] 判断所述加密位的值是否为预设的加密值;[0011]根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。[0012] 本发明实施例的另一目的在于提供一种多次可编程硬件加密装置,包括:[0013] 上电模块,用于芯片上电;[0014] 辅助加密位读取模块,用于当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;[0015] 辅助加密值判断模块,用于判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;[0016] 加密位读取模块,用于一致时,读取加密位的值;[0017] 加密值判断模块,用于判断所述加密位的值是否为预设的加密值;[0018] MTP数据读取模块,用于根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。[0019] 在本发明实施例中,根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据,解决了现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度的问题。有益效果在于两方面,一方面,加大了破解难度,即使芯片原厂泄露了MTP读取时序,也无法轻易读取加密过的程序文件,提高了多次可编程硬件的安全程度,另一方面,具备足够的灵活性,可以根据不同需求设计不同加密位和辅助加密位,提高了多次可编程硬件的智能程度。附图说明[0020]图1是本发明实施例提供的多次可编程硬件加密方法的实现流程图;[0021]图2是本发明实施例描述了配置芯片保护功能的实现流程图;[0022] 图3是本发明实施例提供的步骤S106的实现流程图;[0023]图4是本发明实施例提供的烧写模式的较佳实现流程图;[0024]图5是本发明实施例提供的读取校验模式的较佳实现流程图;[0025]图6是本发明实施例提供的工作模式的较佳实现流程图;[0026]图7是本发明实施例提供的多次可编程硬件加密装置的结构框图。具体实施方式[0027] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0028] 实施例一[0029] 图1是本发明实施例提供的多次可编程硬件加密方法的实现流程图,详述如下:[0030] 在步骤SlOl中,芯片上电;[0031] 在步骤S102中,当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;[0032] 在步骤S103中,判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;[0033] 在步骤S104中,一致时,读取加密位的值;[0034] 在步骤S105中,判断所述加密位的值是否为预设的加密值;[0035] 在步骤S106中,根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。[0036] 其中,配置加密位的位数为lbit,配置辅助加密位的位数为16bit。[0037] 其中,当读取到不正确的MTP数据时,输在提醒信息,所述提醒信息包括校验出错信息、售后服务地址信息以及售后服务电话信息中的至少一种。[0038] 在本发明实施例中,解决了现有多次可编程硬件程序文件容易被解密,不利于保护存储数据,降低了多次可编程硬件的安全程度的问题。加大了破解难度,即使芯片原厂泄露了MTP读取时序,也无法轻易读取加密过的程序文件,提高了多次可编程硬件的安全程度,同时又具备足够的灵活性,可以根据不同需求设计不同加密位和辅助加密位,提高了多次可编程硬件的智能程度。[0039] 实施例二[0040] 图2是本发明实施例描述了配置芯片保护功能的实现流程图,详述如下:[0041] 在步骤S201中,当所述芯片进入工作判断模式时,读取辅助加密位的值;[0042] 在步骤S202中,判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。[0043] 实施例三[0044] 本发明实施例描述了烧写辅助加密位的实现流程,详述如下:[0045] 在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;[0046] 其中,某个固定值和另一个固定值为不同的固定值。[0047] 实施例四[0048] 图3是本发明实施例提供的步骤S106的实现流程图,详述如下:[0049] 在步骤S301中,当所述加密位判断为预设的加密值时,读取值全为0X0000;[0050] 在步骤S302中,当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。[0051] 实施例五[0052] 本发明实施例描述了配置顺序读写功能的实现流程,详述如下:[0053] 配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。[0054] 实施例六[0055]图4是本发明实施例提供的烧写模式的较佳实现流程图,详述如下:[0056] 芯片上电;[0057] 进入烧写模式,是,烧写某个固定值到辅助加密位,否,进入工作判断模式;[0058] 顺序烧录MTP;[0059] 是否烧录完成,是,烧写MTP读取辅助校验值,烧写另一固定值到辅助加密位,否,返回顺序烧录MTP。[0060] 实施例七[0061]图5是本发明实施例提供的读取校验模式的较佳实现流程图,详述如下:[0062] 芯片上电;[0063] 进入校验读取模式,是,读取辅助加密位的值,否,进入工作判断模式;[0064] 辅助加密位的值与保护读写时序的辅助加密值是否一致,是,读取辅助校验值,否,退出校验读取模式;[0065] 判断加密位是否为加密值,是,读取值为全0x0000,否,软件发送读取辅助校验值;[0066] 辅助校验值是否与读取到的校验值一致,是,正确读到MTP数据,否,读到错误的随机值;[0067] 正确读到MTP数据,MTP地址自动加I。[0068] 实施例八[0069]图6是本发明实施例提供的工作模式的较佳实现流程图,详述如下:[0070] 芯片上电;[0071] 读取辅助加密位的值;[0072] 判断辅助加密位的值是否正确,是,所述芯片运行校验读取程序,否,芯片复位,等待重新上电。[0073] 实施例九[0074] 本发明实施例描述了多次可编程硬件加密方法,在实际中较佳的保护应用,详述如下:[0075] 采用了Ibit加密位和16bits辅助加密位。[0076] 1、正常加密保护。正常情况下,加密位为加密状态时,通过烧录器等读到的代码为全0x0000。上电时如果判断辅助加密位不是烧写成功的值,则芯片不正常工作。[0077] 2、烧录读写时序泄露保护。这种情况可以采取两种方式来加强保护:[0078] I烧写和读取时序上只支持顺序读写,从首地址开始,地址自动加I。[0079] 2烧写的第一步是强行烧写辅助加密位,且烧写为某个固定值,如0xAA55;当烧写完最后一个MTP地址后,再强行烧写辅助加密位,且烧写为另一个固定值,如0x5AA5。[0080] 3增加MTP读取64bits辅助校验值,该辅助校验值参与到MTP数据读取时的校验,每次读取数据前需要发送该辅助校验值,如果与烧录到MTP的校验值不一致,则读到的是随机值,而不是正确的数据。并且是在程序烧录最后,烧写辅助加密位之前烧录辅助校验值,这样更加大了破解难度。[0081] 实施例十[0082] 图7是本发明实施例提供的多次可编程硬件加密装置的结构框图,该装置可以运行于蓝牙芯片中。为了便于说明,仅示出了与本实施例相关的部分。[0083] 参照图7,该多次可编程硬件加密装置,包括:[0084] 上电模块71,用于芯片上电;[0085] 辅助加密位读取模块72,用于当所述芯片进入校验读取模式时,利用读取线程,读取辅助加密位的值;[0086] 辅助加密值判断模块73,用于判断所述辅助加密位的值与保护读写时序的辅助加密值是否一致;[0087] 加密位读取模块74,用于一致时,读取加密位的值;[0088] 加密值判断模块75,用于判断所述加密位的值是否为预设的加密值;[0089] MTP数据读取模块76,用于根据所述加密位的判断结果,读取MTP数据,所述MTP数据为存储在多次可编程硬件内部的数据。[0090] 在本实施例的一种实现方式中,所述多次可编程硬件加密装置,还包括:[0091]配置芯片保护功能模块,所述配置芯片保护功能,所述芯片保护功能,具体为:[0092]当所述芯片进入工作判断模式时,读取辅助加密位的值;[0093] 判断读取到辅助加密位的值与芯片保护的辅助加密值是否一致,一致时,所述芯片运行校验读取程序。[0094] 在本实施例的一种实现方式中,所述多次可编程硬件加密装置,还包括:[0095] 烧写模块,在第一个MTP地址后,烧写辅助加密位且烧写为某个固定值,在烧写完最后一个MTP地址后,烧写辅助加密位且烧写为另一个固定值,构成所述保护读写时序的辅助加密值;[0096] 其中,某个固定值和另一个固定值为不同的固定值。[0097] 在本实施例的一种实现方式中,所述MTP数据读取模块,包括:[0098] 第一读取模块,用于当所述加密位判断为预设的加密值时,读取值全为0X0000;[0099] 第二读取模块,用于当所述加密位判断不为预设的加密值时,读取辅助较验值,判断读取到辅助较验值与预设的辅助较验值是否一致,一致时,读取正确的MTP数据,不一致时,读取不正确的MTP数据,所述不正确的MTP数据为随机值或乱码。[0100] 在本实施例的一种实现方式中,所述多次可编程硬件加密装置,还包括:[0101] 顺序读写功能配置模块,用于配置顺序读写功能,所述顺序读写功能,具体为:[0102] 配置读取时序为顺序读写时序,依序对多个MTP地址进行编号。[0103] 本发明实施例提供的装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。[0104] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。所述的程序可以存储于可读取存储介质中,所述的存储介质,如随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件执行本发明各个实施例所述的方法。[0105] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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

百度查询: 深圳市博巨兴微电子科技有限公司 一种多次可编程硬件加密方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。