專利名稱:用于基本輸入/輸出系統(tǒng)處理的系統(tǒng)以及方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于計算系統(tǒng)安全,特別是關(guān)于用于基本輸入/輸出系統(tǒng)處理的 系統(tǒng)以及方法。
背景技術(shù):
通常,計算系統(tǒng)存在三種可能的電力狀態(tài)。第一電力狀態(tài)為未供電狀態(tài), 此情況發(fā)生在計算系統(tǒng)未連接至任何電源時。第二電力狀態(tài)為待機(jī)電力狀態(tài),
也稱為Soft Off (G2/S5)或休眠(S4非易失性睡眠)模式,此情況發(fā)生在計 算系統(tǒng)連接至電源(例如,插入至電源插座中或主電池組處于電池組;槽中) 但計算系統(tǒng)未接通(也即,未被供電)時。第三電力狀態(tài)為通電狀態(tài),此情 況發(fā)生在計算系統(tǒng)被供電(也即,接通)時。
計算系統(tǒng)的重設(shè)可,例如用冷啟動主機(jī)平臺重設(shè)(cold boot host platform
reset)(其例如,包括在接通計算系統(tǒng)之后的開機(jī)自我測試)、硬件主豐幾平臺重 設(shè)(也即,計算系統(tǒng)組件的重設(shè))或熱(也稱為軟)啟動主機(jī)平臺重設(shè)(也 即,軟件引起的重設(shè))。在重設(shè)計算系統(tǒng)之后,接下來是通常(但未必)較短 的重設(shè)周期。在重設(shè)期間內(nèi),計算系統(tǒng)中的主機(jī)中央處理單元CPU并未啟用。 基本輸入/輸出系統(tǒng)(Basic Input/Output System, BIOS)為計算系統(tǒng)中的主機(jī) CPU用來在重設(shè)結(jié)柬后起始計算系統(tǒng)(也即,啟動計算系統(tǒng))的軟i牛程序代 碼及/或數(shù)據(jù)。
為了執(zhí)行系統(tǒng)的完整性檢査,在重設(shè)期間結(jié)束后,可量測(例如,哈希) BIOS的部分或全部。BIOS量測的執(zhí)行延遲BIOS的執(zhí)行以及隨后操作系統(tǒng)的 加載。在重設(shè)期間已結(jié)束后,主機(jī)CPU可能哈希BIOS的部分或全部?;蛘?, 在重設(shè)期間已結(jié)束之后,主機(jī)CPU可使用另一模塊,此模塊較佳可在it匕時間 點比CPU更快速地執(zhí)行BIOS的哈希。
可用于檢査BIOS的完整性的一類型的安全模塊為可信賴平臺模塊 (Trusted Platform Module, TPM),其符合一或多個可信賴計算組織(Trusted Computing Group, TCG)規(guī)范。
在TCG規(guī)范中,靜態(tài)的度量可信核心根(core root of trust for measurement, CRTM)為計算設(shè)備初始化程序代碼的不變部分,且該不變部 分是在計算系統(tǒng)已被重設(shè)后執(zhí)行。主機(jī)平臺(主機(jī)平臺包括主板、主機(jī)CPU、 主機(jī)量度可信根RTM、 TPM,以及附著至主板的所有主機(jī)周邊裝置)的可信 度是基于靜態(tài)CRTM而定。在一實施中,BIOS引導(dǎo)塊塊被稱為靜態(tài)CRTM。 在重設(shè)期間已結(jié)束后,被CPU執(zhí)行的靜態(tài)CRTM將TPM驅(qū)動器初始化,主 機(jī)CPU使用此TPM驅(qū)動器來對TPM進(jìn)行讀取、寫入及控制。CPU讀取BIOS 的一片段(非靜態(tài)CRTM)且將BIOS的此片段送至TPM以用于哈希。TPM 哈希BIOS的此片段。CPU讀取經(jīng)哈希的BIOS片段,且經(jīng)哈希的BIOS片段 或其函數(shù)儲存于TPM中的一或多個平臺組態(tài)緩存器PCR中。或者,TPM將 經(jīng)哈希的BIOS片段或其函數(shù)儲存于一或多個PCR中。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供一種在計算系統(tǒng)中進(jìn)行基本輸入/輸出系統(tǒng)BIOS處理 的方法,包括在計算系統(tǒng)中的安全模塊經(jīng)由接口讀取儲存于計算系統(tǒng)中的 非易失性存儲器中的BIOS的至少部分,此接口直接連接安全模塊與非易失性 存儲器;以及安全模塊處理BIOS的該至少部分。
根據(jù)本發(fā)明,也提供一種在計算系統(tǒng)中進(jìn)行基本輸入/輸出系統(tǒng)BIOS處, 理的方法,包括在計算系統(tǒng)中的安全模塊感應(yīng)出待機(jī)電力在不可用之后變 得可用;安全模塊接著經(jīng)由接口讀取儲存于計算系統(tǒng)中的非易失性存儲器中的BIOS的至少部分,此接口直接連接安全模塊與非易失性存儲器;以及安全
模塊處理BIOS的該至少部分。
根據(jù)本發(fā)明,進(jìn)一步提供一種用于基本輸入/輸出系統(tǒng)BIOS處理的系統(tǒng), 包括非易失性存儲器,其經(jīng)組態(tài)以儲存BIOS;安全模塊,其經(jīng)組態(tài)以讀取 BIOS的至少部分且經(jīng)組態(tài)以處理BIOS的該至少部分;以及接口,其直接連
接于安全模塊與非易失性存儲器之間。
根據(jù)本發(fā)明,又進(jìn)一步提供一種用于基本輸入/輸出系統(tǒng)BIOS處理的安
全?!姥?,包括傳感器,其經(jīng)組態(tài)以感應(yīng)一用于讀取至少部分BIOS的觸發(fā);
提取模塊,其經(jīng)組態(tài)以在傳感器已感應(yīng)到觸發(fā)之后經(jīng)由接口自儲存BIOS的非 易失性存儲器讀取BIOS的該至少部分,此接口直接連接于非易失性存《諸器與 安全模塊之間;以及處理模塊,其經(jīng)組態(tài)以處理BIOS的該被讀取的至少部分。
圖1為根據(jù)本發(fā)明的實施例的具有BIOS處理的計算系統(tǒng)的方塊圖。
圖2為根據(jù)本發(fā)明的實施例的具有BIOS處理的另一計算系統(tǒng)的方塊圖。
圖3為根據(jù)本發(fā)明的實施例的用于BIOS處理的方法流程圖。
圖4為根據(jù)本發(fā)明的實施例的用于BIOS處理的方法流程圖。
圖5為根據(jù)本發(fā)明的實施例的安全模塊的方塊圖。
附圖標(biāo)號
100:計算系統(tǒng)架構(gòu)/計算系統(tǒng) 102:主機(jī)中央處理單元CPU
104:非易失性存儲器 106:安全模塊
108:計算系統(tǒng)的剩余部分/區(qū)塊 122:接口/總線 132:接口/直接連接200:計算系統(tǒng)架構(gòu)/計算系統(tǒng)
222:接口/總線
232:接口/直接連接
300:方法/過程
302:階段
304:階段
306:階段
308:階段
400:方法/過程
402:階段
404:階段
406:階段
408:階段
502:感應(yīng)模塊/傳感器
504:提取模塊
506:處理模塊
508:存儲器
具體實施例方式
本文中描述用于BIOS處理的本發(fā)明實施例。
本文所使用的術(shù)語"計算系統(tǒng)"包括任何包括基本輸入/輸出系統(tǒng)(BIOS) 的系統(tǒng)。
本發(fā)明的一些實施例主要被揭示為一種方法,且一般熟習(xí)此項技藝者應(yīng) 理解,諸如并入有數(shù)據(jù)庫、軟件及其他適當(dāng)組件的現(xiàn)有數(shù)據(jù)處理器的裝置可 經(jīng)程序化或另外經(jīng)設(shè)計以有助于本發(fā)明的一些方法實施例的實施。
本發(fā)明的一些實施例可使用術(shù)語如處理器、裝置、計算系統(tǒng)、計算機(jī)、設(shè)備、系統(tǒng)、子系統(tǒng)、模塊、單元、引擎等(以單數(shù)或復(fù)數(shù)形式)以用于執(zhí) 行本文的操作。此等術(shù)語(在適當(dāng)時)表示經(jīng)組態(tài)以執(zhí)行本文所界定以及解 釋的操作的軟件、硬件及/或韌體的任何組合。模塊(或上文指定的對應(yīng)術(shù)語) 可經(jīng)特定建構(gòu)以用于所要目的,或其可包括通用計算系統(tǒng),此通用計算系統(tǒng) 由儲存于此計算系統(tǒng)中的計算機(jī)程序選擇性地加以啟動或重組態(tài)。此計算機(jī) 程序可儲存于計算機(jī)可讀儲存媒體中。
本文中的一些實施例中所呈現(xiàn)的方法/處理/模塊(或上文指定的對應(yīng)術(shù) 語)以及顯示并非固有地關(guān)于任何特定計算系統(tǒng)或其他裝置,除非另外特別 規(guī)定。各種通用系統(tǒng)可根據(jù)本文的教示而與程序一起使用,或該系統(tǒng)可證明 其對于建構(gòu)更專業(yè)的裝置來執(zhí)行所要方法為便利的。
圖1說明根據(jù)本發(fā)明的實施例的計算系統(tǒng)架構(gòu)100。計算系統(tǒng)100包括 主機(jī)中央處理單元CPU (也稱為處理器或微處理器)102;非易失性存儲器
104,其中儲存至少BIOS;安全模塊106;以及計算系統(tǒng)的剩余部分108。
在一實施例中,非易失性存儲器NVM 104為具有寫入能力的任何適當(dāng)存 儲器,其在斷電時將內(nèi)容保留其內(nèi)容。實例特別包括電可擦可程序化只讀 存儲器EEPROM、由電池組供電的隨機(jī)存取存儲器RAM、閃存、半導(dǎo)體存儲
器、磁性存儲器、光學(xué)存儲器、以上諸項的任何組合等。
NVM 104包括由主機(jī)CPU所使用的BIOS來啟動計算系統(tǒng)100。視實施 例而定,NVM 104可儲存BIOS程序代碼及/或數(shù)據(jù)。應(yīng)注意,本文使用的術(shù) 語"BIOS"表示BIOS程序代碼及/或數(shù)據(jù)(在適當(dāng)時)。NVM 104可視情況 也儲存其他項。舉例而言,在一實施例中,NVM 104也儲存安全模塊106所 使用的程序代碼及/或數(shù)據(jù)。
在一實施例中,如下文將更詳細(xì)地描述,安全模塊106經(jīng)組態(tài)以處理BIOS 中的一些或全部。處理類型不受本發(fā)明限制。本發(fā)明對BIOS處理可能對計算 系統(tǒng)的隨后操作具有的任何效應(yīng)不施加任何限制。
視實施例而定,安全模塊106可能具有或可能不具有與BIOS處理無關(guān)的額外功能性。
在一些實施例中,安全模塊106可被視為可信賴平臺模塊(TPM),此是 由于其符合一或多個可信賴計算組織(TCG)規(guī)范,所述規(guī)范不時地,皮修正, 除了與本文的描述沖突的部分(若有的話)之外。舉例而言,在此等實施例 中的一者中,安全模塊106可被視為TPM,此是由于其符合以下規(guī)范、其早 先版本或其未來版本中之任一者,除了與本文的描述沖突的部分(若有的話) 之夕卜www.trustedcomputinggroup.org/specs/TPM7Main一Part1—Rev94.zip, www加stedcomputinggroup.org/specs/TPM/Main一Part2—Rev94.zip, www.trustedcomputinggroup.org/specs/TPM/Main—Part3—Rev94.zip, www加stedcomputinggroup.org/groups/pc—client/TCG一PCClientTPMSpecificati on一l-20—1-00_FINAL.pdf ,
www.trustedcomputinggroup. org/groups/TCG一l —0—Architecture—Overview.pdf , 以及
www加stedcomputinggroup.org/specs/PCClient/TCG一PCClientlmplementationfo rBIOS—1-20—l-00.pdf。此等規(guī)范特此以作為參考的方式來并入。在此等實施例 中的一者中,BIOS為一符合TCG的BIOS。
如此項技術(shù)中已知,區(qū)塊108包括所有其他模i央,此等模塊包括用于任 何特定實施例的計算系統(tǒng)100的實體平臺。
如圖1所說明,主機(jī)CPU102經(jīng)由一或多個接口 122與NVM104、安全 模塊106以及區(qū)塊108通信。在計算系統(tǒng)100中,因為安全模塊106經(jīng)由接 口 132直接接口連接至NVM 104,所以安全模塊106自主存取NVM 104而 不依賴于CPU 102。
在一些實施例中,接口 132包括一或多個旁頻帶,其中旁頻帶表示不使 用主計算系統(tǒng)資源的接口。舉例而言,接口 132可包括一或多個獨立連接, 或可使用對現(xiàn)有連接的一或多個特殊協(xié)議。在此等實施例中的一者中,接口 132包括與總線122分離的一或多個計算機(jī)總線。在此等實施例中的一者中,接口 132包括比總線122快的總線。舉例而言,在此等實施例中的一者中, 總線122可包括低插腳數(shù)LPC總線,且接口 132可包括串行周邊接口 SPI。
在另一實施例中,接口 132包括經(jīng)由總線122的一或多個直接連接(也 即,總線122經(jīng)調(diào)適以包括在NVM 104與安全?!姥?06之間的直接連接132)。
在一實施例中,安全模塊l(i與NVM104處于同一實體封裝中。安全模 塊106與NVM 104的整合在此實施例中提供額外抗篡改的保護(hù),因為攻擊者 無法在不更改安全模塊106的情況下用被侵入的、未得到平臺制造商及/或擁 有者授權(quán)及/或同意使用的BIOS版本來替代NVM 104中的BIOS。因此,此 整合提供(例如)抗重送攻擊(也即,試圖重送BIOS的較舊版本)的保護(hù)。 視情況,假設(shè)其他項也儲存于NVM104中,同一實體封裝中對安全模塊106 以及NYM 104的使用也可更佳地保護(hù)此等其他項中的至少一些免受篡改。
圖2揭示根據(jù)本發(fā)明實施例的另一計算系統(tǒng)架構(gòu)200。類似于計算系統(tǒng) 100,計算系統(tǒng)200包括如上所述的主機(jī)CPU 102、 BIOS NVM 104、安全模 塊106以及計算系統(tǒng)的剩余部分IOS,且模塊102、 104、 106以及108中的每 一者可由能夠執(zhí)行本文所界定以及所解釋的功能的軟件、硬件及/或韌體的任 何組合構(gòu)成。然而,在計算系統(tǒng)200中,CPU 102經(jīng)由一或多個接口 222而 連接至安全模塊106以及區(qū)塊108。在計算系統(tǒng)200中,CPU102未經(jīng)由接口 222而連接至NVM 104,而是替代地,CPU 102經(jīng)由安全模塊106而間接連 接至NVM 104。
在一些實施例中,接口 122, 222包括一或多個計算機(jī)總線。視實施例而 定,接口 122,222可包括(例如)LPC總線、ISA總線、PCI總線、以上諸項 的任何組合,及/或任何其他適當(dāng)總線。
在計算系統(tǒng)200中,因為安全模塊106經(jīng)由接口 232直接接口連接至NVM 104,所以安全模塊106自主存取NVM104而不依賴于CPU102。
在一些實施例中,接口 232包括一或多個旁頻帶,其中旁頻帶表示不使 用主計算系統(tǒng)資源的接口。舉例而言,接口 232可包括一或多個獨立連接,或可使用在現(xiàn)有連接上的一或多個特殊協(xié)議。在此等實施例中的一者中,接
口 232包括與總線222分離的一或多個計算機(jī)總線。在此等實施例中的一者 中,接口 232包括比總線222快的總線。舉例而言,在此等實施例中的一者 中,總線222可包括低插腳數(shù)LPC總線,且接口 232可包括串行周邊接口 SPI。 在另一實施例中,接口 232包括經(jīng)由總線222的一或多個直接連接(也 即,總線222經(jīng)調(diào)適以包括在NVM 104與安全模塊106之間的直接連接232)。 為使描述簡單化,接口 122, 132, 222, 232在本文的下文中被稱為單數(shù)形 式的接口 122, 132, 222, 232,且應(yīng)被理解為包括存在單一接口 122, 132, 222, 232以及多個接口 122, 132, 222, 232的實施例。
現(xiàn)將呈現(xiàn)可通過計算系統(tǒng)100及/或計算系統(tǒng)200特別執(zhí)行的方法實施例。 圖3說明根據(jù)本發(fā)明的實施例的用于BIOS處理的方法300的流程圖。在 一實施例中,方法300由安全模塊106執(zhí)行。視實施例而定,執(zhí)行方法300 的安全模塊106可能僅在計算系統(tǒng)100或200已被接通之后具備電力,或可 能具備待機(jī)電力(意謂只要計算系統(tǒng)100或200連接至電源,例如,插入至 電源插座中或使主電池組處于電池組槽中,則安全模塊106具備電力,而不 管計算系統(tǒng)100或200是否已接通)。
在階段302中,安全模塊106感應(yīng)到計算系統(tǒng)100或200已被重設(shè)(也 即,存在有一主機(jī)重設(shè))。舉例而言,在一實施例中,當(dāng)計算系統(tǒng)100或200 被重設(shè)時,安全模塊106接收到LRESET輸入信號。舉例而言,在一實施例 中,安全模塊106在感應(yīng)到計算系統(tǒng)已重設(shè)之后立即進(jìn)行至階段304 (也即, 可能甚至在重設(shè)期間內(nèi)進(jìn)行),然而,在另一實施例中,在階段302與階段304 之間可能存在時間延滯。在階段304中,安全模塊106經(jīng)由接口 132或232 自NVM 104讀取BIOS片段,且在階段306中處理此所讀取的BIOS片段。
在一些實施例中,階段306中的BIOS處理包括量測所讀取的BIOS片段。 在此等實施例中的一些實施例中,BIOS量測包括哈希所讀取的BIOS片段。 通常,哈希包括應(yīng)用單向性函數(shù),使得攻擊者無法通過計算方法來判定對于哈希結(jié)果的特定輸入信息以及無法藉此而具有替換將產(chǎn)生同一量測結(jié)果的不 同輸入信息的能力。舉例而言,在存在哈希的一些實施例中,用于哈希所讀
取的BIOS片段的哈希函數(shù)是根據(jù)由美國政府標(biāo)準(zhǔn)機(jī)關(guān)國家標(biāo)準(zhǔn)與技術(shù)協(xié)會
續(xù)此等實施例中的一者中的實例,特別使用SHA-1密碼哈希。在其他實施例 中,安全模塊106可另外或替代地執(zhí)行對BIOS的部分或全部的其他處理。
在可選階段308中,BIOS處理(例如,BIOS哈希)的結(jié)果或其函數(shù)儲 存于存儲器中,例如安全模塊106中???例如)通過安全模塊106來執(zhí)行 處理結(jié)果或其函數(shù)送至存儲器的儲存。
在安全模塊106是TPM的一實施例中,TPM在階段308中將BIOS哈希 結(jié)果儲存至TPM內(nèi)的一或多個平臺組態(tài)緩存器PCR,例如PCR(0)及/或 PCR(1)中。
在一實施例中,安全模塊106在階段304中經(jīng)由接口 132或232而自NVM 104讀取BIOS的一片段,在階段306中處理此所讀取的片段,且視情況在安 全模塊106讀取BIOS的另一片段之前(也即,在對于另一片段重復(fù)階段304、 306以及可選擇的308之前)于階段308中將中間處理結(jié)果或其函數(shù)儲存于存 儲器中。在另一實施例中,僅運行時間304 —次,且在處理經(jīng)指定用于處理 的所有BIOS片段中的任一者之前,安全模塊106經(jīng)由接口 132或232自NVM 104讀取此等片段。在另一實施例中,經(jīng)指定用于由安全模塊106處理的所有 BIOS片段可在階段304以及306的單次執(zhí)行中被一起讀取以及處理。在一實 施例中,來自各BIOS片段的中間處理結(jié)果或其函數(shù)以及最終處理結(jié)果或其函 數(shù)(由促成最終結(jié)果的所有片段的處理所得到)可在階段308中儲存于存儲 器中,而在另一實施例中,僅最終處理結(jié)果或其函數(shù)在階段308中儲存于存 儲器中。在另一實施例中,可省略階段308,且未必儲存處理結(jié)果或其函數(shù)。
在一實施例中,僅讀取且處理BIOS程序代碼的片段。在另一實施例中, 僅處理BIOS數(shù)據(jù)的片段。在另一實施例中,以與BIOS數(shù)據(jù)片段分離的方式讀取且處理BIOS代碼段,且因此得到獨立的最終處理結(jié)果。在另一實施例中, 最終處理結(jié)果可表示來自BIOS程序代碼以及數(shù)據(jù)的被處理片段。在另一實施 例中,可能存在任何數(shù)目的最終處理結(jié)果,每一最終處理結(jié)果均表示對BIOS 程序代碼及/或數(shù)據(jù)的片段的處理。
在安全模塊106是TPM的一些實施例中,將BIOS的片段哈希成結(jié)果, 且此結(jié)果儲存于PCR (或另一存儲器位置)中。在此等實施例中的一者中, 對于經(jīng)指定用于處理的每一 BIOS片段重復(fù)哈希,且先前儲存至PCR/另一存 儲器位置(在最后重復(fù)迭代中)的結(jié)果與BIOS哈希結(jié)果的額外部分串聯(lián)并哈 希成的(經(jīng)更新)結(jié)果。將哈希以及儲存予以重復(fù),直至經(jīng)指定用于由TPM 處理的BIOS的全部被哈希成最終結(jié)果且被儲存于PCR中(或另一存儲器位 置)為止。在此等實施例中的一者中,BIOS的全部被哈希成最終結(jié)果(也即, BIOS的全部是經(jīng)指定由TPM處理)。
在一實施例中,任何經(jīng)儲存的處理結(jié)果或其函數(shù)是安全的。舉例而言, 安全性可起因于在階段308中用于儲存的存儲器位置的本質(zhì),也即,因為存 儲器受保護(hù)。在另一實例中,安全性可另外或替代地起因于所使用的操作的 本質(zhì)。繼續(xù)該實例,以上所述的結(jié)果的擴(kuò)展可能在一些情況下有助于所儲存 的處理結(jié)果或其函數(shù)的安全性。
在一些實施例中,在計算系統(tǒng)100已被重設(shè)且重設(shè)期間過去之后,CPU 102可檢查安全模塊106是否已起始或正起始過程300,且若安全模塊106并 未起始,則CPU 102可執(zhí)行靜態(tài)CRTM,從而初始化驅(qū)動器,此驅(qū)動器在此 等實施例中由主機(jī)CPU用來對安全模塊106進(jìn)行讀取、寫入以及控制。CPU 可經(jīng)由總線122讀取經(jīng)指定用于處理的BIOS的至少部分,且將此所讀取的 BIOS提供至安全模塊106以在階段306中處理。在此等實施例中的一者中, 安全模塊106隨后可經(jīng)由接口132讀取經(jīng)指定用于處理的任何未讀取的BIOS。 在此等實施例中的另一者中, 一旦CPU 102已讀取經(jīng)指定用于處理的BIOS 的至少部分,CPU 102即繼續(xù)讀取經(jīng)指定用于處理的任何未讀取的BIOS。在另一實施例中,在計算系統(tǒng)100或200已被重設(shè)且重設(shè)期間已過去后, CPU 102可檢查安全模塊106是否已起始或正起始過程300,且若為否,則 CPU 102可指示安全模塊106起始過程300 (例如,以階段304開始)。
在一實施例中,CPU 102可使用預(yù)定命令或信號(其在一些情況下可為 供貨商所特定的)來檢查安全模塊106是否已起始或正起始過程300。
在另一實施例中,CPU 102未檢查安全模塊106是否已起始或正起始過 程300,且假設(shè)安全模塊106已執(zhí)行或?qū)?zhí)行方法300。
在一實施例中,在CPU 102執(zhí)行經(jīng)指定用于由安全模塊106處理的任何 BIOS片段之前,此片段如在以上所述的方法300的階段304、 306及/或308 中的任一者中被處理。在另一實施例中,在CPU 102執(zhí)行經(jīng)指定用于由安全 模塊106處理的任何BIOS片段之前,經(jīng)指定用于處理的所有BIOS片段如在 以上所述的方法300的階段304、 306及/或308中的任一者中被處理。在一實 施例中,僅當(dāng)BIOS片段的處理結(jié)果符合預(yù)定準(zhǔn)則時,CPU 102才執(zhí)行該BIOS 片段,或僅當(dāng)經(jīng)指定用于處理的所有BIOS片段的處理結(jié)果符合預(yù)定準(zhǔn)則時, CPU 102才執(zhí)行該等BIOS片段。在另一實施例中,不存在預(yù)定準(zhǔn)則及/或不 存在對BIOS片段的處理結(jié)果是否符合預(yù)定準(zhǔn)則的評估,且CPU 102因此可 執(zhí)行經(jīng)處理的BIOS片段而不管處理結(jié)果。
通過對方法300的各實施例的描述,則閱讀者顯然地知道,接口132或 232的存在使安全模塊106在一些實施例中能控制階段304中的BIOS讀取及 /或控制方法300的隨后階段。在此等實施例中,安全模塊106可直接存取NVM 104而不需要CPU 102充當(dāng)安全模塊106與NVM 104之間的中間物(也即, 若安全模塊106與NVM 104之間的通信替代地僅經(jīng)由將CPU 102連接至安全 模塊106以及NVM 104中的每一者的總線而進(jìn)行,則CPU 102將必定為中間 物)。因此,在由安全模塊106對NVM 104進(jìn)行直接存取的此等實施例中, BIOS讀取通常(但未必)比在CPU102充當(dāng)中間物的情況下快。在此等實施 例中的一者中,接口 132或接口 232的使用允許比總線更快通信,且該總線原本將連接至或確切地將中間物CPU 102連接至安全模塊106以及NVM 104 中的每一者,故比較而言,BIOS讀取可能通常(但未必)被加速很多。在安 全模塊106在重設(shè)期間起始階段304的一實施例中,方法300的BIOS處理可 能在一些情況下比一個必須等待直至重設(shè)期間對于CPU 102已結(jié)束以起始 BIOS讀取的實施方式要快。
在方法300的其他實施例中,僅在某(些)類型的計算系統(tǒng)重設(shè)之后執(zhí) 行方法300。在此等其他實施例中,在階段302中,安全模塊106經(jīng)組態(tài)以感 應(yīng)某(些)類型的重設(shè),且僅在感應(yīng)到預(yù)定類型的重設(shè)之后,執(zhí)行方法300 的剩余部分。舉例而言,在此等其他實施例中的一些實施例中,安全模塊106 經(jīng)組態(tài)以感應(yīng)冷啟動主機(jī)重設(shè),且僅當(dāng)在階段302中感應(yīng)到冷啟動主機(jī)重設(shè) 時,執(zhí)行方法300的剩余部分。繼續(xù)該實例,在此等其他實施例中的一者中, 安全模塊106監(jiān)測電力信號(VDD)以及LRESET信號兩者,且若此兩者經(jīng) 確定,則安全模塊知曉已發(fā)生一冷啟動主機(jī)重設(shè)。在僅于某(些)類型的計 算系統(tǒng)重設(shè)之后執(zhí)行方法300的此等其他實施例中的一些實施例中,方法300 可能被執(zhí)行的次數(shù)比在方法300的觸發(fā)為任何類型的重設(shè)的情況下少。
圖4為根據(jù)本發(fā)明實施例的用于BIOS處理的方法流程圖。在一 實施例中, 方法400由安全模塊106執(zhí)行。
在階段402中,安全模塊106感應(yīng)到待機(jī)電力(VsB)已變得可用(也即, 在不可用之后)。舉例而言,當(dāng)計算系統(tǒng)100或200插入至或返回至工作中的 電源插座時或當(dāng)對計算系統(tǒng)100或200供電的電池組被置放或被再次置放至 電池組槽中時,待機(jī)電力可能變得可用。
一旦待機(jī)電力變得可用,安全模塊106即可操作。因此在階段404中, 安全模塊106經(jīng)由接口 132或232自NVM 104讀取BIOS片段,且在階段406 中處理此所讀取的BIOS片段。
在一些實施例中,階段406執(zhí)行如同階段306所執(zhí)行的動作。在可選階 段408中,執(zhí)行如同階段308所執(zhí)行的動作。在一些實施例中,可在獲得最終經(jīng)處理的BIOS結(jié)果之前接通計算系統(tǒng)
100或200。在此等實施例中的一者中,允許安全模塊106在CPU 102執(zhí)行 BIOS之前完成獲得最終處理的BIOS結(jié)果。在此等實施例中的另一者中,CPU 102可起始執(zhí)行已被安全模塊106讀取且處理的任何BIOS片段。在一實施例 中,僅當(dāng)BIOS片斷的處理結(jié)果符合預(yù)定準(zhǔn)則時,CPU 102才執(zhí)行該BIOS片 段,或僅當(dāng)經(jīng)指定用于處理的所有BIOS片段的最終處理結(jié)果符合預(yù)定準(zhǔn)則 時,CPU 102才執(zhí)行該等BIOS片段。在另一實施例中,不存在預(yù)定準(zhǔn)則及/ 或不存在對BIOS片段的處理結(jié)果是否符合預(yù)定準(zhǔn)則的評估,且CPU 102因 此可執(zhí)行BIOS片段而不管處理結(jié)果。
在安全模塊106在計算系統(tǒng)100已接通且重設(shè)期間已過去之前尚未起始 執(zhí)行方法400的一些實施例中,CPU 102可執(zhí)行靜態(tài)CRTM,從而初始化驅(qū) 動器,此驅(qū)動器在此等實施例中由主機(jī)CPU用來對安全模塊106進(jìn)行讀取、 寫入以及控制。CPU可經(jīng)由總線122讀取經(jīng)指定用于處理的BIOS的至少部 分,且將此所讀取的BIOS提供至安全模塊106以在階段406中處理。在此等 實施例中的一者中,安全模塊106隨后可經(jīng)由接口 132讀取經(jīng)指定用于處理 的任何未讀取BIOS。在此等實施例中的另一者中, 一旦CPU 102已讀取經(jīng)指 定用于處理的BIOS的至少部分,CPU 102即繼續(xù)讀取經(jīng)指定用于處理的任何 未讀取BIOS。在此等實施例中的一者中,在計算系統(tǒng)100已接通且重設(shè)期間 已過去后,CPU 102檢査是否已移除且恢復(fù)待機(jī)電力,且僅當(dāng)已移除且恢復(fù) 待機(jī)電力(其在此實施例中應(yīng)為使安全模塊106執(zhí)行方法400的觸發(fā))時, CPU 102讀取經(jīng)指定用于處理的BIOS的至少部分。
在其他實施例中,在計算系統(tǒng)100或200已接通且重設(shè)期間己過去后, CPU 102可檢查安全模塊106是否已起始過程400,且若為否,則CPU 102 可指示安全模塊106起始過程400 (例如,以階段404幵始)。舉例而言,在 此等其他實施例中的一者中,CPU 102可使用預(yù)定命令或信號(其在一些情 況下可為供貨商所特定的)來檢查安全模塊106是否已起始或正起始過程400。在此等其他實施例中的一者中,CPU 102首先檢査是否已移除且恢復(fù)待機(jī)電 力,且僅當(dāng)已移除且恢復(fù)待機(jī)電力(其在此其他實施例中應(yīng)為使安全模塊106 執(zhí)行方法400的觸發(fā))時,CPU102指示安全模塊106起始過程400 (例如, 以階段404開始)。在另一實施例中,CPU102未檢査安全模塊106是否已起 始或正起始過程400,且假設(shè)安全模塊106已執(zhí)行或?qū)?zhí)行方法400。
通過對方法400的各實施例的描述,使閱讀者顯然知道,接口 132或232 的存在使安全模塊106在一些實施例中能控制階段404中的BIOS讀取及/或 控制方法400的隨后階段。在此等實施例中,安全模塊106直接存取NVM 104 而不需要CPU102充當(dāng)安全模塊106與NVM104之間的中間物(也即,若安 全模塊106與NVM 104之間的通信替代地僅經(jīng)由將CPU 102連接至安全模塊 106以及NVM 104中的每一者的總線而進(jìn)行,則CPU 102將必定為中間物)。 因此,在由安全模塊106對NVM 104進(jìn)行直接存取的此等實施例中,BIOS 讀取通常(但未必)比在CPU 102充當(dāng)中間物的情況下快。使用接口 132或 接口 232允許比總線(其原本將連接至或確切地將中間物CPU 102連接至安 全模塊106以及NVM 104中的每一者)更快通信的此等實施例中的一者中, 比較而言,BIOS讀取可能通常(但未必)被加速很多。
對于閱讀者明顯的是,由安全模塊106在待機(jī)電力變得可用(或再次可 用)與計算系統(tǒng)100或200被接通之間的任何時間延滯期間所執(zhí)行的任何BIOS 處理在一些情況下轉(zhuǎn)變?yōu)樵谟嬎阆到y(tǒng)100或200已接通之后較少(或不)需 要BIOS處理,且因此通常(但未必)得到較快的啟動過程。舉例而言,由安 全模塊進(jìn)行的BIOS處理可特別包括階段404至408中的任一者。在時間延滯 足以允許階段402至408在計算系統(tǒng)100或200接通之前完成的實施例中, 啟動過程通常(但未必)節(jié)省完成彼等階段所需的時間。
在一些實施例中,因為對BIOS的讀取由感應(yīng)新近可用的待機(jī)電力而觸 發(fā),所以方法400可被執(zhí)行的次數(shù)比方法300少,假定計算系統(tǒng)100或200 的重設(shè)(或觸發(fā)類型的重設(shè))比待機(jī)電力新近變得可用發(fā)生得次數(shù)多(也即,計算系統(tǒng)100或200的插座或主電池組返回至電源插座/電池組槽比重設(shè)計算 系統(tǒng)100或200發(fā)生次數(shù)少)。
如上所述,視實施例而定,最終BIOS處理結(jié)果及/或中間BIOS處理結(jié)果 可被使用或可能不使用。本發(fā)明對是否使用BIOS處理結(jié)果或如何使用BIOS 處理結(jié)果不施加限制。
在一實施例中, 一旦CPU102啟用(也即,在重設(shè)期間已結(jié)束后),安全 模塊106即可確定中斷線以指示BIOS處理結(jié)果可用。在另一實施例中, 一旦 CPU 102啟用,CPU 102即可輪詢且藉此理解到BIOS處理結(jié)果可用。
在一些實施例中,安全模塊106可使用最終BIOS處理結(jié)果及/或中間處 理結(jié)果而執(zhí)行額外功能。為了進(jìn)一步啟發(fā)閱讀者,現(xiàn)描述可使用BIOS處理結(jié) 果的一些可能應(yīng)用,但所描述的應(yīng)用不應(yīng)被解釋為所需的及/或限制性的。
在一些實施例中,安全模塊106可提供受保護(hù)儲存服務(wù),此類似于TPM 的已知可能功能性。在此等實施例中,安全模塊106可使用一或多個存儲器 位置的內(nèi)容(例如,可用于TPM中的PCR中的一或多者的內(nèi)容)而密封數(shù) 據(jù)(保存量測結(jié)果的表示)。舉例而言,在此等實施例中的一者中,用于密封 的內(nèi)容可包括(例如)PCR(0)中所包括的最終及/或中間BIOS處理結(jié)果。安 全模塊106傳回表示經(jīng)密封的數(shù)據(jù)的加密blob。或者,安全模塊106可具備 加密blob且被要求幵封blob。僅當(dāng)經(jīng)指定的一或多個存儲器位置的內(nèi)容與密 封期間相同時,安全模塊106釋放數(shù)據(jù)(先前被一或多個經(jīng)指定存儲器位置 的內(nèi)容所密封)。
在一些實施例中,安全模塊106可執(zhí)行RSA私用密鑰運算,此類似于TPM 的已知可能功能性。舉例而言,在此等實施例中的一者中,安全模塊106可 保存私用密鑰,且若呼叫者被授權(quán)使用此私用密鑰,則此呼叫者可命令安全 模塊106使用此密鑰來標(biāo)記一或多個存儲器位置的當(dāng)前內(nèi)容(其可,例如, 包括最終及/或中間BIOS處理結(jié)果)的快照。
在一實施例中,安全模塊106依賴于BMockerTM Drive Encryption(BitlockerTM驅(qū)動加密),此類似于TPM的已知可能功能性。Microsoft Windows VistaTM操作系統(tǒng)包括Bitlocker Drive Encryption, Bitlocker Drive Encryption在一實施中使用根密令(root secret)來加密硬盤機(jī)的操作系統(tǒng),且 依賴于TPM來約束對此等根密令的存取。視BIOS哈希結(jié)果以及其他哈希結(jié) 果而定,TPM解鎖根密令,藉此允許操作系統(tǒng)加載或不解鎖根密令。更多信 息被(例如)提供在
http:〃technet.microsoft.com/en-us/windowsvista/aa906017.aspx,其年寺此以參考的 方式予以并入。
在一實施例中,視最終BIOS處理結(jié)果及/或中間BIOS處理結(jié)果而定,計 算系統(tǒng)100或200可能被準(zhǔn)許繼續(xù)啟動或可能被防止繼續(xù)啟動。
在一實施例中,視最終BIOS處理結(jié)果及/或中間BIOS處理結(jié)果而定,計 算系統(tǒng)軟件可依賴于或可不依賴于BIOS (其中不依賴可包括,例如,以替代 模式啟動)。
在一實施例中,最終BIOS處理結(jié)果及/或中間BIOS處理結(jié)果可用于提取 系統(tǒng)安全狀態(tài)的快照或解鎖安全模塊106中的加密受保護(hù)數(shù)據(jù)。
圖5為根據(jù)本發(fā)明的實施例的安全模塊106的方塊圖。在所說明的實施 例中,安全模塊106包括感應(yīng)模塊502、提取模塊504、處理模塊506以及存 儲器508。模塊502、 504、 506以及508中的每一者可由能夠執(zhí)行本文所界定 以及所解釋的功能的軟件、硬件及/或韌體的任何組合構(gòu)成。為使說明簡單化, 存儲器508被揭示為一個單元,但安全模塊106可能在一些實施例中包括不 同類型的易失性及/或非易失性存儲器,及/或多個存儲器組。舉例而言,在一 實施例中,存儲器508可特別包括以下項中的任一者緩存器、臨時存儲器 輸入與輸入緩沖器及/或受保護(hù)存儲器位置。
在所說明的安全模塊106的實施例中,感應(yīng)模塊502經(jīng)組態(tài)以感應(yīng)對于 方法300及/或400的觸發(fā)。舉例而言,感應(yīng)模塊502可經(jīng)組態(tài)以在階段402 中感應(yīng)先前不可用的待機(jī)電力的可用性,及/或可經(jīng)組態(tài)以在階段302中感應(yīng)計算系統(tǒng)重設(shè)(或特定類型的重設(shè))。在傳感器502已感應(yīng)到觸發(fā)之后,提取 模塊504經(jīng)組態(tài)以經(jīng)由接口 132或232直接存取非易失性存儲器104。如之前 提及,在一實施例中,非易失性存儲器104可能與安全模塊106處于同一實 體封裝中,但在圖5中未如此說明。經(jīng)提取的BIOS片段由處理模塊506處理。 在一實施例中,處理模塊506包括哈希模塊,此哈希模塊經(jīng)組態(tài)以(例如) 執(zhí)行SHA-1密碼哈希。BIOS處理(例如,哈希處理)的最終結(jié)果及/或處理 (例如,哈希處理)的一或多個中間結(jié)果可在一實施例中儲存于存儲器508 中。在一實施例中,除傳感器502經(jīng)組態(tài)以對于階段302或402感應(yīng)觸發(fā)之 外,傳感器502也可經(jīng)組態(tài)以感應(yīng)(例如)CPU 102何時啟用,使得安全模 塊106可確定重設(shè)周期已結(jié)束且最終BIOS處理結(jié)果可用于CPU 102時的中 斷線。
在本發(fā)明的一些實施例中,安全模塊106可包括比圖5所示的模塊更少、 更多,及/或不同于圖5所示的模塊的模塊。舉例而言,在一實施例中,安全 模塊可另外或替代地特別包括用于產(chǎn)生及/或保護(hù)密碼密鑰的模塊,及/或隨 機(jī)數(shù)產(chǎn)生器模塊。在本發(fā)明的其他實施例中,本文所描述的安全模塊106的 功能性可不同地劃分為圖5的模塊。在本發(fā)明的其他實施例中,本文所描述 的安全模塊106的功能性可劃分為比圖5所示的模塊更少、更多,及/或不同 于圖5所示的模塊的模塊,及/或安全模塊106可包括額外功能性或比本文所 描述的更少功能的功能性。在本發(fā)明的其他實施例中,圖5所示的一或多個 模塊可具有比所描述的功能性更多、更少,及/或不同于所描述的功能性的功 能性。舉例而言,在一實施例中,處理模塊506可執(zhí)行額外功能,例如,密 封/開封、標(biāo)記快照、約束對密令的存取、RSA私用密鑰運算等中的任一者, 或此等額外功能中的一或多者可在安全模塊106中于別處被執(zhí)行。
在本發(fā)明的一些實施例中,因為安全模塊106經(jīng)由接口 132或232直接 接口連接至NVM 104,所以NVM 104中的由CPU 102執(zhí)行的BIOS可排除與 由安全模塊106而非CPU 102執(zhí)行的功能性相關(guān)聯(lián)的任何程序代碼及/或數(shù)據(jù)。舉例而言,在此等實施例中的一者中,NVM 104中的BIOS可排除與調(diào) 用CPU來讀取BIOS的片段相關(guān)聯(lián)的程序代碼及域數(shù)據(jù)(因為由安全模塊106 替代地讀取此(等)片段),及/或可排除與調(diào)用CPU來將BIOS片段送至安 全模塊(例如,TPM)相關(guān)聯(lián)的程序代碼及/或數(shù)據(jù)。在另一實施例中,與調(diào) 用CPU 102來讀取BIOS的片段(替代地由安全模塊106讀取)相關(guān)聯(lián)的程 序代碼及/或數(shù)據(jù),及/或與調(diào)用CPU 102來將BIOS片段送至安全模塊106相 關(guān)聯(lián)的程序代碼及/或數(shù)據(jù)被包括于NVM 104中的BIOS中。舉例而言,讀取 及/或饋給程序代碼及/或數(shù)據(jù)可被包括于NVM 104中的BIOS中,以維持向 后兼容性。作為另一實例,讀取及/或饋給程序代碼及/或數(shù)據(jù)可被包括于NVM 104中的BIOS中,因為在一些實施例中,CPU 102可具有在某些情況下(例 如,若安全模塊106無法起始或完成方法300或400)讀取BIOS的片段以及 將BIOS片段送至安全模塊106的性能。
也應(yīng)理解,根據(jù)本發(fā)明的系統(tǒng)可為經(jīng)適當(dāng)程序化的計算機(jī)。同樣,本發(fā) 明涵蓋可由計算機(jī)讀取以用于執(zhí)行本發(fā)明的方法的計算機(jī)程序。本發(fā)明更涵 蓋機(jī)器可讀存儲器,此存儲器確實地具體化可由機(jī)器執(zhí)行以用于執(zhí)行本發(fā)明 的方法的指令程序。
雖然已關(guān)于特定實施例而展示且描述了本發(fā)明,但本發(fā)明并未因此受到 限制。熟悉本行業(yè)者應(yīng)想到在本發(fā)明的范疇內(nèi)的眾多修改、改變以及改良。
權(quán)利要求
1.一種在計算系統(tǒng)中進(jìn)行基本輸入/輸出系統(tǒng)處理的方法,其特征在于,該方法包括在所述計算系統(tǒng)中的一安全模塊經(jīng)由一接口讀取儲存于所述計算系統(tǒng)中的一非易失性存儲器中的基本輸入/輸出系統(tǒng)的至少部分,所述接口直接連接所述安全模塊與所述非易失性存儲器;以及所述安全模塊處理所述基本輸入/輸出系統(tǒng)的所述至少部分。
2. 如權(quán)利要求1所述的方法,其特征在于,所述安全模塊經(jīng)組態(tài)以用待機(jī)電力操作,所述方法還包括所述安全模塊感應(yīng)待機(jī)電力在不可用之后變得可用; 其中在待機(jī)電力變得可用之后起始所述讀取。
3. 如權(quán)利要求1所述的方法,其特征在于,所述處理包括量測。
4. 如權(quán)利要求3所述的方法,其特征在于,所述量測包括哈希。
5. 如權(quán)利要求1所述的方法,其特征在于,該方法還包括-所述安全模塊感應(yīng)到所述計算系統(tǒng)已被重設(shè);其中在所述計算系統(tǒng)已被重設(shè)之后起始所述讀取。
6. 如權(quán)利要求5所述的方法,其特征在于,僅當(dāng)所述計算系統(tǒng)已由冷啟動 重設(shè)而重設(shè)時,起始所述讀取。
7. 如權(quán)利要求5所述的方法,其特征在于,所述安全模塊具備待機(jī)電力。
8. 如權(quán)利要求5所述的方法,其特征在于,所述安全模塊在所述計算系統(tǒng) 已接通之后具備電力。
9. 如權(quán)利要求5所述的方法,其特征在于,在所述計算系統(tǒng)的重設(shè)期間起 始所述讀取。
10. 如權(quán)利要求1所述的方法,其特征在于,該方法還包括 所述安全模塊將所述處理的至少一結(jié)果或其函數(shù)儲存于所述安全模塊中的存儲器中。
11. 如權(quán)利要求1所述的方法,其特征在于,該方法還包括 在所述計算系統(tǒng)已被重設(shè)之后,所述計算系統(tǒng)中的一中央處理單元在一時間點起始執(zhí)行所述基本輸入/輸出系統(tǒng)的所述至少部分,所述時間點比如果 在所述計算系統(tǒng)己被重設(shè)之后所述中央處理單元必須讀取所述基本輸入/輸出 系統(tǒng)的所述至少部分且將所述基本輸入/輸出系統(tǒng)的所述至少部分提供至所述 安全模塊用于處理的情況下的時間點早。
12. —種在計算系統(tǒng)中進(jìn)行基本輸入/輸出系統(tǒng)處理的方法,其特征在于, 該方法包括在所述計算系統(tǒng)中的一安全模塊感應(yīng)到待機(jī)電力在不可用之后變得可用;所述安全模塊接著經(jīng)由 一接口讀取儲存于所述計算系統(tǒng)中的一非易失性 存儲器中的基本輸入/輸出系統(tǒng)的至少部分,所述接口直接連接所述安全模塊 與所述非易失性存儲器;以及所述安全模塊處理所述基本輸入/輸出系統(tǒng)的所述至少部分。
13. 如權(quán)利要求12所述的方法,其特征在于,所述處理包括哈希。
14. 一種用于基本輸入/輸出系統(tǒng)處理的系統(tǒng),其特征在于,該系統(tǒng)包括 一非易失性存儲器,其經(jīng)組態(tài)以儲存基本輸入/輸出系統(tǒng); 一安全模塊,其經(jīng)組態(tài)以讀取所述基本輸入/輸出系統(tǒng)的至少部分且經(jīng)組態(tài)以處理所述基本輸入/輸出系統(tǒng)的所述至少部分;以及一接口,其直接連接于所述安全模塊與所述非易失性存儲器之間。
15. 如權(quán)利要求14所述的系統(tǒng),還包括 一中央處理單元;以及一接口,其連接于所述中央處理單元與所述安全模塊之間。
16. 如權(quán)利要求15所述的系統(tǒng),還包括一接口 ,其連接于所述中央處理單元與所述非易失性存儲器之間。
17.如權(quán)利要求16所述的系統(tǒng),其中所述連接于所述安全模塊與戶;f述非易 失性存儲器之間的接口經(jīng)組態(tài)以允許比連接于所述中央處理單元與所述非易 失性存儲器之間的接口更快的通信或比連接于所述中央處理單元與所述安全 模塊之間的接口更快的通信。
18. 如權(quán)利要求16所述的系統(tǒng),其中所述中央處理單元經(jīng)組態(tài)以在重設(shè)之 后的一時間點起始執(zhí)行所述基本輸入/輸出系統(tǒng)的所述至少部分,所述時間點 比如果在所述中央處理單元經(jīng)組態(tài)以在所述重設(shè)之后讀取所述基本輸入/輸出 系統(tǒng)的所述至少部分且將所述基本輸入/輸出系統(tǒng)的所述至少部分提《共至所述 安全模塊用于處理的情況下的時間點早。
19. 如權(quán)利要求14所述的系統(tǒng),其中所述安全模塊與所述非易失性存儲器 被包括于同一實體封裝中。
20. 如權(quán)利要求14所述的系統(tǒng),其中所述安全模塊經(jīng)組態(tài)以在不可用的待 機(jī)電力變得可用之后起始讀取所述基本輸入/輸出系統(tǒng)的所述至少部分。
21. —種用于基本輸入/輸出系統(tǒng)處理的安全模塊,包括-一傳感器,其經(jīng)組態(tài)以感應(yīng)對于讀取基本輸入/輸出系統(tǒng)的至少部分的觸發(fā);一提取模塊,其經(jīng)組態(tài)以在所述傳感器已感應(yīng)到所述觸發(fā)之后經(jīng)由一接 口自儲存所述基本輸入/輸出系統(tǒng)的一非易失性存儲器讀取所述基本輸入/輸 出系統(tǒng)的所述至少部分,所述接口直接連接于所述非易失性存儲器與所述安 全模塊之間;以及一處理模塊,其經(jīng)組態(tài)以處理所述基本輸入/輸出系統(tǒng)的所述被讀取的至 少部分。
22. 如權(quán)利要求21所述的安全模塊,其中所述觸發(fā)為待機(jī)電力在不可用之 后的可用性。
23. 如權(quán)利要求21所述的安全模塊,其中所述觸發(fā)為包括所述安全模塊的 計算系統(tǒng)的一重設(shè)。
24. 如權(quán)利要求21所述的安全模塊,其中所述觸發(fā)為包括所述安全模塊的 計算系統(tǒng)的至少一預(yù)定類型的重設(shè)中的至少一者。
25. 如權(quán)利要求21所述的安全模塊,其中所述處理模塊經(jīng)組態(tài)以哈希所述 基本輸入/輸出系統(tǒng)的所述被讀取的至少部分。
26. 如權(quán)利要求21所述的安全模塊,還包括存儲器,其經(jīng)組態(tài)以儲存所述處理的至少一結(jié)果或其函數(shù)。
全文摘要
本發(fā)明揭示用于諸如哈希的基本輸入/輸出系統(tǒng)(BIOS)處理的方法以及系統(tǒng)。在一實施例中的計算系統(tǒng)中,于安全模塊與儲存BIOS的非易失性存儲器之間存在一直接接口,使得安全模塊可直接存取BIOS而無需使用中央處理單元(CPU)作為中間物。在一實施例中,安全模塊由待機(jī)電力供電,且因此可在即使計算系統(tǒng)尚未接通的情況下便可起始BIOS處理。
文檔編號G06F21/00GK101526981SQ20081008269
公開日2009年9月9日 申請日期2008年3月6日 優(yōu)先權(quán)日2008年3月6日
發(fā)明者丹·摩瑞, 尼爾·泰沙爾 申請人:華邦電子股份有限公司