TWI582632B - 使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器 - Google Patents

使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器 Download PDF

Info

Publication number
TWI582632B
TWI582632B TW099143486A TW99143486A TWI582632B TW I582632 B TWI582632 B TW I582632B TW 099143486 A TW099143486 A TW 099143486A TW 99143486 A TW99143486 A TW 99143486A TW I582632 B TWI582632 B TW I582632B
Authority
TW
Taiwan
Prior art keywords
processor
module
authenticator module
secure
authenticator
Prior art date
Application number
TW099143486A
Other languages
English (en)
Other versions
TW201140367A (en
Inventor
夏 戴塔
艾妮 伯雷克
蒙漢 庫瑪
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 TW201140367A publication Critical patent/TW201140367A/zh
Application granted granted Critical
Publication of TWI582632B publication Critical patent/TWI582632B/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
    • 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
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

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

Description

使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器
本發明之揭露有關於資訊處理的領域;詳言之,關於資訊處理系統安全。
資訊處理系統,諸如包括來自英特爾公司之英特爾(Intel)奔騰(Pentium)處理器系列中的處理器之那些,可支援安全系統環境中之操作。安全系統環境可包括可信賴分區及不可信賴分區。系統的裸平台硬體及可信賴軟體可包括在可信賴分區中。可防止從不可信賴分區對可信賴分區之資源的直接存取以保護系統可能含有的任何秘密而不被發現或變更。這些秘密可包括在資訊處理系統上產生或儲存的密碼、鑰匙、及私密或機密資訊。
系統的裸平台硬體可經由安全系統進入協定的履行而包括在可信賴分區或域中。例如,啟動的處理器可履行安全進入(「SENTER」)指令,系統中的所有代理器必須對此做出回應以使協定能成功。於安全進入程序期間可防止回應的代理器履行任何程式指令或處理任何外部異動,使啟動的處理器可將已簽名的碼模組驗證為鑑別及可信賴,履行已簽名的碼模組以組態系統來支援可信賴的操作,衡量(密碼式,使用雜湊延伸函數)並接著啟動經衡量的虛擬機器監視器(「MVMM」)的履行。MVMM可創造一或更多虛擬機器環境,以在其中運作不可信賴的軟體,使得不可信賴的軟體沒有對系統資源的直接存取。
【發明內容及實施方式】
說明在使用多個鑑別碼模組(各為「ACM」)來進入安全計算環境之系統、設備、及方法中的本發明之實施例。在說明中,可能提出諸如處理器及系統組態的特定細節以提供本發明之較詳盡的了解。然而,應理解到熟習本技藝人士可在無這類特定細節下實行本發明。另外,並未詳細顯示一些眾所週知的結構、電路、及之類,以避免不必要地混淆本發明。此外,此說明可以根據一實施例所使用的名稱來參照指令(亦即,「SENTER」);在其他實施例中,這些指令或類似指令可具有不同名稱。
本發明之實施例能使用多個ACM來進入安全計算環境。希望使用多個ACM,因為資訊處理系統可能包括多個處理器或處理器封裝,且當這些處理器或處理器封裝不相同時,單一ACM可能不足以初始化所有這些處理器或處理器封裝來進入安全環境中。
第1圖繪示本發明之一實施例的資訊處理系統100。資訊處理系統100可為個人電腦、主機電腦、可攜式電腦、手持裝置、機上盒、伺服器、或任何其他計算系統。在此實施例中,系統100包括裸平台硬體110,其則包括處理器120、130、及140、系統記憶體150、晶片組160、符記170、裝置180、及非依電性貯存190。
處理器120、130、及140的每一者可代表具有一或更多履行核心之構件,其中每一履行核心可依據任何各種不同類型的處理器,包括一般目的微處理器,諸如Intel Pentium處理器系列、Itanium處理器系列、或來自Intel公司的其他處理器系列,或來自其他公司的另一處理器,或特殊目的處理器或微控制器,或可重新組態核心(如現場可編程閘陣列)。雖然第1圖顯示三個這類的處理器,系統100可包括任何數量的處理器,各以任何組合包括任何數量的履行核心及履行線程。在一些實施例中,任何或全部的處理器120、130、及140可代表個別的硬體履行線程或在一或更多實體處理器上運行之「邏輯處理器」。
系統記憶體150可為其上可儲存諸如資料及/或程式碼的資訊之任何媒體,諸如動態隨機存取記憶體,或可由處理器120、130、及140讀取的任何其他類型的媒體或任何這類媒體的組合。
晶片組160可代表任何電路及邏輯群組,其支援記憶體操作、輸入/輸出(「I/O」)操作、組態、控制、內部或外部界面、連結、或通訊功能(如「膠合」邏輯及匯流排橋接器)、及/或處理器120、130、及140及/或系統100之任何類似的功能。晶片組160的個別元件可群集在單一晶片上、一對晶片上、分散在多個晶片之中、及/或部分、完全、冗餘式整合、或根據分散方式整合到一或更多處理器中,包括處理器120、130、及/或140的任何者。
符記170可包括可信賴平台模組(「TPM」)172及平台組態暫存器(「PCR」)174。TPM 172為一構件,包括微控制器,以安全地儲存鑰匙、密碼、數位憑證、及用來建立並維持安全的其他資訊。PCR 174可包括任何數量的暫存器及/或其他儲存位置以儲存系統組態資訊。TPM 172及/或PCR 174組態成僅可被某些代理器及/或在某些條件下存取。符記170及/或TPM 172和PCR 174之一或兩者可包括在晶片組160或系統100的其他構件中。
裝置180可代表任何數量的任何類型之I/O、周邊裝置、或其他裝置,諸如鍵盤、滑鼠、追蹤球、指引裝置、監視器、印表機、媒體卡、網路界面、資訊儲存裝置等等。裝置180可體現在分離的構件中,或可與任何其他裝置整合包括在整合構件中。在一實施例中,裝置180可代表多功能I/O、周邊裝置、或其他裝置中的單一功能。
處理器120、130、及140、系統記憶體150、晶片組160、符記170、及裝置180可根據任何已知的方式,諸如經由一或更多平行、序列、管線排列、非同步、同步、有線、無線、或其他匯流排或點對點連結,直接或間接地彼此耦合或通訊。系統100亦可包括任何數量的額外裝置、代理器、構件、或連結。
第2圖繪示根據本發明之一實施例的處理器200,其可代表第1圖中之處理器120、130、及140之任何者,或任何其他處理器。
處理器200可包括快取210,其可為靜態隨機存取記憶體,或任何其他形式的資訊(諸如從系統記憶體150複製而來的資料)之貯存。處理器200(或快取210)亦可包括快取控制邏輯220以控制快取210在正常模式或快取為隨機存取記憶體(「CRAM」)模式中操作。在正常模式中,快取210回應於快取命中而滿足記憶體請求,回應於快取未命中而取代快取線,以及可回應於窺探請求而使快取線無效或取代快取線。在CRAM模式中,快取210操作成隨機存取記憶體,其中由快取記憶體滿足在快取記憶體之記憶體範圍內的請求,並且回應於窺探請求而不取代快取線或使其無效。
處理器200亦可包括指令單元230、控制單元240、履行單元250、及發訊單元260。指令單元230可包括任何電路、邏輯、或其他硬體或結構,諸如解碼器,以接收、辨識、解碼、或否則接收指令。控制單元240可包括任何電路、邏輯、或其他硬體或結構,諸如微碼、狀態機邏輯、可編程邏輯、或任何其他形式的控制邏輯,以回應於由指令單元230所接收的指令及/或由發訊單元260所接收的訊息而為處理器200產生控制信號或控制處理器200。
履行單元250可包括任何電路、邏輯、或其他硬體或結構,以履行由指令單元230接收的指令。履行單元250可依據由控制單元240所產生之控制信號來操作。發訊單元260可包括任何電路、邏輯、或其他硬體或結構,以產生將由處理器200發送給系統100中之其他構件或代理器的訊息,並接收由系統100中之其他構件或代理器發送給處理器200的訊息。
在處理器200的一實施例中,指令單元230可為處理器200接收指令(「SENTER」指令)以開始建立系統100中之安全環境的程序(「SENTER」程序)。回應於SENTER指令,控制單元240產生控制信號以令發訊單元260產生「SENTER」匯流排訊息(或系統之其他類型的訊息,該系統中處理器及其他代理器藉由非匯流排的機構通訊),其會被其他處理器或代理器的發訊單元辨識成SENTER匯流排訊息。履行SENTER指令並發送SENTER匯流排訊息的處理器或履行線程稱為「啟動邏輯處理器」(「ILP」)。
在系統中接收SENTER匯流排訊息之每一處理器、履行線程、或其他代理器稱為「回應邏輯處理器」(「RLP」)。回應於SENTER匯流排訊息,每一RLP執行動作以準備安全環境的建立並允許ILP進行安全環境的發動。這些動作之一可為使它們的發訊單元產生「ACK」匯流排訊息以確認SENTER匯流排訊息的接收。
第3圖繪示根據本發明之一實施例的晶片組300,其可代表晶片組160,或執行晶片組160之功能的任何其他的晶片組或構件。晶片組300可包括發訊單元310、控制單元320、「EXISTS」儲存位置330、「JOINS」儲存位置340、及「ALL_JOINED」儲存位置350。
發訊單元310可包括任何電路、邏輯、或其他硬體或結構,以產生將由晶片組300所發送給系統100中之其他構件或代理器的訊息,並接收由系統100中之其他構件或代理器發送的訊息。控制單元320可包括任何電路、邏輯、或其他硬體或結構,諸如微碼、狀態機邏輯、可編程邏輯、或任何其他形式的控制邏輯,以回應於由發訊單元310所接收的訊息而為晶片組300產生控制信號或控制晶片組300。
「EXISTS」儲存位置330、「JOINS」儲存位置340、及「ALL_JOINED」儲存位置350各可包括暫存器或任何其他形式的資訊之貯存,並可包括任何數量之位元的貯存。在一實施例中,控制單元320可使用EXISTS儲存位置330來掌握在系統100中操作的所有邏輯處理器或其他代理器,及JOINS儲存位置340來掌握已經確認SENTER匯流排訊息的所有邏輯處理器或其他代理器。當系統100中的所有邏輯處理器或其他代理器,如EXISTS儲存位置330所反映,已經確認SENTER匯流排訊息,如JOINS儲存位置340所反映,則控制單元320可在「ALL_JOINED」儲存位置350中設立一指標以向ILP指示可進行安全環境的發動。注意到在此SENTER程序的說明中,如在此說明的其餘部分中,省略說明並據以實施本發明之實施例所非必要的許多細節,且可有程序的諸多變動。例如,在ILP及RLP藉由前側處理器匯流排(「FSB」)連結的情況中,FSB異動可包括每一異動之啟動器的識別符,且晶片組300可連接至FSB以掌握所有的FSB邏輯處理器或其他的匯流排代理器。
參照回第1圖,非依電性貯存190可代表系統100中之任何數量的分離的非依電性儲存媒體,諸如半導體快閃記憶體或磁碟或光碟。非依電性貯存190可用來儲存本發明之實施例中所使用的軟體構件。例如,非依電性貯存190可儲存鑑別碼模組(「ACM」)192及已衡量虛擬機器監視器(「MVMM」)194。
可由一處理器或多個處理器在SENTER程序期間履行ACM 192,以執行涉及建立安全環境的任何數量之動作。例如,ACM 192可用來針對系統100內之構件在安全環境中之參與而加以初始化、組態、並測試。在一實施例中,ACM 192可用來測試系統100之記憶體組態,其由系統100中之任何處理器、晶片組、或其他構件中的記憶體控制器功能所控制,以確保可限制或控制對系統記憶體150之某些頁或部分的存取,以當用來保全系統100之MVMM 194及/或其他軟體在被儲存到系統記憶體150中時可受到保護。在另一實施例中,ACM 192可用來鑑別MVMM 194及將用於安全環境中之任何其他軟體,並發動MVMM 194的履行。
MVMM 194可為任何虛擬機器監視器、超管理器、或其他這類軟體程式,其係在SENTER期間被引動之可信賴實體,以控制一或更多虛擬機器履行其他軟體程式(經常稱為已衡量發動環境或「MLE」),其之某些為可信賴且其之某些為不可信賴。
為了在系統100中建立安全環境,在處理器120、130、及140的任何者或系統100中之任何其他處理器上運行的諸如操作系統(「OS」)或基本輸入/輸出系統(「BIOS」)之系統軟體可從非依電性貯存190轉移ACM 192及MVMM 194至系統記憶體150,接著令這些處理器之一(如處理器120)履行SENTER指令。SENTER指令之履行可令作為ILP之處理器120發出SENTER匯流排訊息,輪詢ALL_JOINED儲存位置350直到所有的RLP都已確認SENTER匯流排訊息,組態快取210以在CRAM模式中操作,並載入ACM 192(或ACM 192的一部分,根據本發明之一實施例,如下所述)到快取210中。可將快取210組態成在CRAM模式中操作,使快取210可充當私有安全記憶體,其中處理器120可鑑別ACM 192(或ACM 192的一部分,根據本發明之一實施例,如下所述)。
可針對特定處理器及/或晶片組寫入ACM,並由處理器及/或晶片組的製造商或供應商數位簽署ACM。由於將系統中之每一處理器帶到加入SENTER程序中的穩定狀態中所採取之諸多動作的複雜度之緣故,會希望,除了ILP之外,RLP履行ACM或ACM的一部分。此外,諸如系統100的系統可包括不同步進(steppings)、版本、或類型之兩或更多處理器。因此,會希望將不同處理器的碼結合到一個ACM中,使不同處理器之任何者皆可充當ILP及/或使RLP可履行ACM或ACM的一部分。然而,ACM的大小限於可將ACM載入其中以供鑑別之快取記憶體的大小(如64千位元組)。因此,本發明之實施例使超過一個的ACM可在SENTER程序中被使用或可供使用。
第4圖繪示根據本發明之一實施例的主ACM 400,其可用為系統100中之ACM 192。主ACM 400包括主標頭410、ACM 420、ACM 430、及ACM 440。可針對不同步進、版本、或類型之處理器寫入ACM 420、ACM 430、及ACM 440的各者。例如,可分別針對系統100中之處理器120、130、及140寫入ACM 420、ACM 430、及ACM 440。
ACM 420、ACM 430、及ACM 440的各者可包括含有碼及資料的區域(如,分別為區域422、432、及442),及含有標頭之區域(如,分別為區域424、434、及444)。每一碼及資料區域包括在SENTER程序期間由處理器履行的碼,連同在此碼履行期間將被使用的資料及/或此碼履行期間所產生之資料的高速暫存器(scratchpad)位置。每一標頭區域包括摘要及/或數位簽名(「雜湊」)及/或從ACM導出或否則代表ACM的其他值,其係由雜湊及/或其他密碼函數所產生。每一標頭區域亦可包括關於ACM之作者、大小、版本等等之資訊。這些標頭區域中之資訊可用來鑑別對應的ACM(亦即驗證其之真實性)。
主標頭410可包括匹配表412及主雜湊414。匹配表412可包括識別包括在系統100中之每一處理器的表,這是例如,依據可從與每一處理器內或關聯的暫存器或其他儲存位置讀取的獨特處理器識別符(「CPU ID」)。針對每一CPU ID,依據關於處理器之步進、版本、類型或其他資訊,匹配表指示包括在主ACM 400中之哪個ACM將被那個處理器履行。
主雜湊414包括從匹配表412及標頭424、434、及444(或每一標頭424、434、及444之一部分)的序連連接衍生或代表其之雜湊。可藉由在匹配表412與ACM 420、430、及440之雜湊的序連連接執行雜湊及/或其他密碼函數來產生主雜湊414。因此,主雜湊414可用來鑑別包括在主ACM 400中之所有的資訊。
第5圖繪示根據本發明之方法實施例,尤其用以使用多個鑑別碼模組來進入安全計算環境之方法500。雖本發明之方法實施例不限於此態樣,可參照系統100、處理器200、晶片組300、或主ACM 400中之元件來說明第5圖之方法500。此外,方法500可代表分別的方法之編集,各潛在地由不同實體或人或自動地在不同位置執行。
此外,可由處理器200回應於由控制單元240所產生之控制信號(如區塊550至558),或由晶片組300回應於由控制單元320所產生之控制信號而執行在方法500中所執行的某些動作。處理器200中之控制信號則可回應於指令單元230將指令解碼成一或更多微指令或微操作及/或發訊單元260接收匯流排訊息或其他異動而產生,且晶片組300中之控制信號則可回應於發訊單元310接收匯流排訊息或其他異動而產生。
在第5圖之區塊502中,方法500可開始。
在區塊510中,例如,可藉由或針對處理器或其他資訊處理系統構件的製造商或供應商寫入或否則創造任何數量的個別ACM,諸如ACM 420、430、及440。在區塊512中,可藉由施加雜湊或其他這類演算法至ACM之碼、資料、及/或其他區域來創造針對每一ACM的雜湊。在區塊514中,可藉由施加例如使用公/私鑰匙對的密碼演算法來加密每一雜湊。在區塊516中,可將每一雜湊加到對應的ACM之標頭。
在區塊520中,可針對諸如系統100之資訊處理系統創造諸如主ACM 400的主ACM。可例如藉由或針對系統製造商或供應商,使用任何數量的個別ACM,諸如ACM 420、430、及440,來創造主ACM。在區塊522中,可藉由針對系統100中之每一處理器或其他代理器創造一個項目,其包括每一處理器的識別符,並連同將由那個處理器履行哪個ACM的指示,來創造諸如匹配表412之匹配表。
在區塊524中,匹配表可與包括在主ACM中之個別的ACM之雜湊序連連接。在區塊526中,可藉由施加雜湊或其他這類演算法至匹配表與個別ACM雜湊的序連連接來創造諸如主雜湊414的主雜湊。在區塊528中,可藉由施加使用例如公/私鑰匙對的密碼演算法來加密主雜湊。
在區塊530中,可藉由將主雜湊與匹配表序連連接成主標頭,並將主標頭與個別的ACM序連連接來完成主ACM。在區塊532中,可將主ACM載入或否則安裝到系統中,例如,到諸如非依電性貯存190之非依電性貯存中。
在區塊540中,可例如藉由在系統100中運行的BIOS、開機載入器、或OS從非依電性貯存複製主ACM到諸如系統記憶體150的系統記憶體。在區塊542中,可例如藉由BIOS、開機載入器、或OS發出SENTER指令至處理器120來啟動系統100到安全系統環境之進入。在區塊544中,處理器120可發送SENTER匯流排訊息。在區塊546中,系統100中之每一RLP,例如,處理器130及140,可發送ACK匯流排訊息。在區塊548中,可在例如ALL_JOINED儲存位置350中設立所有RLP都加入SENTER程序中的指示。
在區塊550中,系統100中之處理器(如ILP及/或RLP)可讀取主ACM中之匹配表以找到對應的項目。若未找到匹配,則在區塊552中,處理器可寫入錯誤碼值至非依電性記憶體並令系統重設。然而,若找到匹配,則在區塊554中,處理器可組態其之快取以在CRAM模式中操作並載入主標頭及匹配的個別ACM到其之快取中。
在區塊556中,處理器可藉由雜湊各主標頭及匹配的ACM,並比較所得的雜湊與從該主ACM讀取到的主雜湊及個別的ACM,來嘗試鑑別主標頭及匹配的ACM。若兩個的其中之一的比較失敗,則在區塊552中,處理器可寫入錯誤碼值至非依電性記憶體並令系統重設。然而,若成功鑑別主標頭及匹配的個別ACM兩者,則在區塊558中,可發送主雜湊至諸如符記170之符記,以儲存在PCR以用來封印及解封印已衡量發動環境或安全系統環境中之秘密。
在區塊560中,可由系統100中之每一其他處理器重複區塊550至558。在區塊562中,系統100中之一或更多處理器可開始履行其之ACM。在區塊564中,履行ACM的處理器可發動MVMM。在區塊566中,可完成系統100到已衡量發動環境(「MLE」)或安全系統環境中之進入。
在區塊598中,方法500可結束。
在本發明之範疇內,可以不同順序、同時執行所示的區塊、省略所示的區塊、添加額外的區塊、或重新排序、結合、省略、或添加區塊的組合的方式來執行方法500。可有本發明之實施例的方法的許多變動,但可能從方法500的說明並不明顯。例如,在區塊520至530中之創造主ACM可發生在系統100之外部或系統100之內。
因此,已經揭露使用多個鑑別碼模組來進入安全計算環境之系統、設備、及方法。雖已說明並在附圖中顯示某些實施例,可了解到這類實施例僅為例示性且不限制廣泛的本發明,且本發明不限於所示及所述之特定構造及配置,因此技藝中具通常知識者可在詳讀此揭露後做出各種其他修改。在像此成長快速且無法輕易預料進一步的演進技術之技術領域中,可因致能技術演進的促成而可在配置及細節上輕易修改所揭露的實施例,而不背離本揭露之原理或所附之申請專利範圍的範疇。
100...資訊處理系統
110...裸平台硬體
120、130、140...處理器
150...系統記憶體
160...晶片組
170...符記
172...可信賴平台模組
174...平台組態暫存器
180...裝置
190...非依電性貯存
192...鑑別碼模組
194...已衡量虛擬機器監視器
200...處理器
210...快取
220...快取控制邏輯
230...指令單元
240...控制單元
250...履行單元
260...發訊單元
300...晶片組
310...發訊單元
320...控制單元
330...「EXISTS」儲存位置
340...「JOINS」儲存位置
350...「ALL_JOINED」儲存位置
400...主鑑別碼模組
410...主標頭
412...匹配表
414...主雜湊
420、430、440...鑑別碼模組
422、432、442...區域
424、434、444...區域
在附圖中舉例且非限制性地繪示本發明。
第1圖繪示根據本發明之一實施例的資訊處理系統。
第2圖繪示根據本發明之一實施例的處理器。
第3圖繪示根據本發明之一實施例的晶片組。
第4圖繪示根據本發明之一實施例的主鑑別碼模組。
第5圖繪示根據本發明之一實施例的用以使用多個鑑別碼模組來進入安全計算環境之方法。
100...資訊處理系統
110...裸平台硬體
120、130、140...處理器
150...系統記憶體
160...晶片組
170...符記
172...可信賴平台模組
174...平台組態暫存器
180...裝置
190...非依電性貯存
192...鑑別碼模組
194...已衡量虛擬機器監視器

Claims (16)

  1. 一種處理器,包含:解碼器,用以解碼安全進入指令;控制邏輯電路,用以在主鑑別碼模組中的匹配表中找出對應於處理器本身的項目,該匹配表包含複數項目,該些複數項目之各項目係指示該主鑑別碼中之複數個別鑑別碼模組之一與執行該鑑別碼模組之複數處理器之一間的對應關係;並且,回應於解碼該安全進入指令及找出一項目並使用該項目以識別對應於該處理器本身之該個別鑑別碼模組,從該主鑑別碼模組讀取在所找到的項目中所指示之主標頭及該個別鑑別碼模組,其中該主鑑別碼模組包含:具有匹配表與主雜湊之該主標頭;以及一個以上之用於一個以上之處理器的鑑別碼模組,其中該等鑑別碼模組每個包含對應之雜湊及碼與資料,及其中該主雜湊係根據該匹配表與複數個鑑別碼模組之對應雜湊而生成。
  2. 如申請專利範圍第1項所述之處理器,進一步包含組態於安全模式中之快取,其中該控制邏輯電路將該主標頭及該個別鑑別碼模組讀到組態於該安全模式中之該快取之中。
  3. 如申請專利範圍第2項所述之處理器,其中該控制邏輯電路亦令該主標頭及該個別鑑別碼模組在該快取中被鑑別。
  4. 如申請專利範圍第3項所述之處理器,其中該控制 邏輯電路亦在鑑別該主標頭及該個別鑑別碼模組之後發送該主雜湊至符記。
  5. 一種使用多重鑑別碼模組以進入安全計算環境之方法,包含:藉第一處理器在主鑑別碼模組中的匹配表中找出對應於第一處理器的第一項目,該匹配表包含指示該主鑑別碼模組中之鑑別碼模組與執行該鑑別碼模組之處理器之間的對應關係之項目;藉該第一處理器從該主鑑別碼模組載入主標頭到第一安全記憶體中;以及藉該第一處理器從該主鑑別碼模組載入在所找到的項目中所指示之用於該第一處理器之第一個別鑑別碼模組到該第一安全記憶體中,其中該主鑑別碼模組包含:具有匹配表與主雜湊之主標頭;以及一個以上之用於一個以上之處理器的鑑別碼模組,其中該等鑑別碼模組每個包含對應之雜湊及碼與資料,而該主雜湊係根據該匹配表與複數個鑑別碼模組之對應雜湊而生成。
  6. 如申請專利範圍第5項所述之方法,進一步包含藉該第一處理器接收安全進入指令,其中回應於發出該安全進入指令而執行找出該第一項目、載入該主標頭、及載入該第一個別鑑別碼模組。
  7. 如申請專利範圍第5項所述之方法,其中該第一安全記憶體為該第一處理器的快取記憶體。
  8. 如申請專利範圍第5項所述之方法,進一步包含藉該第一處理器鑑別該第一安全記憶體內之該主標頭及該第一個別鑑別碼模組。
  9. 如申請專利範圍第8項所述之方法,進一步包含藉該第一處理器在鑑別該主標頭及該第一個別鑑別碼模組之後發送主雜湊至符記。
  10. 如申請專利範圍第5項所述之方法,進一步包含:藉第二處理器在該主鑑別碼模組中的該匹配表中找出對應於第二處理器的第二項目;藉該第二處理器從該主鑑別碼模組載入該主標頭到第二安全記憶體中;以及藉該第二處理器從該主鑑別碼模組載入該第二處理器之第二個別鑑別碼模組到該第二安全記憶體中。
  11. 如申請專利範圍第10項所述之方法,其中該第二安全記憶體為該第二處理器的快取記憶體。
  12. 如申請專利範圍第10或11項所述之方法,進一步包含藉該第二處理器鑑別該第二安全記憶體內之該主標頭及該第二個別鑑別碼模組。
  13. 一種使用多重鑑別碼模組以進入安全計算環境之系統,包含:第一處理器,包括:解碼器,以解碼安全進入指令;發訊邏輯,以發送安全進入訊息;以及第一控制邏輯,以在主鑑別碼模組中的匹配表中找出 對應於第一處理器的第一項目,該匹配表包含指示該主鑑別碼中之鑑別碼模組與執行該鑑別碼模組之處理器之間的對應關係之項目,並且該控制邏輯,並且該第一控制邏輯回應於解碼該安全進入指令而從該主鑑別碼模組讀取在所找到的第一項目中所指示之主標頭及第一個別鑑別碼模組;以及第二處理器,包括:發訊邏輯,以接收該安全進入訊息;以及第二控制邏輯,以在該主鑑別碼模組中的該匹配表中找出對應於第二處理器的第二項目,並且該第二控制邏輯回應於接收該安全進入訊息而從該主鑑別碼模組讀取在所找到的第二項目中所指示之該主標頭及第二個別鑑別碼模組,其中該主鑑別碼模組包含:具有匹配表與主雜湊之主標頭;以及一個以上之用於一個以上之處理器的鑑別碼模組,其中該等鑑別碼模組每個包含對應之雜湊及碼與資料,而該主雜湊係根據該匹配表與複數個鑑別碼模組之對應雜湊而生成。
  14. 如申請專利範圍第13項所述之系統,進一步包含非依電性貯存以儲存該主鑑別碼模組。
  15. 如申請專利範圍第14項所述之系統,進一步包含系統記憶體,以從該非依電性貯存載入該主鑑別碼模組到其之中。
  16. 如申請專利範圍第15項所述之系統,進一步包含 符記,以在鑑別該第一處理器之安全記憶體內的該主標頭及該第一鑑別碼模組之後載入該主鑑別碼模組之主雜湊到其之中。
TW099143486A 2009-12-31 2010-12-13 使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器 TWI582632B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/650,579 US9202015B2 (en) 2009-12-31 2009-12-31 Entering a secured computing environment using multiple authenticated code modules

Publications (2)

Publication Number Publication Date
TW201140367A TW201140367A (en) 2011-11-16
TWI582632B true TWI582632B (zh) 2017-05-11

Family

ID=44188915

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099143486A TWI582632B (zh) 2009-12-31 2010-12-13 使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器

Country Status (6)

Country Link
US (2) US9202015B2 (zh)
JP (2) JP5373753B2 (zh)
CN (1) CN102122327B (zh)
BR (1) BRPI1005586A2 (zh)
DE (1) DE102010054614A1 (zh)
TW (1) TWI582632B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202015B2 (en) * 2009-12-31 2015-12-01 Intel Corporation Entering a secured computing environment using multiple authenticated code modules
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
WO2013089739A1 (en) * 2011-12-15 2013-06-20 Intel Corporation Secure debug trace messages for production authenticated code modules
US9930066B2 (en) 2013-02-12 2018-03-27 Nicira, Inc. Infrastructure level LAN security
US20150082006A1 (en) * 2013-09-06 2015-03-19 Futurewei Technologies, Inc. System and Method for an Asynchronous Processor with Asynchronous Instruction Fetch, Decode, and Issue
CN105335672B (zh) * 2014-06-16 2020-12-04 华为技术有限公司 一种安全模式提示方法及装置
US9734313B2 (en) 2014-06-16 2017-08-15 Huawei Technologies Co., Ltd. Security mode prompt method and apparatus
US11087006B2 (en) * 2014-06-30 2021-08-10 Nicira, Inc. Method and apparatus for encrypting messages based on encryption group association
US10181027B2 (en) * 2014-10-17 2019-01-15 Intel Corporation Interface between a device and a secure processing environment
US10079880B2 (en) * 2015-06-07 2018-09-18 Apple Inc. Automatic identification of invalid participants in a secure synchronization system
US10798073B2 (en) 2016-08-26 2020-10-06 Nicira, Inc. Secure key management protocol for distributed network encryption
DE102018120347A1 (de) * 2018-08-21 2020-02-27 Pilz Gmbh & Co. Kg Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030055840A1 (en) * 1999-01-27 2003-03-20 Yoshiki Kawaoka Image file apparatus and method
TW583568B (en) * 2001-08-27 2004-04-11 Dataplay Inc A secure access method and system
TWI237974B (en) * 2001-06-13 2005-08-11 Corrent Corp Security association data cache and structure
US20060224878A1 (en) * 2005-03-31 2006-10-05 Intel Corporation System and method for trusted early boot flow
TW200910900A (en) * 2007-07-13 2009-03-01 Viaccess Sa MAC code verification without disclosure

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126451A (ja) * 1985-11-27 1987-06-08 Mitsubishi Electric Corp 分散処理装置のイニシヤルプログラムロ−ド方式
JPS62128354A (ja) 1985-11-29 1987-06-10 Fuji Electric Co Ltd マルチプロセツサシステムの起動方式
US6948070B1 (en) * 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7627753B2 (en) 2002-03-19 2009-12-01 Microsoft Corporation Secure digital data format and code enforced policy
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7620811B2 (en) 2002-04-23 2009-11-17 Panasonic Corporation Server device and program management system
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7103779B2 (en) * 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US7698552B2 (en) * 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
JP4522372B2 (ja) 2005-02-07 2010-08-11 株式会社ソニー・コンピュータエンタテインメント プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
US7831778B2 (en) 2006-03-30 2010-11-09 Silicon Image, Inc. Shared nonvolatile memory architecture
US8458726B2 (en) * 2007-12-03 2013-06-04 Intel Corporation Bios routine avoidance
US20090204823A1 (en) * 2008-02-07 2009-08-13 Analog Devices, Inc. Method and apparatus for controlling system access during protected modes of operation
US9202015B2 (en) * 2009-12-31 2015-12-01 Intel Corporation Entering a secured computing environment using multiple authenticated code modules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030055840A1 (en) * 1999-01-27 2003-03-20 Yoshiki Kawaoka Image file apparatus and method
TWI237974B (en) * 2001-06-13 2005-08-11 Corrent Corp Security association data cache and structure
TW583568B (en) * 2001-08-27 2004-04-11 Dataplay Inc A secure access method and system
US20060224878A1 (en) * 2005-03-31 2006-10-05 Intel Corporation System and method for trusted early boot flow
TW200910900A (en) * 2007-07-13 2009-03-01 Viaccess Sa MAC code verification without disclosure

Also Published As

Publication number Publication date
US9202015B2 (en) 2015-12-01
US20110161676A1 (en) 2011-06-30
CN102122327A (zh) 2011-07-13
CN102122327B (zh) 2016-05-25
DE102010054614A1 (de) 2011-07-07
JP2013251016A (ja) 2013-12-12
US9208292B2 (en) 2015-12-08
JP2011141870A (ja) 2011-07-21
JP5373753B2 (ja) 2013-12-18
JP5752767B2 (ja) 2015-07-22
US20130212673A1 (en) 2013-08-15
TW201140367A (en) 2011-11-16
BRPI1005586A2 (pt) 2012-02-28

Similar Documents

Publication Publication Date Title
TWI582632B (zh) 使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器
EP3582129B1 (en) Technologies for secure hardware and software attestation for trusted i/o
JP6026462B2 (ja) ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
TWI528281B (zh) 平臺韌體防護方法、設備、系統以及相關的機器可讀媒體
US11843705B2 (en) Dynamic certificate management as part of a distributed authentication system
US8583908B2 (en) Enhanced network and local boot of Unified Extensible Firmware Interface images
US7974416B2 (en) Providing a secure execution mode in a pre-boot environment
US7028149B2 (en) System and method for resetting a platform configuration register
US8799673B2 (en) Seamlessly encrypting memory regions to protect against hardware-based attacks
TW201145069A (en) Providing integrity verification and attestation in a hidden execution environment
US10564981B2 (en) Providing a trustworthy indication of the current state of a multi-processor data processing apparatus
US20210243030A1 (en) Systems And Methods To Cryptographically Verify An Identity Of An Information Handling System
US9202056B2 (en) Inter-processor attestation hardware
CN113342735B (zh) 一种处理器芯片及电子设备
Muramoto et al. Improving Hardware Security on Talos II Architecture Through Boot Image Encryption
US20220342996A1 (en) Information processing apparatus, method of controlling the same, and storage medium
GB2412465A (en) Resetting a register on receipt of a locality confirming message

Legal Events

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