亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的制作方法

文檔序號:6496306閱讀:156來源:國知局
數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的制作方法
【專利摘要】根據(jù)一個或多個方面,生成設(shè)備的固件環(huán)境的配置的表示。該設(shè)備的秘密被獲得,并且基于該設(shè)備的固件環(huán)境配置表示和秘密二者生成平臺秘密。一個或多個密鑰可以基于該平臺秘密被生成。
【專利說明】數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密
【背景技術(shù)】
[0001]計算機(jī)已經(jīng)變得日益普遍并且經(jīng)常被用來存儲計算機(jī)用戶希望保密的數(shù)據(jù)。然而,能夠?qū)嵭卸喾N不希望的行動的惡意程序可能將計算機(jī)作為攻擊的目標(biāo),這些不希望的行動諸如是訪問用戶希望保密的數(shù)據(jù)之類。保護(hù)計算機(jī)不受這樣的惡意程序攻擊仍然是難點。

【發(fā)明內(nèi)容】

[0002]提供本
【發(fā)明內(nèi)容】
是用以以簡化的形式介紹將在下面的【具體實施方式】進(jìn)一步描述的概念的選集。本
【發(fā)明內(nèi)容】
不旨在標(biāo)識所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。
[0003]根據(jù)一個或多個方面,生成設(shè)備的固件環(huán)境的配置的表示。設(shè)備的秘密被獲得,并且基于設(shè)備的固件環(huán)境配置表示和秘密二者生成平臺秘密。
[0004]根據(jù)一個或多個方面,至少部分地基于設(shè)備的秘密和設(shè)備的固件環(huán)境的配置的表示二者所生成的平臺秘密被獲得。基于該平臺秘密,一個或多個密鑰被生成。
【專利附圖】

【附圖說明】
[0005]相同的標(biāo)號在全部附圖中被用來提及相近的特征。
[0006]圖1圖示了根據(jù)一個或多個實施例的實現(xiàn)數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例設(shè)備。
[0007]圖2圖示了根據(jù)一個或多個實施例的實現(xiàn)數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例系統(tǒng)。
[0008]圖3圖示了根據(jù)一個或多個實施例的機(jī)構(gòu)的示例列表。
[0009]圖4圖示了根據(jù)一個或多個實施例的機(jī)構(gòu)的另一示例列表。
[0010]圖5是圖示了根據(jù)一個或多個實施例的用于生成數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例過程的流程圖。
[0011]圖6是圖示了根據(jù)一個或多個實施例的用于使用數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例過程的流程圖。
[0012]圖7圖示了根據(jù)一個或多個實施例的能夠被配置成實現(xiàn)數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例計算設(shè)備。
【具體實施方式】
[0013]本文討論了數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密。在啟動設(shè)備的過程期間,在設(shè)備上加載一個或多個固件組件并且生成該設(shè)備的固件環(huán)境的配置的表示。固件環(huán)境配置表示可以采取諸如機(jī)構(gòu)的列表中的一個或多個之類的各種形式,所述機(jī)構(gòu)的列表包含對被加載的固件組件中的至少一個進(jìn)行了數(shù)字簽名(或本來會進(jìn)行數(shù)字簽名)的每個機(jī)構(gòu)的標(biāo)識符、被準(zhǔn)許修改能夠?qū)M件進(jìn)行數(shù)字簽名的可接受機(jī)構(gòu)列表的機(jī)構(gòu)的標(biāo)識、標(biāo)識不被準(zhǔn)許驗證組件的機(jī)構(gòu)的撤銷記錄和/或不被準(zhǔn)許加載的特定組件的標(biāo)識符、對操作系統(tǒng)加載器進(jìn)行了數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符等等。設(shè)備的秘密也被獲得,其典型地是被包含在設(shè)備的處理器或其它部分中的密鑰。所述固件環(huán)境配置表示與設(shè)備的秘密組合來生成平臺秘密。該平臺秘密然后能夠被用作用于生成由該設(shè)備使用的密鑰或其它值的基礎(chǔ)。因此這樣的密鑰或其它值被束縛于特定設(shè)備(基于設(shè)備的秘密)和(正如被機(jī)構(gòu)的列表所標(biāo)識的)對已加載的固件組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)。
[0014]在本文中參考了對稱密鑰密碼學(xué)、公開密鑰密碼學(xué)和公開/私有密鑰對。盡管這樣的密鑰密碼學(xué)對本領(lǐng)域技術(shù)人員是公知的,但是在這里包含了這樣的密碼學(xué)的簡要概述以幫助讀者。在公開密鑰密碼學(xué)中,實體(諸如用戶、硬件或軟件組件、設(shè)備、域等等)具有與它相關(guān)聯(lián)的公開/私有密鑰對??梢允构_密鑰公開地可用,但是該實體保密私有密鑰。在沒有私有密鑰的情況下解密使用公開密鑰加密的數(shù)據(jù)在計算上非常困難。因此,數(shù)據(jù)能夠由具有公開密鑰的任何實體加密并且僅僅能夠由具有對應(yīng)的私有密鑰的實體解密。此外,用于數(shù)據(jù)的數(shù)字簽名能夠通過使用該數(shù)據(jù)和私有密鑰來生成。在沒有私有密鑰的情況下創(chuàng)建能夠使用公開密鑰來驗證的簽名在計算上非常困難。具有公開密鑰的任何實體能夠通過在公開密鑰、簽名和進(jìn)行了簽名的數(shù)據(jù)上執(zhí)行適合的數(shù)字簽名驗證算法來使用公開密鑰以驗證數(shù)字簽名。
[0015]另一方面,在對稱密鑰密碼學(xué)中,共享密鑰(也被稱為對稱密鑰)由兩個實體知曉并且保密。具有共享密鑰的任何實體典型地能夠解密用該共享密鑰加密的數(shù)據(jù)。在沒有共享密鑰的情況下解密用共享密鑰加密的數(shù)據(jù)在計算上非常困難。因此,如果兩個實體二者知曉共享密鑰,則每一個都能夠加密能夠被另一個解密的數(shù)據(jù),但是如果其它實體不知曉共享密鑰則其它實體不能夠解密該數(shù)據(jù)。類似地,具有共享密鑰的實體能夠加密能夠被相同實體解密的數(shù)據(jù),但是如果其它實體不知曉共享密鑰則其它實體不能夠解密該數(shù)據(jù)。此夕卜,能夠基于對稱密鑰密碼學(xué)生成數(shù)字簽名,諸如通過使用帶密鑰的散列消息認(rèn)證碼機(jī)制。具有共享密鑰的任何實體能夠生成并且驗證數(shù)字簽名。例如,可信第三方能夠基于特定實體的身份生成對稱密鑰,并且然后能夠為該特定實體既生成又驗證數(shù)字簽名(例如通過使用對稱密鑰加密或解密數(shù)據(jù))。
[0016]圖1圖示了根據(jù)一個或多個實施例的實現(xiàn)數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例設(shè)備100。設(shè)備100可以是多種不同類型的設(shè)備,諸如物理設(shè)備或虛擬設(shè)備。例如,設(shè)備100可以是諸如臺式計算機(jī)、服務(wù)器計算機(jī)、膝上型或上網(wǎng)本計算機(jī)、平板或筆記本計算機(jī)、移動站、娛樂裝置、通信耦合到顯示設(shè)備的機(jī)頂盒、電視或其它顯示設(shè)備、蜂窩式或其它無線電話、游戲機(jī)、車載計算機(jī)等等之類的物理設(shè)備。設(shè)備100同樣可以是諸如運行在物理設(shè)備上的虛擬機(jī)之類的虛擬設(shè)備。虛擬機(jī)可以被運行在任何類型各不相同的物理設(shè)備上(例如上面所列出的各種類型中的任何一個)。因此,設(shè)備100的范圍可以從具有顯著存儲器和處理器資源的全資源設(shè)備(例如個人計算機(jī)、游戲機(jī))到具有有限存儲器和/或處理資源的低資源設(shè)備(例如傳統(tǒng)的機(jī)頂盒、手持式游戲機(jī))。
[0017]當(dāng)對設(shè)備100通電或者否則重置時,設(shè)備100啟動。設(shè)備100的啟動指的是設(shè)備100的開始操作,典型地指加載和執(zhí)行設(shè)備100的操作系統(tǒng)。設(shè)備100的啟動典型地包含至少兩個階段。在第一階段中,預(yù)操作系統(tǒng)環(huán)境的組件被加載在設(shè)備100上并運行。在預(yù)操作系統(tǒng)環(huán)境中,各種組件或模塊運行包含啟動操作系統(tǒng)的各種操作的執(zhí)行處理。在第二階段中,操作系統(tǒng)環(huán)境的組件被加載在設(shè)備100上并運行。在操作系統(tǒng)環(huán)境中,操作系統(tǒng)在設(shè)備100上運行。
[0018]組件的加載指的是將組件復(fù)制到易失性存儲器(或者可替換地,非易失性存儲器)中,并且可選地實行對其它組件或數(shù)據(jù)存儲的附加配置。執(zhí)行組件指的是設(shè)備100的處理器或控制器對組件的指令的運行(或執(zhí)行)。在設(shè)備100被啟動之后,各種其它的程序能夠由操作系統(tǒng)在設(shè)備100上運行。
[0019]在啟動過程期間,固件102被設(shè)備100加載并執(zhí)行。固件102可以從諸如設(shè)備100的非易失性存儲器、耦合到設(shè)備100的可移動媒體、(例如經(jīng)由網(wǎng)絡(luò))耦合到設(shè)備100的另一設(shè)備等等之類的各種源獲得。固件102加載并且執(zhí)行操作系統(tǒng)加載器104。操作系統(tǒng)加載器104加載并執(zhí)行操作系統(tǒng)內(nèi)核106。操作系統(tǒng)內(nèi)核106然后能夠繼續(xù)加載并執(zhí)行各種附加的操作系統(tǒng)組件和/或用戶模式組件。這些操作系統(tǒng)組件和用戶模式組件能夠響應(yīng)于用戶要執(zhí)行這樣的組件的請求或響應(yīng)于來自另一組件或模塊的請求而被執(zhí)行。
[0020]在安全啟動配置中,固件102包含在被加載前(和/或在被執(zhí)行前)被驗證的多個組件??梢砸圆煌姆绞津炞C組件,諸如通過驗證該組件已經(jīng)由可接受的機(jī)構(gòu)進(jìn)行了數(shù)字簽名、驗證該組件沒有被標(biāo)識為被禁止加載、驗證該組件具有各種特征或?qū)傩缘鹊?。正如本文所使用的,機(jī)構(gòu)指的是生成數(shù)字簽名的實體,諸如組件的出版方或發(fā)行方、可信的第三方、組件的轉(zhuǎn)銷方等等。策略112包含指示固件102的哪些組件能夠被加載和/或被執(zhí)行的準(zhǔn)則,并且被用來在被加載和/或被執(zhí)行前驗證固件102的組件。策略112能夠包含各種準(zhǔn)則,諸如標(biāo)識能夠?qū)M件進(jìn)行數(shù)字簽名的可接受機(jī)構(gòu)的列表(或從中能夠獲得列表的位置)、標(biāo)識被禁止加載的組件的列表(或從中能夠獲得列表的位置)等等。
[0021]設(shè)備100還包含平臺秘密生成模塊114。模塊114生成基于特定設(shè)備100和設(shè)備100的固件環(huán)境配置的表示二者的平臺秘密。固件環(huán)境配置表示可以包含例如對固件102的組件進(jìn)行了數(shù)字簽名(或者本來會進(jìn)行數(shù)字簽名)的機(jī)構(gòu)的列表、被準(zhǔn)許修改策略112中能夠?qū)M件進(jìn)行數(shù)字簽名的可接受機(jī)構(gòu)列表的機(jī)構(gòu)的標(biāo)識、標(biāo)識不被準(zhǔn)許驗證固件102的組件的機(jī)構(gòu)的撤銷記錄和/或不被準(zhǔn)許加載為固件102的特定組件的標(biāo)識符、對操作系統(tǒng)加載器104進(jìn)行了數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符等等。平臺秘密是束縛于設(shè)備與設(shè)備的固件環(huán)境配置表示的特定組合的秘密值。固件環(huán)境配置表示和平臺秘密的生成在下文中以更加詳細(xì)的方式討論。
[0022]在一個或多個實施例中,固件102和操作系統(tǒng)加載器104被實現(xiàn)為預(yù)執(zhí)行環(huán)境(也被稱為預(yù)啟動環(huán)境或預(yù)操作系統(tǒng)環(huán)境)的一部分,所述預(yù)執(zhí)行環(huán)境指的是在操作系統(tǒng)已經(jīng)完成啟動并且執(zhí)行運行之前在設(shè)備100上運行的環(huán)境。在這樣的實施例中,固件102和操作系統(tǒng)加載器104能夠被存儲在設(shè)備100上(例如在只讀存儲器(ROM)或閃速(Flash)存儲器中),諸如存儲在設(shè)備100的網(wǎng)絡(luò)接口卡上??商鎿Q地,固件102和操作系統(tǒng)加載器104能夠在預(yù)執(zhí)行環(huán)境期間從另一設(shè)備或服務(wù)獲得。例如,固件102和操作系統(tǒng)加載器104能夠作為從另一設(shè)備或服務(wù)提供給設(shè)備100的啟動圖像的一部分被包含。
[0023]可以以各種不同的方式并且可以基于各種不同的常規(guī)技術(shù)來實現(xiàn)預(yù)執(zhí)行環(huán)境。例如,可以根據(jù)統(tǒng)一的可擴(kuò)展固件接口(UEFI)標(biāo)準(zhǔn)版本2.3或其它版本實現(xiàn)預(yù)執(zhí)行環(huán)境。作為另一示例,可以根據(jù)預(yù)啟動執(zhí)行環(huán)境(PXE)標(biāo)準(zhǔn)版本2.0或其它版本實現(xiàn)預(yù)執(zhí)行環(huán)境。作為又一示例,可以使用各種不同的個人計算機(jī)基本輸入/輸出系統(tǒng)(BIOS)版本實現(xiàn)預(yù)執(zhí)行環(huán)境。
[0024]圖2圖示了根據(jù)一個或多個實施例的實現(xiàn)數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例系統(tǒng)200。系統(tǒng)200 (可選地除了可用組件204之外)作為諸如圖1的設(shè)備100之類的設(shè)備的一部分被包含。在啟動過程期間,可用組件202中所選擇的那些被加載為固件組件204??捎媒M件202是能夠被獲得并加載為固件組件204的那些組件,盡管并不是所有的可用組件202都需要被實際地加載為固件組件204??梢砸圆煌姆绞綐?biāo)識哪些可用組件202被加載為固件組件204,諸如基于什么硬件被包含為系統(tǒng)200的實現(xiàn)設(shè)備的一部分或者被耦合到該設(shè)備、基于固件組件204的特定一些組件的配置等等。所選擇的可用組件202可以如上文所討論的從本地存儲設(shè)備、其它設(shè)備和服務(wù)等等獲得。
[0025]可用組件202在被加載為固件組件204之前被驗證。在一個或多個實施例中,特定組件(例如被加載的初始組件)管理其它加載的固件組件204的驗證。該特定組件可例如被存儲在非可寫存儲設(shè)備上或否則以保護(hù)該組件不被篡改的方式被存儲??商鎿Q地,多個固件組件204能夠管理其它加載的固件組件204的驗證。例如,初始的組件可被存儲在非可寫存儲設(shè)備上或否則以保護(hù)該組件不被篡改的方式被存儲,并且該初始組件能夠驗證和加載一個或多個附加的固件組件204。那些一個或多個附加的固件組件204中的每一個進(jìn)而能夠驗證和加載一個或多個其它的固件組件204等等。
[0026]策略206包含用于驗證固件的組件204的各種準(zhǔn)則。在一個或多個實施例中,策略206包含可接受的機(jī)構(gòu)的記錄以及撤銷記錄(被撤銷或否則不可接受的機(jī)構(gòu)和/或組件的記錄)。這些記錄可以采取各種形式,諸如一個或多個列表、一個或多個數(shù)據(jù)庫等等??山邮軝C(jī)構(gòu)的記錄包含被準(zhǔn)許驗證組件的機(jī)構(gòu)的標(biāo)識符。撤銷記錄包含不被準(zhǔn)許驗證組件的機(jī)構(gòu)的標(biāo)識符和/或不被準(zhǔn)許加載的特定組件的標(biāo)識符。機(jī)構(gòu)的標(biāo)識符(不論是可接受的還是被撤銷的)可以采取各種形式,諸如機(jī)構(gòu)的公開密鑰、鎖在該機(jī)構(gòu)的公開密鑰上的公開密鑰等等。特定組件的標(biāo)識符同樣可以采取各種形式,諸如通過對組件應(yīng)用散列函數(shù)生成的散列值。
[0027]如果組件沒有被可接受的機(jī)構(gòu)進(jìn)行數(shù)字簽名,而是被標(biāo)識在撤銷記錄中的機(jī)構(gòu)進(jìn)行了簽名,和/或該組件的標(biāo)識符被包含在撤銷記錄中,則該組件不被驗證。如果組件被可接受的機(jī)構(gòu)進(jìn)行了數(shù)字簽名,則該組件被驗證(除非對該組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)同樣被標(biāo)識在撤銷記錄中,和/或該組件的標(biāo)識符被包含在撤銷記錄中)。
[0028]固件環(huán)境配置表示208被生成,其指示系統(tǒng)200的實現(xiàn)設(shè)備的固件環(huán)境的配置。固件環(huán)境的配置可以包含各種信息并且一般地指的是在加載固件組件204中所依賴的機(jī)構(gòu)和/或不被準(zhǔn)許加載為固件組件204的固件組件204。固件環(huán)境配置表示208包含機(jī)構(gòu)的列表220、撤銷記錄222、操作系統(tǒng)加載器機(jī)構(gòu)224和/或機(jī)構(gòu)修改列表226。機(jī)構(gòu)的列表220是對固件組件204進(jìn)行了數(shù)字簽名(或者本來會進(jìn)行數(shù)字簽名)的機(jī)構(gòu)的列表。撤銷記錄222是對不被準(zhǔn)許驗證固件組件204的機(jī)構(gòu)和/或不被準(zhǔn)許加載為固件組件204的特定組件的標(biāo)識符的記錄。操作系統(tǒng)加載器機(jī)構(gòu)224是對操作系統(tǒng)加載器(例如圖1的操作系統(tǒng)加載器104)等等進(jìn)行了數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符。機(jī)構(gòu)修改列表226是被準(zhǔn)許修改能夠?qū)M件進(jìn)行數(shù)字簽名的可接受機(jī)構(gòu)列表的機(jī)構(gòu)的標(biāo)識。
[0029]當(dāng)組件被加載為固件組件204時,對該組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符可以(例如由驗證該組件的組件)被添加到機(jī)構(gòu)的列表220。該機(jī)構(gòu)的列表盡管被稱作列表,但是也可以替換地是數(shù)據(jù)庫或其它記錄。
[0030]在一個或多個實施例中,對組件進(jìn)行數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符被添加到用于每個固件組件204的機(jī)構(gòu)的列表220。在這樣的實施例中,機(jī)構(gòu)的列表220因此是對被加載為固件組件204的組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)以那些固件組件204被加載的順序的列表。
[0031]圖3圖示了根據(jù)一個或多個實施例的機(jī)構(gòu)的示例列表302。機(jī)構(gòu)的列表302可以是例如圖2的機(jī)構(gòu)的列表220。多個組件304以其中它們被加載為固件組件的順序被圖示,并且還標(biāo)識了對每個組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)。因此,以下面的順序加載六個固件組件:組件A、組件D、組件C、組件E、組件F以及組件B。組件A、E和F由機(jī)構(gòu)R進(jìn)行了數(shù)字簽名,組件B和D由機(jī)構(gòu)S進(jìn)行了數(shù)字簽名,并且組件C由機(jī)構(gòu)T進(jìn)行了數(shù)字簽名。機(jī)構(gòu)的列表302是對被加載為固件組件204的組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)以那些固件組件204被加載的順序的列表。因此,機(jī)構(gòu)的列表302是列表機(jī)構(gòu)R、機(jī)構(gòu)S、機(jī)構(gòu)T、機(jī)構(gòu)R、機(jī)構(gòu)R、機(jī)構(gòu)S。
[0032]返回到圖2,在其它實施例中對組件進(jìn)行數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符只有在該機(jī)構(gòu)的標(biāo)識符還未被包含在機(jī)構(gòu)的列表220中時才被添加到機(jī)構(gòu)的列表220 ;如果機(jī)構(gòu)的標(biāo)識符已經(jīng)被包含在機(jī)構(gòu)的列表220中,則該機(jī)構(gòu)的另一標(biāo)識符不需要被添加到機(jī)構(gòu)的列表220中。在這樣的實施例中,機(jī)構(gòu)的列表220因此是對固件組件204中的至少一個進(jìn)行了數(shù)字簽名的每一個機(jī)構(gòu)的列表,而不管那些一個或多個機(jī)構(gòu)對哪些組件進(jìn)行了數(shù)字簽名,也不管那些一個或多個機(jī)構(gòu)對多少組件進(jìn)行了數(shù)字簽名。
[0033]圖4圖示了根據(jù)一個或多個實施例的機(jī)構(gòu)的另一示例列表402。機(jī)構(gòu)的列表402可以是例如圖2的機(jī)構(gòu)的列表220。多個組件304以其中它們被加載為固件組件的順序被圖示,這類似于關(guān)于圖3的討論。機(jī)構(gòu)的列表402是對固件組件204中的至少一個進(jìn)行了數(shù)字簽名的每一個機(jī)構(gòu)的列表,而不管那些一個或多個機(jī)構(gòu)對哪些組件進(jìn)行了數(shù)字簽名,也不管那些一個或多個機(jī)構(gòu)對多少組件進(jìn)行了數(shù)字簽名。因此,機(jī)構(gòu)的列表302是列表機(jī)構(gòu)R、機(jī)構(gòu)S、機(jī)構(gòu)T。
[0034]返回到圖2,機(jī)構(gòu)的列表220可以替換地為來自策略206的可接受的機(jī)構(gòu)的記錄。因此,取代標(biāo)識哪些機(jī)構(gòu)對固件組件204進(jìn)行了數(shù)字簽名,機(jī)構(gòu)的列表220標(biāo)識本來會對固件組件204進(jìn)行數(shù)字簽名的機(jī)構(gòu),而不管那些機(jī)構(gòu)是否確實實際地對一個或多個固件組件204進(jìn)行了數(shù)字簽名。
[0035]固件環(huán)境配置表示208還可以包含作為撤銷記錄222的來自策略206的撤銷記錄。因此,固件環(huán)境配置表示208可以包含不被準(zhǔn)許驗證組件的機(jī)構(gòu)的標(biāo)識符和/或不被準(zhǔn)許加載的特定組件的標(biāo)識符。
[0036]固件環(huán)境配置表不208還可以包含操作系統(tǒng)加載器機(jī)構(gòu)224。操作系統(tǒng)加載器機(jī)構(gòu)224是對被加載在系統(tǒng)200的實現(xiàn)設(shè)備上的操作系統(tǒng)加載器(例如圖1的操作系統(tǒng)加載器104)進(jìn)行了數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符。
[0037]固件環(huán)境配置表示208還可以包含機(jī)構(gòu)修改列表226。機(jī)構(gòu)修改列表226是被準(zhǔn)許修改能夠?qū)M件進(jìn)行數(shù)字簽名的可接受機(jī)構(gòu)列表(例如被準(zhǔn)許修改策略206)的機(jī)構(gòu)的標(biāo)識(例如列表)。
[0038]此外,盡管在系統(tǒng)200中圖示了單個固件環(huán)境配置表示208,但是應(yīng)當(dāng)指出的是可以在系統(tǒng)200中包含任何數(shù)目的固件環(huán)境配置表示208。例如,一個固件環(huán)境配置表示可以包含對被加載為固件組件204的組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)以那些固件組件204被加載的順序的列表,并且另一個可以包含對固件組件204中的至少一個進(jìn)行了數(shù)字簽名的每一個機(jī)構(gòu)的列表,而不管那些一個或多個機(jī)構(gòu)對哪些組件進(jìn)行了數(shù)字簽名,也不管那些一個或多個機(jī)構(gòu)對多少組件進(jìn)行了數(shù)字簽名。作為另一示例,一個固件環(huán)境配置表示可以包含機(jī)構(gòu)的列表和操作系統(tǒng)加載器機(jī)構(gòu),另一固件環(huán)境配置表不可以包含機(jī)構(gòu)的列表和撤銷記錄,并且另一固件環(huán)境配置表示可以包含機(jī)構(gòu)的列表和撤銷記錄。
[0039]此外,應(yīng)當(dāng)指出的是盡管在本文中討論并在系統(tǒng)200中圖示了可以被包含在固件環(huán)境配置表示208中的信息的具體示例,但是其它的信息同樣可以被包含在固件環(huán)境配置表示208中ο
[0040]固件環(huán)境配置表示208被提供給組合模塊210或否則使其對組合模塊210可用。組合模塊210可以被包含為固件組件204中的一個,或者可替換地可以以不同的方式被實現(xiàn)。組合模塊210在生成平臺秘密212時使用固件環(huán)境配置表示208。組合模塊210可以依照現(xiàn)實(也就是說,以它被生成的形式)使用固件環(huán)境配置表示208或者可替換地可以修改在固件環(huán)境配置表示208中的信息和/或從固件環(huán)境配置表示208僅提取模塊210希望的信息。例如,如果機(jī)構(gòu)的列表220包含對被加載為固件組件204的組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)以那些固件組件204被加載的順序的列表,但是組合模塊210使用對固件組件204中的至少一個進(jìn)行了數(shù)字簽名的每一個機(jī)構(gòu)的列表,而不管那些一個或多個機(jī)構(gòu)對哪些組件進(jìn)行了數(shù)字簽名,也不管那些一個或多個機(jī)構(gòu)對多少組件進(jìn)行了數(shù)字簽名,則組合模塊210可以從機(jī)構(gòu)的列表220提取它使用的機(jī)構(gòu)而不是以機(jī)構(gòu)存在于機(jī)構(gòu)的列表220中的順序使用機(jī)構(gòu)。作為另一示例,如果固件環(huán)境配置表示208包含撤銷記錄222但是組合模塊210使用機(jī)構(gòu)的列表和操作系統(tǒng)加載器機(jī)構(gòu),則組合模塊210可以從固件環(huán)境配置表不208提取機(jī)構(gòu)的列表220和操作系統(tǒng)加載器機(jī)構(gòu)224而不提取撤銷記錄222。
[0041]在或者更多的實施例中,組合模塊210使用對固件組件204中的至少一個進(jìn)行了數(shù)字簽名的每一個機(jī)構(gòu)的列表,而不管那些一個或多個機(jī)構(gòu)對哪些組件進(jìn)行了數(shù)字簽名,也不管那些一個或多個機(jī)構(gòu)對多少組件進(jìn)行了數(shù)字簽名。組合模塊210對機(jī)構(gòu)的列表進(jìn)行分類(例如按字母順序地、按數(shù)字地、根據(jù)一些其它已知的排序等等)并且使用所分類的列表來生成平臺秘密212。組合模塊210還可以移除在機(jī)構(gòu)的列表中如果存在的任何復(fù)本(例如,如果特定的機(jī)構(gòu)在機(jī)構(gòu)的列表220中被多次包含,則組合模塊210可以移除復(fù)本使得該特定的機(jī)構(gòu)在機(jī)構(gòu)的列表220中被包含一次)。因此,在這樣的實施例中基于對固件組件204中的至少一個進(jìn)行了數(shù)字簽名的機(jī)構(gòu)的身份生成平臺秘密212。這樣因而不考慮每個機(jī)構(gòu)對哪些固件組件進(jìn)行了數(shù)字簽名、每個機(jī)構(gòu)對多少固件組件進(jìn)行了數(shù)字簽名以及固件組件204以什么順序被加載地生成平臺秘密212。
[0042]在或者更多的其它實施例中,組合模塊210使用對被加載為固件組件204的組件進(jìn)行了數(shù)字簽名的機(jī)構(gòu)以那些固件組件204被加載的順序的列表。在這樣的實施例中,組合模塊210典型地不對機(jī)構(gòu)的列表進(jìn)行分類(但是可替換地可以分類),因為依賴于固件組件204被加載的順序。因此,在這樣的實施例中平臺秘密212取決于每個機(jī)構(gòu)對多少固件組件進(jìn)行了數(shù)字簽名以及固件組件204被加載的順序。
[0043]在其它實施例中,組合模塊210使用來自策略206的機(jī)構(gòu)的列表,其中該機(jī)構(gòu)的列表是可接受的機(jī)構(gòu)的記錄。因此,在這樣的實施例中基于被準(zhǔn)許驗證組件的機(jī)構(gòu)來生成平臺秘密212,而不管那些機(jī)構(gòu)是否生成了用于固件組件的數(shù)字簽名。[0044]在一個或多個實施例中,組合模塊210使用附加于或者代替機(jī)構(gòu)的列表220和/或撤銷記錄222的操作系統(tǒng)加載器機(jī)構(gòu)224。因此,在這樣的實施例中基于對操作系統(tǒng)加載器進(jìn)行了數(shù)字簽名的機(jī)構(gòu)來生成平臺秘密212,從而允許針對不同的操作系統(tǒng)生成不同的平臺秘密,即使對于不同的操作系統(tǒng)而言固件組件204和/或策略206是相同的。操作系統(tǒng)加載器機(jī)構(gòu)224可以可選地被增補(bǔ)到機(jī)構(gòu)的列表220的所標(biāo)識的位置(例如末尾),或者被包含為在機(jī)構(gòu)的列表220中的機(jī)構(gòu)(例如最后的機(jī)構(gòu))。
[0045]組合模塊210還使用設(shè)備秘密214,其是系統(tǒng)200的實現(xiàn)設(shè)備的秘密,并且它對不同的設(shè)備是不同的(或者具有大于閾值的不同幾率)。在一個或多個實施例中,設(shè)備秘密214被包含在處理器中使用多個熔絲(例如在幾百個的量級上)的設(shè)備中,并且特定的二進(jìn)制密鑰值通過燒斷或不燒斷那些熔絲中的各個熔絲來編碼??商鎿Q地,設(shè)備秘密214可以以其它方式被包含在設(shè)備中,諸如在除了處理器之外的另一硬件組件中、使用除了熔絲之外的硬件組件等等。設(shè)備秘密214典型地受保護(hù),其對固件組件204是可訪問的但對其它組件不是可訪問的(例如對圖1的操作系統(tǒng)內(nèi)核106不可訪問)。可以以不同的方式保護(hù)設(shè)備秘密214,諸如經(jīng)由僅僅對固件組件可訪問的接口被獲取、只有當(dāng)值被寫入到特定位置時才可訪問并且然后不可訪問(例如組合模塊210在獲取設(shè)備秘密214之后寫入到特定位置)、間接地可訪問(例如被用作解鎖或開啟系統(tǒng)200上的另一密鑰的授權(quán)值)等等。
[0046]組合模塊210將固件環(huán)境配置表示208和設(shè)備秘密214組合來生成平臺秘密212。組合模塊210能夠通過使用各種組合過程或技術(shù)來組合固件環(huán)境配置表示208和設(shè)備秘密214。在一個或多個實施例中固件環(huán)境配置表不208是各種標(biāo)識符的列表,設(shè)備秘密214被添加到固件環(huán)境配置表示208 (例如增補(bǔ)到其開頭或末尾),并且結(jié)果值被輸入到消息驗證碼(MAC)或基于散列的消息認(rèn)證碼(HMAC),或者其它密鑰推導(dǎo)函數(shù)。例如,組合過程可以使用DES3-CBC-MAC (三重數(shù)據(jù)加密標(biāo)準(zhǔn)加密塊鏈行消息認(rèn)證碼)、用SHA-1 (安全散列算法I)的HMAC等等。HMAC的輸出是平臺秘密212。可替換地,組合過程可以采取其它形式,諸如將設(shè)備秘密214添加到固件環(huán)境配置表示208 (例如增補(bǔ)到其開頭或末尾),并且向另一組件提供作為授權(quán)值的結(jié)果值,所述授權(quán)值解鎖或準(zhǔn)許獲取作為平臺秘密212的密鑰。
[0047]另外,組合模塊210可以使用從另一實體接收的值來作為在組合過程中的值(例如以類似于設(shè)備秘密214與機(jī)構(gòu)的列表208組合的方式將該值與機(jī)構(gòu)的列表208組合)。例如,在公司環(huán)境中,企業(yè)值可以被提供給組合模塊210,該企業(yè)值用來將設(shè)備所在的環(huán)境(例如特定域、網(wǎng)絡(luò)等)與其它環(huán)境區(qū)分開。該企業(yè)值可以以不同的方式被提供,諸如作為由公司網(wǎng)絡(luò)的服務(wù)器或服務(wù)提供的預(yù)執(zhí)行環(huán)境變量或其它值、由公司網(wǎng)絡(luò)管理者提供等等。該企業(yè)值允許平臺秘密212基于特定的公司環(huán)境,使得即便設(shè)備秘密214不知何故被發(fā)現(xiàn)了,并且固件環(huán)境配置表示208是已知的,在沒有該企業(yè)值的情況下仍然不能夠生成平臺秘密
212。
[0048]平臺秘密212是束縛于特定設(shè)備秘密和固件環(huán)境的配置二者的秘密。平臺秘密212可以被輕易地再生來用于包含相同的固件環(huán)境配置表示的隨后啟動。例如,假設(shè)固件環(huán)境配置表示208包含機(jī)構(gòu)的列表220,所述機(jī)構(gòu)的列表220是對固件組件204中的至少一個進(jìn)行了數(shù)字簽名的每一個機(jī)構(gòu)的列表,而不管那些一個或多個機(jī)構(gòu)對哪些組件進(jìn)行了數(shù)字簽名,也不管那些一個或多個機(jī)構(gòu)對多少組件進(jìn)行了數(shù)字簽名。如果被不在該機(jī)構(gòu)的列表中的另一機(jī)構(gòu)進(jìn)行了數(shù)字簽名的附加固件組件將被加載為固件組件,則由于機(jī)構(gòu)的列表改變,將生成不同的平臺秘密。類似地,如果相同的固件組件將被加載在不同的設(shè)備上,則由于設(shè)備秘密改變,將生成不同的平臺秘密。然而,如果組件出版方將出版固件組件的新版本,其中該固件組件的新版本被與該固件組件的先前版本相同的機(jī)構(gòu)進(jìn)行數(shù)字簽名,則將會生成相同的平臺秘密212。
[0049]平臺秘密212可以被提供給各種不同的組件和/或以各種方式被使用。例如,平臺秘密212可以被用作生成用于加密和/或解密的一個或多個附加密鑰的基礎(chǔ)、獲取用于加密和/或解密的一個或多個附加密鑰的基礎(chǔ)等等。這些密鑰可以包含公開密鑰、私有密鑰和/或?qū)ΨQ密鑰。在一個或多個實施例中,平臺秘密212被提供給操作系統(tǒng)加載器(例如圖1的操作系統(tǒng)加載器104),其使用平臺秘密212來生成加密和解密數(shù)據(jù)的一個或多個密鑰。操作系統(tǒng)加載器能夠保持平臺秘密212受保護(hù),使得其它的組件不能夠訪問平臺秘密212,或者可替換地操作系統(tǒng)加載器能夠在操作系統(tǒng)加載器生成該一個或多個密鑰后刪除平臺秘密212。
[0050]在或者更多的實施例中,操作系統(tǒng)內(nèi)核支持通過使用一個或多個卷密鑰在存儲卷(例如由包含系統(tǒng)200的設(shè)備使用的存儲設(shè)備)上加密數(shù)據(jù)。操作系統(tǒng)加載器使用平臺秘密來生成公開/私有密鑰對,并且然后在執(zhí)行操作系統(tǒng)內(nèi)核之前刪除平臺秘密和私有密鑰二者。盡管操作系統(tǒng)內(nèi)核不知曉平臺秘密或私有密鑰,但是操作系統(tǒng)內(nèi)核能夠使用公開密鑰來加密所述一個或多個卷密鑰。所加密的一個或多個卷密鑰然后能夠被存儲(例如在盤上、在閃速存儲器中等)。在隨后的啟動時,操作系統(tǒng)加載器再生相同的公開/私有密鑰對,并且使用私有密鑰來解密所述一個或多個卷密鑰,其可以被提供給操作系統(tǒng)內(nèi)核。因此卷密鑰被保護(hù),并且能夠在隨后的啟動時輕易地再生。
[0051]平臺秘密212可以被再生來用于隨后的啟動,只要固件環(huán)境配置表示208(或者至少固件環(huán)境配置表示208被組合模塊210使用的部分)和設(shè)備秘密214不改變。因此,諸如操作系統(tǒng)加載器之類的其它組件不需要跨多個啟動存留它們生成的密鑰。相反地,這些其它組件可以簡單地在隨后的啟動期間基于平臺秘密再生密鑰,并且因此不需要關(guān)注于安全地存留這樣的密鑰。
[0052]同樣可以可選地維護(hù)關(guān)于固件組件204的附加信息??梢栽诠碳h(huán)境配置表示208中和/或在一個或多個其它記錄或列表中維護(hù)該附加信息。可以維護(hù)各種不同的附加信息,諸如每個固件組件遵照策略206的哪個部分之類。例如,被遵照以驗證組件的特定準(zhǔn)則的指示(例如對該組件進(jìn)行了數(shù)字簽名的特定機(jī)構(gòu))。該附加信息可以由諸如圖1的操作系統(tǒng)加載器104和/或操作系統(tǒng)內(nèi)核106之類的其它模塊或組件維護(hù)(例如以安全的方式)和訪問。維護(hù)該附加信息允許這樣的其它模塊或組件稍后查看哪些固件組件被加載以及諸如被遵照以驗證組件的特定準(zhǔn)則之類的其它信息的日志。該附加信息還可以被組合模塊210使用生成平臺秘密212 (例如該附加信息可以被增補(bǔ)到機(jī)構(gòu)的列表220、撤銷記錄222、操作系統(tǒng)加載器機(jī)構(gòu)224和/或機(jī)構(gòu)修改列表226或否則與之組合)。
[0053]圖5是圖示了根據(jù)一個或多個實施例的用于生成數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例過程500的流程圖。過程500由諸如圖1的設(shè)備100之類的設(shè)備完成,并且可以被實現(xiàn)在軟件、固件、硬件或其組合中。過程500典型地由一個或多個固件組件(例如圖1的固件102或圖2的固件204)完成。過程500被示出為一套動作并且不受限于所示出的用于執(zhí)行各種動作的操作的順序。過程500是用于生成數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例過程;參考不同的圖,本文包含對生成數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的附加討論。
[0054]在過程500中,生成過程500的實現(xiàn)設(shè)備的固件環(huán)境的配置的表示(動作502)。該表示可以包含如上文所討論的各種信息。
[0055]設(shè)備的秘密被獲得(動作504)。該秘密可以如上文所討論的以不同的方式被包含在設(shè)備中。
[0056]基于固件環(huán)境配置表示和設(shè)備的秘密,生成平臺秘密(動作506)。正如上文所討論的可以以不同的方式生成平臺秘密,諸如通過將固件環(huán)境配置表示和設(shè)備的秘密組合。
[0057]圖6是圖示了根據(jù)一個或多個實施例的用于使用數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例過程600的流程圖。過程600由諸如圖1的設(shè)備100之類的設(shè)備完成,并且可以被實現(xiàn)在軟件、固件、硬件或其組合中。過程600典型地由操作系統(tǒng)加載器(例如圖1的操作系統(tǒng)加載器104)完成。過程600被示出為一套動作并且不受限于所示出的用于執(zhí)行各種動作的操作的順序。過程600是用于使用數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例過程;參考不同的圖,本文中包含對使用數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的附加討論。
[0058]在過程600中,平臺秘密被獲得(動作602)。正如上文所討論的,至少部分地基于設(shè)備的秘密和設(shè)備的固件環(huán)境配置表示二者來生成平臺秘密。
[0059]基于平臺秘密,一個或多個密鑰被生成(動作604)。正如上文所討論的可以生成不同的密鑰。此外,在一個或多個密鑰的生成之后,平臺秘密可以如上文所討論的被刪除。
[0060]本文所討論的數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密技術(shù)支持各種使用情境。所生成的平臺秘密可以基于機(jī)構(gòu)的列表被生成,因此允許對固件組件的一些改變而不更改平臺秘密。這允許例如出版方更改他們的固件組件來修復(fù)漏洞(bug)、添加新的特征等等,并且不讓那些更改造成對平臺秘密的改變。另外,取決于所使用的機(jī)構(gòu)的列表,出版方可能能夠添加新的固件組件和/或讓固件組件的順序更改而不讓這樣的添加或再排序造成對平臺秘密的改變。此外,所生成的平臺秘密可以至少部分地基于對操作系統(tǒng)加載器進(jìn)行了數(shù)字簽名的機(jī)構(gòu)來生成,從而允許不同的操作系統(tǒng)運行在使用相同固件組件的設(shè)備上,但卻具有不同的平臺秘密并且因此防止每個操作系統(tǒng)讀取其它操作系統(tǒng)的秘密。
[0061]圖7圖示了根據(jù)一個或多個實施例的可以被配置成實現(xiàn)數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密的示例計算設(shè)備700。計算設(shè)備700可以是例如圖1的設(shè)備100。
[0062]計算設(shè)備700包含一個或多個處理器或處理單元702、可以包含一個或多個存儲器和/或存儲組件706的一個或多個計算機(jī)可讀媒體704、一個或多個輸入/輸出(I/O)設(shè)備708以及允許各種組件和設(shè)備彼此通信的總線710。計算機(jī)可讀媒體704和/或一個或多個I/O設(shè)備708可以被包含為計算設(shè)備700的一部分,或者可替換地可以被耦合到計算設(shè)備700。處理器702、計算機(jī)可讀媒體704、設(shè)備708中的一個或多個設(shè)備、和/或總線710可以可選地被實現(xiàn)為單個組件或芯片(例如片上系統(tǒng))??偩€710表示若干類型的總線結(jié)構(gòu)中的一個或多個,其包含使用各種不同總線架構(gòu)的存儲器總線或存儲器控制器、外圍總線、加速圖形端口、處理器或局部總線等等。總線710可以包含有線和/或無線總線。
[0063]存儲器/存儲組件706表示一個或多個計算機(jī)存儲媒體。組件706可以包含易失性媒體(諸如隨機(jī)存取存儲器(RAM))和/或非易失性媒體(諸如只讀存儲器(ROM)、閃速存儲器、光盤、磁盤等等)。組件706可以包含固定媒體(例如RAM、ROM、固定硬盤驅(qū)動器等等)以及可移動媒體(例如閃速存儲器驅(qū)動器、可移動硬盤驅(qū)動器、光盤等等)。[0064]本文所討論的技術(shù)可以被實現(xiàn)在具有由一個或多個處理單元702執(zhí)行的指令的軟件中。要領(lǐng)會的是不同的指令可以被存儲在計算設(shè)備700的不同組件中,諸如在處理單元702中、在處理單元702的各種高速緩存存儲器中、在設(shè)備700的其它高速緩存存儲器中(未示出)、在其它計算機(jī)可讀媒體上等等。此外,要領(lǐng)會的是指令被存儲在計算設(shè)備700中的位置可以隨時間改變。
[0065]一個或多個輸入/輸出設(shè)備708允許用戶向計算設(shè)備700鍵入命令和信息,并且還允許信息被呈現(xiàn)給用戶和/或其它組件或設(shè)備。輸入設(shè)備的示例包含鍵盤、光標(biāo)控制設(shè)備(例如鼠標(biāo))、麥克風(fēng)、掃描儀等等。輸出設(shè)備的示例包含顯示設(shè)備(例如監(jiān)視器或投影儀)、揚聲器、打印機(jī)、網(wǎng)絡(luò)卡等等。
[0066]本文中可以依據(jù)軟件或程序模塊的一般上下文描述各種技術(shù)。一般地,軟件包含執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、應(yīng)用、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。這些模塊和技術(shù)的實現(xiàn)可以被存儲在某種形式的計算機(jī)可讀媒體上或者跨某種形式的計算機(jī)可讀媒體被傳輸。計算機(jī)可讀媒體可以是能夠被計算設(shè)備訪問的任何可用介質(zhì)或媒體。作為示例而非限制,計算機(jī)可讀媒體可以包括“計算機(jī)存儲媒體”和“通信媒體”。
[0067]“計算機(jī)存儲媒體”包含以任何方法或技術(shù)來實現(xiàn)的、用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)之類的信息的易失性和非易失性、移動和不可移動的媒體。計算機(jī)存儲媒體包含但不限于是RAM、ROM、EEPR0M、閃速存儲器或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光學(xué)存儲裝置、磁盒、磁帶、磁盤存儲裝置或其它磁存儲設(shè)備、或可以被用來存儲所希望的信息并且能夠被計算機(jī)訪問的任何其它介質(zhì)。計算機(jī)存儲媒體指的是相對于純粹的信號傳輸、載波或信號本身,用于信息的存儲的媒體。因此,計算機(jī)存儲媒體指的是非信號承載媒體,并且不是通信媒體。
[0068]“通信媒體”典型地包含計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或在調(diào)制數(shù)據(jù)信號中的其它數(shù)據(jù),諸如載波或其它傳輸機(jī)制之類。通信媒體還包含任何信息傳遞媒體。術(shù)語“調(diào)制的數(shù)據(jù)信號”意指它的一個或多個特征以這樣的方式被設(shè)置或改變以便將信息編碼在信號中的信號。作為示例而非限制,通信媒體包含諸如有線網(wǎng)絡(luò)或直接有線連接之類的有線媒體,以及諸如聲學(xué)、RF、紅外以及其它無線媒體之類的無線媒體。上面的任何組合同樣包含在計算機(jī)可讀媒體的范圍內(nèi)。
[0069]一般地,可以使用軟件、固件、硬件(例如固定邏輯電路)、手工處理或這些實現(xiàn)的組合來實現(xiàn)本文所描述的任何功能或技術(shù)。如本文所使用的術(shù)語“模塊”和“組件” 一般地表示軟件、固件、硬件或其組合。在軟件實現(xiàn)的情況下,模塊或組件表示當(dāng)在處理器(例如一個或多個CPU)上執(zhí)行時執(zhí)行指定任務(wù)的程序代碼。程序代碼可以被存儲在一個或多個計算機(jī)可讀存儲器設(shè)備中,可以參考圖7找到對計算機(jī)可讀存儲器設(shè)備的進(jìn)一步描述。在硬件實現(xiàn)的情況下,模塊或組件表示執(zhí)行指定任務(wù)的功能塊或其它硬件。例如,在硬件實現(xiàn)中,模塊或組件可以是專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、復(fù)雜可編程邏輯設(shè)備(CPLD)等等。本文所描述的數(shù)字簽名機(jī)構(gòu)相關(guān)的平臺秘密技術(shù)的特征是獨立于平臺的,這意味著可以在具有各種處理器的各種商用計算平臺上實現(xiàn)該技術(shù)。
[0070]盡管已經(jīng)以具體于結(jié)構(gòu)特征和/或方法學(xué)動作的語言描述了本主題,但是要理解的是在隨附的權(quán)利要求中限定的本主題不一定受限于上文所描述的具體特征或動作。相反地,上文所描述的具體特征和動作是作為實現(xiàn)權(quán)利要求的示例形式被公開的。
【權(quán)利要求】
1.一種方法,包括: 在設(shè)備中生成所述設(shè)備的固件環(huán)境的配置的表示; 獲得所述設(shè)備的秘密;以及 基于所述設(shè)備的固件環(huán)境配置表示和所述秘密二者生成平臺秘密。
2.如權(quán)利要求1所述的方法,所述固件環(huán)境配置表示包含機(jī)構(gòu)的列表,所述機(jī)構(gòu)的列表標(biāo)識對被加載在所述設(shè)備上的固件組件進(jìn)行了數(shù)字簽名的一個或多個機(jī)構(gòu),而不管那些一個或多個機(jī)構(gòu)對哪些固件組件進(jìn)行了數(shù)字簽名,也不管那些一個或多個機(jī)構(gòu)對多少固件組件進(jìn)行了數(shù)字簽名。
3.如權(quán)利要求1所述的方法,所述固件環(huán)境配置表示包含被準(zhǔn)許修改可接受機(jī)構(gòu)列表的一個或多個機(jī)構(gòu)的標(biāo)識,所述可接受機(jī)構(gòu)列表能夠?qū)Ρ患虞d在所述設(shè)備上的固件組件進(jìn)行數(shù)字簽名。
4.如權(quán)利要求1所述的方法,所述固件環(huán)境配置表示包含對被加載在所述設(shè)備上的固件組件進(jìn)行了數(shù)字簽名的一個或多個機(jī)構(gòu)的列表,并且在所述機(jī)構(gòu)的列表的所標(biāo)識的地方包含對被加載在所述設(shè)備上的操作系統(tǒng)加載器進(jìn)行了數(shù)字簽名的機(jī)構(gòu)的標(biāo)識符。
5.如權(quán)利要求1所述的方法,所述固件環(huán)境配置表示包含標(biāo)識一個或多個機(jī)構(gòu)的機(jī)構(gòu)列表,所述一個或多個機(jī)構(gòu)基于所述設(shè)備的策略被準(zhǔn)許:讓由所述一個或多個機(jī)構(gòu)進(jìn)行數(shù)字簽名的特定固件組件加載在所述設(shè)備上,而不管所述特定固件組件是否已被加載在所述設(shè)備上。
6.如權(quán)利要求1所述的方法,所述固件環(huán)境配置表示包含不被準(zhǔn)許驗證固件組件的機(jī)構(gòu)的標(biāo)識符。
7.如權(quán)利要求1所述的方法,所述固件環(huán)境配置表示包含不被準(zhǔn)許加載的特定固件組件的標(biāo)識符。
8.如權(quán)利要求1所述的方法,所述生成所述平臺秘密進(jìn)一步包括至少部分地基于將所述設(shè)備位于其中的環(huán)境與其它環(huán)境區(qū)分開的企業(yè)值生成所述平臺秘密。
9.一種計算設(shè)備,包括: 一個或多個處理器; 在其上已存儲多個指令的一個或多個計算機(jī)可讀媒體,當(dāng)所述一個或多個處理器執(zhí)行所述指令時,導(dǎo)致所述一個或多個處理器: 在所述計算設(shè)備中獲得至少部分地基于所述設(shè)備的秘密和所述計算設(shè)備的固件環(huán)境的配置表示二者所生成的平臺秘密;并且 基于所述平臺秘密生成一個或多個密鑰。
10.如權(quán)利要求9所述的計算設(shè)備,所述多個指令進(jìn)一步導(dǎo)致所述一個或多個處理器基于所述平臺秘密在所述計算設(shè)備的隨后啟動時再生所述一個或多個密鑰,而不是跨啟動存留所述一個或多個密鑰。
【文檔編號】G06F21/60GK103765429SQ201280041444
【公開日】2014年4月30日 申請日期:2012年8月8日 優(yōu)先權(quán)日:2011年8月25日
【發(fā)明者】S.托姆, R.K.斯皮格, M.B.G.尼斯特倫, D.R.伍滕 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1