TWI556130B - 用於可信賴運算之多節點集線器 - Google Patents

用於可信賴運算之多節點集線器 Download PDF

Info

Publication number
TWI556130B
TWI556130B TW104104265A TW104104265A TWI556130B TW I556130 B TWI556130 B TW I556130B TW 104104265 A TW104104265 A TW 104104265A TW 104104265 A TW104104265 A TW 104104265A TW I556130 B TWI556130 B TW I556130B
Authority
TW
Taiwan
Prior art keywords
memory
node
coherent
capture
tpm
Prior art date
Application number
TW104104265A
Other languages
English (en)
Other versions
TW201543259A (zh
Inventor
羅伯特C 史溫森
丹尼爾 奈米洛夫
文森特J 利姆
瑪爾利克 布魯旭
約翰R 琳絲莉
羅伯特W 柯恩
馬雷 翠維迪
彼奧特 克維德金斯基
Original Assignee
英特爾公司
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 英特爾公司 filed Critical 英特爾公司
Publication of TW201543259A publication Critical patent/TW201543259A/zh
Application granted granted Critical
Publication of TWI556130B publication Critical patent/TWI556130B/zh

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/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)

Description

用於可信賴運算之多節點集線器 發明領域
本發明大體係關於可信賴運算之領域,且更特定言之,係關於用於可信賴運算之多節點集線器。
發明背景
可信賴平台模組(TPM)硬體用於許多運算裝置中以提供用於操作該裝置之信賴根(root of trust)。TPM硬體通常實施為離散晶片組,且一個TPM硬體單元與積體電路(IC)封裝之每一同調運算節點相關聯。傳統IC封裝僅包括單一同調運算節點(且因此包括單一TPM晶片組);然而,一些當前及未來封裝可包括兩個、四個或更多個同調運算節點。針對多節點IC封裝中之每一節點包括離散TPM晶片組可佔用大的裝置佔據面積且需要顯著資源,其可限制在IC封裝中包括多個節點之益處。然而,現有TPM晶片組僅與單一節點介接,且因此現有系統被約束為在多節點封裝中重複此類TPM晶片組。
依據本發明之一實施例,係特地提出一種多節點集 線器,其包括:複數個記憶體區域,每一記憶體區域與複數個同調運算節點中的一者相關聯且自該相關聯同調運算節點接收信賴操作資料;一捕集模組,其與該複數個記憶體區域耦接,回應於該複數個相關聯之同調運算節點對該複數個記憶體區域之存取而產生捕集通知,其中一捕集通知指示已存取該複數個記憶體區域中之哪一者;以及一可信賴平台模組(TPM)組件,其與該捕集模組耦接,處理由一捕集通知指示之一記憶體區域中的信賴操作資料。
100‧‧‧運算系統
102、102a~102n‧‧‧同調運算節點
104a~104n‧‧‧記憶體區域
106‧‧‧捕集模組
108a~108n‧‧‧捕集硬體
110‧‧‧TPM組件
112a~112n‧‧‧通訊鏈路
120‧‧‧多節點集線器
202‧‧‧BIOS
204‧‧‧核心BIOS
206‧‧‧TPM EFI驅動器
208‧‧‧ACM
210‧‧‧OS
212‧‧‧OS啟動載入器
214‧‧‧ACPI方法
216‧‧‧TPM基礎服務
218‧‧‧TPM驅動器
220‧‧‧應用程式
222‧‧‧超管理器/虛擬機
224‧‧‧通訊應用程式
226‧‧‧其他應用程式
302‧‧‧控制區域
304‧‧‧命令-回應緩衝器
402‧‧‧處理裝置
404‧‧‧記憶體
406‧‧‧資料處理記憶體
408‧‧‧可重寫記憶體
410‧‧‧不可重寫記憶體
412‧‧‧TPM韌體
414‧‧‧介面
500、600、700‧‧‧過程
502~506、602~606、702~706‧‧‧操作
800‧‧‧運算平台
802‧‧‧處理器/處理裝置
804‧‧‧系統記憶體
806‧‧‧大量儲存器
808‧‧‧輸入/輸出裝置
810‧‧‧通訊介面
812‧‧‧系統匯流排
822‧‧‧運算邏輯
藉由以下詳細描述連同隨附圖式,實施例將容易理解。為便於此描述,相同元件符號指定相同結構元件。在隨附圖式之諸圖中以實例方式而非以限制方式示出實施例。
圖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)。
描述可使用片語「在一實施例中」或「在多個實施例中」,該等片語各自可指代相同或不同實施例中之一或多者。另外,如關於本揭示案之實施例所使用的「包含」、「包括」、「具有」及類似者等詞係同義詞。如本文中所使用,詞「模組」或「組件」可指代以下各者,或為以下各者之一部分,或包括以下各者:特定應用積體電路(ASIC)、電子電路、執行一或多個軟體或韌體程式之處理器(共用處理器、專用處理器或處理器群組)及/或記憶體(共用記憶體、專用記憶體或記憶體群組)、組合邏輯電路,及/或提供所描述功能性之其他適合的組件。用於本文中時,「TPM」可指運算裝置之組件,其可藉由執行加密操作、記錄平台組件(例如,基本輸入/輸出作業系統(BIOS)、超管理器或其他軟體組件)之量測值而改良運算裝置之操作的安全性。用於本文中時,「BIOS」可指作業系統與平台韌體之間的介面,且可包括整合可延伸韌體介面(UEFI)。
圖1係根據各種實施例的包括多節點集線器120之運算系統100之方塊圖。運算系統100可包括多個可藉由 多節點集線器120耦接之同調運算節點102a至102n。用於本文中時,「n」可表示大於或等於二之任何所要整數值。提及「同調運算節點102」可指同調運算節點102a至102n中的任何一或多者。儘管運算系統100之各種元件可在下文論述且在圖1中例示為離散元件,各種元件在適當的情況下可加以組合或重新配置。舉例而言,在一些實施例中,記憶體區域104a至104n可包括在TPM組件110中。在一些實施例中,捕集模組106可包括在TPM組件110中。此等實例僅為例示性的,且可實施與本文中揭示的技術一致的任何組合或重新配置。
在一些實施例中,多節點集線器120可至少部分地實施於規劃於合適硬體中的韌體中。舉例而言,在一些實施例中,與多節點集線器120相關聯之韌體可設置於不可重寫記憶體中。在一些實施例中,與多節點集線器120相關聯之韌體可包括在UEFI平台初始化(PI)系統管理模式(SMM)驅動器中,如下文更詳細地論述。
如圖1中所示,個別同調運算節點102a至102n可分別經由相關聯通訊鏈路112a至112n與多節點集線器120之相關聯記憶體區域104a至104n耦接。提及「記憶體區域104」或「通訊鏈路112」可分別指記憶體區域104a至104n或通訊鏈路112a至112n中的任何一或多者。記憶體區域104a至104n可經由相關聯通訊鏈路112a至112n自相關聯同調運算節點102a至102n接收信賴操作資料。在一些實施例中,通訊鏈路112a至112n中之每一者可包括一或多個串列 或並列匯流排,從而致能同調運算節點102a至102n與記憶體區域104a至104n之間的通訊。記憶體區域104a至104n可為共同記憶體裝置中之記憶體的連續區塊、記憶體之不連續區塊、分散在單一或多個記憶體裝置之間,或以任何適當方式分散。
記憶體區域104a至104n可以數種方式中之任一者自相關聯同調運算節點102a至102n接收信賴操作資料。舉例而言,在一些實施例中,記憶體區域104可自相關聯同調運算節點102之作業系統(OS)接收信賴操作資料。在一些實施例中,記憶體區域104可經由自相關聯同調運算節點102之直接記憶體存取(DMA)傳送而自相關聯同調運算節點102接收信賴操作資料。
在一些實施例中,每一同調運算節點102可包括一先進組態與電力介面(ACPI)表,其可包括相關聯記憶體區域104之基址,如下文更詳細地論述。在一些實施例中,記憶體區域104a至104n可分別為由相關聯同調運算節點102a至102n之BIOS分配之DMA緩衝器。在一些實施例中,記憶體區域104a至104n可自彼此為安全的。舉例而言,在一些實施例中,可藉由對於每個同調運算節點或每個上下文實施通道而達成安全性(例如,每一同調運算節點及/或上下文可藉由適當硬體與通道配對)。在一些實施例中,多節點集線器120可用不同種子密鑰對每一秘密加密或應用頁表保護。當包括在多節點集線器120中之處理器支援此類特徵(例如,x86處理器)時,此類實施例可為有利的。
記憶體區域104a至104n可與捕集模組106耦接。捕集模組106可經組配以回應於相關聯同調運算節點102a至102n對記憶體區域104a至104n之存取而產生捕集通知。舉例而言,在一些實施例中,捕集模組106可能偵測到同調運算節點102嘗試將資料寫入至記憶體區域104a,且可將此嘗試「提醒」TPM組件110(其可觸發TPM組件110處理所寫入之資料,如下文所論述)。在一些實施例中,如圖1中所例示,捕集模組106可包括捕集硬體108a至108n。捕集硬體108a至108n中之每一者可與記憶體區域104a至104n中的不同者相關聯,且可經組配以偵測相關聯同調運算節點102a至102n對相關聯記憶體區域104a至104n之存取。在一些實施例中,捕集模組106所產生之捕集通知可指示已存取記憶體區域104a至104n中之哪一者。在一些實施例中,捕集模組106可為監督去往TPM組件110之所有通訊的低位準核心驅動器。在一些實施例中,捕集模組106可使用硬體中斷或濾波器驅動器。
在一些實施例中,捕集模組106可包括具有數個可讀可寫暫存器之晶片,該等暫存器可用以指定待捕集之一組輸入/輸出(I/O)循環且致能捕集功能性。在一些實施例中,可通知可由多節點集線器120中之硬體捕集對記憶體區域104a至104n之存取。此等通知可包括存取對應記憶體區域104之同調運算節點102的指示。
在一些實施例中,捕集模組106可包括於舊版區塊(未展示)中或與其通訊。舊版區塊可包括支援用於任何數 目的先前硬體組態之平台特徵的一或多個硬體區塊。可包括於舊版區塊中之硬體區塊之實例包括LPC介面硬體(傳統上用以與硬體TPM通訊)及輸入/輸出(I/O)先進可規劃中斷控制器(APIC)硬體。在一些此類實施例中,捕集模組106可偵測並捕集使用舊版組態調用TPM相關功能之嘗試,並將此等嘗試路由至TPM組件110以用於適當處理。此可使得能夠與舊版硬體(例如,基於LPC之硬體或用於驗證BIOS或超管理器之完整性的可信賴執行技術硬體)一起使用本文中揭示之多節點集線器120。
在一些實施例中,多節點集線器120可接收同調運算節點102a至102n之其他動作的通知。舉例而言,多節點集線器120可接收同調運算節點102a至102n之電力狀態轉變(例如,S0、S3、S5,等)之通知。此可允許多節點集線器120避免不恰當的電力狀態轉變(例如,不恰當地將同調運算節點102a發送至電力狀態S5,同時亦將同調運算節點102b發送至電力狀態S5)。
捕集模組106可與可信賴平台模組(TPM)組件110耦接。TPM組件110可經組配以執行如由可信賴運算群組標準或任何其他所要操作指定的信賴相關操作。舉例而言,TPM組件110可經組配以執行由基於硬體的TPM(例如,上文論述的TPM晶片組)執行的操作。在一些實施例中,TPM組件110可根據平台信賴技術標準加以組配。
在多節點集線器120中,TPM組件110可經組配以回應於捕集通知而處理信賴操作資料。詳言之,TPM組件 110可經組配以處理來自在捕集通知中指示的如由相關聯同調運算節點(例如,同調運算節點102a至102n)存取的記憶體區域(例如,記憶體區域104a至104n)之信賴操作資料。
TPM組件110可以數種方式中之任一者處理來自記憶體區域104之信賴操作資料。舉例而言,在一些實施例中,TPM組件110可驗證與記憶體區域104相關聯之同調運算節點102的BIOS之完整性。TPM組件110可藉由與記憶體區域104相關聯之同調運算節點102驗證超管理器之啟動。此等信賴操作資料處理實例僅為例示性的,且TPM組件110可執行秘密之遠端證明、密封、驅動加密、密碼保護,且提供用於運算系統100之信賴根,以及其他操作。在一些實施例中,TPM組件110可包括由TPM組件110用以處理來自與兩個或兩個以上不同同調運算節點102相關聯的記憶體區域104之信賴操作資料的記憶體,如下文更詳細地論述。
在一些實施例中,TPM組件110可將信賴操作資料處理之結果返回至同調運算節點102a至102n中之合適者。在一些實施例中,TPM組件110可將此等結果返回至記憶體區域104a至104n。舉例而言,當TPM組件110處理來自記憶體區域104a之信賴操作資料時,TPM組件110可將信賴操作資料處理之結果返回至記憶體區域104a(例如,返回至記憶體區域104a之命令-回應緩衝器,如下文參考圖3所論述)。在一些實施例中,TPM組件110可經由一或多個通用DMA(GPDMA)傳送(圖1中未例示)將信賴操作資料處理之結果返回至記憶體區域104a至104n。在一些實施例中,多 節點集線器120可在TPM組件110與記憶體區域104a至104n中之每一者之間包括不同GPDMA路徑。如上文所指出,在一些實施例中,記憶體區域104a至104n可為BIOS分配之DMA緩衝器。
在一些實施例中,捕集模組106可經組配以捕集區塊或陷阱(例如,將指示記憶體位置104之存取但防止將提交至記憶體位置104之內容儲存在記憶體位置104中的捕集通知傳輸至TPM組件110)。在一些實施例中,捕集模組106可經組配以直寫(例如,可與將資料寫入至記憶體位置104同時將捕集通知傳輸至TPM組件110)。在一些實施例中,捕集模組106可經組配以捕集及排出(例如,將捕集通知傳輸至TPM組件110,且最終允許提交至記憶體位置104之內容儲存在記憶體位置104中)。在各種實施例中,資料在記憶體位置14中之通知與儲存可為同步的(例如,在通知之後,可即刻將資料寫入至記憶體位置104,以使得TPM組件110可對該資料進行操作)。
運算系統100之組件可以數種方式中的任一者分散於一或多個硬體元件之間。舉例而言,在一些實施例中,多節點集線器120可連同同調運算節點102a至102n中的兩者或兩者以上包括於積體電路(IC)封裝中。在一些實施例中,多節點集線器120可包括於與包括同調運算節點102a至102n中的至少一者的封裝分開的IC封裝中。在一些實施例中,多節點集線器120可包括於與包括所有同調運算節點102a至102n之一或多個封裝分開的IC封裝中。舉例而言, 在此類實施例中的同調運算節點102a至102n可包括一或多個微型伺服器系統單晶片(SoC)。在一些此類實施例中,通訊鏈路112a至112n可經組配以支援增強型串列周邊介面(eSPI)、積體電路間(I2C)/系統管理匯流排(SMBus)、警報及錯誤接腳、平台環境控制介面(PECI)、快速周邊組件互連(PCIe)、通用非同步接收器/傳輸器(UART),或任何其他所要通訊協定。
在一些實施例中,多節點集線器120之一或多個組件可包括於可管理性引擎(ME)中。在一些實施例中,ME可為融合安全與可管理性引擎(CSME),其具有包括於不可重寫記憶體中之韌體以使得其不能被第三方篡改。此對於維護多節點集線器120之一或多個組件(例如,TPM組件110)的完整性可為合意的。在一些實施例中,多節點集線器120之一或多個組件可包括於創新引擎(IE)中,該創新引擎具有可重寫記憶體以允許第三方包括所要程式碼。在一些實施例中,包括於多節點集線器120中之處理器可具有致能任務隔離、頁表、資料隔離及相關功能性之架構,例如x86處理器或ARM處理器。
如上文所指出,在一些實施例中,與多節點集線器120相關聯之韌體可包括於UEFI PI SMM驅動器或其他巨集程式碼韌體。此類實施例可用於低電力應用(例如,低電力SoC應用)中,其中使用額外處理器用於多節點集線器120係不可行、非所要或不必要的。在此類實施例中,可使用虛擬化來提供多個OS功能性(若需要),但可能不需要實 施多節點集線器120之其他功能性。
在一些實施例中,多節點集線器120可提供TPM功能性之單一硬體/韌體實施,其可支援現場可替換單元(FRU)的所有組件而不損害將由多個離散TPM晶片組提供的量測及/或證明效能。在一些實施例中,多節點集線器120可隔離每一節點、每一OS上下文執行個體處的操作。此可致能能夠進行OS上下文之動態切換的同調運算節點之安全運算。舉例而言,若同調運算節點102支援OS上下文在第一OS(例如,Microsoft WINDOWS)與第二OS(例如,Google ANDROID)之間的動態切換,則多節點集線器120可經組配以執行第一及第二OS之信賴操作。多節點集線器120可經組配以歸因於不同OS之不同簽名而識別請求me信賴操作之OS。亦可經由ACPI(例如,藉由使用OSI方法)判定OS識別碼。一旦識別出同調運算節點102及特定OS,即可建立用於該節點及OS之TPM執行個體。在一些實施例中,多節點集線器120可提供用於伺服器(例如,機櫃級架構或微型伺服器)之信賴功能性(在其自處置使用者工作負載之OS上下文切換至用於維護的服務分區及自用於維護的服務分區切換至處置使用者工作負載之OS上下文時)。
現論述同調運算節點102、記憶體區域104及TPM組件110之各種實施例。
圖2係根據各種實施例的例示性相關運算節點102之方塊圖。圖1之同調運算節點102a至102n中的一或多者可包括圖2中例示之同調運算節點102的一些或所有組 件。
如所例示,同調運算節點102可包括BIOS 202及OS 210,及應用程式220。BIOS 202可包括核心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可初始化與用於相關聯記憶體區域之基址介接之TPM及與同調運算節點102及/或相關聯記憶體區域相關的額外資訊。舉例而言,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可駐留在超管理器的war 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具有準備好處理的命令。在一些實施例中,控制區域302及命令-回應緩衝器可根據TPM 2.0及/或任何其他適當規範加以組配。
圖4係根據各種實施例的例示性TPM組件110之方塊圖。在一些實施例中,TPM組件110可實施為韌體。如上文所指出,在一些實施例中,TPM組件110可實施為或包括於ME中。
TPM組件110可包括介面414、一或多個處理裝置402,及記憶體404。介面414可致能同調運算節點102a至102n與TPM組件110之間的通訊。在一些實施例中,捕集模組106可包括於介面414中。在一些實施例中,可自平台底 板處注釋的資訊導出且因此得出同調運算節點102之識別碼(例如,類似於雙列直插式記憶體模組(DIMM)插槽ID)。
在一些實施例中,一或多個處理裝置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之所有存取對準至共用緩衝器可使得能夠將TPM功能性提供至所有同調運算節點102a至102n,同時節省稀缺的嵌入資源。
在一些實施例中,TPM組件110可包括隔離的韌體組件,將信賴操作資料處理提供至同調運算節點102a至102n中之不同者。舉例而言,隔離的韌體組件可劃分至不同的安全容器及/或處理中,其可提供額外保護位準以確保來自同調運算節點102之秘密資料與其他同調運算節點102單獨且安全地處置。在一些韌體配置中,可隔離不同韌體模組以防止模組間干擾。每一韌體模組可藉由建立一些或所有TPM組件110之唯一執行個體而劃分為模組。韌體源可為共同的,但可對於每一同調運算節點102而執行個體化。 此可表示冗餘與空間之間的取捨。在嵌入式應用中,有限的資源可使得此冗餘特別昂貴,且因此單一TPM執行個體(藉由隔離每一同調運算節點102之秘密而實現)可為較佳的。
圖5係根據各種實施例之用於將初始化資訊提供至多節點集線器之例示性過程500的流程圖。出於例示性目的,可將過程500之操作描述為由運算系統100之同調運算節點102執行,但過程500之操作(包括過程500之個別操作)可由任何適當組配之組件或運算系統100之組件的組合來執行。
過程500可在操作502處開始,其中可將記憶體區域之基址提供至ACPI表。基址可由與記憶體區域相關聯之同調運算節點之BIOS(例如,同調運算節點102之BIOS 202)在操作502處提供。在一些實施例中,基址可用作用於經由DMA傳送操作將資料傳送至特定記憶體區域中的DMA基址。
在操作504處,可自與操作502之記憶體區域相關聯之同調運算節點的記憶體檢索額外資訊。該額外資訊可描述同調運算節點,且可包括(例如)節點ID、通訊端ID、記憶體位置及節點OS執行個體。此資訊可經由(例如)具有中斷的控制/狀態暫存器(CSR)傳遞至多節點集線器120。
在操作506處,可將基址及額外資訊傳遞至多節點集線器之TPM組件。舉例而言,同調運算節點102可將基址及額外資訊傳遞至多節點集線器120之TPM組件110。在 一些實施例中,額外資訊可經由TPM驅動器(諸如TPM EFI驅動器206)傳遞至TPM組件。過程500接著可結束。由於位址可用節點特定資訊加標籤,因此在提供位址時可能不需要同調運算節點102a至102n之間的協作。在一些實施例中,可使用上部未使用之位址位元對位址加標籤。
在一些實施例中,回應於接收到操作506之基址及額外資訊,多節點集線器可執行圖6之過程600(下文論述)以監視對與該基址及額外資訊相關聯之記憶體區域的存取。可串列或並列地重複過程500之操作以將基址及額外資訊傳遞至來自不同同調運算節點之多節點集線器。
圖6係根據各種實施例之用於監視對記憶體區域之存取的例示性過程600的流程圖。出於例示性目的,可將過程600之操作描述為由運算系統100之捕集模組106執行,但過程600之操作(包括過程600之個別操作)可由任何適當組配之組件或運算系統100之組件的組合來執行。
過程600可在操作602處開始,其中可自複數個相關聯同調運算節點中之每一同調運算節點接收複數個記憶體區域中之每一者的基址。舉例而言,捕集模組106可自同調運算節點102a至102n中之每一者接收基址,其中每一基址與記憶體區域104a至104n中的一不同者相關聯。在一些實施例中,不同於捕集模組106之組件可接收該基址,但捕集模組106可經組配以存取基址以產生捕集通知,如下文所論述。在一些實施例中,在操作602處接收之基址中的至少一者可包括DMA基址。
在操作604處,可儲存所接收之複數個基址。在一些實施例中,所接收之複數個基址可儲存在TPM組件110之記憶體404(例如,RAM記憶體)中。在一些實施例中,可儲存所接收之基址且允許其持續直至提供該基址之同調運算節點被重啟及/或多節點集線器120被重啟。
在操作606處,可對於TPM組件產生捕集通知。可回應於相關聯同調運算節點對複數個記憶體區域中之一記憶體區域的存取而產生捕集通知。在一些實施例中,捕集通知可指示已存取複數個記憶體區域中之哪一記憶體區域。過程600接著可結束。
在一些實施例中,回應於接收到在操作606產生的捕集通知,TPM組件110可執行圖7之過程700(下文論述)。可穿行或並列地重複過程600之操作以為存取其相關聯記憶體區域104a至104n之同調運算節點102a至102n中之不同者產生捕集通知。如上文所指出,在一些實施例中,不同捕集硬體108a至108n可產生用於存取記憶體區域104a至104n中之不同者的捕集通知。
圖7係根據各種實施例之用於藉由TPM模組處理來自多個同調運算節點之信賴操作資料的例示性過程700的流程圖。出於例示性目的,可將過程700之操作描述為由運算系統100之TPM組件110執行,但過程700之操作(包括過程700之個別操作)可由任何適當組配之組件或運算系統100之組件的組合來執行。
過程700可在操作702處開始,其中可接收捕集通 知。捕集通知可指示對與特定同調運算節點相關聯之特定記憶體區域之存取。舉例而言,TPM組件110可自捕集模組106接收捕集通知。捕集通知可指示對同調運算節點102a至102n中之特定同調運算節點相關聯之記憶體區域104a至104n中之一特定記憶體區域的存取。在一些實施例中,可回應於對特定記憶體區域之存取而產生操作702之捕集通知。
在操作704處,可處理用於與操作702之捕集通知相關聯的特定記憶體區域之信賴操作資料。此信賴操作資料可藉由與特定記憶體區域相關聯之同調運算節點而儲存於該記憶體區域中。舉例而言,同調運算節點102a至102n中的一者可提供信賴操作資料以待儲存於相關聯記憶體區域104a至104n中。TPM組件110可在操作704處過程此信賴操作資料。
在操作706處,可將信賴操作資料處理之結果返回至與操作704之特定記憶體區域相關聯之同調運算節點。舉例而言,TPM組件110可將信賴操作資料之處理結果自記憶體區域104a至104n中的一者返回至相關聯同調運算節點102a至102n。過程700接著可結束。
圖8係可適合於實踐所揭示實施例(例如,上文參考圖1之運算系統100所論述之實施例)的實例運算平台800之方塊圖。在一些實施例中,運算平台800可經組配以提供一或多個同調運算節點(諸如同調運算節點102a至102n)。舉例而言,運算平台800之處理器802中之不同者可提供同調 運算節點102a至102n中之不同者。在一些實施例中,運算系統100之同調運算節點102a至102n中之每一者可包括諸如運算平台800之運算平台。運算平台800之各種其他元件可在多個同調運算節點之間共用或可單獨用於不同同調運算節點。運算平台800可包括數個運算系統(諸如伺服器運算系統)中的任一者或為其部分。
如圖所示,運算平台800包括數個處理裝置802及一系統記憶體804。處理裝置802可包括一或多個處理核心或其他處理裝置。此外,運算系統800可包括一或多個大量儲存裝置806(諸如固態驅動器、磁片、硬碟機、光碟唯讀記憶體(CDROM)等)、輸入/輸出裝置808(諸如顯示器、鍵盤、游標控制件、相機、麥克風、GPS接收器、運動偵測器等)及通訊介面810(諸如網路介面卡、數據機、WiFi裝置、藍牙裝置等)。該等元件可經由系統匯流排812來彼此耦接,該系統匯流排代表一或多個匯流排。在多個匯流排之情況下,該等匯流排可藉由一或多個匯流排橋接器(未圖示)來橋接。本文中描述的技術及系統可用以將信賴相關操作提供至運算平台800之任何適當組件或多個計算平台800之組合。
此等元件中之每一者可執行此項技術中已知之其習知功能。詳言之,系統記憶體804及大量儲存器806可用以儲存在由個別處理裝置802(本文中統稱為運算邏輯822)執行時實施本文中揭示的任何適當方法的規劃指令之工作複本及永久複本。舉例而言,在一些實施例中,運算 平台800可實施同調運算節點102a至102n中的一或多者。在一些此類實施例中,系統記憶體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組件,其與該捕集模組耦接,處理由一捕集通知指示之一記憶體區域中的信賴操作資料。
實例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組件,其與該捕集模組耦接,處理由一捕集通知指示之一記憶體區域中的信賴操作資料。
實例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)基址。
100‧‧‧運算系統
102a~102n‧‧‧同調運算節點
104a~104n‧‧‧記憶體區域
106‧‧‧捕集模組
108a~108n‧‧‧捕集硬體
110‧‧‧TPM組件
112a~112n‧‧‧通訊鏈路
120‧‧‧多節點集線器

Claims (24)

  1. 一種多節點集線器,其包含:複數個記憶體區域,其中每一各自的記憶體區域係與複數個同調運算節點中的一各自相關聯的同調運算節點相關聯,並且僅從其各自相關聯的同調運算節點接收信賴操作資料,且其中該等各自同調運算節點的每一者僅傳送信賴操作資料至其在該等複數個記憶體區域當中的各自相關聯的記憶體區域;與該複數個記憶體區域耦接的一捕集模組,其用以回應於藉由該等各自的記憶體區域之各自相關聯的同調運算節點對該等各自的記憶體區域之存取而產生捕集通知,其中一捕集通知指示該複數個記憶體區域中之哪一者已被存取;以及與該捕集模組耦接的一可信賴平台模組(TPM)組件,其用以處理由一捕集通知指示之一記憶體區域中的信賴操作資料。
  2. 如請求項1之多節點集線器,其中該TPM組件用以作為由該捕集通知指示之該記憶體區域中的該信賴操作資料之處理的一部分,而驗證與由該捕集通知指示之該記憶體區域相關聯的該同調運算節點之一基本輸入/輸出系統(BIOS)的一完整性。
  3. 如請求項1之多節點集線器,其中該TPM組件用以作為由該捕集通知指示之該記憶體區域中的該信賴操作資 料之處裡的一部分,而驗證與由該捕集通知指示之該記憶體區域相關聯的該同調運算節點對一超管理器的一啟動。
  4. 如請求項1之多節點集線器,其進一步包含不可重寫記憶體,其中與該多節點集線器相關聯之韌體係設置於該不可重寫記憶體中。
  5. 如請求項1之多節點集線器,其中該多節點集線器連同該複數個同調運算節點一起包括於一積體電路封裝中。
  6. 如請求項1之多節點集線器,其進一步包含一或多個串列或並列匯流排以耦接該複數個同調運算節點與該複數個相關聯的記憶體區域,以使得該複數個同調運算節點能夠與該複數個相關聯的記憶體區域通訊。
  7. 如請求項1之多節點集線器,其中該多節點集線器包括於一積體電路封裝中,該積體電路封裝與包括該複數個同調運算節點中的至少一者之一封裝分開。
  8. 如請求項1之多節點集線器,其中該複數個記憶體區域用以自該相關聯的同調運算節點之一作業系統接收信賴操作資料。
  9. 如請求項1之多節點集線器,其中該複數個記憶體區域之基址包括於該等相關聯的同調運算節點之先進組態與電力介面(ACPI)表中。
  10. 如請求項1之多節點集線器,其中該複數個記憶體區域用以經由一直接記憶體存取(DMA)傳送從該相關聯的同調運算節點接收信賴操作資料。
  11. 如請求項1之多節點集線器,其進一步包含具有與該多節點集線器相關聯之韌體的一整合可延伸韌體介面(UEFI)平台初始化(PI)系統管理模式(SMM)驅動器。
  12. 如請求項1之多節點集線器,其中該TPM組件包含一記憶體,且其中該TPM組件用以處理來自與該記憶體中不同同調運算節點相關聯之記憶體區域的信賴操作資料。
  13. 一種具有一多節點集線器之運算系統,其包含:複數個同調運算節點;以及該多節點集線器,其中該多節點集線器包含:複數個記憶體區域,其中每一各自的記憶體區域係與該複數個同調運算節點中的一各自相關聯的同調運算節點相關聯,並且僅從其各自相關聯的同調運算節點接收信賴操作資料,且其中該等各自同調運算節點的每一者僅傳送信賴操作資料至其在該等複數個記憶體區域當中的各自相關聯的記憶體區域;與該複數個記憶體區域耦接的一捕集模組,其用以回應於藉由該等各自的記憶體區域之各自相關聯的同調運算節點對該等各自的記憶體區域之存取而產生捕集通知,其中一捕集通知指示該複數個記憶體區域中之哪一者已被存取;以及與該捕集模組耦接的一可信賴平台模組(TPM)組件,其用以處理由一捕集通知指示之一記憶體區域中的信賴操作資料。
  14. 如請求項13之運算系統,其中該多節點集線器連同該複 數個同調運算節點一起包括於一積體電路封裝中。
  15. 如請求項13之運算系統,其進一步包含一或多個串列或並列匯流排以耦接該複數個同調運算節點與該複數個相關聯的記憶體區域,以使得該複數個同調運算節點能夠與該複數個相關聯的記憶體區域通訊。
  16. 如請求項13之運算系統,其中該多節點集線器包括於一積體電路封裝中,該積體電路封裝與包括該複數個同調運算節點中的至少一者之一封裝分開。
  17. 如請求項13之運算系統,其中該TPM組件包含一記憶體,且其中該TPM組件用以處理來自與該記憶體中不同同調運算節點相關聯之記憶體區域的信賴操作資料。
  18. 一種包含一或多個電腦可讀媒體的電腦可讀媒體,其上具有回應於藉由一設備之一或多個處理裝置執行而使得該設備操作一多節點集線器之一可信賴平台模組(TPM)組件以進行以下操作之指令:接收一捕集通知,其指示與一記憶體區域相關聯之一同調運算節點對該記憶體區域之一存取,其中該記憶體區域為複數個記憶體區域中的一者,且該捕集通知進一步指示該複數個記憶體區域中之哪一者已被存取,且其中該等各自同調運算節點的每一者僅傳送信賴操作資料至其在該等複數個記憶體區域當中的各自相關聯的記憶體區域;回應於接收到該捕集通知而處理來自該記憶體區域之信賴操作資料;以及 將該信賴操作資料之處理的結果自該記憶體區域提供至該同調運算節點。
  19. 如請求項18之一或多個電腦可讀媒體,其中將該信賴操作資料處理的結果提供至與該記憶體區域相關聯之該同調運算節點之操作包含將該信賴操作資料處理的結果提供至該記憶體區域。
  20. 如請求項18之一或多個電腦可讀媒體,其上進一步具有回應於藉由該設備之該一或多個處理裝置執行而使得該設備操作該多節點集線器之該TPM組件以進行以下操作之指令:接收一第二捕集通知,其指示與一第二記憶體區域相關聯之一第二同調運算節點對該第二記憶體區域之一存取,其中該第二記憶體區域不同於該記憶體區域;回應於接收到該捕集通知而處理來自該第二記憶體區域之信賴操作資料,其中處理來自該第二記憶體區域之該信賴操作資料包含利用亦被利用於處理來自該第一記憶體區域之該信賴操作資料之一記憶體;以及將該信賴操作資料之處理的結果自該第二記憶體區域提供至該第二同調運算節點。
  21. 一種包含一或多個電腦可讀媒體的電腦可讀媒體,其上具有回應於藉由一設備之一或多個處理裝置執行而使得該設備操作一多節點集線器以進行以下操作之指令:自相關聯的複數個同調運算節點中之每一者接收用於複數個記憶體區域中之每一者的一基址; 儲存所接收之該複數個基址;以及回應於一相關聯同調運算節點對該複數個記憶體區域中之一記憶體區域之一存取而產生用於該多節點集線器之一可信賴平台模組(TPM)組件的一捕集通知,其中該捕集通知指示該複數個記憶體區域中之哪一者已被存取,且其中該等各自同調運算節點的每一者僅傳送信賴操作資料至其在該等複數個記憶體區域當中的各自相關聯的記憶體區域。
  22. 如請求項21之一或多個電腦可讀媒體,其上進一步具有回應於藉由該設備之該一或多個處理裝置執行而使得該設備操作該多節點集線器以進行以下操作之指令:回應於一相關聯的第二同調運算節點對該複數個記憶體區域中之一第二記憶體區域之一存取而產生用於該TPM組件之一第二捕集通知,其中該第二記憶體區域不同於該記憶體區域。
  23. 如請求項22之一或多個電腦可讀媒體,其中產生之操作包含藉由該多節點集線器的一捕集模組的之一第一捕集組件來產生該捕集通知,以及藉由該多節點集線器的該捕集模組的一第二捕集組件來產生該第二捕集通知,且其中該第一捕集組件與該第二捕集組件包括不同硬體。
  24. 如請求項21之一或多個電腦可讀媒體,其中該複數個基址包含至少一個直接記憶體存取(DMA)基址。
TW104104265A 2014-03-25 2015-02-09 用於可信賴運算之多節點集線器 TWI556130B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/225,140 US9413765B2 (en) 2014-03-25 2014-03-25 Multinode hubs for trusted computing

Publications (2)

Publication Number Publication Date
TW201543259A TW201543259A (zh) 2015-11-16
TWI556130B true TWI556130B (zh) 2016-11-01

Family

ID=54192016

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104104265A TWI556130B (zh) 2014-03-25 2015-02-09 用於可信賴運算之多節點集線器

Country Status (6)

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

Families Citing this family (13)

* 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
US11206141B2 (en) 2018-09-21 2021-12-21 International Business Machines Corporation Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates
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
WO2020222804A1 (en) * 2019-04-30 2020-11-05 Hewlett-Packard Development Company, L.P. System management memory coherency detection
JP7420920B2 (ja) * 2019-08-21 2024-01-23 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング モビリティソリューションの開発及び分配のためのシステム及び方法
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
CN111694782B (zh) * 2020-05-23 2022-03-04 苏州浪潮智能科技有限公司 一种实现可信平台模组自动切换的装置和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090044187A1 (en) * 2007-08-10 2009-02-12 Smith Ned M Methods And Apparatus For Creating An Isolated Partition For A Virtual Trusted Platform Module
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
TW200945198A (en) * 2002-03-29 2009-11-01 Intel Corp System and method for execution of a secured environment initialization instruction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US7200758B2 (en) 2002-10-09 2007-04-03 Intel Corporation Encapsulation of a TCPA trusted platform module functionality within a server management coprocessor subsystem
WO2004046934A2 (en) * 2002-11-18 2004-06-03 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
US9122875B2 (en) * 2006-05-02 2015-09-01 International Business Machines Corporation Trusted platform module data harmonization during trusted server rendevous
GB0623276D0 (en) * 2006-11-22 2007-01-03 Transitive Ltd Memory consistency protection in a multiprocessor computing system
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
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
CN102473224B (zh) 2009-12-22 2016-10-12 英特尔公司 提供安全应用执行的方法和装置
US20120036308A1 (en) * 2010-08-06 2012-02-09 Swanson Robert C Supporting a secure readable memory region for pre-boot and secure mode operations
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
CN103106373B (zh) * 2011-11-10 2016-11-09 国民技术股份有限公司 一种可信计算芯片及可信计算系统
EP2672672A1 (en) * 2012-06-07 2013-12-11 Alcatel-Lucent Secure data processing
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200945198A (en) * 2002-03-29 2009-11-01 Intel Corp System and method for execution of a secured environment initialization instruction
US20090044187A1 (en) * 2007-08-10 2009-02-12 Smith Ned M Methods And Apparatus For Creating An Isolated Partition For A Virtual Trusted Platform Module
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

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI556130B (zh) 用於可信賴運算之多節點集線器
US10235515B2 (en) Method and apparatus for on-demand isolated I/O channels for secure applications
US9298524B2 (en) Virtual baseboard management controller
CN113312140B (zh) 用于虚拟可信平台模块的系统、存储介质和方法
US10489594B2 (en) System and method for secure migration of virtual machines between host servers
US11119789B2 (en) Kernel space measurement
US20190171505A1 (en) Management controller-based solution for processor ras in smi-free environment
CN113312141B (zh) 用于卸载串行端口模拟的计算机系统、存储介质和方法
US11625338B1 (en) Extending supervisory services into trusted cloud operator domains
US11513825B2 (en) System and method for implementing trusted execution environment on PCI device
WO2013189180A1 (zh) 虚拟化系统中关闭中断的方法和装置
CN113312295B (zh) 计算机系统、机器可读存储介质和重置计算机系统的方法
US12001870B2 (en) Injection and execution of workloads into virtual machines
Vetter et al. VOSYSVirtualNet: Low-latency Inter-world Network Channel for Mixed-Criticality Systems
Svensson Strict separation between OS and USB driver using a hypervisor

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees