TW201140367A - Entering a secured computing environment using multiple authenticated code modules - Google Patents
Entering a secured computing environment using multiple authenticated code modules Download PDFInfo
- Publication number
- TW201140367A TW201140367A TW099143486A TW99143486A TW201140367A TW 201140367 A TW201140367 A TW 201140367A TW 099143486 A TW099143486 A TW 099143486A TW 99143486 A TW99143486 A TW 99143486A TW 201140367 A TW201140367 A TW 201140367A
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- module
- primary
- individual
- authenticator module
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2153—Using hardware token as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Description
201140367 六、發明說明: 【發明所屬之技術領域】 本發明之揭露有關於資訊處理的 資訊處理系統安全。 【先前技術】 資訊處理系統,諸如包括來自英 Intel®)奔騰(Pentium®)處理器系 ,可支援安全系統環境中之操作。安 信賴分區及不可信賴分區。系統的裸 體可包括在可信賴分區中。可防止從 賴分區之資源的直接存取以保護系統 而不被發現或變更。這些秘密可包括 生或儲存的密碼、鑰匙、及私密或機 系統的裸平台硬體可經由安全系 包括在可信賴分區或域中。例如,啓 全進入(「SENTER」)指令,系統 對此做出回應以使協定能成功。於安 止回應的代理器履行任何程式指令或 使啓動的處理器可將已簽名的碼模組 ’履行已簽名的碼模組以組態系統來 衡量(密碼式,使用雜湊延伸函數) 虛擬機器監視器(「MVMM」)的履 或更多虛擬機器環境,以在其中運作 領域:詳言之,關於 特爾公司之英特爾( 列中的處理器之那些 全系統環境可包括可 平台硬體及可信賴軟 不可信賴分區對可信 可能含有的任何秘密 在資訊處理系統上產 密資訊。 統進入協定的履行而 動的處理器可履行安 中的所有代理器必須 全進入程序期間可防 處理任何外部異動, 驗證爲鑑別及可信賴 支援可信賴的操作, 並接著啓動經衡量的 行。Μ V Μ Μ可創造一 不可信賴的軟體,使 201140367 得不可信賴的軟體沒有對系統資源的直接存取。 【發明內容及實施方式】 說明在使用多個鑑別碼模組(各爲「ACM」)來進入 安全計算環境之系統、設備、及方法中的本發明之實施例 。在說明中,可能提出諸如處理器及系統組態的特定細節 以提供本發明之較詳盡的了解。然而,應理解到熟習本技 藝人士可在無這類特定細節下實行本發明。另外,並未詳 細顯示一些眾所週知的結構、電路、及之類,以避免不必 要地混淆本發明。此外,此說明可以根據一實施例所使用 的名稱來參照指令(亦即,「SENTER」):在其他實施 例中,這些指令或類似指令可具有不同名稱。 本發明之實施例能使用多個ACM來進入安全計算環境 。希望使用多個ACM,因爲資訊處理系統可能包括多個處 理器或處理器封裝,且當這些處理器或處理器封裝不相同 時’單一 ACM可能不足以初始化所有這些處理器或處理器 封裝來進入安全環境中。 第1圖繪示本發明之一實施例的資訊處理系統1〇〇。資 訊處理系統1 0 0可爲個人電腦、主機電腦、可攜式電腦、 手持裝置、機上盒、伺服器、或任何其他計算系統。在此 實施例中,系統100包括裸平台硬體110,其則包括處理器 120、130、及140、系統記憶體150、晶片組160、符記170 、裝置1 8 0、及非依電性貯存1 9 0。 處理器120、130、及140的每一者可代表具有一或更 201140367 多履行核心之構件,其中每一履行核心可依據任何各種不 同類型的處理器,包括一般目的微處理器,諸如Intel® Pentium®處理器系列、Itanium®處理器系列、或來自 In tel®公司的其他處理器系列,或來自其他公司的另一處 理器,或特殊目的處理器或微控制器,或可重新組態核心 (如現場可編程閘陣列)。雖然第1圖顯示三個這類的處 理器,系統1 00可包括任何數量的處理器,各以任何組合 包括任何數量的履行核心及履行線程。在一些實施例中, 任何或全部的處理器120、130、及140可代表個別的硬體 履行線程或在一或更多實體處理器上運行之「邏輯處理器 J ° 系統記憶體1 5 0可爲其上可儲存諸如資料及/或程式碼 的資訊之任何媒體,諸如動態隨機存取記憶體,或可由處 理器120、130、及140讀取的任何其他類型的媒體或任何 這類媒體的組合。 晶片組1 6 0可代表任何電路及邏輯群組,其支援記憶 體操作、輸入/輸出(「I/O」)操作、組態、控制 '內部 或外部界面、連結、或通訊功能(如「膠合」邏輯及匯流 排橋接器)、及/或處理器120、130、及140及/或系統100 之任何類似的功能。晶片組1 6 0的個別元件可群集在單一 晶片上、一對晶片上、分散在多個晶片之中、及/或部分 、完全、冗餘式整合、或根據分散方式整合到一或更多處 理器中,包括處理器120、130、及/或140的任何者。 符記170可包括可信賴平台模組(「TPM」)172及平 201140367 台組態暫存器(「PCR」)174。TPM 172爲一構件,包括 微控制器’以安全地儲存鑰匙、密碼、數位憑證、及用來 建立並維持安全的其他資訊。PCR 174可包括任何數量的 暫存器及/或其他儲存位置以儲存系統組態資訊。TPM 1 72 及/或PCR 174組態成僅可被某些代理器及/或在某些條件 下存取。符記170及/或TPM 172和PCR 174之一或兩者可包 括在晶片組160或系統1〇〇的其他構件中。 裝置180可代表任何數量的任何類型之I/O、周邊裝置 、或其他裝置,諸如鍵盤、滑鼠、追蹤球、指引裝置、監 視器、印表機、媒體卡、網路界面、資訊儲存裝置等等。 裝置180可體現在分離的構件中,或可與任何其他裝置整 合包括在整合構件中。在一實施例中,裝置180可代表多 功能I/O、周邊裝置、或其他裝置中的單一功能。 處理器1 20、1 3 0、及1 40、系統記憶體1 5 0、晶片組 160、符記170、及裝置180可根據任何已知的方式,諸如 經由一或更多平行、序列、管線排列、非同步、同步、有 線、無線、或其他匯流排或點對點連結,直接或間接地彼 此耦合或通訊。系統100亦可包括任何數量的額外裝置、 代理器、構件、或連結。 第2圖繪示根據本發明之一實施例的處理器200,其可 代表第1圖中之處理器120、130、及140之任何者,或任何 其他處理器。 處理器200可包括快取210,其可爲靜態隨機存取記憶 體,或任何其他形式的資訊(諸如從系統記憶體1 50複製 -8- 201140367 而來的資料)之貯存。處理器2 00 (或快取210)亦可包括 快取控制邏輯220以控制快取210在正常模式或快取爲隨機 存取記憶體(「CRAM」)模式中操作。在正常模式中, 1央取2 1 0回應於快取命中而滿足記憶體請求,回應於快取 未命中而取代快取線,以及可回應於窺探請求而使快取線 無效或取代快取線。在CRAM模式中,快取210操作成隨機 存取記憶體’其中由快取記憶體滿足在快取記憶體之記億 體範圍內的請求,並且回應於窺探請求而不取代快取線或 使其無效。 處理器200亦可包括指令單元230、控制單元240、履 行單元250、及發訊單元260。指令單元230可包括任何電 路、邏輯、或其他硬體或結構,諸如解碼器,以接收、辨 識、解碼、或否則接收指令。控制單元2 4 0可包括任何電 路、邏輯、或其他硬體或結構,諸如微碼、狀態機邏輯、 可編程邏輯 '或任何其他形式的控制邏輯,以回應於由指 令單元230所接收的指令及/或由發訊單元260所接收的訊 息而爲處理器200產生控制信號或控制處理器200。 履行單元250可包括任何電路、邏輯、或其他硬體或 結構’以履行由指令單元23 0接收的指令。履行單元250可 依據由控制單元240所產生之控制信號來操作。發訊單元 260可包括任何電路、邏輯、或其他硬體或結構,以產生 將由處理器200發送給系統100中之其他構件或代理器的訊 息,並接收由系統1 〇〇中之其他構件或代理器發送給處理 器200的訊息。 -9 - 201140367 在處理器200的一實施例中,指令單元23 0可爲處理器 2〇〇接收指令(「SENTER」指令)以開始建立系統100中 之安全環境的程序(「SENTER」程序)。回應於SENTER 指令,控制單元240產生控制信號以令發訊單元260產生「 SENTER」匯流排訊息(或系統之其他類型的訊息,該系 統中處理器及其他代理器藉由非匯流排的機構通訊),其 會被其他處理器或代理器的發訊單元辨識成SENTER匯流 排訊息。履行SENTER指令並發送SENTER匯流排訊息的處 理器或履行線程稱爲「啓動邏輯處理器」(「ILP」)。 在系統中接收SENTER匯流排訊息之每一處理器、履 行線程、或其他代理器稱爲「回應邏輯處理器」(「RLP 」)。回應於SENTER匯流排訊息,每一 RLP執行動作以準 備安全環境的建立並允許ILP進行安全環境的發動。這些 動作之一可爲使它們的發訊單元產生「ACK」匯流排訊息 以確認SENTER匯流排訊息的接收。 第3圖繪示根據本發明之--實施例的晶片組3 00,其可 代表晶片組1 60,或執行晶片組1 60之功能的任何其他的晶 片組或構件。晶片組3 00可包括發訊單元3 1 0、控制單元 3 20、「EXISTS」儲存位置3 3 0、「JOINS」儲存位置340 、及「ALL_JOINED」儲存位置3 50 〇 發訊單元310可包括任何電路、邏輯、或其他硬體或 結構,以產生將由晶片組300所發送給系統1〇〇中之其他構 件或代理器的訊息,並接收由系統1 00中之其他構件或代 理器發送的訊息。控制單元320可包括任何電路、邏輯、 -10- 201140367 或其他硬體或結構,諸如微碼、狀態機邏輯、可編程邏輯 、或任何其他形式的控制邏輯,以回應於由發訊單元3 1 〇 所接收的訊息而爲晶片組300產生控制信號或控制晶片組 300 ° 「EXISTS」儲存位置3 3 0、「JOINS」儲存位置340、 及「ALL_JOINED」儲存位置3 50各可包括暫存器或任何其 他形式的資訊之貯存,並可包括任何數量之位元的貯存。 在一實施例中,控制單元3 20可使用EXISTS儲存位置3 30來 掌握在系統1〇〇中操作的所有邏輯處理器或其他代理器, 及JOINS儲存位置340來掌握已經確認SENTER匯流排訊息 的所有邏輯處理器或其他代理器。當系統1〇〇中的所有邏 輯處理器或其他代理器,如EXISTS儲存位置3 3 0所反映, 已經確認SENTER匯流排訊息,如JOINS儲存位置3 40所反 映,則控制單元3 20可在「ALL_JOINED」儲存位置3 5 0中 設立一指標以向ILP指示可進行安全環境的發動。注意到 在此SENTER程序的說明中,如在此說明的其餘部分中, 省略說明並據以實施本發明之實施例所非必要的許多細節 ,且可有程序的諸多變動。例如,在ILP及RLP藉由前側處 理器匯流排(「FSB」)琴結的情況中,FSB異動可包括 每一異動之啓動器的識別符,且晶片組300可連接至FSB以 掌握所有的FSB邏輯處理器或其他的匯流排代理器。 參照回第1圖,非依電性貯存1 90可代表系統1 〇〇中之 任何數量的分離的非依電性儲存媒體,諸如半導體快閃記 億體或磁碟或光碟。非依電性貯存190可用來儲存本發明 -11 - 201140367 之實施例中所使用的軟體構件。例如,非依電性貯存1 9 0 可儲存鑑別碼模組(「ACM」)192及已衡量虛擬機器監 視器(「MVMM」)194。 可由一處理器或多個處理器在S ENTER程序期間履行 ACM 1 92,以執行涉及建立安全環境的任何數量之動作。 例如’ ACM 192可用來針對系統100內之構件在安全環境 中之參與而加以初始化、組態、並測試。在一實施例中, ACM 192可用來測試系統100之記憶體組態,其由系統1〇〇 中之任何處理器、晶片組、或其他構件中的記憶體控制器 功能所控制’以確保可限制或控制對系統記憶體i 5 〇之某 些頁或部分的存取,以當用來保全系統1〇〇之MVMM 194及 /或其他軟體在被儲存到系統記憶體1 50中時可受到保護。 在另一實施例中,ACM 192可用來鑑別MVMM 194及將用 於安全環境中之任何其他軟體,並發動MVMM 194的履行 〇 MVMM 194可爲任何虛擬機器監視器、超管理器、或 其他這類軟體程式,其係在SENTER期間被引動之可信賴 實體’以控制一或更多虛擬機器履行其他軟體程式(經常 稱爲已衡量發動環境或「M LE」),其之某些爲可信賴且 其之某些爲不可信賴。 爲了在系統100中建立安全環境,在處理器120、130 、及140的任何者或系統1〇〇中之任何其他處理器上運行的 諸如操作系統(「0S」)或基本輸入/輸出系統(「BIOS j )之系統軟體可從非依電性貯存190轉移ACM 192及 -12- 201140367 MVMM 194至系統記億體150,接著令這些處理器之一(如 處理器120 )履行SENTER指令。SENTER指令之履行可令 作爲ILP之處理器120發出SENTER匯流排訊息,輪詢 ALL —JOINED儲存位置3 50直到所有的RLP都已確認 S E N T E R匯流排訊息,組態快取2 1 0以在C R A Μ模式中操作 ,並載入ACM 192(或ACM 192的一部分,根據本發明之 —實施例,如下所述)到快取2 1 0中。可將快取2 1 0組態成 在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 -13- 201140367 、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、43 2、及442 ), 及含有標頭之區域(如,分別爲區域424、434、及444 ) 。每一碼及資料區域包括在SENT ER程序期間由處理器履 行的碼,連同在此碼履行期間將被使用的資料及/或此碼 履行期間所產生之資料的高速暫存器(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之一部分)的序連連接衍 -14 - 201140367 生或代表其之雜湊。可藉由在匹配表41 2與ACM 42〇、430 、及440之雜湊的序連連接執行雜湊及/或其他密碼函數來 產生主雜湊414。因此’主雜湊414可用來鑑別包括在主 ACM 400中之所有的資訊。 第5圖繪示根據本發明之方法實施例,尤其用以使用 多個鑑別碼模組來進入安全計算環境之方法500。雖本發 明之方法實施例不限於此態樣,可參照系統1 0 0、處理器 200、晶片組3 00、或主ACM 400中之元件來說明第5圖之 方法500。此外,方法500可代表分別的方法之編集,各潛 在地由不同實體或人或自動地在不同位置執行。 此外,可由處理器200回應於由控制單元240所產生之 控制信號(如區塊5 5 0至5 5 8 ),或由晶片組3 0 0回應於由 控制單元320所產生之控制信號而執行在方法500中所執行 的某些動作。處理器2 0 0中之控制信號則可回應於指令單 元230將指令解碼成一或更多微指令或微操作及/或發訊單 元260接收匯流排訊息或其他異動而產生,且晶片組3 00中 之控制信號則可回應於發訊單元3 1 0接收匯流排訊息或其 他異動而產生。 在第5圖之區塊5〇2中,方法500可開始。 在區塊5 1 0中,例如,可藉由或針對處理器或其他資 訊處理系統構件的製造商或供應商寫入或否則創造任何數 量的個別ACM’諸如ACM 420、430、及440。在區塊512 中’可藉由施加雜湊或其他這類演算法至ACM之碼、資料 、及/或其他區域來創造針對每一ACM的雜湊。在區塊514 -15- 201140367 中,可藉由施加例如使用公/私鑰匙對的密碼演算法來加 密每一雜湊。在區塊5 1 6中,可將每一雜湊加到對應的 ACM之標頭。 在區塊520中,可針對諸如系統1〇〇之資訊處理系統創 造諸如主ACM 400的主ACM。可例如藉由或針對系統製造 商或供應商,使用任何數量的個別ACM,諸如ACM 420、 430、及440,來創造主ACM。在區塊522中,可藉由針對 系統1 〇〇中之每一處理器或其他代理器創造一個項目,其 包括每一處理器的識別符,並連同將由那個處理器履行哪 個ACM的指示,來創造諸如匹配表412之匹配表。 在區塊524中,匹配表可與包括在主ACM中之個別的 ACM之雜湊序連連接。在區塊526中,可藉由施加雜湊或 其他這類演算法至匹配表與個別ACM雜湊的序連連接來創 造諸如主雜湊414的主雜湊。在區塊528中,可藉由施加使 用例如公/私鑰匙對的密碼演算法來加密主雜湊。 在區塊530中,可藉由將主雜湊與匹配表序連連接成 主標頭,並將主標頭與個別的ACM序連連接來完成主ACM 。在區塊5 3 2中,可將主ACM載入或否則安裝到系統中, 例如,到諸如非依電性貯存1 90之非依電性貯存中。 在區塊540中,可例如藉由在系統100中運行的BIOS、 開機載入器、或〇S從非依電性貯存複製主ACM到諸如系統 記憶體150的系統記憶體。在區塊542中,可例如藉由BIOS 、開機載入器、或〇S發出SENTER指令至處理器120來啓動 系統100到安全系統環境之進入。在區塊5 44中,處理器 -16- 201140367 120可發送SENTER匯流排訊息。在區塊546中,系統100中 之每一 RLP,例如,處理器130及140,可發送ACK匯流排 訊息。在區塊548中,可在例如ALL_JOINED儲存位置350 中設立所有RLP都加入SENTER程序中的指示。 在區塊5 5 0中,系統100中之處理器(如ILP及/或RLP )可讀取主ACM中之匹配表以找到對應的項目。若未找到 匹配,則在區塊552中,處理器可寫入錯誤碼値至非依電 性記憶體並令系統重設。然而,若找到匹配,則在區塊 554中,處理器可組態其之快取以在CRAM模式中操作並載 入主標頭及匹配的個別ACM到其之快取中。 在區塊556中,處理器可藉由雜湊各主標頭及匹配的 ACM,並比較所得的雜湊與從該主ACM讀取到的主雜湊及 個別的ACM,來嘗試鑑別主標頭及匹配的ACM。若兩個的 其中之一的比較失敗’則在區塊552中,處理器可寫入錯 誤碼値至非依電性記憶體並令系統重設。然而,若成功鑑 別主標頭及匹配的個別A C Μ兩者,則在區塊5 5 8中,可發 送主雜湊至諸如符記170之符記,以儲存在pCR以用來封印 及解封印已衡量發動環境或安全系統環境中之秘密。 在區塊56〇中’可由系統1〇〇中之每—其他處理器重複 區塊55〇至558。在區塊562中’系統1〇〇中之—或更多處理 器可開始履行其之ACM。在區塊564中,履行ACM的處理 器可發動MVMM。在區塊566中’可完成系統100到已衡量 發動環境(「MLE」)或安全系統環境中之進入。 在區塊598中,方法500可結束。 -17- 201140367 在本發明之範疇內,可以不同順序、同時執行所示的 區塊、省略所示的區塊、添加額外的區塊、或重新排序、 結合、省略、或添加區塊的組合的方式來執行方法500。 可有本發明之實施例的方法的許多變動,但可能從方法 500的說明並不明顯。例如,在區塊520至530中之創造主 ACM可發生在系統100之外部或系統100之內。 因此,已經揭露使用多個鑑別碼模組來進入安全計算 環境之系統、設備、及方法。雖已說明並在附圖中顯示某 些實施例,可了解到這類實施例僅爲例示性且不限制廣泛 的本發明’且本發明不限於所示及所述之特定構造及配置 ’因此技藝中具通常知識者可在詳讀此揭露後做出各種其 他修改。在像此成長快速且無法輕易預料進一步的演進技 術之技術領域中,可因致能技術演進的促成而可在配置及 細節上輕易修改所揭露的實施例,而不背離本揭露之原理 或所附之申請專利範圍的範疇。 【圖式簡單說明】 在附圖中舉例且非限制性地繪示本發明。 第1圖繪示根據本發明之一實施例的資訊處理系統。 第2圖繪示根據本發明之一實施例的處理器, 第3圖繪示根據本發明之—實施例的晶片組。 第4圖繪示根據本發明之—實施例的主鑑別碼模組。 第5圖繪示根據本發明之—實施例的用以使用多個鑑 別碼模組來進入安全計算環境之方法。 -18- 201140367 【主要元件符號說明】 100 :資訊處理系統 1 10 :裸平台硬體 12 0、130' 140 :處理器 1 5 0 :系統記憶體 1 6 0 :晶片組 170 :符記 172 :可信賴平台模組 174 :平台組態暫存器 1 80 :裝置 1 9 0 :非依電性貯存 192 :鑑別碼模組 194 :已衡量虛擬機器監視器 2 0 0 :處理器 2 1 〇 :快取 220 :快取控制邏輯 2 3 0 :指令單元 240 :控制單元 2 5 0 :履行單元 2 6 0 :發訊單元 3 0 0 :晶片組 3 1 0 :發訊單元 3 20 :控制單元 330: 「EXISTS」儲存位置 -19 201140367 340 : 「JOINS」儲存位置 3 50 : 「ALL_JOINED」儲存位置 400 :主鑑別碼模組 4 1 0 :主標頭 4 1 2 :匹配表 414 :主雜湊 420、43 0、440 :鑑別碼模組 422 ' 432、 442 :區域 424、 434、 444:區域 -20-
Claims (1)
- 201140367 七、申請專利範圍: 1 .—種處理器,包含: 解碼器,以解碼安全進入指令; 控制邏輯,以在主鑑別碼模組中的匹配表中找出對應 於處理器的項目,並且回應於解碼該安全進入指令而從該 主鑑別碼模組讀取主標頭及個別鑑別碼模組。 2 .如申請專利範圍第1項所述之處理器,進一步包含 組態於安全模式中之快取,其中該控制邏輯將該主標頭及 該個別碼模組讀到組態於該安全模式中之該快取之中。 3 .如申請專利範圍第2項所述之處理器’其中該控制 邏輯亦令該主標頭及該個別鑑別碼模組在該快取中被鑑別 〇 4 .如申請專利範圍第1項所述之處理器,其中該個別 鑑別碼模組爲該主鑑別碼模組內之複數個別鑑別碼模組之 -* 〇 5 .如申請專利範圍第4項所述之處理器,其中該控制 邏輯亦依據該匹配表中之該項目選擇該複數個別鑑別碼模 組之該一者。 6 .如申請專利範圍第3項.所述之處理器,其中該控制 邏輯亦在鑑別該主標頭及該個別鑑別碼模組之後發送主雜 湊至符記。 7 ·—種方法,包含: 在主鑑別碼模組中的匹配表中找出對應於第一處理器 的第一項目; -21 - 201140367 從該主鑑別碼模組載入主標頭到第一安全記億體中; 以及 從主碼模組載入該第一處理器之第一個別鑑別碼模組 到該第一安全記憶體中。 8. 如申請專利範圍第7項所述之方法,進一步包含發 出安全進入指令’其中回應於發出該安全進入指令而執行 找出該第一項目、載入該主標頭、及載入該第一個別鑑別 碼模組。 9. 如申請專利範圍第7項所述之方法,其中該第一安 全記憶體爲該第一處理器的快取記憶體。 10·如申請專利範圍第7項所述之方法,進一步包含鑑 別該第一安全記憶體內之該主標頭及該第一個別鑑別碼模 組。 1 1 _如申請專利範圍第7項所述之方法,進一步包含從 該主鑑別碼模組中之複數個別鑑別碼模組選擇該第一個別 鑑別碼模組。 1 2 .如申請專利範圍第1 1項所述之方法,其中依據該 匹配表中之該第一項目選擇該第一個別鑑別碼模組❾ 13.如申請專利範圍第1〇項所述之方法,進一步包含 在鑑別該主標頭及該第一個別鑑別碼模組之後發送主雜湊 至符記。 1 4.如申請專利範圍第7項所述之方法,進一步包含: 在該主鑑別碼模組中的該匹配表中找出對應於第二處 理器的第二項目: -22- 201140367 從該主鑑別碼模組載入該主標頭到第二安全記億體中 :以及 從該主碼模組載入該第二處理器之第二個別鑑別碼模 組到該第二安全記憶體中。 15. 如申請專利範圍第14項所述之方法,其中該第二 安全記憶體爲該第二處理器的快取記憶體。 16. 如申請專利範圍第14項所述之方法,進一步包含 鑑別該第二安全記憶體內之該主標頭及該第二個別鑑別碼 模組。 1 7 . —種系統,包含: 第一處理器,包括: 解碼器,以解碼安全進入指令; 發訊邏輯,以發送安全進入訊息;以及 第一控制邏輯,以在主鑑別碼模組中的匹配表中 找出對應於第一處理器的第一項目,並且回應於解碼該安 全進入指令而從該主鑑別碼模組讀取主標頭及第一個別鑑 別碼模組;以及 第二處理器,包括: 發訊邏輯,以接收該安全進入訊息;以及 第二控制邏輯,以在該主鑑.別碼模組中的該匹配 表中找出對應於第二處理器的第二項目,並且回應於接收 該安全進入訊息而從該主鑑別碼模組讀取該主標頭及第二 個別鑑別碼模組。 1 8 .如申請專利範圍第1 7項所述之系統,進一步包含 -23- 201140367 非依電性貯存,以儲存該主鑑別碼模組,包括該匹配表、 該第一個別鑑別碼模組、該第二個別鑑別碼模組、以及依 據該匹配表、該第一個別鑑別碼模組、及該第二個別鑑別 碼模組的主雜湊。 1 9 ·如申請專利範圍第1 7項所述之系統,進一步包含 系統記憶體’以從該非依電性貯存載入該主鑑別碼模組到 其之中。 2 0.如申請專利範圍第1 9項所述之系統,進一步包含 符記’以在鑑別該第一處理器之安全記憶體內的該主標頭 及該第一鑑別碼模組之後載入該主鑑別碼模組之主雜湊到 其之中》 -24-
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 true TW201140367A (en) | 2011-11-16 |
TWI582632B 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)
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 |
US9734313B2 (en) | 2014-06-16 | 2017-08-15 | Huawei Technologies Co., Ltd. | Security mode prompt method and apparatus |
CN105335672B (zh) * | 2014-06-16 | 2020-12-04 | 华为技术有限公司 | 一种安全模式提示方法及装置 |
US10747888B2 (en) * | 2014-06-30 | 2020-08-18 | Nicira, Inc. | Method and apparatus for differently encrypting data messages for different logical networks |
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 |
Family Cites Families (21)
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 |
JP2000215093A (ja) * | 1999-01-27 | 2000-08-04 | Fuji Photo Film Co Ltd | 画像ファイル装置および方法 |
US7360076B2 (en) | 2001-06-13 | 2008-04-15 | Itt Manufacturing Enterprises, Inc. | Security association data cache and structure |
TW583568B (en) | 2001-08-27 | 2004-04-11 | Dataplay Inc | A secure access method and system |
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 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置 |
US7752428B2 (en) * | 2005-03-31 | 2010-07-06 | Intel Corporation | System and method for trusted early boot flow |
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 |
FR2918830B1 (fr) | 2007-07-13 | 2009-10-30 | Viaccess Sa | Verification de code mac sans revelation. |
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 |
-
2009
- 2009-12-31 US US12/650,579 patent/US9202015B2/en not_active Expired - Fee Related
-
2010
- 2010-12-13 TW TW099143486A patent/TWI582632B/zh not_active IP Right Cessation
- 2010-12-14 JP JP2010277703A patent/JP5373753B2/ja not_active Expired - Fee Related
- 2010-12-15 DE DE102010054614A patent/DE102010054614A1/de not_active Withdrawn
- 2010-12-23 BR BRPI1005586-0A patent/BRPI1005586A2/pt not_active Application Discontinuation
- 2010-12-24 CN CN201010625143.3A patent/CN102122327B/zh not_active Expired - Fee Related
-
2013
- 2013-03-15 US US13/837,837 patent/US9208292B2/en not_active Expired - Fee Related
- 2013-09-19 JP JP2013194105A patent/JP5752767B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102122327B (zh) | 2016-05-25 |
JP5373753B2 (ja) | 2013-12-18 |
BRPI1005586A2 (pt) | 2012-02-28 |
CN102122327A (zh) | 2011-07-13 |
TWI582632B (zh) | 2017-05-11 |
JP2011141870A (ja) | 2011-07-21 |
US20130212673A1 (en) | 2013-08-15 |
DE102010054614A1 (de) | 2011-07-07 |
US9202015B2 (en) | 2015-12-01 |
JP2013251016A (ja) | 2013-12-12 |
US9208292B2 (en) | 2015-12-08 |
JP5752767B2 (ja) | 2015-07-22 |
US20110161676A1 (en) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI582632B (zh) | 使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器 | |
EP3582129B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
JP6404283B2 (ja) | 安全な環境を初期化する命令を実行するシステムおよび方法 | |
JP4883459B2 (ja) | ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行 | |
TWI528281B (zh) | 平臺韌體防護方法、設備、系統以及相關的機器可讀媒體 | |
US10635821B2 (en) | Method and apparatus for launching a device | |
US8670568B2 (en) | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor | |
US8799673B2 (en) | Seamlessly encrypting memory regions to protect against hardware-based attacks | |
US20030188113A1 (en) | System and method for resetting a platform configuration register | |
US20030018892A1 (en) | Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer | |
TW201617957A (zh) | 鑑別變數之管理技術 | |
JP2011522469A (ja) | 保護されたソフトウエアイメージを有する集積回路及びそのための方法 | |
JP2023530730A (ja) | 構成設定の安全な署名 | |
US9202056B2 (en) | Inter-processor attestation hardware | |
Muramoto et al. | Improving Hardware Security on Talos II Architecture Through Boot Image Encryption | |
Han et al. | Design and implementation of a portable TPM scheme for general-purpose trusted computing based on EFI | |
JP2024513716A (ja) | 読み取り専用メモリ(rom)のセキュリティ | |
JP2024515450A (ja) | 読み取り専用メモリ(rom)のセキュリティ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |