本申请涉及芯片,具体涉及一种针对烧录固件的加密方法、装置、存储介质及计算机设备。
背景技术:
1、微控制单元(microcontroller unit;mcu) ,又称单片微型计算机或者单片机。微控制芯片内部一般都包含有非易失性存储器,用于存储程序指令和数据。为更新电子设备的微控制芯片固件,一般会通过上位机连接烧录器对微控制芯片进行固件烧录。随着微控制芯片应用领域的不断扩充, 微控制芯片用量越来越大,如何保证在生产过程中微控制芯片的固件不被泄露是一个急需解决的问题。
2、在现有技术当中,mcu本身支持加解密功能,因此通常由用户输入密钥,芯片上电后,先配置加解密功能,再烧录固件,则mcu里存储的是密文,芯片运行程序时,会自动解密密文,再运行程序。然而这种加解密方式缺点也很明显,第一是密钥是用户输入的,是可见的。第二是这种方式存在通过暴力破解方法进行解密的可能,因此现有技术的这种加解密方法的安全性较弱。
技术实现思路
1、本申请实施例提供一种针对烧录固件的加密方法、装置、存储介质及计算机设备,利用芯片的唯一特征值来生成虚拟密钥矩阵,并使得每次生成的密钥都不一样,通过建立复杂可变的密钥来提升破解难度,进而提升数据的安全性。
2、本申请实施例提供了一种针对烧录固件的加密方法,应用于微控制芯片,包括:
3、获取所述微控制芯片的唯一特征值,并根据所述唯一特征值生成虚拟密钥矩阵;
4、提取所述唯一特征值中每个字节的高4位值和低4位值,并依据所述高4位值和低4位值计算密钥位置;
5、根据所述密钥位置在所述虚拟密钥矩阵中确定目标密钥;
6、根据所述目标密钥对待烧录固件进行加密,以得到密文。
7、在一实施例中,根据所述唯一特征值生成虚拟密钥矩阵,包括:
8、将所述唯一特征值作为随机种子对随机数生成器进行初始化;
9、创建一个16*16字节的矩阵,对所述矩阵的每个元素进行遍历,调用所述随机数生成器生成随机数,并将所述随机数存储在所述矩阵的对应元素位置处。
10、在一实施例中,依据所述高4位值和低4位值计算密钥位置,包括:
11、根据所述唯一特征值中第n个字节的高4位值和低4位值,确定第n个密钥的位置索引,所述n为大于1的整数;
12、根据所述位置索引确认第n个密钥的密钥位置。
13、在一实施例中,根据高4位值和低4位值确定位置索引的步骤,包括:
14、根据所述虚拟密钥矩阵的索引类型将所述高4位值转换为行索引,并将所述低4位值转换为列索引;
15、将所述行索引和所述列索引作为所述位置索引。
16、在一实施例中,根据所述目标密钥对待烧录固件进行加密,以得到密文,包括:
17、获取所述待烧录固件当前的烧录次数,将所述烧录次数确定为变量值;
18、依据所述变量值和所述目标密钥对待烧录固件进行加密,以得到密文。
19、在一实施例中,所述方法还包括:
20、对所述密文进行解密时,再次利用所述微控制芯片的唯一特征值计算目标密钥,以得到明文;
21、获取所述待烧录固件的最大烧录次数;
22、若所述当前的烧录次数小于所述最大烧录次数,则根据所述明文进行固件烧录;
23、若所述当前的烧录次数不小于所述最大烧录次数,则停止固件烧录。
24、在一实施例中,依据所述变量值和所述目标密钥对待烧录固件进行加密,以得到密文,包括:
25、将所述变量值和所述目标密钥进行组合,生成密钥参数;
26、对所述待烧录固件分割为多个数据块,并使用所述密钥参数对每一个数据块进行加密;
27、将所有加密后的数据块合并,以得到完整的密文文件。
28、本申请实施例还提供一种针对烧录固件的加密装置,应用于微控制芯片,包括:
29、获取单元,用于获取所述微控制芯片的唯一特征值,并根据所述唯一特征值生成虚拟密钥矩阵;
30、计算单元,用于提取所述唯一特征值中每个字节的高4位值和低4位值,并依据所述高4位值和低4位值计算密钥位置;
31、确定单元,用于根据所述密钥位置在所述虚拟密钥矩阵中确定目标密钥;
32、加密单元,用于根据所述目标密钥对待烧录固件进行加密,以得到密文。
33、本申请实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如上所述的针对烧录固件的加密方法。
34、本申请实施例还提供一种计算机设备,包括存储器和处理器,所述处理器通过调用所述存储器中存储的计算机程序,以执行如上所述的针对烧录固件的加密方法。
35、本申请实施例提供的针对烧录固件的加密方法、装置、存储介质及计算机设备,可以获取微控制芯片的唯一特征值,并根据唯一特征值生成虚拟密钥矩阵,提取唯一特征值中每个字节的高4位值和低4位值,并依据高4位值和低4位值计算密钥位置,根据密钥位置在虚拟密钥矩阵中确定目标密钥,根据目标密钥对待烧录固件进行加密,以得到密文。本申请实施例提供的方案可以利用芯片的唯一特征值来生成虚拟密钥矩阵,并使得每次生成的密钥都不一样,通过建立复杂可变的密钥来提升破解难度,进而提升数据的安全性。
1.一种针对烧录固件的加密方法,应用于微控制芯片,其特征在于,包括:
2.如权利要求1所述的针对烧录固件的加密方法,其特征在于,根据所述唯一特征值生成虚拟密钥矩阵,包括:
3.如权利要求1所述的针对烧录固件的加密方法,其特征在于,依据所述高4位值和低4位值计算密钥位置,包括:
4.如权利要求3所述的针对烧录固件的加密方法,其特征在于,根据高4位值和低4位值确定位置索引的步骤,包括:
5.如权利要求1所述的针对烧录固件的加密方法,其特征在于,根据所述目标密钥对待烧录固件进行加密,以得到密文,包括:
6.如权利要求5所述的针对烧录固件的加密方法,其特征在于,所述方法还包括:
7.如权利要求5所述的针对烧录固件的加密方法,其特征在于,依据所述变量值和所述目标密钥对待烧录固件进行加密,以得到密文,包括:
8.一种针对烧录固件的加密装置,应用于微控制芯片,其特征在于,包括:
9.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上执行时,使得所述计算机执行如权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述处理器通过调用所述存储器中存储的计算机程序,以执行如权利要求1至7中任一项所述的方法。