CN116956267A - 平台证书的基于管理控制器的验证 - Google Patents
平台证书的基于管理控制器的验证 Download PDFInfo
- Publication number
- CN116956267A CN116956267A CN202211309294.7A CN202211309294A CN116956267A CN 116956267 A CN116956267 A CN 116956267A CN 202211309294 A CN202211309294 A CN 202211309294A CN 116956267 A CN116956267 A CN 116956267A
- Authority
- CN
- China
- Prior art keywords
- platform
- certificate
- management controller
- computer platform
- computer
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 34
- 230000015654 memory Effects 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims description 24
- 230000009471 action Effects 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 24
- 230000001010 compromised effect Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 238000010200 validation analysis Methods 0.000 description 16
- 238000002955 isolation Methods 0.000 description 15
- 230000008901 benefit Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000005259 measurement Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/45—Structures or tools for the administration of 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及平台证书的基于管理控制器的验证。一种包括通过计算机平台的管理控制器访问存储在安全存储器中的平台证书的方法。该平台证书包括表示计算机平台的参考库存的数据。该平台证书包括表示被指定为将该平台证书绑定到安全处理器的信息的数据。该安全处理器可通过管理控制器访问。该安全处理器不可通过计算机平台的操作系统访问。该方法包括验证平台证书。验证平台证书包括通过管理控制器来确认该平台证书的签名;以及通过管理控制器来确认被指定为将平台证书绑定到安全处理器的信息。验证平台证书包括通过管理控制器将计算机平台的第二库存与参考库存进行比较。
Description
背景技术
计算机平台可能会受到安全攻击,其中,恶意实体试图访问存储在计算机平台上的信息或损害计算机平台的部件。为了防止安全攻击或至少抑制由安全攻击造成的潜在危害的程度,计算机平台可以具有不同级别的保护。例如,计算机平台可以具有各种机制来限制访问,如防火墙、密码、密钥等等。作为另一示例,计算机平台可以具有(例如,可信平台模块(TPM))等安全密码处理器,该安全密码处理器可以为计算机平台提供多个安全相关特征。安全相关特征可以例如用于确保计算机平台一致地以预期方式表现以及证明计算机平台是值得信任的。
附图说明
图1是根据示例实施方式的具有验证平台证书的基板管理控制器(BMC)的计算机平台的示意图。
图2是根据示例实施方式的图1的BMC的示意图。
图3是图示了根据示例实施方式的由BMC执行以创建平台证书的过程的流程图。
图4是图示了根据示例实施方式的由BMC执行以验证平台证书的过程的流程图。
图5是描绘了根据示例实施方式的由管理控制器执行以验证平台证书的过程的流程图。
图6是根据示例实施方式的存储在机器可执行非暂态存储介质上的机器可执行指令的图示,当机器可执行指令由机器执行时使管理控制器验证平台证书。
图7是根据示例实施方式的包括验证平台证书的BMC的计算机平台的示意图。
具体实施方式
计算机平台的安全密码处理器(本文称为安全处理器)可以为计算机平台提供可信计算操作,目的是确保计算机平台一致地以预期方式表现。作为可信计算操作的示例,安全处理器可以生成密码密钥;存储安全工件(例如,密码密钥和证书);访问安全工件;擦除安全工件;存储完整性测量摘要;为远程证明提供签名的完整性测量摘要;加密数据;解密数据;将密码密钥密封到特定完整性测量摘要状态(例如,将存储设备的密钥加密密钥与一组完整性测量绑定);解封密码密钥;为密码通信提供随机值;对证书进行签名;提供随机数或伪随机数;等等。可信平台模块或“TPM”是安全处理器的示例。
计算机平台的制造商可以创建数字证书,称为计算机平台的“平台证书”,并且在计算机平台的存储器中存储平台证书。一般而言,平台证书证明计算机平台的特定属性(本文还称为“经证明的属性”)。这些属性可以包括将计算机平台作为整体予以称谓的属性(例如,平台型号、平台序列号、平台序列号、与平台相对应的规范等等)。这些属性可以包括标识计算机平台的特定配置元素(如特定硬件和/或软件部件)的属性。此外,这些属性可以标识或引用计算机平台的特定安全处理器,使得平台证书被绑定到特定安全处理器。计算机平台的平台证书验证部件可以在计算机平台启动时(例如,在计算机平台的上电或复位时)验证平台证书,目的是确保计算机平台未被更改,即,目的是确保计算机平台的实际属性与经证明的属性相同。例如,对计算机平台的未经授权的更改可能在从工厂的供应链中或在客户现场处发生。在这种上下文中,“验证平台证书”通常指包括确立平台证书是可信的以及包括确定平台证书证明的这些属性是准确的或正确的过程。
将平台证书绑定到特定安全处理器的平台证书的信息可以是对数字证书的引用的形式,本文称为“背书密钥证书”或“EK证书”。EK证书可以包含表示特定安全处理器的标识属性的数据,如表示安全处理器的制造商的属性、安全处理器的型号、安全处理器的版本、安全处理器的序列号、安全处理器的唯一标识符等等。此外,EK证书可以包含表示如Rivest-Sharmir-Adleman(RSA)密钥等非对称密码密钥(或“EK”)的公共部分(本文称为“公共EK”)等数据。EK的私有部分(本文称为“私有EK”)被存储在安全处理器的内部,于安全处理器是唯一的并且不暴露在安全处理器的外部。私有EK的使用可能只限于解密,并且因此,私有EK可能不被用于例如产生数字签名。安全处理器可以使用EK用于解密操作来例如提供安全处理器的认证以及证明(例如,经由凭证激活)另一密钥(例如,证明身份密钥(AIK))被存储在存储私有EK的相同安全处理器上。
平台证书的验证可以包括首先确认平台证书的签名。在本文使用的上下文中,“确认证书的签名”指确定证书是否可信的过程,即,导致确定证书签名通过确认(以及证书因此可信)或确定证书签名确认失败(以及证书不可信)的过程。平台证书签名的确认可以包括基于平台证书的内容评估平台证书的签名。以这种方式,平台证书的发行者可以基于平台证书的内容对平台证书进行签名。平台证书包含具有表示发行者的签名的数据的字段,并且平台证书包含具有标识发行者证书的数据的字段。例如,发行者可以基于发行者的私有密钥以及包含在平台证书的非签名字段中的信息来生成签名。发行者的对应公共密钥可以用于确认平台证书的签名。更具体地,平台证书和发行者的证书可以是公共密钥基础设施(PKI)的证书信任链的一部分。证书信任链以根证书授权机构(CA)证书(或“根证书”)开始;包括零个、一个或多个中间证书;并且以平台证书结束。通过验证部件确认平台证书签名可以涉及验证部件确认与平台证书相对应的证书信任链的签名。
作为验证平台证书的一部分,验证部件可以确认平台证书所引用的EK证书的签名,目的是确定EK证书是否可信。这种确认可以涉及验证部件确认与EK证书相对应的证书信任链的签名。
假设平台证书和EK证书的签名的确认通过,使得平台证书和EK证书可信,验证部件然后可以继续验证平台证书所证明的计算机平台的属性。这个验证可以包括验证经证明的平台标识属性以及验证经证明的计算机库存属性,目的是确定计算机平台的实际属性是否匹配经证明的属性。如果验证部件揭示计算机平台的实际属性与经证明的属性不同,则验证失败,并且可以认为计算机平台被泄密。可以响应于检测到泄密的计算机平台而进行一个或多个纠正动作。作为这种纠正动作的示例,可以将计算机平台断电,可以将计算机平台与网络隔离,可以防止计算机平台加入数据中心的舰队等等。
在一种方法中,计算机平台的操作系统可以用作上文描述的验证部件来验证平台证书。然而,使用操作系统来验证计算机平台的平台证书可能将客户的基础设施(例如,网络、其他计算机平台等等)暴露于泄密的计算机平台。此外,使用操作系统来验证计算机平台的平台证书可能约束客户将计算机平台适配于不同的多节点用例的灵活性。例如,计算机平台可以是集体地执行分布式或多节点操作系统的节点群组(例如,计算机平台群组)中的节点。对于多节点操作系统,每个节点执行其自己的微内核部件以及多节点操作系统的管理部件。操作系统可以被绑定到单一安全处理器。因此,多节点操作系统可以被绑定到集体地执行操作系统的节点群组中的一个节点上的单一安全处理器。这种绑定防止使用每节点平台证书以及限制客户缩放、重新分组、替换或交换集体地执行多节点操作系统的节点的能力。
根据本文所描述的示例实施方式,计算机平台包含是计算机平台的管理系统的一部分的安全处理器。根据示例实施方式,这个安全处理器对于计算机平台的主机操作系统(例如,多节点操作系统或单一节点操作系统)是不可见的。操作系统可以访问计算机平台的另一安全处理器,该另一安全处理器不是管理系统的一部分。根据示例实施方式,管理系统的管理控制器(例如,基板管理控制器(BMC))被构造成验证平台证书,该平台证书引用管理系统的安全处理器。因此,管理控制器可以确认平台证书的签名;确认平台证书所引用的以及与管理系统的安全处理器相对应的EK证书的签名;以及验证平台证书证明的计算机平台的属性。
根据示例实施方式,管理控制器在平台的主机操作系统加载以及引导之前响应于计算机平台的启动(例如,上电或复位)验证平台证书。因此,在计算机平台泄密的事件中,管理控制器的平台证书验证揭示泄密的平台而不将主机操作系统暴露于泄密的平台。此外,对于执行多节点操作系统的多节点系统,平台证书可以特定于每个节点以及特定于每个节点的管理安全处理器。每节点平台证书增强了随时间改变多节点用例的能力。这种使用改变可以包括重新排序节点、重新分组节点、替换受损的或泄密的节点等等。
参考图1,作为更具体的示例,根据一些实施方式,计算系统80包括一个或多个节点90,该一个或多个节点通过网络结构194互连。根据一些实施方式,给定节点90可以与计算机平台100相对应。此外,根据一些实施方式,节点90可以是分组的,使得每个群组的节点90的集体地执行多节点操作系统、分布式操作系统。以这种方式,如计算机平台100的给定节点90可以包括在节点90上执行的本地主机操作系统部件130,比如操作系统微内核和一个或多个管理部件,以协调节点90的单个和协作的操作系统功能。系统管理员可以随时间改变形成给定节点群组的节点90。作为示例,可以增加给定群组中的节点90的数量;可以减少给定群组中的节点90的数量;给定群组的节点90可能失败以及被另一节点90替换;可以重新组织节点90的分组;等等。
根据示例实施方式,如计算机平台100的给定节点90可以存储特定于节点90(以及特定于计算机平台)的平台证书181,即使节点90可以是集体地执行多节点操作系统的节点群组的一部分。可以验证平台证书181证明的这些属性,目的是确定计算机平台100是否被泄密。节点特定平台证书181增强了交换、重新分组以及替换支持多节点分布式操作系统的节点90的能力。
根据示例实施方式,计算机平台100可以是包括框架或机箱的模块化单元。此外,该模块化单元可以包括安装在机箱上并且能够执行机器可执行指令的硬件。根据示例实施方式,刀片服务器是计算机平台100的示例。然而,根据进一步实施方式,计算机平台100可以是除刀片服务器之外的任意数量的不同平台,如机架式服务器、独立服务器、客户端、台式机、智能电话、可穿戴计算机、网络部件、网关、网络交换机、存储阵列、便携式电子设备、便携式计算机、平板电脑、瘦客户端、膝上型计算机、电视、模块化交换机、消费电子设备、电器、边缘处理系统、传感器系统、手表、可移除外围设备卡等等。
应注意的是,根据计算机平台100的许多可能的实施方式中的一个实施方式,在图1中描绘的计算机平台100的架构是计算机平台100的许多可能的架构中的一个架构。
一般而言,网络结构194可以与一种或多种类型的通信网络(比如(作为示例)光纤信道网络、Gen-Z结构、专用管理网络、局域网(LAN)、广域网(WAN)、全球网络(例如,因特网)、无线网络或其任何组合)相关联。
如在图1中所描绘的,根据示例实施方式,计算机平台100包括主机101和管理系统103。“主机”指计算机平台100的部件(例如,一个或多个主处理核110(例如,中央处理单元(CPU)核)和系统存储器114),这些部件执行以下两个动作中的至少一个:提供主机操作系统(例如,执行本地操作系统部件130)来为计算机平台100创建操作系统环境,或者提供预引导环境(例如,执行固件指令以提供基本输入/输出系统(BIOS)和/或统一可扩展固件接口(UEFI)137)来为操作系统环境准备计算机平台100。
“管理系统”指包括管理控制器(例如,基板管理控制器(BMC)123)的计算机平台100的一部分,该管理系统与主机101分离以及一个或多个服务角色服务于主机101。根据示例实施方式,管理控制器可以为主机101提供管理服务,如监测传感器;监测电力状态;记录事件;以及在通过主机101加载以及执行固件图像之前验证这些图像。管理控制器可以进一步包括提供通过管理服务器190控制的管理功能。根据示例实施方式,管理服务器190可以位于与计算机平台100不同的地理位置处;以及对于这些示例实施方式,管理服务器190可以经由管理控制器远程控制主机101的管理操作。管理控制器可以使用与由主机101使用的网络信道分离的管理网络信道与管理服务器190通信。作为示例,远程控制的管理功能可以包括对计算机平台100进行上电和断电;将计算机平台100置于待机功率模式下,在该模式下管理系统103被上电以及主机101被断电;为主机101指定引导驱动器;指定虚拟媒体;执行计算机平台100的恢复操作;等等。此外,根据一些实施方式,管理系统103可以与管理服务器190通信以及在计算机平台100处于待机功率模式下时提供一个或多个远程控制的管理服务。
根据示例实施方式,管理控制器可以提供一个或多个安全相关角色来为主机101提供对应的安全相关服务。作为示例,安全相关服务可以包括确认(多个)固件图像;更新固件图像;监测固件和/或软件完整性测量(例如,操作系统内核测量)以检测安全问题;扩展平台配置寄存器(PCR)状态;等等。
对于在图1中所描绘的示例实施方式,管理控制器是管理系统103的BMC 123。根据示例实施方式,以下描述内容描述了通过作为管理控制器的BMC 123进行的动作,包括涉及平台证书181的验证以及平台证书181的创建的动作。然而,根据进一步的示例实施方式,管理控制器可以是除BMC以外的部件。根据进一步示例实施方式,管理控制器可以是平台控制器、机箱管理控制器、智能I/O外围设备、智能网络接口控制器(NIC)等等。
作为其管理平面的一部分,BMC 123可以为计算机平台100提供各种管理服务,包括监测传感器(例如,温度传感器、冷却风扇速度传感器);监测操作系统状态;监测电力状态;记录计算机系统事件;当(多个)主处理核110实例化UEFI 137时验证UEFI图像;以及提供可以通过管理服务器190远程控制的管理功能。此外,BMC 123可以允许在主机101断电时以及操作系统已引导之前执行操作;以及BMC 123可以用于在操作系统或计算机系统出现故障之后执行恢复操作。根据示例实施方式,BMC 123可以包括网络接口以经由管理网络与管理服务器190通信。根据进一步实施方式,BMC 123可以通过计算机平台100的PCIe设备105经由直通通信与管理服务器190通信。管理服务器190可以与BMC 123通信以执行如键盘视频鼠标(KVM)功能的远程管理功能;虚拟电力功能(例如,用于远程设置电力状态(如节能状态、通电、复位状态或关机状态)的远程激活的功能);虚拟媒体管理功能;等等。
作为其安全平面的一部分,BMC 123可以为计算机平台100提供各种安全相关服务,如在通过BMC 123执行固件之前确认BMC固件。安全相关角色还可以包括在计算机平台100的上电或复位之后、在UEFI图像中包含的固件指令通过(多个)主处理核110执行之前确认UEFI图像。安全相关角色可以包括监测软件测量(操作系统内核测量)以检测安全问题。安全相关角色可以包括更新固件。此外,作为其安全相关角色的一部分,BMC 123可以测量UEFI引导块并且利用所测量的UEFI引导状态扩展存储在主机101的安全处理器160中的PCR状态。BMC 123可以为计算机平台100执行多个其他安全相关角色中的任何一个。
如本文所使用的,“BMC”或“基板管理控制器”是专用服务处理器,其使用传感器来监测服务器或其他硬件的物理状态以及通过管理网络与管理系统进行通信。基板管理控制器还可以通过以下各项与在操作系统级别执行的应用程序进行通信:输入/输出控制器(IOCTL)接口驱动器、代表性状态转移(REST)API、或促进基板管理控制器与应用程序之间的通信的某种系统软件代理。基板管理控制器可以对位于包括系统存储器的服务器机箱中的硬件设备进行硬件级别访问。基板管理控制器可以能够直接修改硬件设备。基板管理控制器可以独立于其中设置有基板管理控制器的系统的操作系统进行操作。基板管理控制器可以位于服务器或要监测的其他设备的母板或主电路板上。基板管理控制器可以被安装到连接到母板的另一板。基板管理控制器可以被安装在受管服务器/硬件的母板上或以其他方式连接或附接到受管服务器/硬件的事实并不防止基板管理控制器被认为与服务器/硬件“分离”。如本文所使用的,基板管理控制器具有对计算设备的子系统的管理能力,并且与执行计算设备的操作系统的处理资源分离。基板管理控制器与在系统上执行高级操作系统或管理程序的处理器(如中央处理单元)分离。
根据示例实施方式,管理系统103包括如非易失性存储器180的安全存储器。根据一些实施方式,非易失性存储器180在BMC 123的外部,以及BMC 123控制对非易失性存储器180访问。根据进一步实施方式,非易失性存储器180可以是BMC 123的内部存储器。非易失性存储器180可以存储表示平台证书181的数据,以及非易失性存储器180可以存储表示背书密钥(EK)证书195的数据。
根据一些实施方式,管理系统103可以包括安全处理器166(或“密码安全处理器”)。存储在非易失性存储器180中的EK证书195可以包含识别安全处理器166的数据(例如,序列号、版本号、制造商)。此外,EK证书195可以包含表示与存储在安全处理器166的安全存储器168(例如,非易失性随机存取存储器(NVRAM))中的私有EK 170(例如,非对称密钥的私有部分,如RSA密钥)相对应的公共EK 196(例如,非对称密码密钥的公共部分,如RSA密钥)的数据。EK证书195可以包含表示EK证书195的发行者的签名197的数据,以及表示对应发行者187证书的引用的数据。根据进一步示例实施方式,表示EK证书195的数据可以存储在安全处理器166的存储器中。
根据示例实施方式,BMC 123包含平台证书验证引擎124,该平台证书验证引擎响应于计算机平台100的启动(例如,上电或复位),验证平台证书181,如本文结合图4进一步所描述的。验证平台证书181可以包括BMC 123确认平台证书181,确认平台证书181所引用的EK证书195,以及验证平台证书181证明的计算机平台100的属性。
根据示例实施方式,平台证书验证引擎124在计算机平台100的预引导环境中验证平台证书181。“预引导环境”指在操作系统的(多个)本地部件130被加载在计算机平台100上以及控制被转移到操作系统之前计算机平台100启动的阶段或时期。因此,当验证平台证书181失败时,平台证明验证引擎124可以在操作系统加载之前发起(多个)恰当的纠正动作以防止客户的基础设施(例如,网络和其他计算机平台)暴露于泄密的平台。作为示例,这种纠正动作可以包括对计算机平台100进行断电、对主机101进行断电、向管理服务器190发送警报消息、防止计算机平台100“加入舰队”(例如,防止计算机平台100被连接到网络结构194,或将计算机平台100与其相关联的节点90的群组隔离等等)。
如在图1中所描绘的,根据示例实施方式,BMC 123可以包括平台证书生成引擎125。根据一些实施方式,如本文结合图3进一步所描述的,平台证书生成引擎125可以由计算机平台100的制造商用来为非易失性存储器180预置平台证书181和EK证书195。
根据一些实施方式,平台证书验证引擎124和平台证书生成引擎125可以在计算机平台100在待机功率操作模式下执行它们的操作中的至少一些操作。在待机功率操作模式下,计算机平台100的电源175将电力供应给向管理系统103的部件提供电力的供电电压轨176,但是在待机功率操作模式下,电源175不将电力供应给向主机101提供电力的供电电压轨177。相应地,根据一些实施方式,在待机功率操作模式下,管理系统103被上电,而主机101被断电。例如,这与计算机平台100的管理系统103被上电而主机101的部件也被上电的其他功率操作模式相反。根据示例实施方式,电源175供应电力给管理系统103,以及BMC123可以由管理服务器190远程控制以控制主机供电电压轨177中的哪些(如果有的话)被通电。
根据示例实施方式,管理系统103的安全处理器166与主机101隔离,即,主机101不会“看见”安全处理器166。相反,根据示例实施方式,主机101具有对应主机安全处理器160,以及管理系统103具有对应管理安全处理器166。因此,根据示例实施方式,计算机平台100的操作系统可以访问安全处理器160;操作系统不可以访问安全处理器166;以及操作系统不会“看见”安全处理器166。根据一些实施方式,对于计算机平台100的所有环境而言(包括预引导环境(即,上电之后的环境或操作系统加载之前的复位)以及引导后环境(即,操作加载之后的环境)),BMC 123是安全处理器166的唯一所有者。根据示例实施方式,无论通过对BMC 123的应用程序编程接口(API)调用还是以其他方式,BMC 123可以门控或控制对安全处理器166的访问,使得BMC 123可以访问安全处理器166而主机101不可以访问安全处理器166。
根据示例实施方式,安全处理器160、166(其中,标记“160、166”指安全处理器160、安全处理器166或者安全处理器160和166两者)可以是用于存储的信任根和用于报告的信任根。在这种上下文中,“信任根设备”或“RoT设备”可以是以预期方式表现的设备,因为可能无法检测到RoT设备的不良行为。换句话说,RoT设备可以是本质上可信的软件、硬件或其某种组合。RoT设备可以包括计算引擎。计算引擎可以是使用RoT设备中的硬件进行操作的软件、RoT设备的硬件、或其某种组合。例如,RoT设备可以包括存储信任根(RTS)。RTS可以是能够维护值的准确汇总的计算引擎。
根据示例实施方式,安全处理器160、166可以呈安装到计算机平台100的母板的半导体封装(或“芯片”)的形式。安全处理器160、166的安全存储器(如在图1中所描绘的如安全处理器166的安全存储器168)可以存储平台秘密,如密码密钥、密码、密封的密码密钥、密码、证书、公共密钥、私有密钥等等。此外,安全存储器可以存储表示测量摘要的数据。安全处理器160、166可以根据行业标准设计以提供基于硬件的安全功能,同时还抵抗篡改和恶意软件。根据一些实施方式,安全处理器160、166可以是TPM。
根据示例实施方式,安全处理器160、166可以执行可信计算操作,如在可信计算组织发布的可信平台模块库规范,族2.0,级别00,修订版01.59(2019年11月)(以下称为“TPM2.0规范”)中描述的可信计算操作。根据一些实施方式,安全处理器160、166可以执行TPM2.0规范中未描述的一个或多个可信计算操作。
根据一些实施方式,安全处理器160、166可以包含执行安全处理器160、166的指令的一个或多个处理核(例如,CPU核),目的是使安全处理器160、166执行其功能。根据进一步示例实施方式,安全处理器160、166可以使用不执行机器可执行指令的电路来执行全部或部分功能,如现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)或专用集成电路(ASIC)。
根据进一步实施方式,安全处理器160、166可以是通过执行软件或固件形成的虚拟安全处理器。例如,根据一些实施方式,主机101的安全处理器160可以是虚拟TPM(或“vTPM”),其可以例如,由计算机平台100的管理程序或其他实体提供。作为另一示例,根据一些实施方式,管理系统103的安全处理器166可以是通过BMC 123执行固件指令形成的vTPM。
在计算机平台100的其他特征当中,根据示例实施方式,计算机平台100的桥接器基础设施可以包括一个或多个桥接器118。(多个)桥接器118在计算机平台100的各种链路或总线之间建立通信。(多个)桥接器118可以被耦接到主处理核110和BMC 123、以及计算机平台100的各种其他硬件部件,如存储驱动器;一个或多个NIC;一个或多个通用串行总线(USB)设备;视频控制器;等等。此外,还如在图1中所描绘的,根据示例实施方式,一个或多个PCIe设备105可以经由对应PCIe总线或链路111被耦接到(多个)桥接器118。根据进一步实施方式,主处理核110可以为主机101形成硬件处理器。主处理核110可以通过对应的单个PCIe链路111被耦接到PCIe设备105。根据更进一步的实施方式,(多个)I/O桥接器106和PCIe接口可以是包含主处理核110的一个或多个CPU封装的一部分。
一般而言,形成系统存储器114、非易失性存储器180以及本文描述的其他存储器和存储介质的存储器设备可以由非暂态存储器设备形成,如半导体存储设备、闪速存储器设备、忆阻器、相变存储器设备、上述存储技术中的一种或多种的组合等等。此外,除非本文另有说明,否则存储器设备可以是易失性存储器设备(例如,动态随机存取存储器(DRAM)设备、静态随机存取(SRAM)设备等)或非易失性存储器设备(例如,闪速存储器设备、只读存储器(ROM)设备等)。
计算机平台100的一个或多个主处理核110可以执行机器可执行指令109(例如,存储在系统存储器114中的指令),这使(多个)主处理核110形成主机101的各种固件和软件部件。例如,一个或多个主处理核110可以执行平台固件指令,目的是形成UEFI137。UEFI 137可以为计算机平台100提供预引导环境服务和运行时(或“引导后环境”)服务。预引导服务可以包括如初始化主处理核110和系统存储器114等硬件部件的服务;以一定的顺序加载和执行驱动器以初始化计算机平台100;执行硬件和软件安全检查;加载操作系统的引导加载程序;确认和加载来自I/O外围设备的驱动器,如PCIe设备105;等等。“运行时服务”指在将计算机平台100的控制权交给操作系统之后由UEFI 137提供的服务。
参考图2结合图1,根据示例实施方式,BMC 123包括硬件处理器,该硬件处理器包括一个或多个主处理核254(例如,CPU核)。(多个)主处理核254执行固件管理堆栈,目的是为BMC 123形成管理平面。通过其管理平面,BMC 123可以为主机101提供管理服务。根据示例实施方式,BMC 123包括为BMC 123形成安全平面的安全隔离区240。通过其安全平面,BMC123可以为主机101提供安全相关服务。根据进一步的示例实施方式,BMC 123可以不包括安全隔离区240。
安全隔离区240可以包括硬件安全隔离区处理器242(例如,一个或多个处理核,如一个或多个CPU核)以及存储器243,该存储器存储机器可执行指令239,这些指令可以由安全隔离区处理器242执行以为计算机平台100执行安全相关服务。根据示例实施方式,安全隔离区处理器242执行机器可执行指令239以形成平台证书验证引擎124和平台证书生成引擎125。此外,还如在图2中所描绘的,根据示例实施方式,存储器243可以存储与平台证书验证引擎124和平台证书生成引擎125的操作有关的数据241。以这种方式,数据241可以是与以下操作有关的初步、中间或最终阶段的数据:生成平台证书、确认平台证书、确认EK证书、确定计算机平台100的库存、将计算机平台100的库存与由平台证书181提供的参考库存进行比较、将计算机平台100的实际属性验证为平台证书181证明的属性等等。
根据进一步示例实施方式,平台证书验证引擎124和/或平台证书生成引擎125可以由作为其管理平面的一部分的BMC 123提供。例如,对于这些实施方式,由BMC 123的一个或多个主处理核254(例如,一个或多个CPU核)形成的硬件处理器可以执行机器可执行指令,目的是形成平台证书验证引擎124和/或平台证书生成引擎125。根据进一步示例实施方式,平台证书验证引擎124和/或证书生成引擎125可以由不执行机器可执行指令的专用硬件(例如,ASIC、CPLD、FPGA等等)整体形成或部分形成。
根据进一步示例实施方式,平台证书验证引擎124和/或平台证书生成引擎125可以是管理服务器190的一部分。例如,根据一些实施方式,管理服务器190的一个或多个硬件处理器可以执行机器可读指令以形成平台证书验证引擎124的部件和/或平台证书生成引擎125的部件。这些部件可以与计算机平台100的管理控制器(例如,BMC)通信,目的是验证平台证书181和/或为非易失性存储器180预置平台证书181和EK证书195。
根据一些实施方式,如(多个)主处理核254、一个或多个总线通信接口256、存储器255、NIC 258(其可以被耦接到网络结构194)以及安全隔离区240等BMC 123的部件可以被设置在半导体封装253(或“芯片”)的内部。半导体封装253可以是多种封装类型中的任何一种,例如表面安装封装、通孔封装、球栅阵列封装、小外形封装、芯片级封装等等。此外,取决于特定实施方式,安全隔离区240的部件可以在半导体封装253的一个或多个裸片257中制造,并且BMC 123的管理平面部件(如(多个)主处理核254、(多个)总线通信接口、存储器255以及NIC 258)可以在半导体封装253的一个或多个其他裸片中制造。
根据示例实施方式,BMC的安全隔离区240是BMC 123的子系统,进出该子系统的访问受到严格控制。根据示例实施方式,安全隔离区240为计算机平台100执行密码功能,并且被完全设置在密码边界内部。在这种情况下,“密码边界”指连续的边界或周界,该密码边界包含密码子系统的逻辑和物理部件,如形成安全隔离区240的BMC部件。
根据示例实施方式,安全隔离区240包括为BMC 123提供安全特征的硬件或硅信任根引擎251(本文称为“SRoT引擎251”)。更具体地,根据示例实施方式,安全隔离区240存储不可变指纹,SRoT引擎251使用该指纹来确认可以存储在非易失性存储器264中的计算机平台100的固件270的部分。根据示例实施方式,固件270可以包括当它们通过确认时被存储在安全隔离区240的存储器243中并且由安全隔离区处理器242执行的机器可执行指令;当它们通过确认时,与BMC的管理堆栈固件图像相对应的机器可执行指令通过BMC 123的(多个)主处理核254执行;与UEFI 137相对应的UEFI固件图像的机器可执行指令;等等。
根据示例实施方式,当BMC 123首先通电或复位时,BMC 123便掌控住(多个)主处理核254和安全隔离区处理器242。响应于通电或复位,SRoT引擎251确认固件270的初始部分,然后将该固件的初始部分加载到安全隔离区240的存储器243中,使得该固件部分现在是可信的。BMC 123然后释放掌控的安全隔离区处理器242,以允许安全隔离区处理器242引导并执行加载的固件指令。通过执行固件指令,安全隔离区处理器242然后可以确认与BMC的管理固件堆栈相对应的固件,并且在确认之后,将固件加载到BMC 123的存储器255中。管理固件堆栈的指令然后可以由(多个)主处理核254(当从复位中释放时)执行,这使得(多个)主处理核254加载固件270的附加部分并将加载的部分放入存储器277中。对存储器277的访问可以涉及附加的训练和初始化步骤(例如,由DDR规范阐述的训练和初始化步骤)。这些指令可以从存储器255中的BMC固件管理堆栈的已确认部分执行。根据示例实施方式,安全隔离区240可以锁定存储器255,以防止对存储在存储器255中的(多个)已确认部分的修改或篡改。因此,根据示例实施方式,信任链可以从BMC的SRoT扩展到由BMC的(多个)主处理核254执行的固件管理堆栈。
根据示例实施方式,BMC 123被构造用于防止BMC 123的给定域或实体上电或退出复位,直到安全隔离区240确认了该域/实体为止。此外,根据示例实施方式,BMC 123可以防止BMC 123的部件访问BMC 123的资源和计算机平台100的资源,直到安全隔离区240批准/确认了这些资源为止。BMC 123可以执行总线过滤和监测(例如,对SPI总线、系统管理总线(SMB)、内部集成部件(I2C)总线、改进的I2C(I3C)总线等的总线过滤和监测),以防止对总线设备的不希望的访问。
根据示例实施方式,BMC 123的总线通信接口256可以包括被耦接到主机101的总线的一个或多个接口;(多个)桥接器118的一个或多个接口;以及非易失性存储器180、存储器277以及非易失性存储器264的接口。根据一些实施方式,特定总线通信接口256可以将BMC 123耦接到被耦接到安全处理器166的总线(例如,串行外围设备接口(SPI)总线或低引脚计数(LPC)总线)。根据一些实施方式,BMC 123和安全处理器166可以是被耦接到这个总线的唯一总线设备,由此建立BMC 123作为网关管理员来控制对安全处理器166的访问。
BMC 123可以具有与在图2中所描绘的以及本文根据进一步实施方式所描述的架构不同的架构。
图3描绘了根据示例实施方式的可以由BMC 123使用其平台证书生成引擎125执行的过程300。参考图3结合图1,根据示例实施方式,过程300包括收集或获取计算机平台100的库存。根据示例实施方式,这种收集库存被用于形成平台证书181的对应参考库存189。根据示例实施方式,收集库存可以涉及在计算机平台100处于待机操作模式(例如,主机101被断电的操作模式)时,使用BMC 123来直接收集参考库存189的第一部分。更具体地,依照框304,过程包括在计算机平台100处于待机功率操作模式时,管理服务器190经由管理网络与BMC 123通信以收集与计算机平台100相关联以及通过BMC 123可访问的库存。根据示例实施方式,在计算机平台100处于待机操作模式时,BMC 123可能不能够直接收集全部参考库存189。因此,依照框308,根据示例实施方式,计算机平台100被控制使得计算机平台100经由UEFI引导(而不引导主机操作系统)以收集参考库存189的在待机功率操作模式下不可通过BMC 123直接访问的部分。
依照框316,过程300包括生成平台证书181以及对该平台证书进行签名。根据一些实施方式,生成平台证书181包括为平台证书181生成表示参考库存189的数据、为平台证书181生成表示平台证书181的发行者187的数据、生成表示安全处理器绑定信息185的数据、以及生成表示其他平台属性188的数据。根据示例实施方式,安全处理器绑定信息185是对EK证书195的引用。因为EK证书195被绑到特定安全处理器166,平台证书181由于包含安全处理器绑定信息185也被绑定到安全处理器166。其他平台属性188可以包括计算机平台100的各种其他标识以及配置元素属性,作为示例,如平台版本号、平台型号、平台序列号、与计算机平台100相关联的规范等等。
依照框316,BMC 123对平台证书181的数据进行签名。作为示例,根据一些实施方式,对数据进行签名可以包括BMC 123基于与发行者187相关联的私有密钥以及平台证书181的非签名字段内容确定散列值。这个散列进而形成平台证书181的对应签名184。因此,如本文结合图4进一步所描述的,平台证书181可以基于平台证书181的签名184以及平台证书181的对应非签名字段内容被确认。签名184可以通过对应PKI以及相关联的证书信任链创建。平台证书181的发行者具有对应公共密钥,该对应密钥可以用于对平台证书的内容181进行散列运算,使得如果散列值与签名184是相同的,则平台证书181通过确认。如本文进一步所描述的,然后可以评估平台证书181的内容,目的是形成平台证书确认的第二部分。依照过程300的框320,平台证书181可以存储在计算机平台100的非易失性存储器180中。
在本文使用的上下文中,“散列”(本文中也称为“散列值”)是通过将密码散列函数应用于值(例如,如图像等输入)而产生的。“密码散列函数”可以是通过处理器(例如,一个或多个中央处理单元(CPU)、一个或多个CPU处理核等等)执行机器可执行指令而提供的函数。密码散列函数可以接收输入,并且密码散列函数然后可以生成十六进制字符串以匹配该输入。例如,该输入可以包括数据串(例如,由起始存储器地址和结束存储器地址表示的存储器中的数据结构)。在这种示例中,密码散列函数基于数据串输出十六进制字符串。进一步地,该输入的任何微小变化都可能改变输出的十六进制字符串。在另一个示例中,密码散列函数可以是安全散列函数(SHA)、任何联邦信息处理标准(FIPS)批准的散列函数、任何国家标准与技术研究院(NIST)批准的散列函数、或任何其他密码散列函数。在一些示例中,代替十六进制格式,字符串可以使用另一种格式。
图4描绘了根据示例实施方式的由BMC 123使用平台证书验证引擎124执行以验证平台证书181的过程400。根据示例实施方式,BMC 123可以响应于计算机平台100的启动或响应于从管理服务器190的通信执行过程400。参考图4结合图1,依照过程400的框404,BMC123访问被存储在非易失性存储器180中的平台证书181。BMC 123然后确认(框408)平台证书181。这个确认可以包括BMC 123确认平台证书181的签名184。如果依照决定框410,平台证书181没有通过确认,则依照框424,BMC 123记录故障并且发起(框428)(多个)恰当的纠正动作。
如果平台证书通过确认,则依照框412,BMC 123确认平台证书181所引用的EK证书195。根据一些实施方式,确认EK证书195涉及确认EK证书195的签名197。依照决定框414,如果确认EK证书195失败,则该故障被记录424并且依照框428,BMC 123发起(多个)恰当的纠正动作。
依照框416,根据示例实施方式,BMC 123接下来验证计算机平台100具有由平台证书181证明的属性。例如,框416可以包括BMC 123将参考库存189与计算机平台100的实际库存进行比较。此外,根据示例实施方式,框416可以包括BMC 123验证其他经证明的属性。例如,这可以需要BMC 123验证平台标识属性、验证平台规范属性、验证特定配置元素等等。此外,根据示例实施方式,框416可以包括BMC 123验证安全处理器绑定信息185准确地引用EK证书195。如果依照决定框418,验证平台证书181失败,则平台证书验证故障被记录(框424),并且依照框428,BMC 123发起(多个)恰当的纠正动作。否则,如果平台证书181的验证通过,则根据示例实施方式,BMC 123记录(框432)平台证书验证通过。
参考图5,根据示例实施方式,过程500包括通过计算机平台的管理控制器访问(框504)存储在安全存储器中的平台证书。该平台证书包括表示计算机平台的参考库存的数据。该平台证书包括表示被指定为将该平台证书绑定到安全处理器的信息的数据。该安全处理器可通过管理控制器访问。该安全处理器不可通过计算机平台的操作系统访问。过程500包括验证(框508)平台证书。验证平台证书包括通过管理控制器来确认该平台证书的签名;以及通过管理控制器确认被指定为将平台证书绑定到安全处理器的信息。验证平台证书包括通过管理控制器将计算机平台的第二库存与参考库存进行比较。过程500包括基于验证平台证书的结果控制(框512)计算机平台。
参考图6,根据示例实施方式,非暂态存储介质600存储机器可执行指令604。指令604当由机器执行时以及响应于机器的引导,使机器的管理控制器验证平台证书。验证平台证书包括管理控制器确定平台证书的签名是否有效。平台证书包括表示背书密钥证书参考的数据以及表示机器的参考库存的数据。验证平台证书包括管理控制器确定背书密钥证书的签名是否有效。背书密钥证书与限于管理控制器能够访问的可信平台模块(TPM)相对应。验证平台证书包括管理控制器响应于确定平台证书的签名是有效的以及确定背书密钥证书的签名是有效的,确定背书密钥证书参考是否与背书密钥证书相对应。验证平台证书包括管理控制器响应于确定平台证书的签名是有效的,将机器的实际库存与参考库存进行比较。指令604当由机器执行时以及响应于机器的引导,进一步使管理控制器响应于验证平台证书的结果控制机器的响应。
参考图7,根据示例实施方式,计算机平台700包括主机701和管理系统704。主机包括可信平台模块702和主处理器703以执行主机操作系统。管理系统704包括可信平台模块724、存储器708、以及基板管理控制器720。可信平台模块724不可通过操作系统访问。可信平台模块724存储私有背书密钥725。存储器708存储平台证书705。平台证书705包括表示计算机平台700的参考属性716的数据以及引用背书密钥证书718的数据712。背书密钥证书包括与私有背书密钥相对应的公共背书密钥。基板管理控制器720被耦接到存储器708以确认平台证书705的签名以及确认背书密钥证书的签名。基板管理控制器720基于平台证书签名的确认通过、背书密钥证书签名的确认通过、以及计算机平台的实际属性与参考属性716的比较来验证计算机平台700的完整性。
根据示例实施方式,获取所述第二库存包括通过所述管理控制器在所述计算机平台在待机功率模式下获取所述第二库存的至少一部分,其中,所述管理控制器接收电力,并且与所述计算机平台的主机相关联的部件是断电的。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,获取第二库存进一步包括向主机提供电力以及由主机执行固件以获取第二库存的至少一部分。特定优势是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,执行固件包括执行统一可扩展固件接口(UEFI)指令。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,管理控制器响应于计算机平台的启动执行平台证书的验证。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,计算机平台与多个节点计算系统的多个节点中的节点相对应。操作系统包括多节点操作系统的本地部件。特定优点是每节点平台证书可以被绑定到节点的安全处理器,从而允许不同的多节点用例。
根据示例实施方式,控制计算机平台包括基于验证平台证书的结果控制计算机平台。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,控制计算机平台包括控制操作系统是否在计算机平台上引导。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,控制计算机平台包括基于将第二库存与参考库存进行比较的结果控制计算机平台是否与计算机网络隔离。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,确认平台证书的签名包括基于平台证书的内容确认签名。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,被指定为将平台证书绑定到安全处理器的信息包括背书密钥证书。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,管理控制器基于背书密钥证书的内容确认背书密钥证书的签名。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
根据示例实施方式,管理控制器包括基板管理控制器,以及安全处理器包括可信平台模块(TPM)。根据示例实施方式,基板管理控制器控制对TPM的访问。特定优点是可以验证平台身份、平台库存以及供应链完整性而不将操作系统暴露于泄密的计算机平台。
尽管已经关于有限数量的实施方式描述了本公开,但受益于本公开的本领域技术人员将了解本公开的许多修改和变化。所附权利要求书旨在覆盖所有这种修改和变化。
Claims (20)
1.一种方法,包括:
通过计算机平台的管理控制器访问存储在安全存储器中的平台证书,其中,所述平台证书包括表示所述计算机平台的参考库存的数据,所述平台证书包括表示被指定为将所述平台证书绑定到安全处理器的信息的数据,所述安全处理器能够通过所述管理控制器访问,并且所述安全处理器不能够通过所述计算机平台的操作系统访问;
验证所述平台证书,其中,所述验证包括以下操作:
通过所述管理控制器来确认所述平台证书的签名;
通过所述管理控制器来验证被指定为将所述平台证书绑定到所述安全处理器的所述信息;以及
通过所述管理控制器,将所述计算机平台的第二库存与所述参考库存进行比较;以及
基于验证所述平台证书的结果来控制所述计算机平台。
2.如权利要求1所述的方法,其中,获取所述第二库存包括:通过所述管理控制器在所述计算机平台的待机功率模式下获取所述第二库存的至少一部分,在所述待机功率模式下,所述管理控制器接收电力并且与所述计算机平台的主机相关联的部件是断电的。
3.如权利要求1所述的方法,其中,获取所述第二库存进一步包括:向所述主机提供电力,以及通过所述主机来执行固件以获取所述第二库存的至少一部分。
4.如权利要求3所述的方法,其中,执行所述固件包括:执行统一可扩展固件接口UEFI指令。
5.如权利要求1所述的方法,进一步包括:通过所述管理控制器,响应于所述计算机平台的启动执行所述平台证书的验证。
6.如权利要求1所述的方法,其中,所述计算机平台与多个节点计算系统的多个节点中的节点相对应,所述操作系统包括多节点操作系统的本地部件。
7.如权利要求1所述的方法,其中,控制所述计算机平台包括:基于验证所述平台证书的结果控制所述计算机平台。
8.如权利要求1所述的方法,其中,控制所述计算机平台包括:控制所述操作系统是否在所述计算机平台上引导。
9.如权利要求1所述的方法,其中,控制所述计算机平台包括:基于将所述第二库存与所述参考库存进行比较的结果控制所述计算机平台是否与计算机网络隔离。
10.如权利要求1所述的方法,其中,确认所述平台证书的签名包括:基于所述平台证书的内容确认所述平台证书。
11.如权利要求1所述的方法,其中,被指定为将所述平台证书绑定到所述安全处理器的所述信息包括背书密钥证书。
12.如权利要求11所述的方法,进一步包括:
通过所述管理控制器来基于所述背书密钥证书的内容确认所述背书密钥证书的签名。
13.如权利要求11所述的方法,其中,所述管理控制器包括基板管理控制器,所述安全处理器包括可信平台模块TPM,以及所述方法进一步包括:所述基板管理控制器控制对所述TPM的访问。
14.如权利要求1所述的方法,进一步包括:
响应于所述计算机平台处于待机功率模式而与所述管理控制器通信,以获取表示所述参考库存的至少一部分的数据,其中,所述管理控制器在所述待机功率模式期间是通电的,并且所述计算机平台的主处理器在所述待机功率模式期间是断电的,并且所述主处理器执行所述操作系统;
响应于获取到表示所述参考库存的至少一部分的数据,生成所述平台证书;以及
使所述管理控制器在所述安全存储器中存储所述平台证书。
15.一种计算机平台,包括:
主机,所述主机包括主处理器,其中,所述主处理器用于执行操作系统;以及
管理系统,所述管理系统包括:
可信平台模块,所述可信平台模块不能够通过所述操作系统访问,其中,所述第二可信平台模块存储私有背书密钥;
存储器,所述存储器用以存储平台证书,其中,所述平台证书包括表示所述计算机平台的参考属性的数据以及引用背书密钥证书的数据,并且所述背书密钥证书包括与所述私有背书密钥相对应的公共背书密钥;以及
基板管理控制器,所述基板管理控制器耦接到所述存储器以进行以下操作:
确认所述平台证书的签名;
确认所述背书密钥证书的签名;以及
基于所述平台证书的签名确认通过、所述背书密钥证书的签名确认通过以及所述计算机平台的实际属性与所述参考属性的比较,验证所述计算机平台的完整性。
16.如权利要求15所述的计算机平台,其中,所述基板管理控制器响应于所述计算机平台的引导,确认所述平台证书的签名、确认所述背书密钥证书的签名以及验证所述计算机平台的完整性。
17.如权利要求15所述的计算机平台,其中:
所述参考属性包括所述计算机平台的参考库存;
所述基板管理控制器用于在所述计算机平台的待机功率模式下确定所述计算机平台的第二库存的第一部分,在所述待机功率模式下,所述主机是断电的;
所述主处理器用于执行固件来确定所述第二库存的第二部分;以及
所述基板管理控制器用于将所述第二库存与所述参考库存进行比较,以及响应于所述比较的结果发起纠正动作。
18.一种用于存储机器可执行指令的非暂态机器可执行存储介质,所述指令在由机器执行时以及响应于所述机器的引导:
使所述机器的管理控制器验证平台证书,其中,验证所述平台证书包括以下操作:
确定所述平台证书的签名是否有效,其中,所述平台证书包括表示背书密钥证书参考的数据以及表示所述机器的参考库存的数据;
确定背书密钥证书的签名是否有效,其中,所述背书密钥证书与限于所述管理控制器能够访问的可信平台模块TPM相对应;
响应于确定所述平台证书的签名是有效的以及确定所述背书密钥证书的签名是有效的,确定所述背书密钥证书参考是否与所述背书密钥证书相对应;以及
响应于确定所述平台证书的签名是有效的,将所述机器的实际库存与所述参考库存进行比较;以及
使所述管理控制器响应于验证所述平台证书的结果控制所述机器的响应。
19.如权利要求18所述的存储介质,其中,所述管理控制器包括基板管理控制器。
20.如权利要求18所述的存储介质,其中,所述指令在由所述机器执行时进一步使所述机器致使所述基板控制器控制所述机器是否响应于验证所述机器的完整性的结果而加载操作系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/660,437 | 2022-04-25 | ||
US17/660,437 US20230342446A1 (en) | 2022-04-25 | 2022-04-25 | Management controller-based verification of platform certificates |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116956267A true CN116956267A (zh) | 2023-10-27 |
Family
ID=88238493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211309294.7A Pending CN116956267A (zh) | 2022-04-25 | 2022-10-25 | 平台证书的基于管理控制器的验证 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230342446A1 (zh) |
CN (1) | CN116956267A (zh) |
DE (1) | DE102022126648A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240146714A1 (en) * | 2022-10-26 | 2024-05-02 | Dell Products L.P. | Security key integrity verification using inventory certificates |
-
2022
- 2022-04-25 US US17/660,437 patent/US20230342446A1/en active Pending
- 2022-10-13 DE DE102022126648.6A patent/DE102022126648A1/de active Pending
- 2022-10-25 CN CN202211309294.7A patent/CN116956267A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022126648A1 (de) | 2023-10-26 |
US20230342446A1 (en) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11843705B2 (en) | Dynamic certificate management as part of a distributed authentication system | |
US11861372B2 (en) | Integrity manifest certificate | |
EP3582129B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
US8060934B2 (en) | Dynamic trust management | |
US11714910B2 (en) | Measuring integrity of computing system | |
US11106798B2 (en) | Automatically replacing versions of a key database for secure boots | |
US11868474B2 (en) | Securing node groups | |
US9928367B2 (en) | Runtime verification | |
US12105806B2 (en) | Securing communications with security processors using platform keys | |
US12105859B2 (en) | Managing storage of secrets in memories of baseboard management controllers | |
CN113568799A (zh) | 对物理安全设备的模拟 | |
US12069169B2 (en) | Managing use of management controller secrets based on firmware ownership history | |
CN116956267A (zh) | 平台证书的基于管理控制器的验证 | |
US11580225B2 (en) | Determine whether to perform action on computing device based on analysis of endorsement information of a security co-processor | |
US20230015519A1 (en) | Automatically evicting an owner of a security processor | |
US20230010319A1 (en) | Deriving independent symmetric encryption keys based upon a type of secure boot using a security processor | |
US12019752B2 (en) | Security dominion of computing device | |
US11977639B2 (en) | Indicating a type of secure boot to endpoint devices by a security processor | |
US20240372714A1 (en) | Managing use of management controller secrets based on firmware ownership history | |
US20230297682A1 (en) | Computing device quarantine action system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |