CN113190880B - 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 - Google Patents

基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 Download PDF

Info

Publication number
CN113190880B
CN113190880B CN202110108949.3A CN202110108949A CN113190880B CN 113190880 B CN113190880 B CN 113190880B CN 202110108949 A CN202110108949 A CN 202110108949A CN 113190880 B CN113190880 B CN 113190880B
Authority
CN
China
Prior art keywords
management controller
security
processor
computing device
unique data
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.)
Active
Application number
CN202110108949.3A
Other languages
English (en)
Other versions
CN113190880A (zh
Inventor
L·卢西亚尼
D·R·哈斯凯尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN113190880A publication Critical patent/CN113190880A/zh
Application granted granted Critical
Publication of CN113190880B publication Critical patent/CN113190880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作。本文公开的示例涉及一种计算设备,所述计算设备包括中央处理单元、与所述中央处理单元分离的管理控制器、以及安全协处理器。所述管理控制器被使用辅助电力轨进行供电,所述辅助电力轨在所述计算设备处于辅助电力状态时向所述管理控制器提供电力。所述安全协处理器包括设备唯一数据。所述管理控制器接收所述设备唯一数据并且将表示存储在安全位置。在之后的时间,所述管理控制器从所述安全协处理器的预期位置接收背书信息。所述管理控制器基于对所述背书信息以及所存储的所述设备唯一数据的表示的分析来确定是否对所述计算设备执行动作。

Description

基于对安全协处理器的背书信息的分析确定是否对计算设备 执行动作
背景技术
服务提供商和制造商面临着例如通过提供安全计算系统向消费者传递质量和值的挑战。数据中心是用于容纳计算机网络、计算机系统以及相关联的部件(如电信系统和存储系统)的设施。数据中心中的设备可以呈安装在机架箱中的服务器的形式。
附图说明
以下具体描述参考附图,在附图中:
图1和图2是根据各种示例的计算设备的框图;
图3是根据示例的用于基于对背书信息以及所存储的对于安全协处理器而言唯一的设备唯一数据的表示的分析来执行动作的方法的流程图;
图4是根据示例的能够基于对背书信息以及所存储的对于安全协处理器而言唯一的设备唯一数据的表示的分析来执行动作的管理控制器的框图;
图5是根据示例的能够基于对背书信息以及所存储的对于安全协处理器而言唯一的设备唯一数据的表示的分析来执行动作的计算设备的框图。
所有附图中,相同的附图标记可以表示相似但不一定相同的元件。附加在一些附图标记上的索引号“N”可以理解为仅指示复数个,并且对于具有这样的索引号“N”的每个附图标记而言可能不一定表示相同的数量。另外,本文中在附图标记在其他地方与索引号一起提及的情况下,这种附图标记在没有索引号的情况下的使用可以集体地或单个地概括指代对应的复数个元件。在另一示例中,可以使用索引号“I”、“M”等来代替索引号N。
在所有附图中,相同的附图标记指代相似但不一定相同的元件。附图不一定成比例,并且可以放大一些零件的尺寸以更清楚地图示所示出的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
在本公开中,除非上下文另外明确指示,否则使用术语“一个/一种(a/an)”或“所述(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括(includes/including/comprises/comprising)”、“具有(have/having)”指明存在所陈述的元件,但不排除存在或添加其他元件。
为了向最终用户(end-user)提供可靠的平台操作,平台制造商需要使得最终用户能够验证平台的真实性。符合可信计算组织(Trusted Computing Group)构想的可信平台模块(TPM,Trusted Platform Module)标准的认证模块或安全协处理器是对于检测平台真实性的一种示例安全解决方案。TPM可以用于检测平台的设备是否是伪造的,例如,所述设备是由未授权方制造的或者以未授权方式制造的。TPM可以用于认证平台的每个设备,例如,检测设备是否由授权方以授权方式制造。在设备的制造期间,设备制造商可以在设备中对签名的制造商身份进行实例化。签名信息存储在TPM中。之后,可以从TPM取得签名信息,以通过检查制造商身份的有效性来验证设备的真实性。TPM可以被实施为符合可信计算组织规范的安全协处理器芯片。
在一些示例中,安全协处理器(例如,TPM)可以包括设备唯一数据,比如私有背书密钥。在一些示例中,私有背书密钥是安全协处理器外部不可见的密码密钥。安全协处理器可以使用背书密钥用于加密目的。可以通过使用私有背书密钥对已经利用公共背书密钥加密过的值进行解密来间接地证明拥有所述私有背书密钥。在一些示例中,公共背书密钥可以由安全协处理器提供作为公共证书。在一些示例中,公共背书密钥和/或公共证书可以被认为是对于安全协处理器而言唯一的设备唯一数据。进一步地,在一些示例中,公共证书可以是证明特定平台包括唯一的安全协处理器和特定的平台配置元素的平台证书。
然而,一种对保护计算设备的安全协处理器的潜在攻击途径是将安全协处理器替换为填充有(populated with)攻击者已知信息的安全协处理器。为了免受这种攻击途径的影响,本文公开的示例涉及一种管理控制器,所述管理控制器在第一时间(例如,在制造或预配(provisioning)期间)向安全协处理器请求并接收设备唯一数据(例如,公共证书),并且在之后的时间响应于设备唯一数据的使用而执行动作。在一个示例中,在之后的时间,管理控制器可以响应于使用唯一数据对所安装的安全协处理器的分析来确定是否要启动计算设备。因此,在一些示例中,每次启动时,管理控制器可以基于从安全协处理器接收到的设备唯一数据来确定是否要启动。
在一些示例中,TPM是只能通过使用明确定义的格式的输入/输出(I/O)缓冲器与其进行交互的安全协处理器。TPM的行为仅仅地基于其接收到的(一系列)命令。因此,可以从TPM获得的任何保证都基于所发出的命令。典型的示例是测量启动和远程证明机制,所述机制通过使用TPM平台配置寄存器(Platform Configuration Register)来建立,用于远程地验证平台的状态。通过利用要存储的信息对PCR的先前值进行散列来更新所述PCR。在测量启动的情况下,PCR用于存储固件和软件完整性值。使用PCR能防止固件执行事件或软件执行事件的移除。在本文描述的示例中,固件或软件部件无法从PCR擦除其测量事件。进一步地,制造商可以预测设备或平台的预期PCR值,因为制造商会知道应该执行哪种固件或软件。如本文所使用的,固件可以包括可以进行编程的多个部件,例如,平台中的现场可编程门阵列比特流、串行外围接口(SPI)闪速存储器、电可擦除可编程只读存储器(EEPROM)等。未使用的可编程逻辑也可以被测量(并且可以是已知值,例如,0或重复图案)。
图1和图2是根据各种示例的计算设备的框图。现在参考附图,图1和图2是能够基于对安全协处理器的背书信息的分析来执行动作的计算设备的框图。系统100、200可以包括设备,所述设备包括可以用于确保在制造时安装的安全协处理器就是在计算设备启动期间使用的安全协处理器的部件。
图1包括管理控制器110,所述管理控制器经由多路复用器120连接到安全协处理器130。安全协处理器130还可以经由多路复用器120连接到控制器中枢140。
图2进一步包括能够使得管理控制器110与多个部件270通信的另一多路复用器222、固件存储器250、可编程逻辑器件(PLD)260、处理单元280、存储器282以及电力控制件290。
在一些示例中,管理控制器110可以用于实施计算系统100、200的服务。管理控制器110可以使用用于执行高级操作系统的与处理单元280分离的处理器来实施。管理控制器比如基板管理控制器(BMC)可以为计算设备提供所谓的“无人值守(lights-out)”功能。即使计算设备上未安装操作系统或操作系统不起作用,无人值守功能也可以允许用户比如系统管理员在计算系统100、200上执行管理操作。此外,在一个示例中,管理控制器110可以以辅助电力运行,因此计算系统100、200不需要通电到“运转(on)”状态,在所述“运转”状态下,对计算系统100、200的控制在启动之后移交到操作系统。作为示例,管理控制器110可以提供所谓的“超出范围(out-of-band)”服务,如远程控制台访问、远程重启和电力管理功能、监测系统的健康状况、访问系统日志等。如本文所使用的,管理控制器110具有对管理控制器110的子系统的管理能力,并且与执行计算设备(例如,服务器或服务器组)的主操作系统的处理器或处理元件分离。
如上所述,在一些实例中,管理控制器110可以启用计算系统100、200的无人值守管理,所述无人值守管理提供远程管理访问(例如,系统控制台访问),而不管计算系统100、200是否通电、主网络子系统硬件是否正在起作用、或OS是否正在运行或甚至是否已安装。管理控制器110可以包括管理员可以用于与管理控制器110远程通信的接口,例如网络接口和/或串行接口。如本文所使用的,“超出范围”服务是由管理控制器110经由专用管理通道(例如,网络接口或串行接口)提供的、并且无论计算系统100、200是否处于通电状态都可用的服务。
在一些示例中,管理控制器110可以被包括作为外壳(enclosure)的一部分。在其他示例中,管理控制器110可以被包括在服务器中的一个或多个中(例如,作为服务器的管理子系统的一部分)或者经由接口(例如,外围接口)连接。在一些示例中,与管理控制器110相关联的传感器可以测量内部物理变量,如湿度、温度、电源电压、通信参数、风扇速度、操作系统功能等。管理控制器110还能够重启或断电重启(power cycle)设备。如上所述,管理控制器110允许对设备进行远程管理,并且因此可以使用管理控制器110向集控站发出通知,或可以经由管理控制器110实施密码或其他用户输入。
固件引擎可以使用可由处理器和/或逻辑来执行的指令来实施。在一些示例中,固件引擎可以实施为平台固件。平台固件可以包括接口比如基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI),以允许所述平台固件被接口连接。平台固件可以位于计算系统100、200的处理单元280(例如,CPU)所启动的地址空间处。在一些示例中,平台固件可以负责计算系统100、200的通电自检。在其他示例中,平台固件可以负责启动过程并且负责将哪种操作系统(如果有的话)加载到计算系统100、200上。进一步地,平台固件能够初始化计算系统100、200的各种部件(如外围设备、存储器设备282)、存储器控制器设置、存储控制器设置、总线速度、视频卡信息等。在一些示例中,当计算系统100、200执行时,平台固件还能够执行各种低级功能。此外,在一些示例中,平台固件能够例如经由高级配置和电源接口(ACPI,advanced configuration and power interface)与在CPU上执行的更高级别的操作系统通信。固件可以存储在固件存储器250中。在一些示例中,管理控制器110可以对其自身、安全协处理器、部件、固件存储器等执行验证。
可以使用专用集成电路(ASIC)来实施一个或多个部件、引擎、存储器和控制器。ASIC的示例包括控制器、可编程逻辑器件260(如现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)等)。
如本文所使用的,“信任根设备”或RoT设备可以是以预期方式表现的设备,因为可能无法检测到RoT设备的不良行为。换句话说,RoT设备可能是本质上可信的软件、硬件或其某种组合。RoT设备可以包括计算引擎。计算引擎可以是使用RoT设备中的硬件、RoT设备的硬件或其某种组合来操作的软件。例如,RoT设备可以包括存储信任根(RTS)。RTS可以是能够维护值的准确总结(summary)的计算引擎。例如,RoT可以是TPM。在这样的示例中,TPM可以包括PCR(或多个PCR)。进一步地,RTS可以是PCR(或多个PCR)。在另一示例中,RoT可以包括报告信任根(RTR)。RTR可以是能够将所请求的信息发送到请求设备的计算引擎。所述信息可以包括RoT的寄存器中的内容(或RTS的内容)和由请求者指定的信息。RoT可以包括这里未描述的其他计算引擎,例如用于测量指定值的计算引擎或用于认证的计算引擎。
如本文所使用的,“可信平台模块”或“TPM”可以是内置于或以其他方式耦接到计算系统的母板的集成电路。TPM可以是抗篡改的或防篡改的。TPM可以用于计算系统上的服务。所述服务可以包括设备识别、认证、加密、测量、确定设备完整性、密码密钥的安全生成、远程证明以及封闭式存储。TPM可以包括平台配置寄存器(PCR)。PCR可以存储安全相关度量(metrics)。
在一个示例中,管理控制器110可以与安全存储、硬件信任根或其他安全特征相关联。在一个示例中,在工厂中首次启动计算系统100、200进入服务操作系统(OS)或预配引擎时,生成唯一的私钥和公钥,并通过保存到管理控制器存储装置(storage)中来将所述私钥和公钥“粘合(glued)”到系统上。该存储装置可以是持久并且不可替换的。管理控制器110可以允许使用应用编程接口间接访问密钥。可以将这些值写入与管理控制器110相同的专用集成电路(ASIC)上的一次写入寄存器中。一次写入寄存器可以例如使用熔丝来实施。在一个示例中,私钥通过使用随机源执行算法来创建,并且被编程。在另一示例中,公钥是私钥的密码散列值(cryptographic hash)。在一些示例中,一旦经历编程,改变寄存器的能力就会被禁用(例如,切断例如写入线上的熔断丝)。在一些示例中,管理控制器110可以用于确保计算系统100、200的固件是安全的(例如,通过确保除非固件是使用管理控制器110的私钥可以验证或解密的公钥进行签名或加密的,否则所述固件不会被更新)。进一步地,在一些示例中,管理控制器110可以阻止计算系统100、200使用受损的固件启动。
此外,在一些示例中,管理控制器110可以进一步包括密钥储存库。如本文所使用的,密钥储存库是包括至少一个私钥的存储装置,所述私钥可以用于验证信息是否已由公钥进行签名。在一些示例中,公钥也可以包括在密钥储存库中。在一些示例中,作为信任根的一部分的私钥可以被认为是密钥储存库的一部分。进一步地,在一些示例中,设备唯一数据可以存储在密钥储存库中。
系统板是用于系统100、200的主印刷电路板,并且允许设备的许多部件(例如,处理单元280、存储器282、外围设备、总线设备等)之间进行通信。在一些示例中,控制器中枢140可以是I/O控制器中枢,例如南桥。控制器中枢140可以用于管理CPU与系统板的其他部件之间的数据通信。在一些示例中,控制器中枢可以具有到北桥设备或CPU的直接媒体接口。进一步地,控制器中枢140可以为设备提供外围支持,比如,如通用串行总线(USB)、外围部件互连(PCI)、PCI Express、PCI扩展、串行AT附接的总线连接、音频电路、集成以太网、增强型主机控制器接口及其组合等。
处理器(如中央处理单元(CPU)280)或适合于取得和执行指令和/或电子电路的微处理器可以被配置为执行指令。在特定场景中,指令和/或其他信息(如操作系统指令和数据)可以包括在存储器282或其他存储器中。输入/输出接口可以由计算系统100、200另外提供。例如,输入设备比如键盘、传感器、触摸界面、鼠标、麦克风等可以用于从计算系统周围的环境接收输入。进一步地,输出设备比如显示器可以用于向用户呈现信息。输出设备的示例包括扬声器、显示设备、放大器等。此外,在特定示例中,一些部件可以用于实施本文描述的其他部件的功能。输入/输出设备比如通信设备(如网络通信设备)或无线设备也可以被认为是能够使用输入/输出接口的设备。
如上所述,管理控制器110可以与处理单元280分离。进一步地,管理控制器110可以包括如上所述的信任根。在一个示例中,管理控制器110由辅助电力轨供电。辅助电力轨还可以用于对其他部件(例如,PLD 260、多路复用器120、222等)进行供电。安全协处理器130可以包括如上所述的设备唯一数据。
在一个示例中,在第一时间(例如,制造计算系统100、200时、预配阶段等),管理控制器110可以接收设备唯一数据并将设备唯一数据的表示存储在安全位置。可以响应于来自管理控制器的请求而接收设备唯一数据。安全存储装置可以是管理控制器110的可信区域。在一些示例中,安全存储装置不能被重写。在一个示例中,安全存储装置可以包括一次写入寄存器。
在一个示例中,设备唯一数据包括安全协处理器的公共背书密钥或公共证书。所制造的每个单元可以具有不同的私钥和公钥。因此,公钥或公共证书可以被认为是安全协处理器的设备唯一数据。如上所述,数据应该对于安全协处理器而言是唯一的。设备唯一数据的表示可以存储在存储装置(例如,与管理控制器110相关联的安全存储装置)中。在一个示例中,所述表示是从安全协处理器接收到的设备唯一数据。在另一示例中,所述表示是设备唯一数据的散列值(例如,MD5、SHA等)、设备唯一数据的一部分的部分散列值、设备唯一数据的一部分的副本、设备唯一数据的另一种表示或其组合。
类似地,管理控制器110可以测量来自其他部件的代码、设置等,如来自管理控制器自身、PLD、其他部件、固件等的代码。之后可以使用测量结果来验证预期值是否存在于测量位置。
在之后的时间点(例如,当计算系统处于客户位置时),管理控制器110可以开始验证序列。管理控制器110可以由信任根保护。验证序列可以开始于管理控制器110验证其启动代码是否有效(例如,通过测量启动代码并将测量结果与先前获取的值进行比较)。然后,启动代码可以测量所述代码的要在管理控制器110上运行的其他部分。在一个示例中,一旦管理控制器110的代码通过验证,所述管理控制器就可以链接以验证其他固件。例如,管理控制器110可以经由对固件存储器250、PLD 260、安全协处理器130、另一部件270(例如,创新引擎或管理引擎)等进行的一次或多次测量来验证固件。
如图2所示,安全协处理器130可以经由总线耦接到使用多路复用器120控制的控制器中枢140或管理控制器110。总线可以是串行总线,例如,串行外围接口(SPI)总线、I2C总线、控制器区域网络(CAN)总线等。通过这种配置,安全协处理器130可以主动地与系统的控制器中枢140一起工作,但仍由管理控制器进行验证。
在一个示例中,验证序列包括管理控制器110使用控制信号224控制多路复用器120以选择安全协处理器130与管理控制器110通信。然后,管理控制器110可以与安全协处理器130通信。在一个示例中,一旦安全协处理器130由辅助电力供电,所述安全协处理器就可以启动。此外,在一些示例中,安全协处理器130的启动时间可能比管理控制器110短。
在一个示例中,管理控制器110可以向安全协处理器130发出启动命令。在一些示例中,启动命令不会向管理控制器110转移安全协处理器130的所有权。
然后,管理控制器110可以请求和接收背书信息。背书信息可以来自安全协处理器130的预期位置。例如,请求可以是经由预期安全协处理器130所处的总线发送的。如果与预期或原始安全协处理器不同的安全协处理器位于所述位置,则可以采取动作。
已填充的安全协处理器可能会向管理控制器110提供背书信息。管理控制器110可以基于对背书信息以及所存储的设备唯一数据表示的分析来对计算系统100、200执行动作。
在一个示例中,背书信息是密钥或证书,并且设备唯一数据是对应的密钥或证书。可以进行比较以验证这两者是否匹配。
在另一示例中,背书信息是包括设备唯一数据的密钥或证书,并且所述表示是设备唯一数据的散列值。可以对背书信息进行散列处理并进行比较以验证安全协处理器是否未被篡改或替换。
在进一步的示例中,所述背书信息可以呈对来自管理控制器110的询问请求的响应的形式。例如,管理控制器110可以提供安全协处理器130要使用私钥加密或签名的数据。设备唯一数据可以包括将允许管理控制器110解密数据或验证签名的信息。在该交互中可以使用随机数(nonce)。因此,背书信息可以包括作为询问的预期应答的应答。所述验证可以基于预期应答。
在一个示例中,管理控制器110可以基于对背书信息的分析来确定是否执行动作。在使用设备唯一数据来验证背书信息的示例中,管理控制器110可以继续所述验证序列。在一些示例中,验证序列是启动事件的一部分。因此,在一个示例中,动作可以包括(例如通过(例如,使用PLD 260)直接或间接地启用电力控制信号290)使得计算系统100、200通电。如上所述,在激活电力控制信号之前可以进行进一步的验证。可以采取的其他动作包括记录事件并发送有关事件的消息。
在另一示例中,可能会从替换原始安全协处理器的第二安全协处理器接收背书信息。在这种场景下,背书信息未通过验证,并且可以执行动作。在一个示例中,可以记录事件。在另一示例中,可以向管理员发送消息。在进一步的示例中,管理控制器110可以阻止启动计算系统100、200。这可以通过直接控制电力信号290或经由中介(例如,通过使用PLD260)来实施。
在管理控制器110验证背书信息的示例中,管理控制器110可以选择多路复用器120以选择控制器中枢140与安全协处理器130通信。这可以在验证序列中与安全协处理器有关的部分之后进行。在一些示例中,在启动过程期间,主机设备可以使用控制器中枢140获取安全协处理器130的所有权。
在一些示例中,验证序列还可以包括验证其他部件,例如,部件270、固件存储器250和/或PLD 260。在一个示例中,多路复用器222可以用于改变总线以使其不与管理控制器110或控制器中枢140通信。这可以通过来自管理控制器110的信号(例如,信号224或单独的信号)来控制。作为所述验证序列的另一部分,管理控制器110可以验证所述另一部件的固件映像。可以使用各种方法来验证部件,例如,保留预期固件映像、部分映像和/或设置的散列值,以及获取部件270的当前固件映像、部分映像和/或设置的新的散列值。可以对所述散列值进行比较。在一个示例中,验证部件270的固件映像是验证序列的一部分,并且可以响应于验证结果而采取动作(例如,启用/阻止启动)。在使用多路复用器的示例中,控制信号可以将路径改变为生产模式路径,在生产模式路径下,所述部件在计算系统100、200的正常操作期间与另一部件(例如,控制器中枢140)通信。
通过本文所描述的方法,管理控制器110可以安全地启动计算系统100、200。管理控制器可以使用如上所述的信任根方法来验证其初始启动代码。然后,可以使用信任根来验证管理控制器110的剩余部分的固件映像。进一步地,可以对诸如PLD 260和部件270的部件进行验证。进一步地,启动固件可以存储在固件存储器250中。启动固件可以包括例如平台固件映像,如基本输入输出系统或统一可扩展固件接口映像。作为启动序列的一部分,可以验证启动固件。在一些示例中,在启用对计算系统100、200的供电之前,对每个部件进行验证。
可以使用引擎来实施计算系统的一个或多个部件。引擎可以包括硬件和/或硬件与编程的组合以执行本文描述的功能。此外,由特定引擎实现的功能也可以使用另一引擎或引擎的组合来实施。
在一些示例中,处理元件(例如,处理单元280)可以是一个或多个处理单元(例如,中央处理单元(CPU))、一个或多个基于半导体的微处理器、一个或多个图形处理单元(GPU)、适合于取得和执行存储在机器可读存储介质中的指令的其他硬件设备、或其组合。处理元件可以是物理设备。此外,在一个示例中,处理元件可以包括一个芯片上的多个核,包括多个芯片上的多个核、多个设备上的多个核、或其组合。处理元件可以获取、解码并执行指令以实施任务,例如,运行操作系统、提供服务器能力、执行容器或虚拟机等。作为取得并执行指令的替代或补充,处理元件可以包括至少一个集成电路(IC)、其他控制逻辑、其他电子电路或其包括用于执行各种指令的功能的多个电子部件的组合。
机器可读存储介质可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。这样,机器可读存储介质可以是非暂态的。如本文中详细描述的,可以用一系列用于运行计算系统的可执行指令对机器可读存储介质进行编码。
在计算系统中,管理控制器110可以是管理子系统的一部分,同时处理单元280是生产子系统或主机子系统的一部分。主机子系统的部分可以响应于由管理控制器110执行的验证而打开。
图3是根据示例的用于基于对背书信息以及所存储的对于安全协处理器而言唯一的设备唯一数据的表示的分析来执行动作的方法的流程图。图4是根据示例的能够基于对背书信息以及所存储的对于安全协处理器而言唯一的设备唯一数据的表示的分析来执行动作的管理控制器的框图。
处理元件410可以是一个或多个处理单元、一个或多个基于半导体的微处理器、一个或多个图形处理单元(GPU)、适合于取得和执行存储在机器可读存储介质420中的指令的其他硬件设备、或其组合。处理元件410可以是物理设备。处理元件410可以获取、解码和执行指令422、424、426,以实施基于对背书信息的分析来确定是否启用对计算设备的供电。作为取得和执行指令的替代或补充,处理元件410可以包括至少一个集成电路(IC)、其他控制逻辑、其他电子电路或其包括用于执行指令422、424、426的功能的多个电子部件的组合。
机器可读存储介质420可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。这样,机器可读存储介质可以是非暂态的。如本文中详细描述的,可以用一系列可执行指令对机器可读存储介质420进行编码,所述指令用于响应于对背书信息和所存储的对于安全协处理器而言唯一的设备唯一数据的表示的分析来执行动作。
管理控制器400可以在计算设备或计算系统(例如,系统100、200)的一部分内实施。计算设备可以包括管理控制器400、安全协处理器、以及至少一个与管理控制器400分离的中央处理单元。在一些示例中,管理控制器被使用辅助电力轨进行供电,所述辅助电力轨在计算设备处于辅助电力状态时向管理控制器400提供电力。如本文所使用的,“辅助电力状态”是不向CPU而是向多个部件(例如,管理控制器400)供应电力的状态。在一些示例中,辅助电力状态可以是高级配置和电源接口(ACPI)S5状态。辅助电力状态使得可以避免管理处理器与在系统上执行的另一软件(如平台固件(例如,UEFI))之间的争用。
尽管下面参考管理控制器400描述了方法300的执行,但是也可以利用其他适合于执行方法300的部件(例如,管理控制器110)。另外,用于执行方法300的部件可以分布在多个设备之中。方法300可以以存储在如存储介质420之类的机器可读存储介质上的可执行指令的形式和/或以电子电路的形式来实施。
在方法300的302处,管理控制器400可以执行通信指令422以从安全协处理器接收唯一数据。如之前所述,这可以在计算设备的制造或预配状态或类似的安全快照(securitysnapshot)状态期间进行。管理控制器400可以接收设备唯一数据并且通过执行存储指令426将所述设备唯一数据的表示存储在安全位置(304)。接收设备唯一数据可以是响应于来自管理控制器400的请求而进行的。安全存储装置可以是管理控制器400的可信区域。在一些示例中,安全存储装置不能被重写。在一个示例中,安全存储装置可以包括一次写入寄存器。
如上所述,设备唯一数据包括安全协处理器的公共背书密钥或公共证书。如上所述,在一些示例中,所制造的每个单元可以具有不同的私钥和公钥。因此,公钥或公共证书可以被认为是安全协处理器的设备唯一数据。因此,数据应该对于安全协处理器而言是唯一的。设备唯一数据的表示可以存储在存储装置(例如,与管理控制器400相关联的安全存储装置)中。在一个示例中,所述表示是从安全协处理器接收到的设备唯一数据。在另一示例中,所述表示是设备唯一数据的散列值(例如,MD5、SHA等)、设备唯一数据的一部分的部分散列值、设备唯一数据的一部分的副本、设备唯一数据的另一种表示或其组合。
类似地,管理控制器400可以测量来自其他部件的代码、设置等,如来自管理控制器自身、PLD、其他部件、固件等的代码。之后可以使用测量结果来验证预期值是否存在于测量位置。
在之后的时间点(例如,当计算设备处于客户位置时),管理控制器400可以开始验证序列。管理控制器400可以由信任根保护。验证序列可以开始于管理控制器400验证其启动代码是否有效(例如,通过测量启动代码并将测量结果与先前获取的值进行比较)。然后,启动代码可以测量所述代码的要在管理控制器400上运行的其他部分。在一个示例中,一旦管理控制器400的代码通过验证,所述管理控制器就可以链接以验证其他固件。例如,管理控制器400可以经由对固件存储器、PLD、安全协处理器、另一部件(例如,创新引擎或管理引擎)等进行的一次或多次测量来验证固件。
在一个示例中,验证序列包括管理控制器400使用控制信号控制多路复用器以选择安全协处理器与管理控制器400通信。然后,管理控制器400可以与安全协处理器通信。
在一个示例中,管理控制器400可以向安全协处理器发出启动命令。在一些示例中,启动命令不会向管理控制器400转移安全协处理器的所有权。
然后在306处,管理控制器400可以请求和接收背书信息。背书信息可以来自安全协处理器的预期位置。例如,请求可以是经由预期安全协处理器所处的总线发送的。如果与预期或原始安全协处理器不同的安全协处理器位于所述位置,则可以采取动作。
已填充的安全协处理器可能会向管理控制器400提供背书信息。管理控制器400可以使用处理元件410执行验证指令424,以基于对背书信息以及所存储的设备唯一数据的表示的分析来确定是否对计算设备执行动作。例如,管理控制器可以基于分析来确定是否启用对计算设备的供电(308)。处理元件410可以执行动作指令428以执行动作。
如上所述,在一个示例中,背书信息是密钥或证书,并且设备唯一数据是对应的密钥或证书。可以进行比较以验证这两者是否匹配。
在另一示例中,背书信息是包括设备唯一数据的密钥或证书,并且所述表示是设备唯一数据的散列值。可以对背书信息进行散列处理并进行比较以验证安全协处理器是否未被篡改或替换。
在进一步的示例中,所述背书信息可以呈对来自管理控制器400的询问请求的响应的形式。例如,管理控制器400可以提供安全协处理器要使用私钥加密或签名的数据。设备唯一数据可以包括将允许管理控制器400解密数据或验证签名的信息。在该交互中可以使用随机数。因此,背书信息可以包括作为询问的预期应答的应答。所述验证可以基于预期应答。
在一个示例中,管理控制器400可以基于对背书信息的分析来确定是否执行动作。在使用设备唯一数据来验证背书信息的示例中,管理控制器400可以继续所述验证序列。在一些示例中,验证序列是启动事件的一部分。因此,在一个示例中,动作可以包括(例如,通过(例如,使用PLD)直接或间接地启用电力控制信号)使得计算设备通电。如上所述,在激活电力控制信号之前可以进行进一步的验证。可以采取的其他动作包括记录事件并发送有关事件的消息。
在另一示例中,可能会从替换原始安全协处理器的第二安全协处理器接收背书信息。在这种场景下,背书信息未通过验证,并且可以执行动作。在一个示例中,可以记录该事件。在另一示例中,可以向管理员发送消息。在进一步的示例中,管理控制器400可以阻止启动计算设备。
图5是根据示例的能够基于对背书信息以及所存储的对于安全协处理器而言唯一的设备唯一数据的表示的分析来执行动作的计算设备的框图。计算设备500可以包括安全协处理器510、平台固件512、信任根设备514、处理器530以及存储器532。
在这个示例中,可以使用在计算设备500的处理器530上执行的平台固件512来评估安全协处理器510。这可以以类似于使用管理控制器110、400的方法来进行。
在第一时间,可以查询安全协处理器510以获得设备唯一数据。可以使用信任根设备514(如管理控制器110)或使用另一引擎(如在处理器530上执行的平台固件512)来进行查询。平台固件512可以被加载到存储器532,如计算设备500的主存储器。这可以存储在安全存储装置(例如,另一安全协处理器、安全存储设备等)中。
在之后的时间,当计算设备500要在生产环境中启动时,信任根设备514(例如,具有信任根的管理控制器)可以以与上述方式一致的方式测量其代码以及其他部件的代码。其他部件可以包括包含平台固件512、其他代码、设置的存储器(例如,只读存储器)、PLD逻辑等。这可以在允许供电以启动计算设备500之前进行。
一旦施加了电力,平台固件512就可以开始在处理器530上执行。作为计算设备500的初始化的一部分,平台固件512可以包括安全协处理器530的验证序列。
在一个示例中,验证序列包括处理器530与安全协处理器130通信。在各种示例中,一旦由辅助电源供电或使用与处理器530共享的电力轨供电,安全协处理器130就可以启动。
在一个示例中,可以执行平台固件512以向安全协处理器510发出启动命令。在一些示例中,启动命令不会转移安全协处理器510的所有权。
然后,处理器530可以请求和接收背书信息。背书信息可以来自安全协处理器510的预期位置。例如,请求可以是经由预期安全协处理器510所处的总线发送的。如果与预期或原始安全协处理器不同的安全协处理器位于所述位置,则可以采取动作。
已填充的安全协处理器可能会向在处理器530上执行的平台固件512提供背书信息。可以执行平台固件512,以便如以上关于管理控制器描述地那样执行对背书信息以及所存储的设备唯一数据的表示的分析。
如果安全协处理器510通过验证,则计算设备500可以继续其启动序列,并且可以将计算设备500的执行移交给高级操作系统。如果安全协处理器510未通过验证,则可以采取另一动作,例如,记录日志、发送安全警报或消息、停止计算设备500的启动等。停止计算设备500的启动可以包括对计算设备500断电、在PLD中设置标志以使得系统在清除之前不启动、不将计算设备500的控制移交给操作系统等。进一步地,在一些示例中,平台固件512可以用于实施管理控制器400的与安全协处理器的验证有关的一些活动。
尽管上面已经示出和描述了特定的实施方式,但是可以做出形式和细节上的各种改变。例如,已经关于一种实施方式和/或过程描述的一些特征可以与其他实施方式关联。换句话说,关于一种实现方式描述的过程、特征、部件和/或特性可用于其他实施方式。此外,应当理解,本文描述的系统和方法可以包括所描述的不同实施方式的部件和/或特征的各种组合和/或子组合。因此,参考一种或多种实施方式描述的特征可以与本文描述的其他实施方式组合。

Claims (20)

1.一种计算设备,包括:
控制器中枢;
多路复用器;
至少一个中央处理单元CPU;
与所述至少一个CPU分离的管理控制器,其中,所述管理控制器被使用辅助电力轨进行供电,所述辅助电力轨在所述计算设备处于辅助电力状态时向所述管理控制器提供电力;以及
安全协处理器,所述安全协处理器包括对于所述安全协处理器而言唯一的设备唯一数据,其中,所述设备唯一数据包括密码密钥;
其中,所述管理控制器用于:
在第一时间,接收包括所述密码密钥的所述设备唯一数据,并且将所述设备唯一数据的表示存储在安全位置,
在所述第一时间之后的时间,作为所述计算设备的启动期间的验证序列的一部分:
使用控制信号来控制所述多路复用器以将所述管理控制器连接至所述安全协处理器,
经由所述多路复用器从所述安全协处理器的预期位置接收背书信息,
将基于所述背书信息的信息与包括所述密码密钥的所述设备唯一数据的所述表示进行比较,以及
根据基于所述背书信息的所述信息是否与包括所述密码密钥的所述设备唯一数据的所述表示相匹配来确定是使能还是阻止所述计算设备的所述启动;以及
在所述验证序列之后,使用所述控制信号来控制所述计算设备中的所述多路复用器以将所述控制器中枢连接至所述安全协处理器。
2.如权利要求1所述的计算设备,其中,所述管理控制器用于响应于基于所述背书信息的所述信息与包括所述密码密钥的所述设备唯一数据的所述表示相匹配,在所述验证序列之后控制所述多路复用器以将所述控制器中枢连接至所述安全协处理器,
其中,所述控制器中枢用于管理所述CPU和所述计算设备的其他部件之间的数据通信。
3.如权利要求1所述的计算设备,其中,所述管理控制器用于:
在控制所述多路复用器以将所述管理控制器连接至所述安全协处理器之后:
向所述安全协处理器发送启动命令;以及
在所述发送所述启动命令之后,向所述安全协处理器发送对所述背书信息的请求。
4.如权利要求1所述的计算设备,其中,所述背书信息包括密码密钥。
5.如权利要求1所述的计算设备,其中,所述设备唯一数据的所述表示是所述设备唯一数据的散列值。
6.如权利要求1所述的计算设备,其中,作为所述验证序列的一部分,所述管理控制器将验证所述管理控制器的程序代码和固件存储器中的固件映像。
7.如权利要求1所述的计算设备,其中,所述管理控制器用于响应于基于所述背书信息的所述信息不与包括所述密码密钥的所述设备唯一数据的所述表示相匹配,阻止所述计算设备的所述启动。
8.如权利要求1所述的计算设备,其中,所述管理控制器是基板管理控制器。
9.如权利要求1所述的计算设备,其中,所述管理控制器将在所述计算设备的下一次启动时再次执行所述验证序列。
10.如权利要求1所述的计算设备,其中,所述安全协处理器在所述验证序列被执行时由所述辅助电力轨供电。
11.一种包括指令的非暂态机器可读存储介质,所述指令当被执行时使得管理控制器:
在第一时间从安全协处理器接收对于计算设备的所述安全协处理器而言唯一的设备唯一数据,所述计算设备还包括所述管理控制器以及与所述管理控制器分离的中央处理单元CPU,其中,所述设备唯一数据包括密码密钥;
将所述设备唯一数据的表示存储在安全位置,
其中,所述管理控制器被使用辅助电力轨进行供电,所述辅助电力轨在所述计算设备处于辅助电力状态时向所述管理控制器提供电力,
在所述第一时间之后的时间,并且作为所述计算设备的启动期间的验证序列的一部分:
使用控制信号来控制所述计算设备中的多路复用器以将所述管理控制器连接至所述安全协处理器,
经由所述多路复用器从所述安全协处理器的预期位置接收背书信息;
将基于所述背书信息的信息与包括所述密码密钥的所述设备唯一数据的所述表示进行比较,以及
根据基于所述背书信息的所述信息是否与包括所述密码密钥的所述设备唯一数据的所述表示相匹配来确定是使能还是阻止所述计算设备的所述启动;以及
在所述验证序列之后,使用所述控制信号来控制所述计算设备中的所述多路复用器以将所述计算设备的控制器中枢连接至所述安全协处理器。
12.如权利要求11所述的非暂态机器可读存储介质,其中,所述控制器中枢用于管理所述CPU和所述计算设备的其他部件之间的数据通信。
13.如权利要求12所述的非暂态机器可读存储介质,进一步包括指令,所述指令当被执行时使得所述管理控制器:
响应于基于所述背书信息的所述信息与包括所述密码密钥的所述设备唯一数据的所述表示相匹配,在所述验证序列之后控制所述多路复用器以将所述控制器中枢连接至所述安全协处理器。
14.如权利要求11所述的非暂态机器可读存储介质,进一步包括指令,所述指令当被执行时使得所述管理控制器:
在控制所述多路复用器以将所述管理控制器连接至所述安全协处理器之后:
向所述安全协处理器发送启动命令;以及
在所述发送所述启动命令之后,向所述安全协处理器发送对所述背书信息的请求。
15.如权利要求11所述的非暂态机器可读存储介质,进一步包括指令,所述指令当被执行时使得所述管理控制器,作为所述验证序列的一部分,验证所述管理控制器的程序代码和固件存储器中的固件映像。
16.一种方法,包括:
由管理控制器在第一时间从安全协处理器接收对于计算设备的所述安全协处理器而言唯一的设备唯一数据,所述计算设备还包括所述管理控制器以及与所述管理控制器分离的中央处理单元CPU,其中,所述设备唯一数据包括密码密钥;
由所述管理控制器将所述设备唯一数据的表示存储在安全位置,
其中,所述管理控制器被使用辅助电力轨进行供电,所述辅助电力轨在所述计算设备处于辅助电力状态时向所述管理控制器提供电力,
在所述第一时间之后的时间,并且作为所述计算设备的启动期间的验证序列的一部分:
使用控制信号控制所述计算设备中的多路复用器以将所述安全协处理器连接至所述管理控制器;
由所述管理控制器经由所述多路复用器从所述安全协处理器的预期位置接收背书信息;
将基于所述背书信息的信息与包括所述密码密钥的所述设备唯一数据的所述表示进行比较,以及
由所述管理控制器根据基于所述背书信息的所述信息是否与包括所述密码密钥的所述设备唯一数据的所述表示相匹配来确定是使能还是阻止所述计算设备的所述启动;以及
在所述验证序列之后,使用所述控制信号来控制所述计算设备中的所述多路复用器以将所述计算设备的控制器中枢连接至所述安全协处理器。
17.如权利要求16所述的方法,其中,响应于基于所述背书信息的所述信息与包括所述密码密钥的所述设备唯一数据的所述表示相匹配,所述管理控制器控制所述多路复用器以将所述控制器中枢连接至所述安全协处理器。
18.如权利要求16所述的方法,进一步包括:
在控制所述多路复用器以将所述管理控制器连接至所述安全协处理器之后:
由所述管理控制器向所述安全协处理器发送启动命令;以及
在所述发送所述启动命令之后,向所述安全协处理器发送对所述背书信息的请求。
19.如权利要求16所述的方法,其中,所述设备唯一数据的所述表示是所述设备唯一数据的散列值。
20.如权利要求16所述的方法,其中,响应于基于所述背书信息的所述信息不与包括所述密码密钥的所述设备唯一数据的所述表示相匹配,所述管理控制器将阻止所述计算设备的所述启动。
CN202110108949.3A 2020-01-29 2021-01-27 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 Active CN113190880B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/775,823 2020-01-29
US16/775,823 US11580225B2 (en) 2020-01-29 2020-01-29 Determine whether to perform action on computing device based on analysis of endorsement information of a security co-processor

Publications (2)

Publication Number Publication Date
CN113190880A CN113190880A (zh) 2021-07-30
CN113190880B true CN113190880B (zh) 2023-12-08

Family

ID=76753850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110108949.3A Active CN113190880B (zh) 2020-01-29 2021-01-27 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作

Country Status (3)

Country Link
US (1) US11580225B2 (zh)
CN (1) CN113190880B (zh)
DE (1) DE102021101891A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11481497B2 (en) * 2020-09-11 2022-10-25 Dell Products L.P. Systems and methods for hardware attestation in an information handling system
US11989563B2 (en) * 2020-12-04 2024-05-21 Intel Corporation Dynamic bios policy for hybrid graphics platforms

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692599B1 (en) * 2014-09-16 2017-06-27 Google Inc. Security module endorsement
US10243739B1 (en) * 2015-03-30 2019-03-26 Amazon Technologies, Inc. Validating using an offload device security component
CN109753804A (zh) * 2018-12-26 2019-05-14 北京可信华泰信息技术有限公司 一种可信系统
CN110073355A (zh) * 2016-12-13 2019-07-30 亚马逊技术股份有限公司 服务器上的安全执行环境
CN110096886A (zh) * 2018-01-31 2019-08-06 慧与发展有限责任合伙企业 基于清单比较执行安全动作

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283601A1 (en) 2004-06-22 2005-12-22 Sun Microsystems, Inc. Systems and methods for securing a computer boot
US20080126779A1 (en) 2006-09-19 2008-05-29 Ned Smith Methods and apparatus to perform secure boot
US9239879B2 (en) * 2009-06-26 2016-01-19 Iac Search & Media, Inc. Method and system for determining confidence in answer for search
US9218462B2 (en) 2012-04-25 2015-12-22 Hewlett Packard Enterprise Development Lp Authentication using lights-out management credentials
US9384367B2 (en) 2012-09-04 2016-07-05 Intel Corporation Measuring platform components with a single trusted platform module
US9430364B1 (en) * 2012-11-30 2016-08-30 Mobile Labs, LLC Systems, methods, and apparatuses for testing mobile device applications
US9690401B2 (en) * 2014-03-24 2017-06-27 Citrix Systems, Inc. Method and system for maintaining aspect ratio on pointing devices
US9621347B2 (en) * 2014-09-03 2017-04-11 Virtustream Ip Holding Company Llc Systems and methods for securely provisioning the geographic location of physical infrastructure elements in cloud computing environments
US10038591B1 (en) * 2015-01-09 2018-07-31 Juniper Networks, Inc. Apparatus, system, and method for secure remote configuration of network devices
US10346071B2 (en) * 2016-12-29 2019-07-09 Western Digital Technologies, Inc. Validating firmware for data storage devices
US11455396B2 (en) 2017-05-12 2022-09-27 Hewlett Packard Enterprise Development Lp Using trusted platform module (TPM) emulator engines to measure firmware images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692599B1 (en) * 2014-09-16 2017-06-27 Google Inc. Security module endorsement
US10243739B1 (en) * 2015-03-30 2019-03-26 Amazon Technologies, Inc. Validating using an offload device security component
CN110073355A (zh) * 2016-12-13 2019-07-30 亚马逊技术股份有限公司 服务器上的安全执行环境
CN110096886A (zh) * 2018-01-31 2019-08-06 慧与发展有限责任合伙企业 基于清单比较执行安全动作
CN109753804A (zh) * 2018-12-26 2019-05-14 北京可信华泰信息技术有限公司 一种可信系统

Also Published As

Publication number Publication date
US20210232688A1 (en) 2021-07-29
US11580225B2 (en) 2023-02-14
DE102021101891A1 (de) 2021-07-29
CN113190880A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
US11861372B2 (en) Integrity manifest certificate
US11995182B2 (en) Baseboard management controller to perform security action based on digital signature comparison in response to trigger
US10771264B2 (en) Securing firmware
EP3522059B1 (en) Perform security action based on inventory comparison
US8006100B2 (en) Enhancing trusted platform module performance
US8068614B2 (en) Methods and apparatus for batch bound authentication
US11030347B2 (en) Protect computing device using hash based on power event
US20050021968A1 (en) Method for performing a trusted firmware/bios update
CN107045611B (zh) 安全启动方法及装置
US20110246778A1 (en) Providing security mechanisms for virtual machine images
JP2014518428A (ja) Biosフラッシュ攻撃に対する保護および通知
US10776493B2 (en) Secure management and execution of computing code including firmware
US11436324B2 (en) Monitoring parameters of controllers for unauthorized modification
US10181956B2 (en) Key revocation
CN113190880B (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作
CN116842517A (zh) 可信验证方法及装置
JP7050503B2 (ja) 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム
CN116956267A (zh) 平台证书的基于管理控制器的验证
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
KR102369874B1 (ko) 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스
WO2020183562A1 (ja) 正当性認証起動管理システム
CN117751361A (zh) 用于保护软件的使用的方法
WO2023200487A1 (en) Firmware controlled secrets
CN115618362A (zh) 一种计算机系统、访问控制方法及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant