用于保护固件的方法和系统,以及计算机可读介质技术方案

技术编号:23860162 阅读:25 留言:0更新日期:2020-04-18 13:22
本公开涉及用于保护固件的方法和系统以及计算机可读介质。所述方法包括生成用于固件的层的固件数字证书。所述固件操作计算节点的硬件部件。所述固件数字证书包括属性证书。所述固件数字证书包括固件的所述层的累积散列和临时值。所述累积散列包括固件的所述层的散列和所述固件的一个或多个更低层中的每一个的散列的级联。所述方法包括使用可信数据存储来认证固件的所述层。所述可信数据存储包括固件的预期层的二值图像以及包括硬件数字证书和所述固件数字证书的证书链。

Methods and systems for securing firmware, and computer-readable media

【技术实现步骤摘要】
用于保护固件的方法和系统,以及计算机可读介质
本公开涉及计算系统,尤其涉及用于保护固件的方法、系统和计算机可读介质。
技术介绍
在计算节点、计算机系统或主机的机箱或外壳内可以存在从温度传感器和电源到存储器(memory)模块和处理器的数百个可插拔部件。在计算节点的机架或集群(cluster)内,可以存在数千个这种部件。然而,每个部件都可能表示一个安全漏洞,即,潜在的攻击向量(attackvector)。如果部件是伪造的或包含可能损害计算节点的恶意软件,则该部件可能是潜在的攻击向量。一种利用恶意软件感染部件的潜在方式是破坏用于操作该部件的固件。因此,识别已感染的部件对于阻止已感染部件的使用是有用的。
技术实现思路
根据本公开的一个方面,提供了一种用于保护固件的方法。该方法包括:生成用于固件的层的固件数字证书,其中所述固件操作计算节点的硬件部件,其中所述固件数字证书包括属性证书,并且其中所述固件数字证书包括:固件的所述层的累积散列,其中所述累积散列包括以下各项的级联:固件的所述层的散列;和所述固件的一个或多个更低层中的每一个的散列;以及,临时值;以及,使用可信数据存储来认证固件的所述层,所述可信数据存储包括固件的预期层的二值图像以及证书链,所述证书链包括硬件数字证书和所述固件数字证书。根据本公开的另一个方面,提供了一种用于保护固件的系统,包括:处理器;以及存储器部件,所述存储器部件存储有指令,所述指令使所述处理器:生成用于固件的层的固件数字证书,其中所述固件操作计算节点的硬件部件,其中所述固件数字证书包括属性证书,并且其中所述固件数字证书包括:固件的所述层的累积散列,其中所述累积散列包括以下各项的级联:固件的所述层的散列;和所述固件的一个或多个更低层中的每一个的散列;以及,临时值;以及,使用可信数据存储来认证固件的所述层,所述可信数据存储包括固件的预期层的二值图像以及证书链,所述证书链包括硬件数字证书和所述固件数字证书。根据本公开的另一个方面,提供了一种存储有计算机可执行指令的非暂态、计算机可读介质,所述计算机可执行指令当被执行时使计算机:生成用于固件的层的固件数字证书,其中所述固件操作计算节点的硬件部件,其中所述固件数字证书包括属性证书,并且其中所述固件数字证书包括:固件的所述层的累积散列,其中所述累积散列包括以下各项的级联:固件的所述层的散列;和所述固件的一个或多个更低层中的每一个的散列;所述固件的相应多个层的多个测量,其中每个测量包括所述固件的相应层的二值图像的散列;以及,临时值;以及,使用可信数据存储来认证固件的所述层,所述可信数据存储包括固件的预期层的二值图像以及证书链,所述证书链包括硬件数字证书和所述固件数字证书。附图说明当结合附图阅读时,从以下详细描述中可以理解本公开。依据行业标准实践,各种特征未按比例绘制。事实上,为了讨论的清楚,各种特征的尺寸可以被任意地增加或减少。关于以下附图描述了本申请的一些示例:图1是用于保护固件的示例系统。图2是用于保护固件的示例固件测量证书(firmwaremeasurementcertificate)。图3是用于对具有固件的部件进行认证的消息流的示意图。图4是具有固件的一个可变层的示例证书链(certificatechain)。图5是具有固件的多个可变层的示例证书链。图6是用于保护响应器(responder)的固件的示例时间轴。图7是具有包含要被保护的固件的多个部件的示例计算节点。图8是用于生成固件测量证书的方法的过程流程图。图9是包括存储有用于保护固件的代码的有形、非暂态计算机可读介质的示例系统。具体实施方式认证的示例包括通用串行总线(USB)C型(TypeC)认证,其使得计算节点(即主机)能够对兼容USB的部件进行认证。USBC型认证还形成了潜在的高速外围部件互连(PCIe)认证机制的基础,该PCIe认证机制允许对PCIe部件进行认证。USBC型和PCIe中的认证模式已被很好地理解并且能够被扩展至内部总线以及其他协议和互连。部件认证的目的是在部件中建立信任。上文讨论的认证机制可以查实(establish)部件来自已知且可信的制造商。然而,查实部件来自已知且可信的制造商并不意味着在该部件内运行的固件是正确且可靠的。固件是正确的可以意味着在部件内安装了正确的固件和固件的正确版本。固件是可靠的可以意味着固件可以被信任为不会违反固件正运行在其上的部件的安全。相应地,本公开的示例可以提供部件认证机制,该机制利用固件测量证书来测量和验证部件的固件。固件测量证书可以类似于数字证书。数字证书是可以由发布机构分发的电子文档,该电子文档确保计算机部件、计算节点等的可靠性。然而,代替确保固件的可靠性,固件测量证书也可以提供对加载在存储器中以供部件执行的固件的测量,并且确保测量是准确的。固件测量证书中的测量可以对照指示预期要安装在部件上的固件版本的记录而被确认。相应地,如果记录在固件测量证书中的所测量固件不匹配预期要安装在部件上的固件,则示例可以确定该部件是不可靠的。因此,通过使用固件测量证书,可以查实部件是否来自已知且可信的制造商以及部件是否正运行正确且可靠的固件。另外,示例可以允许固件被更新并且仍然利用固件测量证书来认证。图1是用于保护固件的示例系统100。系统100包括多个部件,启动器102通过一个或多个互连106与响应器104通信。启动器102可以是计算节点(未示出)的正准备使用响应器104来执行任务的部件。例如,启动器102可以是通用计算机处理器,并且响应器104可以是网络接口控制器(NIC)。相应地,通用计算机处理器启动器和NIC响应器可以连接至互连106(诸如PCIe互连),并且通过该互连进行通信。另外,NIC响应器可以连接至网络108。通用计算机处理器启动器可以正在准备调用NIC响应器以通过网络108将敏感信息发送至另一计算节点(未示出)。然而,在信任具有潜在的敏感信息的响应器104之前,启动器102可以使用认证服务128来确定响应器104是否是可靠的。在示例中,认证服务128可以是使用根据公共密钥基础设施(PKI)的数字证书来确定响应器104的可靠性的计算机应用。如果黑客或其他恶意用户具有控制,则响应器104可能不是可靠的。如果响应器104是伪造的硬件部件,或者如果在响应器104上的固件112是伪造的,则恶意用户可能具有对响应器的控制。启动器102和响应器104可以驻留在相同的计算节点上,并且因此通过一个互连106通信,该互连基于特定协议在启动器102与响应器104之间传递消息。互连106可以包括一个或多个互连,诸如USB、PCIe、Gen-Z等。启动器102和响应器104可以包括协议引擎126,该协议引擎可以确保以与相关互连106的协议一致的格式提供启动器102与响应器104之间的消息。在一些实施方式中,启动器102可以使用多个协议引擎126以处理与诸如基板管理控制器(BMC)和通用计算机处理器的不同种类的部件的互连。启动本文档来自技高网...

【技术保护点】
1.一种用于保护固件的方法,包括:/n生成用于固件的层的固件数字证书,其中所述固件操作计算节点的硬件部件,其中所述固件数字证书包括属性证书,并且其中所述固件数字证书包括:/n固件的所述层的累积散列,其中所述累积散列包括以下各项的级联:/n固件的所述层的散列;和/n所述固件的一个或多个更低层中的每一个的散列;以及/n临时值;以及/n使用可信数据存储来认证固件的所述层,所述可信数据存储包括固件的预期层的二值图像以及证书链,所述证书链包括硬件数字证书和所述固件数字证书。/n

【技术特征摘要】
20181010 US 16/155,9831.一种用于保护固件的方法,包括:
生成用于固件的层的固件数字证书,其中所述固件操作计算节点的硬件部件,其中所述固件数字证书包括属性证书,并且其中所述固件数字证书包括:
固件的所述层的累积散列,其中所述累积散列包括以下各项的级联:
固件的所述层的散列;和
所述固件的一个或多个更低层中的每一个的散列;以及
临时值;以及
使用可信数据存储来认证固件的所述层,所述可信数据存储包括固件的预期层的二值图像以及证书链,所述证书链包括硬件数字证书和所述固件数字证书。


2.如权利要求1所述的方法,其中用于所述固件的第一层的固件数字证书是利用用于所述硬件部件的硬件数字证书的私有密钥签名的。


3.如权利要求1所述的方法,包括利用所述硬件数字证书的私有密钥对所述固件数字证书进行签名。


4.如权利要求1所述的方法,其中所述固件数字证书包括所述固件的相应多个层的多个测量,其中每个测量包括所述固件的相应层的二值图像的散列。


5.如权利要求1所述的方法,其中所述固件数字证书是基于X.509标准生成的。


6.如权利要求1所述的方法,包括:
生成用于固件的附加层的附加固件数字证书,其中所述附加固件操作所述计算节点的所述硬件部件,其中所述附加固件数字证书由安装在固件的先前层中的私有密钥进行签名,并且其中,所述附加固件数字证书包括:
固件的所述附加层的附加散列;
附加累积散列,其中固件的所述附加层的附加散列被添加至所述附加累积散列;以及
新密钥对,所述新密钥对具有安装至固件的所述附加层中的新私有密钥;以及
使用所述可信数据存储来认证固件的所述附加层,所述可信数据存储包括固件的所述附加层的附加二值图像,其中所述证书链包括所述附加固件数字证书。


7.如权利要求6所述的方法,其中所述附加固件数字证书包括:
附加累积散列,所述附加累积散列包括以下各项的附加级联:
固件的所述层的加密散列;和
固件的所述附加层的附加加密散列;
所述临时值;以及
别名ID。


8.如权利要求6所述的方法,其中启动器将所述临时值提供给响应器。


9.一种用于保护固件的系统,包括:
处理器;以及
存储器部件,所述存储器部件存储有指令,所述指令使所述处理器:
生成用于固件的层的固件数字证书,其中所述固件操作计算节点的硬件部件,其中所述固件数字证书包括属性证书,并且其中所述固件数字证书包括:
固件的所述层的累积散列,其中所述累积散列包括以下各项的级联:
固件的所述层的散列;和
所述固件的一个或多个更低层中的每一个的散列;以及
临时值;以及
使用可信数据存储来认证固件的所述层,所述可信数据存储包括固件的预期层的二值图像以及证书链,所述证书链包括硬件数字证书和所述固件数字证书。

<...

【专利技术属性】
技术研发人员:N·爱德华兹L·E·P·N·雅坎T·拉菲T·库卢里斯
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1