国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      在移動(dòng)因特網(wǎng)設(shè)備上安全引導(dǎo)uefi固件和uefi感知操作系統(tǒng)的系統(tǒng)和方法

      文檔序號:6578182閱讀:294來源:國知局
      專利名稱:在移動(dòng)因特網(wǎng)設(shè)備上安全引導(dǎo)uefi固件和uefi感知操作系統(tǒng)的系統(tǒng)和方法
      在移動(dòng)因特網(wǎng)設(shè)備上安全引導(dǎo)UEFI固件和UEFI感知操作系統(tǒng)的系統(tǒng)和方法 版權(quán)公告本文所包含的是受版權(quán)保護(hù)的資料。在本專利公開內(nèi)容出現(xiàn)在專利商標(biāo)局 專利文件或記錄中時(shí),版權(quán)所有者不反對任何人復(fù)制本專利公開內(nèi)容的復(fù)制, 但在其它情況下始終保留屬于版權(quán)的所有權(quán)利。發(fā)明領(lǐng)域本發(fā)明的實(shí)施例一般涉及移動(dòng)計(jì)算平臺,且更明確地,本發(fā)明的實(shí)施例增 加了平臺所有者或管理員確保僅以所有者授權(quán)的方式執(zhí)行固件的能力,諸如利 用簽名的組件。實(shí)施例通過使用移動(dòng)設(shè)備中的密碼協(xié)處理器作為存儲可信根 (RTS)存儲根密鑰(SRK)可將核心度量可信根(CRTM)擴(kuò)展到統(tǒng)一可擴(kuò) 展固件接口 (UEFI)平臺初始化(PI)映象授權(quán)和引導(dǎo)管理器中。背景信息存在用于安全引導(dǎo)的各種機(jī)制。統(tǒng)一可擴(kuò)展固件接口 (UEFI)規(guī)范定義 了一種用于操作系統(tǒng)與平臺固件之間的新接口模型。該接口由包含平臺相關(guān)信 息的數(shù)據(jù)表加上可用于操作系統(tǒng)及其加載程序的引導(dǎo)和運(yùn)行時(shí)間服務(wù)調(diào)用組 成。它們一起提供用于引導(dǎo)操作系統(tǒng)和運(yùn)行預(yù)引導(dǎo)應(yīng)用的標(biāo)準(zhǔn)環(huán)境??稍诠?因特網(wǎng)上的URL www*uefi*org/home處找到有關(guān)UEFI的更多信息。請注意, 在本文檔中用星號代替句點(diǎn)以防止因疏忽造成的超鏈接。UEFI標(biāo)準(zhǔn)可用于協(xié) 助平臺的安全引導(dǎo)。UEFI規(guī)范2.1的第26章描述安全引導(dǎo)協(xié)議。所定義的協(xié)議提供特定的設(shè) 備路徑來訪問通用的認(rèn)證信息??稍谌魏卧O(shè)備處理上使用該協(xié)議用于獲得與物 理或邏輯設(shè)備相關(guān)聯(lián)的信息。公鑰和證書可保留在固件上并檢査第三方(U)EFI 驅(qū)動(dòng)程序和操作系統(tǒng)(OS)加載程序的數(shù)字簽名。將公鑰綁定到平臺已經(jīng)是一 個(gè)布署問題。安全性僅和平臺安全存儲公鑰的程度相同(即可怕的"密鑰管理問題")。在引導(dǎo)時(shí)撤消公鑰或證書是不可能的,因?yàn)樵缙诘囊龑?dǎo)環(huán)境不能訪 問網(wǎng)絡(luò)并從服務(wù)器查明證書撤消列表(CRL)。仿造的加載程序可被插入到平 臺中以繞開安全性。因而,這種安全引導(dǎo)的方法在引導(dǎo)時(shí)仍易受到攻擊。移動(dòng)設(shè)備以及更明確的移動(dòng)因特網(wǎng)設(shè)備(MID)已經(jīng)變得普遍使用。存在用于引導(dǎo)移動(dòng)設(shè)備的各種機(jī)制,它們可能與用于引導(dǎo)臺式或膝上型系統(tǒng)的方法不同。在臺式和服務(wù)器平臺中,可信平臺模塊(TPM)組件可用于協(xié)助安全引 導(dǎo),該TPM是一種由可信計(jì)算組(TCG)提供文檔的芯片類型,其最新批準(zhǔn) 的變體是1.2版本。當(dāng)這些類型的平臺與諸如AMD公司的Presidio及其SKINIT 指令或英特爾公司的使用SENTER指令的可信執(zhí)行技術(shù)(TXT)(即aka LaGrande技術(shù))之類的處理器/芯片組技術(shù)結(jié)合時(shí),TPM可用于保護(hù)固件在這 些類型的平臺上的引導(dǎo)。然而,MID處理器不支持可信執(zhí)行技術(shù)(TXT)或 TCG1.2TPM,因此要求固件的"安全引導(dǎo)"和平臺中的可信根作為操作系統(tǒng) (OS)自舉的一部分。需要在操作系統(tǒng)開始之前保護(hù)MID上的固件引導(dǎo)以增 加安全性。因?yàn)橹T如音樂和其它多媒體之類的高價(jià)值的內(nèi)容可在MID系統(tǒng)上 使用,需要內(nèi)容供應(yīng)商所要求的更強(qiáng)保護(hù),所以這尤其正確。附圖簡述本發(fā)明的特征和優(yōu)點(diǎn)將通過本發(fā)明下面的詳細(xì)描述及附圖而變得顯而易 見,這些附圖是

      圖1是例示用于確保在使用簽名技術(shù)的系統(tǒng)中引導(dǎo)和系統(tǒng)完整性的簽名 密鑰的分層結(jié)構(gòu)的框圖;圖2是例示根據(jù)本發(fā)明實(shí)施例當(dāng)平臺所有者取得所有權(quán)并借助于安全性 處理器產(chǎn)生平臺憑證時(shí)的流程的圖;圖3是例示根據(jù)本發(fā)明實(shí)施例用于取得所有權(quán)并登記平臺憑證的方法的 流程圖;圖4例示用于實(shí)現(xiàn)本發(fā)明實(shí)施例的示例性C代碼; 圖5是例示根據(jù)本發(fā)明實(shí)施例的證書數(shù)據(jù)庫的示例性結(jié)構(gòu)的框圖; 圖6是例示根據(jù)本發(fā)明實(shí)施例的平臺所有者登記第三方認(rèn)證憑證的方法 的流程圖;圖7是例示根據(jù)本發(fā)明實(shí)施例的平臺所有者登記數(shù)字簽名的方法的流程圖;圖8是例示根據(jù)本發(fā)明實(shí)施例用于授權(quán)UEFI可執(zhí)行程序的示例性方法的 流程圖;圖9是例示根據(jù)本發(fā)明實(shí)施例具有主處理器元件和安全性處理芯片組的 平臺的框圖;以及圖10是根據(jù)本發(fā)明實(shí)施例具有嵌入式安全性處理器的示例性密碼單元的 框圖。詳細(xì)描述本發(fā)明實(shí)施例是與移動(dòng)設(shè)備有關(guān)的系統(tǒng)和方法。為了說明,相關(guān)于移動(dòng)因 特網(wǎng)設(shè)備(MID)描述本發(fā)明實(shí)施例。然而應(yīng)當(dāng)理解,本發(fā)明實(shí)施例可應(yīng)用于 蜂窩電話、便攜式MP3播放器、個(gè)人數(shù)字助理(PDA)或其它沒有因特網(wǎng)訪 問的移動(dòng)設(shè)備。本發(fā)明的實(shí)施例增加了平臺所有者或管理員確保僅以所有者授 權(quán)的方式執(zhí)行固件的能力,諸如利用簽名組件。實(shí)施例可通過使用移動(dòng)設(shè)備中 的密碼協(xié)處理器作為存儲可信根(RTS)存儲根密鑰(SRK)來將核心度量可 信根(CRTM)擴(kuò)展到統(tǒng)一可擴(kuò)展固件接口 (UEFI)平臺初始化(PI)映象授 權(quán)和引導(dǎo)管理器中。在本說明書對本發(fā)明"一個(gè)實(shí)施例"或"一實(shí)施例"的引用指結(jié)合該實(shí)施 例描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因而,出 現(xiàn)整個(gè)說明書中各處的短語"在一個(gè)實(shí)施例中"不一定全都指同一實(shí)施例。為了說明的目的,闡述了特定配置和細(xì)節(jié)以便提供對本發(fā)明的徹底理解。 然而,對于本領(lǐng)域技術(shù)人員顯而易見的是,本發(fā)明實(shí)施例可在沒有本文提供的 特定細(xì)節(jié)的情況下實(shí)踐。而且,省略或簡化了眾所周知的特征以便不掩蓋本發(fā) 明。在本描述中給出了各種示例。這些僅僅是本發(fā)明特定實(shí)施例的描述。本發(fā) 明的范圍不受限于給出的示例。本發(fā)明的實(shí)施例采用不透明的"OEM引導(dǎo)模塊"并應(yīng)用基于平臺初始化 (PI)的固件的UEFI安全引導(dǎo)和基于策略的分派,以實(shí)現(xiàn)安全性解決方案且 支持出售MID的初始設(shè)備制造商(OEM)和初始設(shè)計(jì)制造商(ODM)。明確地,該技術(shù)涉及安全引導(dǎo)平臺驅(qū)動(dòng)程序、第三方選項(xiàng)ROM (O-ROM)和OS 加載程序,諸如Winload.efi (用于微軟Windows )和eLilo.efi (用于Linux)。 eLilo是用于基于EFI的PC硬件的標(biāo)準(zhǔn)Linux引導(dǎo)加載程序。本實(shí)施例消除了 在平臺所有者必須在調(diào)用經(jīng)認(rèn)證的各種服務(wù)之前簽名有效載荷時(shí)暴露私鑰的 危險(xiǎn)。本實(shí)施例還補(bǔ)充了單點(diǎn)登錄(Single Sign-On, SSO)情景和一觸開通 服務(wù)(l-touchprovisioning)。例如,平臺所有者可用同一授權(quán)數(shù)據(jù)取得OS和OS 前階段兩者的所有權(quán)。本發(fā)明的實(shí)施例使用MID上的安全性處理器來管理簽名私鑰。這允許帶 有安全性處理器策略引擎的UEFI安全引導(dǎo)無縫地集成到可管理性和服務(wù)提供 的基礎(chǔ)結(jié)構(gòu)中。參考圖9,示出了例示具有主或主機(jī)處理器元件910和安全性處理芯片組 930的平臺900的框圖。在本發(fā)明的實(shí)施例中,平臺900具有主運(yùn)行時(shí)間環(huán)境 910,其中主處理器911需要安全OS引導(dǎo)來保護(hù)不受惡意軟件侵害。處理器 911以通信方式耦合至系統(tǒng)存儲器905。安全性處理器芯片組單元930可具有 安全性引擎或處理器931、系統(tǒng)控制器(ARC) 933 (它在加載x86固件之前 完成某些平臺初始化)和專用只讀存儲器(ROM) 935。 ROM可用于進(jìn)一步 保護(hù)代碼和數(shù)據(jù)以確保安全引導(dǎo);當(dāng)它是只讀時(shí),代碼和數(shù)據(jù)可不被惡意篡改 改變。閃存920耦合至安全性處理器,并且保存用于引導(dǎo)主處理器911的引導(dǎo) 軟件映象921。重要的是確認(rèn)要加載到主處理器911上的引導(dǎo)軟件映象是授權(quán) 的且無惡意軟件。在一實(shí)施例中,驗(yàn)證過的引導(dǎo)可使用安全性芯片組930來實(shí)現(xiàn)。安全性引 擎931配置為實(shí)現(xiàn)密鑰和簽名過程,如下所述。由于安全性處理器931是一個(gè) 專用設(shè)備,不能被主處理器911訪問,所以保護(hù)安全性引擎不受到篡改。安全 性引擎配置為在允許主處理器引導(dǎo)之前確認(rèn)主處理器的引導(dǎo)ROM。在現(xiàn)有系 統(tǒng)中,例如基于英特爾⑧CoreTM2Duo的個(gè)人計(jì)算機(jī)(PC),主處理器只是在 無確認(rèn)的情況下自動(dòng)地將引導(dǎo)控制傳遞給在閃存部分——即弓I導(dǎo)ROM——中 任何一切。在一些臺式、膝上型或其它全性能PC中,TXT技術(shù)可介入以確認(rèn) 引導(dǎo)ROM和后續(xù)的處理。平臺進(jìn)入安全狀態(tài)晚于進(jìn)入開始過程;明確地,由 SENTER指令開始的TXT微代碼將同步平臺上的所有處理器并且允許測量開始環(huán)境(MLE)獨(dú)立于在它之前運(yùn)行的所有軟件,包括選項(xiàng)ROM的軟件和平 臺BIOS。然而,TXT處理在MID和其它低成本平臺上不可用。在實(shí)施例中, 可將安全性處理器增加到MID上以確認(rèn)引導(dǎo)ROM,作為其它系統(tǒng)中的TXT 的替換。然而,在具有安全處理器的MID的實(shí)施例中,僅OEM引導(dǎo)模塊能夠
      被驗(yàn)證。
      OEM引導(dǎo)模塊951本質(zhì)上是UEFI固件。安全性處理器930確認(rèn)OEM引 導(dǎo)模塊951。 一旦確認(rèn),安全性處理器930將OEM引導(dǎo)模塊951復(fù)制至主處 理器911的SRAM905。 OEM引導(dǎo)模塊可包含預(yù)EFI初始化(PEI)和驅(qū)動(dòng)程 序執(zhí)行環(huán)境(DXE)。要求這些階段在開始操作系統(tǒng)(OS)之前運(yùn)行。在一 些系統(tǒng)中, 一旦執(zhí)行OEM引導(dǎo)模塊,就從PEI階段開始OS加載程序953。 OS加載程序953開始可信OS 955。然而OS的信任在這些系統(tǒng)中是假設(shè)的, 而非真正驗(yàn)證過。除了僅驗(yàn)證OEM引導(dǎo)模塊951之外,允許本發(fā)明實(shí)施例確 認(rèn)OS加載程序和其它EFI模塊。這提供存儲多個(gè)簽名OS實(shí)例并驗(yàn)證簽名應(yīng) 用的能力。
      應(yīng)當(dāng)理解,在現(xiàn)有的MID系統(tǒng)中,引導(dǎo)模塊、OS加載程序和OS代碼可 存儲為一個(gè)可執(zhí)行映象。在MID上實(shí)現(xiàn)UEFI架構(gòu)允許分離引導(dǎo)和操作系統(tǒng)加 載的每個(gè)階段的映象。本發(fā)明實(shí)施例利用UEFI架構(gòu)構(gòu)造,因此每個(gè)單獨(dú)的映 象具有其自己的數(shù)字簽名,并且可獨(dú)立地驗(yàn)證。在需要時(shí),這還允許各個(gè)單獨(dú)
      組件被更新或改變。
      在一些實(shí)施例中,可能需要提供在MID中引導(dǎo)替換的操作系統(tǒng)的能力。 例如,對于蜂窩電話用戶更為方便的是,如果多個(gè)操作系統(tǒng)已經(jīng)加載到電話上, 或者能夠遠(yuǎn)程加載并適當(dāng)授權(quán),則可改變同一智能電話上對不同蜂窩載體的預(yù) 訂。在該情形中,用戶所需要的是,請求從一個(gè)新載體重新引導(dǎo)并且用其定制 軟件使該載體重新引導(dǎo)MID (智能電話)而非強(qiáng)迫用戶購買新電話。還可能需 要的是,基于設(shè)備中較佳的應(yīng)用引導(dǎo)不同的操作系統(tǒng),即使在處于同一載體的 時(shí)候。然而,重要的是,要對新的操作系統(tǒng)開始進(jìn)行確認(rèn)和授權(quán)。將理解的是, 即使為說明的目的參考了移動(dòng)因特網(wǎng)設(shè)備,但可選擇性地在移動(dòng)設(shè)備上安裝其 它應(yīng)用,諸如照相機(jī)能力或音樂存儲和播放,但不要求因特網(wǎng)訪問來實(shí)現(xiàn)本發(fā) 明。當(dāng)MID使用UEFI架構(gòu)時(shí),替換的操作系統(tǒng)可使用UEFI OS加載程序, UEFI固件可與安全性處理器通信并且在非易失性存儲器中存儲用于簽名EFI 驅(qū)動(dòng)程序和加載程序的認(rèn)證變量和證書;認(rèn)證變量可以存儲在安全性處理器的 非易失性存儲器中和/或平臺閃存的安全區(qū)中并且由安全性處理器的RSA引擎 簽名。安全性處理器可保證驅(qū)動(dòng)程序執(zhí)行環(huán)境(DXE)和預(yù)EFI初始化環(huán)境 (PEI)代碼是正確且未損壞的。DXE階段隨后可使用安全性處理器的能力來 管理用于UEFI安全引導(dǎo)的憑證和證書。
      安全性處理器具有其自己的存儲器存儲,它是主處理器不能訪問的。密鑰 和證書可安全地存儲在安全性處理器存儲中,沒有被在主處理器上執(zhí)行的惡意 代碼篡改的危險(xiǎn)。在另一個(gè)實(shí)施例中,密鑰和證書可存儲在主機(jī)處理器閃存的 安全區(qū)中,它是主機(jī)處理器不可訪問的。該劃分可由平臺芯片組支持的,并且 只允許安全性處理器訪問。
      為了驗(yàn)證OEM弓I導(dǎo)模塊, 一般OEM將公鑰存儲在MID的芯片組上。OEM 引導(dǎo)模塊被簽名并可用公鑰來檢査它。當(dāng)安全性處理器驗(yàn)證了經(jīng)簽名的模塊 時(shí),芯片組將該模塊發(fā)布給主處理器以開始引導(dǎo)。
      所需要的是,維護(hù)安全多媒體棧961、可安全管理性棧963 (即媒體播放 器軟件諸如來自RealNetworks公司的Helix)并且驗(yàn)證要在MID上執(zhí)行的各種 應(yīng)用之中的簽名應(yīng)用965;如果預(yù)引導(dǎo)環(huán)境不是可信的,則平臺不能對這些應(yīng) 用建立信任,直至并包括OS加載程序。除了OEM引導(dǎo)模塊之外,本發(fā)明的 實(shí)施例確保這些應(yīng)用得到驗(yàn)證。因而,本發(fā)明的實(shí)施例確保在MID主處理器 上執(zhí)行的所有模塊已經(jīng)使用密鑰和簽名技術(shù)進(jìn)行驗(yàn)證和認(rèn)證,其中密鑰是由安 全性處理器管理的。
      現(xiàn)在參考圖10,示出根據(jù)本發(fā)明實(shí)施例具有嵌入式安全性處理器的密碼 單元。密碼單元1000具有嵌入式安全性處理器931。安全性處理器931可通信 地耦合至ROM 935和系統(tǒng)RAM 937兩者。密碼單元1000還可包含安全調(diào)試 管理器1010。安全調(diào)試管理器可耦合至聯(lián)合測試行為組織(JTAG)標(biāo)準(zhǔn)測試 接入端口 1011和用于使用邊界掃描測試印刷電路板的測試接入端口的邊界掃 描體系架構(gòu)。密碼核心1020 —般是固定功能的硬件,它可耦合至環(huán)形振蕩器 1021。密碼單元1000具有其自己的時(shí)鐘1030和電源1040。時(shí)鐘1030可由外部時(shí)鐘1031驅(qū)動(dòng)或與其同步。密碼核心1020可加速由RSA算法或其它用于 簽名和驗(yàn)證的不對稱和對稱密碼學(xué)算法所使用的模算術(shù)。由于使用X86處理器 完成這些功能的成本,通常針對MID系統(tǒng)將固定功能硬件用于密碼,其中成 本是按價(jià)格、尺寸、效率和功率要求來度量的。密碼單元1000的電源可由外 部電源1041和復(fù)位1043單元來驅(qū)動(dòng)或復(fù)位的。密碼單元1000可具有非易失 性存儲器(NVM)管理器1050來控制非易失性存儲器(NVM)單元1051。
      密碼單元1000可具有與高級高性能總線(AHB)主模塊和高級外設(shè)總線 (APB)從模塊的系統(tǒng)接口 1070。 AHB互連于智能安全性處理器與主機(jī)之間。 AHB可以保持若干未完成的命令。這些命令中的一些諸如密碼操作可發(fā)送到 APB以便在固定功能硬件中處理它們。讓固定功能硬件處理密碼是重要的,因 為用于密碼的特制電路的每秒數(shù)百萬指令(MIPS) /瓦特效率比在通用處理器 上處理密碼要高得多。
      在一實(shí)施例中,用于確保UEFI引導(dǎo)得到驗(yàn)證和認(rèn)證的證書可存儲在安全 性處理器可訪問的非易失性存儲器1051中。諸如遵循x509v2標(biāo)準(zhǔn)的證書之類 的證書各自存儲n元組的信息。該信息可包括公鑰、證書有效的日期/時(shí)間以及 來自某個(gè)可信第三方(TTP)諸如Verisign或OS銷售商的證書簽名。如此, 公鑰1053可存儲在密碼單元1000的芯片組NVM 1051中以協(xié)助驗(yàn)證。用于認(rèn) 證引導(dǎo)的過程將在下面進(jìn)一步討論。在實(shí)施例中,所使用的證書簽名和密鑰技 術(shù)與在使用簽名密鑰的現(xiàn)有系統(tǒng)中所使用的相似。然而,現(xiàn)有方法不能直接用 在無篡改危險(xiǎn)的MID主處理器上。
      圖1例示用于確保在當(dāng)前使用簽名技術(shù)的系統(tǒng)中的引導(dǎo)和系統(tǒng)完整性的 簽名密鑰的分層結(jié)構(gòu)。該簽名分層結(jié)構(gòu)是具有根和葉的規(guī)范存儲。由虛線作為 輪廓線的密鑰可駐留在寫保護(hù)存儲中。在本發(fā)明的實(shí)施例中,該保護(hù)存儲可由 安全性設(shè)備訪問,但不能由主處理器或設(shè)備操作系統(tǒng)訪問。在示例性UEFI實(shí) 施例中,PV-OO、 PV-Ol、 PV-30禾卩PV-31 (101a-d)表示用于保護(hù)UEFI受保 護(hù)變量的密鑰。這些受保護(hù)變量(PV)指向簽名的UEFI加載程序和驅(qū)動(dòng)程序。 KeK0pub, KeK,b, KeK,b和KeK3pub (103a-d)表示密碼核心存儲的公鑰。UEFI 固件通過發(fā)送到密碼核心的命令使用公鑰103來檢查嵌入在UEFI驅(qū)動(dòng)程序和 加載程序中的數(shù)字簽名以查看簽名是否正確。 一些密鑰可不對應(yīng)于受保護(hù)變量。每個(gè)操作系統(tǒng)加載程序一般具有其自己的密鑰。例如,平臺可具有
      Windows 加載程序和Linux加載程序兩者。兩者都需要被保護(hù)。每個(gè)加載程
      序?qū)⒕哂衅渥约旱墓€。每個(gè)os銷售商一般將數(shù)字簽名它們的加載程序產(chǎn)品。
      平臺密鑰(PK)是平臺所有者——諸如公司信息技術(shù)(IT)部門——給予平臺 的密鑰。平臺使用PK來加密/簽名所有其它密鑰。例如,來自O(shè)S銷售商或獨(dú) 立硬件銷售商(IHV)的密鑰KEK 103是用PK 105來加密的。換言之,平臺 固件使用PK來保護(hù)KEK的安全。
      平臺—管理員一r 107表示系統(tǒng)或平臺的管理員或IT專業(yè)人員。該管理員一 般開啟密鑰/簽名/加密功能,并且安裝PK105。在一些系統(tǒng)中,平臺管理員107 可在管理控制臺處并且通過網(wǎng)絡(luò)諸如通過英特爾主動(dòng)管理技術(shù)(iAMT)連網(wǎng) 發(fā)送命令至UEFI機(jī)器來遠(yuǎn)程地安裝和啟動(dòng)引導(dǎo)功能。對于蜂窩電話MID系統(tǒng), 平臺管理員可通過無線蜂窩通信或者通過因特網(wǎng)連接,采用至管理控制臺的可 信信道(諸如TLS/SSL)或者使用其它技術(shù)諸如OMA( OpenMobileAlliance.org) 協(xié)議來開啟密鑰/簽名。
      遠(yuǎn)程服務(wù)器IIO可在活動(dòng)目錄111中保存諸如平臺密鑰113a或OS加載 程序密鑰113b之類的公鑰和證書和撤消列表。活動(dòng)目錄111是企業(yè)注冊表。
      該注冊表可保存有關(guān)所管理的平臺的信息。良好/有效的密鑰列表可存儲在活動(dòng) 目錄lll中。在其它系統(tǒng)中,可管理性引擎(ME)或英特爾主動(dòng)管理技術(shù)(iAMT)
      設(shè)備訪問遠(yuǎn)程服務(wù)器110上的活動(dòng)目錄111來確定密鑰是有效的還是已經(jīng)被撤 消。在替換方案中,ME可訪問其它遠(yuǎn)程服務(wù)器或者網(wǎng)絡(luò)例如通過公共因特網(wǎng) 來檢索良好或撤消的密鑰列表。在本發(fā)明的實(shí)施例中,安全性處理器用于管理 密鑰和證書。盡管證書列表可存儲在安全性處理器可訪問而主處理器不可訪問 的非易失性存儲器(NVM)中,但證書可用與上面所述的相同方式通過因特 網(wǎng)訪問在運(yùn)行時(shí)間中更新或撤消,或者通過平臺管理員將新的證書集合通過無 線通信路徑推壓到MID來更新或撤消。
      在實(shí)施例中,安全性處理器是MID上有源硬件片。UEFI安全引導(dǎo)增加用 于強(qiáng)制確認(rèn)的可信根(RTE/RTV),盡管它支持"安全引導(dǎo)"。事實(shí)上,如果 軟件狀態(tài)不滿足某種完整性度量諸如白名單中的散列或數(shù)字簽名,則RTE和 "安全引導(dǎo)"可使引導(dǎo)中止。UEFI允許這兩種情形但提倡后者,因?yàn)榭赡艿纳⒘辛斜硎菬o限的,這會(huì)是一個(gè)管理惡夢;公鑰允許一個(gè)間接的層來將密鑰映 射到少量可信源,因而減輕了與布署相關(guān)聯(lián)的管理問題。
      本發(fā)明實(shí)施例所解決的問題包括(l)擁有單一策略機(jī)制來管理第三方 UEFI驅(qū)動(dòng)程序、應(yīng)用和OS加載程序的證明;以及(2)—旦平臺所有者在OS前 或OS中取得系統(tǒng)所有權(quán),就授權(quán)第三方UEFI驅(qū)動(dòng)程序、應(yīng)用和OS加載程序執(zhí)行。
      安全性處理器允許平臺所有者、平臺固件和第三方(即OSV、 OEM等) 之間的信任關(guān)系??墒褂脙煞N類型描述信任關(guān)系的憑證。首先,可使用平臺憑 證來建立平臺所有者與固件之間的信任關(guān)系。平臺所有者創(chuàng)建平臺憑證作為包 含不對稱密鑰對的根憑證,它用于取得所有權(quán)并登記所有其它憑證。其次,第 三方憑證可建立第三方銷售商與固件之間的信任關(guān)系。平臺所有者可登記可信 第三方銷售商的憑證,它們可用于授權(quán)第三方可執(zhí)行程序的執(zhí)行。這種憑證可 包含銷售商產(chǎn)生的公鑰和銷售商專用信息兩者。
      由于平臺憑證包含公鑰并且用于登記第三方憑證,因此本地機(jī)器要求明確 的私鑰操縱(即簽名有效負(fù)荷)。在MID中,難以像在臺式系統(tǒng)或其它現(xiàn)有 系統(tǒng)中那樣處理這兩個(gè)問題。因而,本發(fā)明的實(shí)施例提供一種創(chuàng)新方法,它使 用安全性處理器作為存儲的可信根(RTS)來產(chǎn)生平臺憑證并且關(guān)于第一個(gè)問 題安全地存儲私鑰。對于后一問題,實(shí)施例使用安全性處理器在內(nèi)部執(zhí)行簽名 操作,這將不暴露任何私鑰。
      在一實(shí)施例中,從平臺所有者的角度定義兩個(gè)操作模式建立(SETUP) 模式和用戶(USER)模式。在后一模式中強(qiáng)制實(shí)施安全性策略。明確地,建立的 情況是,機(jī)器開放著以獲得被提供的證書,而用戶模式的情況是,UEFI固件 將變成驗(yàn)證可信根(RTV)并且僅調(diào)用經(jīng)數(shù)字簽名的且相關(guān)聯(lián)的驗(yàn)證公鑰在安 裝在MID設(shè)備上的證書中的UEFI OS加載程序或驅(qū)動(dòng)程序。
      圖2例示在平臺所有者取得所有權(quán)并且借助于安全性處理器產(chǎn)生平臺憑 證的流程。圖2演示了示例性實(shí)現(xiàn)。建立模式201取得所有權(quán)并且登記平臺憑 證,將控制傳遞給用戶模式203。用戶模式203登記第三方憑證。用戶模式203 還放棄所有權(quán)還給建立模式201。
      這后一操作可在MID系統(tǒng)已經(jīng)受到惡意軟件攻擊且UEFI固件不再引導(dǎo)機(jī)器時(shí)發(fā)生,因而讓機(jī)器保持著像制門器一樣的用途。自然響應(yīng)用于設(shè)備所有 者將它送回載體/廠商?;氐焦S里,特定的硬件標(biāo)記/刺激/或某種其它機(jī)制可 用于將機(jī)器從用戶模式轉(zhuǎn)移回建立模式以便重新提供憑證和/或軟件加載到機(jī) 器上。
      圖3是例示根據(jù)本發(fā)明實(shí)施例取得所有權(quán)并且登記平臺憑證的方法的流 程圖。它例示一種產(chǎn)生或更新設(shè)備上的證書數(shù)據(jù)庫的可能方法。在蜂窩電話情
      形中的平臺管理員310可以是蜂窩電話公司,它在框301確定所有權(quán)安裝是否 必要。如果是,則管理員可在框303斷言物理存在(physicalpresence)。這通常 在設(shè)備離開管理員的控制之前在制造期間完成。在一些實(shí)施例中,可使用帶外 (out-of-band)存在而非物理存在來登記憑證??砂l(fā)送SecProcForceClear命令到 安全性處理器以清除所有權(quán)。隨后在框305用秘密的平臺密鑰(PK)清除所有 者。在安全性處理器上進(jìn)入建立模式。當(dāng)所有者已經(jīng)安裝并且在清除所有權(quán)之 后并進(jìn)入建立模式時(shí),可在框307設(shè)置管理口令?,F(xiàn)在可在框309創(chuàng)建密鑰對 作為平臺憑證的一部分。在框311可產(chǎn)生密鑰對340,具有平臺公鑰PKpub、 作為平臺私鑰(PKpri)的函數(shù)的加密操作(ESRK)。術(shù)語五^W尸^pJ表示在平 臺私鑰上的加密操作。在從不離開安全性處理器的私鑰(尸《,)上的加密操作 因而解決了一個(gè)公鑰密碼學(xué)問題,即如果有人得到你的私鑰,他們就擁有了機(jī) 器。安全性處理器代理在私鑰上的這些操作,使得x86 UEFI代碼從來不必處 理私鑰本身。密鑰對可存儲在非易失性存儲330中??稍诎踩蕴幚砥?20中 執(zhí)行SecProcCreateKey命令以產(chǎn)生密鑰對。 一旦創(chuàng)建了密鑰對,安全性處理器 就進(jìn)入用戶模式。在框313中可登記其它憑證。
      圖4例示用于實(shí)現(xiàn)本發(fā)明實(shí)施例的示例性C代碼。在允許加載和開始每 個(gè)映象之前,必須認(rèn)證每個(gè)映象。在實(shí)施例中,UEFI映象通常是便攜可執(zhí)行 程序和共同目標(biāo)文件格式(PE/COFF)可執(zhí)行程序映象。每個(gè)PE/COFF映象 具有稱為安全性目錄的部分。安全性目錄包含映象的數(shù)字簽名和相關(guān)聯(lián)的公 鑰。PE/COFF映象的散列和相關(guān)聯(lián)的公鑰可傳遞給安全性處理器以確認(rèn)映象。 安全性處理器可從證書數(shù)據(jù)庫檢索適當(dāng)?shù)淖C書并且使用芯片組上的密碼硬件 功能來驗(yàn)證映象。參考圖4,對于每個(gè)UEFI映象,執(zhí)行函數(shù) AuthenticatelmageW他SecProc() 401并且作出有關(guān)是否已經(jīng)返回安全性違反(EFI—SECURITY—VIOLATION)的判斷403 。如果是,則執(zhí)行下一個(gè)映象
      (NextImage()) 405函數(shù)來認(rèn)證下一個(gè)映象。如果認(rèn)證了引導(dǎo)或固件的映象, 則通過執(zhí)行Launchlmage()函數(shù)407來開始它。用安全性處理器對映象進(jìn)行認(rèn) 證(AuthenticatelmageWithSecProc()) 401包括確定映象憑證(Image—Credential) 是否在第三方證書數(shù)據(jù)庫409內(nèi)以及映象憑證是否由第三方認(rèn)證證書數(shù)據(jù)庫 411驗(yàn)證過。如果是,則函數(shù)返回成功413。如果這些檢査中任一失敗,則函 數(shù)返回安全性違反(EFI_SECURITY—VIOLATION) 415。
      這些憑證可存儲為UEFIEFI證書數(shù)據(jù)庫 (EFI—CERTIFICATE—DATABASE)類型440,后者存儲在持久或非易失性的 存儲中。本發(fā)明的實(shí)施例還可用于授權(quán)網(wǎng)絡(luò)加載的預(yù)引導(dǎo)執(zhí)行環(huán)境(PXE)映 象。安全性處理器可用所提供的NVM和認(rèn)證訪問來保護(hù)該存儲的安全。
      應(yīng)當(dāng)理解,各種操作系統(tǒng)和加載程序可使用不同的格式,即不總是 PE/COFF。安全性處理器可配置為接受所有允許的操作系統(tǒng)的格式。無論什么 格式,映象將包含與安全性處理器可訪問的而設(shè)備上的主處理器不可訪問的證 書數(shù)據(jù)庫匹配的數(shù)字簽名和公鑰。
      可用于證書數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)的示例也在圖4中示出。 EFI—CERTIFICATE—DATABASE 440可包含數(shù)據(jù)庫大小、證書列表計(jì)數(shù)和證書 列表數(shù)據(jù)。證書列表(EFI_CERTIFICATE—LIST)數(shù)據(jù)結(jié)構(gòu)450可包含證書列 表大小、證書計(jì)數(shù)、證書類型、證書頭部大小、證書頭部和證書。證書數(shù)據(jù)結(jié) 構(gòu)可包含標(biāo)識符和數(shù)據(jù)。標(biāo)識符可以是全局唯一標(biāo)識符(GUID)。證書數(shù)據(jù) (EFI_CERTIFICATE—DATA)460可以是具有GUID和任何大小的文本字段的結(jié) 構(gòu)。
      圖5更直觀地例示根據(jù)本發(fā)明實(shí)施例的UEFI證書數(shù)據(jù)庫500的結(jié)構(gòu)。在 左邊示出數(shù)據(jù)庫的一般結(jié)構(gòu),它具有頭部501和三個(gè)證書列表503a-c。在右邊 示出證書列表510,它具有列表大小511、證書計(jì)數(shù)513、類型515、頭部大小 517、證書大小519、證書頭部520和具有標(biāo)識符521a-n和數(shù)據(jù)523a-n的各個(gè) 證書530。
      圖6是例示根據(jù)本發(fā)明實(shí)施例平臺所有者登記第三方認(rèn)證憑證的方法的 流程圖。該登記可用于相關(guān)聯(lián)的第三方可執(zhí)行程序集合的單一授權(quán)執(zhí)行,例如用于認(rèn)證由OEM提供的所有UEFI驅(qū)動(dòng)程序的憑證。在框601,平臺管理員 310開始檢査以確定平臺密鑰(PK)是否已經(jīng)產(chǎn)生。在框603通常要求口令詢 問來認(rèn)證管理員。在框605,管理員授權(quán)簽名第三方憑證。該簽名可開始在安 全性處理器320中執(zhí)行創(chuàng)建密鑰(SecProcCreateKey)、簽名(SecProcSign)和卸 載密鑰(SecProcUnloadKey)函數(shù)。合適的存儲根密鑰(ESRK) 640操作由安全性 處理器從非易失性存儲330返回。隨后在框607登記第三方憑證,并且在609 在數(shù)據(jù)庫中登記簽名;明確地,簽名的登記是讓證書連同其公鑰存儲在防篡改 的位置中,或者保存可執(zhí)行程序的散列供在后續(xù)的映象驗(yàn)證中使用。
      圖7是例示根據(jù)本發(fā)明實(shí)施例平臺所有者登記簽名的方法的流程圖。該登 記可用于與其它可執(zhí)行程序無關(guān)地授權(quán)可執(zhí)行程序的執(zhí)行。在框701,平臺管 理員301開始簽名的登記。在框703,使用Security_Arch_Protocol (安全性架 構(gòu)協(xié)議)認(rèn)證簽名。如果認(rèn)證成功,如在框705確定的,則在框709可對管理 員實(shí)行口令詢問。如果認(rèn)證未成功,則在框707使用平臺銷售商專用的策略作 出有關(guān)是否無論如何應(yīng)當(dāng)添加簽名的判斷。如果否,則在框740在未完成的情 況下退出登記。如果無論如何要添加簽名,則處理繼續(xù)在框709進(jìn)行口令詢問。 一旦管理員輸入了正確的口令,則在框711由安全性處理器320加載密鑰 (SecProcLoadKey)、簽名(SecProcSign)且隨后卸載密鑰(SecProcUnloadKey)。 隨后在框713,通過設(shè)置變量(SetVariable函數(shù))在NVM 330登記簽名。過 程在框760完成。這是執(zhí)行管理動(dòng)作來添加其它簽名至數(shù)據(jù)庫的過程。這在設(shè) 備所有者希望開始新的操作系統(tǒng)加載程序或應(yīng)用(其證書未在設(shè)備制造期間登 記)時(shí)發(fā)生。
      圖8是例示根據(jù)本發(fā)明實(shí)施例授權(quán)UEFI可執(zhí)行程序的示例性方法的流程 圖。在框801上電或復(fù)位MID。在框803存儲初始密鑰;這可以是工廠提供的 NVM/數(shù)據(jù)庫。在框805如上所述,安全性處理器通過相對于公鑰檢查簽名來 確定UEFI確認(rèn)是否已經(jīng)成功。如果確認(rèn)失敗,則在框809確定是否授權(quán)UEFI 可執(zhí)行程序。被授權(quán)的應(yīng)用是簽名的應(yīng)用,在平臺中具有相關(guān)聯(lián)的驗(yàn)證公鑰, 并且UEFI映象中的數(shù)字簽名通過驗(yàn)證測試??缮院髨?zhí)行確認(rèn)動(dòng)作,例如在框 823,其中映象可能還沒有在數(shù)據(jù)庫中,但在OS運(yùn)行時(shí)間期間,OS可與遠(yuǎn)程 權(quán)威通信并查詢映象的狀態(tài)或者査詢用戶以確定用戶下次是否希望登記/運(yùn)行該映象)。
      如果UEFI可執(zhí)行程序未授權(quán),則在框813中可嘗試下一個(gè)引導(dǎo)選項(xiàng)。在
      一些情形中,該引導(dǎo)選項(xiàng)可以是完全失敗的設(shè)備引導(dǎo)。在其它情形中,引導(dǎo)選
      項(xiàng)可引導(dǎo)管理模式OS或者某種減少功能的0S。在框813嘗試下一個(gè)引導(dǎo)選 項(xiàng)的情況下,引導(dǎo)可推遲直至在框815平臺管理員將UEFI簽名添加到系統(tǒng)配置表。
      當(dāng)確認(rèn)成功時(shí),隨后在框807可啟動(dòng)UEFI可執(zhí)行程序。當(dāng)確認(rèn)失敗但準(zhǔn) 予授權(quán)時(shí),可在框807啟動(dòng)可執(zhí)行程序之前,在框811將UEFI可執(zhí)行程序簽 名保存到數(shù)據(jù)庫830。
      一旦在框821中已經(jīng)開始OS,則可在框823作出有關(guān)OS應(yīng)用是否由UEFI 可執(zhí)行程序確認(rèn)的確定。如果否,則進(jìn)程在框850結(jié)束。如果確認(rèn)了,則在框 825更新UEFI可執(zhí)行程序簽名數(shù)據(jù)庫且進(jìn)程在850結(jié)束。
      移動(dòng)因特網(wǎng)設(shè)備架構(gòu)可故意避開"PC兼容性"以便更緊密地將蜂窩市場 作為目標(biāo)。這樣做,他們省略/失去某些帶內(nèi)(in-band)處理器可信平臺技術(shù),諸 如類似SENTER的TXT GETSEC指令。代之以MID架構(gòu)可選擇專用集成的安 全性處理器,如上所述。這樣做,MID與"OEM弓I導(dǎo)模塊"有環(huán)境系統(tǒng)(eco-system) 缺口要填。該"缺口"是因?yàn)锽IOS銷售商習(xí)慣于構(gòu)建用于PC/AT平臺的引導(dǎo) 代碼。通過與PC/AT分離,傳統(tǒng)BIOS將不再在MID上工作。用于早期初始 化的UEFI平臺初始化(PI)代碼和用于OS加載的UEFI接口的模塊化平臺無 關(guān)設(shè)計(jì)在這里是有利的??梢詫EFI和PI代碼的目標(biāo)改為用于這個(gè)非傳統(tǒng)(即 非PC/AT)平臺。通過UEFI可添加更多的形式并且還使用UEFI安全引導(dǎo)的 所引入的安全性來聯(lián)合安全性處理器一起親密工作以將制造商信任保持到運(yùn) 行時(shí)間環(huán)境中。明確地,可教導(dǎo)安全性處理器來理解簽名的UEFIPI固件巻, 并且在DXE中的UEFI實(shí)現(xiàn)使用安全性處理器來存儲證書(連同用于映象驗(yàn)證 的公鑰)并認(rèn)證(即運(yùn)行類似SHA的單向散列功能和類似RSA的數(shù)字簽名算 法)UEFIOS加載程序和驅(qū)動(dòng)程序。
      本發(fā)明的實(shí)施例使用安全性處理器作為存儲可信根(RTS)來執(zhí)行密鑰管 理,諸如密鑰產(chǎn)生和存儲以及一些密碼操作如有效負(fù)荷簽名,而沒有暴露私鑰 的危險(xiǎn),如上所述。在現(xiàn)有系統(tǒng)中,使用認(rèn)證變量必須讓某種帶內(nèi)代碼簽名認(rèn)證變量的Authlnfo(作者信息)字段,這在沒有屏蔽位置時(shí)是危險(xiǎn)的。安全性處 理器允許屏蔽位置并在平臺本身簽名認(rèn)證變量;這與簽名必須在脫離機(jī)器的遠(yuǎn)
      程簽名服務(wù)器上發(fā)生的一些方案形成對照。這后一種脫離機(jī)器的簽名是不方便 的,因?yàn)檫@隨后就必須每當(dāng)更新或管理動(dòng)作發(fā)生時(shí)就要將移動(dòng)設(shè)備與遠(yuǎn)程服務(wù) 器同步。
      本發(fā)明的實(shí)施例還通過以自頂向下方式布署不同的憑證來建立憑證分層 結(jié)構(gòu),換言之,從平臺憑證到第三方認(rèn)證憑證和第三方可執(zhí)行程序憑證。這消 除了對單一憑證的依賴并且還區(qū)分憑證發(fā)行者。而且,本發(fā)明的實(shí)施例補(bǔ)充了
      單點(diǎn)登錄場景。例如,平臺所有者可用相同的授權(quán)數(shù)據(jù)在OS和OS前兩個(gè)階 段中取得所有權(quán)。
      另外,使用安全性處理器的本發(fā)明實(shí)施例可禁止未授權(quán)代碼的執(zhí)行以避免 運(yùn)行惡意軟件引起的損壞。
      由于Itanium⑧平臺和MID沒有TXT或LT-SX,本發(fā)明實(shí)施例可用于確認(rèn) OS前可執(zhí)行程序,包括OS加載程序,因此惡意軟件不能利用OS前作為攻擊
      安全性處理器是供MID使用的基于硬件的安全性引擎,諸如用于數(shù)字權(quán) 利管理(DRM)、可信引導(dǎo)和安全存儲。安全性處理器還為密碼功能(對稱、 PKI)、散列功能和證明提供硬件加速。安全性處理器解析DRM許可證/權(quán)利 對象(RO)(例如電影可以觀看多久、歌曲可以播放多久等)并提取用于內(nèi) 容解密的密鑰,并且從不向系統(tǒng)存儲器暴露密鑰。安全性處理器還可使用從 DRM許可證/RO文件提取的密鑰解密DRM內(nèi)容。
      本文描述的技術(shù)不限于任何特定的硬件或軟件配置;它們可在任何計(jì)算、 消費(fèi)電子產(chǎn)品或處理環(huán)境中發(fā)現(xiàn)應(yīng)用性。這些技術(shù)可用硬件、軟件或兩者的組 合來實(shí)現(xiàn)。
      對于仿真,程序代碼可表示使用硬件描述語言或其它功能描述語言的硬 件,它實(shí)質(zhì)上提供期望執(zhí)行如何設(shè)計(jì)的硬件的模型。程序代碼可以是匯編或機(jī) 器語言或者可編譯的和/或解釋的數(shù)據(jù)。此外,在本領(lǐng)域通常認(rèn)為軟件的一種或 另一種形式是采取動(dòng)作或?qū)е陆Y(jié)果。這樣的表達(dá)僅僅是陳述由處理系統(tǒng)開始對 程序代碼的執(zhí)行使處理器完成動(dòng)作或產(chǎn)生結(jié)果的簡略方式。每個(gè)程序可用用于與處理系統(tǒng)通信的高級過程或面向?qū)ο缶幊陶Z言來實(shí) 現(xiàn)。然而需要的話,程序可以用匯編或機(jī)器語言來實(shí)現(xiàn)。在任一情況下,語言 可以是編譯的或者是解釋的。
      程序指令可用于使得用這些指令編程的通用或?qū)S锰幚硐到y(tǒng)完成本文描 述的操作??商鎿Q地,這些操作可由包含用于執(zhí)行這些操作的硬連線邏輯的特 定硬件組件來完成,或者由編程的計(jì)算機(jī)組件和定制的硬件組件的任何組合來 完成。本文描述的方法可作為計(jì)算機(jī)程序產(chǎn)品提供,其中可包括其上存儲著用 于編程處理系統(tǒng)或其它電子設(shè)備執(zhí)行這些方法的指令的機(jī)器可訪問介質(zhì)。
      例如,程序代碼或指令可存儲在易失性和/或非易失性存儲器中,諸如存 儲設(shè)備和/或相關(guān)聯(lián)的機(jī)器可讀或機(jī)器可訪問介質(zhì),其中包括固態(tài)存儲器、硬驅(qū) 動(dòng)器、軟盤、光存儲、帶、閃存、存儲棒、數(shù)字視頻盤、數(shù)字通用盤(DVD) 等等,以及更不尋常的介質(zhì)如機(jī)器可訪問生物學(xué)狀態(tài)保存存儲。機(jī)器可讀介質(zhì) 可包括用于存儲、發(fā)送或接收機(jī)器可讀形式的信息的任何機(jī)制,并且介質(zhì)可包 括有形介質(zhì)諸如天線、光纖、通信接口等,編碼了程序代碼的電、光、聲音或 其它形式的傳播信號或載波可通過這些有形介質(zhì)。程序代碼可以分組、串行數(shù) 據(jù)、并行數(shù)據(jù)、傳播信號等形式發(fā)送,并且可以用壓縮或加密的格式來使用。
      程序代碼可實(shí)現(xiàn)為在可編程機(jī)器上執(zhí)行的程序,可編程機(jī)器諸如移動(dòng)或固
      定計(jì)算機(jī)、個(gè)人數(shù)字助理、蜂窩電話和尋呼機(jī)、消費(fèi)電子設(shè)備(包括DVD播
      放器、個(gè)人錄像機(jī)、個(gè)人視頻播放器、衛(wèi)星接收器、立體聲接收器、有線電視 接收器)和其它電子設(shè)備,上述設(shè)備各自包括處理器、處理器可讀的易失性和 /或非易失性存儲器、至少一個(gè)輸入設(shè)備和/或一或多個(gè)輸出設(shè)備。程序代碼可 應(yīng)用于使用輸入設(shè)備輸入的數(shù)據(jù),以執(zhí)行所述實(shí)施例并產(chǎn)生輸出信息。輸出信 息可應(yīng)用于一或多個(gè)輸出設(shè)備。本領(lǐng)域技術(shù)人員可了解到,所揭示的主題的實(shí) 施例可由各種計(jì)算機(jī)系統(tǒng)配置來實(shí)踐,包括多處理器或多核處理系統(tǒng)、小型計(jì) 算機(jī)以及可嵌入到實(shí)質(zhì)上任何設(shè)備中的遍布或微型的計(jì)算機(jī)或處理器。所揭示 的主題的實(shí)施例還可在分布式計(jì)算環(huán)境中實(shí)踐,其中其任務(wù)或部分任務(wù)可由通 過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行。
      盡管作為有順序的過程描述了操作,但一些操作實(shí)際上可并行地、同時(shí)和 /或在分布式環(huán)境中執(zhí)行,并且存儲在本地和/或遠(yuǎn)程的程序代碼可由單一或多個(gè)處理器機(jī)器訪問。另外,在一些實(shí)施例中,操作的順序在不脫離所揭示的主 題的精神的情況下可重新排列。程序代碼可由嵌入式控制器使用,或者結(jié)合嵌 入式控制器使用。
      盡管已經(jīng)參考例示實(shí)施例描述了本發(fā)明,但該描述不旨在以限制意義來解 釋。例示實(shí)施例以及本發(fā)明的其它實(shí)施例的各種修改方案,對于本發(fā)明所屬領(lǐng) 域的技術(shù)人員是顯然的,并且應(yīng)當(dāng)落在本發(fā)明的精神和范圍之內(nèi)。
      權(quán)利要求
      1.一種用于在移動(dòng)平臺上安全引導(dǎo)的系統(tǒng),包括配置為執(zhí)行主機(jī)操作系統(tǒng)和主機(jī)應(yīng)用的主機(jī)處理器;用于引導(dǎo)所述主機(jī)處理器的固件,所述固件配置為在引導(dǎo)期間使用一或多個(gè)簽名密鑰,每個(gè)簽名密鑰關(guān)聯(lián)于要在引導(dǎo)期間加載到所述平臺上的軟件映象;以及在所述平臺上的安全性處理器,所述安全性處理器以通信方式耦合至安全存儲器存儲,所述安全存儲器存儲對于所述固件和其它主機(jī)處理器應(yīng)用是不可訪問的;所述安全性處理器配置為管理所述一或多個(gè)簽名密鑰以在引導(dǎo)期間控制映象加載。
      2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述安全存儲器存儲駐留在耦 合到所述安全性處理器的非易失性存儲器(NVM)存儲中。
      3. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述安全性處理器駐留在耦合 至密碼核心的芯片組中,所述密碼核心配置為協(xié)助驗(yàn)證數(shù)字簽名。
      4. 如權(quán)利要求3所述的系統(tǒng),其特征在于,還包括 耦合至所述平臺上的芯片組的公鑰;以及存儲在所述安全存儲器存儲中的證書數(shù)據(jù)庫,其中所述證書數(shù)據(jù)庫包括多 個(gè)證書,其中每個(gè)證書對應(yīng)于多個(gè)能夠由所述主機(jī)處理器執(zhí)行的軟件映象之 一,以及其中所述安全性處理器配置為針對所述證書數(shù)據(jù)庫中所述相應(yīng)的證書和嵌入在所述軟件映象中的數(shù)字簽名驗(yàn)證要加載到所述主機(jī)處理器上的每個(gè) 軟件映象,所述驗(yàn)證使用耦合至所述芯片組的所述公鑰。
      5. 如權(quán)利要求4所述的系統(tǒng),其特征在于,還包括 用于由平臺管理員取得所述移動(dòng)平臺的所有權(quán)的裝置;以及 用于在所述證書數(shù)據(jù)庫中登記憑證的裝置,其中憑證包括平臺憑證和第三方憑證中的至少一個(gè)。
      6. 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述軟件映象兼容于統(tǒng)一可擴(kuò) 展固件接口 (UEFI)架構(gòu)。
      7. 如權(quán)利要求1所述的系統(tǒng),其特征在于,如果關(guān)聯(lián)于所述軟件映象的所述簽名密鑰未能確認(rèn),則所述固件將不加載或開始所述軟件映象。
      8. 如權(quán)利要求7所述的系統(tǒng),其特征在于,確認(rèn)失敗是證書期滿、證書缺 失或證書撤消中的至少之一。
      9. 如權(quán)利要求1所述的系統(tǒng),其特征在于,簽名密鑰包括平臺密鑰、受保 護(hù)變量密鑰或公鑰中的至少之一。
      10. 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述一或多個(gè)簽名密鑰包括簽名密鑰的分層結(jié)構(gòu),其中較高層的密鑰保護(hù)較低層的密鑰。
      11. 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述平臺密鑰的層次比受保護(hù)變量密鑰高,受保護(hù)變量密鑰的層次比公鑰高,其中公鑰與要在引導(dǎo)期間加 載的每個(gè)軟件映象相關(guān)聯(lián)。
      12. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)具有配置為允許遠(yuǎn) 程平臺管理員更新耦合至所述安全性處理器的證書數(shù)據(jù)庫的無線通信能力。
      13. —種用于在移動(dòng)平臺上安全引導(dǎo)的方法,包括 開始在所述平臺上的主機(jī)處理器的安全引導(dǎo);由所述平臺上的安全性處理器確定引導(dǎo)模塊是否被數(shù)字簽名并被授權(quán)加 載到所述主機(jī)處理器上;當(dāng)所述引導(dǎo)模塊被數(shù)字簽名并且被授權(quán)時(shí),則在所述主機(jī)處理器上加載并 執(zhí)行所述引導(dǎo)模塊,并且由所述安全性處理器確定在所述引導(dǎo)模塊被授權(quán)在所 述主機(jī)處理器上加載之后是否要加載多個(gè)軟件映象,以及在所述多個(gè)軟件映象 之一被授權(quán)時(shí)在所述主機(jī)處理器加載所述多個(gè)軟件映象之一用于執(zhí)行;以及當(dāng)所述數(shù)字簽名的引導(dǎo)模塊未被授權(quán)時(shí),則執(zhí)行平臺管理員授權(quán)所述引導(dǎo) 映象或者不能引導(dǎo)所述平臺這兩者的至少之一,以及當(dāng)多個(gè)軟件映象之一未被 授權(quán)時(shí),則不能在所述主機(jī)處理器上加載所述多個(gè)軟件映象之一。
      14. 如權(quán)利要求13所述的方法,其特征在于,所述安全性處理器具有無線 通信能力,所述方法還包括由所述安全性處理器通過與具有有關(guān)憑證的信息的 遠(yuǎn)程管理員無線通信來管理憑證,所述憑證存儲在可由所述安全性處理器訪問 的非易失性存儲器中的證書數(shù)據(jù)庫中,所述非易失性存儲器對于所述主機(jī)處理 器是不可訪問的。
      15. 如權(quán)利要求13所述的方法,其特征在于,確定引導(dǎo)模塊是否被數(shù)字簽名并且是否被授權(quán)在所述主機(jī)處理器上加載還包括確定所述引導(dǎo)模塊在所述證書數(shù)據(jù)庫中是否具有映象憑證;以及 確定所述引導(dǎo)模塊映象憑證針對所述證書數(shù)據(jù)庫中的所述映象憑證是否得到驗(yàn)證。
      16. 如權(quán)利要求15所述的方法,其特征在于,由所述安全性處理器確定在所述引導(dǎo)模塊被授權(quán)在所述主機(jī)處理器上加載之后是否要加載多個(gè)軟件映象包括確定所述軟件映象的每一個(gè)是否具有在所述證書數(shù)據(jù)庫中的相應(yīng)的映象 憑證;以及確定所述軟件映象憑證的每一個(gè)針對所述證書數(shù)據(jù)庫中的所述映象憑證 是否得到驗(yàn)證。
      17. 如權(quán)利要求13所述的方法,其特征在于,還包括由駐留在與所述安全性處理器相同的芯片組中的密碼核心驗(yàn)證所述引導(dǎo) 模塊和軟件映象中的數(shù)字簽名。
      18. —種使用移動(dòng)平臺上的安全引導(dǎo)的裝置,包括 用于開始所述平臺上的主機(jī)處理器的安全引導(dǎo)的裝置;用于由所述平臺上的安全性處理器確定引導(dǎo)模塊是否被數(shù)字簽名并且被授權(quán)在所述主機(jī)處理器上加載的裝置;當(dāng)所述引導(dǎo)模塊被數(shù)字簽名和被授權(quán)時(shí),用于在所述主機(jī)處理器上加載并 執(zhí)行所述引導(dǎo)模塊的裝置,和用于由所述安全性處理器確定在所述引導(dǎo)模塊被 授權(quán)在所述主機(jī)處理器上加載之后是否要加載多個(gè)軟件映象的裝置,以及用于 當(dāng)所述多個(gè)軟件映象之一被授權(quán)時(shí),在所述主機(jī)處理器上加載所述多個(gè)軟件映 象之一以供執(zhí)行的裝置;以及裝置,用于當(dāng)所述數(shù)字簽名的引導(dǎo)模塊未被授權(quán)時(shí),有選擇地執(zhí)行由平臺 管理員授權(quán)所述引導(dǎo)映象或者不能引導(dǎo)所述平臺這兩者至少之一以及當(dāng)所述 多個(gè)軟件映象之一未被授權(quán)時(shí),則不能在所述主機(jī)處理器上加載所述多個(gè)軟件 映象之一。
      19. 如權(quán)利要求18所述的設(shè)備,其特征在于,所述安全性處理器具有無線 通信能力,還包括由所述安全性處理器通過與具有有關(guān)憑證的信息的遠(yuǎn)程管理員無線通信來管理證書數(shù)據(jù)庫中的憑證的裝置,所述證書數(shù)據(jù)庫存儲在所述安 全性處理器可訪問的非易失性存儲器中,所述非易失性存儲器對于所述主機(jī)處 理器是不可訪問的。
      20. 如權(quán)利要求18所述的設(shè)備,其特征在于,確定引導(dǎo)模塊是否被數(shù)字簽名并且被授權(quán)在所述主機(jī)處理器上加載的裝置還包括確定所述引導(dǎo)模塊是否具有在所述證書數(shù)據(jù)庫中的映象憑證的裝置;以及確定所述引導(dǎo)模塊映象憑證針對所述證書數(shù)據(jù)庫中的所述映象憑證是否 得到驗(yàn)證的裝置。
      21. 如權(quán)利要求20所述的設(shè)備,其特征在于,由所述安全性處理器確定在 所述引導(dǎo)模塊被授權(quán)在所述主機(jī)處理器上加載之后是否要加載多個(gè)軟件映象 的裝置還包括-確定所述軟件映象的每一個(gè)是否具有在所述證書數(shù)據(jù)庫中的相應(yīng)的映象 憑證的裝置;以及確定所述軟件映象憑證的每一個(gè)針對所述證書數(shù)據(jù)庫中的所述映象憑證 是否得到驗(yàn)證的裝置。
      22. 如權(quán)利要求18所述的裝置,其特征在于,還包括 由駐留在與所述安全性處理器相同的芯片組上的密碼核心驗(yàn)證所述引導(dǎo)模塊和軟件映象中的數(shù)字簽名的裝置。
      全文摘要
      本發(fā)明涉及在移動(dòng)因特網(wǎng)設(shè)備上安全引導(dǎo)UEFI固件和UEFI感知操作系統(tǒng)的系統(tǒng)和方法,其中,在一些實(shí)施例中,本發(fā)明涉及增加平臺所有者或管理員確保僅以所有者授權(quán)的方式執(zhí)行固件的能力,諸如利用由安全性處理器所管理的簽名組件。實(shí)施例通過在移動(dòng)因特網(wǎng)設(shè)備(MID)中將耦合至安全性處理器的密碼單元用作存儲可信根(RTS)存儲根密鑰(SRK),將核心測量可信根(CRTM)擴(kuò)展到統(tǒng)一可擴(kuò)展固件接口(UEFI)平臺初始化(PI)映象授權(quán)和引導(dǎo)管理器中。描述和要求保護(hù)其它實(shí)施例。
      文檔編號G06F21/00GK101630353SQ20091013955
      公開日2010年1月20日 申請日期2009年6月30日 優(yōu)先權(quán)日2008年6月30日
      發(fā)明者M·A·羅斯曼, V·J·齊默 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1