本申请涉及信息安全,特别涉及一种引导程序处理方法、装置、设备、存储介质及程序产品。
背景技术:
1、引导程序作为系统启动的初始环节,引导程序的可信性直接关系到整个系统的可信性。在发明人实现本发明的过程中,发现现有技术至少存在以下问题,引导程序编译成的固件烧录至电路板的过程中,引导程序编译成的固件容易被窃取,进而导致信息被泄露。
技术实现思路
1、本申请提供了一种引导程序处理方法、装置、设备、存储介质及程序产品,用以解决引导程序编译成的固件烧录至电路板的过程中,引导程序编译成的固件容易被窃取而导致信息安全性差的问题。。
2、根据本申请实施例的第一方面,提供了一种引导程序处理方法,包括:
3、编译引导程序,生成固件,并在编译的过程中在所述固件中随机分配第一地址和第二地址,其中,所述第一地址用于存放密钥信息,所述第二地址用于存放校验信息;
4、生成所述固件的密钥信息,并将所述固件的密钥信息覆写到所述第一地址,生成覆写密钥后的固件;
5、基于所述覆写密钥后的固件,生成校验信息,并将所述校验信息覆写到所述第二地址,生成覆写校验后的固件;
6、将所述覆写校验后的固件烧录到目标电路板。
7、可选地,所述校验信息包括第一校验信息和第二校验信息;所述第一校验信息是指所述覆写密钥后的固件对应的校验信息,所述第二校验信息在所述覆写校验后的固件未在所述目标电路板中运行时为默认值;
8、所述将所述覆写校验后的固件烧录到目标电路板之后,所述方法还包括:
9、在所述目标电路板中运行所述覆写校验后的固件,在运行之后将所述目标电路板的标识加密后存储至所述覆写校验后的固件中的第三地址,获得绑定标识后的固件;
10、基于所述绑定标识后的固件,生成所述第二校验信息。
11、可选地,所述方法还包括:
12、在所述目标电路板启动时,从所述第二地址读取所述第二校验信息;
13、在所述第二校验信息为默认值的情况下,基于所述第一校验信息对目标固件进行校验;
14、在所述第二校验信息不为默认值的情况下,基于所述第二校验信息对目标固件进行校验;在基于所述第二校验信息确定所述目标固件正确的情况下,将所述第三地址中的信息解密,得到电路板标识;在所述电路板标识和所述目标电路板的标识一致的情况下,控制所述目标固件在所述目标电路板中运行。
15、可选地,所述将所述覆写校验后的固件烧录到目标电路板,包括:
16、读取所述目标电路板的标识,将所述目标电路板的标识加密后存储至所述覆写校验后的固件中的第三地址,获得绑定标识后的固件;
17、将所述绑定标识后的固件烧录到所述目标电路板。
18、可选地,所述方法还包括:
19、获取转换后的特征值,其中,所述转换后的特征值是将所述第三地址拆分成多个部分,将所述多个部分动态组合生成的;
20、基于所述转换后的特征值,得到所述第三地址。
21、可选地,所述方法还包括:
22、在接收到退级指令之后,运行退级程序;
23、通过所述退级程序,将所述目标电路板中的目标固件读取并加密后存储至外部存储设备;
24、执行所述目标电路板中主控芯片的读保护退级;
25、将所述外部存储设备中的固件解密并写入所述目标电路板中;
26、重启所述目标电路板中的主控芯片,以开启读保护。
27、可选地,所述运行退级程序之前,所述方法还包括:
28、获取所述退级指令中的退级验证信息;
29、确定所述退级验证信息验证通过。
30、根据本申请实施例的第二方面,提供了一种引导程序处理装置,包括:
31、编译单元,用于编译引导程序,生成固件,并在编译的过程中在所述固件中随机分配第一地址和第二地址,其中,所述第一地址用于存放密钥信息,所述第二地址用于存放校验信息;
32、第一生成单元,用于生成所述固件的密钥信息,并将所述固件的密钥信息覆写到所述第一地址,生成覆写密钥后的固件;
33、第二生成单元,用于基于所述覆写密钥后的固件,生成校验信息,并将所述校验信息覆写到所述第二地址,生成覆写校验后的固件;
34、烧录单元,用于将所述覆写校验后的固件烧录到目标电路板。
35、根据本申请实施例的第三方面,提供了一种电子设备,包括存储器和处理器;
36、所述存储器与所述处理器连接,用于存储程序;
37、所述处理器用于通过运行所述存储器中的程序,实现如第一方面所述的引导程序处理方法。
38、根据本申请实施例的第四方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如第一方面所述的引导程序处理方法。
39、根据本申请实施例的第五方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行如第一方面所述的引导程序处理方法。
40、本申请中,编译引导程序,生成固件,并在编译的过程中在固件中随机分配第一地址和第二地址,其中,第一地址用于存放密钥信息,第二地址用于存放校验信息,生成固件的密钥信息,并将固件的密钥信息覆写到第一地址,生成覆写密钥后的固件,基于覆写密钥后的固件,生成校验信息,并将校验信息覆写到第二地址,生成覆写校验后的固件,将覆写校验后的固件烧录到目标电路板。通过在编译的过程中在固件中随机分配第一地址和第二地址,其中,第一地址用于存放密钥信息,第二地址用于存放校验信息,由于第一地址和第二地址是在编译的过程中随机分配的,所以密钥信息和校验信息不容易被找到并篡改,减少密钥信息和校验信息被篡改的风险,提升了引导程序编译成的固件的安全性。而且,密钥信息没有预先打包在固件中,而是生成固件的密钥信息,并将固件的密钥信息覆写到第一地址,生成覆写密钥后的固件,大大降低了密钥信息泄露的风险,进一步提升了引导程序编译成的固件的安全性。解决了引导程序编译成的固件烧录至电路板的过程中,引导程序编译成的固件容易被窃取而导致信息安全性差的问题。
1.一种引导程序处理方法,其特征在于,包括:
2.根据权利要求1所述的引导程序处理方法,其特征在于,所述校验信息包括第一校验信息和第二校验信息;所述第一校验信息是指所述覆写密钥后的固件对应的校验信息,所述第二校验信息在所述覆写校验后的固件未在所述目标电路板中运行时为默认值;
3.根据权利要求2所述的引导程序处理方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的引导程序处理方法,其特征在于,所述将所述覆写校验后的固件烧录到目标电路板,包括:
5.根据权利要求2至4中任意一项所述的引导程序处理方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的引导程序处理方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的引导程序处理方法,其特征在于,所述运行退级程序之前,所述方法还包括:
8.一种引导程序处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器;
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求1至7中任意一项所述的引导程序处理方法。
11.一种计算机程序产品,其特征在于,包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行如权利要求1至7中任意一项所述的引导程序处理方法。