在運(yùn)行時(shí)測(cè)量在安全區(qū)域內(nèi)加載的應(yīng)用
【專利說明】在運(yùn)行時(shí)測(cè)量在安全區(qū)域內(nèi)加載的應(yīng)用
[0001] 背景
[0002] 領(lǐng)域
[0003]本公開涉及信息處理領(lǐng)域,并且更具體地涉及信息處理系統(tǒng)內(nèi)的安全性領(lǐng)域。
[0004]相關(guān)技術(shù)描述
[0005]機(jī)密信息由許多信息處理系統(tǒng)存儲(chǔ)、傳輸和使用。因此,已經(jīng)開發(fā)了提供機(jī)密信息 的安全處理和存儲(chǔ)的技術(shù)。這些技術(shù)包括用于在信息處理系統(tǒng)內(nèi)創(chuàng)建和維護(hù)安全、受保護(hù) 或隔離分區(qū)或環(huán)境的各種方法。
[0006] 附圖簡(jiǎn)要說明
[0007]通過舉例而非限制在附圖中示出本發(fā)明。
[0008] 圖1示出根據(jù)本發(fā)明的實(shí)施例的包括在運(yùn)行時(shí)測(cè)量在安全區(qū)域內(nèi)加載的應(yīng)用的 系統(tǒng)。
[0009] 圖2示出根據(jù)本發(fā)明的實(shí)施例的安全區(qū)域單元。
[0010] 圖3示出根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)架構(gòu)。
[0011] 圖4和圖5示出根據(jù)本發(fā)明的實(shí)施例的在運(yùn)行時(shí)測(cè)量在安全區(qū)域內(nèi)加載的應(yīng)用的 方法。
[0012] 詳細(xì)描述
[0013] 描述了用于在運(yùn)行時(shí)測(cè)量在安全區(qū)域(secureenclave)內(nèi)加載的應(yīng)用的本發(fā)明 的實(shí)施例。在本描述中,可列出眾多特定細(xì)節(jié)(諸如組件和系統(tǒng)配置),以便提供對(duì)本發(fā)明 的更透徹理解。然而,本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到可在沒有這些特定細(xì)節(jié)的情況下實(shí)踐 本發(fā)明。此外,未詳細(xì)示出某些公知的結(jié)構(gòu)、電路等等,以便避免不必要地混淆本發(fā)明。
[0014]在以下描述中,對(duì)"一個(gè)實(shí)施例"、"實(shí)施例"、"示例實(shí)施例"、"各實(shí)施例"等等的引 用指示如此描述的本發(fā)明的實(shí)施例可包括具體特征、結(jié)構(gòu)、或特性,然而多個(gè)實(shí)施例可以包 括但不是每個(gè)實(shí)施例都需要包括該具體特征、結(jié)構(gòu)、或特性。進(jìn)一步地,某些實(shí)施例可具有 針對(duì)其他實(shí)施例所描述的特征中的某些、全部或沒有。
[0015] 如在權(quán)利要求書中所使用的,除非以其他方式指明,用于描述元件的順序形容詞 "第一"、"第二"、"第三"等等的使用僅指示元件的具體實(shí)例或者類似元件的不同實(shí)例并且不 旨在暗示這些如此描述的元件必須按特定順序(或者按時(shí)間、按空間排序或者以任何其他 方式)。
[0016] 而且,術(shù)語"位"、"標(biāo)志"、"字段"、"條目"等等可用于描述寄存器、表格、數(shù)據(jù)庫(kù)或 其他數(shù)據(jù)結(jié)構(gòu)中的任何類型的存儲(chǔ)位置,不管是用硬件還是用軟件實(shí)現(xiàn),但并不旨在將本 發(fā)明的實(shí)施例限制為任何特定存儲(chǔ)位置中的任何特定類型的存儲(chǔ)位置或任何數(shù)量的位或 其他元素。術(shù)語"清零"可用于指示存儲(chǔ)邏輯值零或者以其他方式致使邏輯值零存儲(chǔ)在存 儲(chǔ)位置中,并且術(shù)語"置位"可用于指示存儲(chǔ)邏輯值1、全1或某種其他指定值或以其他方式 致使其存儲(chǔ)在存儲(chǔ)位置中;然而,這些術(shù)語不旨在將本發(fā)明的實(shí)施例限制為任何特定的邏 輯慣例,因?yàn)榭稍诒景l(fā)明的實(shí)施例中使用任何邏輯慣例。
[0017] 如在背景部分中所描述的,已經(jīng)開發(fā)了用于在信息處理系統(tǒng)內(nèi)創(chuàng)建和維護(hù)安全、 受保護(hù)或隔離分區(qū)或環(huán)境的各種方法。一種這種方法涉及如在于2012年6月19日提交的 序列號(hào)為13/527, 547、標(biāo)題為"提供安全應(yīng)用執(zhí)行的方法和裝置(MethodandApparatus toProvideSecureApplicationExecution)"的共同未決的美國(guó)專利申請(qǐng)所描述的安全 區(qū)域,該申請(qǐng)通過引用作為安全區(qū)域的至少一個(gè)實(shí)施例的示例并入在此。然而,并入的引用 不旨在以任何方式限制本發(fā)明的實(shí)施例的范圍并且可使用其他實(shí)施例同時(shí)仍保留在本發(fā) 明的精神和范圍內(nèi)。
[0018] 圖1示出系統(tǒng)100,即根據(jù)本發(fā)明的實(shí)施例的包括在運(yùn)行時(shí)測(cè)量在安全區(qū)域內(nèi)加 載的應(yīng)用的信息處理系統(tǒng)。系統(tǒng)100可表示任何類型的信息處理系統(tǒng),諸如服務(wù)器、桌上計(jì) 算機(jī)、便攜式計(jì)算機(jī)、機(jī)頂盒、手持式設(shè)備、或嵌入式控制系統(tǒng)。系統(tǒng)1〇〇包括處理器110、系 統(tǒng)存儲(chǔ)器120、以及信息存儲(chǔ)設(shè)備130。體現(xiàn)本發(fā)明的系統(tǒng)可包括任何數(shù)量的這些組件中的 每個(gè)組件以及任何其他組件或其他元件,諸如信息存儲(chǔ)設(shè)備、外圍設(shè)備和輸入/輸出設(shè)備。 本系統(tǒng)實(shí)施例或任何系統(tǒng)實(shí)施例中的任何或全部組件或其他元件可通過任何數(shù)量的總線、 點(diǎn)到點(diǎn)、或其他有線或無線接口或連接而連接、耦合、或以其他方式與彼此通信。
[0019] 系統(tǒng)存儲(chǔ)器120可以是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器或者處理器110可讀的任何其他類型 的介質(zhì)。信息存儲(chǔ)設(shè)備130可包括任何類型的永久或非易失性存儲(chǔ)器或存儲(chǔ)設(shè)備,諸如閃 存和/或固態(tài)驅(qū)動(dòng)、磁驅(qū)動(dòng)或光盤驅(qū)動(dòng)。
[0020] 處理器110可表示集成在單個(gè)襯底上或者封裝在單個(gè)封裝中的一個(gè)或多個(gè)處理 器,每個(gè)處理器可包括呈任何組合的多個(gè)線程和/或多個(gè)執(zhí)行核。被表示為處理器110的 每個(gè)處理器可以是任何類型的處理器,包括通用微處理器,諸如英特爾?酷睿?處理器族、 英特爾?凌動(dòng)?處理器族中的處理器、或來自英特爾?公司的其他處理器族或來自另一家 公司的另一個(gè)處理器或?qū)S锰幚砥骰蛭⒖刂破鳌L幚砥?10可包括指令單元111、執(zhí)行單元 112、處理存儲(chǔ)設(shè)備113、接口單元114、處理器控制單元115、高速緩存單元116以及安全區(qū) 域單元117。處理器110還可包括在圖1中示出的任何其他電路、結(jié)構(gòu)、或邏輯,和/或在圖 1中的其他地方示出的任何電路、結(jié)構(gòu)、或邏輯。
[0021] 指令單元111可表示用于取出、接收、解碼、和/或調(diào)度指令的任何電路、結(jié)構(gòu)或其 他硬件,諸如指令解碼器??稍诒景l(fā)明的范圍內(nèi)使用任何指令格式;例如,指令可包括操作 碼和一個(gè)或多個(gè)操作數(shù),其中該操作碼可被解碼為一個(gè)或多個(gè)微指令或微操作以便由執(zhí)行 單元112執(zhí)行。
[0022] 執(zhí)行單元112可包括用于處理數(shù)據(jù)并執(zhí)行指令、微指令、和/或微操作的任何電 路、結(jié)構(gòu)、或其他硬件,諸如算術(shù)單元、邏輯單元、浮點(diǎn)單元、移位器等等。
[0023] 處理存儲(chǔ)單元113可表示可用于處理器110內(nèi)的任何目的的任何類型的存儲(chǔ)設(shè) 備,例如,其可包括任何數(shù)量的數(shù)據(jù)寄存器、指令寄存器、狀態(tài)寄存器、配置寄存器、控制寄 存器、其他可編程或硬編碼寄存器或寄存器組、或任何其他存儲(chǔ)結(jié)構(gòu)。
[0024] 接口單元114可表示任何電路、結(jié)構(gòu)、或其他硬件(諸如總線單元、消息傳送單元、 或任何其他單元、端口、或接口),以便允許處理器110通過任何類型的總線、點(diǎn)到點(diǎn)、或其 他連接直接或通過任何其他組件(諸如存儲(chǔ)器控制器或總線橋)與系統(tǒng)100內(nèi)的其他組件 通信。
[0025] 處理器控制單元115可包括任何邏輯、微代碼、電路、或其他硬件以便控制處理器 110的這些單元和其他元件的操作以及在處理器110之內(nèi)、向內(nèi)、向外的數(shù)據(jù)傳送。處理器 控制單元115可通過致使處理器110執(zhí)行由指令單元111接收的指令和從由指令單元111 接收的指令導(dǎo)出的微指令或微操作來致使處理器110執(zhí)行或參與執(zhí)行本發(fā)明的方法實(shí)施 例,諸如以下描述的方法實(shí)施例。
[0026]高速緩存單元116可表示信息處理系統(tǒng)110的存儲(chǔ)器層次內(nèi)的用靜態(tài)隨機(jī)存取存 儲(chǔ)器或任何其他存儲(chǔ)器技術(shù)實(shí)現(xiàn)的一個(gè)或多個(gè)高速緩存存儲(chǔ)器級(jí)別。高速緩存單元116可 包括根據(jù)用于信息處理系統(tǒng)內(nèi)的高速緩存的任何已知的方法專用于或者在處理器110內(nèi) 的任何一個(gè)或多個(gè)執(zhí)行核或處理器之間共享的高速緩存存儲(chǔ)器的任何組合。
[0027] 安全區(qū)域單元117可表示用于創(chuàng)建和維護(hù)安全、受保護(hù)或隔離環(huán)境的任何邏輯、 電路、硬件或其他結(jié)構(gòu),該環(huán)境諸如在此描述的安全區(qū)域,應(yīng)用或其他軟件可在該安全區(qū)域 內(nèi)運(yùn)行、執(zhí)行、加載或以其他方式在信息處理系統(tǒng)(諸如系統(tǒng)100)中存在。出于本描述的目 的,這種環(huán)境的每個(gè)實(shí)例可被稱為安全區(qū)域,盡管本發(fā)明的實(shí)施例不限于將安全區(qū)域用作 安全、受保護(hù)或隔離環(huán)境的那些實(shí)施例。在一個(gè)實(shí)施例中,可使用英特爾?酷睿⑧處理器族 或來自英特爾?公司的其他處理器族內(nèi)的處理器的指令集內(nèi)的指令創(chuàng)建并維護(hù)安全區(qū)域。
[0028] 圖3示出安全區(qū)域單元300,其實(shí)施例可用作系統(tǒng)100內(nèi)的安全區(qū)域單元117。安 全區(qū)域單元300的全部或部分可被包括在處理器110的任何一個(gè)或多個(gè)其他單元內(nèi),諸如 指令單元111、執(zhí)行單元112、處理器存儲(chǔ)設(shè)備113、處理器控制單元115和高速緩存單元 116〇
[0029] 安全區(qū)域單元200可包括加密單元210,該加密單元可包括用于執(zhí)行任何一個(gè)或 多個(gè)加密算法和相應(yīng)的解密算法的任何邏輯、電路或其他硬件并且可包括與處理器110內(nèi) 的另一個(gè)加密單元共享的邏輯、電路或其他硬件。
[0030] 安全區(qū)域單元200還可