处理器启动方法、异构处理器系统及处理器启动装置与流程

文档序号:29322513发布日期:2022-03-19 22:52阅读:118来源:国知局
处理器启动方法、异构处理器系统及处理器启动装置与流程

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.第一解密模块,用于根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
41.提取模块,用于在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
42.计算模块,用于根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,
以获得所述主处理器固件对应的第二摘要信息;
43.判断模块,用于判断所述第一摘要信息和所述第二摘要信息是否相同;
44.确定模块,用于当所述判断模块判定所述第一摘要信息和所述第二摘要信息相同时,确定所述数字签名验签成功。
45.可选的,所述解密单元包括:
46.第二获取模块,用于获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
47.第二解密模块,用于根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
48.可选的,所述通知单元包括:
49.加载模块,用于将所述解密后的主处理器固件加载至第一存储器中;
50.通知模块,用于通知所述主处理器在所述第一存储器中执行所述解密后的主处理器固件。
51.第四方面,本技术的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的处理器启动方法。
52.第五方面,本技术的实施例提供了一种处理器启动装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的处理器启动方法。
53.借由上述技术方案,本技术提供的技术方案至少具有下列优点:
54.本技术提供一种处理器启动方法、异构处理器系统及处理器启动装置,本技术能够在异构处理器系统上电后,由协处理器控制主处理器安全启动,即协处理器先执行协处理器固件,再获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,并对主处理器固件对应的数字签名进行验签处理,以及当确定主处理器固件对应的数字签名验签成功时,对主处理器固件进行解密处理,从而获得解密后的主处理器固件,最后,通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。由于,当协处理器确定主处理器固件对应的数字签名验签失败或协处理器对主处理器固件进行解密处理失败时,协处理器可以确定主处理器固件是非法的,此时,协处理器会停止安全启动主处理器的操作,从而能够保证主处理器启动过程的安全性。
55.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
56.通过参考附图阅读下文的详细描述,本技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本技术的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:
57.图1示出了本技术实施例提供的一种处理器启动方法流程图;
58.图2示出了本技术实施例提供的另一种处理器启动方法流程图;
59.图3示出了本技术实施例提供的一种异构处理器系统的结构示意图;
60.图4示出了本技术实施例提供的另一种异构处理器系统的结构示意图;
61.图5示出了本技术实施例提供的一种处理器启动装置的组成框图;
62.图6示出了本技术实施例提供的另一种处理器启动装置的组成框图。
具体实施方式
63.下面将参照附图更详细地描述本技术的示例性实施方式。虽然附图中显示了本技术的示例性实施方式,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
64.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本技术所属领域技术人员所理解的通常意义。
65.本技术实施例提供了一种处理器启动方法,该方法应用于异构处理器系统中的协处理器,异构多处理器系统还包括主处理器。图1示出了本技术实施例提供的一种处理器启动方法流程图。如图1所示,该方法包括:
66.101、在异构处理器系统上电后,执行协处理器固件。
67.在本技术实施例中,在异构处理器系统上电后,主处理器处于等待状态,此时,协处理器需要获取协处理器固件,并执行协处理器固件;其中,协处理器只有在执行协处理器固件后,才可以控制主处理器安全启动。
68.102、获取主处理器对应的主处理器固件和主处理器固件对应的数字签名。
69.在本技术实施例中,协处理器在执行协处理器固件后,便可开始控制主处理器安全启动,此时,协处理器首先需要获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,以便后续对主处理器固件对应的数字签名进行验签处理,从而确定主处理器固件是否合法。
70.103、对数字签名进行验签处理。
71.在本技术实施例中,协处理器在获取得到主处理器固件和主处理器固件对应的数字签名后,便可对主处理器固件对应的数字签名进行验签处理,从而确定主处理器固件是否合法。
72.104、若验签成功,则对主处理器固件进行解密处理,以获得解密后的主处理器固件。
73.在本技术实施例中,当协处理器确定主处理器固件对应的数字签名验签成功,即确定主处理器固件合法时,协处理器便可对主处理器固件进行解密处理,从而获得解密后的主处理器固件。
74.需要进行说明的是,当协处理器确定主处理器固件对应的数字签名验签失败,即确定主处理器固件非法时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性;当协处理器对主处理器固件进行解密处理失败时,可以确定主处理器固件是非法的,此时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性。
75.105、通知主处理器执行解密后的主处理器固件。
76.在本技术实施例中,协处理器在确定主处理器固件合法,并获得解密后的主处理固件后,便可通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。
77.本技术实施例提供一种处理器启动方法,本技术实施例能够在异构处理器系统上电后,由协处理器控制主处理器安全启动,即协处理器先执行协处理器固件,再获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,并对主处理器固件对应的数字签名进行验签处理,以及当确定主处理器固件对应的数字签名验签成功时,对主处理器固件进行解密处理,从而获得解密后的主处理器固件,最后,通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。由于,当协处理器确定主处理器固件对应的数字签名验签失败或协处理器对主处理器固件进行解密处理失败时,协处理器可以确定主处理器固件是非法的,此时,协处理器会停止安全启动主处理器的操作,从而能够保证主处理器启动过程的安全性。
78.以下为了更加详细地说明,本技术实施例提供了另一种处理器启动方法,该方法应用于异构处理器系统中的协处理器,如图2所示,该方法包括:
79.201、在异构处理器系统上电后,执行协处理器固件。
80.其中,关于步骤201、在异构处理器系统上电后,执行协处理器固件,可以参考图1对应部分的描述,本技术实施例此处将不再赘述。
81.202、对第一存储器和第二存储器进行初始化处理。
82.其中,异构处理器系统中的第一存储器用于运行解密后的主处理器固件,异构处理器系统中的第二存储器用于存储主处理器固件和主处理器固件对应的数字签名。
83.在本技术实施例中,为了保证主处理器正常启动,协处理器在执行协处理器固件后,需要对主处理器对应的存储器进行初始化处理,即对第一存储器和第二存储器进行初始化处理。
84.203、获取主处理器对应的主处理器固件和主处理器固件对应的数字签名。
85.其中,关于步骤203、获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
86.204、对数字签名进行验签处理。
87.其中,异构处理器系统中的加密引擎中存储有预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法,异构处理器系统中的寄存器中存储有预置对称密钥算法对应的预置密钥和预置非对称密钥算法对应的预置公钥。
88.在本技术实施例中,协处理器在获取得到主处理器固件和主处理器固件对应的数字签名后,便可对主处理器固件对应的数字签名进行验签处理,从而确定主处理器固件是否合法。
89.需要进行说明的是,在实际应用过程中,需要预先根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和预设加密方式信息对主处理固件中的部分数据进行加密处理,以获得加密后的主处理器固件。再根据预置安全哈希算法对加密后的主处理器固件进行摘要计算处理,以获得加密后的主处理器固件对应的第一摘要信息。以及根据预置非对称密钥算法和预置非对称密钥算法对应的预置私钥对第一摘要信息和预设加密方式信息组成的明文进行加密处理,以获得加密后的主处理器固件对应的数字签名。最后,将加密后
的主处理器固件和加密后的主处理器固件对应的数字签名存储至第二存储器中,并将预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法存储至加密引擎中,以及在物理隔离环境中将预置对称密钥算法对应的预置密钥和预置非对称密钥算法对应的预置公钥存储至寄存器中。
90.上述预设加密方式信息包括一个或多个加密位置点和每个加密位置点对应的加密数据量,加密位置点用于表明主处理器固件中进行加密的数据在主处理器固件中的位置,加密位置点对应的加密数据量用于表明该加密位置点处进行加密的数据的数据量大小。预置对称密钥算法可以为任意一种对称密钥算法,预置非对称密钥算法可以为任意一种非对称密钥算法,本技术实施例对此不进行具体限定。
91.需要进行说明的是,根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和预设加密方式信息对主处理固件中的部分数据进行加密处理,能够提高协处理器对加密后的主处理器固件进行解密处理时的解密速度,从而能够提高协处理器控制主处理器安全启动的启动速度。
92.具体的,在本步骤中,协处理器可以采用以下方式对主处理器固件对应的数字签名进行验签处理:
93.首先,获取预置非对称密钥算法和预置非对称密钥算法对应的预置公钥,即在加密引擎中获取预置非对称密钥算法,以及在寄存器中获取预置非对称密钥算法对应的预置公钥;
94.其次,根据预置非对称密钥算法和预置非对称密钥算法对应的预置公钥对获取得到的主处理器固件对应的数字签名进行解密处理,从而获得解密结果;需要进行说明的是,当协处理器对主处理器固件对应的数字签名进行解密处理失败时,可以确定获取得到的主处理器固件是非法的,此时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性;
95.再次,在解密获得的解密结果中提取主处理器固件对应的第一摘要信息和预设加密方式信息;
96.然后,在加密引擎中获取预置安全哈希算法,并根据获取得到的预置安全哈希算法对主处理器固件进行摘要计算处理,从而获得主处理器固件对应的第二摘要信息;
97.最后,判断第一摘要信息和第二摘要信息是否相同,若相同,则确定主处理器固件对应的数字签名验签成功,即确定主处理器固件合法,若不相同,则确定主处理器固件对应的数字签名验签失败,即确定主处理器固件非法,此时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性。
98.205、若验签成功,则对主处理器固件进行解密处理,以获得解密后的主处理器固件。
99.在本技术实施例中,当协处理器确定主处理器固件对应的数字签名验签成功,即确定主处理器固件合法时,协处理器便可对主处理器固件进行解密处理,从而获得解密后的主处理器固件。
100.具体的,在本步骤中,协处理器可以采用以下方式对主处理器固件进行解密处理,以获得解密后的主处理器固件:
101.首先,获取预置对称密钥算法和预置对称密钥算法对应的预置密钥,即在加密引
擎中获取预置对称密钥算法,以及在寄存器中获取预置对称密钥算法对应的预置密钥;
102.其次,根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和上述对主处理器固件对应的数字签名进行验签处理过程中获得的预设加密方式信息,对主处理器固件进行解密处理,从而获得解密后的主处理器固件;
103.需要进行说明的是,协处理器根据预设加密方式信息能够获知,预先根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和预设加密方式信息对主处理固件中的部分数据进行加密处理时,是对主处理器固件中的哪些数据进行加密处理,从而使得协处理器能够准确地对加密后的主处理器固件进行解密处理,获得解密后的主处理器固件。
104.206、通知主处理器执行解密后的主处理器固件。
105.在本技术实施例中,协处理器在确定主处理器固件合法,并获得解密后的主处理固件后,便可通知处于等待状态的主处理器开始执行解密后的主处理器固件,其具体过程为:先将解密后的主处理器固件加载至第一存储器中;再通知主处理器在第一存储器中执行解密后的主处理器固件,从而完成主处理器的安全启动。
106.本技术实施例还提供了一种异构处理器系统,如图3所示,该系统包括:主处理器1、协处理器2、加密模块3、第一存储器4、第二存储器5、第三存储器6和第四存储器7。
107.如图3所示,主处理器1、加密模块3、第一存储器4、第二存储器5、第三存储器6和第四存储器7分别连接于协处理器2;第一存储器4还连接于主处理器1。
108.其中,第一存储器4用于运行解密后的主处理器固件,第二存储器5用于存储主处理器固件和主处理器固件对应的数字签名,第三存储器6用于存储协处理器固件,第四存储器7用于存储协处理器2执行协处理器固件过程中需要使用的数据,加密模块3用于存储多种预置加密算法和相应的密钥。
109.其中,协处理器2用于根据上述处理器启动方法控制主处理器1安全启动,即协处理器2控制主处理器1安全启动的具体流程为:在异构处理器系统上电后,主处理器1处于等待状态,协处理器2从第三存储器6中获取协处理器固件。在执行协处理器固件后,协处理器2先从第二存储器5中获取主处理器固件和主处理器固件对应的数字签名,再对获取得到的数字签名进行验签处理。当确定数字签名验签成功时,协处理器2对主处理器固件进行解密处理,从而获得解密后的主处理器固件。随后再将解密后的主处理固件加载至第一存储器4中,以便第一存储器4运行解密后的主处理器固件。最后,协处理器2通知主处理器1在第一存储器4中执行解密后的主处理器固件,从而完成主处理器1的安全启动。
110.图4示出了本技术实施例提供的另一种异构处理器系统的结构示意图,图4与图3中的系统具备相同或类似功能的器件采用相同的标号,对于相同标号的器件本例不再详细说明,仅说明二者不同的部分。
111.如图4所示,加密模块3包括加密引擎31和寄存器32,加密引擎31和寄存器32分别连接于协处理器2。其中,加密引擎31用于存储预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法,寄存器32用于存储预置对称密钥算法对应的预置密钥和预置非对称密钥算法对应的预置公钥。
112.当协处理器2需要对主处理器固件对应的数字签名进行验签处理时,通过如下操作来完成验签处理:协处理器2首先需要在加密引擎31中获取预置非对称密钥算法和预置安全哈希算法,并在寄存器32中获取预置非对称密钥算法对应的预置公钥。然后,根据预置
非对称密钥算法和预置非对称密钥算法对应的预置公钥对主处理器固件对应的数字签名进行解密处理,以获得解密结果。接着,在获得的解密结果中提取主处理器固件对应的第一摘要信息和预设加密方式信息。随后,根据预置安全哈希算法对主处理器固件进行摘要计算处理,以获得主处理器固件对应的第二摘要信息。最后,当判定第一摘要信息和第二摘要信息相同时,便可确定数字签名验签成功,当判定第一摘要信息和第二摘要信息不同时,便可确定数字签名验签失败。
113.当协处理器2需要对主处理器固件进行解密处理时,通过如下操作来完成验签处理:协处理器2首先需要从加密引擎31中获取预置对称密钥算法,并在寄存器32中获取预置对称密钥算法对应的预置密钥,然后根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和上述对主处理器固件对应的数字签名进行验签处理过程中获得的预设加密方式信息,对主处理器固件进行解密处理,以获得主处理器固件;其中,预设加密方式信息包括一个或多个加密位置点和每个加密位置点对应的加密数据量,加密位置点用于表明主处理器固件中进行加密的数据在主处理器固件中的位置,加密位置点对应的加密数据量用于表明该加密位置点处进行加密的数据的数据量大小。
114.进一步的,在本实施例中,寄存器32为一次性编程(otp,one time programming)寄存器,第一存储器4为双倍速率同步动态随机存储器(ddr sdram,double data rate sdram),第二存储器5为嵌入式多媒体卡(emmc,embedded multi media card),第三存储器6为只读存储器(rom,read only memory),第四存储器7为静态随机存取存储器(sram,static random access memory)。
115.为了实现上述目的,根据本技术的另一方面,本技术实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的处理器启动方法。
116.为了实现上述目的,根据本技术的另一方面,本技术实施例还提供了一种处理器启动装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的处理器启动方法。
117.进一步的,作为对上述图1及图2所示方法的实现,本技术另一实施例还提供了一种处理器启动装置,该装置应用于上述异构处理器系统中的协处理器。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于提升异构处理器系统中的主处理器启动过程的安全性,具体如图5所示,该装置包括:
118.执行单元31,用于在所述异构处理器系统上电后,执行协处理器固件;
119.获取单元32,用于获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
120.验签单元33,用于对所述数字签名进行验签处理;
121.解密单元34,用于当验签单元33确定所述数字签名验签成功时,对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
122.通知单元35,用于通知所述主处理器执行所述解密后的主处理器固件。
123.进一步的,如图6所示,所述验签单元33包括:
124.第一获取模块331,用于获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
125.第一解密模块332,用于根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
126.提取模块333,用于在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
127.计算模块334,用于根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
128.判断模块335,用于判断所述第一摘要信息和所述第二摘要信息是否相同;
129.确定模块336,用于当所述判断模块335判定所述第一摘要信息和所述第二摘要信息相同时,确定所述数字签名验签成功。
130.进一步的,如图6所示,所述解密单元34包括:
131.第二获取模块341,用于获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
132.第二解密模块342,用于根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
133.进一步的,如图6所示,所述通知单元35包括:
134.加载模块351,用于将所述解密后的主处理器固件加载至第一存储器中;
135.通知模块352,用于通知所述主处理器在所述第一存储器中执行所述解密后的主处理器固件。
136.本技术实施例提供一种处理器启动方法、异构处理器系统及处理器启动装置,本技术实施例能够在异构处理器系统上电后,由协处理器控制主处理器安全启动,即协处理器先执行协处理器固件,再获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,并对主处理器固件对应的数字签名进行验签处理,以及当确定主处理器固件对应的数字签名验签成功时,对主处理器固件进行解密处理,从而获得解密后的主处理器固件,最后,通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。由于,当协处理器确定主处理器固件对应的数字签名验签失败或协处理器对主处理器固件进行解密处理失败时,协处理器可以确定主处理器固件是非法的,此时,协处理器会停止安全启动主处理器的操作,从而能够保证主处理器启动过程的安全性。
137.所述处理器启动装置包括处理器和存储器,上述执行单元、获取单元、验签单元、解密单元和通知单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
138.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提升异构处理器系统中的主处理器启动过程的安全性。
139.本技术实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的处理器启动方法。
140.存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个
存储芯片。
141.本技术实施例还提供了一种处理器启动装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的处理器启动方法。
142.本技术实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
143.在所述异构处理器系统上电后,执行协处理器固件;
144.获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
145.对所述数字签名进行验签处理;
146.若验签成功,则对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
147.通知所述主处理器执行所述解密后的主处理器固件。
148.进一步的,所述对所述数字签名进行验签处理,包括:
149.获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
150.根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
151.在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
152.根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
153.判断所述第一摘要信息和所述第二摘要信息是否相同;
154.若相同,则确定所述数字签名验签成功。
155.进一步的,所述对所述主处理器固件进行解密处理,以获得解密后的主处理器固件,包括:
156.获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
157.根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
158.进一步的,所述通知所述主处理器执行所述解密后的主处理器固件,包括:
159.将所述解密后的主处理器固件加载至第一存储器中;
160.通知所述主处理器在所述第一存储器执行所述解密后的主处理器固件。
161.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:在所述异构处理器系统上电后,执行协处理器固件;获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;对所述数字签名进行验签处理;若验签成功,则对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;通知所述主处理器执行所述解密后的主处理器固件。
162.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
163.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
164.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
165.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
166.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
167.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
168.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
169.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
170.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
171.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,
本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1