CN112560004B - 完整性确定方法和系统 - Google Patents

完整性确定方法和系统 Download PDF

Info

Publication number
CN112560004B
CN112560004B CN202010840626.9A CN202010840626A CN112560004B CN 112560004 B CN112560004 B CN 112560004B CN 202010840626 A CN202010840626 A CN 202010840626A CN 112560004 B CN112560004 B CN 112560004B
Authority
CN
China
Prior art keywords
integrity
certificate
device identification
security
manifest
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
CN202010840626.9A
Other languages
English (en)
Other versions
CN112560004A (zh
Inventor
L·E·P·N·雅坎
N·爱德华兹
T·M·拉菲
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 CN112560004A publication Critical patent/CN112560004A/zh
Application granted granted Critical
Publication of CN112560004B publication Critical patent/CN112560004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • G06F9/442Shutdown
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本文公开的示例涉及使用完整性清单证书来验证平台的状态。已配置设备标识并将其存储在安全性协处理器中的设备的设备标识用于从安全性协处理器检索完整性证据。设备包括至少一个处理元件、至少一个存储设备和包括至少一个总线设备的总线,且其中设备标识与由第一机构签名的设备标识证书关联。完整性证据包括其中包括至少一个处理元件、至少一个存储器设备、至少一个总线设备和系统板的多个硬件部件中的每个的表示以及被包括在设备中的多个固件部件的表示。完整性证据被提供给认证站。认证站基于设备的期望配置状态和设备标识来确定完整性证据是期望值。认证站使用第二机构基于完整性证据和设备标识对完整性清单证书进行签名。存储完整性清单证书。

Description

完整性确定方法和系统
背景技术
为了向终端用户提供平台的可靠操作,平台制造商需要使终端用户能够验证平台的真实性。与由可信计算组构想的可信平台模块(TPM)标准一致的鉴证模块或安全性协处理器是用于检测平台真实性的示例安全解决方案。TPM可以用于检测平台的设备是否为伪造的,例如是由未授权方制造的还是以未授权方式制造的。TPM可以接收用于认证平台的每个设备的指令,例如,检查该设备是由授权方以授权方式制造的。在设备制造期间,设备制造商可以在设备中实例化已签名的制造商身份。稍后,TPM可能会接收用于通过检查制造商身份的有效性来验证设备的真实性的指令。TPM可以实现为符合可信计算组规范的安全性协处理器芯片。
附图说明
以下详细描述参考了附图,其中:
图1是根据示例的包括能够促进设备的平台验证的安全性协处理器的设备的框图;
图2是根据一个示例的可用于认证平台的认证站的框图;
图3是根据一个示例的可用于验证平台的验证站的框图;
图4是根据一个示例的认证平台的流程的框图;
图5是根据一个示例的验证已经被认证的平台的流程的框图;
图6是根据一个示例的用于认证平台的方法的流程图;以及
图7是根据一个示例的用于认证平台的方法的流程图。
在所有附图中,相同的附图标记可以表示相似但不一定相同的元件。附加在一些附图标记上的索引编号“N”可以理解为仅表示多个并且对于具有这样的索引编号“N”的每个附图标记而言不一定表示相同的数量。另外,在本文中使用不带索引编号的附图标记,其中这种附图标记在其他地方以带有索引编号进行引用,可以是对对应的多个元素的共同地或单独地总体引用。在另一个示例中,可以使用索引编号“I”、“M”等代替索引编号N。
在所有附图中,相同的附图标记表示相似但不一定相同的元件。附图不一定按比例绘制,并且某些部分的尺寸可能被放大以更清楚地示出所示的示例。此外,附图提供了与说明书一致的示例和/或实施方式。然而,说明书不限于附图中提供的示例和/或实施方式。
具体实施方式
在本公开中,术语“一(a/an)”或“该”的使用也意图包括复数形式,除非上下文另外明确指出。而且,当在本公开中使用时,术语“包括”、“包含”、“含有”、“具有”、“包括有”或“包含有”指定存在所述元件,但是不排除存在或添加其他元件。
本文所述的各种示例提供了一种过程,该过程用于使得制造商的客户能够验证客户在其装运港接收的平台(例如,设备)自从从生产链中退出以来未被篡改。该方法还通过在离开生产线之前保护平台的完整性指纹而提供安全平台设备标识(DevID)的扩展。然后,客户可以使用平台的完整性指纹来验证所接收的平台在运输过程中没有被修改。
客户可能会担心检测供应链攻击。本公开提供了对平台配置由制造商鉴证(例如,通过密码签名)的完整性清单——该完整性清单是在给定平台的制造期间捕获的——的示例。使用该经鉴证的完整性清单——连同验证软件,客户可以验证其接收的平台与平台出厂时处于相同状态(例如,安装了相同的固件、未修改子板等部件)。另外,这可以向客户提供关于使用了哪些制造设备的保证(例如,平台是由该特定的合同制造商在给定的国家制造的等)。因此,可以使用这种方法对供应链进行认证。请注意,尽管通篇中客户使用案例被用作系统的受益方,但是可以预见的是,本文所述的方法可以被其他人用来在不同的使用案例中验证平台的完整性。
本文所述的示例包括使用安全性协处理器,例如可信平台模块(TPM)。使用提供用于支持本文描述的示例的所需特征(例如,用于完整性测量的软件防篡改存储、受保护的密码密钥和引擎等)的规范来实现安全性协处理器。
可以在制造期间配置平台的完整性清单并且可以在接收平台时执行对所接收平台的客户验证。当平台仍处于具有正确清单的可信环境中时,对平台进行配置。然后,稍后(例如,在运送到客户之后)从平台检索数据并对数据进行处理以评估平台,以便能够检测在平台运送到客户时的任何篡改。如本文所使用的,“平台”可以被认为是包括安全性协处理器的设备并且其中该设备包括硬件部件以及在硬件部件中的一个或多个上执行的一个或多个固件或软件部件。
技术说明和定义
通常,可信证明是指一种过程,通过该过程,一个被称为“验证器”的电子设备向另一个电子设备(例如计算机平台)质询以检查该平台是否可信任。该可信证明依赖于对平台的测量。更具体地说,在平台受到验证器的质询之前,平台将依靠平台的可信计算基础执行对自身的测量。这些测量形成了由平台存储在平台存储器中的测量日志。在本文的上下文中,“可信计算基础”是指平台的一组硬件、固件和/或软件部件,这些硬件、固件和/或软件部件形成了用于平台的安全性核心。换句话说,可信计算基础可以是固有可信的软件、硬件或其某些组合。在平台执行可信计算基础测量之后,平台可以将其测量的加密哈希安全地存储在平台的安全存储器中,例如平台的安全性部件(例如,安全性协处理器或可信平台模块)内的平台配置寄存器(PCR)。平台可以在平台的特定功率状态下例如在平台启动时执行测量。
验证器通过向平台提供可信证明请求来发起对平台的质询,并且平台的安全性部件以测量哈希的经鉴证摘要来响应该可信证明请求。在本文中,“经鉴证摘要”是指平台的测量集合,该测量集合由平台的安全性部件签名。根据进一步的示例实施方式,包含PCR值的TPM引证(在本文中也称为“PCR引证”)是经鉴证摘要的示例,尽管经鉴证摘要可以采取其他形式。
根据示例实施方式,可信证明请求可以包含随机数,该随机数是用于识别目的的一次性号码,使得对应的经鉴证摘要可以与该请求相关联而不是先前经鉴证摘要的重复版本。以这种方式,根据示例实施方式,由平台的安全部件提供的经鉴证摘要包含来自可信证明请求的随机数(以验证经鉴证摘要是在包含随机数的可信证明请求之后生成的)以及测量哈希(例如,平台的PCR内容)。此外,平台的安全部件对经鉴证摘要进行数字签名,使得为经鉴证摘要提供对应的数字签名。平台还可以使用测量日志来响应可信证明请求,验证器可以使用测量哈希来验证测量日志。
上述可信证明过程可以允许验证器确定平台是否已经发生了篡改。例如,如果篡改已经发生,则由于PCR内容被重置(由于平台的重置)或由于测量哈希不对应于测量日志,因此验证器可以检测到该篡改。
可以在设备的制造期间将设备处理为包括与该设备相关联的制造商签名的数字证书,该数字证书可以用作该设备的可信标识形式。该过程通常涉及在设备制造期间的某个时间点(例如,在将计算设备运送到零售商或客户之前)生成并安装制造商签名的数字证书。在某些示例中,客户信息可以包含在制造商签名的数字证书中。在某些示例中,制造商签名的数字证书还可以基于有关设备的设备标识信息,例如,型号、序列号、外部颜色、固件的哈希、制造日期等。制造商签名的数字证书可以用作设备或平台的设备标识。
在一些示例中,TPM是只能通过使用良好定义的格式的输入/输出(I/O)缓冲器来进行交互的安全性协处理器。TPM行为完全基于其接收的(一系列)命令。因此,从TPM可以得到的任何保证都是基于所发出的命令的。典型的示例是经测量的启动和远程可信证明机制,这些可信证明机制是通过使用TPM平台配置寄存器来构建的以远程验证平台的状态。通过使用待存储的信息来散列PCR的先前值来更新PCR。在经测量的启动情况下,PCR用于存储固件和软件完整性值。使用PCR防止删除固件或软件执行事件。在本文描述的示例中,固件或软件部件无法从PCR擦除其测量事件。此外,由于制造商会知道应该执行什么固件或软件,因此制造商可以预测设备或平台的预期PCR值。如本文中所使用的,固件可以包括可以被编程的多个部件,例如,平台中的现场可编程门阵列比特流、串行外围接口(SPI)闪存、电可擦除可编程只读存储器(EEPROM)等。还可以测量未使用的可编程逻辑(并且未使用的可编程逻辑可以是已知值,例如0或重复模式)。
如本文所使用的,“认证机构”(CA)是发布数字证书的可信实体。数字证书是可用于将实体与公钥加密链接的数据文件。在公钥基础结构(PKI)中,CA可以发布可用于通过公共手段进行鉴证的证书。在一些示例中,数字证书可以包括所有者的标识信息(例如,姓名、地址等)和实体(例如,认证机构、制造商等)的数字签名。数字证书还可以包括实体的公钥、证书的过期日期等。需要数字证书的个人或实体可以向认证机构请求一个数字证书。CA可以验证申请人的身份并为申请人生成数字证书,然后使用CA的私钥对该证书进行数字签名。然后,可以使用CA的公钥对数字证书进行鉴证。验证器可以使用公钥来验证证书是由特定机构或私钥进行签名的。
在某些示例中,CA活动可以以根证书开始。根证书用作机构发布的证书的信任基础。根证书以及与证书关联的私钥可以被高度安全地处理并且可以存储在离线受保护设施中。CA可以使用根证书来创建一个或多个中间证书,这些证书可以用来对机构发布的数字证书进行签名。在某些示例中,可以使用中间证书通过注册机构(RA)来发布数字证书。对于与RA相关联的特定域名空间,CA可以将要求中的部分或全部委派给RA以进行鉴证。
在整个文档中都利用了这些概念。特别地,私钥可以在设备的安全性协处理器中是安全的。私钥可用于在安全性协处理器处对信息签名。可以提供公钥以确保来自安全性协处理器的签名是有效的。类似地,CA具有私钥,该私钥可用于对可在整个文档中使用的证书进行签名。可以提供公钥来验证证书是否由CA签名。
图1是根据示例的包括能够促进对设备的平台验证的安全性协处理器的设备的框图。设备100可以包括配置有设备标识112的安全性协处理器110、处理元件120、存储器设备130、总线140以及一个或多个总线设备150。设备的示例可以包括开关、路由器、服务器、桌面型计算机、电话、器械或具有本文所述的部件和功能的任何其他计算设备。该设备可以在图4和图5的系统中进行操作,以用于创建初始完整性清单证书并稍后验证设备。
处理元件120,诸如适合于检索和执行指令的中央处理单元(CPU)或微处理器和/或电子电路,可以被配置为执行各种软件部件的功能。在某些情况下,指令和/或其他信息诸如固件、数据库信息等可以被包括在存储器设备130或其他存储器中。设备100可以另外提供输入/输出接口。在一个示例中,诸如键盘、传感器、触摸界面、鼠标、麦克风等的输入设备可以用于接收来自计算设备100周围环境的输入。此外,诸如显示器的输出设备可用于向用户呈现信息。输出设备的示例包括扬声器、显示设备、放大器等。此外,在某些示例中,一些部件可以用于实现本文所述的其他部件的功能。诸如通信设备、例如网络通信设备或无线设备的输入/输出设备也可以被认为是能够使用输入/输出接口的设备。
在一些示例中,设备100包括一个或多个固件引擎。可以使用可由处理器和/或逻辑执行的指令来实现固件引擎。在一些示例中,固件引擎可以被实现为平台固件。平台固件可以包括诸如基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)的接口以允许与其进行接口连接。平台固件可以位于设备100的处理元件120(例如,CPU)启动所处的地址空间处。在一些示例中,平台固件可以负责设备100的通电自检。在其他示例中,平台固件可以负责启动过程以及要加载到设备100上的操作系统(如果有)。此外,在器械、简单开关等的情况下,平台固件可以代表设备100的操作系统。
平台固件可以能够初始化设备100的各种部件,例如外围设备、存储器设备130、存储器控制器设置、存储控制器设置、总线速度、视频卡信息等。在一些示例中,平台固件也可以能够在设备100执行时执行各种低级功能。此外,在一些示例中,平台固件可以能够例如经由高级配置和电源接口(ACPI)与在CPU上执行的更高级别的操作系统进行通信。
在某些示例中,处理元件可以执行操作系统。操作系统是系统软件,其管理计算机硬件和软件资源并为计算机程序提供通用服务。该OS可以在处理元件120上执行并且可以加载到存储器设备130。该OS是高级操作系统,例如LINUX、WINDOWS、UNIX、裸机管理程序或计算设备100的启动固件引擎将对设备100的控制所转向至的其他类似高级软件。
设备100的部件可以与认证站200进行交互以对设备100进行认证(例如,在制造状态期间)并且可以与验证站300进行交互以在以后的时间验证设备100处于相同状态。
在一些示例中,可以在制造时对设备100配置软件堆栈,该软件堆栈包括开机时的安全或经测量的启动。在一个示例中,固件引擎可以获取目录并将该目录存储为已存储目录。已存储目录可以包括可能希望被保护和跟踪的多个部件的目录。
待记录的设备或部件的示例包括一个或多个处理元件120、存储器设备130、系统板和/或系统板的多个部件、一个或多个总线140(例如,PCIe总线)上的总线设备150、控制器集线器和/或连接到控制器集线器的设备、现场可更换单元机箱、北桥设备、其他ASIC等。
如本文中所使用的,系统板是用于设备100的主印刷电路板并且允许设备的许多部件之间的通信,例如,处理元件120、存储器设备130、外围设备、总线设备等。在一些示例中,控制器集线器可以是I/O控制器集线器,例如南桥。控制器集线器可用于管理CPU与系统板的其他部件之间的数据通信。在一些示例中,控制器集线器可以具有到北桥设备或CPU的直接媒体接口。此外,控制器集线器可以为设备提供外围支持,例如通用串行总线(USB)、外围组件互连(PCI)、PCI Express、PCI扩展、串行AT附件、音频电路、集成以太网、增强型主机控制器接口及其组合等的总线连接。可以使用的标识符的其他示例包括系统板修订标识符、复杂可编程逻辑设备修订标识符、ASIC步进标识符、平台和机箱标识符、立柱标识符、嵌入式控制器标识符、电池和电源标识符、存储部件标识符等。这些是可能被包括为待记录的部件的示例。这些可以基于设备而更改。例如,服务器可能具有北桥和南桥,而开关或其他器械可能具有更少的部件。
还可以测量与部件中的一个或多个相关联的固件和/或软件并将这些固件和/或软件存储在安全性协处理器的寄存器中。在TPM背景中,可以将测量存储在PCR中。测量可以包括例如包括目录的摘要的哈希。目录可以包括有关可以被测量的特定固件和/或软件的信息。这样的示例包括固件、软件和/或装置。作为启动过程的一部分,存储在PCR中的测量可以被认为是平台完整性测量。
如所述的,设备100包括至少一个处理元件120。处理元件120可以被配置为执行存储在存储器设备130上的指令。在一些示例中,例如在服务器的情况下,处理元件中的一个处理元件可以包括BMC。在其他示例中,主处理单元可以执行指令。在图4和5的各种示例中,设备100执行各种动作。这可以使用耦合到总线设备150或能够执行在特定设备实施方式中描述的动作的另一处理元件120的设备100的接口来实现。在一些示例中,执行所描述的动作的处理元件或总线设备可以具有用于与安全性协处理器110通信的总线。
在一些示例中,该设备可以是服务器并且该服务器可以包括基板管理控制器(BMC)。 BMC可以用于为设备100实现服务。BMC可以使用与用于执行高级操作系统的处理元件120分开的处理器来实现。BMC可以为计算设备提供所谓的“熄灯”功能。即使未在计算设备上安装操作系统或该计算机不起作用,熄灯功能也可以允许用户例如系统管理员在设备100上执行管理操作。此外,在一个示例中,BMC可以依靠辅助电源运行,因此在启动后将设备100的控制移交给操作系统时设备100无需被通电到接通状态。作为示例,BMC可以提供所谓的“带外”服务,例如远程控制台访问、远程重新启动和电源管理功能、监视系统的健康状况、对系统日志的访问等。如本文中所使用的,BMC具有用于设备100的子系统的管理能力并且与执行计算设备(例如,服务器或服务器组)的主操作系统的处理器或处理元件120分开。
如所述的,在某些情况下,BMC可以启用设备100的熄灯管理,无论设备100是否通电、主网络子系统硬件是否发挥作用、或者操作系统是否正在运行甚至是否已安装,BMC都提供远程管理访问(例如,系统控制台访问)。BMC可以包括管理员可以用来与BMC进行远程通信的接口,例如网络接口和/或串行接口。如本文中所使用的“带外”服务是由BMC经由专用管理信道(例如,网络接口或串行接口)提供的服务,并且无论设备是否处于通电状态都可用。
在一些示例中,BMC可以被包括为外壳的一部分。在其他示例中,BMC可以被包括在服务器的一个或多个中(例如,作为服务器的管理子系统的一部分)或者经由接口(例如,外围接口)连接。在一些示例中,与BMC相关联的传感器可以测量内部物理变量,例如湿度、温度、电源电压、通信参数、风扇速度、操作系统功能等。BMC也可能能够重新启动设备或使设备电力循环。如所述的,BMC允许对设备进行远程管理,因此,可以使用BMC向集中站发出通知并且可以通过BMC实现密码或其他用户输入。
在一些示例中,设备可以跟踪一个或多个日志中的事件。日志可以包含有关PCR寄存器更改的任何时间的信息。如上所述,每次PCR寄存器更改时,都会通过对先前值进行哈希处理来更新该PCR寄存器。这些事件的日志可以稍后播放,以确定验证器的比较点。在一些示例中,可以记录的可能动作的子集可以是用于验证的有效操作(例如,启动操作),并且如果在日志中发现了无效操作,则可以认为设备的完整性受到损害。
图2是根据一个示例的可用于认证平台的认证站的框图。认证站可以在系统中与设备100结合使用,以认证和存储针用于平台的初始完整性清单证书,如结合图4进一步描述的。
认证站200可以被实现为包括例如处理元件210和机器可读存储介质220的计算设备,该机器可读存储介质220包括用于认证用于平台(例如设备100)的清单的指令230、232、234、236。认证站200可以是例如服务器、笔记本计算机、平板计算设备、桌面型计算机、便携式阅读设备、无线电子邮件设备、移动电话或任何其他计算设备。
处理元件210可以是一个或多个中央处理单元(CPU)、一个或多个基于半导体的微处理器、一个或多个图形处理单元(GPU)、适合于检索和执行存储在机器可读存储介质220中的指令的其他硬件设备或其组合。处理元件210可以是物理设备。此外,在一个示例中,处理元件210可以包括芯片上的多个核、包括跨多个芯片的多个核、跨多个设备的多个核(例如,如果认证站200包括多个节点设备)或其组合。处理元件210可以获取、解码和执行指令230、232、234、236以对平台的完整性清单签名。作为检索和执行指令的替代或补充,处理元件210可以包括至少一个集成电路(IC)、其他控制逻辑、其他电子电路或其组合,这些组合包括用于执行指令230、232、234、236的功能的多个电子部件。
机器可读存储介质220可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质可以例如是随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。这样,机器可读存储介质可以是非暂时性的。如本文中详细描述的,机器可读存储介质220可以用一系列可执行指令编码以用于对用于平台的完整性清单进行签名。
在一些示例中,认证站200连接到待被配置的设备。设备100可以向认证站暴露接口以通信至安全性协处理器110。可以使用各种接口,例如,诸如通用异步接收器/发送器(UART)的串行连接、I2C总线、SPI总线等。在一些示例中,连接可以被引导至安全性协处理器(例如,经由头部和直接连接),而在其他示例中,连接可以经由中间微控制器(例如,BMC、连接到接口的微控制器等)或处理元件120。在一些示例中,处理元件120可以经由接口连接到认证站。
认证站200可以经由连接而连接到认证中心。在一些示例中,这可以经由安全网络连接。
图3是根据一个示例的可用于验证平台的验证站的框图。验证站可以在系统中与设备100结合使用,以验证平台处于与针对该平台生成初始完整性清单证书的时间相同的状态或预期状态,如结合图4进一步描述的。
验证站300可以被实现为包括例如处理元件310和机器可读存储介质320的计算设备,该机器可读存储介质320包括用于认证用于平台的清单的指令330、332、334、336(例如设备100)。验证站300可以例如是服务器、笔记本计算机、平板计算设备、桌面型计算机、便携式阅读设备、无线电子邮件设备、移动电话或任何其他计算设备。
处理元件310可以是一个或多个中央处理单元(CPU)、一个或多个基于半导体的微处理器、一个或多个图形处理单元(GPU)、适合于检索和执行存储在机器可读存储介质320中的指令的其他硬件设备或其组合。处理元件310可以是物理设备。此外,在一个示例中,处理元件310可包括芯片上的多个核、包括跨多个芯片的多个核、跨多个设备的多个核(例如,如果验证站300包括多个节点设备)或其组合。处理元件310可以获取、解码和执行指令330、332、334、336以验证平台的完整性。作为检索和执行指令的替代或补充,处理元件310可以包括至少一个集成电路(IC)、其他控制逻辑、其他电子电路或其组合,这些组合包括用于执行指令330、332、334、336的功能的多个电子部件。
机器可读存储介质320可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质可以例如是随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。这样,机器可读存储介质可以是非暂时性的。如本文中详细描述的,机器可读存储介质320可以用一系列可执行指令来编码以用于验证平台的完整性。
在一些示例中,验证站300连接到要被验证的设备。设备100可以向认证站暴露接口以通信至安全性协处理器110。可以使用各种接口,例如,诸如通用异步接收器/发送器(UART)的串行连接、I2C总线、SPI总线等。在一些示例中,连接可以被引导至安全性协处理器(例如,通过头部和直接连接),而在其他示例中,连接可以经由中间微控制器(例如,BMC、连接到接口的微控制器等)或处理元件120。
通信网络可以使用有线通信、无线通信或其组合。此外,通信网络可以包括多个子通信网络,例如数据网络、无线网络、电话网络等。这样的网络可以包括例如公共数据网络例如因特网、局域网(LAN)、广域网络(WAN)、城域网(MAN)、电缆网络、光纤网络、其组合等。在某些示例中,无线网络可以包括蜂窝网络、卫星通信、无线LAN等。此外,通信网络可以是设备之间的直接网络链路的形式。可以利用各种通信结构和基础设施来实现一个或多个通信网络。
以示例的方式,设备可以经由通信协议或多个协议通过访问通信网络而彼此通信以及与其他部件通信。协议可以是定义通信网络的节点如何与其他节点进行交互的一组规则。此外,可以通过交换离散数据分组或发送消息来实现网络节点之间的通信。分组可以包括与协议相关联的标头信息(例如,关于待联系的一个或多个网络节点的位置的信息)以及有效载荷信息。
图4是根据一个示例的认证平台的流程的框图。系统400包括设备100和认证站200,该设备100和认证站200用于生成和存储用于平台(例如,设备100)的初始完整性清单证书。
在制造期间,可以对设备100配置设备标识(DevID)。通过仅存储在设备的安全性协处理器(例如TPM)中并仅在该安全性协处理器中使用而确保该设备标识。DevID包含存储在安全性协处理器中的私钥。这允许保护私钥免遭在平台上运行的恶意固件或软件。这种方法的优势在于,如果攻击者设法在平台上运行代码,则该代码将无法提取私钥以稍后冒充平台。DevID可以与公共证书相关联。公共证书可以例如是X.509证书或类似的数据结构。在一个示例中,用于证书的数据结构在主题公钥字段中包括有关发布证书的CA、序列号和DevID公钥的信息。该公共信息可以由制造商保留、由安全性协处理器或平台上的另一设备提供并且可供认证站200获得。
设备100可以启动。在启动期间,设备100可以实施安全启动或经测量的启动414。如上所述,在启动过程期间,可以获取部件和/或固件和/或软件的目录。
在启动过程期间,作为启动过程的一部分而执行的指令可以在416处引起对平台完整性测量的安全存储。如上所述,在TPM背景下,可以将平台完整性测量存储在PCR中。
设备100可以使用接口连接到认证站200。设备100可以被通电并且被起动。认证站200可以在410处开始认证过程,其中认证站200的处理元件210可以执行请求指令230以从设备100请求DevID证书。DevID 112被存储在安全性协处理器110中。可以将公共证书提供给认证站200。可以将公共证书存储在安全性协处理器110、TPM、设备100或平台上的另一个位置等处。在这种情况下,设备100可以在412处将DevID证书发送到认证站。在一些示例中,认证站200可以通过另一种方式访问公共证书,例如,通过使用诸如序列号的标识符来标识设备100的数据库。
认证站200可以使用第一CA机构来验证DevID证书。第一CA将对DevID证书进行签名。一旦认证站在418处接收DevID证书,就执行验证指令232以使用第一CA来验证DevID。如所述的,认证站200可以具有到第一CA的安全链接(例如,制造商机构),以证明与DevID证书相关联的签名的真实性。在其他示例中,来自第一CA的证书可用于证明签名的真实性。
在验证安全性协处理器110的DevID之后,在420处,可以执行请求指令230以从设备100请求平台完整性测量。平台完整性测量可以是来自安全性协处理器110的完整性证据。如所述的,可以在诸如经测量的启动的启动过程期间进行该测量。
为了获得完整性测量,DevID密钥可以用于安全地检索在安全性协处理器110中捕获的平台状态(422)。在TPM的情况下,这可以包括一个或多个平台配置寄存器中所包含的信息。此外,在TPM的示例中,这可以称为引证。可以使用DevID私钥对完整性测量证据进行签名(424)。设备100可以将安全完整性证据发送到认证站(426)。在某些示例中,平台还可以发送完整性事件日志。
在428处,认证站可以执行验证指令232以验证在完整性测量证据中(例如,在TPMPCR中)捕获的平台状态与安装在制造系统中的部件、固件和/或软件的预期制造设备值匹配(如果不匹配,则这可以意味着在制造期间已经发生了攻击)。在某些示例中,可以创建数据库,该数据库将部件和固件的预期状态映射到产品SKU、型号、设备类型或其他分组单元。还可以考虑定制并且存储预期状态。
在一些示例中,为了验证PCR,认证站可以访问用于跟踪PCR修改的不同事件日志。然后,在430处,由第二认证机构(CA)通过执行签名指令234对完整性证据(以及需要时相关联的日志)进行签名。
在一些示例中,从TPM接收引证。引证可能需要随机数。在一些示例中,众所周知的值可以用于随机数。在其他示例中,随机数也包括在要签名的数据中。
在一些示例中,第二CA可以是制造商范围的CA,这可以允许第二CA将平台的状态鉴证为真正的制造商平台。可以使用更细粒度的CA层次结构。例如,制造商可以针对特定客户为产品的每次释放设置专用的CA,并将CA的使用限制在给定国家的生产线。这使得制造商可以向客户保证用于其平台的生产线。签名可以基于证据和DevID 112。
处理元件210可以执行存储指令236以存储签名的完整性清单证书(432)。在一个示例中,由于签名的完整性清单证书由CA签名进行完整性保护,因此该签名的完整性清单证书存储在平台本身上。也可以通过其他渠道,诸如在线托管在网站上,通过安全邮件、电子邮件,存储设备等进行带外传输等,使得客户可以获得该签名的完整性清单证书。稍后,验证站300可以验证平台状态是初始完整性清单证书创建或上次验证时的状相同态或预期状态。在一些示例中,设备100被运送到另一位置(例如,到客户处)。
图5是根据一个示例的验证已经被认证的平台的流程的框图。如所述的,这可以在认证站200创建初始完整性清单证书之后发生。在一个示例中,设备100可以从制造地点运送到客户地点,并且客户可以使用验证站300来执行验证。
可以向验证实体提供包括可以用于实现验证站300的指令的介质320。可以为不同的平台或设备提供要执行的不同软件。该软件配置有证书,该证书表示用于对DevID证书进行签名的第一CA以及用于对初始完整性清单证书进行签名的第二CA。证书可以以各种方式中的一种方式提供,例如经由到相应CA的安全连接,作为可以本地存储以验证签名的证书等。
在接收到平台之后,客户安装并运行软件以验证设备的DevID。首先,可以在514处启动设备100并执行经测量的或安全启动。在该过程中,如上所述,安全性协处理器110的寄存器填充有平台完整性测量(516)。
请求指令330可以由验证站300的处理元件310在510处执行以从设备100请求DevID证书。这可以用来识别设备100是由第一CA认证的真实设备。该请求可以经由接口发送到能够响应的设备100。在512处,设备100上的处理元件或总线设备可以通过发送DevID证书来响应该请求。在一些示例中,处理元件或总线设备可以从安全存储装置,例如安全性协处理器110中的安全存储装置或设备100上的另一存储位置,请求DevID证书。接口可以用于发送DevID到验证站300。
在518处,验证站300可以使用与第一机构(例如,制造商机构)相关联的CA证书来验证DevID证书。如上所述,在一些示例中,可以使用本地CA证书(例如,公共证书)来验证DevID证书。在其他示例中,可以使用应用编程接口或其他方法将DevID证书或来自DevID证书的信息发送到第一CA用于进行认证。
在520处,请求指令330可以由处理元件310执行以从设备请求平台的完整性状态的证据。在一个示例中,随机数可以用于该请求。随机数可以是新随机数。
在522处,设备100可以运行可信证明协议以检索完整性证据(例如,平台状态的使用DevID的新引证)。完整性证据也可以使用DevID进行签名(524)。由于平台可能已在运输过程中进行了修改,因此使用新的完整性证据(例如,使用新随机数)。因此,如果使用旧的随机数,则该过程可能会受到重放攻击。完整性证据的信息可以包括相同的信息或具有预期的更改。例如,如果完整性证据中包括启动计数器,则预期的更改可以是启动计数器的增量(或小于启动计数器的特定数量的增量)。为了进行签名,可以将随机数提供给安全性协处理器,该安全性协处理器可以访问平台完整性测量(以及其他信息诸如计数器。安全性协处理器110可以使用DevID的私钥对该信息或信息的一部分(包括随机数)进行签名,并将该信息或该信息的一部分提供给与验证站300进行通信的处理元件或总线设备。
可以将由DevID和一个或多个日志签名的完整性证据(例如,有关平台状态的信息,例如部件标识符、固件信息等)提供给验证站300(526)。可以经由将验证站300连接到设备100的接口来发送信息。
在528处,可以执行验证指令332以验证新完整性证据。首先,可以验证DevID的公钥,以验证签名是否正确。验证还可以包括验证公钥已经由可信机构(例如,第一CA)认证。如上所述,可以使用本地CA证书或者可以使用到CA的连接。
在签名被验证之后,验证站可以信任在完整性证据内的平台完整性值(例如,TPM重新启动计数器、时钟、PCR的摘要等)。然后,PCR的摘要用于验证跟踪在514/516处在PCR中扩展的固件、软件或配置完整性值的不同事件日志(例如,UEFI、OS)。
验证站300可以执行请求指令330以获得初始完整性清单证书。在一个示例中,该请求可以是对设备100的,该设备可以提供其初始完整性清单证书。在另一示例中,可以使用另一种方式来向验证站300提供初始完整性清单证书。如上所述,这可以包括区块链、Web门户、存储媒体或其他方法。
在532处,验证站300可以执行验证指令332以验证用于对初始完整性清单和新完整性证据进行签名的密钥是相同的(例如,DevID)。
在534处,可以通过执行比较指令334来将平台完整性证据与初始完整性清单进行比较。该比较可以是基于对平台的状态的预期更改。为此,该比较通过按时间顺序浏览条目中的事件日志并且重新创建每个寄存器(例如,TPM实施方式中的PCR)的中间值来实现(在事件日志中,可以记录所使用的PCR)。在使用条目中的每个条目以后,寄存器的摘要现在应与完整性证据的寄存器摘要匹配。如果将这些更改包括在一组经鉴证的操作中,则可以将日志内进行的这些更改视为预期的更改。可以使用初始完整性清单证书的值作为起点来重新创建事件日志。
一旦新完整性证据被验证,则比较指令就可以验证平台的签名的完整性证据(使用在配置期间用于对引证进行签名的第二CA的证书),并且然后将完整性证据内的平台完整性值与初始完整性清单(例如寄存器值、重新启动计数器等),以验证自创建完整性清单或上次验证以来(例如,在运输过程中)平台状态未被修改(或评估已修改的内容) 。
由于客户将检测到制造商尚未完全配置的任何平台,因此这还使得客户能够防止伪造。客户还可以验证初始完整性清单和在接收平台时所获得的新完整性证据是否由同一密钥签名,以确保初始完整性清单来自该特定平台。
可以执行安全性动作指令336以基于结果执行措施。如果验证步骤518、528、532、534中的任何一个失败,则可以采取补救措施。例如,可以将通知发送给制造商、客户、实体验证等。在一些示例中,可以阻止设备100启动。在其他示例中,安全性动作可以包括不将设备100包括在客户的基础架构中的建议。此外,在一些示例中,可以解析日志以确定完整性证明的当前值与预期值之间的差异。可以分析此信息。
图6是根据一个示例的用于认证平台的方法的流程图。尽管下面参考认证站200描述了方法600的执行,但是可以利用用于执行方法600的其他合适部件(例如,系统400)。另外,用于执行方法600的部件可以分布在多个设备之间。方法600可以以存储在诸如存储介质220的机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实现。
可以在制造过程期间将设备标识配置至设备或平台。设备标识可以包括被配置至安全性协处理器诸如TPM的私钥。设备标识还可以包括与私钥配对的公钥。公钥可以包括在公共证书中。可以使用第一CA来认证设备标识的公共证书。在一些示例中,这是制造商的CA。
认证站可以从设备请求公共证书或者可以具有用于公共证书的另一个源(例如,用于查找序列号的数据库)。认证站可以验证公共证书有效并由第一CA签名。如果未通过验证,则可以警告认证站潜在威胁并可以执行安全性动作(例如,发送通知、电子邮件、记录事件、阻止对设备的运送等)。然后,认证站可以要求设备或平台提供其当前的完整性证据。
设备或平台可以使用安全或经测量的启动过程来启动。在此过程中,系统可以保存日志,而记录可以保存在安全性协处理器中的寄存器中(在TPM的情况,保存在PCR中)。在602处,认证站可以要求平台在该状态下检索平台的完整性证据并且安全性协处理器可以提供由DevID的私钥签名的完整性证据。这样,设备的设备标识可以用于检索完整性证据。完整性证据可以包括多个硬件部件中的每一个的表示,该多个硬件部件包括处理元件、存储设备、总线设备、系统板。完整性证据还可以包括设备中所包括的多个固件部件的表示。此外,在一些示例中,完整性证据可以包括要在处理元件上执行的软件的表示。在一些示例中,软件可以包括针对设备配置的操作系统或操作系统的一部分的映像。
在604处,设备100可以将完整性证据提供给认证站。在一些示例中,这可以通过接口发送。
在606处,认证站200可以基于设备的期望配置状态和设备标识来确定完整性证据是期望值。在一个示例中,作为确定的一部分,认证站可以验证设备标识的签名是有效的。在另一个示例中,可以基于设备的序列号或型号以及设备所期望的配置将寄存器的状态与设备的期望值进行比较。测试设备可用于创建期望值的数据库。
在608处,认证站可以对代表该设备的完整性清单证书进行签名。在一个示例中,第二CA用于对完整性清单证书进行签名。在另一个示例中,第二CA和第一CA可以是相同的根CA。认证站可以包括完整性证据,该完整性证据包括部件的表示以及部件的至少一个固件或软件表示。此外,认证站可以包括用于验证设备标识(例如,包括公共证书或公钥)的信息。
在610处,认证站可以引起对完整性清单证明的存储。完整性清单证书可以存储在设备中,可以存储在区块链中,也可以通过Web门户、电子邮件、存储设备等单独发送。可以将设备转移到客户或移动到其他位置,并且稍后可以验证完整性。
图7是根据一个示例的用于验证平台的方法的流程图。尽管下面参考验证站300描述了方法700的执行,但是可以利用用于执行方法700的其他合适部件(例如,系统500)。另外,用于执行方法700的部件可以分布在多个设备之间。方法700可以以存储在诸如存储介质320的机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实现。
在对完整性证据进行签名和设备关闭之后,该设备可以被连接到验证站并且被开启。在702处,验证站可以验证正被验证的设备的设备标识证书。进行此验证的好处是可以信任安全性协处理器是配置有来自第一CA的DevID的预期安全性协处理器。在一个示例中,验证站可以查询设备并接收DevID证书。可以如上所述验证证书。在一个示例中,如果证书无效,则由于可能已经发生了潜在的威胁,因此可以执行如上所述的安全性动作。
响应于对设备标识证书的成功验证,验证站可以向设备请求新完整性测量(704)。此动作是可信的,这是由于安全性协处理器已经过验证并且从第一CA配置了DevID。当来自DevID的私钥使用安全性协处理器对此进行签名时,将提供信任级别。该设备可能处于已发生经测量的或安全启动并填充了安全寄存器的状态。设备可以使用安全性协处理器检索新完整性测量并将该新完整性测量发送给验证站。在一些示例中,随机数可以由验证站提供并用于新完整性测量。如上所述,可以使用来自DevID的私钥对此进行签名。因为验证站具有与DevID配对的公钥,所以验证站可以验证新的测量是真实的。
在706处,验证站可以处理新完整性测量和完整性清单证书以确定是否发生了意外更改。可以从设备或通过上述其他方式检索完整性清单证书。验证站可以具有或获得与第二CA相关联的公钥。公钥可用于验证完整性清单证书是真实的。如果证书不是真实的,则可以采取安全性动作。
可以使用完整性事件日志来处理来自新证据的完整性测量,其中,使用完整性事件日志来处理新完整性证据以确定比较点以将新完整性测量与完整性清单证书进行比较以确定是否发生了如上所述的意外更改。
同样如上所述,关于是否已经发生意外更改的确定可以基于在设备的两次验证之间设备已经被启动的次数。这所保护防止发生的一个攻击向量是过度电源循环,试图通过恶意实体破坏安全性。在708处,可以响应于确定发生了意外更改而执行安全性动作。
在一些示例中,客户可能希望在接收最终设备之前将设备发送给经销商或其他准备者以修改设备。例如,这可以包括添加新的PCIe卡、更换设备等。在此示例中,可以遵循验证过程700以在经销商收到设备时验证该设备最初处于预期状态。然后,在修改完成之后,可以执行新的认证过程600。新完整性清单证书可以由第三CA签名。在一些示例中,第三CA可以与经销商或修改者相关联。在一些示例中,新完整性清单证书可以包括到正被取代的先前的认证的完整性清单的链接(例如,散列)。这可以创建一个完整性清单证书链,该链可以在平台上进行修改时对其进行扩展。
尽管上面已经示出和描述了某些实施方式,但是可以进行形式和细节上的各种更改。例如,已经关于一个实施方式和/或过程描述的一些特征可以与其他实施方式相关。换句话说,关于一种实施方式描述的过程、特征、部件和/或特性在其他实施方式中可能是有用的。
此外,应当理解,本文描述的系统和方法可以包括所描述的不同实施方式的部件和/或特征的各种组合和/或子组合。因此,参考一个或多个实施方式描述的特征可以与本文描述的其他实施方式组合。

Claims (20)

1.一种完整性确定方法,包括:
使用设备的设备标识而从安全性协处理器检索完整性证据,所述设备已经配置有所述设备标识并将所述设备标识存储在所述安全性协处理器中,
其中,所述设备包括至少一个处理元件、至少一个存储器设备以及包括至少一个总线设备的总线,并且其中,所述设备标识与由第一机构签名的设备标识证书相关联,
其中,所述完整性证据包括多个硬件部件中的每个硬件部件的表示以及多个固件部件的表示,所述多个硬件部件包括所述至少一个处理元件、所述至少一个存储器设备、所述至少一个总线设备以及系统板,所述多个固件部件被包括在所述设备中;
将所述完整性证据提供到认证站;
由所述认证站基于所述设备的预期配置状态和所述设备标识,确定所述完整性证据是预期值,
由所述认证站使用第二机构,基于所述完整性证据和所述设备标识,对完整性清单证书进行签名;以及
存储所述完整性清单证书。
2.根据权利要求1所述的方法,还包括:
在对所述完整性证据进行签名并关闭所述设备之后,由验证站对设备标识证书进行验证。
3.根据权利要求2所述的方法,还包括:
响应于对所述设备标识证书的成功验证,由所述验证站请求新完整性测量;
从所述安全性协处理器检索所述新完整性测量,并将所述新完整性测量发送到所述验证站;以及
处理所述新完整性测量和所述完整性清单证书,以确定是否发生了更改。
4.根据权利要求3所述的方法,还包括:
从与所述安全性协处理器关联的存储位置检索所述完整性清单证书。
5.根据权利要求3所述的方法,其中,所述新完整性测量包括新完整性证据和完整性事件日志,其中,使用所述完整性事件日志来处理所述新完整性证据,以确定用于将所述新完整性测量与所述完整性清单证书进行比较的比较点,以确定是否发生了意外更改。
6.根据权利要求5所述的方法,其中,关于是否发生了所述意外更改的确定还基于在所述设备的验证之间所述设备已被启动的次数。
7.根据权利要求5所述的方法,还包括:
响应于确定发生了所述意外更改,执行安全性动作。
8.根据权利要求2所述的方法,还包括:
响应于确定所述设备标识证书是无效的,执行安全性动作。
9.根据权利要求1所述的方法,其中,所述完整性证据还包括用于在所述至少一个处理元件上执行的软件的表示。
10.一种完整性确定系统,包括:
设备的安全性协处理器,其中,设备标识被配置并被存储在所述安全性协处理器中,其中,所述设备包括至少一个处理元件、至少一个存储器设备以及包括至少一个总线设备的总线,其中,所述设备标识与由第一机构签名的设备标识证书相关联;
其中,所述设备标识用于从所述安全性协处理器检索完整性证据,
其中,所述完整性证据包括多个硬件部件中的每个硬件部件的表示以及多个固件部件的表示,所述多个硬件部件包括所述至少一个处理元件、所述至少一个存储器设备、所述至少一个总线设备以及系统板,所述多个固件部件被包括在所述设备中;
认证站,所述认证站用于接收所述完整性证据;
其中,所述认证站用于基于所述设备的预期配置状态和所述设备标识来确定所述完整性证据是预期值,
其中,所述认证站用于使用第二机构基于所述完整性证据和所述设备标识来对完整性清单证书进行签名;以及
其中,所述完整性清单证书被存储。
11.根据权利要求10所述的系统,还包括:
验证站,其中,在对所述完整性证据进行签名并关闭所述设备之后,由所述验证站对设备标识证书进行验证。
12.根据权利要求11所述的系统,还包括:
响应于对所述设备标识证书的成功验证,所述验证站用于请求新完整性测量;
所述安全性协处理器用于检索所述新完整性测量并将所述新完整性测量发送到所述验证站;以及
所述验证站处理所述新完整性测量和所述完整性清单证书,以确定是否发生了意外更改。
13.根据权利要求12所述的系统,还包括:
所述验证站用于从与所述安全性协处理器相关联的存储位置检索所述完整性清单证书。
14.根据权利要求12所述的系统,其中,所述新完整性清单测量包括完整性证据和完整性事件日志,其中,使用所述完整性事件日志来处理所述完整性证据,以确定用于将所述新完整性清单测量与所述完整性清单证书进行比较的比较点,以确定是否发生了所述意外更改。
15.根据权利要求12所述的系统,还包括:
所述验证站用于响应于确定发生了所述意外更改而执行安全性动作。
16.根据权利要求11所述的系统,还包括:
所述验证站用于响应于确定所述设备标识证书是无效的而执行安全性动作。
17.一种非暂时性机器可读存储介质,其存储指令,所述指令如果由系统的物理处理元件执行则使所述系统:
在所述系统中的设备的安全性协处理器中配置并存储设备标识,其中,所述设备包括至少一个处理元件、至少一个存储器设备以及包括至少一个总线设备的总线,并且其中,所述设备标识与由第一机构签名的设备标识证书相关联;
使用所述设备标识从所述安全性协处理器检索完整性证据,
其中,所述完整性证据包括多个硬件部件中的每个硬件部件的表示以及多个固件部件的表示,所述多个硬件部件包括所述至少一个处理元件、所述至少一个存储器设备、所述总线、所述至少一个总线设备以及系统板,所述多个固件部件被包括在所述设备中;
将所述完整性证据提供到认证站;
由所述认证站基于所述设备的预期配置状态和所述设备标识来确定所述完整性证据是预期值,
由所述认证站使用第二机构,基于所述完整性证据和所述设备标识来对完整性清单证书进行签名;以及
存储所述完整性清单证书。
18.根据权利要求17所述的介质,还存储指令,所述指令如果由所述物理处理元件执行,则使所述系统:
在对所述完整性证据进行签名并关闭所述设备之后,由验证站对设备标识证书进行验证。
19.根据权利要求18所述的介质,还存储指令,所述指令如果由所述物理处理元件执行,则使所述系统:
响应于对所述设备标识证书的成功验证,由所述验证站请求新完整性测量;
从所述安全性协处理器检索所述新完整性测量,并将所述新完整性测量发送到验证站;以及
处理所述新完整性清单测量和所述完整性清单证书以确定是否发生了意外更改。
20.根据权利要求19所述的介质,还存储指令,所述指令如果由所述物理处理元件执行,则使所述系统:
从与所述安全性协处理器相关联的存储位置检索所述完整性清单证书,其中,所述新完整性测量包括新完整性证据和完整性事件日志,其中,使用所述完整性事件日志处理所述新完整性证据,以确定用于将所述新完整性测量与所述完整性清单证书进行比较的比较点,以确定是否发生了所述意外更改。
CN202010840626.9A 2019-09-10 2020-08-20 完整性确定方法和系统 Active CN112560004B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/565,915 US11360784B2 (en) 2019-09-10 2019-09-10 Integrity manifest certificate
US16/565,915 2019-09-10

Publications (2)

Publication Number Publication Date
CN112560004A CN112560004A (zh) 2021-03-26
CN112560004B true CN112560004B (zh) 2022-10-25

Family

ID=74644423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010840626.9A Active CN112560004B (zh) 2019-09-10 2020-08-20 完整性确定方法和系统

Country Status (3)

Country Link
US (2) US11360784B2 (zh)
CN (1) CN112560004B (zh)
DE (1) DE102020122712A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11438162B2 (en) * 2020-03-19 2022-09-06 Arista Networks, Inc. Network device authentication
US11558198B2 (en) * 2020-04-07 2023-01-17 Cisco Technology, Inc. Real-time attestation of cryptoprocessors lacking timers and counters
US11461108B2 (en) * 2020-10-09 2022-10-04 Lenovo (Singapore) Pte. Ltd. Use of driver and wired connection to diagnose device using disk image
US11514193B2 (en) * 2020-12-30 2022-11-29 Dell Products, L.P. Validating secure assembly and delivery of multiple information handling systems installed in a shared chassis
US11599642B2 (en) * 2020-12-30 2023-03-07 Dell Products, L.P. Secure booting of information handling systems based on validated hardware
US20220383333A1 (en) * 2021-05-28 2022-12-01 Dell Products L.P. System and method of validating one or more components of an information handling system
US20220407714A1 (en) * 2021-06-18 2022-12-22 Dell Products L.P. System and method of authenticating updated firmware of an information handling system
US11822668B2 (en) * 2021-07-12 2023-11-21 Dell Products, L.P. Systems and methods for authenticating configurations of an information handling system
US11977640B2 (en) * 2021-07-12 2024-05-07 Dell Products, L.P. Systems and methods for authenticating the identity of an information handling system
DE102021209691B3 (de) 2021-09-03 2022-10-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Überwachen einer Komponente einer Wirkkette
US20230127882A1 (en) * 2021-10-22 2023-04-27 Dell Products, L.P. Generating an inventory certificate for validation of information handling systems
US20230128572A1 (en) * 2021-10-22 2023-04-27 Dell Products, L.P. Customer validation of information handling systems
DE102022103950A1 (de) * 2022-02-18 2023-08-24 Endress+Hauser Process Solutions Ag Verfahren zum Überprüfen der Originalität einer Firmware eines Feldgeräts der Automatisierungstechnik

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439136A (zh) * 2000-10-20 2003-08-27 波系统股份有限公司 管理客户机和服务器间信任度的系统及方法
CN1965530A (zh) * 2004-06-10 2007-05-16 英特尔公司 证实否认直接证明签名的装置和方法
US7870399B2 (en) * 2006-02-10 2011-01-11 Arxan Defense Systems Software trusted platform module and application security wrapper

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467417B2 (en) 2003-06-18 2008-12-16 Architecture Technology Corporation Active verification of boot firmware
EP1617587A1 (en) 2004-07-12 2006-01-18 International Business Machines Corporation Method, system and computer program product for privacy-protecting integrity attestation of computing platform
US8266676B2 (en) * 2004-11-29 2012-09-11 Harris Corporation Method to verify the integrity of components on a trusted platform using integrity database services
JP5038396B2 (ja) 2006-04-21 2012-10-03 インターデイジタル テクノロジー コーポレーション トラステッドコンピューティングの完全性測定の通知を実行する装置および方法
US8799447B2 (en) 2006-10-18 2014-08-05 International Business Machines Corporation Notarizing packet traces
US20080178257A1 (en) 2007-01-20 2008-07-24 Takuya Mishina Method for integrity metrics management
US8544092B2 (en) * 2009-03-12 2013-09-24 International Business Machines Corporation Integrity verification using a peripheral device
CN102986163B (zh) 2010-03-05 2015-11-25 交互数字专利控股公司 给设备提供安全性的方法和装置
CN104537293B (zh) * 2010-08-20 2018-01-19 Nxp股份有限公司 认证设备和系统
US8973138B2 (en) 2012-05-02 2015-03-03 The Johns Hopkins University Secure layered iterative gateway
US8938792B2 (en) * 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
GB2514771B (en) * 2013-06-03 2015-10-21 Broadcom Corp Methods of securely changing the root key of a chip, and related electronic devices and chips
US9147086B1 (en) 2013-06-07 2015-09-29 Amazon Technologies, Inc. Trusted computing host
US9747450B2 (en) 2014-02-10 2017-08-29 Facebook, Inc. Attestation using a combined measurement and its constituent measurements
WO2015165000A1 (en) 2014-04-28 2015-11-05 Intel Corporation Securely booting a computing device
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US10057223B2 (en) * 2015-09-26 2018-08-21 Intel Corporation Data protection keys
US10389517B2 (en) * 2016-06-27 2019-08-20 Nxp B.V. Using secure key storage to bind a white-box implementation to one platform
US10489597B2 (en) * 2017-03-28 2019-11-26 General Electric Company Blockchain verification of network security service
AU2018321586B2 (en) 2017-08-22 2023-03-09 Absolute Software Corporation Firmware integrity check using silver measurements
CN109729523B (zh) * 2017-10-31 2021-02-23 华为技术有限公司 一种终端联网认证的方法和装置
US11374745B1 (en) 2017-11-29 2022-06-28 Amazon Technologies, Inc. Key usage tracking using TPM
US11095454B2 (en) * 2018-09-24 2021-08-17 International Business Machines Corporation Releasing secret information in a computer system
US11017090B2 (en) 2018-12-17 2021-05-25 Hewlett Packard Enterprise Development Lp Verification of a state of a platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439136A (zh) * 2000-10-20 2003-08-27 波系统股份有限公司 管理客户机和服务器间信任度的系统及方法
CN1965530A (zh) * 2004-06-10 2007-05-16 英特尔公司 证实否认直接证明签名的装置和方法
US7870399B2 (en) * 2006-02-10 2011-01-11 Arxan Defense Systems Software trusted platform module and application security wrapper

Also Published As

Publication number Publication date
US20210073003A1 (en) 2021-03-11
CN112560004A (zh) 2021-03-26
DE102020122712A1 (de) 2021-03-11
US11360784B2 (en) 2022-06-14
US11861372B2 (en) 2024-01-02
US20220276875A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
CN112560004B (zh) 完整性确定方法和系统
KR101662618B1 (ko) 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정
CN107851150B (zh) 用于可信i/o的安全硬件和软件证明的技术
US8544092B2 (en) Integrity verification using a peripheral device
US8694763B2 (en) Method and system for secure software provisioning
JP5745061B2 (ja) 起動プロセスの際の対話型コンポーネントの使用の認証
US7350072B2 (en) Remote management and provisioning of a system across a network based connection
US11030347B2 (en) Protect computing device using hash based on power event
US20190236279A1 (en) Perform security action based on inventory comparison
KR20000048724A (ko) 안전 바이오스
US11436324B2 (en) Monitoring parameters of controllers for unauthorized modification
CN113190880B (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作
US20230009032A1 (en) Systems and methods for authenticating the identity of an information handling system
US20230008885A1 (en) Systems and methods for importing security credentials for use by an information handling system
US11822668B2 (en) Systems and methods for authenticating configurations of an information handling system
CN115061735A (zh) 一种处理方法和装置
CN116842517A (zh) 可信验证方法及装置
US20210334380A1 (en) Trusted firmware verification
US20230106491A1 (en) Security dominion of computing device
CN117494232B (zh) 固件的执行方法和装置、系统、存储介质及电子设备
US20230297682A1 (en) Computing device quarantine action system
US20230342446A1 (en) Management controller-based verification of platform certificates
JP2019133220A (ja) 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム
US11843707B2 (en) Systems and methods for authenticating hardware of an information handling system

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