CN116049825A - 管理基板管理控制器的存储器中的秘密的存储 - Google Patents
管理基板管理控制器的存储器中的秘密的存储 Download PDFInfo
- Publication number
- CN116049825A CN116049825A CN202210415574.XA CN202210415574A CN116049825A CN 116049825 A CN116049825 A CN 116049825A CN 202210415574 A CN202210415574 A CN 202210415574A CN 116049825 A CN116049825 A CN 116049825A
- Authority
- CN
- China
- Prior art keywords
- secure
- host
- hardware processor
- memory
- secret
- 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
Images
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/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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
一种装置包括主机和基板管理控制器。基板管理控制器包括半导体封装;并且所述半导体封装包括存储器、安全硬件处理器;以及主硬件处理器。主硬件处理器使基板管理控制器充当代理,所述代理独立于主机而响应与远程管理实体的通信来管理主机。安全硬件处理器管理主机的秘密在存储器中的存储。
Description
背景技术
计算机平台(例如,服务器)可以包括被称为“基板管理控制器”或“BMC”的专用服务处理器,该专用服务处理器监测计算机平台的物理状态。BMC可以通过管理网络与远程管理服务器进行通信,以向远程管理服务器报告关于计算机平台的信息,并允许远程管理服务器控制由BMC执行的动作。作为其角色的示例,BMC可以:监测传感器(例如,温度传感器、冷却风扇速度传感器);监测操作***状态;监测电源状态;记录计算机***事件;执行远程控制的计算机平台功能(例如,使计算机平台加电和断电);等等。
附图说明
图1是根据示例实施方式的具有基板管理控制器(BMC)的计算机平台的示意图,该基板管理控制器包括存储秘密的安全存储器。
图2是BMC的安全包围区(enclave)的示意图,该安全包围区包含根据示例实施方式的存储秘密的安全存储器。
图3和图4示出了根据示例实施方式的BMC的部件的封装。
图5是描绘根据示例实施方式的过程的流程图,该过程由BMC的安全包围区使用来处理对存储在安全包围区的安全存储器中的密钥加密密钥的应用编程接口(API)请求。
图6是描绘根据示例实施方式的过程的流程图,该过程由BMC的安全包围区使用来处理用于更新或删除存储在安全包围区的安全存储器中的证书的API请求。
图7是根据示例实施方式的包括管理该装置的主机的秘密的存储的BMC的装置的示意图。
图8是描绘根据示例实施方式的管理存储在BMC的安全存储器中的秘密的过程的流程图。
图9是根据示例实施方式的存储在非暂态机器可读存储介质上的机器可读指令的图示,该机器可读指令使机器来管理管理控制器的安全存储器中的秘密的存储。
具体实施方式
BMC可以执行一组固件指令,称为“固件管理堆栈”,以用于执行计算机平台的各种管理相关功能。例如,BMC可以提供诸如以下这样的管理相关功能:操作***运行时服务;资源检测和初始化;以及预操作***服务。管理相关功能还可以包括计算机平台的远程管理功能。例如,远程管理功能可以包括:键盘、视频鼠标(KVM)功能;虚拟电源功能(例如,用于远程设置电源状态如节能状态、通电、复位状态或关机状态的远程激活的功能);虚拟媒体管理功能;等等。
除了为计算机平台提供管理功能之外,BMC可以提供保护计算机平台免受安全危害的安全相关特征。例如,BMC可以包括用于计算机平台的硬件(或“硅”)信任根(RoT)引擎,或“SRoT引擎”。SRoT引擎可以以各种方式验证计算平台的固件。例如,计算平台的固件可以被验证为已验证的固件部分的链。例如,硬件SRoT引擎可以验证硬件中的固件的一部分,将其加载到BMC的安全包围区中。安全包围区然后可以执行固件的已验证部分,以进一步验证固件的第二部分,依此类推,从而建立信任链。固件验证可以由单个实体(例如,仅作为安全包围区的功能)或由不同的实体来执行,假设每个实体仅执行固件的先前已验证部分。例如,前面示例中的固件的第二部分可以是安全包围区所需的附加固件。该第二部分用于验证第三部分,该第三部分可以对应于BMC的机器可读指令。该第三部分可以验证第四部分,该第四部分可以对应于主机***固件如统一可扩展固件接口(UEFI)固件的机器可读指令。
BMC是相对复杂的子***,其可以执行固件管理堆栈的数百万条指令,甚至是在计算机平台的其余部分通电之前。尽管BMC可以在BMC加载和执行堆栈之前验证固件管理堆栈的完整性,但是堆栈中相对大量的指令可能会将计算机平台暴露于潜在的或未发现的安全漏洞。由于专有管理堆栈缺乏透明度,可能潜在地具有未被发现的安全漏洞,计算机平台的客户可能想要使用开源固件管理堆栈来管理计算机平台。此外,给定的客户可能希望使用相同的开源固件管理堆栈来管理客户的所有计算机平台,而不管这些平台的(多个)特定供应商如何。作为示例,开源固件管理堆栈可以是作为OpenBMC社区的一部分开发的固件,如发布版本2.7或更高版本。
当允许客户提供BMC的固件管理堆栈时,BMC可能面临为计算机平台提供安全特征的挑战。例如,BMC的潜在安全特征可以是存储计算机平台秘密的存储器。作为示例,“秘密”可以是密码学密钥(cryptographic key)、证书、密码、令牌、种子、平台的密码身份等。在没有适当措施的情况下,秘密可能暴露于固件管理堆栈,因此可能易受固件管理堆栈的安全漏洞的影响。
根据本文描述的示例实施方式,计算机平台的管理控制器(如BMC)为计算机平台提供安全特征;执行固件管理堆栈;以及将安全特征与固件管理堆栈隔离。根据特定的实施方式,固件管理堆栈可以是非专有的开源固件堆栈;由计算机平台客户以其他方式提供的固件堆栈;专有固件堆栈;等等。根据示例实施方式,作为其安全特征的一部分,BMC提供存储器(本文称为“安全存储器”)来安全地存储计算机平台的秘密。作为示例,安全存储器可以是非易失性随机存取存储器(NVRAM),其中可以存储、读取、擦除和修改秘密。根据示例实施方式,BMC严格监管对安全秘密的访问。
根据一些实施方式,BMC提供管理平面和与管理平面隔离的安全平面。固件管理堆栈在管理平面中执行。根据示例实施方式,BMC的安全平面中的部件通过防火墙与计算机平台的其他部件隔离。在这种情况下,“防火墙”是指严格控制通信的通信屏障。作为示例,根据一些实施方式,可以通过使用安全服务应用编程接口(API)来监管通过防火墙的通信。
更具体地,根据示例实施方式,BMC的安全平面包括安全包围区,并且该安全包围区包括可以存储计算机平台的一个或多个秘密的安全存储器。这些秘密可以包括主机的秘密,并且这些秘密可以包括BMC的秘密。在这种情况下,“安全包围区”是指BMC的子***,进出该子***的访问受到严格控制。根据示例实施方式,安全包围区执行针对计算机平台的密码功能,并且被完全设置在密码学边界内。在这种情况下,“密码学边界”是指连续的边界或周界,该密码学边界包含密码子***的逻辑和物理部件,比如形成安全包围区的BMC部件。“主机”是指计算机平台的部件(例如,一个或多个中央处理单元(CPU)核和***),该部件执行以下中的至少一项:提供操作***(例如,Linux操作***)来为计算机平台创建操作***环境或者提供预启动(pre-boot)环境(例如,提供基本输入/输出***(BIOS)和/或统一可扩展固件接口(UEFI))来为操作***环境准备计算机平台。
因为安全包围区由密码学边界保护,所以对存储在安全存储器中的秘密的访问可以被严格控制。根据示例实施方式,安全包围区可以提供一个或多个API(本文称为“秘密管理API”),用于管理存储在安全存储器中的秘密。以这种方式,作为示例,根据一些实施方式,秘密管理API可以提供用于管理秘密的访问功能,比如用于进行以下各项的API:读取秘密;写入秘密;删除或清除秘密;将秘密绑定或密封到特定的平台配置寄存器(PCR)状态;基于特定PCR状态解除绑定或解封秘密;创建秘密;存储秘密;等等。
BMC的管理平面(尤其是管理平面的一个或多个主处理核)可以充当安全包围区的代理,用于主机与安全包围区之间的秘密管理相关的交换或会话。如本文所使用的,给定的部件(例如安全包围区)的“代理”是指代表给定的部件进行动作的中继或中间部件。作为安全包围区的代理,BMC的管理平面可以从请求者(例如,UEFI或操作***)接收对秘密管理API的调用或请求,并将请求转发给安全包围区进行处理。此外,作为代理,BMC的管理平面可以进一步将对这些请求的响应从安全包围区转发给请求者。
根据示例实施方式,除了安全存储器之外,安全包围区可以包括多个其他部件。例如,根据一些实施方式,安全包围区可以包括安全处理器(例如,一个或多个硬件处理核,用于执行固件指令以处理秘密管理API请求、验证固件和执行其他安全相关的任务);易失性存储器(例如,用于存储被加载到易失性存储器中并由安全处理器执行的固件的存储器);安全桥,该安全桥用于控制对安全包围区的访问并控制从安全包围区传出的通信;密码处理***设备(例如,密码加速器、随机数发生器、篡改检测电路等);以及硅信任根(SRoT)引擎。
根据示例实施方式,BMC的(多个)主处理核(其执行固件管理堆栈)和安全包围区可以设置在半导体封装(或“芯片”)内。半导体封装可以是多种封装类型中的任何一种,例如表面安装封装、通孔封装、球栅阵列封装、小外形封装、芯片级封装等。此外,取决于特定的实施方式,安全包围区的部件可以在半导体封装的一个或多个管芯中制造。
作为更具体的示例,根据一些实施方式,安全包围区的所有部件可以在半导体封装的两个半导体管芯中制造。安全存储器可以在第一半导体管芯中制造,而安全包围区的其余部件可以在另一个第二半导体管芯中制造。此外,根据示例实施方式,BMC的管理平面的部件(例如,(多个)主处理核、存储器等)也可以在第二半导体管芯中制造。
根据进一步的示例实施方式,安全包围区的所有部件可以在单个半导体管芯中制造。此外,BMC的管理平面的部件也可以在该单个半导体管芯中制造。
不管特定的实施方式如何,根据示例实施方式,安全存储器的端子(例如,地址、数据和控制端子)可以完全嵌入半导体封装中,使得所有端子均不会暴露在半导体封装的外部。因此,安全存储器可以高度抵抗物理篡改(例如,涉及使用物理探针和逻辑分析器的篡改),以及其他类型的篡改(例如,利用固件管理堆栈的漏洞的篡改)。
参考图1,作为更具体的示例,根据一些实施方式,计算机平台100包括比如BMC129等管理控制器(或“服务处理器”)。BMC 129包括位于BMC 129的安全包围区140中的安全存储器144。安全存储器144可以存储计算机平台100的一个或多个秘密145。
计算机平台100的主机101可以使用由安全包围区140提供的一个或多个秘密管理API 147来管理秘密145。例如,秘密145可以包括一个或多个密钥加密密钥,并且秘密管理API 147可以包括用于取得密钥加密密钥和存储密钥加密密钥的一个或多个API 147。
一般而言,计算机平台100的自加密存储设备122(例如,非易失性内存主机控制器接口规范(NVMe)存储设备)可以使用密钥加密密钥(key encrypting key,或“KEK”)。更具体地,存储设备122可以在内部存储并使用媒体访问密钥来加密和解密存储在存储设备122上的数据,并且可以使用包装密钥或KEK来加密媒体访问密钥。KEK可以被视为密码,其由主机101提供给自加密存储设备122以解锁对设备122的访问,因为设备122在没有KEK的情况下不能解密媒体访问密钥(并且因此不能使用媒体访问密钥来加密和解密数据)。自加密存储设备122使用KEK来解密媒体加密密钥,并且自加密存储设备122不存储KEK。
继续该示例,主机101的UEFI 111(例如,执行UEFI指令的CPU核102)可以在计算机平台100的启动(boot)时间检测自加密存储设备122的存在,并对设备122执行凭证管理。该凭证管理可以包括UEFI 111执行比如确定是否已经为自加密存储设备122设置了KEK等动作。如果已经设置了KEK,则UEFI 111调用秘密管理API 147来从安全存储器144中取得KEK,使得UEFI 111可以向驱动器122提供取得的KEK。
如本文进一步描述的,根据进一步的实施方式,秘密145可以是除KEK之外的秘密。一般而言,本文使用的“秘密”是指表示受安全保护的实体或比如密码学密钥、凭证、证书、测量散列、密码平台身份、种子、密码等人工制品的数据。“管理”秘密145一般而言是指控制或监管与存储和访问秘密145相关的方面,比如从安全存储器144读取或取得秘密145;将秘密145写入安全存储器144;生成要存储在安全存储器144中的秘密145(例如,生成密码学密钥);从安全存储器144中删除秘密145;将秘密145密封到一个或多个测量散列或一个或多个测量摘要值(例如,PCR值);解封秘密145;等等。
根据示例实施方式,刀片服务器是计算机平台100的示例。然而,根据进一步的实施方式,计算机平台100可以是除刀片服务器之外的平台,比如机架式服务器、存储阵列、模块化交换机、便携式计算机、智能手机、客户端、台式机等。
不管其特定形式如何,计算机平台100都包括能够处理机器可执行指令的硬件,以及在其上安装该硬件的框架或机箱。例如,计算机平台100可以包括可以安装在机箱上的一个或多个母板,并且每个母板可以包含一个或多个多核CPU半导体封装(或“插槽”或“芯片”)。作为示例,对于计算机平台100是刀片服务器的实施方式,刀片服务器可以具有形状因子、一个或多个机械闩锁以及对应的电连接器,以用于允许刀片服务器安装在机架安装式刀片外壳中的对应服务器刀片开口或插槽中,以及从对应服务器刀片开口或插槽中移除。
如本文中所使用的,“BMC”或“基板管理控制器”是专用服务处理器,其使用传感器来监测服务器或其他硬件的物理状态并通过管理网络与管理***进行通信。基板管理控制器还可以通过以下各项与在操作***级别执行的应用程序进行通信:输入/输出控制器(IOCTL)接口驱动程序、表示性状态转移(REST)应用程序接口(API)、或促进基板管理控制器与应用程序之间的通信的某种***软件代理。基板管理控制器可以对位于包括***存储器的服务器机箱中的硬件设备进行硬件级别访问。基板管理控制器可以能够直接修改硬件设备。基板管理控制器可以独立于其中设置有基板管理控制器的***的操作***进行操作。基板管理控制器可以位于服务器或要监测的其他设备的母板或主电路板上。基板管理控制器安装在受管服务器/硬件的母板上或以其他方式连接或附接到受管服务器/硬件的事实并不妨碍基板管理控制器被认为与服务器/硬件是“分离”的。如本文所使用的,基板管理控制器具有对计算设备的子***的管理能力,并且与执行计算设备的操作***的处理资源分离。基板管理控制器与在***上执行高级操作***或管理程序的处理器(比如中央处理单元)是分离的。
根据示例实施方式,主机101可以包括一个或多个CPU核102(例如,CPU处理核、包含CPU处理器核的半导体等),以及连接到CPU 102以形成***存储器104的存储器设备。CPU核102可以耦接到一个或多个输入/输出(I/O)桥106,该一个或多个输入/输出桥允许CPU核102与BMC 129之间的通信,以及与各种I/O设备的通信,比如存储驱动器122;一个或多个网络接口控制器(NIC)124;一个或多个通用串行总线(USB)设备126;I/O设备;视频控制器;等等。此外,同样如图1所描绘的,计算机平台100可以包括可以通过对应的(多个)单独PCIe总线108耦接到CPU核102的一个或多个快速***部件互连(PCIe)设备110(例如,PCIe扩展卡)。根据进一步示例实施方式,(多个)PCIe设备110可以耦接到(多个)I/O桥106,而不是耦接到CPU核102。根据更进一步的实施方式,(多个)I/O桥106和PCIe接口可以是CPU核102的一部分。
根据示例实施方式,计算机平台100的多个存储器模块之一可以形成存储固件170的非易失性存储器168。如图1所描绘的,根据一些实施方式,非易失性存储器168可以通过总线167(例如,串行***互连(SPI)总线)耦接到BMC 129的部件。根据示例实施方式,固件170包含:由BMC 129的安全包围区140的硬件安全处理器142(作为BMC的安全平面的一部分)执行的指令;由BMC 129的(多个)通用处理核154执行的指令(即,与BMC 129的管理平面相对应的固件堆栈);以及由(多个)CPU 102执行以启动计算机***100并提供运行时服务的指令。
一般而言,形成***存储器104、固件存储器168以及本文描述的其他存储器和存储介质的存储设备可以由非暂态存储器设备形成,如半导体存储设备、闪速存储器设备、忆阻器、相变存储器设备、上述存储技术中的一种或多种的组合等等。此外,除非本文另有说明,否则存储器设备可以是易失性存储器设备(例如,动态随机存取存储器(DRAM)设备、静态随机存取(SRAM)设备等)或非易失性存储器设备(例如,闪速存储器设备、只读存储器(ROM)设备等)。
根据一些实施方式,一个或多个NIC 124可以是智能输入/输出外设,或“智能I/O外设”,该智能I/O外设可以为在计算机平台100上执行的一个或多个应用115(或应用实例)提供后端I/O服务。根据一些实施方式,一个或多个PCIe设备110可以是智能I/O***设备。
BMC 129可以包括管理平面和与管理平面隔离的安全平面。更具体地,根据示例实施方式,BMC 129包括一个或多个主处理核154,该一个或多个主处理核执行机器可执行指令以执行计算机平台100的管理功能。这些指令可以对应于BMC 129的固件管理堆栈。作为示例,通过主处理核154执行固件管理堆栈,BMC 129可以为主机101执行各种管理角色,比如监测传感器;监测操作***状态;监控电源状态;记录计算机***事件;提供远程控制台;提供远程控制功能和其他虚拟存在技术;等等。
由主处理核154执行固件管理堆栈可以使BMC 129充当主机101的代理,以允许比如远程管理服务器190等管理实体来远程管理主机101。取决于特定的实施方式,远程管理服务器190可以物理上位于与计算机平台100不同的另一个机架、刀片服务器、数据中心和/或地理位置。作为BMC 129充当主机101的代理以允许对主机101进行远程管理的示例,BMC129可以为主机101提供远程控制台用于各种目的,比如提供KVM功能、虚拟电源功能、虚拟媒体管理功能等等。远程管理服务器190可以经由网络结构161与BMC 129通信,即使当主机101断电时,甚至当软件还没有安装在主机101上时。作为BMC 129充当主机101的代理的进一步的示例,远程管理服务器190可以经由网络结构161与BMC 129通信,以接收关于主机101的状态信息(例如,温度传感器读数、篡改传感器读数、启动状态、故障指示、安全检查故障等);为主机101设置虚拟媒体;使主机101加电;使主机101断电;发起主机101的恢复动作(例如,发起操作***恢复);为主机101设置启动路径;等等。根据示例实施方式,BMC 129的安全包围区140可以向远程管理服务器190提供平台清单(例如,表示软件部件身份和硬件部件身份的完整性测量的清单),使得服务器190可以验证平台清单。
此外,根据一些实施方式,远程管理服务器190可以与BMC 129通信,以控制计算机平台100是否能够“加入机群”,或者在其他平台的网络(例如,服务器的网络)上变得活跃。例如,响应于计算机平台100的启动,作为加入机群的请求的一部分,UEFI11或OS 113可以请求(例如,安全服务API请求)安全包围区140向远程管理服务器190提供密钥,从而允许计算机平台100加入机群。作为示例,密钥可以是BMC 129和其他散列的签名清单、硬件身份证书(例如,IDevID证书)和随机数(以防止重现)。响应于与对密钥的请求相对应的请求API调用,安全包围区140可以提取必要的散列,提取硬件身份证书,生成密钥,并将密钥提供给远程管理服务器190。
一般而言,网络结构161可以与一种或多种类型的通信网络(比如(作为示例)光纤通道网络、Gen-Z结构、专用管理网络、局域网(LAN)、广域网(WAN)、全球网络(例如,因特网)、无线网络或其任何组合)相关联。
根据示例实施方式,CPU核102执行机器可执行指令(即,“软件”)以形成一个或多个部件,这些部件可以调用秘密管理API 147来管理存储在安全存储器144中的秘密145。例如,这些部件可以包括UEFI 111、基本输入/输出***(BIOS)、操作***113和应用115。在这种情况下,“API”是与一组规则相关联的软件接口,该组规则涉及实体可以如何请求或调用由软件接口提供的一个或多个功能。为了管理秘密144,请求者可以向秘密管理API 147提交API调用或请求。
API调用可以包括:表示用于管理秘密144的命令(例如,写入或读取命令)的数据;命令的一个或多个参数;秘密144的标识符;发出API调用的请求者的凭证;等等。根据示例实施方式,为了管理安全存储器144中的安全秘密145的存储,秘密管理API147可以提供安全存储服务。
作为由秘密管理API 147提供的存储服务的示例,秘密管理API 147可以提供服务用于存储测量散列、加载参考测量散列、构建信任根测量链的至少一部分、存储密码学密钥、取得密码学密钥、生成密码学密钥、验证固件映像、取得密码平台身份、创建证书、存储证书、添加证书、删除证书、密封密码学密钥、解封密码学密钥等。作为示例,根据示例实施方式,API请求可以是Redfish API请求、智能平台管理接口(IPMI)API请求;或其他API请求。
API请求和对应的API响应与请求者(例如,主机101的实体,比如操作***113或UEFI 111)和“响应者”或安全包围区140之间的会话或交换相关联。根据示例实施方式,BMC129的处理核154(作为BMC的管理平面的一部分)可以充当安全包围区140(以及安全处理器142)的代理,以将API请求从请求者传送给安全包围区140,并将对应的响应从安全包围区140传送给请求者。例如,请求者可以将表示与特定的秘密管理API 147相对应的请求的数据写入与BMC的管理平面相关联的存储空间。(多个)处理核154然后可以与安全包围区140通信,以将请求转发给安全包围区140进行处理。此外,(多个)处理核154可以与安全包围区140通信以接收对请求的响应,然后将该响应传送给请求者。
为了向请求者保证交换没有发生篡改,可以对请求或响应中的至少一者进行“包装”。在这种情况下,请求或响应的“包装”是指对请求或响应应用基于加密的安全保护。
作为包装的更具体示例,请求者可以使用公钥来应用非对称加密,以对与API调用的一个或多个预定义字段或参数(例如,请求者标识符、命令等)相对应的内容进行加密,从而形成对应的密文。公钥可以是与非对称密码一起使用的(公钥,私钥)对的一部分,并且安全包围区140可以拥有私钥。请求者在请求中包括密文,并且安全包围区140使用私钥来解密密文。以这种方式,除了安全包围区140(拥有私钥)之外的实体不能解密请求的加密内容。根据进一步的实施方式,请求者可以生成会话密钥,并使用对称密码(而不是上述非对称密码)来加密API调用的(多个)预定义字段或(多个)参数,以形成对应的密文。对于这些实施方式,请求者可以使用非对称密码用(公钥,私钥)对的公钥来加密会话密钥,并将会话密钥加密的密文和加密的会话密钥包括在请求中。响应于接收到请求,安全包围区140可以使用(公钥,私钥)对的私钥来解密加密的会话密钥,并且安全包围区140可以使用会话密钥来解密会话密钥加密的密文。
继续该示例,在解密该请求之后,安全包围区140可以继续处理该请求并生成对应的响应。根据示例实施方式,安全包围区140可以用(公钥,私钥)对的私钥对内容(对应于API响应的一个或多个预定义字段或参数)进行签名,以生成签名,安全包围区140将该签名包括在响应中。这样,请求者可以基于其使用公钥对签名的计算以及计算出的签名与包括在该响应中的签名的比较,来认证该响应以验证该响应是否来自安全包围区140。根据进一步的实施方式,安全包围区140可以用会话密钥来加密响应的内容。
根据示例实施方式,一个或多个秘密145可以是BMC 129的秘密,并且管理秘密145的请求可以源自BMC的管理平面。例如,根据一些实施方式,响应于执行管理堆栈,主处理核154可以是请求者并提供访问秘密145的请求。处理器核154可以将表示请求的数据传送给安全包围区140,并从安全包围区140接收表示对请求的响应的数据。因此,根据一些实施方式,安全存储器144可以存储主机101的秘密145和BMC 129的秘密145。
根据示例实施方式,BMC 129的安全包围区140与管理平面(以及BMC 129的在安全包围区140外部的其他非***件)隔离。根据示例实施方式,安全包围区140包括为BMC129提供安全特征的硬件或硅RoT(称为“SRoT”)。
更具体地,根据示例实施方式,安全包围区140存储不可变指纹,SRoT引擎143使用该指纹来验证固件170的部分。当BMC 129通电或复位时,BMC 129保持在主处理核154和安全处理器142上。响应于通电或复位,SRoT引擎143验证固件170的初始部分,然后将该固件的初始部分加载到安全包围区140的存储器151中,使得该固件部分现在是可信的。BMC 129然后释放对安全处理器142的保持,以允许安全处理器142启动并执行加载的固件指令。通过执行固件指令,安全处理器142然后可以对固件170的与BMC管理固件堆栈的一部分相对应的另一部分进行验证,并且在验证之后将固件堆栈的该部分加载到BMC 129的存储器155中。管理固件堆栈的该部分然后可以由(多个)主处理核154执行(当从复位中释放时),这使得(多个)主处理核154加载固件170的附加部分并将加载的部分放入存储器164中。对存储器164的访问可以涉及附加的训练和初始化步骤(例如,由DDR4规范提出的训练和初始化步骤)。这些指令可以从存储器155中的BMC固件管理堆栈的已验证部分执行。根据示例实施方式,安全包围区140可以锁定存储器155,以防止对存储在存储器155中的(多个)已验证部分的修改或篡改。
因此,根据示例实施方式,信任链可以从BMC的SRoT扩展到由BMC的主处理核154执行的固件管理堆栈。
根据示例实施方式,BMC 129被构造用于阻止BMC 129的给定域或实体加电或退出复位,直到安全包围区140验证了该域/实体为止。此外,根据示例实施方式,BMC 129可以阻止BMC 129的部件访问BMC 129的资源和计算机平台100的资源,直到安全包围区140批准/验证了这些资源为止。BMC 129可以执行总线过滤和监测(例如,对SPI总线、***管理总线(SMB)、内部集成部件(I2C)总线、改进的I2C(I3C)总线等的总线过滤和监测),以防止对总线设备的不希望的访问。例如,BMC 129可以对总线167执行总线过滤和监测。
根据示例实施方式,BMC 129可以包含网络接口控制器(NIC)158(例如,半导体封装或“芯片”),该网络接口控制器允许BMC 129(经由网络结构161)与计算机平台100外部的实体(比如,远程管理服务器190等)通信。BMC 129可以进一步包含一个或多个附加通信接口156,比如USB接口、PCI接口、SPI接口、I3C总线接口等。此外,根据示例实施方式,BMC 129可以包含在图1中未具体描绘的部件,比如物理存储器接口、存储器控制器接口、视频控制器等。
根据示例实施方式,BMC 129包括半导体封装153(或“芯片”),该半导体封装(或“芯片”)包括BMC 129的至少一些部件,如主处理核154和安全包围区140。半导体封装153可以包括一个或多个半导体管芯。根据一些实施方式,安全存储器144可以在一个半导体管芯中制造,并且BMC 129的其余部件可以在一个或多个附加的半导体管芯中制造。根据示例实施方式,安全存储器144的端子(例如,引线、引脚、球等,比如用于与安全存储器144通信数据、控制和地址信号的端子)未暴露在半导体封装153的外部。换句话说,根据示例实施方式,安全存储器144的端子与半导体封装153外部的区域物理隔离,从而防止了物理探针篡改被用于包括存储在安全存储器144中的数据的完整性或安全性。
参考图2,根据示例实施方式,安全包围区140可以是完整的片上***(SOC),并且可以被包含在严格控制的密码学边界204内。一般而言,安全包围区140的部件可以通过总线基础设施205进行通信。根据示例实施方式,总线基础设施205可以包括比如数据总线、控制总线、地址总线、***总线、一条或多条总线、一个或多个桥等特征。安全处理器142可以包含:一个或多个处理核208(例如,CPU核);以及指令缓存209和数据缓存211。易失性存储器151可以是例如静态随机存取存储器(SRAM),并且可以存储表示可信计算基(TCB)测量的数据,比如一个或多个PCR库。安全存储器144可以是例如非易失性RAM(NVRAM)。安全包围区140可以包括寄存器240。取决于特定的实施方式,寄存器240可以是软件寄存器、硬件寄存器、或硬件寄存器和软件寄存器的组合。例如,根据一些实施方式,寄存器240包括比如软件PCR等密码安全寄存器。此外,根据示例实施方式,寄存器240可以包括操作寄存器,比如为安全包围区140提供控制、状态和配置功能的硬件寄存器。
根据示例实施方式,安全包围区140包括安全桥214,该安全桥通过安全服务API(例如,秘密管理API 147)控制对安全包围区140的访问(即,为安全包围区140建立防火墙)。结合图1参考图2,根据示例实施方式,BMC 129的主处理核154在充当代理时,可以经由互连件218将对应于请求并且符合安全服务API的数据写入安全桥214的请求缓冲器270。作为示例,互连件218可以是总线218(例如,SPI总线)或内部互连结构,如高级微控制器总线架构(AMBA)结构或高级可扩展接口(AXI)结构。根据示例实施方式,一个或多个安全处理核208可以处理秘密管理请求并将数据存储在响应缓冲器272中。该数据表示对秘密管理请求的响应(例如,拒绝、确认、表示所请求数据的数据等),并且主处理核154可以从响应缓冲器272读取数据,并将该响应转发给请求者。根据一些实施方式,安全桥214可以基于请求的一个或多个参数,比如表示请求者凭证(例如,请求者标识符和密码、密钥或证书)、命令、命令操作数等的参数,来验证请求者是否具有对给定请求的访问权限(即,验证安全桥214是可以接受并处理该请求,还是拒绝该请求)。根据一些实施方式,安全服务API可以与秘密管理API 147分离;并且根据进一步的示例实施方式,安全服务API可以是每个秘密管理API 147的一部分。
安全桥214可以提供附加的上游接口,以允许安全包围区140“联系(reach out)”到互连件218。安全包围区140可以使用上游接口来获得其固件,并且一般而言,验证固件170(图1)。安全桥214可以在互连件218上采用过滤和监测来防止对存储器151的未授权访问。
同样如图2所描绘的,根据示例实施方式,安全包围区140可以包括篡改检测电路234,该篡改检测电路接收各种环境传感器信号236(例如,表示温度、时钟速率、电压等的传感器信号),以检测出对安全包围区的操作环境的恶意操纵,以在发生这种情况时可以采取适当的动作。以这种方式,根据示例实施方式,当篡改检测电路234检测到篡改时,篡改检测电路234可以通过安全包围区140发起一个或多个纠正动作,以解决所检测到的安全损害。作为示例,在篡改检测电路234指示检测到篡改时,安全包围区140可以移除敏感信息(例如,擦除某些秘密,比如擦除存储在安全存储器144中的秘密145);断言信号或消息以警告外部部件(例如,主处理核154、操作***113(图1)、远程管理服务器190(图1)等)以免被篡改;暂停或复位外部的(多个)主处理核154;等等。根据一些实施方式,如图2所描绘的,安全包围区140可以包括加密引擎270,该加密引擎加密写入安全存储器144的数据并解密从安全存储器144读取的数据。取决于特定的实施方式,加密和解密可以使用具有密文窃取的基于高级加密标准-XOR-加密-XOR的调整码本模式(或“AES-XTS”)分组密码或另一种分组密码。
根据示例实施方式,安全包围区140可以包括密码加速器244(比如对称密码加速器和非对称密码加速器),该密码加速器辅助安全处理器142进行比如密钥生成、签名验证、加密、解密等操作。此外,密码加速器244可以包括真随机数发生器,用于提供用于密码操作的可信熵源。
根据示例实施方式,安全包围区140除了其他部件之外还可以包括存储数据的一次性可编程(OTP)熔丝258,该数据表示真正不可变的属性,比如硅信任根安全散列算法2(SHA-2)签名(例如,由SRoT引擎143使用的不可变指纹)、唯一标识符(例如,用于确定平台身份证书的种子的标识符)、安全支持指纹等。本领域的普通技术人员可以理解,安全包围区140可以具有可以存在于基于处理器的架构中的其他部件,比如定时器254、中断控制器250(该中断控制器从定时器254和其他源接收中断触发刺激)等等。
此外,安全包围区140可以包含用于辅助对安全包围区140进行初始开发和调试(在安全包围区140的预生产模式下)的接口,但是在特定的熔丝(例如,某些OTP熔丝258)被烧断时该接口可能被完全禁用或者功能可能已经发生改变(针对安全包围区140的生产模式)。例如,这些接口可以包括通用异步接收器/发送器(UART)262,该UART可以用于对安全包围区140进行调试和开发,并且然后针对安全包围区140的生产模式被固定到仅发送配置。作为示例,根据一些实施方式,UART 262可以由OTP熔丝258配置为在安全包围区140的生产模式下从安全包围区140提供单向状态健康信息。作为另一示例,根据进一步实施方式,OTP熔丝258可以针对生产模式禁用UART 262,从而禁用与UART 262的所有通信,以防止跨密码学边界204的所有通信。作为可以辅助对安全包围区140进行初始开发和调试、但是可以针对生产模式被修改/禁用的接口的另一示例,安全包围区140可以包括用于安全处理器142的联合测试行动组(JTAG)接口(未示出);并且针对安全包围区140的生产模式可以禁用该JTAG接口。
结合图2参考图3,根据示例实施方式,半导体封装153可以包含在其中制造了安全存储器144的管芯157-2。以这种方式,安全存储器144的存储器单元和安全存储器144的用于在存储器单元中存储数据和从存储器单元中取得数据的附加部件(例如,解码逻辑、编码逻辑、控制信号生成逻辑等)可以在半导体管芯157-2中制造。根据示例实施方式,半导体封装153可以包含一个或多个附加管芯157-1,该一个或多个附加管芯包含BMC 129的其他部件。对于图3中描绘的示例实施方式,半导体管芯157-1包括安全包围区140的其他部件312,并且包括BMC 129的非安全管理平面部件314(例如,主处理核154和存储器155)。
如图3所描绘的,安全存储器144可以通过管芯157-1与157-2之间的互连件320耦接到安全包围区140的剩余部分。根据一些实施方式,互连件320可以对应于密码处理引擎270(见图2)与安全存储器144之间的物理通信接口。互连件320与半导体管芯153设置在一起,并且不能直接从半导体封装153的外部访问。由于这种布置,安全存储器144的地址、数据或控制端子都未暴露在半导体封装153的外部。换句话说,半导体封装153可以具有外部端子316,但是这些端子316均不会被探测以窥探与安全存储器144的通信。因此,图3所描绘的布置可以为存储在安全存储器144中的数据提供附加程度的保护。
结合图2参考图4,根据进一步的示例实施方式,如附图标记408所描绘的,安全包围区140的所有部件,包括安全存储器144在内,都可以在半导体封装400(其代替半导体封装153)的单个管芯157中制造。主处理核154(图2)可以例如在半导体封装400的另一个管芯中制造。根据进一步的示例实施方式,半导体封装400可以包括多个半导体管芯,并且对于这些示例实施方式,安全存储器144可以不被分离到与安全包围区140的其他部件不同的管芯中。根据更进一步的示例实施方式,主处理核154和安全包围区140的所有部件都在半导体封装的单个半导体管芯中制造。如此,可以设想在所附权利要求的范围内的许多实施方式。
返回参考图1,根据示例实施方式,存储设备122可以是NVMe存储设备,并且安全存储器144可以存储表示NVMe存储设备122的密钥加密密钥(即,安全秘密145)的数据。根据一些实施方式,执行启动服务固件(例如,UEFI 111启动服务固件)的CPU核102可以响应于计算机平台100的启动而检测NVMe存储设备122并且对存储设备122执行凭证管理。结合图1参考图2,作为该凭证管理的一部分,CPU核102可以向安全包围区140提交API调用或请求,以请求用于NVMe存储设备122的密钥加密密钥。以这种方式,CPU核102可以提交与特定的秘密管理API 147相关联的请求,该请求包含请求密钥加密密钥、NVMe驱动器122的标识符、安全凭证等的命令。安全包围区140的安全桥214和安全处理核208可以处理该请求并提供对应的响应。
更具体地,结合图1和图2参考图5,根据示例实施方式,安全包围区140可以执行过程500来处理访问秘密145的请求,其中秘密145是密钥加密密钥(或“KEK”)。按照框504,过程500包括安全包围区140接收API请求,该请求包括请求KEK的命令。安全包围区140可以对API请求执行(框508)一项或多项安全检查。例如,安全桥214可以验证请求者是否具有向安全包围区140提交API请求的适当凭证;安全处理核208可以执行指令来验证请求者是否具有请求KEK的访问特权;等等。响应于安全包围区140确定(判定框512)已经通过(多项)安全检查,安全处理核208然后可以按照框516执行指令,以使处理核208执行API请求中包括的命令来访问KEK。命令的执行可以包括处理核208从安全存储器144读取表示KEK的数据。按照框520,安全包围区140然后可以提供对API请求的响应,例如,提供KEK、拒绝API请求、提供未找到KEK的响应等等。
作为另一示例,安全秘密145可以是证书,并且安全包围区140可以执行图6中所描绘的过程600,以更新或删除该证书。作为示例,特定的API请求可以旨在更新与远程管理服务器190相关联的证书、更新与计算机平台100相关联的证书、更新根证书、更新中间证书、删除证书等等。
结合图1和图2参考图6,根据一些实施方式,过程600包括安全包围区140接收(框604)API请求,该请求包括请求更新或删除证书的命令。按照框608,安全包围区140可以对API请求执行一项或多项安全检查。这些安全检查可以由安全桥214和/或安全处理核208来执行。例如,安全桥214可以充当安全包围区看门人,以验证请求者是否具有向安全包围区140提交API请求的适当凭证;安全处理核208可以执行指令来验证请求者是否具有请求更新或删除证书的访问特权;等等。响应于安全包围区140确定(判定框612)已经通过(多项)安全检查,安全处理核208然后可以按照框616执行指令,以使处理核208执行API请求中包括的命令来更新或删除证书。按照框620,安全包围区140然后可以提供对API请求的响应,比如,确认证书的删除、确认对证书的更新、拒绝API请求、提供未找到证书的响应等等。
参考图2,作为安全秘密145和秘密管理API 147的另一个示例,根据进一步的实施方式,特定的秘密管理API 147可以涉及密码学密钥(即,秘密145)的密封或解封。例如,根据一些实施方式,安全包围区140的易失性存储器151可以存储表示TCB测量(比如PCR测量)的数据。此外,计算机平台100的操作***113(图1)可以执行绑定到TCB测量的操作。例如,操作***113可以使用TCB测量来将KEK密封到计算机平台100的特定状态,比如将密钥加密硬盘加密密钥绑定到一组特定的PCR值。“密封”是指安全包围区140将KEK加密为PCR值,使得如果当前PCR值与KEK被密封的PCR值不匹配,则安全包围区140不会解封或解密KEK并且不会将硬盘加密密钥提供给操作***113。
作为安全秘密145和秘密管理API 147的另一个示例,根据进一步的实施方式,特定的秘密管理API 147可以涉及对一组特定的PCR值的密码(即,秘密145)的密封或解封。例如,操作***113(图1)可以将密码密封到一组特定的PCR值,以允许在计算机平台100重新启动后将密封的密码提供给UEFI 111(图1)。因此,对于该示例,秘密管理API 147可以包括将密码密封到一组PCR测量的API和基于所提供的一组PCR测量来解封密码的API 147。
以类似的方式,根据一些实施方式,安全秘密145可以是虚拟专用网(VPN)密钥,并且秘密管理API 147可以包括将VPN密钥密封到设置的PCR测量的API 147和基于所提供的一组PCR测量来解封VPN密钥的API 147。作为其他示例,根据进一步的实施方式,安全秘密145可以是文件、生成的随机数、密钥、散列、公钥、私钥、密码等等。不管其特定形式如何,请求者都可以使用一个或多个秘密管理API 147安全地访问安全秘密145。
参考图7,根据示例实施方式,装置700包括主机704和基板管理控制器708。基板管理控制器708包括半导体封装712;并且半导体封装712包括存储器716、安全硬件处理器720;以及主硬件处理器724。主硬件处理器724使基板管理控制器708充当代理,该代理独立于主机704而响应与远程管理实体的通信来管理主机704。安全硬件处理器720管理主机704的秘密717在存储器716中的存储。
参考图8,根据示例实施方式,过程800包括计算机平台的基板管理控制器与管理实体通信(框804)以管理计算机平台的主机。过程800包括将计算机平台的安全秘密存储(框808)在基板管理控制器的安全存储器中。基板管理控制器的安全硬件处理器管理(框812)秘密的存储。
参考图9,根据示例实施方式,半导体封装902包括主硬件处理器924和安全包围区904。安全包围区904包括安全存储器908和硬件安全处理器916。管理控制器900还包括通信接口920。主硬件处理器924执行指令以经由通信接口920与远程管理服务器通信,并且响应于该通信来管理计算机平台的主机。硬件安全处理器916为主机提供应用编程接口(API)906,以管理存储在安全存储器908中的秘密912。
根据示例实施方式,主硬件处理器充当安全硬件处理器与主机之间的代理。该代理从主机的请求者接收管理秘密的存储的请求。该代理将请求转发给安全硬件处理器。安全硬件处理器向该代理提供对请求的响应。该代理将响应转发给请求者。特别的优点是,该代理限制了对安全硬件处理器的访问。
根据示例实施方式,主硬件处理核可以提供用于管理基板管理控制器的秘密的请求,该秘密存储在安全存储器中。安全硬件处理器响应于该请求而管理秘密的存储。特别的优点是,基板管理控制器可以存储主机的秘密和基板管理控制器的秘密两者。
根据示例实施方式,存储器包括与存储器对数据、地址和控制信号进行通信的端子;并且所有端子均未暴露在半导体封装的外部。特别的优点是,可以防止物理篡改。
根据示例实施方式,半导体封装可以还包括包含存储器的第一管芯和包含安全硬件处理器的第二管芯。此外,半导体封装可以包括耦接第一管芯和第二管芯的互连件。特别的优点是,可以防止物理篡改。
根据示例实施方式,第二管芯可以还包括主硬件处理器。特别的优点是,可以防止物理篡改。
根据示例实施方式,安全硬件处理器执行指令以提供应用编程接口来管理秘密的存储。特别的优点是,对安全硬件处理器的访问受到限制。
根据示例实施方式,基板管理控制器还包括具有相关联的密码学边界的安全包围区。安全处理器和存储器在密码学边界内;并且所述主硬件处理器在所述密码学边界的外部。特别的优点是,对安全硬件处理器的访问受到限制。
根据示例实施方式,基板管理控制器对主机的管理包括以下中的至少一项:控制主机的***电源状态、控制主机的启动路径、执行主机的热管理、管理主机对虚拟媒体的使用、控制主机的启动、执行主机的安全检查、执行主机的故障检查、验证由第二硬件处理器执行的固件、验证由安全处理器执行的固件、执行主机的故障恢复、或者为远程管理实体提供远程控制台。特别的优点是,基板管理可以为主机提供管理相关的角色和安全相关的角色两者。
尽管已经关于有限数量的实施方式描述了本公开,但受益于本公开的本领域技术人员将了解本公开的许多修改和变化。所附权利要求旨在覆盖所有这样的修改和变化。
Claims (20)
1.一种装置,包括:
主机;以及
基板管理控制器,所述基板管理控制器包括半导体封装,其中,所述半导体封装包括存储器、安全硬件处理器和主硬件处理器,
其中:
所述主硬件处理器用于使所述基板管理控制器充当代理,所述代理独立于所述主机而响应与远程管理实体的通信以管理所述主机;并且
所述安全硬件处理器用于管理所述主机的秘密在所述存储器中的存储。
2.如权利要求1所述的装置,其中:
所述主硬件处理器用于充当所述安全硬件处理器与所述主机之间的代理;
所述代理用于从所述主机的请求者接收管理所述秘密的存储的请求;
所述代理用于将所述请求转发给所述安全硬件处理器;
所述安全硬件处理器用于向所述代理提供对所述请求的响应;并且
所述代理用于将所述响应转发给所述请求者。
3.如权利要求1所述的装置,其中:
所述主硬件处理器用于提供请求以管理所述基板管理控制器的秘密在所述存储器中的存储;并且
所述安全硬件处理器用于响应于所述请求来管理所述秘密。
4.如权利要求1所述的装置,其中:
所述存储器包括用于与所述存储器对数据、地址和控制信号进行通信的端子;并且
所有端子均未暴露在所述半导体封装的外部。
5.如权利要求1所述的装置,其中,所述半导体封装还包括:
包含所述存储器的第一管芯;
包含所述安全硬件处理器的第二管芯;以及
耦接所述第一管芯和所述第二管芯的互连件。
6.如权利要求5所述的装置,其中,所述第二管芯还包括所述主硬件处理器。
7.如权利要求1所述的装置,其中,所述安全硬件处理器用于执行指令以提供应用编程接口来管理所述秘密的存储。
8.如权利要求1所述的装置,其中,所述半导体封装还包括管芯,所述管芯包括所述存储器、所述安全硬件处理器和所述主硬件处理器。
9.如权利要求1所述的装置,其中,所述秘密包括密码学密钥、证书或密码。
10.如权利要求1所述的装置,其中,所述基板管理控制器还包括:
具有关联的密码学边界的安全包围区,其中:
所述安全硬件处理器和所述存储器在所述密码学边界内;并且
所述主硬件处理器在所述密码学边界的外部。
11.如权利要求1所述的装置,其中,所述基板管理控制器对所述主机的管理包括以下中的至少一项:控制所述主机的***电源状态、控制所述主机的启动路径、执行所述主机的热管理、管理所述主机对虚拟媒体的使用、控制所述主机的启动、执行对所述主机的安全检查、执行对所述主机的故障检查、验证由所述第二硬件处理器执行的固件、验证由所述安全处理器执行的固件、执行所述主机的故障恢复、或为远程管理服务器提供远程控制台。
12.一种方法,包括:
由计算机平台的基板管理控制器与管理实体通信,以管理所述计算机平台的主机;
将所述计算机平台的安全秘密存储在所述基板管理控制器的安全存储器中;以及
由所述基板管理控制器的安全硬件处理器管理所述秘密的存储。
13.如权利要求12所述的方法,其中,所述基板管理控制器包括管理平面,所述管理平面包括代理,并且所述安全硬件处理器与安全平面相关联,所述方法还包括:
由所述代理从所述主机接收用于管理所述秘密的存储的请求;
由所述代理将所述请求转发给所述安全硬件处理器;
由所述安全硬件处理器向所述代理提供对所述请求的响应;以及
由所述代理将所述响应转发给所述请求者。
14.如权利要求12所述的方法,其中,通信包括以下中的至少一项:控制所述主机的***电源状态、控制所述主机的启动路径、执行所述主机的热管理、管理所述主机对虚拟媒体的使用、控制所述主机的启动、执行对所述主机的安全检查、执行对所述主机的故障检查、验证由第二硬件处理器执行的固件、验证由所述安全处理器执行的固件、执行所述主机的故障恢复或为所述管理实体提供远程控制台。
15.如权利要求12所述的方法,其中:
管理所述秘密的存储包括由所述安全硬件处理器执行与应用编程接口(API)相关联的指令;并且
执行所述指令包括所述安全硬件处理器执行以下中的至少一项:管理对密码学密钥的访问、管理对密钥加密密钥的访问、创建密钥、存储证书、创建证书、删除证书或更新证书。
16.如权利要求12所述的方法,其中,管理所述秘密的存储包括管理所述秘密在包含所述安全硬件处理器和所述安全存储器的密码学边界内的存储。
17.一种管理控制器,包括:
半导体封装,所述半导体封装包括主硬件处理器和安全包围区,其中,所述安全包围区包括安全存储器和硬件安全处理器;
通信接口;
其中,所述主硬件处理器用于执行指令以经由所述通信接口与远程管理服务器通信,并且响应于所述通信而管理计算机平台的主机;并且
其中,所述硬件安全处理器用于提供应用编程接口(API)来管理存储在所述安全存储器中的秘密。
18.如权利要求17所述的管理控制器,其中:
所述秘密包括所述主机的第一秘密;
所述主硬件处理器用于针对来自所述主机的旨在管理所述第一秘密的第一请求充当所述硬件安全处理器的代理;并且
所述主硬件处理器用于向所述硬件安全处理器提交旨在管理与所述管理控制器相关联的第二秘密的第二请求。
19.如权利要求17所述的管理控制器,其中,所述半导体封装还包括:
包含所述安全存储器的第一管芯;
包含所述硬件安全处理器和所述主硬件安全处理器的第二管芯;以及
耦接所述第一管芯和所述第二管芯的互连件。
20.如权利要求17所述的管理控制器,其中:
所述安全包围区具有相关联的密码学边界;
所述硬件安全处理器和所述安全存储器在所述密码学边界内;并且
所述主硬件处理器在所述密码学边界的外部。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/452,722 US20230134324A1 (en) | 2021-10-28 | 2021-10-28 | Managing storage of secrets in memories of baseboard management controllers |
US17/452,722 | 2021-10-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116049825A true CN116049825A (zh) | 2023-05-02 |
Family
ID=85983767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210415574.XA Pending CN116049825A (zh) | 2021-10-28 | 2022-04-19 | 管理基板管理控制器的存储器中的秘密的存储 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230134324A1 (zh) |
CN (1) | CN116049825A (zh) |
DE (1) | DE102022108380A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021150219A1 (en) * | 2020-01-22 | 2021-07-29 | Hewlett-Packard Development Company, L.P. | Customized thermal and power policies in computers |
KR102582134B1 (ko) * | 2022-11-22 | 2023-09-25 | 리벨리온 주식회사 | 프로세싱 장치 및 그의 시큐어 부팅 방법 |
US11909575B1 (en) * | 2023-06-15 | 2024-02-20 | Microsoft Technology Licensing, Llc | Cloud-connected baseboard management controller |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130099891A1 (en) * | 2011-10-23 | 2013-04-25 | Gopal Nandakumar | Authentication method |
US11397815B2 (en) * | 2018-09-21 | 2022-07-26 | Hewlett Packard Enterprise Development Lp | Secure data protection |
US11599378B2 (en) * | 2020-12-09 | 2023-03-07 | Dell Products L.P. | Data encryption key management system |
-
2021
- 2021-10-28 US US17/452,722 patent/US20230134324A1/en active Pending
-
2022
- 2022-04-07 DE DE102022108380.2A patent/DE102022108380A1/de active Pending
- 2022-04-19 CN CN202210415574.XA patent/CN116049825A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022108380A1 (de) | 2023-05-04 |
US20230134324A1 (en) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11843705B2 (en) | Dynamic certificate management as part of a distributed authentication system | |
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
US9047468B2 (en) | Migration of full-disk encrypted virtualized storage between blade servers | |
US11809544B2 (en) | Remote attestation for multi-core processor | |
KR100737628B1 (ko) | 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 | |
TWI277904B (en) | Method, recording medium and system for protecting information | |
KR101402542B1 (ko) | 지속형 보안 시스템 및 지속형 보안 방법 | |
KR20170095161A (ko) | 시큐어 시스템 온 칩 | |
US20230134324A1 (en) | Managing storage of secrets in memories of baseboard management controllers | |
KR20090005219A (ko) | 점대점 상호연결 시스템 상에서의 보안 환경 초기화 명령의실행 | |
BRPI0615811A2 (pt) | sistema operacional encerrado em unidade de processamento | |
KR20090078551A (ko) | 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체 | |
Mirzamohammadi et al. | Ditio: Trustworthy auditing of sensor activities in mobile & iot devices | |
JP7256861B2 (ja) | セキュアコンピュータシステム | |
US20210342169A1 (en) | Emulating physical security devices | |
US20230237155A1 (en) | Securing communications with security processors using platform keys | |
CN110046495B (zh) | 数据结构测量结果比较 | |
US20230246827A1 (en) | Managing use of management controller secrets based on firmware ownership history | |
US11960737B2 (en) | Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof | |
Zhao et al. | Hypnoguard: Protecting secrets across sleep-wake cycles | |
US20230010319A1 (en) | Deriving independent symmetric encryption keys based upon a type of secure boot using a security processor | |
US20230342446A1 (en) | Management controller-based verification of platform certificates | |
US20230015334A1 (en) | Deriving dependent symmetric encryption keys based upon a type of secure boot using a security processor | |
CN117807644A (zh) | 响应于篡改活动检测而管控对复位的响应 | |
CN117807639A (zh) | 检测和响应环境条件引起的对半导体封装件的安全攻击 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |