TW200540640A - Launching a secure kernel in a multiprocessor system - Google Patents

Launching a secure kernel in a multiprocessor system Download PDF

Info

Publication number
TW200540640A
TW200540640A TW093125590A TW93125590A TW200540640A TW 200540640 A TW200540640 A TW 200540640A TW 093125590 A TW093125590 A TW 093125590A TW 93125590 A TW93125590 A TW 93125590A TW 200540640 A TW200540640 A TW 200540640A
Authority
TW
Taiwan
Prior art keywords
processor
patent application
item
reliable
scope
Prior art date
Application number
TW093125590A
Other languages
English (en)
Other versions
TWI276967B (en
Inventor
John H Wilson
Ioannis T Schoinas
Mazin S Yousif
Linda J Rankin
David Grawrock
Robert J Greiner
James A Sutton
Kushagra Vaid
Willard M Wiseman
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 TW200540640A publication Critical patent/TW200540640A/zh
Application granted granted Critical
Publication of TWI276967B publication Critical patent/TWI276967B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

200540640 (1) 九、發明說明 【發明所屬之技術領域】 本發明關於電腦系統,較具體地關於啓動其中的安全 作業。 【先前技術】 一以鏈路爲主的系統拓樸可包括多個點對點相連的節 點。該拓樸可能並非完全連接;即,——特定節點可能並非 與所有其他節點相連,但任一節點可依據所組成的路由機 制,經由多條鏈路而與任何其他節點聯繫。例如,該些節 點可爲處理器、輸入/輸出(I/O )集線器,或其他裝置 〇 在系統作業的開端,處理器硬體可靠地依指定而作業 ’而且鏈路機制可靠地自一鏈路控制器傳送硬體所發送的 鏈路層信息予另一鏈路控制器。此外,該鏈路機制提供有 關一鏈路每一端之硬體零件的可靠信息。同樣地,該I/O 集線器的硬體機制將依指定而作業。 在某些體現中,儘管存在個別的實體記憶體,但在一 系統架構上執行之特定協定可用於存取記憶體,並維持記 憶體整體的相關外貌與性能,做爲一單一實體位置空間。 然而,該相關性能係依據不可靠軟體所組成的位址解碼及 路由機制。因此,該等協定無法正確地交付存取記憶體, it至組態經驗證爲止。特別是其無法可靠地免於組態錯誤 及不當的作業,例如記憶體替代標號或使用具不同對映的 -5- 200540640 (2) 相同實體位址。因而存在著在該等系統中啓動可靠環境的 需要。 【發明內容及實施方式】 在不同實施例中,可安全地啓動一安全核心,其在一 系統拓樸中的所有處理器上執行。此外,該安全核心連同 該啓動程序中所使用的一或多個軟體代理程式,可以安全 的方式實施測量及記錄。以此方式,可記錄植基於啓動該 安全核心所使用之硬體的傳遞信任鏈。 在某些實施例中,可靠的硬體可包括一主要輸入/輸 出(I/O )集線器,其上依附一主要的可靠平台模組( TPM )。一(非安全的)作業系統(OS )可具有該拓樸之 特徵的知識。此外,可執行一可靠的軟體代理程式,使得 其執行無法以任何方式竄改。 一使用者或系統管理者可要求載入一系統中的安全核 心。如文中所提及,「安全」一詞係指稍後檢查系統並判 斷是否載入一特定核心的能力。此外,該使用者或第三者 可進一步判斷該核心是否載入一安全的記億體環境。因此 ,在一實施例中,藉由提供在該安全環境中檢查軟體的能 力,一外部代理程式可建立信任,或決定信任該安全環境 所包含的該核心。在一實施例中,可檢查代表該安全記憶 體區域的密碼拼湊値(例如軟體識別値),而非暴露整個 區域進行檢查。在一實施例中,該數位簽章安全軟體識別 値可由外部代理程式儲存於可存取的硬體中。 -6- 200540640 (3) 穸照圖1 A,顯示啓動依據本發明一實施例之多處理 器系統上安全核心之方法的流程圖。如圖丨A中所示,方 法1 00的展開可將一可靠的代理程式及一安全核心載入記 憶體(方塊1 1 〇 )。在一實施例中,一不可靠的作業系統 (〇S)可將可靠的代理程式及該安全核心載入系統記憶 體的女全區域中。該可靠的代理程式及該安全核心可儲存 於大量儲存裝置,例如磁碟機,並可載入可由系統多個處 理器存取的該系統記憶體中。此外,該〇 s可建構頁碼表 以便定址該安全核心及可靠的代理程式。在一實施例中, 該頁碼標的位址及長度可儲存於該系統之主要輸入/輸出 (I / Ο )集線器的特定位置中。該0 S亦可儲存一用以驗證 該模組的公共金鑰。在一實施例中,該可靠的代理程式可 爲安全驗證碼,其用以驗證該系統的組態,較具體地是用 以驗證該系統的記憶體組態。該可靠的代理程式可進一步 用以啓動該安全核心的執行。 其次,該OS可在一啓動邏輯處理器(ILP )(方塊 120)上發佈一安全啓動。該安全啓動可爲一啓動安全輸 入的安全輸入(SENTER )指令。SENTER指令的執行可 致使該1LP在其插座及其他處理器插座內發佈特殊匯流排 信息’接著花相當長的時間間隔等候後續的系統動作。 在一實施例中,該啓動邏輯處理器(ILP )可直接連 接主要的I/O集線器,其依序直接連接主要的可靠平台模 組(TPM )。在該實施例中,該ILP可驗證具有至該主要 TPM的可靠路徑。例如,可檢查該ILP插座中的可靠鏈 200540640 (4) 路參數。該路徑可爲一可靠的硬體路徑,其不需由韌體或 軟體啓動。執行該方法時,在該ILP爲一多處理器插座的 一部分之實施例中,該ILP亦可致使該插座中的其他邏輯 處理器(OLP )停止。 其次’該IL P可建構一層級樹(方塊1 3 〇 )。該層級 樹可依據一所需的演算法進行建構。該層級樹可用於識別 有關一樹狀結構之複數階層中ILP節點之系統的所有其他 節點’其中該ILP做爲該樹的根部。直接連接該ILP的節 點可爲第二層節點,直接連接第二層節點的節點可爲第三 層節點’以此類推。該層級樹可用於驗證該系統的適當組 態’並啓動以鏈路爲主之信息至其他節點的路由。只有可 靠的硬體及鏈路可用於建構該層級樹。在某些實施例中, 該層級樹可提供一可靠的廣播機制,藉此該ILP可發送一 信息予每一處理器插座,用於每一處理器插座的機構以回 應該廣播信息,並當該些回應向上通過該樹回到該ILP時 予以總和,及一界線機制以確保所有處理器插座在該ILP 處理下一廣播信息之前,到達已知狀態。 仍參閱圖1 A,在方塊1 4 0 —安全啓動信息可發送予 該層級樹上的其他插座。在一實施例中,該信息可使用層 級樹協定進行發送,該協定係自根階層發送信息至下一階 層(即至下行鏈路節點),其依序發送信息至下一最低階 層,以此類推。回應時,每一階層可向上回傳回應封包至 其傳送階層(即至上行鏈路節點)。因此,當所有節點接 收信息並適予回應,便將一最後總結回應封包回傳至該根 200540640 (5) 節點。執行該方法時,每一插座上的回應邏輯處 RLP )可致使該插座中的其他邏輯處理器(〇LP )停 現在參閱圖1B,當啓動邏輯處理器(ILP )接 所有其他節點已適當地接收及回應SENTER指令的 應時’該ILP便可驗證該可靠的代理程式(方塊i 該驗證可包括例如執行一拼湊計算,並將該結果與 儲存的拼湊値相比。該驗證資訊接著可發送予回應 理器(RLP )(方塊160 )。該些RLP可個別驗證 取受保護之記憶體位置中可靠的代理程式,並驗證 的代理程式(方塊1 7 0 )。 當該ILP接收每一 RLP的驗證總結回應時, 接著便可在該系統的所有插座上控制該可靠代理程 行(方塊180)。例如,在一實施例中,該IL P可 界線機制啓動該可靠代理程式的部分,等候每一插 行該可靠代理程式部分的指標,接著繼續處理下一 該指標可使用上述層級樹協定發送。 該硬體因而使用該層級樹啓動每一處理器插座 之可靠的代理程式。該可靠的代理程式可在每一處 座上以協調的單指令多資料(SIMD )類型同時執 些可靠代理程式的執行使用該層級樹與該ILP協調 ’共同執行該拓樸之記憶體組態的完整驗證。當該 代理程式成功地驗證該組態時’該ILP上的該可靠 式執行便可驗證用於該安全核心定位之頁碼表,比 心的拼湊,及將該拼湊記錄於主要的可靠平台模組
理器( 〔止。 收顯示 總結回 50 ) ° 先前所 邏輯處 其可存 該可靠 該ILP 式的執 使用一 座已執 部分。 上相同 理器插 行。該 與通訊 可靠的 代理程 較該核 (TPM 200540640 (6) )中。 在該可靠的代理程式執行結束時,該ILP可啓動該安 全核心(方塊190)。此時,該安全核心便接管系統作業 ,並可依據其中的碼執行(方塊! 9 5 )。例如,該安全核 心可在該系統的所有插座上執行。 現在參閱圖2 ’顯示依據本發明一實施例之系統的方 塊圖。如圖2中所示,系統200可爲一具有隨意且部分相 連之點對點架構的多處理器系統。即,系統2 〇 〇的某些節 點可直接相連’同時其他節點可經由其間相連的中間節點 通訊。在其他實施例中,系統2 0 0可具有完全相連的拓樸 。在一實施例中,儘管本發明的範圍並未加以限制,但系 統2 0 0可爲一同步多處理(s Μ P )伺服器電腦。 即,雖然圖2中顯示爲一伺服器平台,但應理解的是 在其他實施例中,一系統可爲所需的桌上型、手提型、伺 服器或其他該等平台之一。在某些實施例中,圖2之不同 零件間的相互連接可爲點對點連接,其用於系統2 0 0內的 相關共用記憶體,在一該等實施例中,用於其間通訊之相 互連接及協定可形成一共同系統介面(C S I )。在該實施 例中,系統2 〇 〇的多處理器、記憶體及其他零件可無誤地 彼此共用介面。 在圖2的實施例中’系統2 0 0的所有零件可共同成一 個相關的系統。該共同系統在處理流程中於各通道間不拘 順序地進行相關處理。雖然文中所討論的爲一共同系統, 應理解的是相關及非相關的處理均可在該系統零件上傳送 -10- 200540640 (7) 及進行。例如,與系統2 0 0相關的一個、部分或所有記憶 體中的一個區域,可保留以進行非相關的處理。而且,應 理解的是本發明的實施例並不侷限於相關系統。 如圖2中所示,第一處理器插座2 1 0可包括複數個處 理核心2 1 2 a、2 1 2 b、2 1 2 c及2 1 2 d。雖然圖2之實施例中 顯示包括四個該等處理核心,但應理解的是在其他實施例 中,處理器插座可包括更多或較少的該等核心。如圖2中 進一步所示,該處理器核心可經由匯流排或環2 1 5相連接 。在某些實施例中,例如依據共同系統介面(C S I )協定 的實施例中,該處理器插座可包括其餘的邏輯電路功能, 例如記憶體控制器功能、C S I封包產生及路由機制。 例如,如圖2中所示在處理器插座2 1 0中爲邏輯電路 功能2 1 6,其可包括記憶體控制器及其他的邏輯電路功能 。邏輯電路功能2 1 6可包括具處理器插座的相關節點識別 元(NID)。如圖2中所示,處理器插座210可具有一節 點識別元,其在一實施例中顯示爲啓動邏輯處理器。邏輯 電路功能2 1 6可包括一來源位址檢測器,其對映實體記憶 體映圖中所有項目的相關節點(例如NID )位址。若適當 配置,每一處理器插座可包括具有來源位址檢測器的邏輯 電路功能,該來源位址檢測器回應相同位址予相同節點。 在一實施例中,NID在系統啓動上可配賦不可靠的韌體, 其因而並非唯一。因此,在某些實施例中,一可靠的代理 程式可用於判斷每一節點的NID實際上是否爲唯一。在 某些實施例中,邏輯電路功能2 1 6亦可包括一目標位址檢 -11 - 200540640 (8) 測器,其對映位址予實體記憶體,例如實體記憶體直接連 接至一特定處理器插座。 記憶體2 1 8亦可直接連接至處理器插座2 1 0。雖然記 憶體2 1 8可直接連接至處理器插座2 1 0,但應理解的是在 不同實施例中,系統2 0 0內的任一處理器插座均可存取記 憶體2 1 8。記憶體2 1 8可使用邏輯電路功能2 1 6內的記憶 體控制器功能,做爲與處理器插座2 1 0的介面。此外,雖 然圖2中並未顯示,但應理解的是每一處理器插座可具有 一或更多個與之相關的記憶體。雖然每一插座可具有一直 接相連的實體記憶體,但其餘的記憶體元件,例如高速緩 衝儲存器,可與該處理器插座中的個別處理核心相連。在 一實施例中,一系統中的所有記憶體可定址爲單一實體位 址空間,雖然存在多個該等記憶體,但每一均可直接與不 同的處理器插座相連。 如圖2中進一步所示,處理器插座210可直接連接至 處理器插座220、處理器插座250及處理器插座260。此 外,處理器插座210直接連接至主要輸入/輸出(I/O ) 集線器 2 90,其依序直接連接至主要的可靠平台模組( TPM ) 2 92。雖然文中並未詳細討論,但處理器插座230 、240、27 0及280(與插座220、250及260)可具有如 處理器插座2 1 0相關討論之類似的處理核心、匯流排、環 及邏輯電路功能。最後,圖2中進一步所示的爲第二輸入 /輸出(I/O )集線器2 9 5,其直接連接至處理器插座250 、260 、 270 及 280 〇 -12 - 200540640 (9) I/O集線器2 9 0及2 9 5可各包括複數個埠,做爲與其 相連之〗/〇裝置的介面。例如,在某些實施例中,該等 I / 〇裝置可爲符合一或多個匯流排模式的裝置。在一實施 例中’該等I/O裝置可爲符合周邊零件連接介面快速基準 規格版本1.0a(2002年7月發表)之周邊零件連接介面 (PCI )快速裝置。主要的可靠平台模.組(τρΜ ) 292可 爲符合可靠的運算平台聯盟(T C P A )主要規格版本1.1b (2002年2月22日發表)之可靠的平台模組。主要的可 靠平台模組(T P Μ ) 2 9 2可保護與製造及維持安全作業環 境有關的資料。在一特定實施例中,主要的可靠平台模組 (ΤΡΜ ) 2 92可包括特定加密、解密及/或驗證程序的金 鑰。主要的可靠平台模組(Τ Ρ Μ ) 2 9 2亦可包括儲存空間 以容納摘要値及用於安全環境的其他資訊。在一實施例中 ,主要的可靠平台模組(ΤΡΜ ) 292中的儲存空間可包括 非揮發性記憶體(例如快閃記憶體),以便在電力漏失時 保持內容。 雖然在圖2的實施例中顯不每一處理器插座包括四或 五個直接連接,但在其他實施例中,不同插座間可包括較 多或較少的直接連接。更有甚者,應理解的是在不同實施 例中可呈現較多或較少的插座,各具有不同數量的核心及 不同數量的邏輯電路功能。例如,一單一處理器係統可具 有一單一 I/O集線器及與其相連的相關I/O裝置。另一方 面,一具有不同數量處理器(例如4、8、1 6或3 2 )的多 處理器係統,可具有適當數量的I/O集線器及與其相連的 -13- 200540640 (10) 其他零件。任何該等平台拓樸可具有點對點相互連接的優 點’以提供該系統相關部分的一致性,亦允許與其相連之 1 /〇裝置的非相關點對點處理。此外,在某些實施例中, 其餘的零件亦可呈現於系統2 00中,例如縱橫開關、路由 器等。 現在參與圖3 ’顯示依據本發明一實施例之層級樹的 方塊圖。如圖3中所示,層級樹3 00可爲啓動邏輯處理器 (IL P )所建構之層級樹的圖示。較具體地,層級樹3 0 〇 相對於系統2 0 0的層級樹,其中處理器插座2 ! 〇包括該 IL P °請注意該層級樹的每一節點具有一節點識別元,其 相對於圖2之相符處理器插座的節點識別元。如圖3中所 示’根階層節點3 1 0具有節點識別元丨,相對於圖2之處 理器插座2 1 0。該階層兩節點包括直接連接處理器插座 2 1 〇的節點。具體地’如圖3中所示,該階層兩節點包括 節點3 1 5、3 2 0、3 2 5及3 3 0,各相對於直接連接處理器插 座2 1 0之系統2 0 0的節點,即處理器插座2 2 〇、2 5 〇與 260 ’及主要輸入/輸出(1/〇 )集線器29〇。 第三層的節點包括節點3 3 5、3 4 0及3 5 0。每一該些 節點相對於直接連接第二層節點的節點。例如,節點3 3 5 (例如相對於I/O集線器290 )直接連接處理器插座250 •’節點3 4 G (即相對於處理器插座2 7 〇 )直接連接處理器 插座260 ;及節點3 5 0 (即相對於處理器軟體23〇 )直接 連接處理器插座2 2 0。最後,第四層的節點包括節點3 5 5 及3 6 0,二者均直接連接第三層節點,即節點3 4 〇。 - 14 - 200540640 (11) 因此一層級樹識別系統中參與插座的數量。該系統中 每一插座(根插座除外)可具有一經識別爲上行鏈路的鏈 路。啓動邏輯處理器(ILP )所產生之廣播信息可由回應 邏輯處理器(RLP )自其上行鏈路接收。此外,除了葉( 例如圖3的第四層節點)以外的所有插座,可具有經識別 爲下行鏈路的鏈路。每一插座可傳播廣播信息至其下行鏈 路。在某些實施例中,查閱表或其他相對於圖3中所示之 圖示的資料結構,可儲存於與處理器插座2 1 0相關的記憶 體供該ILP使用。 因此在該層級樹的建構末端,該層級樹包括與節點數 量及其階層有關的資訊。在層級樹細目的結論,可配賦獨 特的識別元予每一節點,並可決定及儲存特定節點下的節 點總數。因此如圖3中所示,除了每一節點的節點識別元 (亦顯示於圖2中)外,可呈現其餘層級樹的獨特識別元 (例如節點識別元(ID ) 1具有層級樹識別元1,其中節 點ID5具有層級樹識別元2 )。 現在參閱圖4,顯示依據本發明一實施例之可靠鏈路 硬體的方塊圖。該可靠鏈路硬體可用於提供一處理器插座 中的可靠鏈路硬體,供完成可靠代理程式的執行之前使用 。該可靠的硬體鏈路爲可靠的,作業及沿鏈路傳送信息時 不需韌體或軟體。可靠鏈路硬體4 5 5 a及4 5 5 b可容納於處 理器插座內(即插座410a及410b)。雖然圖4中顯示二 個該等插座,但文中將討論插座4 1 0 a及其零件。如圖4 中所示,硬體鏈路4 5 5 a可於處理器核心4 2 0 a及鏈路控制 -15- 200540640 (12) 器4 5 0a之間連接。使用可靠的硬體鏈路4 5 5 a,p 路信息便可不依賴軟體或韌體而進行發送及自核 接收。 對比之下,對一般系統信息及封包傳輸而言, 爲主的信息可經匯流排或環425 a,並透由核心介 及協定引擎4 3 5 a而往/返核心4 2 〇 a。在一實施例 定引擎435a可爲一共同系統介面(CSI)協定引奪 將資料及信息形成C S I封包。此外,匯流排4 4 0 a 開關445 a連接協定引擎4 3 5 a。由此,資料及信肩 至與處理器插座相關之記憶體等其他節點、鏈路 4 5 0a或其他需要的位置。 由於包括核心介面4 3 0 a、協定引擎4 3 5 a及縱 445 a的零件係由不可靠的韌體建構,所以該路徑 執行可靠的代理程式之前,無法提供非欺僞的存取 因此在不同實施例中,硬體鏈路4 5 5 a可提供核心 鏈路控制器4 5 0 a間的非欺僞的存取路徑,其特別 可靠代理程式的系統驗證之前。例如,在驗證之前 鏈路控制器4 5 0 a及4 5 0 b等鏈路控制器可用於以核 殊指令產生鏈路信息。因而一接收鏈路控制器可捕 信息內容,並經由例如可靠的硬體鏈路4 5 5 a等可 體鏈路,使其可直接用於處理器核心。在某些實施 從一鏈路控制器至一處理器核心可發生一事件機制 該核心中的微碼可於新鏈路信息抵達時在該可靠的 路上形成。在鏈路啓動期間,有關鄰近節點的資訊 Γ靠的鏈 心 4 2 0 a 以鏈路 面 4 3 Oa J中,協 〖,以便 經縱橫 、可發送 控制器 :橫開關 在完成 路徑。 42 0a 與 適用於 ,例如 心的特 捉鏈路 靠的硬 例中, ,使得 硬體鏈 可被一 -16- 200540640 (13) 鏈路控制器捕捉,並可用於協定引擎及處理器核心。在該 等實施例中,該等訊息可包括鄰近節點的節點類型及節點 識別元。 如圖4中進一步所示,上述討論有關處理器插座 4 10a的零件可見於處理器插座410b中。此外,兩處理器 間的可靠鏈路可經由連接鏈路控制器4 5 0 a及鏈路控制器 4 5 0b的硬體鏈路460進行影響。該可靠鏈路可用於在可 靠代理程式的系統驗證之前,在處理器插座間發送以鏈路 爲主的信息。 現在參閱圖5,顯示依據本發明一實施例由一啓動邏 輯處理器(ILP )實施之安全啓動的時序圖。如圖5中所 示,安全啓動5 00藉由將一可靠代理程式及一安全核心載 入記憶體(區段5 02 )而展開。如上述,在一實施例中, 一不可靠的作業系統(〇 S )可執行該載入作業。接著可 發送一安全輸入(SENTER)指令予包含所需ILP的處理 器插座(區段5 04 )。例如,該指令可由一不可靠的〇S 發佈。 當該ILP接收該SENTER指令時,其可發佈一類似的 指令予其插座中的其他邏輯處理器,並發佈予其他處理器 插座5較具體地發佈予一回應邏輯處理器(RLP ) ’其係 每一處理器插座中均有一個(時序505)。在不同的實施 例中,該邏輯處理器的可能爲ILP及/或RLP,並可能依 據軟體或韌體而有所不同。例如,在一實施例中’ 0 S可 能選擇ILP。此外,其他處理器插座中的RLP則可被特定 -17 - 200540640 (14) 插座中的所有邏輯處理器所選擇。在時序5 證實其直接連接主要I/O集線器。接著在 ILP可廣播一 SENTER匯流排信息予其插座 處理器(OLP),而且每一 OLP均可回應該 (時序5 2 0 )。 此時,可展開一 SENTER本機事件(區 時序5 2 5,每一 OLP可發佈一確認(ACK ) 候狀態。該等候狀態可由OLP維持直至之ί 離開該等候狀態。
接著可進入一 SENTER總體指令階段( 首先,該ILP可發送一信息,自該系統中的 (ACK )。當該IL Ρ接收A C Κ時,便發送 (時序5 3 0 )。此時,該ILP便可建構一層H 雖然可採不同型式建構層級樹,但在一 由發送脈衝建構一層級樹,該脈衝係脈衝階 該樹向下至下一較低階層,該層級樹並接收 其係包含累積結果向上回至該樹的鏈路階層 式,接收脈衝信息的每一 RLP可將該信息 鏈路,並接收返回信息。所發送之以鏈路爲 息,致使每一插座設定一插座階層。接著, 目’其中配賦每一節點一特有的識別元。因 層級樹時,每一插座便配賦一特有識別元及 步顯示其相對於該ILP的相關位置,與往/ 行鏈路與下行鏈路連接。 10 ,該ILP可 時序 5 1 5,該 內的其他邏輯 SENTER指令 段5 22 )。在 ,並進入一等 菱該ILP下令 區段5 2 8 )。 節點尋求確認 一持續的指令 δ樹。 實施例中可藉 層的信息,由 返回,該返回 信息。以此方 傳送予其下行 主的層級樹信 發生層級樹細 此,在完成該 一階層,進一 返該插座的上 -18 - 200540640 (15) 在確認及完成該層級樹時,該ILp可發送該SENTER 指令予所有其他的處理器插座(時序5 3 5 )。其次,該 ILP可合倂自該層級樹上節點所接收的總和回應(時序 5 4 0 )。該樹上一演算法證實該拓樸的軟體組態已賦予每 一節點一特有識別元,其可用於該系統的路由協定中。 接著該ILP可測量(即運算該拼湊)及認證(即證實 簽章)該可靠的代理程式,其在主要1/〇集線器中的指定 位址發現下列並予以廣播,包括拼湊値、該可靠代理程式 的基礎位址與長度,及用於驗證對其他處理器插座之簽章 的公共金鏡(時序5 5 0 )。該廣播可使用層級樹協定進行 。當其他插座驗證該可靠的代理程式時,將發送回應信息 ’其之後將於時序5 5 5由該ILP合倂。若每一插座發送肯 定回應,該ILP便載入、紀錄該可靠代理程式的拼湊(例 如在主要可靠平台模組(TPM)中),並於時序560啓動 該可靠代理程式。在某些實施例中,若一個或更多個插座 無法肯定回應,那麼安全啓動便終止。儘管本發明的範圍 並未如此限制,但在圖5所示實施例中,該可靠代理程式 可爲一安全可靠代理程式(例如,SIN IT-AC的名稱,其 爲女全啓動一驗證碼)。 接著可執行該可靠代理程式(區段5 7 2 )。在一實施 例中’該可靠代理程式的執行可於鬆散鎖定步驟單指令多 資料(SIMD )執行中進行。即,相同的可靠代理程式可 在所有插座上’於該碼中的特定界線同步執行。例如,該 I L P可在所有鏈路上發佈包括作業碼及資料的廣播信息。 -19 - 200540640 (16) 每一 RLP可得到該資料,若有的話並將該資料傳送至其 下行鏈路,及處理該資料。若該RLP是一葉,其可將一 回應信息向上回送至其上行鏈路。若該RLP爲一中間節 點,其便等候其下行鏈路的所有回應,使用作業碼總和所 有回應資料,並發送總和的回應予其上行鏈路。當該ILP 最後獲得所有其他插座的總和回應時,便以類似的方式繼 續執行至下一界線位置。 在執行中,該可靠代理程式可驗證本機組態及每一處 理器插座上的來源位址解碼器(時序5 7 0 )。此外,該可 靠代理程式可驗證每一處理器插座之每一節點識別元的獨 特性(時序5 7 5 )。例如,該可靠代理程式可使該來源位 址解碼器發送至該ILP (時序5 8 0 )。接著該ILP可合倂 並分析來源位址解碼器的比較結果(時序5 8 5 )。之後, 該ILP可藉由驗證、載入、紀錄及啓動該安全核心而終止 (時序5 90 )。在某些實施例中,該驗證資訊(例如一拼 湊値)可儲存於一主要TP Μ中。儘管本發明的範圍並未 如此限制,但在一實施例中,該安全核心可爲一安全虛擬 機器監視器(S V Μ Μ )。 仍參閱圖5,監視器啓動(區段5 92 )可使該ILP以 特殊指令喚起所有插座中的所有處理器核心,致使所有處 理器離開其等候狀態。因而在區段5 9 6所有監視器加入, 而且所有處理器核心於時序5 9 8參與,而安全核心作業展 開(區段5 9 9 )。 現在參閱圖6,顯示依據本發明一實施例之安全啓動 -20- 200540640 (17) 的時序圖。較具體地,圖6顯示由一回應邏輯處理器( RLP )實施之安全啓動的時序。因而圖6中所見之安全啓 動6 0 0與圖5中的時序圖極接近。首先,發生一 SENTER 門鈴事件(區段 6 0 4 )。在該事件中,該事件被IL P的 SENTER門鈴指令插斷(時序 605)。接著在時序610, 該RLP便發送一 SENTER下行鏈路信息予其下行鏈路節 點(若有的話)。在時序615,該RLP廣播該SENTER信 息予其插座內的所有處理器(即OLP)。該插座中每一其 他邏輯處理器可回應該SENTER週期(時序620 )。接著 發生一 SENTER本機事件(區段622 ),其中每一 OLP發 佈一 ACK回送予該ILP,且該OLP進入等候狀態(時序 625 ) 〇 接著在區段62 8,發生一 SENTER門鈴總體事件。當 該RLP接收所有現行鏈路節點的所有ACK時,該RLP便 發送一持續信息予該IL P (時序6 3 0 )。該R L P於時序 6 3 5合倂該等持續信息。接著在時序6 4 0,該R L P可接收 該IL P的驗證資訊。在一實施例中,該丨L p可發送有關該 可靠代理程式拼湊値、基準、規格及公共金鑰拼湊的資訊 。此外在此時,該R L P將該資訊傳送至其下行鏈路節點 。在時序6 4 5,該RLP可比較所接收之拼湊與其於該可靠 代理程式之拼湊。 在時序6 5 0,該RLP接收其下行鏈路節點的的驗證信 息並將結果合倂。而且,該RLP經由其上游節點向上發 送總和回應予該ILP。接著該RLP依據所接獲該ILp的資 - 21 - 200540640 (18) 訊’載入、驗證及檢查該可靠代理程式的簽章,並啓動該 可靠代理程式(時序6 5 5 )。 若所有處理器插座抵達此點,該可靠代理程式便執行 (區段6 7 2 )。具體地,該可靠代理程式驗證本機組態及 每一處理器插座的節點ID (時序660 ),並檢查及驗證該 插座中的來源位址解碼器(時序665及670)。該RLP可 接收下行鏈路插座的驗證結果,並合倂及向上發送該結果 予其上行鏈路處理器或該ILP (時序6 7 5 )。接著該RLP 便進入特殊等候狀態(時序6 8 0 )。 在此點,該安全核心首先於該I L P插座上被啓動(區 段6 9 2 )。接著在時序6 8 5,該IL P上的安全核心以特殊 喚起指令,喚起所有插座上的所有處理器核心。此時,該 安全核心可持續在該系統的部分或所有處理器上執行。例 如’在安全核心啓動後,可製造一虛擬機器環境,其中該 S V Μ Μ可以該系統內的最優先碼進行作業,並可用於藉由 虛擬機器中的0 S或應用程式而允許或拒絕存取某些系統 資源。 以此方式,本發明的實施例可在任意複雜伺服器硬體 拓樸上啓動一可靠安全核心,該拓樸係由不可靠軟體及韌 體所組成。該核心接著可進行建構、記錄及驗證一可靠的 伺服裔執fT ί哀境。此外’在某些實施例中,一可靠的代理 程式可於一伺服器拓樸的所有處理器插座上以單指令多資 料(SIMD )類型執行,並藉由使用一可靠的界線/廣播 機制’驗證一任意複雑伺服器拓樸的組態,並藉由該可靠 -22- 200540640 (19) 代理程式之硬體的傳遞可靠,紀錄及啓動一安全環境。 實施例可以編碼完成,並可儲存於具有儲存指令的儲 存媒體上,該指令可用於程控一電腦系統以執行該指令。 該儲存媒體可包括但不侷限於任一型式的磁碟,包括軟碟 、光碟、唯讀光碟(CD-ROM)、可複寫式光碟(CD-RW )及可讀寫光碟機;半導體裝置,例如唯讀記憶體(ROM )、隨機存取記憶體(RAM )、可抹除式程控唯讀記憶體 (EPROM )、快閃記憶體、電子可抹除式程控唯讀記憶 體(EEPROM )、磁性或光學卡;或適於儲存電子指令的 任一型態媒體。 雖然本發明已以數量有限的實施例加以描述,但熟悉 本技藝之人士將理解所衍生的許多修改及變化。希望申請 專利範圍可涵蓋所有該等修改及變化,並落於本發明的真 實精神與範圍之內。 【圖式簡單說明】 圖1 A爲依據本發明一實施例之方法的流程圖。 圖1 B爲圖1 A之流程圖的延續。 圖2爲依據本發明一實施例之系統的方塊圖。 1® 3爲依據本發明一實施例所建構之層級樹的方塊圖 〇 圖4爲依據本發明一實施例之可靠硬體的方塊圖。 圖5爲依據本發明一實施例由一啓動邏輯處理器實施 之安全啓動的時序圖。 -23- 200540640 (20) 圖6爲依據本發明一實施例由一回應邏輯處理器實施 之安全啓動的時序圖。 [主要元件符號說明】 1 節 點 m 別 元 100 方 法 110、 120、 13 0、 140、 方 塊 15 0、 160、 170、 180、 190、 1 95 200 系 統 2 10、 220、 2 3 0、 240、 處 理 器 插 座 2 5 0、 2 6 0、 2 7 0、 2 8 0、 4 10a、 4 1 Ob 2 12a '212b 、2 1 2 c、2 1 2d 處 理 核 心 2 15、 4 2 5 a 匯 流 排 或 環 2 16 ''想 邏 輯 電 路 功能 2 18 記 憶 體 230 處 理 器 軟 體 29 0、 295 主 要 輸 入 /輸出(I/O)集線器 292 主 要 的 可 靠平台模組(TPM) 300 層 級 樹 3 1 0 根 階 層 節 點 3 15、 3 2 0、 3 2 5、 3 3 5、 節 點 3 4 0、 3 5 0、 3 5 5、 360 -24- 200540640 (21) 4 2 0 a 4 3 0 a 4 3 5 a 44 0a 4 4 5 a 4 5 0a 455a 、 455b 460 500 、 600 502 、 504 、 572 、 592 、 622 、 628 、 505、 510、 525 、 530 、 550 、 555 、 575 、 580 、 598 、 605 、 620 、 625 、 640 、 645 、 660 、 665 、 680 、 685 、 522 、 528 、 596、 604、 672 515、 520 、 535 、 540 、 560 、 570 、 585 、 590 、 610、 615、 630 、 635 、 650 、 655 、 670 、 675 、 692 處理器核心 核心介面 協定引擎 匯流排 縱橫開關 鏈路控制器 可靠鏈路硬體 硬體鏈路 安全啓動 區段
時序
-25-

Claims (1)

  1. 200540640 (1) 十、申請專利範圍 1 · 一種方法,包含: 在一系統之複數個處理器上,安纟地啓動一安全核心 ,該系統具有一部分連接拓樸或一完纟連接拓樸。 2 .如申請專利範圍第1項之方法,進一步包含使用一 可靠的代理程式以安全地啓動該安全核心。 3 ·如申請專利範圍第2項之方法,進一步包含測量該 安全核心的特性,並將該特性記錄於/傳遞可罪的鏈中。 4 .如申請專利範圍第2項之方法,進一步包含使用該 可靠的代理程式以驗證該系統的一記懷體組態。 5 .如申請專利範圍第4項之方法,其中該記憶體組態 包含具有單一位址空間的分散式記憶體。 6 .如申請專利範圍第1項之方法,其中該複數個處理 器係經由任意點對點相互連接而連接。 7 . —種方法,包含: 驗證一系統的一啓動邏輯處理器; 若該啓動邏輯處理器經證實,則以該啓動邏輯處理器 證一可靠代理程式;及 若該可靠代理程式經證實,則在該系統之複數個處理 器上啓動該可靠代理程式。 8 ·如申請專利範圍第7項之方法,進一步包含將該可 靠代理程式的位址資訊,儲存於該系統之主要集線器代理 程式的一個保護部分中。 9.如申請專利範圍第7項之方法,進一步包含在該複 -26- 200540640 (2) 數個處理器上建構一層級樹。 1 0 .如申請專利範圍第9項之方法,進一步包含使用 該層級樹在該複數個處理器上啓動該可靠代理程式。 1 1 .如申請專利範圍第7項之方法,進一步包含使用 一界線機制執行該可靠代理程式。 1 2 .如申請專利範圍第項之方法,進一步包含在執 行該可靠代理程式後,執行一安全核心。 1 3 .如申請專利範圍第7項之方法,進一步包含驗證 該系統的一記憶體組態。 1 4 ·如申請專利範圍第7項之方法,其中驗證該啓動 邏輯處理器包含確認該啓動邏輯處理器與一主要集線器代 理程式之間的直接連接。 1 5 . —種方法,包含: 使用一啓動邏輯處理器在一系統的複數個處理器上建 構一層級樹;及 使用該層級樹在該複數個處理器上啓動該可靠代理程 式。 1 6 .如申請專利範圍第1 5項之方法,進一步包含在該 複數個處理器上執行該可靠代理程式。 1 7 .如申請專利範圍第1 5項之方法,進一步包含使用 一不安全作業系統將一安全核心載入該系統的一 s5憶體中 〇 1 8 .如申請專利範圍第1 7項之方法,進一步包含將有 關該安全核心及該可靠代理程式的資訊儲存於該系統的一 -27- 200540640 (3) 主要集線器代理程式中。 1 9.如申請專利範圍第1 5項之方法,進一步包含列舉 該層級樹中每一具獨特識別元的該複數個處理器。 2 〇 .如申請專利範圍第1 9項之方法,進一步包含結合 連接每一具獨特識別元之該複數個處理器的多個下行鏈路 節點。 2 1 ·如申請專利範圍第1 5項之方法,其中建構該層級 樹包含廣播一第一信息予直接連接的節點,並接收該直接 連接之節點的返回信息。 22·如申請專利範圍第21項之方法,進一步包含將該 第一信息自該直接連接之節點傳送至直接連接的下行鏈路 節點。 2 3 ·如申請專利範圍第1 5項之方法,進一步包含選擇 該啓動邏輯處理器做爲該層級樹的根。 24. —種裝置,包含: 一處理器核心; 一鏈路控制器;及 一可靠的硬體鏈路,將該處理器核心直接連接至該鏈 路控制器。 25·如申請專利範圍第24項之裝置,進一步包含一連 接該處理器核心的協定引擎,該協定引擎係由一不可靠代 理程式組成。 2 6 .如申請專利範圍第2 5項之裝置,其中該協定引擎 包含一共同系統介面引擎。 -28- 200540640 (4) 27.如申請專利範圍第25項之裝置,其中該協定引擎 連接該鏈路控制器。 2 8 .如申請專利範圍第2 4項之裝置,其中該鏈路控制 器在一可靠代理程式驗證該裝置之前,經由該可靠的硬體 鏈路與該處理器核心通訊。 29·如申請專利範圍第24項之裝置,其中該處理器核 心、該可靠的硬體鏈路及該鏈路控制器爲一處理器插座的 一部分。 3 0.如申請專利範圍第24項之裝置,進一步包含經由 點對點相互連接而相連的複數個處理器插座。 3 1 ·如申請專利範圍第24項之裝置,其中若接收一鏈 路信息,則該鏈路控制器便用以直接通知該處理器核心。 3 2· —種系統,包含: ~具有啓動邏輯處理器之第一處理器插座; 一與該第一處理器插座相連的動態隨機處理記憶體; 一與該第一處理器插座相連的第二處理器插座;及 一包含指令的儲存媒體,若執行該指令將使該系統使 用啓動邏輯處理器,在該第一處理器插座及該第二處理器 插座上啓動一可靠代理程式。 *3 ·如申請專利範圍第3 2項之系統,進一步包含一與 該第〜處理器插座直接相連的主要集線器代理程式。 ° 4 .如申請專利範圍第3 3項之系統,進一步包含一與 該主要集線器代理程式直接相連的主要可靠平台模組。 3 5 .如申請專利範圍第3 2項之系統,其中該第一處理 -29- 200540640 (5) 器插座包含一位於鏈路控制器與處理器核心/之間的胃靠^ 體鏈路。 3 6 .如申請專利範圍第3 2項之系統,其中該第一處理 器插座及該第一處理器插座經由一點對點相互連ί妾而連接 〇 3 7 .如申請專利範圍第3 2項之系統,其中該啓動邏輯 處理器係用以在該第一處理器插座及該第二處理器插座上 建構一層級樹。 3 8 ·如申請專利範圍第3 2項之系統,其中該動態隨機 處理記憶體直接連接該第一處理器插座,並可由該第一處 理器插座及該第二處理器插座存取。 3 9 · —種包含若執行將使一系統進行下列作業之指令 之機器可存取儲存媒體的物件: 在該系統的複數個處理器上安全地啓動一安全核心, 其中該系統包含複數個相連的拓樸。 4 0 ·如申請專利範圍第3 9項之物件,進一步包含若執 行將使該系統使用一可靠代理程式以安全地啓動該安全核 心的指令。 4 1 .如申請專利範圍第4 0項之物件,進一步包含若執 行將使該系統測量該安全核心的特性,並將該特性記錄於 一傳遞可靠之鏈中的指令。 4 2.如申請專利範圍第40項之物件,進一步包含若執 行將使該系統使用該可靠代理程式以驗證該系統一記憶體 組態的指令。 -30-
TW093125590A 2004-06-03 2004-08-26 A method, an apparatus and a system for initiating secure operations TWI276967B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/859,897 US7698552B2 (en) 2004-06-03 2004-06-03 Launching a secure kernel in a multiprocessor system

Publications (2)

Publication Number Publication Date
TW200540640A true TW200540640A (en) 2005-12-16
TWI276967B TWI276967B (en) 2007-03-21

Family

ID=33419035

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093125590A TWI276967B (en) 2004-06-03 2004-08-26 A method, an apparatus and a system for initiating secure operations

Country Status (6)

Country Link
US (12) US7698552B2 (zh)
JP (1) JP4065444B2 (zh)
CN (1) CN1704922B (zh)
DE (1) DE102005014462B4 (zh)
GB (2) GB2429555B (zh)
TW (1) TWI276967B (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US8881270B2 (en) * 2002-12-20 2014-11-04 Creative Mines Llc Method and apparatus for selectively enabling a microprocessor-based system
US7127567B2 (en) 2003-12-18 2006-10-24 Intel Corporation Performing memory RAS operations over a point-to-point interconnect
US7127566B2 (en) * 2003-12-18 2006-10-24 Intel Corporation Synchronizing memory copy operations with memory accesses
US7328368B2 (en) * 2004-03-12 2008-02-05 Intel Corporation Dynamic interconnect width reduction to improve interconnect availability
US7698552B2 (en) 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
US20060015732A1 (en) * 2004-07-15 2006-01-19 Sony Corporation Processing system using internal digital signatures
US7552326B2 (en) 2004-07-15 2009-06-23 Sony Corporation Use of kernel authorization data to maintain security in a digital processing system
US7568102B2 (en) 2004-07-15 2009-07-28 Sony Corporation System and method for authorizing the use of stored information in an operating system
US7716494B2 (en) * 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
US7254694B2 (en) * 2005-02-10 2007-08-07 International Business Machines Corporation Processors interconnect fabric with relay broadcasting and accumulation of partial responses
US8254411B2 (en) * 2005-02-10 2012-08-28 International Business Machines Corporation Data processing system, method and interconnect fabric having a flow governor
US7779252B2 (en) * 2006-03-21 2010-08-17 Harris Corporation Computer architecture for a handheld electronic device with a shared human-machine interface
US8041947B2 (en) * 2006-03-23 2011-10-18 Harris Corporation Computer architecture for an electronic device providing SLS access to MLS file system with trusted loading and protection of program execution memory
US8127145B2 (en) * 2006-03-23 2012-02-28 Harris Corporation Computer architecture for an electronic device providing a secure file system
US8060744B2 (en) * 2006-03-23 2011-11-15 Harris Corporation Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
US8973094B2 (en) 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system
US7979714B2 (en) * 2006-06-02 2011-07-12 Harris Corporation Authentication and access control device
US7650469B2 (en) * 2006-09-06 2010-01-19 International Business Machines Corporation Determining whether a non-running processor has access to an address space
US8205024B2 (en) * 2006-11-16 2012-06-19 International Business Machines Corporation Protecting ownership transfer with non-uniform protection windows
US8146150B2 (en) * 2007-12-31 2012-03-27 Intel Corporation Security management in multi-node, multi-processor platforms
US8392985B2 (en) * 2008-12-31 2013-03-05 Intel Corporation Security management in system with secure memory secrets
US9202015B2 (en) * 2009-12-31 2015-12-01 Intel Corporation Entering a secured computing environment using multiple authenticated code modules
CN102812431A (zh) 2010-03-22 2012-12-05 Lrdc系统有限公司 用于识别与保护一组源数据的完整性的方法
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
WO2013103339A1 (en) * 2012-01-04 2013-07-11 Intel Corporation Bimodal functionality between coherent link and memory expansion
US9075751B2 (en) 2012-08-09 2015-07-07 Intel Corporation Secure data protection with improved read-only memory locking during system pre-boot
US9292569B2 (en) * 2012-10-02 2016-03-22 Oracle International Corporation Semi-join acceleration
US9262177B2 (en) 2012-12-19 2016-02-16 International Business Machines Corporation Selection of a primary microprocessor for initialization of a multiprocessor system
US8613090B1 (en) * 2013-02-21 2013-12-17 Atheer, Inc. Method for processing a secure system manager
US8990921B2 (en) 2013-02-21 2015-03-24 Atheer, Inc. Apparatus for processing with a secure system manager
US9250922B2 (en) 2013-02-28 2016-02-02 Qualcomm Incorporated Method and apparatus for prefetching peripheral device drivers for smart phones and other connected devices prior to HLOS boot
US10289853B2 (en) * 2016-03-31 2019-05-14 Microsoft Technology Licensing, Llc Secure driver platform
RU2641226C1 (ru) * 2017-02-13 2018-01-16 Самсунг Электроникс Ко., Лтд. Способ функционирования secureos на многопроцессорных системах в мобильных устройствах
US10740496B2 (en) 2017-02-13 2020-08-11 Samsung Electronics Co., Ltd. Method and apparatus for operating multi-processor system in electronic device
US10606764B1 (en) 2017-10-02 2020-03-31 Northrop Grumman Systems Corporation Fault-tolerant embedded root of trust using lockstep processor cores on an FPGA
WO2020056015A1 (en) * 2018-09-11 2020-03-19 Amari.Ai Incorporated Deployment and communications gateway for deployment, trusted execution, and secure communications
CN112307481B (zh) * 2019-07-26 2023-10-10 杭州海康威视数字技术股份有限公司 一种系统可信启动方法、电子设备及计算机可读存储介质
US11425123B2 (en) 2020-04-16 2022-08-23 Bank Of America Corporation System for network isolation of affected computing systems using environment hash outputs
US11528276B2 (en) 2020-04-16 2022-12-13 Bank Of America Corporation System for prevention of unauthorized access using authorized environment hash outputs
US11481484B2 (en) * 2020-04-16 2022-10-25 Bank Of America Corporation Virtual environment system for secure execution of program code using cryptographic hashes
US11423160B2 (en) 2020-04-16 2022-08-23 Bank Of America Corporation System for analysis and authorization for use of executable environment data in a computing system using hash outputs
US11693940B2 (en) * 2021-06-23 2023-07-04 Intel Corporation Partitioned platform security mechanism

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4328542A (en) 1979-11-07 1982-05-04 The Boeing Company Secure implementation of transition machine computer
US5418970A (en) * 1986-12-17 1995-05-23 Massachusetts Institute Of Technology Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
EP0381645A3 (en) 1989-01-18 1992-08-05 International Business Machines Corporation System and method for communicating between a plurality of processors
US5446856A (en) * 1991-04-29 1995-08-29 Intel Corporation Circuitry and method for addressing global array elements in a distributed memory, multiple processor computer
US5822431A (en) 1996-01-19 1998-10-13 General Instrument Corporation Of Delaware Virtual authentication network for secure processors
US5913921A (en) * 1996-07-12 1999-06-22 Glenayre Electronics, Inc. System for communicating information about nodes configuration by generating advertisements having era values for identifying time reference for which the configuration is operative
US5841870A (en) * 1996-11-12 1998-11-24 Cheyenne Property Trust Dynamic classes of service for an international cryptography framework
US5930500A (en) * 1997-02-11 1999-07-27 Lsi Logic Corporation Parallel processor implementation of net routing
US6289447B1 (en) * 1997-03-24 2001-09-11 Intel Corporation Topology dependent compensation to improve performance of self-compensated components including processors based on physical relationship with other system components
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
GB9818377D0 (en) * 1998-08-21 1998-10-21 Sgs Thomson Microelectronics An integrated circuit with multiple processing cores
CN1173280C (zh) 2000-10-26 2004-10-27 上海奇码数字信息有限公司 具有网络拓扑结构的自适应信息处理系统
US7483398B1 (en) 2001-05-18 2009-01-27 Cisco Technology, Inc. Method and system for detecting ring link provisioning mismatch
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US6957318B2 (en) * 2001-08-17 2005-10-18 Sun Microsystems, Inc. Method and apparatus for controlling a massively parallel processing environment
US6857030B2 (en) 2001-09-12 2005-02-15 Sun Microsystems, Inc. Methods, system and article of manufacture for pre-fetching descriptors
GB2381427A (en) * 2001-10-27 2003-04-30 Hewlett Packard Co Spanning tree in peer to peer networks
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7398389B2 (en) * 2001-12-20 2008-07-08 Coretrace Corporation Kernel-based network security infrastructure
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US6986006B2 (en) * 2002-04-17 2006-01-10 Microsoft Corporation Page granular curtained memory via mapping control
US20030233540A1 (en) 2002-06-13 2003-12-18 International Business Machines Corporation System and method for secured delivery of content stream across multiple channels
US20040003321A1 (en) 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US7121460B1 (en) * 2002-07-16 2006-10-17 Diebold Self-Service Systems Division Of Diebold, Incorporated Automated banking machine component authentication system and method
CN1331318C (zh) 2002-08-19 2007-08-08 上海贝尔有限公司 一种用于通信系统的基于自陷保护与调试装置
US7454749B2 (en) * 2002-11-12 2008-11-18 Engineered Intelligence Corporation Scalable parallel processing on shared memory computers
JP4062441B2 (ja) 2003-07-18 2008-03-19 日本電気株式会社 並列処理システム及び並列処理プログラム
US20050028001A1 (en) 2003-07-29 2005-02-03 Jian Huang Secured software patching and upgrade method for densely deployed networks having spanning-tree topology
US7698552B2 (en) * 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system

Also Published As

Publication number Publication date
US7725713B2 (en) 2010-05-25
US20150059007A1 (en) 2015-02-26
US8874906B2 (en) 2014-10-28
JP2005346689A (ja) 2005-12-15
GB2414823A (en) 2005-12-07
US9213865B2 (en) 2015-12-15
US7698552B2 (en) 2010-04-13
US20080155256A1 (en) 2008-06-26
US20100262823A1 (en) 2010-10-14
US20100281255A1 (en) 2010-11-04
GB0421213D0 (en) 2004-10-27
US20160063261A1 (en) 2016-03-03
CN1704922A (zh) 2005-12-07
DE102005014462A1 (de) 2005-12-29
US20170098085A1 (en) 2017-04-06
US20080109638A1 (en) 2008-05-08
US7770005B2 (en) 2010-08-03
CN1704922B (zh) 2010-05-05
US7757081B2 (en) 2010-07-13
US20080109636A1 (en) 2008-05-08
US20080109655A1 (en) 2008-05-08
GB0620519D0 (en) 2006-11-22
US20120239906A1 (en) 2012-09-20
JP4065444B2 (ja) 2008-03-26
US8464048B2 (en) 2013-06-11
US8161280B2 (en) 2012-04-17
US20050273602A1 (en) 2005-12-08
GB2429555A (en) 2007-02-28
US7774600B2 (en) 2010-08-10
US9779249B2 (en) 2017-10-03
DE102005014462B4 (de) 2013-01-17
US9507952B2 (en) 2016-11-29
TWI276967B (en) 2007-03-21
US8250364B2 (en) 2012-08-21
GB2414823B (en) 2007-04-11
US20130254905A1 (en) 2013-09-26
GB2429555B (en) 2008-08-27

Similar Documents

Publication Publication Date Title
TW200540640A (en) Launching a secure kernel in a multiprocessor system
JP6301582B2 (ja) 信頼されるネットワーク・ブートのシステムおよび方法
TWI582632B (zh) 使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器
US11165766B2 (en) Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove
US11604881B2 (en) Verification of a provisioned state of a platform
WO2021139314A1 (zh) 操作系统初始化方法、系统、计算机设备及存储介质
CN115329321A (zh) 一种固件的启动方法、芯片及计算设备
WO2023051262A1 (zh) 一种安全启动的方法、装置和系统
CN118468263A (zh) 镜像验证方法、装置、片上系统、存储介质和程序产品
CN116208353A (zh) 一种校验固件的方法、装置、网卡、芯片系统及服务器
CN115906046A (zh) 可信计算系统及基于可信计算系统的度量方法
Papakotoulas et al. Sustaining the Trust of an IoT Infrastructure
CN120378385A (zh) 一种交换机启动方法、装置、设备及存储介质
CN118798100A (zh) 图形处理器芯片、电子设备及安全管理方法

Legal Events

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