TW200931312A - Systems and methods for BIOS processing - Google Patents

Systems and methods for BIOS processing Download PDF

Info

Publication number
TW200931312A
TW200931312A TW97100200A TW97100200A TW200931312A TW 200931312 A TW200931312 A TW 200931312A TW 97100200 A TW97100200 A TW 97100200A TW 97100200 A TW97100200 A TW 97100200A TW 200931312 A TW200931312 A TW 200931312A
Authority
TW
Taiwan
Prior art keywords
security module
bios
computing system
interface
module
Prior art date
Application number
TW97100200A
Other languages
Chinese (zh)
Other versions
TWI368872B (en
Inventor
Dan Morav
Nir Tasher
Original Assignee
Winbond Electronics 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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to TW097100200A priority Critical patent/TWI368872B/en
Publication of TW200931312A publication Critical patent/TW200931312A/en
Application granted granted Critical
Publication of TWI368872B publication Critical patent/TWI368872B/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

Methods and systems for Basic Input/Output System BIOS processing such as hashing are disclosed. In one embodiment, there is a direct interface between a security module and a non-volatile memory storing the BIOS in a computing system so that the security module may directly access the BIOS without using the central processing unit CPU as an intermediary. In one embodiment, the security module is powered by standby power and therefore can begin BIOS processing even if the computing system has not yet been turned on.

Description

•doc/n 200931312 九、發明說明: 【發明所屬之技術領域】 本發明是關於計算系統安全。 【先前技術】 通常’計算系統存在三種可能的電力狀態。第一電力 狀態為未供電狀態,此情況發生在計算系統未連接至任何 電源時。第二電力狀態為待機電力狀態,亦稱為S〇ft 〇ff e (G2/S5)或休眠(S4非揮發性睡眠)模式,此情況發生在 計算系統連接至電源(例如,插入至電源插座中或主電池 組處於電池組槽中)但計算系統未接通(亦即,未被供電) 時。第三電力狀態為通電狀態,此情況發生在計算系統被 供電(亦即,接通)時。 计异系統的重設可,例如用冷啟動主機平臺重設(c〇ld boot host platform reset)(其例如,包括在接通計算系統之 後的開機自我測試)、硬體主機平臺重設(亦即,計算系統 組件之重設)或熱(亦稱為軟)啟動主機平臺重設(亦即, ❹ 軟體引起之重設)。在重設計算系統之後,接下來是通常(但 未必)較短之重設週期。在重設期間内,計算系統中之主 機中央處理單元CPU並未啟用。基本輸入/輸出系統(Basic• doc/n 200931312 IX. Description of the invention: [Technical field to which the invention pertains] The present invention relates to computing system security. [Prior Art] Usually, there are three possible power states in a computing system. The first power state is unpowered, which occurs when the computing system is not connected to any power source. The second power state is a standby power state, also known as S〇ft 〇ff e (G2/S5) or sleep (S4 non-volatile sleep) mode, which occurs when the computing system is connected to a power source (eg, plugged into a power outlet) The middle or main battery pack is in the battery pack slot) but the computing system is not turned on (ie, not powered). The third power state is the energized state, which occurs when the computing system is powered (i.e., turned "on"). The reset of the metering system can be, for example, a cold boot host platform reset (which includes, for example, a boot self-test after the computing system is turned on), and a hardware host platform reset (also That is, the reset of the computing system component or the hot (also known as soft) boot host platform reset (ie, the reset caused by the software). After redesigning the system, the next is usually (but not necessarily) a shorter reset period. During the reset period, the host central processing unit CPU in the computing system is not enabled. Basic input / output system (Basic

Input/Output System, BIOS )為計算系統中之主機CPU用 來在重設結束後起始計算系統(亦即,啟動計算系統)的 軟體程式碼及/或資料。 為了執行系統之完整性檢查,在重設期間結束後,可 量測(例如,雜湊)BIOS之部分或全部。BIOS量測的執 5 f.doc/n 200931312 行延遲BIOS之執行以及隨後作業系統之載入。 在重設期間已結束後,主機CPU可能雜湊BIOS之部 分或全部。或者’在重設期間已結束之後,主機CPU可使 用另一模組,此模組較佳可在此時間點比CPU更快速地執 行BIOS的雜凑。 可用於檢查BIOS之完整性的一類型之安全模組為可 仏賴平臺模組(Trusted Platform Module,TPM ),其符合一 ❹或多個可信賴計算組織(Tmsted c〇mputing Gr〇up,TCG ) 規範。 在TCG規範中’靜態的度量可信核心根(c〇re r〇〇t 〇f trust for measurement,cRTM)為計算設備初始化程式碼 ^不變部分,且該不變部分是在計算系統已被重設後執 行。主機平臺(主機平臺包括主機板、主機cpu、主機量 度可信根RTM、TPM,以及附著至主機板之所有主機周邊 裝置)之可信度是基於靜態CRTM而定。在一實施中,BIOS 啟動區塊被稱為靜態CRTM。在重設期間已結束後,被CPU 執行之靜態CRTM將TPM驅動器初始化,主機CPU使用 此TPM驅動器來對TPM進行讀取、寫入及控制。cpu讀 取Bl〇S之一片段(非靜態CRTM)且將BIOS之此片段送 至TPM以用於雜湊。TPM雜湊m〇s之此片段。cpu讀 取經雜凑之BIOS片段,且經雜湊之BI〇s片段或其函數 ^存於TPM中的一或多個平臺組態暫存器pCR中。或者, 將經雜湊之BI〇s片段或其函數儲存於一或多個pcR 中。 6 ••doc/n 200931312 【發明内容】 根據本發明,提供一種在計算系統中進行基本輸入/ 輸出系統BIOS處理的方法,包括:在計算系統中之安全 模組經由介面讀取儲存於計算系統中之非揮發性記情體 的BIOS之至少部分,此介面直接連接安全模組與;;揮^ 性記憶體;以及安全模組處理BI〇s之該至少部分。 ❹The Input/Output System, BIOS) is the software code and/or data used by the host CPU in the computing system to initiate the computing system (ie, to start the computing system) after the reset is complete. In order to perform a system integrity check, some or all of the BIOS may be measured (e.g., hashed) after the reset period is over. The BIOS measurement 5 f.doc/n 200931312 line delays the execution of the BIOS and the subsequent loading of the operating system. After the reset period has elapsed, the host CPU may hash some or all of the BIOS. Or, 'After the reset period has elapsed, the host CPU can use another module, which preferably executes the BIOS hash faster than the CPU at this point in time. One type of security module that can be used to check the integrity of the BIOS is the Trusted Platform Module (TPM), which conforms to one or more trusted computing organizations (Tmsted c〇mputing Gr〇up, TCG) ) Specification. In the TCG specification, the static metric trust core (c〇re r〇〇t 〇f trust for measurement, cRTM) is the constant part of the computing device initialization code, and the constant part is in the computing system has been Execute after resetting. The reliability of the host platform (host platform including motherboard, host cpu, host metric trusted root RTM, TPM, and all host peripherals attached to the motherboard) is based on static CRTM. In one implementation, the BIOS boot block is referred to as a static CRTM. After the reset period has elapsed, the static CRTM executed by the CPU initializes the TPM driver, which uses the TPM driver to read, write, and control the TPM. The cpu reads a fragment of BlS (non-static CRTM) and sends this fragment of the BIOS to the TPM for hashing. TPM is a fragment of m〇s. The cpu reads the hashed BIOS fragment and the hashed BI〇s fragment or its function is stored in one or more platform configuration registers pCR in the TPM. Alternatively, the hashed BI〇s fragment or its function is stored in one or more pcRs. 6 ••doc/n 200931312 SUMMARY OF THE INVENTION According to the present invention, there is provided a method for performing BIOS processing of a basic input/output system in a computing system, comprising: storing, in a computing system, a security module stored in a computing system via an interface At least part of the BIOS of the non-volatile sympathetic body, the interface is directly connected to the security module; and the security module processes the at least part of the BI 〇s. ❹

根據本發明,亦提供一種在計算系統中進行基本輸入/ 輸出系統BIOS處理的方法,包括:在計算系統中之安全 模組感應出待機電力在不可用之後變得可用;安全模組接 著經由介面讀取儲存於計算系統中之非揮發性記憶體中的 BIOS之至少部分,此介面直接連接安全模域非揮發性記 憶體;以及安全模組處理BI〇s之該至少部分。 根據本發明,進-步提供於基本輸人/輪出系統 Bios處理的系統’包括:非揮發性記憶體 存娜;安全模組,其經組態以讀取刪之至== 經組態以處理Bi〇s之該至少部分;以及介面其直ς 接於安全模組與非揮發性記憶體之間。 、 統明’又進—步提供—種用於基本輪入/輸出系 ' S處理的安全模組,包括:感應器,其經纟且離 t用於讀取至少部分BI0S的觸發;提取模組^魏 &'以在感應H已感應到觸發之後經由介面自^夕 非揮發性記赌讀取BI〇S的魅少部分,此介 接於非揮發性記紐與安全模組之n及處理模 經組態以處理BI0S之該被讀取之至少部分。、、’·,、 •.doc/n 200931312 【實施方式】 本文中描述用於BIOS處理之本發明實施例。 本文所使用之術語计鼻系統包括任何包括基本輸 入/輸出系統(BIOS)之系統。 本發明之一些實施例主要被揭露為一種方法,且一般 熟習此項技藝者應理解’諸如併入有資料庫、軟體及其他 適當組件之習知資料處理器的裝置可經程式化或另外經設 ❹ 计以有助於本發明之一些方法實施例的實施。 本發明之一些實施例可使用術語如處理器、裝置、計 鼻系統、電腦、設備、系統、子系統、模組、單元、引擎 等(以單數或複數形式)以用於執行本文之操作。此等術 語(在適當時)表示經組態以執行本文所界定以及解釋之 操作的軟體、硬體及/或韌體之任何組合。模組(或上文指 定之對應術語)可經特定建構以用於所要目的,或其可^ 括通用計算系統,此通用計算系統由儲存於此計算系統中 之電腦私式選擇性地加以啟動或重組態。此電腦程式可儲 ϋ 存於電腦可讀儲存媒體中。 本文中之-些實施例中所呈現的方法/處理/模組(或 j指定之對應術語)以及顯示並非时地_任何特定 或其他裝置,轉另外特職定。各種通用系統 :根=文之教示而與程式—起使用,或 對於建構更專業之裝置來執行所要方法為便利的。 ^根據本發明之實施例的計算系驗構100。 ° V、、、G包括··主機中央處理單元CPU (亦稱為處理 200931312 f.doc/n 器或微處理器)102 ;非揮發性記憶體i〇4,其中儲存至少 BIOS ;安全模組1〇6 ;以及計算系統之剩餘部分1〇8。 在一實施例中,非揮發性記憶體NVM 104為具有寫 入能力之任何適當記憶體,其在斷電時將内容保留其内 容。實例特別包括:電可擦可程式化唯讀記憶體 EEPR〇M、由電池組供電之隨機存取記憶體RAM、快閃記 憶體、半導體記憶體、磁性記憶體、光學記憶體、以上諸 φ 項之任何組合等。 NVM 104包括由主機cpu所使用之31〇3來啟動計算 系統1〇〇。視實施例而定,NVM 104可儲存BI〇s程式碼 及/或資料。應注意,本文使用之術語“BI〇s,,表示BI〇s 程式碼及/或資料(在適當時)。NVM 1〇4可視情況亦儲存 其他項。舉例而言,在一實施例中,NVM 1〇4亦儲存安全 模組106所使用之程式碼及/或資料。 在一實施例中,如下文將更詳細地描述,安全模組1〇6 經組態以處理BIOS中之一些或全部。處理類型不受本發 ❹ 明限制。本發明對BIOS處理可能對計算祕之隨後操作 具有的任何效應不施加任何限制。 視實施例而定,安全模組106可能具有或可能不具有 與BIOS處理無關的額外功能性。 在一些實施例中,安全模組106可被視為可信賴平臺 模組(TPM)’此是由於其符合一或多個可信賴計算組織 (TCG)規範,所述規範不時地被修正,除了與本文之描述 衝突的部分(若有的話)之外。舉例而言,在此等實施例 9 .doc/n 200931312 中之一者中,安全模組106可被視為TPM,此是由於其符 合以下規範、其早先版本或其未來版本中之任一者,除了 與本文之描述衝突的部分(若有的話)之外: www.trustedcomputinggroup.org/specs/TPM/Main_Partl_Re v94.zip , www.trustedcomputinggroup.org/specs/TPM/Main_Part2_Re v94.zip , φ www.tmstedcomputinggroup.org/specs/TPM/Main_Part3_Re v94.zip , www.trustedcomputinggroup.org/groups/pc_client/TCG_PCC lientTPMSpecification_l-20_l-00_FINAL.pdf , www.trustedcomputinggroup.org/groups/TCG_l_0_Architect ure_Overview.pdf , 以 及 www.tmstedcomputinggroup.org/specs/PCClient/TCG_PCCli entImplementationforBIOS_l·20_1 -00.pdf。此等規範特此以 作為參考的方式來併入。在此等實施例中之一者中,Bi〇s © 為一符合TCG的BIOS。 如此項技術中已知,區塊108包括所有其他模組,此 等模組包括用於任何特定實施例之計算系統1〇〇的實體平 臺0 如圖1所說明,主機CPU 102經由一或多個介面122 與NVM 104、安全模組1〇6以及區塊1〇8通信。在計算系 統100中’因為安全模組1〇6經由介面132直接介面連接 至NVM 104 ’所以安全模組1〇6自主存取NVM 104而不 T.doc/n 200931312 依賴於CPU 102。 在一些實施例中,介面132包括一或多個旁頻帶,其 中旁頻帶表示不使用主計算系統資源的介面。舉例而言, 介面132可包括一或多個獨立連接,或可使用對現有連接 之一或多個特殊協定。在此等實施例中之一者中,介面132 包括與匯流排122分離之一或多個電腦匯流排。在此等實 施例中之一者中’介面132包括比匯流排122快的匯流排。 ❹ 舉例而言,在此等實施例中之一者中,匯流排122可包括 低插腳數LPC匯流排,且介面132可包括串列周邊介面 SI>I。 在另一貪施例中’介面132包括經由匯流排122之一 或多個直接連接(亦即’匯流排122經調適以包括在NVM 104與安全模組1〇6之間的直接連接132)。 在一實施例中’安全模組106與NVM 104處於同一 實體封裝中。安全模組106與NVM 104之整合在此實施 例中提供額外抗篡改的保護,因為攻擊者無法在不更改安 〇 全模組丨〇6的情況下用被侵入的、未得到平臺製造商及/ 或擁有者授權及/或同意使用的BIOS版本來替代NVMl〇4 中的BIOS。因此,此整合提供(例如)抗重送攻擊(亦即, 試圖重送BI0S之較舊版本)的保護。視情況,假設其他 項亦儲存於NVM 104中,同一實體封装中對安全模组1〇6 以及NVM 1〇4的使用亦可更佳地保護此等其他項中的至 少—些免受篡改。 圖2揭示根據本發明實施例的另一計算系統架構 11 •.doc/n 200931312 200。類似於計算系統loo,計算系統2〇〇包括如上所述之 主機CPU 102、BIOS NVM 104、安全模組106以及計算系 統之剩餘部分108,且模組1〇2、1〇4、1〇6以及108中之 每一者可由能夠執行本文所界定以及所解釋之功能的軟 體、硬體及/或韌體之任何組合構成。然而,在計算系統 200中,CPU 102經由一或多個介面222而連接至安全模 組106以及區塊108。在計算系統2〇〇中,CPU 102未經 由介面222而連接至NVM 104,而是替代地,CPU 102經 由安全模組106而間接連接至NVM 104。 在一些實施例中’介面122, 222包括一或多個電腦匯 流排。視實施例而定,介面122, 222可包括(例如)LPC 匯流排、ISA匯流排、PCI匯流排、以上諸項之任何組合, 及/或任何其他適當匯流排。 在計算系統200中,因為安全模組1〇6經由介面232 直接介面連接至NVM 104 ’所以安全模組1〇6自主存取 NVM 104而不依賴於CPU 102。 在一些實施例中,介面232包括一或多個旁頻帶,其 中旁頻帶表不不使用主計算系統資源的介面。舉例而言, 介面232可包括一或多個獨立連接,或可使用在現有連接 上之一或多個特殊協定。在此等實施例中之一者中,介面 232包括與匯流排222分離之一或多個電腦匯流排。在此 等實施例中之一者中,介面232包括比匯流排222快的匯 流排。舉例而言,在此等實施例中之一者中,匯流排222 可包括低插腳數LPC匯流排,且介面232可包括串列周邊 12 f.doc/n 200931312 介面SPI。 在另一實施例中,介面232包括經由匯流排222之一 或多個直接連接(亦即,匯流排222經調適以包括在nvm 104與安全模組1〇6之間的直接連接232)。 為使描述簡單化,介面122, 132, 222, 232在本文之下 文中被稱為單數形式之介面122, 132, 222, 232,且應被理 解為包括存在單一介面122,132, 222, 232以及多個介面 ❹ 122, 132, 222, 232 的實施例。 現將呈現可藉由計算系統100及/或計算系統2〇〇特別 執行的方法實施例。 圖3說明根據本發明之實施例的用於BI〇s處理之方 法300的流程圖。在一實施例中,方法3〇〇由安全模組 執行。視實施例而定,執行方法300之安全模組1〇6可能 僅在計算系統100或200已被接通之後具備電力,或可能 具備待機電力(意謂只要計算系統100或2〇〇連接至電源, 例如,插入至電源插座中或使主電池組處於電池組槽中, ❽ 則安全模組106具備電力,而不管計算系統1〇〇或2〇〇是 否已接通)。 在階段302中,安全模組106感應到計算系統1〇〇或 200已被重設(亦即,存在有一主機重設)。舉例而言,在 一實施例中’當計算系統1〇〇或200被重設時,安全模組 106接收到LRESET輸入信號。舉例而言,在一實施例;, 安全模組106在感應到計算系統已重設之後立即進行至階 段304 (亦即,可能甚至在重設期間内進行),然而,在另 13 f.doc/π 200931312 一實施例中,在階段302與階段304之間可能存在時間延 滯。在階段304中,安全模組1〇6經由介面132或232自 NVM 104讀取BIOS片段,且在階段306中處理此所讀取 之BIOS片段。 在一些實施例中,階段306中之BIOS處理包括量測 所讀取之BIOS片段。在此等實施例中之一些實施例中, BIOS量測包括雜湊所讀取之BI〇s片段。通常,雜湊包括 ❹ 應用單向性函數,使得攻擊者無法通過計算方法來判定對 於雜湊結果之特定輸入訊息以及無法藉此而具有替換將產 生同一量測結果之不同輸入訊息的能力。舉例而言,在存 在雜湊之一些實施例中,用於雜湊所讀取之BI〇s片段之 雜湊函數是根據由美國政府標準機關國家標準與技術協會 (National Institute of Standards and Technology ) NIST 所公 開之SHA標準。繼續此等實施例中之一者中的實例,特別 使用SHA-1密碼雜凑。在其他實施例中,安全模組1〇6可 另外或替代地執行對BIOS之部分或全部的其他處理。 在可選階段308中,BIOS處理(例如,BI〇s雜湊) 之、、、σ果或其函數儲存於記憶體中,例如安全模組川6中。 可(例如)藉由安全模組106來執行處理結果或其函數送 至記憶體的儲存。 在安全模組1〇6是ΤΡΜ之一實施例中,ΤΡΜ在階段 308中將雜湊結果儲存至τρΜ 一 態暫翻PCR,例如PCR⑼及/或pcR⑴中)夕千里、 在實施例中,安全模組106在階段304中經由介面 f.doc/n 200931312 m或232而自NVM刚讀取BI〇s之一片段,在階段. 中處理此所讀取之片段,且視情況在安全模組1%讀取 BI〇S之另—片段之前(亦即’在對於另-片段重複階段 304、306以及可選擇的308之前)於階段3〇8中將中間 ❹According to the present invention, there is also provided a method of performing BIOS processing of a basic input/output system in a computing system, comprising: the security module in the computing system sensing that standby power becomes available after being unavailable; the security module is then via the interface Reading at least a portion of the BIOS stored in the non-volatile memory in the computing system, the interface directly connecting the secure mode domain non-volatile memory; and the security module processing the at least part of the BI〇s. According to the present invention, the system for further processing of the Bios processing of the basic input/round-out system includes: non-volatile memory storage; security module, which is configured to read and delete to == configured To process at least a portion of the Bi〇s; and the interface is directly connected between the security module and the non-volatile memory. , Tongming 'further-step-provided - a security module for the basic wheel / output system 'S processing, including: the sensor, which is used to read at least part of the BI0S trigger; Group ^Wei &' to read the charm of BI〇S through the interface from the non-volatile bet after the induction H has sensed the trigger, which is connected to the non-volatile memory and security module. And the processing module is configured to process at least a portion of the BIOS that is read. , . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The term nasal system as used herein includes any system including a basic input/output system (BIOS). Some embodiments of the present invention are primarily disclosed as a method, and those skilled in the art will understand that devices such as conventional data processors incorporating databases, software, and other suitable components may be programmed or otherwise It is intended to facilitate the implementation of some of the method embodiments of the present invention. Some embodiments of the invention may be used to implement the operations herein, such as a processor, a device, a nasal system, a computer, a device, a system, a subsystem, a module, a unit, an engine, or the like, in the singular or plural. These terms, where appropriate, refer to any combination of software, hardware and/or firmware configured to perform the operations defined and explained herein. A module (or corresponding term specified above) may be specifically constructed for a desired purpose, or it may include a general purpose computing system that is selectively enabled by a computer stored in the computing system. Or reconfigure. This computer program can be stored in a computer readable storage medium. The methods/processes/modules (or corresponding terms specified by j) presented in these embodiments, as well as the display, are not intended to be any particular or other device, and are otherwise assigned. Various general-purpose systems: root=text teaching and programming, or for constructing more specialized devices to perform the desired method. A computing system architecture 100 in accordance with an embodiment of the present invention. ° V,,, G include · host central processing unit CPU (also known as processing 200931312 f.doc / n or microprocessor) 102; non-volatile memory i 〇 4, which stores at least BIOS; security module 1〇6; and the remainder of the computing system 1〇8. In one embodiment, non-volatile memory NVM 104 is any suitable memory with write capability that preserves its content when powered down. Examples include: electrically erasable and programmable read-only memory EEPR〇M, random access memory RAM powered by battery pack, flash memory, semiconductor memory, magnetic memory, optical memory, and above. Any combination of items, etc. The NVM 104 includes 31 〇 3 used by the host cpu to start the computing system. Depending on the embodiment, the NVM 104 can store BI〇s code and/or data. It should be noted that the term "BI〇s," as used herein, refers to BI〇s code and/or data (where appropriate). NVM 1〇4 may also store other items as appropriate. For example, in one embodiment, The NVM 1.4 also stores the code and/or data used by the security module 106. In an embodiment, as will be described in more detail below, the security module 106 is configured to process some of the BIOS or All. The type of processing is not limited by the present invention. The present invention does not impose any limitation on any effect that BIOS processing may have on subsequent operations of the computing secret. Depending on the embodiment, the security module 106 may or may not have The BIOS handles extra-independent functionality. In some embodiments, the security module 106 can be considered a Trusted Platform Module (TPM)' because it conforms to one or more Trustworthy Computing Group (TCG) specifications. The specification is modified from time to time, except for the portion (if any) that conflicts with the description herein. For example, in one of these embodiments, 9. doc/n 200931312, the security module 106 Can be considered as TPM, this is due to its Any of the following specifications, previous versions, or future versions thereof, except those that conflict with the description of this document, if any: www.trustedcomputinggroup.org/specs/TPM/Main_Partl_Re v94.zip , www. trustedcomputinggroup.org/specs/TPM/Main_Part2_Re v94.zip , φ www.tmstedcomputinggroup.org/specs/TPM/Main_Part3_Re v94.zip , www.trustedcomputinggroup.org/groups/pc_client/TCG_PCC lientTPMSpecification_l-20_l-00_FINAL.pdf , www. Trustedcomputinggroup.org/groups/TCG_l_0_Architecture_Overview.pdf, and www.tmstedcomputinggroup.org/specs/PCClient/TCG_PCCli entImplementationfor BIOS_l.20_1 -00.pdf. These specifications are hereby incorporated by reference. In these embodiments In one of the cases, Bi〇s © is a TCG compliant BIOS. As is known in the art, block 108 includes all other modules, including those for any particular embodiment of the computing system. Physical Platform 0 As illustrated in FIG. 1, host CPU 102 interfaces with NVM 104, security module 1〇6, and block 1〇8 via one or more interfaces 122. Letter. In the computing system 100, because the security module 1〇6 is directly interfaced to the NVM 104 through the interface 132, the security module 1〇6 accesses the NVM 104 autonomously without T.doc/n 200931312 depending on the CPU 102. In some embodiments, interface 132 includes one or more sidebands, where the sidebands represent interfaces that do not use host computing system resources. For example, interface 132 can include one or more separate connections, or one or more special protocols for existing connections can be used. In one of these embodiments, the interface 132 includes one or more computer bus bars that are separate from the bus bar 122. In one of these embodiments, the interface 132 includes a busbar that is faster than the busbar 122. For example, in one of these embodiments, bus bar 122 can include a low pin count LPC bus bar, and interface 132 can include a serial peripheral interface SI > In another example, the interface 132 includes one or more direct connections via the bus bar 122 (ie, the 'bus bar 122 is adapted to include a direct connection 132 between the NVM 104 and the security module 1〇6). . In one embodiment, the security module 106 is in the same physical package as the NVM 104. The integration of the security module 106 with the NVM 104 provides additional tamper-resistant protection in this embodiment because the attacker cannot use the compromised, unobtained platform manufacturer without changing the ampere module 丨〇6. / or the BIOS version of the NVMl4 is replaced by the BIOS version that the owner authorizes and/or agrees to use. Thus, this integration provides protection, for example, against resend attacks (i.e., attempts to resend older versions of BIOS). Depending on the situation, it is assumed that other items are also stored in the NVM 104. The use of the security modules 1〇6 and NVM 1〇4 in the same physical package also better protects at least some of these other items from tampering. 2 discloses another computing system architecture 11 .doc/n 200931312 200 in accordance with an embodiment of the present invention. Similar to computing system loo, computing system 2 includes host CPU 102, BIOS NVM 104, security module 106, and remaining portion 108 of the computing system as described above, and modules 1〇2, 1〇4, 1〇6 And each of 108 may be comprised of any combination of software, hardware, and/or firmware capable of performing the functions defined and explained herein. However, in computing system 200, CPU 102 is coupled to security module 106 and block 108 via one or more interfaces 222. In computing system 2, CPU 102 is not connected to NVM 104 by interface 222, but instead CPU 102 is indirectly connected to NVM 104 via security module 106. In some embodiments, 'interfaces 122, 222 include one or more computer busses. Depending on the embodiment, interfaces 122, 222 may include, for example, an LPC bus, an ISA bus, a PCI bus, any combination of the above, and/or any other suitable bus. In computing system 200, because security module 〇6 is directly interfaced to NVM 104' via interface 232, security module 〇6 autonomously accesses NVM 104 without relying on CPU 102. In some embodiments, interface 232 includes one or more sidebands, wherein the sideband table does not use an interface of the host computing system resources. For example, interface 232 can include one or more separate connections, or one or more special protocols can be used on existing connections. In one of these embodiments, interface 232 includes one or more computer busses that are separate from bus bar 222. In one of these embodiments, interface 232 includes a busbar that is faster than busbar 222. For example, in one of these embodiments, bus bar 222 can include a low pin count LPC bus bar, and interface 232 can include a string perimeter 12 f.doc/n 200931312 interface SPI. In another embodiment, the interface 232 includes one or more direct connections via the busbar 222 (i.e., the busbar 222 is adapted to include a direct connection 232 between the nvm 104 and the security module 110). To simplify the description, interfaces 122, 132, 222, 232 are referred to hereinafter as singular forms of interfaces 122, 132, 222, 232 and should be understood to include the presence of a single interface 122, 132, 222, 232. And an embodiment of a plurality of interfaces ❹ 122, 132, 222, 232. Method embodiments that may be specifically implemented by computing system 100 and/or computing system 2 will now be presented. FIG. 3 illustrates a flow diagram of a method 300 for BI〇s processing in accordance with an embodiment of the present invention. In one embodiment, method 3 is performed by a security module. Depending on the embodiment, the security module 1-6 that performs the method 300 may only have power after the computing system 100 or 200 has been turned on, or may have standby power (meaning that as long as the computing system 100 or 2 is connected to The power source, for example, is plugged into a power outlet or the main battery pack is in the battery pack slot, and the security module 106 is powered, regardless of whether the computing system 1 or 2 is turned "on". In stage 302, the security module 106 senses that the computing system 1 or 200 has been reset (i.e., there is a host reset). For example, in one embodiment, when the computing system 1 or 200 is reset, the security module 106 receives the LRESET input signal. For example, in an embodiment; the security module 106 proceeds to stage 304 immediately after sensing that the computing system has been reset (ie, possibly even during the reset period), however, in another 13 f.doc /π 200931312 In an embodiment, there may be a time lag between phase 302 and phase 304. In stage 304, security module 106 reads the BIOS fragment from NVM 104 via interface 132 or 232 and processes the read BIOS fragment in stage 306. In some embodiments, BIOS processing in stage 306 includes measuring the BIOS segment being read. In some of these embodiments, the BIOS measurement includes a BI 〇 s fragment that is hashed. In general, hashing includes the application of a one-way function, which makes it impossible for an attacker to determine the specific input message for the hash result and the ability to replace the different input messages that will produce the same measurement result. For example, in some embodiments where there are hashes, the hash function for the BI〇s segment read by the hash is based on the NIST published by the National Institute of Standards and Technology, US Government Standards Agency. The SHA standard. Continuing with one of these embodiments, the SHA-1 cryptography is used in particular. In other embodiments, security module 106 may additionally or alternatively perform other processing of some or all of the BIOS. In optional stage 308, the BIOS processing (e.g., BI〇s hash), σ fruit, or a function thereof is stored in memory, such as security module. The processing results or their functions can be sent to the memory for storage, for example, by the security module 106. In one embodiment of the security module 〇6, ΤΡΜ in step 308, the hash result is stored in a τρΜ state transition PCR, such as PCR(9) and/or pcR(1), in the embodiment, in the embodiment, the security mode Group 106 in step 304 reads a segment of BI〇s from NVM via interface f.doc/n 200931312 m or 232, processes the segment read in phase. and optionally in security module 1 % reads before the other part of BI〇S (that is, 'before the other-segment repeating stages 304, 306 and optional 308) will be in the middle of the stage 3〇8

理結果或其函數贿於記賴巾。在另—實關巾,僅執 行階段3G4 -:欠,且在處理經蚊驗處理之所有舰s 片段中的任一者之前,安全模組1〇6經由介面i32戋 自NVM 104讀取此等片段。在另一實施例中,經指定用 於由安全模組1〇6處理之所有m〇s片段可在階段3〇4以 及306之單次執行中被一起讀取以及處理。在一實施例 中’來自各BIOS片段之巾間處理結果或其函數以及最終 ,理結果或其函數(由促成最終結果之所有片段的處理所 得到)可在階段308中儲存於記憶體中,而在另一實施例 中,僅最終處理結果或其函數在階段3〇8中儲存於記憶體 中。在另一實施例中,可省略階段3〇8,且未必儲存處理 結果或其函數。 在一實施例中’僅讀取且處理BIOS程式碼之片段。 在另一實施例中,僅處理BI〇S資料之片段。在另一實施 例中’以與BIOS資料片段分離的方式讀取且處理BI〇s 程式碼片段,且因此得到獨立的最終處理結果。在另一實 施例中’最終處理結果可表示來自BIOS程式碼以及資料 的被處理片段。在另一實施例中,可能存在任何數目之最 終處理結果,每一最終處理結果均表示對BIOS程式碼及/ 或資料之片段的處理。 15The result or its function is a bribe. In the case of the other, the security module 1〇6 reads the self from the NVM 104 via the interface i32 before performing any of the stages 3G4 -: owed, and before processing any of the ship s segments of the mosquito inspection process. And other fragments. In another embodiment, all m〇s segments designated for processing by security module 106 can be read and processed together in a single execution of stages 3〇4 and 306. In one embodiment, the results of the inter-tray processing from each BIOS segment or its function and, ultimately, the results or functions thereof (derived from the processing of all segments that contribute to the final result) may be stored in memory in stage 308, In yet another embodiment, only the final processing result or its function is stored in memory in stage 3〇8. In another embodiment, stage 3〇8 may be omitted and the processing result or its function may not be stored. In one embodiment, only fragments of the BIOS code are read and processed. In another embodiment, only segments of BI〇S data are processed. In another embodiment, the BI〇s code segments are read and processed in a manner separate from the BIOS data fragments, and thus an independent final processing result is obtained. In another embodiment, the final processing result may represent processed fragments from the BIOS code and data. In another embodiment, there may be any number of final processing results, each of which represents processing of a portion of the BIOS code and/or data. 15

Woc/n 200931312 片段==106是TPM的一些實施例中,將_之 杳且此結果儲存於pcr (或另—記憶體位 二在此等實施财之—者中,對於經指定用於處理 體:晉段重複雜奏’且先前儲存至謂另—記憶 2重復叠代中)的結果與刪雜湊結果之 2如串聯並雜湊成的(經更新)結果。將雜湊以及儲 子以重複’直至經指定用於由TPM處理之Bios的全Woc/n 200931312 Fragment == 106 is some embodiments of the TPM, and the result is stored in pcr (or another - memory bit 2 in the implementation of the money, for the designated processing body) The results of the Jin dynasty complex and the previous storage to the double-memory 2 repeated iterations are combined with the confusing result 2 in series and hashed (updated) results. Hash and store are repeated 'up to the full designated Bios for processing by TPM

成最終結果且被儲存於PCR t (或另—記憶體^ 為止。在此等實施例中之一者中,BIOs之全部被雜 成最終結果(亦即,BI0S之全部是經指定由TPM處理): 八在一實施例中,任何經儲存之處理結果或其函數是安 全的。舉例而言,安全性可起因於在階段308中用於儲存 之δ己憶體位置的本質,亦即,因為記憶體受保護。在另一 實例中’安全性可另外或替代地起因於所使用之操作的本 質。繼續該實例,以上所述之結果的擴展可能在一些情況 下有助於所儲存之處理結果或其函數的安全性。 在一些實施例中,在計算系統100已被重設且重設期 間過去之後,CPU 102可檢查安全模組106是否已起始或 正起始過程300,且若安全模組1〇6並未起始,則CPU 102 可執行靜態CRTM,從而初始化驅動器,此驅動器在此等 實施例中由主機CPU用來對安全模組1〇6進行讀取、寫入 以及控制。CPU可經由匯流排丨22讀取經指定用於處理之 BIOS的至少部分’且將此所讀取之bios提供至安全模組 106以在階段306中處理。在此等實施例中之一者中,安 16 f.doc/n 200931312 全模組106隨後可經由介面132讀取經指定用於處理的任 何未讀取之BIOS。在此等實施例中之另一者中,一旦CPU 102已讀取經指定用於處理之BIOS的至少部分,CPU 102 即繼續讀取經指定用於處理之任何未讀取之BIOS。 在另一實施例中,在計算系統100或200已被重設且 重設期間已過去後’ CPU 102可檢查安全模組1〇6是否已 起始或正起始過程300,且若為否,則CPU 102可指示安 〇 全模組106起始過程300 (例如,以階段304開始)。 在一實施例中,CPU 102可使用預定命令或信號(其 在一些情況下可為供應商所特定的)來檢查安全模組1〇6 是否已起始或正起始過程300。 在另一實施例中,CPU 102未檢查安全模組ι〇6是否 已起始或正起始過程300,且假設安全模組ι〇6已執行或 將執行方法300。 在一實施例中,在CPU 102執行經指定用於由安全模 〇 組106處理之任何BIOS片段之前,此片段如在以上所述 之方法300的階段304、306及/或308中之任一者中被處 理。在另一實施例中,在CPU 1〇2執行經指定用於由安全 模組106處理之任何BI0S片段之前,經指定用於處理之 所有BIOS片段如在以上所述之方法3〇〇的階段3〇4、 及/或308中之任一者中被處理。在一實施例中僅當bi〇s 片段之處理結果符合預定準則時,cpu 1〇2才執行該bi〇s 片段,或僅當經指定用於處理之所有BI〇s片段 果符合預定準則時,CPU 102才執行該等m〇s片=; 17 f*doc/n 200931312 另一實施例中,不存在預定準則及/或不存在對BIOS片段 之處理結果是否符合預定準則的評估,且cpui〇2因此可 執行經處理之BIOS片段而不管處理結果。 藉由對方法300之各實施例的描述,則閱讀者顯然地 知道,介面132或232之存在使安全模組1〇6在一些實施 例中能控制階段304中之BIOS讀取及/或控制方法3〇〇的 隨後階段。在此等實施例中,安全模組可直接存取 ❹ 财厘104而不需要CPU 102充當安全模組1〇6與NVM 104之間的中間物(亦即,若安全模組1〇6與]^¥]^1〇4之 間的通信替代地僅經由將CPU丨02連接至安全模組i〇6以 及NVM 104中之每一者的匯流排而進行,則Cpu 將 必定為中間物)。因此,在由安全模組進 行直接存取的此等實施例中,BI〇S讀取通常(但未必)比 在CPU 102充當中間物之情況下快。在此等實施例中之一 者中’介面132或介面232之使用允許比匯流排更快通信, 且該匯流排原本將連接至或確切地將中間物CPU 102連接 G 至安全模組106以及NVM 104中之每一者,故比較而言’ BIOS讀取可能通常(但未必)被加速很多。在安全模組 106在重設期間起始階段304之一實施例中,方法300之 BIOS處理可能在一些情況下比一個必須等待直至重設期 間對於CPU 102已結束以起始BIOS讀取的實施方式要快。 在方法300之其他實施例中,僅在某(些)類型之計 算系統重設之後執行方法300。在此等其他實施例中,在 階段302中,安全模組1〇6經組態以感應某(些)類型之The final result is stored in PCR t (or another memory ^. In one of these embodiments, all of the BIOs are mixed into a final result (ie, all of the BIOS are specified to be processed by the TPM) In an embodiment, any stored processing results or functions thereof are safe. For example, security may result from the nature of the delta memory location used for storage in stage 308, ie, Because the memory is protected. In another example, 'security may additionally or alternatively result from the nature of the operations used. Continuing with this example, the expansion of the results described above may, in some cases, contribute to the storage. Processing the security of the results or their functions. In some embodiments, after the computing system 100 has been reset and the reset period has elapsed, the CPU 102 can check whether the security module 106 has initiated or is starting the process 300, and If the security module 1 〇 6 does not start, the CPU 102 can execute a static CRTM to initialize the drive, which is used by the host CPU to read and write the security module 1 〇 6 in these embodiments. And control. CPU can At least a portion of the BIOS designated for processing is read via bus bar 22 and the read bios are provided to security module 106 for processing in stage 306. In one of these embodiments, An 16 f.doc/n 200931312 full module 106 can then read any unread BIOS designated for processing via interface 132. In the other of these embodiments, once CPU 102 has read Upon at least part of the BIOS designated for processing, the CPU 102 continues to read any unread BIOS designated for processing. In another embodiment, the computing system 100 or 200 has been reset and reset. After the period has elapsed, the CPU 102 can check whether the security module 1〇6 has started or is starting the process 300, and if not, the CPU 102 can instruct the installation module 106 to start the process 300 (for example, Stage 304 begins. In an embodiment, CPU 102 may use a predetermined command or signal (which may be vendor specific in some cases) to check if security module 1 〇 6 has initiated or is starting the process. 300. In another embodiment, the CPU 102 does not check whether the security module ι〇6 is The process 300 is initiated or is beginning, and it is assumed that the security module 〇6 has executed or will execute the method 300. In an embodiment, any BIOS segment designated for processing by the security module 106 is executed at the CPU 102. Previously, this segment was processed as in any of the stages 304, 306, and/or 308 of the method 300 described above. In another embodiment, the CPU 1〇2 is designated for use by the security mode. Prior to any BIOS segments processed by group 106, all of the BIOS segments designated for processing are processed as in any of stages 3〇4, and/or 308 of method 3 described above. In an embodiment, cpu 1〇2 executes the bi〇s segment only if the processing result of the bi〇s segment meets a predetermined criterion, or only when all BI〇s segments specified for processing meet the predetermined criteria The CPU 102 executes the m〇s slices=; 17 f*doc/n 200931312 In another embodiment, there is no predetermined criterion and/or there is no evaluation of whether the processing result of the BIOS segment meets the predetermined criteria, and cpui 〇2 Therefore, the processed BIOS fragment can be executed regardless of the processing result. By way of a description of various embodiments of method 300, the reader will apparently appreciate that the presence of interface 132 or 232 enables security module 1 6 to control BIOS read and/or control in stage 304 in some embodiments. Method 3 随后 subsequent stages. In these embodiments, the security module can directly access the 104 财 104 without requiring the CPU 102 to act as an intermediary between the security module 〇6 and the NVM 104 (i.e., if the security module 1 〇 6 The communication between ^^]^1〇4 is instead made only by connecting the CPU丨02 to the busbar of each of the security module i〇6 and the NVM 104, the CPU will be an intermediate) . Thus, in such embodiments where direct access is made by the security module, the BI〇S read is typically (but not necessarily) faster than if the CPU 102 were acting as an intermediary. In one of these embodiments, the use of 'interface 132 or interface 232 allows for faster communication than the busbar, and the busbar would otherwise be connected to or exactly connect the intermediate CPU 102 to the security module 106 and Each of the NVMs 104, so in comparison, 'BIOS reads may be usually (but not necessarily) accelerated a lot. In one embodiment of the security module 106 in the initial phase 304 of the reset period, the BIOS processing of the method 300 may in some cases be performed more than one must wait until the CPU 102 has ended to initiate a BIOS read during the reset. The way is faster. In other embodiments of method 300, method 300 is performed only after the computing system of some type(s) is reset. In these other embodiments, in stage 302, the security module 1〇6 is configured to sense some type(s).

1S f.doc/n 200931312 重設’且僅在感應到預定類型之重設之後,執行方法300 的剩餘部分。舉例而言,在此等其他實施例中之一些實施 例中’安全模組1〇6經組態以感應冷啟動主機重設,且僅 當在階段3G2中感應到冷啟動主機重設時,執行方法3〇〇 =剩餘部分。繼_實例,在此等其他實施例中之一者中, 安全模組106監測電力信號(VDD)以及LRESET信號兩 者,且若此兩者經確定,則安全模組知曉已發生一冷啟動 ❹域纽。在僅於某(些)類型之計算㈣纽之後執行 方,300的此等其他實施例中之一些實施例中,方法3㈨ 可忐被執行之次數比在方法3〇〇之觸發為任何類型之 的情況下少。 圖4為根據本發明實施例的用於BI〇s處理之方法流 程圖。在一實施例中,方法400由安全模組1〇6執行。 在階段402中,安全模組106感應到待機電力纽) 已變得可用(亦即,在不可用之後)。舉例而言,當計算系 統i00或20〇插入至或返回至工作中之電源插座時或當對 〇 計算系統100或200供電之電池组被置放或被再次置放至 電池組槽中時’待機電力可能變得可用。 一旦待機電力變得可用,安全模組106即可操作。因 此在階段404中,安全模組106經由介面i32或232自Nvm1S f.doc/n 200931312 resets 'and the remainder of method 300 is performed only after sensing a predetermined type of reset. For example, in some of these other embodiments, 'Security Module 1〇6 is configured to sense a cold start host reset, and only when a cold boot host reset is sensed in stage 3G2, Execution method 3 〇〇 = remaining part. In one of the other embodiments, the security module 106 monitors both the power signal (VDD) and the LRESET signal, and if both are determined, the security module knows that a cold start has occurred. ❹域纽. In some of these other embodiments of the execution of the type(s) after only one (some) type of calculation (four), the method 3 (9) can be executed more times than the type 3 method. The situation is less. 4 is a flow diagram of a method for BI〇s processing in accordance with an embodiment of the present invention. In an embodiment, method 400 is performed by security module 110. In stage 402, the security module 106 senses that the standby power button has become available (i.e., after being unavailable). For example, when computing system i00 or 20A is plugged into or returned to an active power outlet or when a battery pack that powers computing system 100 or 200 is placed or repositioned into a battery pack slot' Standby power may become available. Once the standby power becomes available, the security module 106 can operate. Therefore, in stage 404, the security module 106 is from Nvm via interface i32 or 232.

W4讀取BIOS片段,且在階段406中處理此所讀取之BI 片段。 在一些實施例中,階段406執行如同階段3〇6所執行 的動作。在可選階段408中,執行如同階段3〇8所執行的 『d〇c/n 200931312 動作。 &在些實施例中’可在獲得最終經處理之BI0S結果 之刖,通計算系統或2〇〇。在此等實施例中之一者中, 允=安全模組106在CPU 1〇2執行BI〇s之前完成獲得最 P理的Bl〇S結果。在此等實施例中之另一者中,CPU 1〇\可起始執行已被安全模組106讀取且處理之任何BIOS =段。在一實施例中,僅當BIOS片斷之處理結果符合預 ❹絲則時,CpU 102才執行該BIOS片段,或僅當經指定 1於處理之所有BI0S片段的最終處理結果符合預定準則 時,CPU 102才執行該等BI〇s片段。在另一實施例中, 不存在預定準則及/或不存在對m〇s片段之處理結果是否 符合預定準則的評估,且CPU 1〇2因此可執行BI〇s片段 而不管處理結果。 在安全模組106在計算系統1〇〇已接通且重設期間已 過去之前尚未起始執行方法4〇〇的一些實施例中,CPU 1〇2 可執行靜態CRTM,從而初始化驅動器,此驅動器在此等 ❹ 實施例中由主機CPU用來對安全模組1〇6進行讀取、寫入 以及控制。CPU可經由匯流排122讀取經指定用於處理之 BIOS的至少部分’且將此所讀取之Bi〇s提供至安全模組 106以在階段406中處理。在此等實施例中之一者中,安 全模組106隨後可經由介面132讀取經指定用於處理的任 何未讀取BIOS。在此等實施例中之另一者中,一旦cpu 102已讀取經指定用於處理之BIOS的至少部分,CPU 102 即繼續讀取經指定用於處理之任何未讀取BIOS。在此等實 20 £doc/n 200931312 施例中之一者中,在計算系統100已接通且重設期間已過 去後’ CPU 102檢查是否已移除且恢復待機電力,且僅當 已移除且恢復待機電力(其在此實施例中應為使安全模組 106執行方法400的觸發)時’ CPU 102讀取經指定用於 處理之BIOS的至少部分。 在其他實施例t,在計算系統100或200已接通且重 設期間已過去後,CPU 102可檢查安全模組1〇6是否已起 〇 始過程400 ’且若為否,則CTU 102可指示安全模組106 起始過程400 (例如,以階段404開始)。舉例而言,在此 等其他實施例中之一者中,CPU 102可使用預定命令或信 號(其在一些情況下可為供應商所特定的)來檢查安全模 組106是否已起始或正起始過程4〇〇。在此等其他實施例 中之一者中,CPU 102首先檢查是否已移除且恢復待機電 力,且僅當已移除且恢復待機電力(其在此其他實施例中 應為使安全模組106執行方法400的觸發)時,CPU 102 指示安全模組106起始過程400(例如,以階段404開始)。 〇 在另一實施例中,CPU 102未檢查安全模組106是否已起 始或正起始過程400,且假設安全模組1〇6已執行或將執 行方法400。 藉由對方法400之各實施例的描述’使閱讀者顯然知 道,介面132或232之存在使安全模組1〇6在一些實施例 中能控制階段404中之BIOS讀取及/或控制方法400的隨 後階段。在此等實施例中,安全模組1〇6直接存取^^乂河1〇4 而不需要CPU 102充當安全模組1〇6與NVM 104之間的 21 f.doc/n 200931312 中間物(亦即,若安全模組106與NVM 104之間的通信 替代地僅經由將CPU 102連接至安全模組106以及NVM 104中之每一者的匯流排而進行,則cpu 1〇2將必定為中 間物)。因此’在由安全模組1〇6對NVM 1〇4進行直接存 取的此等實施例中’BIOS讀取通常(但未必)比在CPU 102 充當中間物之情況下快。使用介面132或介面232允許比 匯流排(其原本將連接至或確切地將中間物CPU 102連接 ❹ 至安全模組106以及NVM 104中之每一者)更快通信的 此等實施例中之一者中,比較而言,m〇s讀取可能通常(但 未必)被加速很多。 對於閱讀者亦明顯的是,由安全模組1〇6在待機電力 變得可用(或再次可用)與計算系統1〇〇或2〇0被接通之 間的任何時間延滯期間所執行之任何BI〇s處理在一些情 況下轉變為在計算系統100或2〇〇已接通之後較少(或不) 需要BIOS處理’且因此通常(但未必)制較快的啟動 過程。舉例而言,由安全模組進行之BIOS處理可特別包 括階段404至408中之任一者。在時間延滯足以允許階段 402至408在计算系統1〇〇或2〇0接通之前完成的實施例 中,啟動過程通常(但未必)節省完成彼等階段所需之時 間。 在一些實施例中,因為對BI〇s之讀取由感應新近可 用之待機電力而觸發,所以方法4〇〇可被執行之次數比 法300少,假定計算系統100或2〇〇之重設(或觸發類型 之重設)比待機電力新近變得可用發生得次數多(亦即, 22 ’•doc/n 200931312 计算系統100或200之插座或主電池組返回至電源插座/ 電池組槽比重設計算系統1〇〇或2〇〇發生次數少)。 如上所述,視實施例而定,最終BI〇s處理結果及/或 中間BIOS處理結果可被使用或可能不使用。本發明對是 否使用BIOS處理結果或如何使用BI〇s處理結果不施加 限制。 在一實施例中,一旦CPU 102啟用(亦即,在重設期 間已結束後)’安全模組1〇6即可確定中斷線以指示m〇s 處理結果可用。在另一實施例中,一旦cpTJ 1〇2啟用,cpu ❹ Ο 102即可輪詢且藉此理解到班〇8處理結果可用。 在些實施例中,安全模組1〇6可使用最終BI〇s處 理結果及/或巾間處賴果而執行額外功能。為了進一步啟 發閱讀者’現描述可使用BI0S處理結果的一些可能應用, 但所描述之應用不應被解釋為所需的及/或限制性的: 在-些實施例中’安全模組1Q6可提供受保護儲存服 務’此類似於TPM之已知可能功能性。在此等實施例中, 安全模組106可使用一或多個記憶體位置之内容(例如, H於TPM中之PCR中之—或多者的内容)而密封資料 (呆存量職果之麵)。舉糾言,在鱗實施例中之一 最:及/用之内包括(例如)PCR(0)中所包括的 =理,。安全模組1G6傳回表示經 _且被要求開封blGb。僅當經指定之 置的内容與密封期間相同時,安全模組·; 23 f.doc/n 200931312 前被一或多個經指定記憶體位置的内容所密封)。 在一些實施例中,安全模組106可執行RSA私用密餘 運算,此類似於ΊΤΜ之已知可能功能性。舉例而言,在 此等實施例中之一者中,安全模組106可保存私用密錄, 且若呼叫者被授權使用此私用密鑰,則此呼叫者可命令安 全模組106使用此密餘來標記一或多個記憶體位置之當前 ΟW4 reads the BIOS fragment and processes the read BI fragment in stage 406. In some embodiments, stage 406 performs the actions performed as stage 3〇6. In optional stage 408, the "d〇c/n 200931312 action performed as in stage 3〇8 is performed. &<>> in some embodiments' may be passed through a computing system or 2〇〇 after obtaining the final processed BIOS results. In one of these embodiments, the security module 106 completes obtaining the most reasonable BlsS results before the CPU 1〇2 executes BI〇s. In the other of these embodiments, the CPU 1 〇 \ can initiate execution of any BIOS = segments that have been read and processed by the security module 106. In an embodiment, the CpU 102 executes the BIOS fragment only when the processing result of the BIOS fragment conforms to the pre-wire, or only when the final processing result of all the BIOS segments designated by the processing 1 meets the predetermined criterion, the CPU 102 executes these BI〇s fragments. In another embodiment, there is no predetermined criterion and/or there is no evaluation of whether the processing result of the m〇s fragment meets the predetermined criterion, and the CPU 1〇2 can thus perform the BI〇s fragment regardless of the processing result. In some embodiments in which the security module 106 has not initiated execution of the method 4 before the computing system 1 is turned "on" and the reset period has elapsed, the CPU 1〇2 can execute a static CRTM to initialize the drive, the driver In this embodiment, the host CPU is used to read, write, and control the security module 1〇6. The CPU can read at least a portion of the BIOS designated for processing via bus bar 122 and provide the read Bi〇s to security module 106 for processing in stage 406. In one of these embodiments, the security module 106 can then read any unread BIOS designated for processing via the interface 132. In the other of these embodiments, once the CPU 102 has read at least a portion of the BIOS designated for processing, the CPU 102 continues to read any unread BIOS designated for processing. In one of the real 20 £doc/n 200931312 embodiments, after the computing system 100 has been turned on and the reset period has elapsed, the CPU 102 checks if the standby power has been removed and resumed, and only if it has been moved In addition to and in returning standby power (which in this embodiment should cause the security module 106 to perform the triggering of the method 400), the CPU 102 reads at least a portion of the BIOS designated for processing. In other embodiments t, after the computing system 100 or 200 has been turned on and the reset period has elapsed, the CPU 102 may check whether the security module 1 〇 6 has started the process 400 ' and if not, the CTU 102 may The security module 106 is instructed to initiate process 400 (e.g., beginning with stage 404). For example, in one of these other embodiments, CPU 102 can use a predetermined command or signal (which in some cases can be vendor specific) to check if security module 106 has started or is positive. The starting process is 4〇〇. In one of these other embodiments, the CPU 102 first checks if the standby power has been removed and resumed, and only if the standby power has been removed and resumed (which in other embodiments should be to have the security module 106 When the triggering of method 400 is performed, CPU 102 instructs security module 106 to initiate process 400 (eg, starting with stage 404). In another embodiment, the CPU 102 does not check whether the security module 106 has started or is starting the process 400, and assumes that the security module 106 has performed or will perform the method 400. By the description of the various embodiments of method 400, it is apparent to the reader that the presence of interface 132 or 232 enables security module 1 6 to control the BIOS read and/or control method in stage 404 in some embodiments. The subsequent stages of 400. In these embodiments, the security module 1〇6 directly accesses the ^1乂4〇4 without requiring the CPU 102 to act as a 21 f.doc/n 200931312 intermediate between the security module 1〇6 and the NVM 104. (That is, if communication between the security module 106 and the NVM 104 is instead only via a bus that connects the CPU 102 to each of the security module 106 and the NVM 104, the cpu 1〇2 will necessarily For the intermediate). Thus, in such embodiments where the security module 106 accesses NVM 1 〇 4 directly, the 'BIOS read is usually (but not necessarily) faster than if the CPU 102 were acting as an intermediary. Using interface 132 or interface 232 allows for faster communication than busbars that would otherwise be connected to or specifically connect intermediate CPU 102 to each of security module 106 and NVM 104. In one case, in comparison, m〇s reading may be usually (but not necessarily) accelerated a lot. It is also apparent to the reader that it is performed by the security module 1〇6 during any time lag between the standby power becoming available (or available again) and the computing system 1〇〇 or 2〇0 being switched on. Any BI〇s processing in some cases translates to less (or no) BIOS processing after the computing system 100 or 2 is turned on, and thus typically (but not necessarily) a faster boot process. For example, BIOS processing by the security module may specifically include any of stages 404 through 408. In embodiments where the time lag is sufficient to allow stages 402 to 408 to be completed before the computing system 1 or 2 〇 is turned "on", the startup process typically (but not necessarily) saves the time required to complete those stages. In some embodiments, since the reading of BI〇s is triggered by sensing the newly available standby power, the method 4〇〇 can be executed fewer times than the method 300, assuming a reset of the computing system 100 or 2〇〇 (or reset of trigger type) occurs more frequently than standby power becomes available (ie, 22 '•doc/n 200931312 compute system 100 or 200 socket or main battery pack returns to power outlet / battery pack slot weight Design calculation system 1〇〇 or 2〇〇 occurs less frequently). As noted above, depending on the embodiment, the final BI〇s processing results and/or intermediate BIOS processing results may or may not be used. The present invention does not impose restrictions on whether to use the BIOS processing results or how to use the BI〇s processing results. In one embodiment, once the CPU 102 is enabled (i.e., after the reset period has elapsed), the security module 1〇6 can determine the interrupt line to indicate that the m〇s processing result is available. In another embodiment, once cpTJ 1 〇 2 is enabled, cpu Ο Ο 102 can poll and thereby understand that the 〇 8 processing result is available. In some embodiments, the security module 106 can perform additional functions using the final BI〇s processing results and/or the care of the towel. To further motivate the reader to describe some of the possible applications in which the BIOS processing results can be used, the described application should not be construed as being required and/or limiting: In some embodiments, the 'Security Module 1Q6 can Provide protected storage services 'This is similar to the known possible functionality of TPM. In such embodiments, the security module 106 can seal the data using the content of one or more memory locations (eg, H in the PCR in the TPM - or more) ). To clarify, one of the scale embodiments includes: and/or includes, for example, the = in the PCR (0). The security module 1G6 returns a representation _ and is required to open the blGb. The security module is only protected by one or more contents of the specified memory location before the specified content is the same as the sealing period. In some embodiments, the security module 106 can perform an RSA private secret operation, which is similar to the known possible functionality of the UI. For example, in one of these embodiments, the security module 106 can maintain a private secret record, and if the caller is authorized to use the private key, the caller can command the security module 106 to use This secret is used to mark the current location of one or more memory locations.

内容(其可,例如,包括最終及/或中間BIOS處理結果) 的快照。 在一實施例中,安全模組106依賴於Bitlocker™ DriveA snapshot of the content (which may, for example, include final and/or intermediate BIOS processing results). In an embodiment, the security module 106 relies on BitlockerTM Drive

Encryption (Bitlocker™驅動加密),此類似於TPM之已知 可能功能性。Microsoft® Windows VistaTM作業系統包括 Bitlocker™ Drive Encryption > Bitlocker™ Drive Encryption 在一實施中使用根密令(root secret)來加密硬碟機之作業 系統,且依賴於TPM來約束對此等根密令之存取。視bios 雜湊結果以及其他雜湊結果而定,TPM解鎖根密令,藉此 允許作業系統載入或不解鎖根密令。更多資訊被(例如) 提供在 http://technet.microsoft.eom/en-us/windowsvista/aa906017.a spx ’其特此以參考的方式予以併入。 在一實施例中,視最終BIOS處理結果及/或中間BIOS 處理結果而定,計算系統100或200可能被准許繼續啟動 或可能被防止繼續啟動。Encryption (BitlockerTM Drive Encryption), which is similar to the known possible functionality of TPM. The Microsoft® Windows VistaTM operating system includes BitlockerTM Drive Encryption > BitlockerTM Drive Encryption uses a root secret to encrypt the operating system of the hard drive in an implementation, and relies on the TPM to constrain the storage of such root secrets. take. Depending on the bios hash results and other hash results, the TPM unlocks the root secret order, allowing the operating system to load or not unlock the root secret order. More information is provided, for example, at http://technet.microsoft.eom/en-us/windowsvista/aa906017.a spx', which is hereby incorporated by reference. In an embodiment, depending on the final BIOS processing results and/or intermediate BIOS processing results, computing system 100 or 200 may be permitted to continue to boot or may be prevented from continuing to boot.

在一實施例中’視最終BIOS處理結果及/或中間BIOS 處理結果而定,計算系統軟體可依賴於或可不依賴於BIOS 24 £doc/n 200931312 (其中不依賴可包括,例如,以替代模式啟動)。In one embodiment, depending on the final BIOS processing results and/or intermediate BIOS processing results, the computing system software may or may not rely on the BIOS 24 £doc/n 200931312 (wherein not including, for example, in an alternate mode) start up).

在一實施例中,最終BIOS處理結果及/或中間BI0S 處理結果可用於提取系統安全狀態之快照或解鎖安全模組 106中之加密受保護資料。 圖5為根據本發明之實施例的安全模組1〇6之方塊 圖。在所說明之實施例中,安全模組1〇6包括感應模組 502、提取模組504、處理模組506以及記憶體508。模組 0 502、504、506以及508中之每一者可由能夠執行本文所 界定以及所解釋之功能的軟體、硬體及/或韌體之任何組合 構成。為使說明簡單化’記憶體508被揭示為一個單元’ 但安全模組106可能在一些實施例中包括不同類型之揮發 性及/或非揮發性記憶體,及/或多個記憶體組。舉例而言, 在一實施例中,記憶體508可特別包括以下項中之任一 者:暫存器、臨時記憶體輸入與輸入緩衝器及/或受保護記 憶體位置。 在所說明之安全模組106之實施例中,感應模組502 ❹ 經組態以感應對於方法300及/或400的觸發。舉例而言, 感應模組502可經組態以在階段402中感應先前不可用之 待機電力的可用性,及/或可經組態以在階段302中感應計 算系統重設(或特定類型之重設)。在感應器502已感應到 觸發之後,提取模組504經組態以經由介面132或232直 接存取非揮發性記憶體104。如之前提及,在一實施例中, 非揮發性記憶體104可能與安全模組106處於同一實體封 裝中,但在圖5中未如此說明。經提取之BIOS片段由處 25 r.doc/n 200931312 =模組506處理。在-實施例中,處理模組5〇6包括雜凑 模組,此祕模組經_以(例如)執行腸旧碼1 mos處理(例如’雜湊處理)之最終結果及/或處理(例 如,雜凑處理)之-或多個中間結果可在—實施例 於記憶體巾。在:實_巾,除錢II 5G2經組態i 對於階段3G2 $ 402感應觸發之外,感應器s()2亦可經組 態以感應(例如)cpu 1〇2何時啟用,使得安全模組1〇6In one embodiment, the final BIOS processing results and/or intermediate BIOS processing results can be used to extract a snapshot of the system security state or to unlock the encrypted protected material in the security module 106. Figure 5 is a block diagram of a security module 1〇6 in accordance with an embodiment of the present invention. In the illustrated embodiment, the security module 106 includes an inductive module 502, an extraction module 504, a processing module 506, and a memory 508. Each of modules 0 502, 504, 506, and 508 can be constructed of any combination of software, hardware, and/or firmware capable of performing the functions defined and explained herein. To simplify the description 'memory 508 is disclosed as a unit', security module 106 may, in some embodiments, include different types of volatile and/or non-volatile memory, and/or multiple memory sets. For example, in one embodiment, memory 508 can include any of the following: a scratchpad, a temporary memory input and input buffer, and/or a protected memory location. In the illustrated embodiment of the security module 106, the sensing module 502 is configured to sense triggering of the methods 300 and/or 400. For example, the sensing module 502 can be configured to sense the availability of previously unavailable standby power in stage 402, and/or can be configured to sense a computing system reset (or a particular type of weight) in stage 302. Assume). After the sensor 502 has sensed the trigger, the extraction module 504 is configured to directly access the non-volatile memory 104 via the interface 132 or 232. As mentioned previously, in one embodiment, the non-volatile memory 104 may be in the same physical package as the security module 106, but is not illustrated in Figure 5. The extracted BIOS fragment is processed by 25 r.doc/n 200931312 = module 506. In an embodiment, the processing module 5〇6 includes a hash module that performs, for example, the final result and/or processing of the intestine old code 1 mos processing (eg, 'heavy processing') (eg, , or a plurality of intermediate results may be in the embodiment of the memory towel. In: real _ towel, in addition to money II 5G2 configured i for phase 3G2 $ 402 induction trigger, sensor s () 2 can also be configured to sense (for example) when cpu 1 〇 2 is enabled, so that the security mode Group 1〇6

可確疋重设週期已結束且最終BIqs處理結果於CPU 102時之中斷線。 在本發明之一些實施例中,安全模組1〇6可包括比圖 5所示之模組更少、更多,及/或不同於圖5所示之模組的 模組。舉例而言,在一實施例中,安全模組可另外或替代 地特別包括:用於產生及/或保護密碼密鑰之模組,及/或 隨機數產生器模組。在本發明之其他實施例中,本文所描 述之安全模組106的功能性可不同地劃分為圖5之模組。 在本發明之其他實施例中,本文所描述之安全模組1〇6的 功能性可劃分為比圖5所示之模組更少、更多,及/或不同 於圖5所示之模組的模組’及/或安全模組1〇6可包括額外 功月b性或比本文所描述之更少功能的功能性。在本發明之 其他實施例中,圖5所示之一或多個模組可具有比所描述 之功能性更多、更少,及/或不同於所描述之功能性的功能 性。舉例而言,在一實施例中,處理模組506可執行額外 功能,例如,密封/開封、標記快照、約束對密令之存取、 RSA私用密鑰運算等中之任一者,或此等額外功能中之一 26 f.doc/n 200931312 或多者可在安全模組1〇6中於別處被執行。 在本發明之一些實施例中,因為安全模組106經由介 面132或232直接介面連接至1〇4,所以1〇4It is possible to confirm that the reset cycle has ended and the final BIqs process results in the interrupt line of the CPU 102. In some embodiments of the invention, the security module 116 may include fewer, more, and/or different modules than those shown in FIG. For example, in one embodiment, the security module may additionally or alternatively include, in particular, a module for generating and/or protecting a cryptographic key, and/or a random number generator module. In other embodiments of the invention, the functionality of the security module 106 described herein may be variously divided into the modules of FIG. In other embodiments of the present invention, the functionality of the security module 1 〇 6 described herein may be divided into fewer, more, and/or different modes than those shown in FIG. The set of modules 'and/or security modules 1-6 may include additional functionality or less functionality than described herein. In other embodiments of the invention, one or more of the modules shown in Figure 5 may have more functionality than described, less, and/or different functionality than the described functionality. For example, in an embodiment, the processing module 506 can perform additional functions, such as sealing/unsealing, tag snapshots, constraint-to-density access, RSA private key operations, etc., or One of the additional functions 26 f.doc/n 200931312 or more can be executed elsewhere in the security module 1〇6. In some embodiments of the present invention, since the security module 106 is directly interfaced to 1〇4 via the interface 132 or 232, 1〇4

G 中之由CPU 102執行的BI0S可排除與由安全模組1〇6而 非CPU 102執行之功能性相關聯的任何程式碼及/或資 料。舉例而言,在此等實施例中之一者中,NVM1〇4中之 BIOS可排除與調用cpu來讀取BI〇s之片段相關聯的程 式碼及/或資料(因為由安全模組1〇6替代地讀取此(等) 片段),及/或可排除與調用CPU來將BI〇s片段送至安全 模組(例如,TPM)相關聯的程式碼及/或資料。在另一實 中,與調用CPU 102來讀取BIOS之片段(替代地由 安全模組106讀取)相關聯的程式碼及/或資料,及/或盥 調用cpu 102來將㈣s片段送至安全模址1〇6相關聯的 程^喝及/或資料被包括於腳肘刚中的m〇s中。舉例 而言,讀取及/或饋給程式碼及/或資料可被包括於nvm 104中的BIOS巾,以維持向後相容性。作為另一實例,讀 取及/或饋給程式碼及/或資料可被包括於NVM 104中的 BI〇s中,因為在-些實施例中’ CPU 1〇2可具有在某些情 例如’若安全模組1G6無法起始或料方法3⑻或 的性Ϊ刪之毅以及將刪諸駐安全模組106 腦。^理ί,根據本發明之緖可為經適當程式化之電 方法的電腦程式。本發明更涵蓋機器可讀二本= 27 ?Aoc/n 200931312 體確 尸令程Ϊ具體化可由機11執行於執行本發明之方 法的 雖然已關於特定實施例而展示且描述了本發明,但 2並未因此受到限制。熟悉本行業者應想到在本發明^ 範可内的眾多修改、改變以及改良。 【圖式簡單說明】The BIOS executed by CPU 102 in G may exclude any code and/or information associated with the functionality performed by security module 1.6 without being executed by CPU 102. For example, in one of these embodiments, the BIOS in NVM1〇4 may exclude code and/or data associated with invoking cpu to read a segment of BI〇s (because of security module 1) 〇6 alternatively reads this (etc.) fragment, and/or may exclude code and/or material associated with invoking the CPU to send the BI〇s fragment to the security module (eg, TPM). In another implementation, the code and/or data associated with the CPU 102 is invoked to read a segment of the BIOS (alternatively read by the security module 106), and/or the cpu 102 is invoked to send the (4) s fragment to The procedure associated with the safety model address 1〇6 and/or the data is included in the m〇s just in the elbow. For example, the read and/or feed code and/or data may be included in the BIOS towel in the nvm 104 to maintain backward compatibility. As another example, reading and/or feeding code and/or material may be included in BI〇s in NVM 104, as in some embodiments 'CPU 1〇2 may have some 'If the security module 1G6 can not start or the method 3 (8) or the nature of the deletion and will be deleted from the security module 106 brain. ^ ί, according to the present invention, may be a computer program of a properly programmed electrical method. The present invention further encompasses a machine readable book = 27 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 2 is not subject to restrictions. Numerous modifications, changes, and improvements within the scope of the invention are apparent to those skilled in the art. [Simple description of the map]

圖1為根據本發明之實施例的具有BI〇s處 系統的方塊圖。 °异 圖2為根據本發明之實施例的具有m〇s 計算系統的方塊圖。 另— 圖3為根據本發明之實施例的用於m〇s處理之 流程圖。 圖4為根據本發明之實施例的用於m〇s處理之方 流程圖。 圖5為根據本發明之實施例的安全模組之方塊圖。 【主要元件符號說明】 100 :計算系統架構/計算系統 102:主機中央處理單元cpu 104 :非揮發性記憶體 106 .安全模組 108. s十异系統之剩餘部分/區塊 122 :介面/匯流排 132:介面/直接連接 200 :計算系統架構/計算系統 28 200931312 f.doc/n1 is a block diagram of a system with BI〇s in accordance with an embodiment of the present invention. Figure 2 is a block diagram of a computing system with m〇s in accordance with an embodiment of the present invention. 3 is a flow chart for m〇s processing in accordance with an embodiment of the present invention. 4 is a flow chart of a process for m〇s processing in accordance with an embodiment of the present invention. Figure 5 is a block diagram of a security module in accordance with an embodiment of the present invention. [Main Component Symbol Description] 100: Computing System Architecture/Computation System 102: Host Central Processing Unit cpu 104: Non-volatile Memory 106. Security Module 108. s Ten System Remaining Part/Block 122: Interface/Confluence Row 132: Interface/Direct Connection 200: Computing System Architecture/Computation System 28 200931312 f.doc/n

222 介面/匯流排 232 介面/直接連接 300 方法/過程 302 階段 304 階段 306 階段 308 階段 400 方法/過程 402 階段 404 階段 406 階段 408 階段 502 感應模組/感應器 504 提取模組 506 處理模組 508 :記憶體222 Interface/Bus 232 Interface/Direct Connection 300 Method/Process 302 Stage 304 Stage 306 Stage 308 Stage 400 Method/Process 402 Stage 404 Stage 406 Stage 408 Stage 502 Sensing Module/Sensor 504 Extraction Module 506 Processing Module 508 :Memory

2929

Claims (1)

f.doc/n 200931312 十、申請專利範圍: 1. 一種在計算系統中進行基本輸入/輸出系統BI〇s 理的方法,包括: 竭' 發性記憶體;以及 在所述計算系統中之一安全模組經由—介面讀取 存於所述計算系統中之一非揮發性記憶體中的BI0S之 ,少部分,所述介面直接連接所述安全模組與所述非揮F.doc/n 200931312 X. Patent application scope: 1. A method for performing basic input/output system BI〇s in a computing system, comprising: exhaustive memory; and one of the computing systems The security module reads, via the interface, a small portion of the BIOS stored in one of the non-volatile memory in the computing system, the interface directly connecting the security module and the non-swing 所述安全模組處理所述BIOS之所述至少部分。 2·如申請專利範圍第1項所述之方法,其中所述安全 模組經組態以用待機電力操作,所述方法更包括: 王 所述安全模組感應待機電力在不可用之後變得可 其中在待機電力變得可用之後起始所述讀取。 3, 如申請專利範圍第1項所述之方法,其中所述處理 包括量測。 4. 如申請專利範圍第3項所述之方法,其中所述量測 包括雜凑。 5·如申請專利範圍第1項所述之方法,更包括: 所述安全模組感應到所述計算系統已被重設;其中 在所述計算系統已被重設之後起始所述讀取。 6·如申請專利範圍第5項所述之方法,其中僅當所述 計算系統已由冷啟動重設而重設時,起始所述讀取。 7.如申請專利範圍第5項所述之方法,其中所述安全 模組具備待機電力。 30 doc/n 200931312 8. 如申請專利範圍第5項所述之方法,其中 模組在所述計算系統已接通之後具備電力。 9. 如申請專利範圍第5項所述之方法,其中在 算系統之重設期間起始所述讀取。 10·如申請專利範圍第1項所述之方法,更包括: 所述安全模_所述處理之至少—結果或其函數儲 存於所述安全模組中的記憶體中。 © 丨1.如申請專利範圍第1項所述之方法,更包括: 在所述計算純已被重設之後,所述計算系統中之 -中央處理單元在—時間·轉始執行所述励s之所述 至少部分,所述時間點比如果在所述計算系統已被重設 之後所述中央處理單元必須讀取所述BI〇s之所述至少 部分且將所述Bi〇S之所述至少部分提供至所述安全模 組用於處理的情況下之時間點早。 12.—種在計算系統中進行基本輸入/輸出系統Bl〇s 處理的方法,包括: 〇 在所itrj·算系統丨之—安全模組感應到待機電力在 不可用之後變得可用; 所述安全模組接著經由一介面讀取儲存於所述計算 系,中之一非揮發性記憶體中的BIOS之至少部分,所 述介面直接連接所述安全模組與所述非揮發性記憶體; 以及 所述安全模組處理所述BI〇s之所述至少部分。 13.如申請專利範圍第12項所述之方法,其中所述處 31 doc/n 200931312 理包括雜湊。 14. 一種用於基本輸入/輸出系統BI〇s處理之系統, 括: 一非揮發性記憶體,其經組態以儲存BI〇s ; 一安全模組,其經組態以讀取所述BI〇s之至少部 分且經組態以處理所述則〇8之所述至少部分;以及 "面,其直接連接於所述安全模組與所述非揮發 ❹ 性記憶體之間。 只 15. 如申請專利範圍第14項所述之系統,更包括: 一中央處理單元;以及 一介面,其連接於所述中央處理單元與所述安全模 組之間。 16. 如申請專利範圍第15項所述之系統,更包括: 一介面,其連接於所述中央處理單元與所述 性記憶體之間。 x 17. 如申請專利範圍第16項所述之系統,其中所述連 ❹接於所述安全模組與所述非揮發性記憶體之間的介面經組 態以允許比連接於所述令央處理單元與所述非揮發性記憔 體之,的介面更快的通信或比連接於所述中央處理單^ 所述安全模組之間的介面更快的通信。 〃 18. 如申請專利範圍第16項所述之系統,其中所述中 央處理單元經組態以在重設之後的一時間點起始執行 Β,之所述至少部分’所述時_比如果在所述中央處理 單元經組態以在所述重設之後讀取所述BIOS之所述至少 32 doc/n 200931312 分提供至所述安全模組 入樓範料14項所述之纽,其中所述安 王模广、所述非揮紐記憶體被包括於同—實體封裝中。 ^如申請專利範圍第14項所述之系統,其中所述安 王模組經組_在不可用之待_The security module processes the at least a portion of the BIOS. 2. The method of claim 1, wherein the security module is configured to operate with standby power, the method further comprising: the security module senses that the standby power becomes unavailable after being unavailable. The reading may be initiated after the standby power becomes available. 3. The method of claim 1, wherein the processing comprises measuring. 4. The method of claim 3, wherein the measuring comprises hashing. 5. The method of claim 1, further comprising: the security module sensing that the computing system has been reset; wherein the reading is initiated after the computing system has been reset . 6. The method of claim 5, wherein the reading is initiated only when the computing system has been reset by a cold start reset. 7. The method of claim 5, wherein the security module is provided with standby power. The method of claim 5, wherein the module has power after the computing system has been turned "on". 9. The method of claim 5, wherein the reading is initiated during a reset of the computing system. 10. The method of claim 1, further comprising: said security mode - at least the result of said processing or a function thereof being stored in a memory in said security module.丨1. The method of claim 1, further comprising: after the computing pure has been reset, the central processing unit in the computing system performs the excitation at - time At least a portion of the s, the time point is greater than the portion of the BI〇s that must be read by the central processing unit if the computing system has been reset and the Bi〇S The time is at least partially provided to the security module for processing. 12. A method for performing a basic input/output system Bls processing in a computing system, comprising: 〇 in the itrj· computing system—the security module senses that standby power becomes available after being unavailable; The security module then reads at least part of the BIOS stored in one of the non-volatile memory in the computing system via an interface, the interface directly connecting the security module and the non-volatile memory; And the security module processes the at least part of the BI〇s. 13. The method of claim 12, wherein the doc/n 200931312 includes a hash. 14. A system for basic input/output system BI〇s processing, comprising: a non-volatile memory configured to store BI〇s; a security module configured to read said At least a portion of the BI 〇s and configured to process the at least a portion of the 〇 8; and a " face that is directly coupled between the security module and the non-volatile memory. 15. The system of claim 14, further comprising: a central processing unit; and an interface coupled between the central processing unit and the security module. 16. The system of claim 15 further comprising: an interface coupled between the central processing unit and the memory. The system of claim 16, wherein the interface between the security module and the non-volatile memory is configured to allow a ratio to be connected to the order The central processing unit communicates faster with the interface of the non-volatile token or faster than the interface between the central processing unit and the security module. The system of claim 16, wherein the central processing unit is configured to initiate execution at a point in time after resetting, the at least part of said The at least 32 doc/n 200931312 points that the central processing unit is configured to read the BIOS after the resetting are provided to the security module entry plan 14 item, wherein The An Wang Moguang, the non-core memory is included in the same-physical package. ^The system of claim 14, wherein the An Wang module group _ is not available _ 取所述BIOS之所述至少部分。之後起始-賣 組,包括種用於基本輪入/輸出系統BI〇S處理之安全模 一感應器’其經組態以感應對於讀取BIOS之至少 部分的觸發; -提取模組’其經組態以在所述感應器已感應到所 ^發之後經由一介面自儲存所述BI〇s之一非揮發性 記憶體讀取所述BI0S的所述至少部分,所述介面直接 連接於所述轉發性記,隨無述安全模組之間;以及 一處理模組’其經組態以處理所述BI〇S之所述 讀取之至少部分。 22. 如申請專利範圍第21項所述之安全模組,其中 述觸發為待機電力在不可狀後的可用性。 23. 如申请專利範圍第21項所述之安全模組,其中所 述觸發為包括所述安全模組之計算系統的-重設。 24·如申請專利範圍第21項所述之安全模組其中所 述觸發為包括所述安全模組之計算系統的至少一預定類型 之重設中的至少一者。 33 doc/π 200931312 25. 如申請專利範圍第21項所述之安全模組,其中所 述處理模組經組態以雜湊所述BIOS的所述被讀取之至少 部分。 26. 如申請專利範圍第21項所述之安全模組,更包括: 記憶體,其經組態以儲存所述處理之至少一結果或 其函數。 27. 如申請專利範圍第21項所述之安全模組,其中所 述模組符合可信賴計算組織規範。Taking at least the portion of the BIOS. The start-sell group then includes a safety mode sensor for the basic wheel input/output system BI〇S processing 'which is configured to sense a trigger for reading at least part of the BIOS; - an extraction module' Configuring to read the at least portion of the BIOS via an interface from one of the BI〇s non-volatile memory after the sensor has sensed the transmission, the interface being directly connected to The forwarding is recorded between the security modules; and a processing module is configured to process at least a portion of the reading of the BI〇S. 22. The security module of claim 21, wherein the trigger is the availability of standby power after it is not available. 23. The security module of claim 21, wherein the trigger is a reset of a computing system including the security module. The security module of claim 21, wherein the triggering is at least one of at least one predetermined type of resetting of the computing system including the security module. The security module of claim 21, wherein the processing module is configured to hash at least a portion of the read of the BIOS. 26. The security module of claim 21, further comprising: a memory configured to store at least one result or a function of the process. 27. The security module of claim 21, wherein the module conforms to a trusted computing organization specification. 3434
TW097100200A 2008-01-03 2008-01-03 Systems and methods for bios processing TWI368872B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW097100200A TWI368872B (en) 2008-01-03 2008-01-03 Systems and methods for bios processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097100200A TWI368872B (en) 2008-01-03 2008-01-03 Systems and methods for bios processing

Publications (2)

Publication Number Publication Date
TW200931312A true TW200931312A (en) 2009-07-16
TWI368872B TWI368872B (en) 2012-07-21

Family

ID=44865260

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097100200A TWI368872B (en) 2008-01-03 2008-01-03 Systems and methods for bios processing

Country Status (1)

Country Link
TW (1) TWI368872B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550436B (en) * 2011-12-30 2016-09-21 英特爾股份有限公司 Using a trusted platform module for boot policy and secure firmware
US10733288B2 (en) 2013-04-23 2020-08-04 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550436B (en) * 2011-12-30 2016-09-21 英特爾股份有限公司 Using a trusted platform module for boot policy and secure firmware
US10733288B2 (en) 2013-04-23 2020-08-04 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
US11520894B2 (en) 2013-04-23 2022-12-06 Hewlett-Packard Development Company, L.P. Verifying controller code
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption

Also Published As

Publication number Publication date
TWI368872B (en) 2012-07-21

Similar Documents

Publication Publication Date Title
US8886955B2 (en) Systems and methods for BIOS processing
US11354416B2 (en) Secure boot sequencer and secure boot device
TWI632483B (en) Security device and method of providing security service to host therein, security apparatus and computer software product
US20230195900A1 (en) Rollback Resistant Security
TWI528281B (en) Platform firmware armoring method, apparatus, system and associated machine-readable medium
TWI238357B (en) Providing a secure execution mode in a pre-boot environment
US8375437B2 (en) Hardware supported virtualized cryptographic service
TWI277904B (en) Method, recording medium and system for protecting information
TWI245182B (en) Method, chipset, system and recording medium for responding to a sleep attack
TWI266989B (en) Method, apparatus and token device for protection against memory attacks following reset
KR101209252B1 (en) Booting method and boot authentication method for electronic device
TWI582632B (en) Method and system of entering a secured computing environment using multiple authenticated code modules,and processor
JP2005227995A (en) Information processor, information processing method and computer program
JP5001123B2 (en) Recording device, integrated circuit, access control method, program recording medium
TW201009583A (en) Storage system, controller and data protecting method thereof
BRPI0801772B1 (en) METHOD IMPLEMENTED BY COMPUTER, INFORMATION TREATMENT SYSTEM AND LEGIBLE STORAGE MEDIA BY COMPUTER
TW201220040A (en) Method to ensure platform silicon configuration integrity
TWI402755B (en) Secure memory card with life cycle phases
TW200931312A (en) Systems and methods for BIOS processing
JP4724107B2 (en) User authentication method using removable device and computer
Safford et al. Take control of TCPA
US11657157B2 (en) Secure boot system, method and apparatus
TWI841919B (en) Computer system for failing a secure boot in a case tampering event
CN117193863B (en) Method, device, system and processor for starting host bootstrap program
TWI844823B (en) Computer system and method for failing a secure boot in a case tampering event