CN109656488A - 用于可信计算的多节点中枢 - Google Patents

用于可信计算的多节点中枢 Download PDF

Info

Publication number
CN109656488A
CN109656488A CN201910011671.0A CN201910011671A CN109656488A CN 109656488 A CN109656488 A CN 109656488A CN 201910011671 A CN201910011671 A CN 201910011671A CN 109656488 A CN109656488 A CN 109656488A
Authority
CN
China
Prior art keywords
multinode
maincenter
memory area
calculate node
consistency
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
Application number
CN201910011671.0A
Other languages
English (en)
Inventor
R·C·斯旺森
D·奈米罗夫
V·J·齐默
M·布鲁苏
J·R·林斯利
R·W·科恩
M·特瑞范迪
P·维兹斯基
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN109656488A publication Critical patent/CN109656488A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了用于可信计算的多节点中枢。在此公开了用于信任操作的多节点中枢的实施例。在某些实施例中,多节点中枢可以包括多个存储器区域、捕获模块以及可信平台模块(TPM)组件。每个存储器区域可以与一致性计算节点相关联并从其接收信任操作数据。所述捕获模块可以响应于由所述相关联的一致性计算节点对所述多个存储器区域的访问来生成捕获通知。所述捕获通知可以指示已经访问了所述多个存储器位置中的哪一个存储器位置,并且所述TPM组件可以对在由捕获通知所指示的存储器区域中的所述信任操作数据进行处理。可公开和/或要求保护其他实施例。

Description

用于可信计算的多节点中枢
本申请是PCT国际申请号为PCT/US2015/013942、国际申请日为2015年1月30日、进入中国国家阶段的申请号为201580010585.8,题为“用于可信计算的多节点中枢”的发明专利申请的分案申请。
相关申请
本申请要求于2014年3月25日提交的标题为“用于可信计算的多节点中枢(MULTINODE HUBS FOR TRUSTED COMPUTING)”的美国申请14/225,140的优先权,该申请的全部内容通过引用以其整体结合在此。
技术领域
本公开总体上涉及可信计算领域,并且更具体地涉及用于可信计算的多节点中枢(Multinode Hub)。
背景技术
可信平台模块(TPM)硬件用于许多计算装置中从而为装置的操作提供可信根。TPM硬件通常被实现为离散的芯片组,并且一个TPM硬件单元与集成电路(IC)封装体的每个一致性计算节点相关联。传统的IC封装体仅包括单个一致性计算节点(以及因此单个TPM芯片组);然而,某些当前的和未来的封装体可以包括两个、四个或更多个一致性计算节点。为多节点IC封装体体中的每个节点包括离散的TPM芯片组可能占用较大的装置占用面积并且要求大量资源,这可能限制在IC封装体中包括多个节点的益处。然而,现有的TPM芯片组仅与单个节点对接,并且因此现有的系统无法在多节点封装体中复制这种TPM芯片组。
附图说明
结合附图,借助于下面的详细描述将很容易理解实施例。为了方便本描述,相同的参考标号指示相同的结构元素。通过举例而非通过限制在附图的各图中展示了实施例。
图1是根据各实施例的包括多节点中枢的计算系统的框图。
图2是根据各实施例的说明性一致性计算节点的框图。
图3描绘了根据各实施例的说明性存储器区域。
图4是根据各实施例的说明性TPM组件的框图。
图5是根据各实施例用于向多节点中枢提供初始化信息的说明性过程的流程图。
图6是根据各实施例用于监控对存储器区域的访问的说明性过程的流程图。
图7是根据各实施例用于由TPM模块处理来自多个一致性计算节点的信任操作数据的说明性过程的流程图。
图8是适合用于实践所公开的实施例中的示例计算平台的框图。
具体实施方式
在此公开了用于信任操作的多节点中枢的实施例。在某些实施例中,多节点中枢可以包括多个存储器区域、捕获模块以及可信平台模块(TPM)组件。每个存储器区域可以与一致性计算节点相关联并从其接收信任操作数据。所述捕获模块可以响应于由所述相关联的一致性计算节点对所述多个存储器区域的访问来生成捕获通知。所述捕获通知可以指示已经访问了所述多个存储器位置中的哪一个存储器位置,并且所述TPM组件可以对在由捕获通知所指示的存储器区域中的所述信任操作数据进行处理。
在此公开的多节点中枢的各实施例可以在可持续地随着IC封装体中的一致性计算节点的数量扩展的平台控制器中枢中提供可信计算解决方案。具体地,在此公开的各实施例克服了现有的TPM无法用多于一个一致性计算节点操作的问题。这种问题至少部分地基于现有的TPM与节点(例如,低引脚数(LPC)、串行外围接口(SPI)和增强型SPI(eSPI))之间的接口,这些接口在单个一致链路之外是不可操作的。因此,使用常规的方法在多节点封装体中实现TPM功能可能需要为封装体中的每个节点复制TPM芯片组。
在某些实施例中,在此公开的多节点中枢可以在片上系统(SoC)、用于云的机架规模架构或微型服务器拓扑中对嵌入式安全处理器(例如,以下讨论的TPM组件110)进行复用。另外,在此公开的多节点中枢的各实施例从一致性计算节点的角度可以像专用于该一致性计算节点的TPM(即使可以在多个一致性计算节点之间共享TPM功能)。在此公开的多节点中枢可以被实现为使用TPM功能的总体安全架构的一部分,许多级沿着装置通路(例如,从服务器到手持式装置)。在某些实施例中,多节点中枢可以为多个节点中的每个节点提供缓冲器并且针对机架规模架构、微型服务器拓扑及其他为节点之间的秘密提供保护。在此公开的多节点中枢和相关技术可以通过高效地使能篡改检测来改善计算系统对恶意攻击的抵抗力。
在以下详细描述中,参考形成其一部分并且通过可实践的说明实施例示出的附图,其中,相同的标号指示相同的部件。应当理解,可以在不脱离本公开的范围的情况下利用其他实施例并且可以进行结构或逻辑上的改变。因此,下面的详细说明不应被认为具有限制意义,并且实施例的范围由所附权利要求书及其等效物限定。
可以以对理解要求保护的主题最有帮助的方式将各种操作依次描述为多个分立动作或操作。然而,描述的顺序不应被解释为暗示这些操作一定是顺序相关的。具体地,可以不按所呈现的顺序来执行这些操作。可以按与所描述的实施例不同的顺序来执行所描述的操作。可以执行各种附加的操作和/或可以在附加实施例中省略所描述的操作。
为了本公开的目的,短语“A和/或B”是指(A)、(B)或(A和B)。为了本公开的目的,短语“A、B和/或C”是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C),或(A、B和C)。
本描述可使用短语“在实施例中(in an embodiment)”或“在各实施例中(inembodiments)”,这些短语可各自指代相同或不同实施例中的一个或多个。此外,如关于本公开的实施例使用的术语“包括(comprising)”、“包括(including)”、“具有(having)”等是同义的。如在此所使用的,术语“模块”或“组件”可指代以下各项、作为以下各项的一部分、或包括以下各项:特定用途集成电路(“ASIC”)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或分组)和/或存储器(共享、专用或分组)、组合式逻辑电路、和/或其他合适的提供所描述的功能性的组件。如在此所使用的,“TPM”可以指代计算装置的可以通过执行密码操作、记录平台组件(例如,基本输入输出系统(BIOS)、管理程序或其他软件组件)的测量值来改善该计算装置的安全操作的组件。如在此所使用,“BIOS”可以指代操作系统与平台固件之间的接口并且可以包括统一可扩展固件接口(UEFI)。
图1是根据各实施例的包括多节点中枢120的计算系统100的框图。计算系统100可以包括多个一致性计算节点102a-n,该多个节点可以与多节点中枢120耦合。如在此所使用,“n”可以表示大于等于2的任何期望的整数值。对“一致性计算节点102”的引用可以指代一致性计算节点102a-n中的任何一个或多个节点。尽管可以在以下讨论计算系统100的各个元件并且在图1中将其示出为离散的元件,可以在合适时组合或重新安排各个元件。例如,在某些实施例中,存储器区域104a-n可以被包括在TPM组件110中。在某些实施例中,捕获模块106可以被包括在TPM组件110中。这些示例仅仅是说明性的,并且可以实现与在此公开的技术相一致的任何组合或重新安排。
在某些实施例中,可以至少在被编程到适当的硬件中的固件中实现多节点中枢120。例如,在某些实施例中,与多节点中枢120相关联的固件可以被布置在不可重写存储器中。在某些实施例中,与多节点中枢120相关联的固件可以被包括在UEFI平台初始化(PI)系统管理模式(SMM)驱动器中,如以下另外详细讨论的。
如图1所示,单个一致性计算节点102a-n可以分别经由相关联的通信链路112a-n与多节点中枢120的相关联的存储器区域104a-n耦合。对“存储器区域104”或“通信链路112”的引用可以分别指代存储器区域104a-n或通信链路112a-n中的任何一个或多个。存储器区域104a-n可以经由相关联的通信链路112a-n从相关联的一致性计算节点102a-n接收信任操作数据。在某些实施例中,通信链路112a-n各自可以包括使能一致性计算节点102a-n和存储器区域104a-n之间的通信的一条或多条串行或并行总线。存储器区域104a-n可以是常见存储器装置中的连续存储器块、不连续存储器块、沿着单个或多个存储器装置分布或以任何合适的方式分布。
存储器区域104a-n可以按照多种方式中的任何方式从相关联的一致性计算节点102a-n接收信任操作数据。例如,在某些实施例中,存储器区域104可以从相关联的一致性计算节点102的操作系统(OS)接收信任操作数据。在某些实施例中,存储器区域104可以经由从相关联的一致性计算节点102的直接存储器访问(DMA)传输从相关联的一致性计算节点102接收信任操作数据。
在某些实施例中,每个一致性计算节点102可以包括高级配置和电源接口(ACPI)表,该表可以包括相关联的存储器区域104的基地址,如以下另外详细讨论的。在某些实施例中,存储器区域104a-n可以是分别由相关联的一致性计算节点102a-n的BIOS分配的DMA缓冲器。在某些实施例中,存储器区域104a-n可以不受彼此影响。例如,在某些实施例中,可以通过在每个一致性计算节点或每个上下文的基础上(例如,每个一致性计算节点和/或上下文可以通过合适的硬件与通道配对)实现通道来实现安全性。在某些实施例中,多节点中枢120可以用不同的种子密钥对每个秘密进行加密或应用页表保护。当包括在多节点中枢120中的处理器支持这种特征(例如,x86处理器)时,这种实施例可以是有利的。
存储器区域104a-n可以与捕获模块106耦合。捕获模块106可以被配置成用于响应于相关联的一致性计算节点102a-n对存储器区域104a-n的访问生成捕获通知。例如,在某些实施例中,捕获模块106可以检测一致性计算节点102a尝试向存储器区域104a写入数据并且可以向TPM组件110“提示(doorbell)”这种尝试(这可以触发TPM组件110处理所写入的数据,如以下所讨论的)。在某些实施例中,如图1所示,捕获模块106可以包括捕获硬件108a-n。捕获硬件108a-n中的每个硬件可以与存储器区域104a-n中的不同区域相关联并且可以被配置成用于检测相关联的一致性计算节点102a-n对相关联的存储器区域104a-n的访问。在某些实施例中,捕获模块106所生成的捕获通知可以指示已经访问了存储器区域104a-n中的哪一个区域。在某些实施例中,捕获模块106可以是监督流向TPM组件110的所有通信的低级内核驱动器。在某些实施例中,捕获模块106可以使用硬件中断或过滤器驱动器。
在某些实施例中,捕获模块106可以包括具有可以用于指定有待捕获的一组输入输出(I/O)周期以及使能捕获功能的多个可读可写寄存器的芯片。在某些实施例中,可以通知对存储器区域104a-n的访问可以由多节点中枢120中的硬件捕获。这些通知可以包括访问过相应的存储器区域104的一致性计算节点102的指示。
在某些实施例中,捕获模块106可以被包括在遗留块(未示出)中或与其通信。遗留块可以包括针对任何数量的先前硬件配置支持平台特征的一个或多个硬件块。可以被包括在遗留块中的硬件块的示例包括LPC接口硬件(传统上用于与硬件TPM通信)和输入输出(I/O)高级可编程中断控制器(APIC)硬件。在某些这种实施例中,捕获模块106可以使用遗留配置检测并捕获调用TPM相关功能的尝试并且将这些尝试路由到TPM组件110进行适当的处理。这可以使能在此公开的多节点中枢120使用遗留硬件(例如,用于证实BIOS或管理程序的完整性的基于LPC的硬件或可信执行技术硬件)。
在某些实施例中,多节点中枢120可以接收一致性计算节点102a-n的其他动作的通知。例如,多节点中枢120可以接收一致性计算节点102a-n的功率状态转变(例如,S0、S3、S5等等)的通知。这可以允许多节点中枢120避免不正确的功率状态转变(例如,在同样向功率状态S5发送一致性计算节点102b的同时不正确地向功率状态S5发送一致性计算节点102a)。
捕获模块106可以与可信平台模块(TPM)组件110耦合。TPM组件110可以被配置成用于执行由可信计算组标准所规定的可信相关操作或任何其他期望的操作。例如,TPM组件110可以被配置成用于执行由基于硬件的TPM(例如,以上讨论的TPM芯片组)执行的操作。在某些实施例中,可以根据平台信任技术标准配置TPM组件110。
在多节点中枢120中,TPM组件110可以被配置成用于响应于捕获通知来处理信任操作数据。具体地,TPM组件110可以被配置成用于处理来自在捕获通知中指示的由(例如,一致性计算节点102a-n中的)相关联的一致性计算节点访问的(例如,存储器区域104a-n中的)存储器区域的信任操作数据。
TPM组件110可以按照多种方式中的任何方式处理来自存储器区域104的信任操作数据。例如,在某些实施例中,TPM组件110可以验证与存储器区域104相关联的一致性计算节点102的BIOS的完整性。TPM组件110可以验证与存储器区域104相关联的一致性计算节点102发起管理程序。这些信任操作数据处理示例仅仅是说明性的,并且TPM组件110可以执行远程认证、秘密密封、驱动器加密、密码保护、为计算系统100提供信任根,除其他操作之外。在某些实施例中,TPM组件110可以包括由TPM组件110用于处理来自与两个或更多个不同的一致性计算节点102相关联的存储器区域104的信任操作数据,如以下另外详细讨论的。
在某些实施例中,TPM组件110可以将信任操作数据处理的结果返回给一致性计算节点102a-n中的适当的节点。在某些实施例中,TPM组件110可以将这些结果返回给存储器区域104a-n。例如,当TPM组件110处理来自存储器区域104a的信任操作数据时,TPM组件110可以将信任操作数据处理的结果返回给存储器区域104a(例如,返回给存储器区域104a的命令响应缓冲器,如以下参照图3所讨论的)。在某些实施例中,TPM组件110可以通过一个或多个通用DMA(GPDMA)传输(未在图1中示出)将信任操作数据处理的结果返回给存储器区域104a-n。在某些实施例中,多节点中枢120可以包括位于TPM组件110和存储器区域104a-n中的每个区域之间的不同的GPDMA路径。如上所述,在某些实施例中,存储器区域104a-n可以是被分配BIOS的DMA缓冲器。
在某些实施例中,捕获模块106可以被配置成用于捕获块或捕获(例如,向TPM组件110传输指示对存储器区域104的访问但是防止将提交给存储器区域104的内容存储在存储器位置104中的捕获通知)。在某些实施例中,捕获模块106可以被配置成用于通写(例如,在将数据写入存储器位置104的同时捕获通知可以被传输到TPM组件110)。在某些实施例中,捕获模块106可以被配置成用于捕获并排出(例如,向TPM组件110传输最终允许将提交给存储器位置104的内容存储在存储器位置104中的捕获通知)。在各实施例中,存储器位置104中的数据的通知和存储可以是同步的(例如,当通知时,可以将数据写入存储器位置104,从而使得TPM组件110可以对数据进行操作)。
计算系统100的组件可以按照多种方式中的任何方式分布在一个或多个硬件元件之间。例如,在某些实施例中,多节点中枢120和一致性计算节点102a-n中的两个或更多个节点可以被包括在集成电路(IC)封装体中。在某些实施例中,多节点中枢120可以被包括在与包括一致性计算节点102a-n中的至少一个节点的封装体分开的IC封装体中。在某些实施例中,多节点中枢120可以被包括在与包括一致性计算节点102a-n中的所有节点的一个或多个封装体分开的IC封装体中。例如,在这种实施例中,一致性计算节点102a-n可以包括一个或多个微型服务器片上系统(SoC)。在某些这种实施例中,通信链路112a-n可以被配置成用于支持增强型串行外围接口(eSPI)、集成电路间(I2C)/系统管理总线(SMBus)、提醒和错误引脚、平台环境控制接口(PECI)、外围组件互连Express(PCIe)、通用异步接收机/发射机(UART)或任何其他期望的通信协议。
在某些实施例中,多节点中枢120的一个或多个组件可以被包括在可管理性引擎(ME)中。在某些实施例中,ME可以是融合式安全和可管理性引擎(CSME),该引擎具有被包括在不可重写存储器中的固件从而使得其无法由第三方篡改。为了维护多节点中枢120的一个或多个组件(例如,TPM组件110)的完整性,这可能是令人期望的。在某些实施例中,多节点中枢120的一个或多个组件可以被包括在创新引擎(IE)中,该引擎具有可重写存储器以便允许包括第三方所期望的代码。在某些实施例中,被包括在多节点中枢120中的处理器可以具有使能任务隔离、页表、数据隔离和相关功能的架构(例如,x86处理器或ARM处理器)。
如上所述,在某些实施例中,与多节点中枢120相关联的固件可以被包括在UEFIPI SMM驱动器或其他宏代码固件中。这种实施例在低功率应用(例如,低功率SoC应用)中可能是有用的,在这种应用中,为多节点中枢120使用附加处理器是不可行的、不期望的或没有必要的。在这种实施例中,虚拟化可以用于提供(如果期望的话)多节点OS功能但是无需实现多节点中枢120的其他功能。
在某些实施例中,多节点中枢120可以提供TPM功能的单个硬件/固件实现方式,这种实现方式可以支持字段可替换单元(FRU)的所有组件而不会危害将由多个离散的TPM芯片组提供的测量和/或认证性能。在某些实施例中,多节点中枢120可以在每个节点、每个OS上下文实例化时隔离操作。这可以使能能够进行OS上下文的动态切换的一致性计算节点的安全计算。例如,如果一致性计算节点102a支持OS上下文在第一OS(例如,微软视窗(Microsoft WINDOWS))和第二OS(例如,谷歌安卓(Google ANDROID))之间的动态切换,多节点中枢120可以被配置成用于执行第一和第二OS的信任操作。多节点中枢120可以被配置成用于由于不同OS的不同签名而标识请求信任操作的OS。可以经由ACPI确定OS标识(例如,通过使用_OSI方法)。一旦一致性计算节点102和具体的OS被标识,可以创建该节点和OS的TPM实例。在某些实施例中,当服务器从处置用户工作负荷的OS上下文切换到待维护的服务分区并且反之亦然时,多节点中枢120可以提供服务器(例如,机架规模架构或微型服务器)的信任功能。
现在将讨论一致性计算节点102、存储器区域104和TPM组件110的各实施例。
图2是根据各实施例的说明性一致性计算节点102的框图。图1的一致性计算节点102a-n中的一个或多个节点可以包括图2中展示的一致性计算节点102的一些或所有组件。
如图所示,一致性计算节点102可以包括BIOS 202和OS 210以及应用220。BIOS202可以包括核BIOS 204、TPM EFI驱动器206以及认证控制模块(ACM)208。在各实施例中,BIOS 210及其组件可以被实现为固件。核BIOS 204可以测试系统组件并发起OS 210的加载。TPM EFI驱动器206可以被配置成用于与TPM组件110通信。例如,TPM EFI驱动器206可以被配置成用于使能BIOS 202和TPM组件110的主机控制器接口(例如,以下讨论的接口414)之间的通信。ACM 208可以是嵌入在一致性计算节点102中(例如,由一致性计算节点102的芯片组的制造商)的被配置成用于在安全启动期间测量BIOS 202的代码的数字签名的组件。在某些实施例中,ACM 208自身可以在ACM 208测量BIOS 202的代码之前由一致性计算节点102的处理器测量。
OS 210可以包括OS引导加载器212、TPM基服务(TBS)216、ACPI方法214和TPM驱动器218。在各实施例中,OS 210及其组件可以被实现为配置有合适的软件的硬件。OS引导加载器212可以在完成任何预定自测试之后加载OS 210并且可以与核BIOS 204通信。TBS 216可以管理并安排对OS 210中的多个应用的TPM访问并且可以通过远程流程调用将服务提供为应用编程接口(API)。ACPI方法214可以提供用于配置和查询硬件的操作。TPM驱动器218可以使能OS 210和TPM组件110之间的通信。在某些实施例中,TPM驱动器218可以由TBS 216调用。在某些实施例中,TPM驱动器218可以在TPM.sys文件中被具体化。
在某些实施例中,在OS 210被引导之前,BIOS 202可以用相关联的存储器区域的基地址和与一致性计算节点102和/或相关联的存储器区域有关的附加信息初始化TPM接口。例如,BIOS 202可以为一致性计算节点102分配DMA基地址并且可以将该基地址和该附加信息传送到多节点中枢120(其可以存储在其中)。在某些实施例中,一致性计算节点120可以经由通过其BIOS 202填充到该一致性计算节点120的ACPI表枚举其被指派的存储器区域。具体地,ACPI表可以包括与一致性计算节点102相关联的存储器区域(例如,DMA缓冲器)的基地址。以下参照图5讨论这个功能的各实施例。
应用220可以包括一个或多个管理程序/虚拟机(VM)222、通信应用224以及其他应用226。在某些实施例中,应用220可以由TPM组件110测量和/或可以请求有待由TPM组件110执行的信任操作。在各实施例中,TPM组件110可以驻留在管理程序的VM下方,并且还可以是虚拟化TPM代理的一部分。
图3描绘了根据各实施例的说明性存储器区域104。存储器区域104可以包括控制区302和命令响应缓冲器304。尽管控制区302和命令响应缓冲器304被展示为连续的,但不一定是这种情况;控制区302和命令响应缓冲器304可以按照任何合适的方式分布在各个存储器装置和位置之间。
一致性计算节点102可以通过将命令写入命令响应缓冲器304来将该命令提交给TPM组件110并且可以通过写入控制区302向协议发布写入。例如,提交给TPM组件110的命令可以是TPM_Seal。当将TPM_Seal命令写入命令响应缓冲器304的命令区时,捕获模块106可以捕获这个写入、通知多节点中枢120并且提供存储器位置的实例、内容(TPM_Seal)、OS实例以及访问一致性计算节点102的标识。多节点中枢120可以然后对该命令做出动作并且在更新该响应之后恢复控制。
在某些实施例中,一致性计算节点102对控制区302的访问可以由捕获模块106(该模块可以包括用于不同一致性计算节点102的分开的捕获硬件108)捕获。捕获模块106可以响应于对控制区302的访问生成捕获通知,该通知可以用信号通知TPM组件110相关联的一致性计算节点102具有就绪以便处理的命令。在某些实施例中,可以根据TPM 2.0和/或任何其他合适的规范控制区302和命令响应缓冲器。
图4是根据各实施例的说明性TPM组件110的框图。在某些实施例中,TPM组件110及其组件可以被实现为固件。如上所述,在某些实施例中,TPM组件110及其组件可以被实现为ME或被包括在其中。
TPM组件110可以包括接口414、一个或多个处理装置402以及存储器404。接口414可以使能一致性计算节点102a-n与TPM组件110之间的通信。在某些实施例中,捕获模块106可以被包括在接口414中。在某些实施例中,可以从在平台基板处注释的并且因此自举的信息(例如,与双内联存储器模块(DIMM)插槽ID类似)得出一致性计算节点102的标识。
在某些实施例中,该一个或多个处理装置402可以包括微控制器。选择用于在TPM组件110中使用的微控制器可以取决于期望的数据处理速度。因为许多常见的信任操作可能不是特别计算密集型的(例如,测量信任、秘密、完整性和篡改检测),可以使用更慢的处理装置而无需牺牲性能。例如,在某些实施例中,x86或ARM处理器可以是合适的(并且由于其支持页表隔离而是有利的)。
响应于捕获模块106生成捕获通知,TPM组件110可以基于提供给相关联的存储器区域104的信任操作数据处理来自一致性计算节点120的请求命令。例如,在其中一致性计算节点102写入控制区302的某些实施例中,TPM组件110可以DMA输入来自命令响应缓冲器304的命令、处理该命令并且然后将结果DMA输出给命令响应缓冲器304。TPM组件110还可以将“命令完成”消息DMA给控制区302。在此时间期间,一致性计算节点102可能已经拉取控制区302,等待命令完成消息。当一致性计算节点102检测到命令完成消息时,一致性计算节点102可以认为这个命令已完成。在某些实施例中,一致性计算节点102将通过“捕获并通知”机制被通知该命令完成消息。在某些实施例中,一致性计算节点102将轮询存储器缓冲器。
存储器404可以包括数据处理存储器406、可重写存储器408以及不可重写存储器410。TPM组件110可以使用数据处理存储器406来处理来自多个一致性计算节点的信任操作数据。因此,在某些实施例中,TPM组件110可以有利地集中并共享用于执行多个一致性计算节点的信任操作的存储器,由此相对于多个离散的TPM芯片组减少存储器占用面积。在某些实施例中,不可重写存储器410可以包括TPM固件412(例如,如上讨论的)。在某些实施例中,TPM固件412可以被包括在可重写存储器408中(例如,如上参照创新引擎实施例所讨论的)。在某些实施例中,TPM固件412可以被部分地包括在可重写存储器408中并且被部分地包括在不可重写存储器410中。存储器404可以包括一种或多种类型的存储器,诸如例如随机存取存储器(RAM)和闪存。在某些情况下,可用于多节点中枢120的存储器量将被限制;因此,将来自每个一致性计算节点102的所有访问对准到共享缓冲器可以使能在节约稀少的嵌入式资源的同时向所有一致性计算节点102a-n提供TPM功能。
在某些实施例中,TPM组件110可以包括为一致性计算节点102a-n中的不同节点提供信任操作数据处理的隔离固件组件。例如,这些隔离固件组件可以被划分到不同的安全容器和/或进程中,这可以为确保来自一致性计算节点102的秘密数据被与其他一致性计算节点102分开并安全地处理提供附加保护水平。在某些固件安排中,不同的固件模块可以被隔离以便防止模块间干扰。可以通过将一些或所有TPM组件110的唯一实例创建为模块来划分每个固件模块。固件源可以是常见的但是可以针对每个一致性计算节点102被实例化。这可以表示冗余和空间之间的折中。在嵌入式应用中,有限的资源可以使得折中容易非常昂贵,并且因此单数TPM实例(伴随有隔离每个一致性计算节点102的秘密)可能是优选的。
图5是根据各实施例用于向多节点中枢提供初始化信息的说明性过程500的流程图。为了说明性目的,过程500的操作可被描述为由计算系统100的一致性计算节点102执行,但是过程500的操作(包括过程500的单独操作)可由计算系统100的任何适当配置的组件或组件组合执行。
过程500可以在操作502开始,在该操作中,可以向ACPI表提供存储器区域的基地址。该基地址可以在操作502由与该存储器区域相关联的一致性计算节点的BIOS(例如,一致性计算节点102的BIOS 202)提供。在某些实施例中,该基地址可以被用作用于经由DMA传输操作将数据传输到具体的存储器区域的DMA基地址。
在操作504,可以从与操作502的存储器区域相关联的一致性计算节点的存储器检索附加信息。该附加信息可以描述该一致性计算节点并且可以包括例如节点ID、套接字ID、存储器位置以及节点OS实例。这个信息可以经由控制/状态寄存器(CSR)例如用中断被传送到多节点中枢120。
在操作506,该基地址和附加信息可以被传送到多节点中枢的TPM组件。例如,一致性计算节点102可以将该基地址和附加信息传送到多节点中枢120的TPM组件110。在某些实施例中,附加信息可以经由TPM驱动器(诸如TPM EFI驱动器206)被传送到TPM组件。过程500可于是结束。由于地址可以标记有节点特定的信息,可以不要求在提供地址时在一致性计算节点102a-n之间进行协调。在某些实施例中,可以使用未使用的高地址位为地址加标记。
在某些实施例中,响应于接收到操作506的基地址和附加信息,多节点中枢可以执行图6的过程600(在以下讨论)以便监控对与基地址和附加信息相关联的存储器区域的访问。可以串行或并行地重复过程500的操作以便将基地址和附加信息从不同的一致性计算节点传送到多节点中枢。
图6是根据各实施例用于监控对存储器区域的访问的说明性过程600的流程图。为了说明性目的,过程600的操作可被描述为由计算系统100的捕获模块106执行,但是过程600的操作(包括过程600的单独操作)可由计算系统100的任何适当配置的组件或组件组合执行。
过程600可以在操作602开始,在该操作中,可以从相关联的多个一致性计算节点的每个一致性计算节点接收多个存储器区域中的每个存储器区域的基地址。例如,捕获模块106可以从一致性计算节点102a-n中的每个节点接收基地址,其中,每个基地址与存储器区域104a-n中的不同区域相关联。在某些实施例中,除捕获模块106之外的组件可以接收这些基地址,但是捕获模块106可以被配置成用于访问这些基地址以便生成捕获通知,如以下讨论。在某些实施例中,在操作602接收的基地址中的至少一个基地址可以包括DMA基地址。
在操作604,所接收的多个基地址可以被存储。在某些实施例中,所接收的多个基地址可以被存储在TPM组件110的存储器404中(例如,存储在RAM存储器中)。在某些实施例中,所接收的基地址可以被存储并被允许持续,直到重启提供该基地址的一致性计算节点和/或重启多节点中枢120。
在节点606,可以为TPM组件生成捕获通知。可以响应于相关联的一致性计算节点对该多个存储器区域中的存储器区域的访问而生成该捕获通知。在某些实施例中,该捕获通知可以指示已经访问了该多个存储器区域中的哪一个区域,过程600可以于是结束。
在某些实施例中,响应于接收到在操作606生成的捕获通知,TPM组件110可以执行图7的过程700(在以下讨论)。可以串行或并行地重复过程600的操作以便在一致性计算节点102a-n中的不同节点访问其相关联的存储器区域104a-n时生成捕获通知。如上所述,在某些实施例中,不同的捕获硬件108a-n可以为对存储器区域104a-n中的不同区域的访问生成捕获通知。
图7是根据各实施例用于TPM模块处理来自多个一致性计算节点的信任操作数据的说明性过程700的流程图。为了说明性目的,过程700的操作可被描述为由计算系统100的TPM组件110执行,但是过程700的操作(包括过程700的单独操作)可由计算系统100的任何适当配置的组件或组件组合执行。
过程700可以在操作702开始,在该操作中,可以接收捕获通知。该捕获通知可以指示对于具体的一致性计算节点相关联的具体存储器区域的访问。例如,TPM组件110可以从捕获模块106接收捕获通知。该捕获通知可以指示对与一致性计算节点102a-n中的具体一致性计算节点相关联的存储器区域104a-n中的具体存储器区域的访问。在某些实施例中,可以响应于对具体存储器区域的访问生成操作702的捕获通知。
在操作704,与操作702的捕获通知相关联的具体存储器区域的信任操作数据可以被处理。该信任操作数据可以被与该具体存储器区域相关联的一致性计算节点存储在该存储器区域中。例如,一致性计算节点102a-n之一可以提供有待存储在相关联的存储器区域104a-n中的信任操作数据。TPM组件110可以在操作704处理这个信任操作数据。
在操作706,该信任操作数据处理的结果可以被返回给与操作704的具体存储器区域相关联的一致性计算节点。例如,TPM组件110可以将对信任操作数据的处理结果从存储器区域104a-n之一返回给相关联的一致性计算节点102a-n。过程700可以于是结束。
图8是可以适合用于实践所公开的实施例(例如,以上参照图1的计算系统100所讨论的实施例)的示例计算平台800。在某些实施例中,计算平台800可以被配置成用于提供一个或多个一致性计算节点(诸如一致性计算节点102a-n)。例如,计算平台800的处理器802中的不同处理器可以提供一致性计算节点102a-n中的不同节点。在某些实施例中,计算系统100的一致性计算节点102a-n中的每个节点可以包括计算平台,诸如计算平台800。计算平台800的各其他元素可以在多个一致性计算节点之间共享或者可以针对不同的一致性计算节点分离。计算平台800可以包括任何数量的计算系统(诸如服务器计算系统)或作为其一部分。
如所示,计算平台800包括数个处理装置802和系统存储器804。处理装置802可以包括一个或多个处理核或其他处理装置。此外,计算平台800可以包括一个或多个大容量存储装置806(诸如固态驱动器、磁盘、硬盘驱动器、致密盘只读存储器(CDROM)等等)、输入输出装置808(诸如显示器、键盘、光标控制、照相机、麦克风、GPS接收机、运动检测器等等)和通信接口810(诸如网络接口卡、调制解调器、WiFi装置、蓝牙装置等等)。这些元件可经由表示一条或多条总线的系统总线812耦合到彼此。在多条总线的情况下,它们可由一个或多个总线桥(未示出)桥接。在此描述的技术和系统可以用于为计算平台800的任何合适的组件或多个计算平台800的组合提供信任相关操作。
这些元件各自可执行本领域已知的其常规功能。具体地,当由对应的处理装置802(在此统称为计算逻辑822)执行时,系统存储器804和大容量存储装置806可以用于存储实现在此公开的任何合适的方法的编程指令的工作拷贝和永久拷贝。例如,在某些实施例中,计算平台800可以实现一致性计算节点102a-n中的一个或多个节点。在某些这种实施例中,系统存储器804和大容量存储装置806可以用于将实现图5的方法或其各部分的编程指令的工作拷贝和永久拷贝存储为计算机可读介质。在另一个示例中,在某些实施例中,计算平台800可以实现多节点中枢120的一个或多个部分。在某些这种实施例中,系统存储器804和大容量存储装置806可以用于存储实现图5和/或图6的方法或其各部分的编程指令的工作拷贝和永久拷贝。各组件可由处理装置802所支持的汇编指令或可编译到这种指令中的高级语言(诸如例如C)实现。
编程指令的永久版本可在出厂时通过例如计算机可读分布介质(未示出)(诸如致密盘(CD))或通过通信接口810(例如,从分布式服务器(未示出))被放入永久存储装置806中。也就是,具有多节点中枢(或其各部分)的实现的一个或多个计算机可读分布式介质可以用于分布多节点中枢(或其各部分)和对各计算装置进行编程。元件802-812的构成是已知的,并且因此将不进一步描述。
在各实施例中,在图8中示出的计算平台800的元素中的一个或多个元素可以不被包括,或者可以包括附加组件。例如,在其中计算平台800被配置成用于实现多节点中枢120的某些实施例中,计算平台800可以不包括I/O装置808。在其中计算平台800被配置成用于实现一致性计算节点102的某些实施例中,通信接口810可以包括到通信链路112的接口和/或通信链路112自身。
用于执行上述技术的计算机可读介质(包括非瞬态计算机可读介质)、方法、系统和装置是在此公开的实施例的说明性示例。另外,上述交互中的其他装置可被配置成用于执行各种所公开的技术。
以下段落提供本公开的说明性实施例。示例1是一种多节点中枢,包括:多个存储器区域,每个存储器区域与多个一致性计算节点之一相关联并且用于从所述相关联的一致性计算节点接收信任操作数据;捕获模块,所述捕获模块与所述多个存储器区域耦合,用于响应于由所述相关联的多个一致性计算节点对所述多个存储器区域的访问来生成捕获通知,其中,捕获通知指示已经访问了所述多个存储器区域中的哪一个区域;以及TPM组件,所述TPM组件与所述捕获模块耦合,用于对在由捕获通知所指示的存储器区域中的信任操作数据进行处理。
示例2可以包括示例1所述的主题,并且可以进一步明确:所述TPM组件用于验证与由所述捕获通知所指示的所述存储器区域相关联的所述一致性计算节点的BIOS的完整性,作为对在所述捕获通知所指示的所述存储器区域中的所述信任操作数据进行处理的一部分。
示例3可以包括示例1和2中任一项所述的主题,并且可以进一步明确:所述TPM组件用于验证与由所述捕获通知所指示的所述存储器区域相关联的所述一致性计算节点发起管理程序,作为对在由所述捕获通知所指示的所述存储器区域中的所述信任操作数据进行处理的一部分。
示例4可以包括示例1至3中任一项所述的主题,并且可以进一步包括不可重写存储器,其中,与所述多节点中枢相关联的固件被布置在所述不可重写存储器中。
示例5可以包括示例1至4中任一项所述的主题,并且可以进一步明确:所述多节点中枢以及所述多个一致性计算节点被包括在集成电路封装体中。
示例6可以包括示例1至5中任一项所述的主题,并且可以进一步包括一条或多条串行或并行总线,所述总线用于将所述多个一致性计算节点与所述相关联的多个存储器区域耦合以便使能所述多个一致性计算节点与所述相关联的多个存储器区域通信。
示例7可以包括示例1至4中任一项所述的主题,并且可以进一步明确:所述多节点中枢被包括在与包括所述多个一致性计算节点中的至少一个一致性计算节点的封装体分离的集成电路封装体中。
示例8可以包括示例1至7中任一项所述的主题,并且可以进一步明确:所述多个存储器区域用于从所述相关联的一致性计算节点的操作系统接收信任操作数据。
示例9可以包括示例1至8中任一项所述的主题,并且可以进一步明确:所述多个存储器区域的基地址被包括在所述相关联的一致性计算节点的ACPI表中。
示例10可以包括示例1至9中任一项所述的主题,并且可以进一步明确:所述多个存储器区域用于经由DMA传输从所述相关联的一致性计算节点接收信任操作数据。
示例11可以包括示例1至10中任一项所述的主题,并且可以进一步包括具有与所述多节点中枢相关联的固件的UEFI PI SMM驱动器。
示例12可以包括示例1至11中任一项所述的主题,并且可以进一步明确:所述TPM组件包括存储器,并且所述TPM组件用于处理来自与所述存储器中的不同一致性计算节点相关联的存储器区域的信任操作数据。
示例13是一种具有多节点中枢的计算系统,包括:多个一致性计算节点;以及所述多节点中枢。所述多节点中枢包括:多个存储器区域,每个存储器区域与所述多个一致性计算节点之一相关联并且用于从所述相关联的一致性计算节点接收信任操作数据;捕获模块,所述捕获模块与所述多个存储器区域耦合,用于响应于由所述相关联的多个一致性计算节点对所述多个存储器区域的访问来生成捕获通知,其中,捕获通知指示已经访问了所述多个存储器区域中的哪一个区域;以及TPM组件,所述TPM组件与所述捕获模块耦合,用于对在捕获通知所指示的存储器区域中的信任操作数据进行处理。
示例14可以包括示例13所述的主题,并且可以进一步明确:所述多节点中枢以及所述多个一致性计算节点被包括在集成电路封装体中。
示例15可以包括示例13所述的主题,并且可以进一步包括一条或多条串行或并行总线,所述总线用于将所述多个一致性计算节点与所述相关联的多个存储器区域耦合以便使能所述多个一致性计算节点与所述相关联的多个存储器区域通信。
示例16可以包括示例13所述的主题,并且可以进一步明确:所述多节点中枢被包括在与包括所述多个一致性计算节点中的至少一个一致性计算节点的封装体分离的集成电路封装体中。
示例17可以包括示例13至16中任一项所述的主题,并且可以进一步明确:所述TPM组件包括存储器,并且所述TPM组件用于处理来自与所述存储器中的不同一致性计算节点相关联的存储器区域的信任操作数据。
示例18是一种在多节点中枢上处理信任操作数据的方法,包括:所述多节点中枢的TPM组件接收指示由与存储器区域相关联的一致性计算节点对所述存储器区域的访问的捕获通知,其中,所述存储器区域是多个存储器区域之一,所述捕获通知进一步指示已经访问了所述多个存储器区域中的哪一个区域;所述TPM组件响应于接收到所述捕获通知而处理来自所述存储器区域的信任操作数据;以及所述TPM组件将对来自所述存储器区域的所述信任操作数据的处理结果提供给所述一致性计算节点。
示例19可以包括示例18所述的主题,并且可以进一步明确:向与所述存储器区域相关联的所述一致性计算节点提供所述信任操作数据处理的结果包括向所述存储器区域提供所述信任操作数据处理的结果。
示例20可以包括示例18至19中任一项所述的主题,并且可以进一步包括:所述TPM组件接收指示由与第二存储器区域相关联的第二一致性计算节点对所述第二存储器区域的访问的第二捕获通知,其中,所述第二存储器区域不同于所述存储器区域;所述TPM组件响应于接收到所述捕获通知处理来自所述第二存储器区域的信任操作数据,其中,处理来自所述第二存储器区域的所述信任操作数据包括利用还被用于处理来自所述第一存储器区域的所述信任操作数据的存储器;以及所述TPM组件将对来自所述第二存储器区域的所述信任操作数据的处理结果提供给所述第二一致性计算节点。
示例21是一种初始化多节点中枢的方法,包括:所述多节点中枢从相关联的多个一致性计算节点中的每一个一致性计算节点接收多个存储器区域中的每一个存储器区域的基地址;所述多节点中枢存储所接收的多个基地址;以及所述多节点中枢响应于由相关联的一致性计算节点对所述多个存储器区域中的存储器区域的访问为所述多节点中枢的TPM组件生成捕获通知,其中,所述捕获通知指示已经访问了所述多个存储器区域中的哪一个区域。
示例22可以包括示例21所述的主题,并且可以进一步包括所述多节点中枢响应于由相关联的第二一致性计算节点对所述多个存储器区域中的第二存储器区域的访问为所述TPM组件生成第二捕获通知,其中,所述第二存储器区域不同于所述存储器区域。
示例23可以包括示例22所述的主题,并且可以进一步明确生成包括:由所述多节点中枢的捕获模块的第一捕获组件生成所述捕获通知以及由所述多节点中枢的所述捕获模块的第二捕获组件生成所述第二捕获通知,并且其中,所述第一捕获组件和所述第二捕获组件包括不同的硬件。
示例24可以包括示例21至23中任一项所述的主题,并且可以进一步明确:所述多个基地址包括至少一个DMA基地址。
示例25是一种或多种其上具有指令的计算机可读介质,所述指令响应于由设备的一个或多个处理装置执行而使所述设备执行如示例18至24中任一项所述的方法。
示例26是一种包括用于执行如示例18至24中任一项所述的方法的装置的设备。
示例27是一种或多种其上具有指令的计算机可读介质,所述指令响应于由设备的一个或多个处理装置执行而使所述设备操作多节点中枢的TPM组件用于:接收指示由与存储器区域相关联的一致性计算节点对所述存储器区域的访问的捕获通知,其中,所述存储器区域是多个存储器区域之一,所述捕获通知进一步指示已经访问了所述多个存储器区域中的哪一个区域;响应于接收到所述捕获通知而处理来自所述存储器区域的信任操作数据;以及将对来自所述存储器区域的所述信任操作数据的处理结果提供给所述一致性计算节点。
示例28可以包括示例27所述的主题,并且可以进一步明确:向与所述存储器区域相关联的所述一致性计算节点提供所述信任操作数据处理的结果包括向所述存储器区域提供所述信任操作数据处理的结果。
示例29可以包括示例27至28中任一项所述的主题,并且可以进一步在其上具有指令,所述指令响应于由所述设备的所述一个或多个处理装置执行而使所述设备操作所述多节点中枢的所述TPM组件用于:接收指示与第二存储器区域相关联的第二一致性计算节点对所述第二存储器区域的访问的第二捕获通知,其中,所述第二存储器区域不同于所述存储器区域;响应于接收到所述捕获通知而处理来自所述第二存储器区域的信任操作数据,其中,处理来自所述第二存储器区域的所述信任操作数据包括利用还被用于处理来自所述第一存储器区域的所述信任操作数据的存储器;以及将来自所述第二存储器区域的所述信任操作数据的处理结果提供给所述第二一致性计算节点。
示例30是一种或多种其上具有指令的计算机可读介质,所述指令响应于由设备的一个或多个处理装置执行而使所述设备操作多节点中枢用于:从相关联的多个一致性计算节点中的每一个一致性计算节点接收多个存储器区域中的每一个存储器区域的基地址;存储所接收的多个基地址;以及响应于相关联的一致性计算节点对所述多个存储器区域中的存储器区域的访问为所述多节点中枢的TPM组件生成捕获通知,其中,所述捕获通知指示已经访问了所述多个存储器区域中的哪一个区域。
示例31可以包括示例30所述的主题,并且可以进一步在其上具有指令,所述指令响应于由所述设备的所述一个或多个处理装置执行而使所述设备操作所述多节点中枢用于:响应于相关联的第二一致性计算节点对所述多个存储器区域中的第二存储器区域的访问为所述TPM组件生成第二捕获通知,其中,所述第二存储器区域不同于所述存储器区域。
示例32可以包括示例31所述的主题,并且可以进一步明确生成包括:由所述多节点中枢的捕获模块的第一捕获组件生成所述捕获通知以及由所述多节点中枢的所述捕获模块的第二捕获组件生成所述第二捕获通知,并且其中,所述第一捕获组件和所述第二捕获组件包括不同的硬件。
示例33可以包括示例30至32中任一项所述的主题,并且可以进一步明确:所述多个基地址包括至少一个直接存储器访问(DMA)基地址。

Claims (19)

1.一种多节点中枢,包括:
多个存储器区域,其中,每个相应的存储器区域与多个一致性计算节点中的相应的相关联的一致性计算节点相关联并用于仅从该相应的存储器区域的相应的相关联的一致性计算节点接收信任操作数据,并且其中,相应的一致性计算节点中的每个一致性计算节点仅将信任操作数据发送至所述多个存储器区域中的该相应的一致性计算节点的相应的相关联的存储器区域;以及
可信平台模块TPM组件,用于处理所述多个存储器区域中的、由来自捕获模块的捕获通知指示的一个存储器区域中的信任操作数据,其中,捕获通知指示已访问了所述多个存储器区域中的哪一个存储器区域。
2.如权利要求1所述的多节点中枢,其中,所述TPM组件用于验证与由所述捕获通知指示的存储器区域相关联的一致性计算节点的基本输入/输出系统BIOS的完整性,作为对在由所述捕获通知指示的存储器区域中的信任操作数据的处理的一部分。
3.如权利要求1所述的多节点中枢,其中,所述TPM组件用于验证与由所述捕获通知指示的存储器区域相关联的一致性计算节点的管理程序的发起,作为对在由所述捕获通知指示的存储器区域中的信任操作数据的处理的一部分。
4.如权利要求1所述的多节点中枢,进一步包括:
所述捕获模块,与所述多个存储器区域和所述TPM组件耦合,所述捕获模块用于响应于相关联的一致性计算节点对所指示的存储器区域的访问而生成所述捕获通知。
5.如权利要求1所述的多节点中枢,进一步包括不可重写存储器,其中,与所述多节点中枢相关联的固件被布置在所述不可重写存储器中。
6.如权利要求1所述的多节点中枢,其中,所述多节点中枢以及所述多个一致性计算节点被包括在集成电路封装体中。
7.如权利要求1所述的多节点中枢,进一步包括一条或多条串行或并行总线,用于将所述多个一致性计算节点与相关联的多个存储器区域耦合以便使所述多个一致性计算节点能与所述相关联的多个存储器区域通信。
8.如权利要求1所述的多节点中枢,其中,所述多节点中枢被包括在与包括所述多个一致性计算节点中的至少一个一致性计算节点的封装体分离的集成电路封装体中。
9.如权利要求1所述的多节点中枢,其中,所述多个存储器区域用于从所述相关联的一致性计算节点的操作系统接收信任操作数据。
10.如权利要求1所述的多节点中枢,其中,所述多个存储器区域的基地址被包括在相关联的一致性计算节点的高级配置和电源接口ACPI表中。
11.如权利要求1所述的多节点中枢,其中,所述多个存储器区域用于经由直接存储器访问DMA传输从相关联的一致性计算节点接收信任操作数据。
12.如权利要求1所述的多节点中枢,进一步包括统一可扩展固件接口UEFI平台初始化PI系统管理模式SMM驱动器,所述SMM驱动器具有与所述多节点中枢相关联的固件。
13.如权利要求1所述的多节点中枢,其中,所述TPM组件包括存储器,并且其中,所述TPM组件用于处理来自所述存储器中与不同的一致性计算节点相关联的存储器区域的信任操作数据。
14.一种具有多节点中枢的计算系统,所述计算系统包括:
多个一致性计算节点;以及
所述多节点中枢,其中,所述多节点中枢包括:
多个存储器区域,其中,每个相应的存储器区域与所述多个一致性计算节点中的相应的相关联的一致性计算节点相关联并用于仅从该相应的存储器区域的相应的相关联的一致性计算节点接收信任操作数据,并且其中,相应的一致性计算节点中的每个一致性计算节点仅将信任操作数据发送至所述多个存储器区域中的该相应的一致性计算节点的相应的相关联的存储器区域;以及
可信平台模块TPM组件,用于处理所述多个存储器区域中的、由来自捕获模块的捕获通知指示的一个存储器区域中的信任操作数据,其中,捕获通知指示已访问了所述多个存储器区域中的哪一个存储器区域。
15.如权利要求14所述的计算系统,其中,所述多节点中枢进一步包括所述捕获模块,所述捕获模块与所述多个存储器区域耦合,所述捕获模块用于响应于相应的相关联的一致性计算节点对所述多个存储器区域中的所指示的存储器区域的访问而生成所述捕获通知。
16.如权利要求14所述的计算系统,其中,所述多节点中枢以及所述多个一致性计算节点被包括在集成电路封装体中。
17.如权利要求14所述的计算系统,进一步包括一条或多条串行或并行总线,用于将所述多个一致性计算节点与相关联的多个存储器区域耦合以便使所述多个一致性计算节点能与所述相关联的多个存储器区域通信。
18.如权利要求14所述的计算系统,其中,所述多节点中枢被包括在与包括所述多个一致性计算节点中的至少一个一致性计算节点的封装体分离的集成电路封装体中。
19.如权利要求14所述的计算系统,其中,所述TPM组件包括存储器,并且其中,所述TPM组件用于处理来自所述存储器中与不同的一致性计算节点相关联的存储器区域的信任操作数据。
CN201910011671.0A 2014-03-25 2015-01-30 用于可信计算的多节点中枢 Pending CN109656488A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/225,140 2014-03-25
US14/225,140 US9413765B2 (en) 2014-03-25 2014-03-25 Multinode hubs for trusted computing
CN201580010585.8A CN106030548B (zh) 2014-03-25 2015-01-30 用于可信计算的多节点中枢

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580010585.8A Division CN106030548B (zh) 2014-03-25 2015-01-30 用于可信计算的多节点中枢

Publications (1)

Publication Number Publication Date
CN109656488A true CN109656488A (zh) 2019-04-19

Family

ID=54192016

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580010585.8A Expired - Fee Related CN106030548B (zh) 2014-03-25 2015-01-30 用于可信计算的多节点中枢
CN201910011671.0A Pending CN109656488A (zh) 2014-03-25 2015-01-30 用于可信计算的多节点中枢

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201580010585.8A Expired - Fee Related CN106030548B (zh) 2014-03-25 2015-01-30 用于可信计算的多节点中枢

Country Status (6)

Country Link
US (2) US9413765B2 (zh)
EP (2) EP3123337B1 (zh)
KR (1) KR101823888B1 (zh)
CN (2) CN106030548B (zh)
TW (1) TWI556130B (zh)
WO (1) WO2015147986A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303879B1 (en) * 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
US10181036B2 (en) * 2015-06-24 2019-01-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Automatic discovery and installation of secure boot certificates
US10075296B2 (en) * 2015-07-02 2018-09-11 Intel Corporation Loading and virtualizing cryptographic keys
US20180060077A1 (en) * 2016-08-26 2018-03-01 Qualcomm Incorporated Trusted platform module support on reduced instruction set computing architectures
CN106650459B (zh) * 2016-11-11 2018-05-01 大唐高鸿信安(浙江)信息科技有限公司 维护分布式存储系统数据可信的系统及方法
US10282190B2 (en) * 2016-12-01 2019-05-07 Dell Products, L.P. System and method for updating a UEFI image in an information handling system
US11165766B2 (en) 2018-08-21 2021-11-02 International Business Machines Corporation Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove
US10885197B2 (en) 2018-09-21 2021-01-05 International Business Machines Corporation Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning
US11206141B2 (en) 2018-09-21 2021-12-21 International Business Machines Corporation Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates
WO2020222804A1 (en) * 2019-04-30 2020-11-05 Hewlett-Packard Development Company, L.P. System management memory coherency detection
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
EP4018298A1 (en) * 2019-08-21 2022-06-29 Robert Bosch GmbH A system and method for development and distribution of mobility solutions
CN111694782B (zh) * 2020-05-23 2022-03-04 苏州浪潮智能科技有限公司 一种实现可信平台模组自动切换的装置和方法
US12072990B2 (en) 2021-10-22 2024-08-27 Hewlett Packard Enterprise Development Lp Multiple physical request interfaces for security processors

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067835A (zh) * 2006-05-02 2007-11-07 国际商业机器公司 用于可信平台模块数据一致性的方法和数据处理系统
US7302698B1 (en) * 1999-09-17 2007-11-27 Hewlett-Packard Development Company, L.P. Operation of trusted state in computing platform
US20090063835A1 (en) * 2007-08-30 2009-03-05 Jiewen Yao Method for firmware isolation
US20090172806A1 (en) * 2007-12-31 2009-07-02 Natu Mahesh S Security management in multi-node, multi-processor platforms
CN101542441A (zh) * 2006-11-22 2009-09-23 可递有限公司 多处理器计算系统中的存储器一致性保护
CN103154913A (zh) * 2010-08-06 2013-06-12 英特尔公司 支持用于预启动和安全模式操作的安全可读存储区域
EP2672672A1 (en) * 2012-06-07 2013-12-11 Alcatel-Lucent Secure data processing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7200758B2 (en) 2002-10-09 2007-04-03 Intel Corporation Encapsulation of a TCPA trusted platform module functionality within a server management coprocessor subsystem
EP1563388A2 (en) * 2002-11-18 2005-08-17 ARM Limited Secure memory for protecting against malicious programs
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US7318150B2 (en) * 2004-02-25 2008-01-08 Intel Corporation System and method to support platform firmware as a trusted process
US8464348B2 (en) * 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US20080155277A1 (en) * 2006-12-26 2008-06-26 Mallik Bulusu Hardware partitioned trust
US20090007104A1 (en) * 2007-06-29 2009-01-01 Zimmer Vincent J Partitioned scheme for trusted platform module support
US8060876B2 (en) 2007-08-10 2011-11-15 Intel Corporation Methods and apparatus for creating an isolated partition for a virtual trusted platform module
US7802042B2 (en) * 2007-12-28 2010-09-21 Intel Corporation Method and system for handling a management interrupt event in a multi-processor computing device
US8335931B2 (en) * 2008-06-20 2012-12-18 Imation Corp. Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
KR101457355B1 (ko) 2009-12-22 2014-11-04 인텔 코포레이션 보안 애플리케이션 실행을 제공하는 방법 및 장치
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
CN103106373B (zh) * 2011-11-10 2016-11-09 国民技术股份有限公司 一种可信计算芯片及可信计算系统
CN103501303B (zh) * 2013-10-12 2017-02-22 武汉大学 一种针对云平台虚拟机度量的主动远程证明方法
US9389793B2 (en) * 2014-03-06 2016-07-12 Freescale Semiconductor, Inc. Trusted execution and access protection for embedded memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302698B1 (en) * 1999-09-17 2007-11-27 Hewlett-Packard Development Company, L.P. Operation of trusted state in computing platform
CN101067835A (zh) * 2006-05-02 2007-11-07 国际商业机器公司 用于可信平台模块数据一致性的方法和数据处理系统
CN101542441A (zh) * 2006-11-22 2009-09-23 可递有限公司 多处理器计算系统中的存储器一致性保护
US20090063835A1 (en) * 2007-08-30 2009-03-05 Jiewen Yao Method for firmware isolation
US20090172806A1 (en) * 2007-12-31 2009-07-02 Natu Mahesh S Security management in multi-node, multi-processor platforms
CN103154913A (zh) * 2010-08-06 2013-06-12 英特尔公司 支持用于预启动和安全模式操作的安全可读存储区域
EP2672672A1 (en) * 2012-06-07 2013-12-11 Alcatel-Lucent Secure data processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MOHAMED FIRDHOUS: "Hysteresis-based robust trust computing mechanism for cloud computing", 《IEEE》 *
付利华: "可信计算平台信任链一致性测试方法研究", 《2011年青年通信国际会议论文集》 *

Also Published As

Publication number Publication date
US9413765B2 (en) 2016-08-09
EP3123337B1 (en) 2018-06-13
CN106030548A (zh) 2016-10-12
EP3392774A1 (en) 2018-10-24
US9781117B2 (en) 2017-10-03
EP3123337A1 (en) 2017-02-01
KR101823888B1 (ko) 2018-01-31
TW201543259A (zh) 2015-11-16
US20160323284A1 (en) 2016-11-03
CN106030548B (zh) 2019-03-08
KR20160113227A (ko) 2016-09-28
US20150281237A1 (en) 2015-10-01
WO2015147986A1 (en) 2015-10-01
TWI556130B (zh) 2016-11-01
EP3123337A4 (en) 2017-11-01

Similar Documents

Publication Publication Date Title
CN106030548B (zh) 用于可信计算的多节点中枢
US9092297B2 (en) Transparent update of adapter firmware for self-virtualizing input/output device
US9442876B2 (en) System and method for providing network access for a processing node
TW201502772A (zh) 虛擬基板管理控制器
CN113312141B (zh) 用于卸载串行端口模拟的计算机系统、存储介质和方法
US11531760B1 (en) Baseboard management controller (BMC)-based security processor
CN114035842B (zh) 固件配置方法、计算系统配置方法、计算装置以及设备
CN113312140A (zh) 虚拟可信平台模块
US10534732B2 (en) Exposing memory-mapped IO devices to drivers by emulating PCI bus and PCI device configuration space
US20190171505A1 (en) Management controller-based solution for processor ras in smi-free environment
US10261821B2 (en) System and method to expose remote virtual media partitions to virtual machines
US11550664B2 (en) Early boot event logging system
CN116069584B (zh) 将监控服务扩展到可信云运营商域中
KR20230053496A (ko) 인터커넥트를 통해 장치 운영 체제에 액세스하기 위한 시스템, 방법 및 장치
Rahman et al. Xeon phi system software
US11847226B1 (en) Baseboard Management Controller (BMC)-based security processor
CN117667465B (zh) 代码共享方法、装置、交换机、多主机系统、设备和介质
US20230205671A1 (en) Multipath diagnostics for kernel crash analysis via smart network interface controller
CN114327741A (zh) 服务器系统、容器设置方法及装置
TW200931247A (en) A method of testing of the board management controller
CN117075974A (zh) 一种基于risc-v服务器cpu的新型edk2启动引导方法
CN113312295A (zh) 使用控制器的系统重置
Svensson Strict separation between OS and USB driver using a hypervisor

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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20221206

AD01 Patent right deemed abandoned