中央处理器和验证主机板数据的方法_2

文档序号:8922891阅读:来源:国知局
r>[0039]通过在中央处理器102中的片内只读存储器201中提供用于烧写候选信任根摘要信息的多个熔丝,可以在生产之后根据需要实现信任根摘要信息的覆写,从而提供一定的灵活性。例如,当先前作为信任根数据的公共密钥所对应的私有密钥被意外泄露时,需要更换新的信任根数据,则可以覆写相应的新的信任根摘要信息。
[0040]图4示出根据本发明另一实施例的图1的主机板101中的B1S ROM 111。
[0041]参照图3,作为示例,使用非对称加解密算法(例如,RSA签名验证算法)作为签名验证算法来验证主机板数据。此时,在B1S ROM 111中存储信任根数据1110,在一实施例中,信任根数据1110为前述签名验证算法的根公共密钥(以下,称为根公钥)。B1S ROM111中还存储有主机板数据1111,主机板数据1111的非限制性示例为微代码补丁,用于更新CPU的微代码。这里,该微代码补丁被使用上述根公钥所对应的根私有密钥(以下,称为根私钥)签名。在其他实施例中,主机板数据1111也可以是主机板101的系统初始化指令,例如B1S代码或EFI代码,同样,该系统初始化指令被使用上述根公钥所对应的根私钥签名。下述实施例均以信任根数据1110为根公钥,主机板数据1111为微代码补丁来描述。
[0042]在计算机系统100开机过程中,当核心202接收到特定指令(例如0x79)时,核心202控制摘要算法模块203执行摘要算法(例如,安全散列算法)计算存储在B1S ROM 111中或其他存储器中的根公钥(即信任根数据1110)的摘要信息。以摘要算法采用安全散列算法SHA-1为例,核心202读取存储在B1S ROM 111中或其他存储器中的根公钥的代码,并对其进行散列(hash)运算以产生摘要信息,具体过程在此不再赘述。采用不同的散列算法(例如SHA-2,SHA-128或SHA-256等)产生的摘要信息的数据量会有所不同。当然,采用其他摘要算法也落入本发明要保护的范围。
[0043]核心202再将计算得到的摘要信息与存储在片内只读存储器201中的信任根摘要信息2011进行比较。因为摘要算法是将任意长度的根公钥(即信任根数据1110)作为原文(originator),输出固定长度的摘要信息,作为原文的根公钥不同,摘要信息就不会相同,因此如果计算出的摘要信息与信任根摘要信息2011不一致,则意味着B1S ROM 111中的根公钥已经被篡改,验证失败;如果该摘要信息与信任根摘要信息2011 —致,则意味着根公钥未被篡改,于是核心202进一步控制签名验证算法模块204执行签名验证算法以验证微代码补丁(即主机板数据1111)的完整性,如果该微代码补丁未能通过完整性验证,则验证失败,即,进一步判断微代码补丁是否被篡改。
[0044]以上实施例中,使用非对称加解密算法的私钥对微代码补丁(即主机板数据1111)进行签名,并利用相应的公钥验证其完整性,但本发明不限于此。根据本发明的实施例,可以使用其他类型的签名验证算法验证主机板数据的完整性。该情况下,作为根公钥的替代,在B1S ROM 111中存储相应的信任根数据1110用于验证完整性。
[0045]图5是根据本发明的实施例的验证主机板数据的方法的流程图。
[0046]参照图5,在步骤S501,在计算机开机过程中,从主机板中读取信任根数据。该信任根数据可以存储在主机板的B1S ROM中,其用于建立计算机系统100的信任根,以验证主机板数据的完整性。
[0047]在步骤S502,使用摘要算法计算该信任根数据的摘要信息。根据本发明的实施例,该摘要算法可以包括安全散列算法SHA-1、SHA-2或SHA-256等。如之前所述,可以通过存储在中央处理器中的摘要指令来执行该摘要算法,也可以通过包括在中央处理器的核心中的硬件电路来执行该摘要算法。
[0048]在步骤S503,将计算得到的该摘要信息与存储在中央处理器的片内只读存储器中的信任根摘要信息进行比较以验证该信任根数据的完整性。其中该信任根摘要信息不允许修改。
[0049]如果该摘要信息与该信任根摘要信息不一致(S504的“否”),则验证失败。如果该摘要信息与该信任根摘要信息一致(S504的“是”),则在步骤S505,从主机板中读取主机板数据,例如,用于更新CPU微代码的微代码补丁。该主机板数据可以存储在B1S ROM中。
[0050]在步骤S506,利用验证通过的信任根数据(例如验证通过的签名验证算法的根公钥)执行签名验证算法以验证主机板数据的完整性。如果该主机板数据未能通过完整性验证(S507的“否”),则验证失败。如果该主机板数据通过了完整性验证(S507的“是”),则验证成功。如之前所述,可以通过存储在中央处理器中的签名验证指令执行该签名验证算法,也可以通过包括在中央处理器的核心中的硬件电路来执行该签名验证算法。验证成功后,主机板数据才能被正常载入:在主机板数据为微代码补丁的实施例中,验证成功后,才能启动微代码补丁的正常载入程序,即对从微代码B1S头(ucode B1S header)地址开始的微代码补丁进行解密(例如先进加密标准AES解密)操作;在解密验证通过后,再丢弃微代码B1S头并从微代码补丁头(ucode patch header)地址开始载入微代码补丁数据;当微代码补丁头也验证通过后,则载入微代码补丁数据至中央处理器以更新中央处理器的微代码。如果验证失败(包括步骤S504的否及步骤S507的否),则微代码补丁会经由系统初始化程序(例如B1S程序)通知用户。
[0051]本发明所提供的中央处理器和验证主机板数据的方法,一方面以中央处理器102内部的片内只读存储器201作为系统信任根,确保主机板数据的安全性,相较于额外添加安全模块(例如,TPM芯片)来保证主机板数据的安全性的技术,安全性大大提升;另一方面,本发明利用摘要信息来确保存储在主机板中的用于建立信任根的信任根数据自身的完整性,从而无需使用中央处理器的片内只读存储器的有限空间来存储数据量较大的信任根数据,而仅需存储数据量相对较小的信任根摘要信息:以信任根数据为签名验证算法的根公钥为例,如果其大小为2048比特,则使用摘要算法对应的信任根摘要信息仅为256比特。另外,通过利用处理器核心中的专用硬件电路来执行摘要算法和/或签名验证算法,还可以进一步减少对中央处理器空间的占用。
[0052]如上所述,已经在上面具体地描述了本发明的各个实施例,但是本发明不限于此。本领域的技术人员应该理解,可以根据设计要求或其他因素进行各种修改、组合、子组合或者替换,而它们在所附权利要求书及其等效物的范围内。
【主权项】
1.一种中央处理器,包括: 片内只读存储器,用于存储信任根摘要信息,其中该信任根摘要信息不允许修改;以及核心,用于在开机过程中使用摘要算法计算存储在主机板中的信任根数据的摘要信息,将该摘要信息与该信任根摘要信息进行比较,如果该摘要信息与该信任根摘要信息一致,则利用该信任根数据执行签名验证算法以验证主机板数据的完整性。2.如权利要求1所述的中央处理器,其中该片内只读存储器包括多个熔丝,分别用于烧写具有不同优先级的候选信任根摘要信息,而且 该核心使用已烧写在所述熔丝中的具有最高优先级的候选信任根摘要信息作为该信任根摘要信息。3.如权利要求1所述的中央处理器,其中该签名验证算法是基于非对称加解密算法,该主机板数据被基于该非对称加解密算法使用私有密钥加密,该信任根数据包括与该私有密钥对应的公共密钥。4.如权利要求1所述的中央处理器,其中该核心包括用于执行该摘要算法的硬件电路。5.如权利要求1所述的中央处理器,其中该中央处理器进一步存储摘要指令,而且 该核心通过执行该摘要指令来执行该摘要算法。6.如权利要求1所述的中央处理器,其中该核心包括用于执行该签名验证算法的硬件电路。7.如权利要求1所述的中央处理器,其中该中央处理器进一步存储签名验证指令,而且 该核心通过执行该签名验证指令来执行该签名验证算法。8.如权利要求1所述的中央处理器,其中该主机板数据包括该中央处理器的微代码补丁,当该核心在该开机过程中接收到特定指令时,该核心计算该摘要信息。9.一种验证主机板数据的方法,包括: 在开机过程中从主机板中读取信任根数据; 使用摘要算法计算该信任根数据的摘要信息; 将该摘要信息与存储在中央处理器的片内只读存储器中的信任根摘要信息进行比较,其中该信任根摘要信息不允许修改; 如果该摘要信息与该信任根摘要信息一致,则从主机板中读取主机板数据;以及 利用该信任根数据执行签名验证算法以验证该主机板数据的完整性。10.如权利要求9所述的方法,其中该片内只读存储器包括多个熔丝,分别用于烧写具有不同优先级的候选信任根摘要信息,该方法进一步包括: 使用已烧写在所述熔丝中的具有最高优先级的候选信任根摘要信息作为该信任根摘要信息。11.如权利要求9所述的方法,其中该签名验证算法是基于非对称加解密算法,该主机板数据被基于该非对称加解密算法使用私有密钥加密,该信任根数据包括与该私有密钥对应的公共密钥。12.如权利要求9所述的方法,其中通过该中央处理器中的硬件电路来执行该摘要算法。13.如权利要求9所述的方法,其中通过执行存储在该中央处理器中的摘要指令来执行该摘要算法。14.如权利要求9所述的方法,其中通过该中央处理器中的硬件电路来执行该签名验证算法。15.如权利要求9所述的方法,其中通过执行存储在该中央处理器中的签名验证指令来执行该签名验证算法。16.如权利要求9所述的方法,其中该主机板数据包括该中央处理器的微代码补丁,当在前述开机过程中接收到特定指令时,执行前述从该主机板中读取该信任根数据的步骤。
【专利摘要】提供一种中央处理器和验证主机板数据的方法。该中央处理器包括:片内只读存储器,用于存储信任根摘要信息,其中该信任根摘要信息不允许修改;以及核心,用于在开机过程中使用摘要算法计算存储在主机板中的信任根数据的摘要信息,将该摘要信息与该信任根摘要信息进行比较,如果该摘要信息与该信任根摘要信息一致,则利用该信任根数据执行签名验证算法以验证主机板数据的完整性。
【IPC分类】G06F21/64, G06F21/60
【公开号】CN104899524
【申请号】CN201510272794
【发明人】黄振华, 李勇, 闫萌萌, 韩雪花
【申请人】上海兆芯集成电路有限公司
【公开日】2015年9月9日
【申请日】2015年5月25日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1