掌桥专利:专业的专利平台
掌桥专利
首页

安全启动方法、装置及相关器件

文献发布时间:2023-06-23 06:30:03


安全启动方法、装置及相关器件

技术领域

本发明实施例涉及安全技术领域,具体涉及一种安全启动方法、装置及相关器件。

背景技术

可信计算(Trusted Computing)是指计算运算的同时进行安全防护,使计算结果总是与预期一样,计算全程可测可控,不被干扰。可信计算克服了传统安全机制被动防御的缺陷,具有主动防御特性,在系统安全保护上具有明显的优势。可信平台模块(TrustedPlatform Module,TPM)是目前常用的可信计算的技术之一。然而,现有的采用TPM技术的可信计算系统及可信计算系统的启动流程并不能完全保证安全可信,可信计算系统的安全性还有待进一步提高。

发明内容

有鉴于此,本申请实施例提供一种安全启动方法、装置及相关器件,能够提高可信计算的安全性。

为实现上述目的,本申请实施例提供如下技术方案。

第一方面,本发明实施例提供一种安全启动方法,应用于处理器芯片,所述处理器芯片包括可信CPU核和计算CPU核,所述方法包括:

响应于预设的启动条件,所述可信CPU核加载运行第一引导加载程序,所述第一引导加载程序存储在位于所述处理器芯片内部的存储空间,所述预设的启动条件为所述可信CPU核先于所述计算CPU核上电;

对所述可信CPU核所需的第二引导加载程序进行可信度量,所述第二引导加载程序存储在位于所述处理器芯片外部的存储空间;

当所述第二引导加载程序的可信度量结果正常时,加载运行所述第二引导加载程序。

第二方面,本申请实施例还提供一种安全启动装置,应用于处理器芯片,所述处理器芯片包括可信CPU核和计算CPU核,所述装置包括:

第一加载模块,配置为响应于预设的启动条件,所述可信CPU核加载运行第一引导加载程序,所述第一引导加载程序存储在位于所述处理器芯片内部的存储空间,所述预设的启动条件为所述可信CPU核先于所述计算CPU核上电;

第一度量模块,配置为对所述可信CPU核所需的第二引导加载程序进行可信度量,所述第二引导加载程序存储在位于所述处理器芯片外部的存储空间;

第二加载模块,配置为当所述第二引导加载程序的可信度量结果正常时,加载运行所述第二引导加载程序。

第三方面,本申请实施例还提供一种处理器芯片,所述处理器芯片用于执行前述第一方面所述的安全启动方法。

第四方面,本申请实施例还提供一种存储介质,所述存储介质存储有实现前述第一方面所述的安全启动方法的程序。

本发明实施例提供的安全启动方法、装置及相关器件,所述方法应用于处理器芯片,所述处理器芯片包括可信CPU核和计算CPU核,通过响应于预设的启动条件,所述可信CPU核加载运行第一引导加载程序,所述第一引导加载程序存储在位于所述处理器芯片内部的存储空间,所述预设的启动条件为所述可信CPU核先于所述计算CPU核上电;对所述可信CPU核所需的第二引导加载程序进行可信度量,所述第二引导加载程序存储在位于所述处理器芯片外部的存储空间;当所述第二引导加载程序的可信度量结果正常时,加载运行所述第二引导加载程序。可以看出,本发明实施例提供的安全启动方法中,可信CPU核优先于计算CPU核启动,启动过程中经过多重的度量和验证,逐层递进,最终建立起整个计算系统的可信链,本发明实施例提供的安全启动方法可以充分保证计算系统启动的安全性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为一种可信计算系统的结构示意图;

图2为本发明一实施例提供的安全启动方法的流程图;

图3为本发明又一实施例提供的安全启动方法的流程图;

图4为本发明又一实施例提供的安全启动方法的流程图;

图5为本发明一实施例涉及的可信计算系统的结构示意图;

图6为本发明又一实施例涉及的可信计算系统的结构示意图;

图7为本发明一实施例涉及的可信计算系统中供电系统的结构示意图;

图8为本发明一实施例涉及的双方控制模式下密钥产生流程的示意图;

图9为本发明一实施例提供的双方控制模式下的安全启动方法的流程图;

图10为本发明一实施例涉及的用户控制模式下密钥产生流程的示意图;

图11为本发明一实施例提供的用户控制模式下的安全启动方法的流程图;

图12为本发明一实施例提供的安全启动装置的框图;

图13为本发明一实施例提供的计算机设备的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如背景技术所述,现有的可信计算系统及启动流程并不能完全保证安全可信。下面对现有的可信计算系统进行介绍。

参考图1,现有的可信计算架构采用TPM(Trusted Platform Module)技术,可信计算架构以位于主板50上的TPM芯片30作为物理可信根,为系统提供可信的基础。在上述架构中,中央处理器20是主板总线40上的主设备,TPM芯片30是主板总线40上的从设备,TPM芯片30从属于中央处理器20,可信计算系统从属于计算系统。

在现有的可信计算架构下,可信计算的整体启动流程是:中央处理器20读取基本输入输出系统(Basic Input Output System,BIOS)代码上电运行,初始化主板总线40以识别TPM芯片30,然后使能TPM芯片30。上述启动流程中,BIOS先于TPM芯片30启动,不能保证系统的可信安全。例如现有的CIH病毒、BIOS Bootkit病毒等能够通过修改BIOS破坏计算机系统或者窃取计算机系统中的敏感数据。

针对上述问题,本公开实施例的一个方面,提供了一种安全启动方法,应用于处理器芯片,所述处理器芯片包括可信CPU核和计算CPU核,所述方法包括:响应于预设的启动条件,所述可信CPU核加载运行第一引导加载程序,所述第一引导加载程序存储在位于所述处理器芯片内部的存储空间,所述预设的启动条件为所述可信CPU核先于所述计算CPU核上电;对所述可信CPU核所需的第二引导加载程序进行可信度量,所述第二引导加载程序存储在位于所述处理器芯片外部的存储空间;当所述第二引导加载程序的可信度量结果正常时,加载运行所述第二引导加载程序。

可以看出,本发明实施例提供的安全启动方法中,可信CPU核先于计算CPU核启动,启动过程中经过多重的度量和验证,逐层递进,最终建立起整个计算系统的可信链,本发明实施例提供的安全启动方法可以充分保证计算系统启动的安全性。

本申请实施例提供一种安全启动方法,图2示出了本申请实施例提供的安全启动方法的可选方法流程,该安全启动方法应用于处理器,所述处理器包括可信CPU核和计算CPU核。该安全启动方法由处理器执行,具体的,由处理器中的可信CPU核执行。

参考图2,所述安全启动方法可以包括:

步骤S200,响应于预设的启动条件,所述可信CPU核加载运行第一引导加载程序,所述第一引导加载程序存储在位于所述处理器芯片内部的存储空间,所述预设的启动条件为所述可信CPU核先于所述计算CPU核上电。

预设的启动条件的触发例如可以为所述处理器所属的计算机系统开启电源,计算机系统被上电,处理器中的可信CPU核也一同上电并且可信CPU核先于计算CPU核上电。例如在可信计算双体系架构中,可信CPU核被配置为总线上的主设备,具有总线的控制权,并且可信CPU核所属的可信计算子系统还可以控制计算子系统的上电,因此可以保证可信计算子系中的可信CPU核先于计算子系统中的计算CPU核上电。

当预设的启动条件出现后,可信CPU核加载运行第一引导加载程序,开始初始化。所述第一引导加载程序包含了可信CPU核启动所需的最基本代码。可信CPU核在加载了第一引导加载程序后,可以具备最基本的可信功能和校验基准值。

在一些实施例中,为了防止第一引导加载程序被篡改,该第一引导加载程序被存储在位于所述处理器芯片内部的存储空间,从而使得所述第一引导加载程序具有不可更改性,一经写入就不能被修改。第一引导加载程序也被称为片内引导加载程序(On-chip bootloader)。在一些实施例中,所述第一引导加载程序被存储在处理器芯片内的只读存储器(ROM)中,第一引导加载程序可以在处理器芯片的流片晶圆生产过程中被固化在处理器芯片内的ROM中,从而可以有效规避被篡改的可能性。

步骤S210,对所述可信CPU核所需的第二引导加载程序进行可信度量,所述第二引导加载程序存储在位于所述处理器芯片外部的存储空间。

第二引导加载程序也被称片外引导加载程序(Off-chip boot loader),可信CPU核在加载运行了第一引导加载程序后具备了最基本的可信功能和校验基准值,可信CPU核还需要通过进一步加载运行第二引导加载程序以使可信计算功能更加丰富和强大。

在一些实施例中,请参考图3,图3为本发明又一实施例提供的安全启动方法的流程图。

如图3所示,步骤S210对所述可信CPU核所需的第二引导加载程序进行可信度量可以进一步包括:

步骤S211,获取加密的第二引导加载程序,所述加密的第二引导加载程序第一对称密钥加密,存储在位于所述处理器芯片外部的存储空间。

在一些实施例中,所述加密的第二引导加载程序存储在位于处理器外部的存储空间,例如可以是闪存(Flash)存储器。在一些实施例中,所述加密的第二引导加载程序存储在可信CPU空间,所述可信CPU空间是专门被分配给所述可信CPU核使用的存储空间。

在一些实施例中,所述加密的第二引导加载程序可以是预先利用第一对称密钥MK进行加密。设计第一对称密钥MK的一个目的是在安全启动的流程上再添加一道防御的屏障;另一个目的是利用第一对称密钥MK可以控制CPU不同批次、OPN(Order Part Number)类型,不同类型CPU有不同的第一对称密钥MK,可使可信计算的安全得到更加细粒度的控制。

在一些实施例中,所述第一对称密钥MK设计为由CPU厂商或者物理可信根设计者(为叙述简单,后面统一为CPU厂商)提供并控制的SM4对称密钥,第一对称密钥MK在生成后被存储到CPU厂商的服务器。CPU厂商可以进一步对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK,具体的,例如可以调用SM4算法利用第二对称密钥EK对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK。

在其他一些实施例中,所述第一对称密钥MK设计为由用户提供并控制的SM4对称密钥,第一对称密钥MK在生成后被存储到用户的服务器。用户可以进一步对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK,具体的,例如可以调用SM4算法利用第二对称密钥EK对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK。

步骤S212,利用第一对称密钥MK对所述加密的第二引导加载程序进行解密,获得解密的第二引导加载程序。

在解密过程中,需要利用第一对称密钥MK对所述加密的第二引导加载程序进行解密。具体的,所述第一对称密钥MK的获取方法可以包括:

获取第二对称密钥EK,所述第二对称密钥EK利用密钥生成工具随机生成,存储在位于所述处理器芯片内部的存储空间。

第二对称密钥EK也被称为根密钥,用于其他密钥的加密和解密操作,能唯一标识物理可信根。第二对称密钥EK被保存在物理可信根里,不允许被导出物理可信根之外。第二对称密钥EK可以采用SM4对称密钥算法生成。

在一些实施例中,用户拿到的处理器芯片已固化有第二对称密钥EK,第二对称密钥EK由CPU厂商利用专门的SM4密钥工具随机生成,在CPU流片生产阶段就被固化在CPU内部的ROM里,一旦固化就不能被更改。在其他一些实施例中,用户拿到的处理器芯片不包含第二对称密钥EK,第二对称密钥EK由用户利用CPU厂商提供的烧录工具烧录到处理器芯片的一次性熔丝可编程存储器(eFuse)中,eFuse具有一次性可编程的特点,该烧录操作针对每一个芯片只能实施一次,烧录完成之后芯片里面的数据不可更改。

获取存储在所述处理器芯片外部的加密的第一对称密钥ENC_MK。

加密的第一对称密钥ENC_MK可以由CPU厂商生成,也可以由用户生成。在一些实施例中,第一对称密钥MK设计为由CPU厂商提供,CPU厂商可以进一步对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK,例如可以调用SM4算法利用第二对称密钥EK对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK。在其他一些实施例中,第一对称密钥MK设计为由用户提供,用户可以进一步对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK,例如可以调用SM4算法利用第二对称密钥EK对第一对称密钥MK进行加密,生成加密的第一对称密钥ENC_MK。

加密的第一对称密钥ENC_MK生成后被存储在所述处理器芯片外部,例如存储在位于处理器外部的存储空间,例如可以是闪存等存储器。在一些实施例中,加密的第一对称密钥ENC_MK存储在可信CPU空间,所述可信CPU空间是专门被分配给所述可信CPU核使用的存储空间。作为一种示例,在可信计算双体系架构中,加密的第一对称密钥ENC_MK被存储在第二存储器600的第二可信CPU空间。

利用所述第二对称密钥EK解密所述加密的第一对称密钥ENC_MK,获得所述第一对称密钥MK。

请继续参考图3,步骤S213,获取第二引导加载程序数字签名,所述第二引导加载程序数字签名利用第一私钥签名生成,存储在位于所述处理器芯片外部的存储空间。

第二引导加载程序数字签名被存储在所述处理器芯片外部,例如存储在位于处理器外部的存储空间,例如可以是闪存等存储器。在一些实施例中,第二引导加载程序数字签名存储在可信CPU空间。

所述第二引导加载程序数字签名利用第一私钥PriK_SM2对第二引导加载程序的哈希值进行签名,并在后续步骤中利用与所述第一私钥PriK_SM2相匹配的第一公钥PubK_SM2进行验签。

在一些实施例中,第一私钥PriK_SM2以及第一公钥PubK_SM2可以利用非对称加密算法生成。所述非对称加密算法可以为国家密码局发布的国密算法,例如SM2算法;所述非对称加密算法也可以为国际商用密码算法,例如RSA、DSA、ECDSA、Rabin、DH、ECC、ECDH等加密算法。

以下以SM2算法为例对第一私钥PriK_SM2以及第一公钥PubK_SM2的产生过程进行说明。

在一些实施例中,第一私钥PriK_SM2以及第一公钥PubK_SM2由CPU厂商生成,具体的,CPU厂商利用签名公私钥生成工具随机生成一对签名公私钥对。其中,签名私钥PriK_SM2被保存在CPU厂商采用物理隔离的安全服务器内,用于固件的签名服务;签名公钥PubK_SM2用于签名的验签服务,被烧录进可信CPU空间。

在一些实施例中,第一私钥PriK_SM2以及第一公钥PubK_SM2由用户生成,具体的,用户使用CPU厂商提供的签名公私钥生成工具随机生成一对签名公私钥对。其中,签名私钥PriK_SM2被保存在用户采用物理隔离的安全服务器内,用于固件的签名服务;签名公钥PubK_SM2用于签名的验签服务,被烧录进可信CPU空间。由于密钥的生成和烧录过程完全由用户控制,CPU厂商不知道任何密钥相关的信息,所以对于用户来说具有极高的安全性。在密钥对生成后,用户可以使用定制的密钥对处理器芯片固件进行加密和签名操作,将加密签名之后的固件烧录到芯片对应的存储空间中,例如外部闪存中。在后续芯片启动过程中,该处理器芯片只能使用用户烧录的密钥进行安全启动。

步骤S214,利用与所述第一私钥相匹配的第一公钥对所述第二引导加载程序数字签名进行验签。

所述第一公钥PubK_SM2存储在位于处理器外部的存储空间,例如,存储在可信CPU空间。

在一些实施例中,利用与所述第一私钥PriK_SM2相匹配的第一公钥PubK_SM2对所述第二引导加载程序数字签名进行验签的步骤之前,还需要对获取到的第一公钥PubK_SM2进行验证,具体的,对所述第一公钥PubK_SM2进行验证可以包括:

获取存储在所述处理器芯片外部的所述第一公钥PubK_SM2;

计算所述第一公钥PubK_SM2的哈希值;

将所述第一公钥PubK_SM2的哈希值与预先存储在所述处理器芯片内部的预留哈希值HASH_PubK_SM2进行比对;当所述第一公钥的哈希值与所述预留哈希值HASH_PubK_SM2一致时,所述第一公钥PubK_SM2的验证结果为正常,可以进而利用第一公钥PubK_SM2对第二引导加载程序数字签名进行验签;当所述第一公钥的哈希值与所述预留哈希值HASH_PubK_SM2不一致时,可信CPU核终止启动过程,并可以提示报警。

所述预留哈希值HASH_PubK_SM2被固化在位于所述处理器芯片内部的只读存储器或一次性熔丝可编程存储器中。

第一公钥PubK_SM2的哈希值可以利用杂凑算法计算获得,作为一种示例,可信CPU调用国密杂凑算法SM3引擎计算第一公钥PubK_SM2的哈希值。

在一些实施例中,利用与所述第一私钥PriK_SM2相匹配的第一公钥PubK_SM2对所述第二引导加载程序数字签名进行验签包括:计算解密的第二引导加载程序的哈希值;以及将解密的第二引导加载程序的哈希值与第二引导加载程序数字签名中的哈希值进行对比,当两个哈希值相等时,可以判定所述第二引导加载程序没有被篡改,可信CPU核可以继续执行后续步骤,当两个哈希值不相等时,所述第二引导加载程序遭到了篡改,可信CPU核终止启动过程,并可以提示报警。

在一些实施例中,解密的第二引导加载程序的哈希值可以利用杂凑算法计算获得,所述杂凑算法可以为国家密码局发布的国密算法,例如SM3算法;所述杂凑算法也可以为国际商用密码算法,例如MD5、SHA-1、SHA-2等密码算法。作为一种示例,利用国密杂凑算法SM3计算解密的第二引导加载程序的哈希值。

请参考图2,步骤S220,当所述第二引导加载程序的可信度量结果正常时,加载运行所述第二引导加载程序。

当所述第二引导加载数据的可信度量结果正常时,加载运行所述第二引导加载程序,当所述第二引导加载数据的可信度量结果异常时,可信CPU核终止启动过程,并可以提示报警。

在一些实施例中,参照图4,图4为本发明又一实施例提供的安全启动方法的流程图。

如图所示,步骤S220加载运行所述第二引导加载程序之后,还可以进一步包括:

步骤S230,对所述计算CPU核所需的BIOS进行可信度量,所述BIOS存储在位于所述处理器芯片外部的存储空间。

在一些实施例中,对所述计算CPU核所需的BIOS进行可信度量可以进一步包括:

获取BIOS镜像文件。

所述BIOS镜像文件存储在位于处理器外部的存储空间,例如可以是闪存等存储器。在一些实施例中,BIOS镜像文件存储在计算CPU空间,所述计算CPU空间是专门被分配给所述计算CPU核使用的存储空间。作为一种示例,在可信计算双体系架构中,BIOS镜像文件被存储在第二存储器600的第二计算CPU空间。

获取BIOS数字签名,所述BIOS数字签名利用第二私钥UK_Pri签名。

所述BIOS数字签名存储在位于处理器外部的存储空间,可以是闪存等存储器。在一些实施例中,BIOS数字签名存储在计算CPU空间。作为一种示例,在可信计算双体系架构中,BIOS数字签名被存储在第二存储器600的第二计算CPU空间。

所述BIOS数字签名利用第二私钥UK_Pri进行签名,并在后续步骤中利用与所述第二私钥UK_Pri相匹配的第二公钥UK_Pub进行验签。

在一些实施例中,第二私钥UK_Pri以及第二公钥UK_Pub可以利用非对称加密算法生成。所述非对称加密算法可以为国家密码局发布的国密算法,例如SM2算法;所述非对称加密算法也可以为国际商用密码算法,例如RSA、DSA、ECDSA、Rabin、DH、ECC、ECDH等加密算法。

以下以SM2算法为例对第二私钥UK_Pri以及第二公钥UK_Pub的产生过程进行说明。

在一些实施例中,第二私钥UK_Pri以及第二公钥UK_Pub由用户生成,具体的,签名公私钥对设计为由用户提供并控制的SM2非对称密钥,用于签名验签用户的BIOS。

其中,第二公钥UK_Pub提供给CPU厂商,通过SM4算法使用MK密钥加密生成ENC_UK_Pub,最后被烧录进SPI flash。

利用与所述第二私钥UK_Pri相匹配的第二公钥UK_Pub对所述BIOS数字签名进行验签。

步骤S240,当所述BIOS的可信度量结果正常时,指示所述计算CPU核加载运行所述BIOS。

参考图5和图7,在一个可选的示例中,本申请实施例提供安全启动方法可以由图5所示的基于双体系架构的处理器芯片执行。

所述可信计算双体系架构100包括:计算子系统200、可信计算子系统300以及总线400。其中,所述计算子系统200、可信计算子系统300分别与总线400连接,并且所述计算子系统200、可信计算子系统300均可以作为总线400上的主设备,拥有所述总线400的控制权。在一些实施例中,所述可信计算双体系架构100还可以进一步包括:可编程存储器410、总线控制器420、第一存储控制器430以及第二存储控制器440。

所述计算子系统200作为所述可信计算双体系架构100中的运算和控制核心,是数据处理、程序运行的最终执行单元。

参考图6,所述计算子系统200包括:计算CPU核210,计算CPU核210用于解释计算机指令以及处理计算机软件中的数据。所述计算子系统200可以包括多个计算CPU核210。

在一些实施例中,所述计算子系统200还可以进一步包括:芯片组220、硬盘230以及其他硬件组件,所述计算CPU核210与所述芯片组220、硬盘230以及其他硬件组件一同形成计算子系统200的硬件环境。在一些实施例中,所述计算子系统200还可以进一步包括运行于所述硬件环境的操作系统和应用软件。

所述可信计算子系统300基于固化在所述可信计算子系统300内部的物理可信根310,使用标准密码算法,对所述计算子系统200进行度量验证。所述可信计算子系统300具有独立于计算子系统200的软件和硬件资源,可以根据可信策略主动访问、测量和控制所述计算子系统200的资源。

所述可信计算子系统300进一步包括:可信CPU核311、密钥生成器312、密码算法引擎313、真随机数产生器314、只读存储器315、内部存储器316。其中,密钥生成器312、密码算法引擎313、真随机数产生器314可以被可信CPU核311调用。密码算法可以采用中国国家密码局发布的非对称算法SM2、杂凑算法SM3和对称算法SM4,或者国际上的RSA算法、SHA算法、AES算法。可信CPU核311、密钥生成器312、密码算法引擎313、真随机数产生器314、只读存储器315、内部存储器316一同作为可信计算子系统300的物理可信根310,物理可信根310是所述可信计算双体系架构100的可信源点,是执行相关可信操作的核心硬件模块。

在一些实施例中,所述可信计算双体系架构100中的至少部分模块被集成在同一芯片内。在一些实施例中,总线400以及连接在所述总线400上的计算子系统200、可信计算子系统300被集成在同一芯片内,使得所述可信计算子系统300与所述计算子系统200形成紧密联系的、难以分割的整体。通过将可信计算子系统300与计算子系统200集成在同一个芯片内,可以避免由于可信计算子系统300外置暴露在主板上而被移除绕过,以及可以避免主板上的总线400信号被监听,从而可以提高可信计算双体系架构100的整体安全性能。

作为一种示例,参考图6,所述可信计算子系统300中的作为物理可信根310的可信CPU核311、密钥生成器312、密码算法引擎313、真随机数产生器314、只读存储器315、内部存储器316以及所述计算子系统200中的计算CPU核210被集成在一片晶圆上,经过封装后形成处理器芯片10。具体的,所述可信计算子系统300的物理可信根310作为集成在处理器芯片10内部的一个IP模块,计算子系统200的计算CPU核210作为集成在处理器芯片10内部的另一个IP模块,上述两个IP模块深度融合绑定,设置在一个晶圆上,并被封装形成处理器芯片10。

在一些实施例中,所述可信CPU核311、密钥生成器312、密码算法引擎313、真随机数产生器314被集成在所述物理可信根310内,所述物理可信根310进一步集成在所述处理器芯片10内,从而可以避免由于物理可信根310外置而导致的信号监听或者移除,提高可信计算双体系架构100的整体安全性能。

在一些实施例中,所述可信计算子系统300进一步包括各种可信软件。所述可信软件被存储在由可信计算子系统300所独立拥有的存储空间之中。在一些实施例中,可信计算子系统300采用分层存储的策略存储所述可信计算子系统300所需的代码和/或数据,所述代码和/或数据例如为所述可信计算子系统300的引导代码、各种可信软件等。

在一些实施例中,可信计算子系统300采用独立且分层的存储体系。作为一种示例,可以根据存储器与封装后的处理器芯片10的相对位置,将所述存储体系分为片内存储空间以及片外存储空间。其中,片内存储空间位于处理器芯片10内部,可以包括:只读存储器315、内部存储器316;片外存储空间位于处理器芯片10外部,可以包括:第一可信CPU空间、第二可信CPU空间。所述只读存储器315、内部存储器316被集成在所述处理器芯片10内,可以避免由于存储器件外置而导致的信号监听或者移除,提高可信计算双体系架构100的整体安全性能。独立且分层的存储体系可以使可信CPU核311在拥有属于自己的独立资源的同时,又拥有权限和能力可以访问包括计算子系统200在内的所有资源,为主动度量和验证整个计算机系统提供了基础。

所述只读存储器315位于所述物理可信根310的内部,用于存储可信CPU核311启动所需的最为基本的代码、根密钥、基准值中的至少一种。只读存储器315存储的内容一旦固化就具有不可更改性,可以有效规避内容被篡改,保证可信CPU核311的可信赖性,规避目前TPM可信技术中BIOS易被篡改的缺点。在一些实施例中,所述只读存储器315例如可以为ROM(Read-Only Memory)。在一些实施例中,ROM被集成在所述处理器芯片10内,ROM的容量通常较小,通常在几十千字节(Kbytes)的规模,因此ROM中优先存储一些最为必要的代码和数据,例如片内引导加载程序(On-chip boot loader)。可信CPU核311所需的其他代码和数据,例如片外引导加载程序(Off-chip boot loader)可以被存储在位于处理器芯片10外部的存储空间,例如被存储在SPI总线的Flash存储器。

所述内部存储器316位于所述物理可信根310的内部,可以作为所述可信CPU核311的“内存”,所述内部存储器316可以用于加载运行片外引导加载程序的代码、存放计算过程中的程序和数据等,以提高可信计算的性能和效率。在一些实施例中,所述内部存储器316例如可以为静态随机存取存储器(Static Random-Access Memory,SRAM),SRAM读取速度快且占用物理空间较小,适合集成在芯片的内部,SRAM中存储的内容掉电后会消失。

在一些实施例中,所述可信计算子系统300还配置有片外存储空间,所述片外存储空间被设置在处理器芯片10的外部,用于存储可信计算所需的最基本的代码之外的代码和/或数据,例如用于存储片外引导加载程序。

作为一种示例,所述片外存储空间可以进一步包括:第一可信CPU空间、第二可信CPU空间。其中,第一可信CPU空间例如为第一存储器500,用于运行可信计算子系统300的监控度量程序、暂时存放监控度量值等,第二可信CPU空间例如为第二存储器600,用于存储片外引导加载程序代码、密钥、基准值等。

所述总线400用于连接可信计算双体系架构100内部的各个功能模块,作为各种功能模块之间传送信息的公共通信干线。可信CPU核311、计算CPU核210、可编程存储器410、总线控制器420、第一存储控制器430以及第二存储控制器440等模块分别连接到所述总线400上。

所述总线400支持多主多从模式,其中,可信CPU核311、计算CPU核210被配置为主设备,拥有所述总线400的控制权,第一存储控制器430以及第二存储控制器440被配置为从设备,作为主设备的可信CPU核311、计算CPU核210能够访问作为从设备的第一存储控制器430、第二存储控制器440。

在一些实施例中,总线400以及连接到所述总线400上的可信CPU核311、计算CPU核210、可编程存储器410、总线控制器420、第一存储控制器430、第二存储控制器440被集成在所述处理器芯片10内。总线400可以采用内部高速互联总线(High-speed Internal Bus,HSIB),从而实现更快的读取速度。内部高速互联总线可以采用AXI(Advanced eXtensibleInterface)总线。

在一些实施例中,所述可信计算双体系架构100可以进一步包括:总线控制器420,总线控制器420用于管理总线系统资源,实现总线协议规定的任务。需要说明的是,所述总线400可以根据实际情况采用相应的协议,可以采用现有的总线协议,也可以采用根据用户制定的总线协议。实施例中涉及的SPI总线可以根据实际情况更换为LPC总线等。

所述可信计算双体系架构100还包括:第一存储控制器430,用于控制第一存储器500以及负责第一存储器500与可信CPU核311、计算CPU核210之间数据交换。所述第一存储器500例如可以为内存,第一存储器500通过内存总线与所述第一存储控制器430连接。所述第一存储控制器430所对应的内存地址空间被分为两部分,分别为:第一可信CPU空间和第一计算CPU空间。其中,第一可信CPU空间被分配给可信CPU核311使用,并对计算CPU核210采取硬件屏蔽,使计算CPU核210无权访问第一可信CPU空间。第一可信CPU空间被用来运行可信计算子系统300的监控度量软件、暂时存放监控度量值。第一计算CPU空间被分配给计算CPU核210使用。可以看出,计算CPU核210无权访问可信CPU核311的内存资源,使得可信CPU核311的内存资源能够隔离于计算CPU核210,同时可信CPU核311可以访问整个第一存储控制器430的地址空间,既包括可信CPU核311自身对应的内存资源,也包括计算CPU核210对应的内存资源。上述总线的拓扑结构保证了可信CPU核311既拥有属于自己的独立资源,又拥有权限和能力访问包括计算CPU核210在内的所有资源,为主动度量和验证整个计算机系统提供了基础。

作为一种示例,从内存地址首地址开始的一小段地址空间被作为第一可信CPU空间映射分配给可信CPU核311使用,剩下的内存空间被作为第一计算CPU空间映射分配给计算CPU核210使用。

所述可信计算双体系架构100还包括:第二存储控制器440,用于控制第二存储器600以及负责第二存储器600与可信CPU核311、计算CPU核210之间数据交换。所述第二存储器600例如可以为Flash存储器,Flash存储器可以通过SPI总线与所述第二存储控制器440连接。类似于所述第一存储控制器430,第二存储控制器440所对应的地址空间也被分为两部分,分别为:第二可信CPU空间和第二计算CPU空间。其中,第二可信CPU空间被分配给可信CPU核311使用,第二可信CPU空间用来存储片外引导加载程序、密钥、基准值等中的至少一种;第二计算CPU空间被分配给计算CPU核210使用,具体的,被分配给计算CPU核210的BIOS所用,用于存储计算CPU核210的BIOS。上述总线的拓扑结构保证了可信CPU核311既拥有属于自己的独立资源,又拥有权限和能力可以访问包括计算CPU核210在内的所有资源,为主动度量和验证整个计算机系统提供了基础。

作为一种示例,从首地址开始的一小段地址空间被作为第二可信CPU空间映射分配给可信CPU核311使用,剩下的地址空间被作为第二计算CPU空间映射分配给计算CPU核使用。

在总线400上,可信CPU核311和计算CPU核210分别拥有相应的ID(Identity),在硬件逻辑里对各个ID赋予对应的访问权限,从而可以达到访问不同地址空间域的目的,在可信计算子系统300与计算子系统200之间建立安全隔离机制,保证可信计算的安全性。

在一些实施例中,所述可信计算双体系架构100可以进一步包括:可编程存储器410。所述可编程存储器410例如可以为一次性熔丝可编程存储器(eFuse),eFuse可以实现芯片上编程,并且具有一次性可编程的特点,eFuse的烧录操作只能实施一次,烧录完成之后eFuse的数据不可更改。在晶圆探测阶段、封装阶段、客户使用阶段都可以进行一次性的编程。在一些实施例中,可编程存储器410利用一次性编程的方式存储密钥,实现客户密钥的定制化需求。在其他一些实施例中,所述可编程存储器410还可以实现存储芯片ID、修改芯片缺陷、使能新功能的目的。

在一些实施例中,所述可信计算子系统300还用于控制所述计算子系统200的上电运行,以确保计算子系统200在可信计算子系统300初始化之后上电工作。

参考图7,在一些实施例中,计算子系统200与可信计算子系统300分别设置在不同的电源域中,其中,可信计算子系统300设置在第一电源域711,计算子系统200设置在第二电源域721,第一电源域711通过第一电压调节模块710连接到电源700,第二电源域721通过第二电压调节模块720连接到电源700,并且第二电压调节模块720的使能端与可信计算子系统300连接,接受可信计算子系统300发出的供电使能信号的控制。

所述可信计算双体系架构100启动后,可信计算子系统300所在的第一电源域711先于计算子系统200所在的第二电源域721上电,可信计算子系统300成功启动后,可信计算子系统300通过供电使能信号控制计算子系统200上电,进而执行可信计算引导过程。

参考图8和图9,作为一种示例给出了在CPU厂商和用户双方控制模式下的安全启动方法。此种模式下,CPU厂商和用户双方分权联合控制密钥。

参考图8,CPU厂商端,具体的例如CPU厂商的专门保密员,使用专门的密钥生成工具在隔离内网的安全服务器上进行密钥生成、签名加密等操作。例如调用SM4密钥生成工具生成第一对称密钥MK、第二对称密钥EK;调用SM2密钥生成工具生成签名公私钥对:第一公钥PubK_SM2、第一私钥PriK_SM2;调用SM4密码算法生成被第二对称密钥EK加密的第一对称密钥ENC_MK;调用SM3密码算法生成第一公钥PubK_SM2的哈希值HASH_PubK_SM2。上述各项密钥在CPU流片前生成,其中第二对称密钥EK和第一公钥PubK_SM2的哈希值HASH_PubK_SM2在CPU流片晶圆生产过程中固化在CPU芯片内的ROM里,第一对称密钥MK、第一私钥PriK_SM2被保存在CPU厂商的安全服务器里,加密的第一对称密钥ENC_MK和第一公钥PubK_SM2被烧录在芯片外部的存储空间,例如闪存SPI flash里。

生成可信CPU核运行所需的第二引导加载程序(Off-chip boot loader)镜像(image)文件,利用SM3密码算法生成第二引导加载程序镜像文件的哈希值,并用第一私钥PriK_SM2对所述哈希值进行签名,生成第二引导加载程序签名(signature)文件。利用第一对称密钥MK对第二引导加载程序镜像文件进行加密,生成加密的第二引导加载程序镜像文件。第二引导加载程序镜像文件、第二引导加载程序签名文件、加密的第一对称密钥ENC_MK、第一公钥PubK_SM2和加密的第二公钥ENC_UK_Pub通过安全途径发给用户端,例如通过CPU厂商的合规人员审核批准后,通过专门IT运维人员从隔离内网拷贝到外网通过专用的路径发给用户端。用户端后续将上述文件以及用户的BIOS镜像(image)文件烧录到SPIflash。

用户端,具体的例如用户的专门保密员,在隔离内网的安全服务器上,使用SM2密钥生成工具随机生成签名公私钥对:第二公钥UK_Pub和第二私钥UK_Pri。其中第二公钥UK_Pub通过安全途径提供给CPU厂商端,例如经过审核申请,通过合规人员的审批后,由专门的IT运维人员从隔离内网拷贝到外网,通过专门的路径提交给CPU厂商端。CPU厂商端利用第一对称密钥MK加密生成加密的第二公钥ENC_UK_Pub。BIOS镜像文件利用SM3密码算法生成哈希值,再用第二私钥UK_Pri进行签名,生成BIOS签名(signature)文件。BIOS镜像文件、BIOS签名文件经过严格的管理流程从内网拷贝到外网,烧录在闪存SPI flash里。由于用户的上述密钥、代码文件是烧录在闪存SPI flash里,而不是固化在CPU内部,所以可以在CPU流片后、设计主板时进行相应的操作。

作为一种示例,参考图9,基于CPU厂商和用户双方控制模式的安全启动流程如下:

1)读取代码并启动;具体的,计算机系统上电,可信CPU核读取固化在物理可信根的ROM里的第一引导加载程序(On-chip boot loader),开始初始化;

2)读取第一公钥;具体的,可信CPU核读取闪存SPI flash里的第一公钥PubK_SM2;

3)读取预留哈希值;具体的,可信CPU核读取固化在ROM的预留哈希值HASH_PubK_SM2;

4)可信CPU核调用SM3加密算法引擎计算第一公钥PubK_SM2的哈希值,并和固化在ROM的预留哈希值HASH_PubK_SM2值对比,如果相等则继续进行下一步,否则可信CPU核终止启动过程并可提示报警;

5)读取第二对称密钥;具体的,可信CPU核从ROM里读取第二对称密钥EK;

6)读取加密的第一对称密钥;具体的,可信CPU核从闪存SPI flash里读取加密的第一对称密钥ENC_MK;

7)利用SM4加密算法引擎,利用第二对称密钥EK解密加密的第一对称密钥ENC_MK,得到第一对称密钥MK;具体的,可信CPU核调用SM4加密算法引擎,利用第二对称密钥EK解密加密的第一对称密钥ENC_MK,得到第一对称密钥MK;

8)读取加密的第二引导加载程序;具体的,可信CPU核从闪存SPI flash里读取加密的第二引导加载程序(Off-chip boot loader)数据;

9)读取第二引导加载程序数字签名;具体的,可信CPU核从闪存SPI flash里读取第二引导加载程序数字签名;

10)调用SM4加密算法引擎,用第一对称密钥MK解密加密的第二引导加载程序,以及调用SM3加密算法引擎计算哈希值;使用第一公钥PubK_SM2验签第二引导加载程序数字签名;将两个哈希值对比,如果相等则继续进行下一步;具体的,可信CPU核调用SM4加密算法引擎,利用第一对称密钥MK解密加密的第二引导加载程序,以及调用SM3加密算法引擎计算哈希值;使用第一公钥PubK_SM2调用SM2加密算法引擎验签第二引导加载程序数字签名(被第一私钥PriK_SM2签名),解密出第二引导加载程序数字签名中的哈希值;将两个哈希值对比,如果相等则继续进行下一步,否则可信CPU核终止启动过程并可提示报警;

11)加载执行第二引导加载程序;具体的,可信CPU核加载执行第二引导加载程序;

12)读取加密的第二公钥;具体的,可信CPU核从闪存SPI flash里读取加密的第二公钥ENC_UK_Pub;

13)调用SM4加密算法引擎,用第一对称密钥MK解密加密的第二公钥ENC_UK_Pub,得到第二公钥UK_Pub;具体的,可信CPU核调用SM4加密算法引擎,用第一对称密钥MK密钥解密加密的第二公钥ENC_UK_Pub,得到第二公钥UK_Pub;

14)读取BIOS镜像数据;具体的,可信CPU核从闪存SPI flash里读取BIOS镜像数据;

15)读取BIOS签名;具体的,可信CPU核从闪存SPI flash里读取BIOS签名文件;

16)调用SM3加密算法引擎计算BIOS镜像数据的哈希值;使用第二公钥UK_Pub验签BIOS的数字签名;将两个哈希值对比,如果相等则继续进行下一步;具体的,可信CPU核调用SM3加密算法引擎计算BIOS镜像数据的哈希值;使用第二公钥UK_Pub调用SM2加密算法引擎验签BIOS签名文件(被用户的第二私钥UK_Pri签名),解密出BIOS签名中的哈希值;将两个哈希值对比,如果相等则继续进行下一步,否则可信CPU核终止启动过程并可提示报警。

计算CPU核加载BIOS进行启动,在成功经过以上可信引导、验证的流程后,表明BIOS是可信的,于是计算CPU核可以开始加载BIOS进行启动。

参考图10和图11,作为一种示例给出了一种在用户控制模式下的安全启动方法。此种模式下,用户完全控制所有的密钥,对于那些对保密等级要求非常高、非常严格的用户来说,此种方式增强了安全性。

参考图10,CPU生产出来之后交给用户,用户端,具体的例如用户的专门保密员,使用CPU厂商提供的专门密钥生成工具在隔离内网的安全服务器上进行密钥生成、签名加密等操作。例如,调用SM4密钥生成工具生成第一对称密钥MK、第二对称密钥EK;调用SM2密钥生成工具生成签名公私钥对:第一公钥PubK_SM2、第一私钥PriK_SM2;调用SM4密码算法生成被第二对称密钥EK加密的第一对称密钥ENC_MK;调用SM3密码算法生成第一公钥PubK_SM2的哈希值HASH_PubK_SM2。以及使用CPU厂商提供的Fuse烧录工具将第二对称密钥EK和第一公钥PubK_SM2的哈希值HASH_PubK_SM2烧录在eFuse中,以及将加密的第一对称密钥ENC_MK和第一公钥PubK_SM2烧录在芯片外部的存储空间,例如SPI flash里。

CPU厂商将可信CPU核运行所需的第二引导加载程序(Off-chip boot loader)生成镜像(image)文件并提供给用户。用户利用CPU厂商提供的SM3密码算法生成第二引导加载程序镜像文件的哈希值,并用第一私钥PriK_SM2对所述哈希值进行签名,生成第二引导加载程序签名(signature)文件。利用第一对称密钥MK对第二引导加载程序镜像文件进行加密,生成加密的第二引导加载程序镜像文件。

用户端,具体的例如用户的专门保密员,使用用户自身的密钥生成工具调用SM2密钥生成工具随机生成签名公私钥对:第二公钥UK_Pub和第二私钥UK_Pri。用户端使用CPU厂商提供的SM4加密算法利用第一对称密钥MK加密生成加密的第二公钥ENC_UK_Pub。用户端利用自身的SM3加密算法对BIOS镜像文件生成哈希值,再用第二私钥UK_Pri进行签名,生成BIOS签名(signature)文件,并烧录到SPI flash里。用户端将第二引导加载程序镜像文件、BIOS镜像文件烧录到SPI flash里。

此种模式下,第一对称密钥MK、第一私钥PriK_SM2、第二公钥UK_Pub、第二私钥UK_Pri被保存在用户的安全服务器里。第二引导加载程序签名文件、第二引导加载程序镜像文件、加密的第一对称密钥ENC_MK、第一公钥PubK_SM2、加密的第二公钥ENC_UK_Pub、第二公钥UK_Pub、BIOS镜像文件、BIOS签名文件通过经过严格的管理流程从内网拷贝到片外存储器中,例如经过用户的合规人员审核批准后,再通过专门IT运维人员从隔离内网拷贝到外网,然后再烧录到在SPI flash里。

作为一种示例,参考图11,基于用户控制模式的安全启动流程如下:

1)读取代码并启动;具体的,计算机系统上电,可信CPU核读取固化在物理可信根的ROM里的第一引导加载程序(On-chip boot loader),开始初始化;

2)读取第一公钥;具体的,可信CPU核读取闪存SPI flash里的第一公钥PubK_SM2;

3)读取预留哈希值;具体的,可信CPU核读取固化在eFuse的预留哈希值HASH_PubK_SM2;

4)可信CPU核调用SM3加密算法引擎计算第一公钥PubK_SM2的哈希值,并和固化在eFuse的预留哈希值HASH_PubK_SM2值对比,如果相等则继续进行下一步,否则可信CPU核终止启动过程并可提示报警;

5)读取第二对称密钥;具体的,可信CPU核从eFuse里读取第二对称密钥EK密钥;

6)读取加密的第一对称密钥;具体的,可信CPU核从闪存SPI flash里读取加密的第一对称密钥ENC_MK密钥;

7)利用SM4加密算法引擎,利用第二对称密钥EK解密加密的第一对称密钥ENC_MK,得到第一对称密钥MK;具体的,可信CPU核调用SM4加密算法引擎,利用第二对称密钥EK解密加密的第一对称密钥ENC_MK,得到第一对称密钥MK;

8)读取加密的第二引导加载程序;具体的,可信CPU核从SPI flash里读取加密的第二引导加载程序(Off-chip boot loader)数据;

9)读取第二引导加载程序数字签名;具体的,可信CPU核从SPI flash里读取第二引导加载程序数字签名;

10)调用SM4加密算法引擎,用第一对称密钥MK解密加密的第二引导加载程序,以及调用SM3加密算法引擎计算哈希值;使用第一公钥PubK_SM2验签第二引导加载程序数字签名;将两个哈希值对比,如果相等则继续进行下一步;具体的,可信CPU核调用SM4加密算法引擎,利用第一对称密钥MK解密已加密的第二引导加载程序,以及调用SM3加密算法引擎计算哈希值;使用第一公钥PubK_SM2调用SM2加密算法引擎验签第二引导加载程序数字签名(被第一私钥PriK_SM2签名),解密出第二引导加载程序数字签名中的哈希值;两个哈希值对比,如果相等则继续进行下一步,否则可信CPU终止启动过程并可提示报警;

11)加载执行第二引导加载程序;具体的,可信CPU核加载执行第二引导加载程序;

12)读取加密的第二公钥;具体的,可信CPU核从闪存SPI flash里读取加密的第二公钥ENC_UK_Pub;

13)调用SM4加密算法引擎,用第一对称密钥MK解密加密的第二公钥ENC_UK_Pub,得到第二公钥UK_Pub;具体的,可信CPU核调用SM4加密算法引擎,用第一对称密钥MK密钥解密加密的第二公钥ENC_UK_Pub,得到第二公钥UK_Pub;

14)读取BIOS镜像数据;具体的,可信CPU核从闪存SPI flash里读取BIOS镜像数据;

15)读取BIOS签名;具体的,可信CPU核从闪存SPI flash里读取BIOS签名文件;

16)调用SM3加密算法引擎计算BIOS镜像数据的哈希值;使用第二公钥UK_Pub验签BIOS的数字签名;将两个哈希值对比,如果相等则继续进行下一步;具体的,可信CPU核调用SM3加密算法引擎计算BIOS镜像数据的哈希值;使用第二公钥UK_Pub调用SM2加密算法引擎验签BIOS签名文件(被用于的第二私钥UK_Pri签名),解密出BIOS签名中的哈希值;将两个哈希值对比,如果相等则继续进行下一步,否则可信CPU核终止启动过程并可提示报警。

计算CPU核加载BIOS进行启动,在成功经过以上可信引导、验证的流程后,表明BIOS是可信的,于是计算CPU核可以开始加载BIOS进行启动。

本发明实施例提供的安全启动方法中,可信CPU核优先于计算CPU核启动,启动过程中经过多重的度量和验证,逐层递进,最终建立起整个计算系统的可信链,本发明实施例提供的安全启动方法可以充分保证计算系统启动的安全性。

下面对本发明实施例提供的安全启动装置进行介绍,下文描述的装置内容可以认为是计算机设备为实现本发明实施例提供的安全启动方法所需设置的功能模块。下文描述的装置内容可与上文描述的方法内容相互对应参照。

在可选实现中,图12示例性的示出了本发明实施例提供的全启动装置的可选框图,该全启动装置应用于处理器芯片,所述处理器芯片包括可信CPU核和计算CPU核,所述装置包括:

第一加载模块800,配置为响应于预设的启动条件,所述可信CPU核加载运行第一引导加载程序,所述第一引导加载程序存储在位于所述处理器芯片内部的存储空间,所述预设的启动条件为所述可信CPU核先于所述计算CPU核上电;

第一度量模块810,配置为对所述可信CPU核所需的第二引导加载程序进行可信度量,所述第二引导加载程序存储在位于所述处理器芯片外部的存储空间;

第二加载模块820,配置为当所述第二引导加载程序的可信度量结果正常时,加载运行所述第二引导加载程序。

可选的,作为一种可选实现,所述第一度量模块,配置为对所述可信CPU核所需的第二引导加载程序进行可信度量,所述第二引导加载程序存储在位于所述处理器芯片外部的存储空间,具体包括:

获取加密的第二引导加载程序,所述加密的第二引导加载程序被第一对称密钥加密,存储在位于所述处理器芯片外部的存储空间;

利用所述第一对称密钥对所述加密的第二引导加载程序进行解密,获得解密的第二引导加载程序;

获取第二引导加载程序数字签名,所述第二引导加载程序数字签名利用第一私钥签名生成,存储在位于所述处理器芯片外部的存储空间;

利用与所述第一私钥相匹配的第一公钥对所述第二引导加载程序数字签名进行验签。

可选的,所述的安全启动装置还包括:第一公钥验证模块,配置为对所述第一公钥进行验证,包括:

获取存储在所述处理器芯片外部的所述第一公钥;

计算所述第一公钥的哈希值;

将所述第一公钥的哈希值与预先存储在所述处理器芯片内部的预留哈希值进行比对;

当所述第一公钥的哈希值与所述预留哈希值一致时,所述第一公钥的验证结果为正常。

可选的,参考图12,所述的安全启动装置,还可以包括:

第二度量模块830,配置为对所述计算CPU核所需的BIOS进行可信度量,所述BIOS存储在位于所述处理器芯片外部的存储空间;

第三加载模块840,配置为当所述BIOS的可信度量结果正常时,指示所述计算CPU核加载运行所述BIOS。

本公开一些实施例还提供一种计算机设备,该计算机设备可以包括:至少一个存储器和至少一个处理器;所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行本发明实施例提供的指令控制方法。

可选的,图13示出了本发明实施例提供的计算机设备的框图,如图所示,该移动终端可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。

在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;显然,图示的处理器1、通信接口2、存储器3和通信总线4的通信连接示意仅是可选的。

可选的,通信接口2可以为用于进行网络通信的通信模块的接口;

处理器1可能是中央处理器C P U ,或者是特定集成电路A S I C (ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,存储器3存储一条或多条计算机可执行指令,处理器1调用所述一条或多条计算机可执行指令,以执行本发明实施例提供的指令控制方法。

本发明实施例还提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行上述的安全启动方法。

上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。

虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

相关技术
  • 存储器件的测试装置及相关的存储器件的测试和制造方法
  • Micro LED阵列器件、巨量转移装置及相关方法
  • 一种板卡上悬空器件的删除方法、系统及相关装置
  • 一种周期任务的定时启动方法、系统及相关装置
  • 一种安全防御方法及相关装置
  • 控制电力电子器件的装置和电路、相关驱动方法和启动器
  • 控制电力电子器件的装置和电路、相关驱动方法和启动器
技术分类

06120116008940