CN114201224A - 处理器启动方法、异构处理器系统及处理器启动装置 - Google Patents
处理器启动方法、异构处理器系统及处理器启动装置 Download PDFInfo
- Publication number
- CN114201224A CN114201224A CN202111518040.1A CN202111518040A CN114201224A CN 114201224 A CN114201224 A CN 114201224A CN 202111518040 A CN202111518040 A CN 202111518040A CN 114201224 A CN114201224 A CN 114201224A
- Authority
- CN
- China
- Prior art keywords
- main processor
- preset
- firmware
- processor firmware
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012795 verification Methods 0.000 claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims description 104
- 230000008569 process Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开一种处理器启动方法、异构处理器系统及处理器启动装置,涉及处理器技术领域。本申请的方法包括:在所述异构处理器系统上电后,执行协处理器固件;获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;对所述数字签名进行验签处理;若验签成功,则对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;通知所述主处理器执行所述解密后的主处理器固件。
Description
技术领域
本申请涉及处理器技术领域,尤其涉及一种处理器启动方法、异构处理器系统及处理器启动装置。
背景技术
随着应用程序的安全需求不断提升,对处理器安全性的要求也越来越高。处理器在启动过程中,需要加载并执行其对应的固件,当其加载并执行的固件被恶意修改或被恶意替换时,会对处理器造成不可估量的损害。
目前,通常通过对处理器的固件进行签名校验的方式,来保证固件的安全性,从而保证处理器启动过程的安全性。然而,对于一些安全需求比较高的应用场景而言,通过对处理器的固件进行签名校验,并不能满足安全需求。因此,如何对处理器的固件进行校验,从而保证处理器启动过程的安全性是目前待解决的问题。
发明内容
本申请实施例提供一种处理器启动方法、异构处理器系统及处理器启动装置,主要目的在于提升异构处理器系统中的主处理器启动过程的安全性。
为解决上述技术问题,本申请实施例提供如下技术方案:
第一方面,本申请提供了一种处理器启动方法,所述方法应用于异构处理器系统中的协处理器,所述异构多处理器系统还包括主处理器,所述方法包括:
在所述异构处理器系统上电后,执行协处理器固件;
获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
对所述数字签名进行验签处理;
若验签成功,则对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
通知所述主处理器执行所述解密后的主处理器固件。
可选的,所述对所述数字签名进行验签处理,包括:
获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
判断所述第一摘要信息和所述第二摘要信息是否相同;
若相同,则确定所述数字签名验签成功。
可选的,所述对所述主处理器固件进行解密处理,以获得解密后的主处理器固件,包括:
获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
可选的,所述通知所述主处理器执行所述解密后的主处理器固件,包括:
将所述解密后的主处理器固件加载至第一存储器中;
通知所述主处理器在所述第一存储器执行所述解密后的主处理器固件。
第二方面,本申请提供了一种异构处理器系统,所述系统包括:主处理器、协处理器、加密模块、第一存储器、第二存储器、第三存储器和第四存储器;
所述主处理器、所述加密模块、所述第一存储器、所述第二存储器、所述第三存储器和所述第四存储器分别连接于所述协处理器;
所述第一存储器还连接于所述主处理器;
其中,所述第一存储器用于运行解密后的主处理器固件,所述第二存储器用于存储主处理器固件和所述主处理器固件对应的数字签名,所述第三存储器用于存储协处理器固件,所述第四存储器用于存储所述协处理器执行所述协处理器固件过程中需要使用的数据,所述加密模块用于存储多种预置加密算法和相应的密钥,所述协处理器用于根据第一方面所述的处理器启动方法控制所述主处理器安全启动。
可选的,所述加密模块包括加密引擎和寄存器;
所述加密引擎和所述寄存器分别连接于所述协处理器;
其中,所述加密引擎用于存储预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法,所述寄存器用于存储所述预置对称密钥算法对应的预置密钥和所述预置非对称密钥算法对应的预置公钥。
第三方面,本申请还提供了一种处理器启动装置,所述装置应用于异构处理器系统中的协处理器,所述异构多处理器系统还包括主处理器,所述装置包括:
执行单元,用于在所述异构处理器系统上电后,执行协处理器固件;
获取单元,用于获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
验签单元,用于对所述数字签名进行验签处理;
解密单元,用于当所述验签单元确定所述数字签名验签成功时,对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
通知单元,用于通知所述主处理器执行所述解密后的主处理器固件。
可选的,所述验签单元包括:
第一获取模块,用于获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
第一解密模块,用于根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
提取模块,用于在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
计算模块,用于根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
判断模块,用于判断所述第一摘要信息和所述第二摘要信息是否相同;
确定模块,用于当所述判断模块判定所述第一摘要信息和所述第二摘要信息相同时,确定所述数字签名验签成功。
可选的,所述解密单元包括:
第二获取模块,用于获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
第二解密模块,用于根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
可选的,所述通知单元包括:
加载模块,用于将所述解密后的主处理器固件加载至第一存储器中;
通知模块,用于通知所述主处理器在所述第一存储器中执行所述解密后的主处理器固件。
第四方面,本申请的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的处理器启动方法。
第五方面,本申请的实施例提供了一种处理器启动装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的处理器启动方法。
借由上述技术方案,本申请提供的技术方案至少具有下列优点:
本申请提供一种处理器启动方法、异构处理器系统及处理器启动装置,本申请能够在异构处理器系统上电后,由协处理器控制主处理器安全启动,即协处理器先执行协处理器固件,再获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,并对主处理器固件对应的数字签名进行验签处理,以及当确定主处理器固件对应的数字签名验签成功时,对主处理器固件进行解密处理,从而获得解密后的主处理器固件,最后,通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。由于,当协处理器确定主处理器固件对应的数字签名验签失败或协处理器对主处理器固件进行解密处理失败时,协处理器可以确定主处理器固件是非法的,此时,协处理器会停止安全启动主处理器的操作,从而能够保证主处理器启动过程的安全性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:
图1示出了本申请实施例提供的一种处理器启动方法流程图;
图2示出了本申请实施例提供的另一种处理器启动方法流程图;
图3示出了本申请实施例提供的一种异构处理器系统的结构示意图;
图4示出了本申请实施例提供的另一种异构处理器系统的结构示意图;
图5示出了本申请实施例提供的一种处理器启动装置的组成框图;
图6示出了本申请实施例提供的另一种处理器启动装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
本申请实施例提供了一种处理器启动方法,该方法应用于异构处理器系统中的协处理器,异构多处理器系统还包括主处理器。图1示出了本申请实施例提供的一种处理器启动方法流程图。如图1所示,该方法包括:
101、在异构处理器系统上电后,执行协处理器固件。
在本申请实施例中,在异构处理器系统上电后,主处理器处于等待状态,此时,协处理器需要获取协处理器固件,并执行协处理器固件;其中,协处理器只有在执行协处理器固件后,才可以控制主处理器安全启动。
102、获取主处理器对应的主处理器固件和主处理器固件对应的数字签名。
在本申请实施例中,协处理器在执行协处理器固件后,便可开始控制主处理器安全启动,此时,协处理器首先需要获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,以便后续对主处理器固件对应的数字签名进行验签处理,从而确定主处理器固件是否合法。
103、对数字签名进行验签处理。
在本申请实施例中,协处理器在获取得到主处理器固件和主处理器固件对应的数字签名后,便可对主处理器固件对应的数字签名进行验签处理,从而确定主处理器固件是否合法。
104、若验签成功,则对主处理器固件进行解密处理,以获得解密后的主处理器固件。
在本申请实施例中,当协处理器确定主处理器固件对应的数字签名验签成功,即确定主处理器固件合法时,协处理器便可对主处理器固件进行解密处理,从而获得解密后的主处理器固件。
需要进行说明的是,当协处理器确定主处理器固件对应的数字签名验签失败,即确定主处理器固件非法时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性;当协处理器对主处理器固件进行解密处理失败时,可以确定主处理器固件是非法的,此时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性。
105、通知主处理器执行解密后的主处理器固件。
在本申请实施例中,协处理器在确定主处理器固件合法,并获得解密后的主处理固件后,便可通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。
本申请实施例提供一种处理器启动方法,本申请实施例能够在异构处理器系统上电后,由协处理器控制主处理器安全启动,即协处理器先执行协处理器固件,再获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,并对主处理器固件对应的数字签名进行验签处理,以及当确定主处理器固件对应的数字签名验签成功时,对主处理器固件进行解密处理,从而获得解密后的主处理器固件,最后,通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。由于,当协处理器确定主处理器固件对应的数字签名验签失败或协处理器对主处理器固件进行解密处理失败时,协处理器可以确定主处理器固件是非法的,此时,协处理器会停止安全启动主处理器的操作,从而能够保证主处理器启动过程的安全性。
以下为了更加详细地说明,本申请实施例提供了另一种处理器启动方法,该方法应用于异构处理器系统中的协处理器,如图2所示,该方法包括:
201、在异构处理器系统上电后,执行协处理器固件。
其中,关于步骤201、在异构处理器系统上电后,执行协处理器固件,可以参考图1对应部分的描述,本申请实施例此处将不再赘述。
202、对第一存储器和第二存储器进行初始化处理。
其中,异构处理器系统中的第一存储器用于运行解密后的主处理器固件,异构处理器系统中的第二存储器用于存储主处理器固件和主处理器固件对应的数字签名。
在本申请实施例中,为了保证主处理器正常启动,协处理器在执行协处理器固件后,需要对主处理器对应的存储器进行初始化处理,即对第一存储器和第二存储器进行初始化处理。
203、获取主处理器对应的主处理器固件和主处理器固件对应的数字签名。
其中,关于步骤203、获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
204、对数字签名进行验签处理。
其中,异构处理器系统中的加密引擎中存储有预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法,异构处理器系统中的寄存器中存储有预置对称密钥算法对应的预置密钥和预置非对称密钥算法对应的预置公钥。
在本申请实施例中,协处理器在获取得到主处理器固件和主处理器固件对应的数字签名后,便可对主处理器固件对应的数字签名进行验签处理,从而确定主处理器固件是否合法。
需要进行说明的是,在实际应用过程中,需要预先根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和预设加密方式信息对主处理固件中的部分数据进行加密处理,以获得加密后的主处理器固件。再根据预置安全哈希算法对加密后的主处理器固件进行摘要计算处理,以获得加密后的主处理器固件对应的第一摘要信息。以及根据预置非对称密钥算法和预置非对称密钥算法对应的预置私钥对第一摘要信息和预设加密方式信息组成的明文进行加密处理,以获得加密后的主处理器固件对应的数字签名。最后,将加密后的主处理器固件和加密后的主处理器固件对应的数字签名存储至第二存储器中,并将预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法存储至加密引擎中,以及在物理隔离环境中将预置对称密钥算法对应的预置密钥和预置非对称密钥算法对应的预置公钥存储至寄存器中。
上述预设加密方式信息包括一个或多个加密位置点和每个加密位置点对应的加密数据量,加密位置点用于表明主处理器固件中进行加密的数据在主处理器固件中的位置,加密位置点对应的加密数据量用于表明该加密位置点处进行加密的数据的数据量大小。预置对称密钥算法可以为任意一种对称密钥算法,预置非对称密钥算法可以为任意一种非对称密钥算法,本申请实施例对此不进行具体限定。
需要进行说明的是,根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和预设加密方式信息对主处理固件中的部分数据进行加密处理,能够提高协处理器对加密后的主处理器固件进行解密处理时的解密速度,从而能够提高协处理器控制主处理器安全启动的启动速度。
具体的,在本步骤中,协处理器可以采用以下方式对主处理器固件对应的数字签名进行验签处理:
首先,获取预置非对称密钥算法和预置非对称密钥算法对应的预置公钥,即在加密引擎中获取预置非对称密钥算法,以及在寄存器中获取预置非对称密钥算法对应的预置公钥;
其次,根据预置非对称密钥算法和预置非对称密钥算法对应的预置公钥对获取得到的主处理器固件对应的数字签名进行解密处理,从而获得解密结果;需要进行说明的是,当协处理器对主处理器固件对应的数字签名进行解密处理失败时,可以确定获取得到的主处理器固件是非法的,此时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性;
再次,在解密获得的解密结果中提取主处理器固件对应的第一摘要信息和预设加密方式信息;
然后,在加密引擎中获取预置安全哈希算法,并根据获取得到的预置安全哈希算法对主处理器固件进行摘要计算处理,从而获得主处理器固件对应的第二摘要信息;
最后,判断第一摘要信息和第二摘要信息是否相同,若相同,则确定主处理器固件对应的数字签名验签成功,即确定主处理器固件合法,若不相同,则确定主处理器固件对应的数字签名验签失败,即确定主处理器固件非法,此时,协处理器需要停止安全启动主处理器的操作,从而保证主处理器启动过程的安全性。
205、若验签成功,则对主处理器固件进行解密处理,以获得解密后的主处理器固件。
在本申请实施例中,当协处理器确定主处理器固件对应的数字签名验签成功,即确定主处理器固件合法时,协处理器便可对主处理器固件进行解密处理,从而获得解密后的主处理器固件。
具体的,在本步骤中,协处理器可以采用以下方式对主处理器固件进行解密处理,以获得解密后的主处理器固件:
首先,获取预置对称密钥算法和预置对称密钥算法对应的预置密钥,即在加密引擎中获取预置对称密钥算法,以及在寄存器中获取预置对称密钥算法对应的预置密钥;
其次,根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和上述对主处理器固件对应的数字签名进行验签处理过程中获得的预设加密方式信息,对主处理器固件进行解密处理,从而获得解密后的主处理器固件;
需要进行说明的是,协处理器根据预设加密方式信息能够获知,预先根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和预设加密方式信息对主处理固件中的部分数据进行加密处理时,是对主处理器固件中的哪些数据进行加密处理,从而使得协处理器能够准确地对加密后的主处理器固件进行解密处理,获得解密后的主处理器固件。
206、通知主处理器执行解密后的主处理器固件。
在本申请实施例中,协处理器在确定主处理器固件合法,并获得解密后的主处理固件后,便可通知处于等待状态的主处理器开始执行解密后的主处理器固件,其具体过程为:先将解密后的主处理器固件加载至第一存储器中;再通知主处理器在第一存储器中执行解密后的主处理器固件,从而完成主处理器的安全启动。
本申请实施例还提供了一种异构处理器系统,如图3所示,该系统包括:主处理器1、协处理器2、加密模块3、第一存储器4、第二存储器5、第三存储器6和第四存储器7。
如图3所示,主处理器1、加密模块3、第一存储器4、第二存储器5、第三存储器6和第四存储器7分别连接于协处理器2;第一存储器4还连接于主处理器1。
其中,第一存储器4用于运行解密后的主处理器固件,第二存储器5用于存储主处理器固件和主处理器固件对应的数字签名,第三存储器6用于存储协处理器固件,第四存储器7用于存储协处理器2执行协处理器固件过程中需要使用的数据,加密模块3用于存储多种预置加密算法和相应的密钥。
其中,协处理器2用于根据上述处理器启动方法控制主处理器1安全启动,即协处理器2控制主处理器1安全启动的具体流程为:在异构处理器系统上电后,主处理器1处于等待状态,协处理器2从第三存储器6中获取协处理器固件。在执行协处理器固件后,协处理器2先从第二存储器5中获取主处理器固件和主处理器固件对应的数字签名,再对获取得到的数字签名进行验签处理。当确定数字签名验签成功时,协处理器2对主处理器固件进行解密处理,从而获得解密后的主处理器固件。随后再将解密后的主处理固件加载至第一存储器4中,以便第一存储器4运行解密后的主处理器固件。最后,协处理器2通知主处理器1在第一存储器4中执行解密后的主处理器固件,从而完成主处理器1的安全启动。
图4示出了本申请实施例提供的另一种异构处理器系统的结构示意图,图4与图3中的系统具备相同或类似功能的器件采用相同的标号,对于相同标号的器件本例不再详细说明,仅说明二者不同的部分。
如图4所示,加密模块3包括加密引擎31和寄存器32,加密引擎31和寄存器32分别连接于协处理器2。其中,加密引擎31用于存储预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法,寄存器32用于存储预置对称密钥算法对应的预置密钥和预置非对称密钥算法对应的预置公钥。
当协处理器2需要对主处理器固件对应的数字签名进行验签处理时,通过如下操作来完成验签处理:协处理器2首先需要在加密引擎31中获取预置非对称密钥算法和预置安全哈希算法,并在寄存器32中获取预置非对称密钥算法对应的预置公钥。然后,根据预置非对称密钥算法和预置非对称密钥算法对应的预置公钥对主处理器固件对应的数字签名进行解密处理,以获得解密结果。接着,在获得的解密结果中提取主处理器固件对应的第一摘要信息和预设加密方式信息。随后,根据预置安全哈希算法对主处理器固件进行摘要计算处理,以获得主处理器固件对应的第二摘要信息。最后,当判定第一摘要信息和第二摘要信息相同时,便可确定数字签名验签成功,当判定第一摘要信息和第二摘要信息不同时,便可确定数字签名验签失败。
当协处理器2需要对主处理器固件进行解密处理时,通过如下操作来完成验签处理:协处理器2首先需要从加密引擎31中获取预置对称密钥算法,并在寄存器32中获取预置对称密钥算法对应的预置密钥,然后根据预置对称密钥算法、预置对称密钥算法对应的预置密钥和上述对主处理器固件对应的数字签名进行验签处理过程中获得的预设加密方式信息,对主处理器固件进行解密处理,以获得主处理器固件;其中,预设加密方式信息包括一个或多个加密位置点和每个加密位置点对应的加密数据量,加密位置点用于表明主处理器固件中进行加密的数据在主处理器固件中的位置,加密位置点对应的加密数据量用于表明该加密位置点处进行加密的数据的数据量大小。
进一步的,在本实施例中,寄存器32为一次性编程(OTP,One Time Programming)寄存器,第一存储器4为双倍速率同步动态随机存储器(DDR SDRAM,Double Data RateSDRAM),第二存储器5为嵌入式多媒体卡(EMMC,Embedded Multi Media Card),第三存储器6为只读存储器(ROM,Read Only Memory),第四存储器7为静态随机存取存储器(SRAM,Static Random Access Memory)。
为了实现上述目的,根据本申请的另一方面,本申请实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的处理器启动方法。
为了实现上述目的,根据本申请的另一方面,本申请实施例还提供了一种处理器启动装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的处理器启动方法。
进一步的,作为对上述图1及图2所示方法的实现,本申请另一实施例还提供了一种处理器启动装置,该装置应用于上述异构处理器系统中的协处理器。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于提升异构处理器系统中的主处理器启动过程的安全性,具体如图5所示,该装置包括:
执行单元31,用于在所述异构处理器系统上电后,执行协处理器固件;
获取单元32,用于获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
验签单元33,用于对所述数字签名进行验签处理;
解密单元34,用于当验签单元33确定所述数字签名验签成功时,对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
通知单元35,用于通知所述主处理器执行所述解密后的主处理器固件。
进一步的,如图6所示,所述验签单元33包括:
第一获取模块331,用于获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
第一解密模块332,用于根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
提取模块333,用于在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
计算模块334,用于根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
判断模块335,用于判断所述第一摘要信息和所述第二摘要信息是否相同;
确定模块336,用于当所述判断模块335判定所述第一摘要信息和所述第二摘要信息相同时,确定所述数字签名验签成功。
进一步的,如图6所示,所述解密单元34包括:
第二获取模块341,用于获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
第二解密模块342,用于根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
进一步的,如图6所示,所述通知单元35包括:
加载模块351,用于将所述解密后的主处理器固件加载至第一存储器中;
通知模块352,用于通知所述主处理器在所述第一存储器中执行所述解密后的主处理器固件。
本申请实施例提供一种处理器启动方法、异构处理器系统及处理器启动装置,本申请实施例能够在异构处理器系统上电后,由协处理器控制主处理器安全启动,即协处理器先执行协处理器固件,再获取主处理器对应的主处理器固件和主处理器固件对应的数字签名,并对主处理器固件对应的数字签名进行验签处理,以及当确定主处理器固件对应的数字签名验签成功时,对主处理器固件进行解密处理,从而获得解密后的主处理器固件,最后,通知处于等待状态的主处理器开始执行解密后的主处理器固件,从而完成主处理器的安全启动。由于,当协处理器确定主处理器固件对应的数字签名验签失败或协处理器对主处理器固件进行解密处理失败时,协处理器可以确定主处理器固件是非法的,此时,协处理器会停止安全启动主处理器的操作,从而能够保证主处理器启动过程的安全性。
所述处理器启动装置包括处理器和存储器,上述执行单元、获取单元、验签单元、解密单元和通知单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提升异构处理器系统中的主处理器启动过程的安全性。
本申请实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的处理器启动方法。
存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例还提供了一种处理器启动装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的处理器启动方法。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
在所述异构处理器系统上电后,执行协处理器固件;
获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
对所述数字签名进行验签处理;
若验签成功,则对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
通知所述主处理器执行所述解密后的主处理器固件。
进一步的,所述对所述数字签名进行验签处理,包括:
获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
判断所述第一摘要信息和所述第二摘要信息是否相同;
若相同,则确定所述数字签名验签成功。
进一步的,所述对所述主处理器固件进行解密处理,以获得解密后的主处理器固件,包括:
获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
进一步的,所述通知所述主处理器执行所述解密后的主处理器固件,包括:
将所述解密后的主处理器固件加载至第一存储器中;
通知所述主处理器在所述第一存储器执行所述解密后的主处理器固件。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:在所述异构处理器系统上电后,执行协处理器固件;获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;对所述数字签名进行验签处理;若验签成功,则对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;通知所述主处理器执行所述解密后的主处理器固件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种处理器启动方法,其特征在于,所述方法应用于异构处理器系统中的协处理器,所述异构多处理器系统还包括主处理器,所述方法包括:
在所述异构处理器系统上电后,执行协处理器固件;
获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
对所述数字签名进行验签处理;
若验签成功,则对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
通知所述主处理器执行所述解密后的主处理器固件。
2.根据权利要求1所述的方法,其特征在于,所述对所述数字签名进行验签处理,包括:
获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
判断所述第一摘要信息和所述第二摘要信息是否相同;
若相同,则确定所述数字签名验签成功。
3.根据权利要求2所述的方法,其特征在于,所述对所述主处理器固件进行解密处理,以获得解密后的主处理器固件,包括:
获取预置对称密钥算法和所述预置对称密钥算法对应的预置密钥;
根据所述预置对称密钥算法、所述预置密钥和所述预设加密方式信息,对所述主处理器固件进行解密处理,以获得所述解密后的主处理器固件。
4.根据权利要求1所述的方法,其特征在于,所述通知所述主处理器执行所述解密后的主处理器固件,包括:
将所述解密后的主处理器固件加载至第一存储器中;
通知所述主处理器在所述第一存储器中执行所述解密后的主处理器固件。
5.一种异构处理器系统,其特征在于,所述系统包括:主处理器、协处理器、加密模块、第一存储器、第二存储器、第三存储器和第四存储器;
所述主处理器、所述加密模块、所述第一存储器、所述第二存储器、所述第三存储器和所述第四存储器分别连接于所述协处理器;
所述第一存储器还连接于所述主处理器;
其中,所述第一存储器用于运行解密后的主处理器固件,所述第二存储器用于存储主处理器固件和所述主处理器固件对应的数字签名,所述第三存储器用于存储协处理器固件,所述第四存储器用于存储所述协处理器执行所述协处理器固件过程中需要使用的数据,所述加密模块用于存储多种预置加密算法和相应的密钥,所述协处理器用于根据权利要求1至4中任一项所述的处理器启动方法控制所述主处理器安全启动。
6.根据权利要求5所述的系统,其特征在于,
所述加密模块包括加密引擎和寄存器;
所述加密引擎和所述寄存器分别连接于所述协处理器;
其中,所述加密引擎用于存储预置对称密钥算法、预置非对称密钥算法和预置安全哈希算法,所述寄存器用于存储所述预置对称密钥算法对应的预置密钥和所述预置非对称密钥算法对应的预置公钥。
7.一种处理器启动装置,其特征在于,所述装置应用于异构处理器系统中的协处理器,所述异构多处理器系统还包括主处理器,所述装置包括:
执行单元,用于在所述异构处理器系统上电后,执行协处理器固件;
获取单元,用于获取所述主处理器对应的主处理器固件和所述主处理器固件对应的数字签名;
验签单元,用于对所述数字签名进行验签处理;
解密单元,用于当所述验签单元确定所述数字签名验签成功时,对所述主处理器固件进行解密处理,以获得解密后的主处理器固件;
通知单元,用于通知所述主处理器执行所述解密后的主处理器固件。
8.根据权利要求7所述的装置,其特征在于,所述验签单元包括:
第一获取模块,用于获取预置非对称密钥算法和所述预置非对称密钥算法对应的预置公钥;
第一解密模块,用于根据所述预置非对称密钥算法和所述预置公钥对所述数字签名进行解密处理,以获得解密结果;
提取模块,用于在所述解密结果中提取所述主处理器固件对应的第一摘要信息和预设加密方式信息;
计算模块,用于根据预置安全哈希算法对所述主处理器固件进行摘要计算处理,以获得所述主处理器固件对应的第二摘要信息;
判断模块,用于判断所述第一摘要信息和所述第二摘要信息是否相同;
确定模块,用于当所述判断模块判定所述第一摘要信息和所述第二摘要信息相同时,确定所述数字签名验签成功。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任一项所述的处理器启动方法。
10.一种处理器启动装置,其特征在于,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1至4中任一项所述的处理器启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111518040.1A CN114201224B (zh) | 2021-12-13 | 2021-12-13 | 处理器启动方法、异构处理器系统及处理器启动装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111518040.1A CN114201224B (zh) | 2021-12-13 | 2021-12-13 | 处理器启动方法、异构处理器系统及处理器启动装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114201224A true CN114201224A (zh) | 2022-03-18 |
CN114201224B CN114201224B (zh) | 2024-04-12 |
Family
ID=80652927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111518040.1A Active CN114201224B (zh) | 2021-12-13 | 2021-12-13 | 处理器启动方法、异构处理器系统及处理器启动装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201224B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583189A (zh) * | 2018-12-13 | 2019-04-05 | 深圳忆联信息系统有限公司 | 固件安全加载方法、装置、计算机设备及存储介质 |
CN111984962A (zh) * | 2020-09-08 | 2020-11-24 | 英韧科技(上海)有限公司 | 固件安全验证方法及装置 |
-
2021
- 2021-12-13 CN CN202111518040.1A patent/CN114201224B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583189A (zh) * | 2018-12-13 | 2019-04-05 | 深圳忆联信息系统有限公司 | 固件安全加载方法、装置、计算机设备及存储介质 |
CN111984962A (zh) * | 2020-09-08 | 2020-11-24 | 英韧科技(上海)有限公司 | 固件安全验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114201224B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10878096B2 (en) | BIOS startup method and data processing method | |
US8533492B2 (en) | Electronic device, key generation program, recording medium, and key generation method | |
KR20140068867A (ko) | 부팅 프로세스 동안 구성요소들을 인증하기 위한 시스템 및 방법 | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
JP6391439B2 (ja) | 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム | |
US9262631B2 (en) | Embedded device and control method thereof | |
US20210367781A1 (en) | Method and system for accelerating verification procedure for image file | |
US10848305B2 (en) | Key generation information trees | |
EP2503482A1 (en) | Electronic device with flash memory component | |
CN110555309A (zh) | 启动方法、装置、终端以及计算机可读存储介质 | |
US11200065B2 (en) | Boot authentication | |
CN112835628A (zh) | 一种服务器操作系统引导方法、装置、设备及介质 | |
US11366911B2 (en) | Cryptography module and method for operating same | |
CN112181513A (zh) | 一种基于硬件板卡的控制操作系统引导的可信度量方法及系统 | |
WO2016101559A1 (zh) | 一种数据安全存取方法、装置和计算机存储介质 | |
WO2017034811A1 (en) | Secure computation environment | |
WO2018176707A1 (zh) | 一种嵌入式系统启动方法及装置、计算机存储介质 | |
CN114189862A (zh) | 无线终端及无线终端在Uboot模式下的接口访问鉴权方法 | |
CN114201224B (zh) | 处理器启动方法、异构处理器系统及处理器启动装置 | |
CN115357528B (zh) | 固态硬盘的密钥加密方法、密钥解密方法和安全防护系统 | |
CN103530169A (zh) | 虚拟机文件保护方法和用户终端 | |
CN113127262A (zh) | 镜像文件的生成方法、装置、电子设备及存储介质 | |
CN111639353B (zh) | 一种数据管理方法、装置、嵌入式设备及存储介质 | |
WO2016024967A1 (en) | Secure non-volatile random access memory | |
CN110990840A (zh) | 设备开机的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 101, floor 1, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing 100176 Applicant after: Beijing yisiwei Computing Technology Co.,Ltd. Address before: Room 101, floor 1, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing 100176 Applicant before: Beijing yisiwei Computing Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |