密钥烧录方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:36436716 阅读:16 留言:0更新日期:2023-01-20 22:50
本公开涉及密钥安全存储技术领域,具体涉及一种密钥烧录方法、装置、电子设备及可读存储介质,所述密钥烧录包括:获取嵌入有预设密钥值的第一机器码;对所述第一机器码进行解析,得到多条数据传送指令;将所述多条数据传送指令中每条数据传送指令中的至少部分预设密钥值,替换为目标密钥值中对应位置的密钥值,得到第二机器码;将所述第二机器码烧录至仅可执行存储器。该方案能够在无需编译程序源代码的前提下,可以直接将二进制机器码中已嵌入的预设密钥值替换为不同设备的目标密钥值,即通过直接修改仅可执行存储器固件的二进制数据的方式,确保满足一机一密的需求,从而降低了程序源代码的泄露风险,提高了密钥烧录的安全性。安全性。安全性。

【技术实现步骤摘要】
密钥烧录方法、装置、电子设备及可读存储介质


[0001]本公开涉及密钥安全存储
,具体涉及一种密钥烧录方法、装置、电子设备及可读存储介质。

技术介绍

[0002]随着通信技术发展,用户可以利用计算机与其他设备、服务器等进行数据传输。为了防止数据内容泄露,需要使用密钥对待传输数据进行加密,从而使用加密后的数据进行数据传输。在数据传输过程中,即使攻击者可以获得完整的数据,只要攻击者没有密钥,就无法解密密文,因此,密钥的安全存储尤为重要。
[0003]相关技术中,通常使用编译器对包括密钥值的程序源代码进行编译得到二进制机器码,从而将源代码中的密钥值嵌入到编译生成的二进制机器码中。
[0004]然而,采用上述嵌入密钥值的方案量产烧录密钥时,通常只能使用已编译好的程序固件,而对于每台设备不同的密钥需求,需要工作人员使用每台设备的程序源代码当场编译以得到程序固件,并将程序固件烧录于对应的设备,而通常工作人员重新编译程序源代码存在风险,导致程序源代码泄露的几率较高。

技术实现思路

[0005]为了解决相关技术中的问题,本公开实施例提供一种密钥烧录方法、装置、电子设备及可读存储介质。
[0006]第一方面,本公开实施例中提供了一种密钥烧录方法。
[0007]具体的,所述密钥烧录方法包括:获取嵌入有预设密钥值的第一机器码;对所述第一机器码进行解析,得到多条数据传送指令,所述多条数据传送指令中每条数据传送指令包括所述预设密钥值中的至少部分预设密钥值;将所述多条数据传送指令中每条数据传送指令中的所述至少部分预设密钥值,替换为目标密钥值中对应位置的密钥值,得到第二机器码;将所述第二机器码烧录至仅可执行存储器。
[0008]本公开实施例的一种实现方式中,所述第一机器码包括第一定位标记和第二定位标记,所述第一定位标记用于指示所述第一机器码中包括预设密钥值的第一条数据传送指令,所述第二定位标记用于指示所述第一机器码中包括预设密钥值的最后一条数据传送指令的结束位置。
[0009]本公开实施例的一种实现方式中,所述对所述第一机器码进行解析,得到多条数据传送指令,包括:获取所述第一机器码中位于所述第一定位标记和所述第二定位标记之间的多条机器码;对所述第一机器码中位于所述第一定位标记和所述第二定位标记之间的多条机
器码进行逐条解析,得到多条数据解析指令;将所述多条数据解析指令中均包括至少部分预设密钥值的数据解析指令,确定为所述多条数据传送指令。
[0010]本公开实施例的一种实现方式中,所述将所述第二机器码烧录至仅可执行存储器之后,所述方法还包括:执行所述仅可执行存储器中的所述第二机器码,以获取所述目标密钥值,并将所述目标密钥值写入缓冲区。
[0011]本公开实施例的一种实现方式中,所述第二机器码包括第三定位标记和第四定位标记,所述第三定位标记用于指示所述第二机器码中包括目标密钥值的第一条数据传送指令的起始位置,所述第四定位标记用于指示所述第二机器码中包括目标密钥值的最后一条数据传送指令的结束位置。
[0012]本公开实施例的一种实现方式中,所述第一定位标记、所述第二定位标记、所述第三定位标记和所述第四定位标记分别为无用的、不产生任何副作用的指令。
[0013]本公开实施例的一种实现方式中,所述第二机器码包括第三定位标记和第四定位标记;所述执行所述仅可执行存储器中的所述第二机器码,以获取所述目标密钥值,并将所述目标密钥值写入缓冲区,包括:获取所述第二机器码中位于所述第三定位标记和所述第四定位标记之间的多条目标机器码;依次执行所述多条目标机器码中的每条目标机器码,以获取每条所述目标机器码的数据传送指令中的目标密钥值;将每条所述目标机器码的数据传送指令中的目标密钥值依次写入所述缓冲区。
[0014]本公开实施例的一种实现方式中,所述第二机器码还包括多条调用指令机器码,一条调用指令机器码与所述多条目标机器码中的一条目标机器码对应,每条调用指令机器码为用于调用一条目标机器码的调用指令的机器码。
[0015]本公开实施例的一种实现方式中,所述依次执行所述多条目标机器码中的每条目标机器码,以获取每条所述目标机器码的数据传送指令中的部分目标密钥值之前,所述方法还包括:执行所述多条调用指令机器码中的第i条调用指令机器码,以判断所述调用指令的地址合法性;所述依次执行所述多条目标机器码中的每条目标机器码,以获取每条所述目标机器码的数据传送指令中的部分目标密钥值,包括:在确定所述调用指令的地址合法的情况下,执行与所述第i条调用指令机器码对应的所述多条目标机器码中的第i条目标机器码,以获取所述第i条目标机器码的数据传送指令中的目标密钥值。
[0016]本公开实施例的一种实现方式中,所述将所述目标密钥值写入缓冲区之前,所述方法还包括:在内存中设置所述缓冲区,所述缓冲区的大小大于或等于所述目标密钥值的长度;
所述将所述目标密钥值写入缓冲区,包括:获取第一参数和第二参数,所述第一参数用于指示所述缓冲区的起始位置地址,所述第二参数用于指示所述缓冲区的大小;根据所述第一参数和所述第二参数,将所述目标密钥值对应写入所述缓冲区。
[0017]本公开实施例的一种实现方式中,所述将所述目标密钥值写入缓冲区之后,所述方法还包括:清空所述缓冲区中的所有数据。
[0018]本公开实施例的一种实现方式中,所述执行所述仅可执行存储器中的所述第二机器码,以获取所述目标密钥值之后,所述方法还包括:根据所述目标密钥值,执行目标操作;其中,所述执行目标操作包括以下至少一项:分散密钥、加密数据、解密数据。
[0019]第二方面,本公开实施例中提供了一种密钥烧录装置。
[0020]具体的,所述密钥烧录装置包括:第一获取模块,被配置为获取嵌入有预设密钥值的第一机器码;第二获取模块,被配置为对所述第一机器码进行解析,得到多条数据传送指令,所述多条数据传送指令中每条数据传送指令包括所述预设密钥值中的至少部分预设密钥值;替换模块,被配置为将所述多条数据传送指令中每条数据传送指令中的所述至少部分预设密钥值,替换为目标密钥值中对应位置的密钥值,得到第二机器码;第一处理模块,被配置为将所述第二机器码烧录至仅可执行存储器。
[0021]本公开实施例的一种实现方式中,所述第一机器码包括第一定位标记和第二定位标记,所述第一定位标记用于指示所述第一机器码中包括预设密钥值的第一条数据传送指令,所述第二定位标记用于指示所述第一机器码中包括预设密钥值的最后一条数据传送指令的结束位置。
[0022]本公开实施例的一种实现方式中,所述第二获取模块被配置为:获取所述第一机器码中位于所述第一定位标记和所述第二定位标记之间的多条机器码;对所述第一机器码中位于所述第一定位标记和所述第二定位标记之间的多条机器码进行逐条解析,得到多条数据解析指令;将所述多条数据解析指令中均包括至少部分预设密钥值的数据解析指令,确定为所述多条数据传送指令。
[0023]本公开实施例的一种实现方式中,所述密钥烧录装置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密钥烧录方法,其特征在于,所述方法包括:获取嵌入有预设密钥值的第一机器码;对所述第一机器码进行解析,得到多条数据传送指令,所述多条数据传送指令中每条数据传送指令包括所述预设密钥值中的至少部分预设密钥值;将所述多条数据传送指令中每条数据传送指令中的所述至少部分预设密钥值,替换为目标密钥值中对应位置的密钥值,得到第二机器码;将所述第二机器码烧录至仅可执行存储器。2.根据权利要求1中所述的方法,其特征在于,所述第一机器码包括第一定位标记和第二定位标记,所述第一定位标记用于指示所述第一机器码中包括预设密钥值的第一条数据传送指令,所述第二定位标记用于指示所述第一机器码中包括预设密钥值的最后一条数据传送指令的结束位置。3.根据权利要求2中所述的方法,其特征在于,所述对所述第一机器码进行解析,得到多条数据传送指令,包括:获取所述第一机器码中位于所述第一定位标记和所述第二定位标记之间的多条机器码;对所述第一机器码中位于所述第一定位标记和所述第二定位标记之间的多条机器码进行逐条解析,得到多条数据解析指令;将所述多条数据解析指令中均包括至少部分预设密钥值的数据解析指令,确定为所述多条数据传送指令。4.根据权利要求1中所述的方法,其特征在于,所述将所述第二机器码烧录至仅可执行存储器之后,所述方法还包括:执行所述仅可执行存储器中的所述第二机器码,以获取所述目标密钥值,并将所述目标密钥值写入缓冲区。5.根据权利要求2中所述的方法,其特征在于,所述第二机器码包括第三定位标记和第四定位标记,所述第三定位标记用于指示所述第二机器码中包括目标密钥值的第一条数据传送指令的起始位置,所述第四定位标记用于指示所述第二机器码中包括目标密钥值的最后一条数据传送指令的结束位置。6.根据权利要求5中所述的方法,其特征在于,所述第一定位标记、所述第二定位标记、所述第三定位标记和所述第四定位标记分别为无用的、不产生任何副作用的指令。7.根据权利要求4中所述的方法,其特征在于,所述第二机器码包括第三定位标记和第四定位标记;所述执行所述仅可执行存储器中的所述第二机器码,以获取所述目标密钥值,并将所述目标密钥值写入缓冲区,包括:获取所述第二机器码中位于所述第三定位标记和所述第四定位标记之间的多条目标机器码;依次执行所述多条目标机器码中的每条目标机器码,以获取每条所述目标机器码的数据传送指令中的目标密钥值;将每条所述目标机器码的数据传送指令中的目标密钥值依次写入所述缓冲区。8.根据权利要求7中所述的方法,其特征在于,所述第二机器码还包括多条调用指令机
器码,一条调用指令机器码与所述多条目标机器码中的一条目标机器码对应,每条调用指令机器码为用于调用一条目标机器码的调用指令的机器码。9.根据权利要求8中所述的方法,其特征在于,所述依次执行所述多条目标机器码中的每条目标机器码,以获取每条所述目标机器码的数据传送指令中的部分目标密钥值之前,所述方法还包括:执行所述多条调用指令机器码中的第i条调用指令机器码,以判断所述调用指令的地址合法性;所述依次执行所述多条目标机器码中的每条目标机器码,以获取每条所述目标机器码的数据传送指令中的部分目标密钥值,包括:在确定所述调用指令的地址合法的情况下,执行与所述第i条调用指令机器码对应的所述多条目标机器码中的第i条目标机器码,以获取所述第i条目标机器码的数据传送指令中的目标密钥值。10.根据权利要求4中所述的方法,其特征在于,所述将所述目标密钥值写入缓冲区之前,所述方法还包括:在内存中设置所述缓冲区,所述缓冲区的大小大于或等于所述目标密钥值的长度;所述将所述目标密钥值写入缓冲区,包括:获取第一参数和第二参数,所述第一参数用于指示所述缓冲区的起始位置地址,所述第二参数用于指示所述缓冲区的大小;根据所述第一参数和所述第二参数,将所述目标密钥值对应写入所述缓冲区。11.根据权利要求4或10中所述的方法,其特征在于,所述将所述目标密钥值写入缓冲区之后,所述方法还包括:清空所述缓冲区中的所有数据。12.根据权利要求4中所述的方法,其特征在于,所述执行所述仅可执行存储器中的所述第二机器码,以获取所述目标密钥值之后,所述方法还包括:根据所述目标密钥值,执行目标操作;其中,所述执行目标操作包括以下至少一项:分散密钥、加密数据、解密数据。13.一种密钥烧录装置,其特征在于,所述密钥烧录装置包括:第一获取模块,被配置为获取嵌入有...

【专利技术属性】
技术研发人员:赵东艳李德建王喆王慧胡文彬吴甜甜赵晓龙
申请(专利权)人:北京智芯微电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1