国产精品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>

      跨電源周期維護安全處理環(huán)境的制作方法

      文檔序號:11935148閱讀:439來源:國知局
      跨電源周期維護安全處理環(huán)境的制作方法與工藝

      1、技術(shù)領(lǐng)域

      本公開涉及信息處理的領(lǐng)域,并且更具體地,涉及信息處理系統(tǒng)中的安全性的領(lǐng)域。

      2、相關(guān)技術(shù)

      機密信息由許多信息處理系統(tǒng)來存儲、發(fā)送、以及使用。因此,已經(jīng)開發(fā)了提供機密信息的安全處理和存儲的技術(shù)。這些技術(shù)包括在信息處理系統(tǒng)中創(chuàng)建并維護安全、受保護、或隔離的容器、分區(qū)、或環(huán)境的各種方法,這些方法中的許多方法在許多不同的電源狀態(tài)中進行操作。

      附圖說明

      在附圖中以示例并且非限制的方式示出了本發(fā)明。

      圖1根據(jù)本發(fā)明的實施例示出了包括對跨電源周期維護安全處理環(huán)境的支持的系統(tǒng)。

      圖2根據(jù)本發(fā)明的實施例示出了包括對跨電源周期維護安全處理環(huán)境的支持的處理器。

      圖3根據(jù)本發(fā)明的實施例示出了enclave頁面緩存。

      圖4根據(jù)本發(fā)明的實施例示出了用于建立跨電源周期進行維護的安全處理環(huán)境的方法。

      圖5根據(jù)本發(fā)明的實施例示出了用于跨電源周期維護安全處理環(huán)境的方法。

      具體實施方式

      描述了跨電源周期維護安全處理環(huán)境的發(fā)明的實施例。在本說明書中,諸如組件和系統(tǒng)配置之類的許多具體細節(jié)可被闡述以便提供對本發(fā)明的更透徹的理解。然而,本領(lǐng)域技術(shù)人員將理解的是,可以在沒有這些具體細節(jié)的情況下實施本發(fā)明。此外,一些公知結(jié)構(gòu)、電路、以及其他特征未被詳細示出,以避免不必要地模糊本發(fā)明。

      在下列描述中,對“一個實施例”、“實施例”、“示例實施例”、“各個實施例”等的引用指示被如此描述的本發(fā)明的(一個或多個)實施例可包括特定特征、結(jié)構(gòu)、或特性,但多于一個的實施例可包括特定特征、結(jié)構(gòu)、或特性,并且并非每個實施例必須包括特定特征、結(jié)構(gòu)、或特性。此外,某些實施例可具有針對其他實施例所描述的特征中的一些、所有特征,或不包括針對其他實施例所描述的特征。

      如在本說明書以及權(quán)利要求中使用的,并且除非另有說明,使用序數(shù)形容詞“第一”、“第二”、“第三”等來描述元件僅指示元件的特定實例或類似元件的不同示例正被提及,并且不旨在暗示被如此描述的元件在時間上、空間上、排名上、或任意其他方式必須處于特定順序。

      此外,術(shù)語“位”、“標志”、“字段”、“條目”、“指示符”等可用來描述寄存器、表、數(shù)據(jù)庫、或其他數(shù)據(jù)結(jié)構(gòu)中的任意類型的存儲位置,不管是在硬件或軟件中實現(xiàn),并不意味著將本發(fā)明的實施例限制于任意特定類型的存儲位置或任意特定存儲位置中的多個位或其他元件。術(shù)語“清除”可用來指示將零的邏輯值存儲在存儲位置中或以其他方式使得零的邏輯值被存儲在存儲位置中,并且術(shù)語“設(shè)置”可用來指示將一、全部是一、或某一其他特定值的邏輯值存儲在存儲位置中或以其他方式使得一、全部是一、或某一其他特定值的邏輯值被存儲在存儲位置中;然而,這些術(shù)語不意味著將本發(fā)明的實施例限制于任意特定邏輯約定,這是因為在本發(fā)明的實施例中可使用任意邏輯約定。

      此外,如本發(fā)明的實施例的描述中使用的,項之間的“/”字符可表示實施例可包括第一項和/或第二項(和/或任意其他額外的項),或使用、利用、和/或根據(jù)第一項和/或第二項(和/或任意其他額外的項)來實現(xiàn)。



      背景技術(shù):
      部分所描述的,已經(jīng)開發(fā)了在信息處理系統(tǒng)中創(chuàng)建并維護安全、受保護、或隔離的容器、分區(qū)、或環(huán)境的各種方法。一種這樣的方法涉及如2012年6月19日遞交的、名稱為“Method and Apparatus to Provide Secure Application Execution(提供安全應(yīng)用執(zhí)行的方法及裝置)”的共同未決美國專利申請No.13/527,547中所描述的安全enclave,該美國專利申請?zhí)峁┝岁P(guān)于安全、受保護、或隔離的容器、分區(qū)、或環(huán)境的至少一個實施例的信息。然而,該引用不旨在以任何方式限制本發(fā)明的實施例的范圍,并且可以使用其他實施例而保持在本發(fā)明的精神和范圍之內(nèi)。因此,本發(fā)明的任意實施例中所使用的任意安全、受保護、或隔離的容器、分區(qū)、或環(huán)境的任意實例在本文可被稱為安全enclave或enclave。

      可通過確保存在enclave存儲器頁面或其他支持數(shù)據(jù)結(jié)構(gòu)的僅單個副本來維護安全enclave的安全屬性,并且為防止中繼攻擊,該單個副本不能經(jīng)受備用、睡眠、暫停、或其他電源管理狀態(tài)。然而,在從電源管理狀態(tài)恢復(fù)或返回期間重新建立enclave可能要求降低響應(yīng)性和性能并增加功耗的額外開銷。因此,本發(fā)明的實施例可提供跨電源周期維護安全處理環(huán)境。

      圖1根據(jù)本發(fā)明的實施例示出了系統(tǒng)100,該系統(tǒng)100是可以跨電源周期來維護安全處理環(huán)境的信息處理系統(tǒng)。系統(tǒng)100可表示任意類型的信息處理系統(tǒng),例如,服務(wù)器、臺式計算機、便攜式計算機、機頂盒、諸如平板計算機或智能電話之類的手持設(shè)備、或嵌入式控制系統(tǒng)。系統(tǒng)100包括處理器110、系統(tǒng)存儲器120、圖形處理器130、外圍設(shè)備控制代理140、以及信息存儲設(shè)備150。體現(xiàn)本發(fā)明的系統(tǒng)可包括任意數(shù)目的每個這些組件中的每個組件,以及任意其他組件和其他元件,例如,外圍設(shè)備和輸入/輸出設(shè)備。該系統(tǒng)實施例或任意系統(tǒng)實施例中的任意或所有組件或其他元件可通過任意數(shù)目的總線、點對點、或其他有線或無線接口或連接來彼此連接、耦合、或以其他方式進行通信,除非另有說明。系統(tǒng)100的任意組件或其他部分,不論是否在圖1中被示出,可被集成在單一芯片(片上系統(tǒng)或SOC)、模具、襯底、或封裝上,或以其他方式被包括在單一芯片(片上系統(tǒng)或SOC)、模具、襯底、或封裝中。

      系統(tǒng)存儲器120可以是動態(tài)隨機存取存儲器或處理器110可讀的任意其他類型的介質(zhì)。圖形處理器130可包括任意處理器、或用于為顯示器132處理圖形數(shù)據(jù)的其他組件。外圍設(shè)備控制代理140可表示諸如芯片組組件之類的任意組件,包括或通過外圍設(shè)備、輸入/輸出(I/O)、或其他組件和設(shè)備(例如,設(shè)備142(例如,觸摸屏、鍵盤、麥克風、揚聲器、其他音頻設(shè)備、相機、視頻或其他媒體設(shè)備、網(wǎng)絡(luò)適配器、運動或其他傳感器、全球定位或其他信息的接收器等))和/或信息存儲設(shè)備150可被連接或耦接到處理器110。信息存儲設(shè)備150可包括任意類型的永久或非易失性存儲器或存儲裝置,例如,閃速存儲器和/或固態(tài)、磁、或光盤驅(qū)動器。

      處理器110可表示被集成在單一襯底上或被封裝在單一封裝中的一個或多個處理器或處理器核心,每個處理器或處理器核心可以以任意組合包括多個線程和/或多個執(zhí)行核心。被表示為處理器100或處理器100中的每個處理器可以是任意類型的處理器,包括通用微處理器(例如,處理器系列中的處理器或來自公司或另一公司的其他處理器系列)、專用處理器或微控制器、或本發(fā)明的實施例在其中可被實現(xiàn)的信息處理系統(tǒng)中的任意其他設(shè)備或組件。

      處理器110可根據(jù)包括下列指令的指令集架構(gòu)來操作,每個指令如在下面被進一步描述:創(chuàng)建安全enclave的第一指令、將內(nèi)容添加到enclave的第二指令、測量enclave的內(nèi)容的第三指令、初始化enclave的第四指令、進入enclave的第五指令、分配版本陣列頁面的第六指令、從enclave頁面緩存逐出頁面的第七指令、在電力被移除之前從enclave頁面緩存逐出最后版本陣列條目的第八指令、在電力恢復(fù)之后將第一之前被逐出的版本陣列條目加載回enclave頁面緩存中的第九指令、以及將之前被逐出的頁面加載回enclave頁面緩存中的第十指令。盡管本發(fā)明的實施例可利用具有任意指令集架構(gòu)并且不被限制于來自公司的處理器系列的架構(gòu)的處理器來實施,但指令可以是對現(xiàn)有架構(gòu)的軟件保護擴展集的一部分,并且在本文分別可被稱為ECREATE指令、EADD指令、EEXTEND指令、EINIT指令、EENTER指令、EPA指令、EWB指令、EWBPS指令、ELDPS指令、以及ELD指令??梢栽谑褂帽磺度朐谌缦滤龌蚋鶕?jù)任意其他方法被布置的硬件、微碼、固件、和/或其他結(jié)構(gòu)中的電路和/或邏輯的任意組合的處理器中實現(xiàn)對這些指令的支持,并且在圖1中被表示為ECREATE邏輯/硬件1101、EADD邏輯/硬件1102、EEXTEND邏輯/硬件1103、EINIT邏輯/硬件1104、EENTER邏輯/硬件1105、EPA邏輯/硬件1106、EWB邏輯/硬件1107、EWBPS邏輯/硬件1108、ELDPS邏輯/硬件1109、以及ELD邏輯/硬件1110。

      圖1還示出了處理器110內(nèi)部的非易失性存儲裝置112。非易失性存儲裝置112可包括使用任意存儲器或存儲裝置技術(shù)來實現(xiàn)的一個或多個可讀寫寄存器或其他存儲位置,以在其中存儲包含信息的一個或多個二進制大對象(“blob”),該信息將用來根據(jù)本發(fā)明的實施例來跨電源周期維護一個或多個安全處理環(huán)境。在實施例中,非易失性存儲裝置可包括128位寄存器以存儲這樣的二進制大對象,如下所述,該二進制大對象由EWBPS指令寫入并由ELDPS指令讀取。非易失性存儲器可由處理器110的封裝上的一個或多個引腳或其他電連接器114來供電,以便非易失性存儲器的內(nèi)容可以跨電源周期被保持,例如,在處理器110中的其他電路可能被斷電時的備用、睡眠、暫停、和/或其他電源管理狀態(tài)期間。盡管在圖1中被示出為在處理器110內(nèi),但非易失性存儲裝置112可在處理器110外部被實現(xiàn),例如,在外圍設(shè)備控制代理140內(nèi)或被連接于外圍設(shè)備控制代理140。在其他實施例中,將用來根據(jù)本發(fā)明的實施例來跨電源周期維護一個或多個安全處理環(huán)境的信息可被存儲在當處理器110被斷電時被維護的另一安全處理環(huán)境中;例如,在由安全性和/或可管理性引擎的固件所創(chuàng)建、提供、和/或維護的可信執(zhí)行環(huán)境中。

      在實施例中,非易失性存儲裝置112可包括任意類型的非易失性存儲裝置,包括跨電源周期保持電力以維護其內(nèi)容的存儲器(例如,靜態(tài)隨機存取存儲器)、不需要跨電源周期保持電力以維護其內(nèi)容的存儲器(例如,閃速存儲器)、或任意組合類型的非易失性存儲裝置。在實施例中,非易失性存儲裝置112可能是安全的,以便可根據(jù)任意方法來確保(例如,對于處理器110)其內(nèi)容的完整性和機密性。注意,系統(tǒng)100還可包括其他非易失性存儲裝置,例如,信息存儲設(shè)備150,其不由EWBPS指令寫入或ELDPS指令讀取,并且因此可能比非易失性存儲裝置112更不安全。

      圖2示出了處理器200,該處理器200的實施例可用作系統(tǒng)100中的處理器110。處理器200可包括核心210、核心220、以及非核心230。核心210可包括存儲單元212、指令單元214、執(zhí)行單元216、以及控制單元218。核心220可包括存儲單元222、指令單元224、執(zhí)行單元226、以及控制單元228。非核心230可包括緩存單元232、接口單元234、處理器保留存儲器范圍寄存器250、存儲器訪問控制單元260、以及非易失性存儲裝置290。處理器200還可包括圖2中未示出的任意其他電路、結(jié)構(gòu)、或邏輯。如上面介紹并在下面進一步描述的,ECREATE邏輯/硬件1101、EADD邏輯/硬件1102、EEXTEND邏輯/硬件1103、EINIT邏輯/硬件1104、EENTER邏輯/硬件1105、EPA邏輯/硬件1106、EWB邏輯/硬件1107、EWBPS邏輯/硬件1108、ELDPS邏輯/硬件1109、以及ELD邏輯/硬件1110的功能可被包含在或分布于處理器200中任意所標記的單元或別處。此外,處理器200的每個所描述和/或示出的單元的功能和/或電路可以以任意方式被合并和/或分布。

      存儲單元212和222可分別包括可用于核心210和220中的任意目的的任意類型的存儲裝置的任意組合;例如,它們可包括使用任意存儲器或存儲裝置技術(shù)所實現(xiàn)的任意數(shù)目的可讀、可寫、和/或可讀寫寄存器、緩沖器、和/或緩存,以在其中存儲能力信息、配置信息、控制信息、狀態(tài)信息、性能信息、指令、數(shù)據(jù)、以及分別在核心210和220的操作中可用的任意其他信息,以及可用于訪問這類存儲裝置的電路。

      指令單元214和224可包括任意電路、邏輯、結(jié)構(gòu)、和/或其他硬件(例如,指令解碼器)以提取、接收、解碼、解釋、調(diào)度、和/或處理分別由核心21O和220執(zhí)行的指令。可以在本發(fā)明的范圍內(nèi)使用任意指令格式;例如,指令可包括操作碼和一個或多個操作數(shù),其中,操作碼可被解碼在一個或多個微指令或微操作中以便分別由執(zhí)行單元216或226執(zhí)行。諸如ECREATE、EADD、EEXTEND、EINIT、EENTER、EPA、EWB、EWBPS、ELDPS、以及ELD指令之類的一個或多個指令可以是第一單一操作碼(例如,特權(quán)安全enclave操作碼(例如,ENCLS))或第二單一操作碼(例如,非特權(quán)安全enclave操作碼(例如,ENCLU))的葉,其中,葉指令由處理器寄存器(例如,EAX)中的值來指定。操作數(shù)或其他參數(shù)可以隱式地、直接地、間接地、或根據(jù)任意其他方法與指令相關(guān)聯(lián)。

      在實施例中,EWBPS和ELDPS可以是ENCLS指令的葉。當處理器200被用于支持虛擬化處理環(huán)境時,處理器200可由虛擬機監(jiān)測器、管理程序、或其他系統(tǒng)軟件來配置以使得響應(yīng)于EWBPS或ELDPS指令從虛擬化處理環(huán)境退出(虛擬機退出)。虛擬機退出然后可通過使用EWB指令逐出根VA頁面來仿真EWBPS指令的行為和/或通過使用ELD指令重新加載根VA頁面來仿真ELDPS指令的行為。

      執(zhí)行單元216和226可包括任意電路、邏輯、結(jié)構(gòu)、和/或其他硬件(例如,算術(shù)單元、邏輯單元、浮點單元、移位器等),以處理數(shù)據(jù)和執(zhí)行指令、微指令、和/或微操作。每個執(zhí)行單元216和226可表示任意一個或多個物理或邏輯上不同的執(zhí)行單元。

      執(zhí)行單元216和226可分別包括加密硬件270和280(可表示任意專用或共享電路、邏輯、結(jié)構(gòu)、和/或其他硬件)以執(zhí)行任意一個或多個加密算法及相應(yīng)的解密算法、執(zhí)行任意一個或多個安全散列算法、和/或生成任意一個或多個消息認證碼(MAC)。加密硬件270和280可分別使用諸如密鑰272和282之類的密鑰,每個密鑰可表示任意密鑰,例如,在啟動處理期間生成的被編程到熔絲陣列中的處理器200的處理器或平臺唯一密鑰、和/或以其他方式可作為私密密鑰被用于密碼技術(shù)、生成MAC、或任意其他目的的處理器或平臺唯一密鑰。

      控制單元218和228可包括任意微碼、固件、電路、邏輯、結(jié)構(gòu)、和/或硬件以分別控制核心210和220的單元和其他元件的操作,以及核心210和220內(nèi)部的數(shù)據(jù)、進入和離開核心210和220的數(shù)據(jù)的傳送。控制單元218和228可使得核心210和220以及處理器200執(zhí)行或參與本發(fā)明的方法實施例的執(zhí)行,例如,通過使得核心210和220來執(zhí)行指令單元214和224所接收的指令以及衍生自指令單元214和224所接收的指令的微指令或微操作在下面所描述的方法實施例。

      緩存單元232可包括在靜態(tài)隨機存取存儲器或任意其他存儲器技術(shù)中實現(xiàn)的信息處理系統(tǒng)100的存儲器層級中的一個或多個等級的緩存存儲器中的任意數(shù)目的緩存陣列,以及電路、結(jié)構(gòu)、和/或其他硬件以控制和/或提供它們的使用和維護??筛鶕?jù)任意方法來在處理器200中的任意數(shù)目的核心和/或邏輯處理器中共享緩存單元232,以在處理系統(tǒng)中進行緩存。緩存單元232還可包括如在下面被進一步描述將被用作enclave頁面緩存(EPC)240的一個或多個存儲器陣列。

      接口單元234可表示任意電路、邏輯、結(jié)構(gòu)、和/或其他硬件(例如,鏈接單元、總線單元、消息發(fā)送單元)以允許處理器200通過任意類型的總線、點對點、或其他連接與諸如系統(tǒng)200之類的系統(tǒng)中的其他組件直接或通過任意其他組件(例如,橋接、集線器、或芯片組)進行通信。接口單元234可包括一個或多個集成存儲器控制器以便與諸如系統(tǒng)存儲器130之類的系統(tǒng)存儲器進行通信,或可通過處理器200外部的一個或多個存儲器控制器與系統(tǒng)存儲器進行通信。

      非易失性存儲裝置290表示如上所述的非易失性存儲裝置112。非易失性存儲裝置290可由處理器200的封裝上的一個或多個引腳或其他電連接器292來供電,以便可以跨電源周期來保持非易失性存儲裝置290的內(nèi)容,例如,在處理器200中的其他電路可能被斷電時的備用、睡眠、暫停、和/或其他電源管理狀態(tài)期間。盡管在圖2中被示出為在非核心220中,但非易失性存儲裝置290可被包括在處理器的一個或多個核心中,或可在處理器220的外部被實現(xiàn),如上所述。

      處理器保留存儲器范圍寄存器(PRMRR)213、223、以及250可表示存儲單元212和222中的任意一個或多個存儲位置、處理器200中的其他位置、和/或非核心230中的副本。PRMRR 213/223/250可例如由諸如基本輸入/輸出系統(tǒng)之類的配置固件用來保留被稱為處理器保留存儲器(PRM)的存儲器的一個或多個物理連續(xù)的范圍。存儲器訪問控制單元260可表示可控制對PRM的訪問的處理器200中的任意位置處的任意電路、結(jié)構(gòu)、邏輯、和/或其他硬件,以便可以在被定義為PRM的系統(tǒng)存儲器空間中創(chuàng)建EPC 240。

      在實施例中,PRM的尺寸是2的整數(shù)冪,例如,32MB、64MB、或128M,并且與該尺寸的倍數(shù)的存儲器地址相對準。PRMRR 213/223/250可包括只讀PRMMR有效配置寄存器252的一個或多個實例以指示PRM可被配置的有效尺寸,可包括PRMMR基址寄存器254和PRMMR屏蔽寄存器256的一個或多個實例以定義PRM的一個或多個基地址和范圍。

      EPC 240是安全存儲區(qū)域,其中,軟件可被保護免受在任意特權(quán)等級進行操作的惡意軟件的攻擊。可創(chuàng)建一個或多個安全enclave以便每個enclave可包括EPC 240的一個或多個頁面或其他區(qū)域,以便以僅在enclave內(nèi)部運行的軟件可以訪問的方式存儲代碼、數(shù)據(jù)、或其他信息。例如,安全enclave可由軟件應(yīng)用使用,以便僅該軟件應(yīng)用在該enclave內(nèi)部運行時可以訪問該enclave的內(nèi)容。沒有其他軟件,甚至沒有操作系統(tǒng)或虛擬機監(jiān)測器可以在內(nèi)容被加載到EPC中時讀取該enclave的未加密內(nèi)容、修改該enclave的內(nèi)容、或以其他方式篡改該enclave的內(nèi)容(假設(shè)enclave是產(chǎn)品enclave,而不是例如調(diào)試enclave)。然而,enclave的內(nèi)容可由從系統(tǒng)100中的任意處理器上的該enclave內(nèi)進行執(zhí)行的軟件來訪問。通過存儲器訪問控制單元260根據(jù)安全enclave架構(gòu)進行操作來完成該保護。

      在圖2中,EPC 240被示出為在緩存單元232中,其中,EPC 240可以是共享緩存或?qū)S么鎯ζ鞯母綦x部分。在與處理器200相同的模具內(nèi)或模具上,可以在靜態(tài)隨機存取存儲器、嵌入式動態(tài)隨機存取存儲器、或任意其他存儲器技術(shù)中實現(xiàn)EPC 240。EPC 240還可以或額外地在處理器200的外部被實現(xiàn),例如,在系統(tǒng)存儲器130的安全區(qū)域中。為了在安全enclave的內(nèi)容被傳送出模具時對其進行保護,加密硬件270和/或280可用來(例如,在EWB和ELD指令的執(zhí)行中)在內(nèi)容被傳送出模具之前對其進行加密,并對被傳送回模具上的EPC 240中的內(nèi)容進行解密。處理器200還可包括其他加密硬件(例如,非核心230中的存儲器加密引擎262可提供系統(tǒng)存儲器120中所實現(xiàn)/存儲的EPC 240的全部或一部分)和/或?qū)崿F(xiàn)保護機制的其他硬件以保護內(nèi)容免受中繼或其他攻擊。

      圖3示出了EPC 300,該EPC 300的實施例可用作圖2中的EPC240。在圖3中,EPC 300包括安全enclave控制結(jié)構(gòu)(SECS)310、線程控制結(jié)構(gòu)(TCS)區(qū)域320、代碼/數(shù)據(jù)區(qū)域330、以及版本陣列(VA)區(qū)域340。盡管圖3示出EPC 300被劃分成四個獨立的區(qū)域,但EPC 300可被劃分成任意數(shù)目的塊、區(qū)域、或頁面,其中的每項可用于任意類型的內(nèi)容。在一個實施例在中,EPC 300被劃分成4千字節(jié)(KB)頁面并且與為4KB的倍數(shù)的系統(tǒng)存儲器130中的地址相對準,SECS 310可以是EPC 300中的任意一個4KB頁面,TCS區(qū)域320可以是任意數(shù)目的連續(xù)或非連續(xù)4KB頁面,代碼/數(shù)據(jù)區(qū)域330可以是任意數(shù)目的連續(xù)或非連續(xù)4KB頁面,并且VA區(qū)域340可以是任意數(shù)目的連續(xù)或非連續(xù)4KB頁面。此外,盡管圖3示出了與一個安全enclave相對應(yīng)的一個SECS、一個TCS區(qū)域、以及一個代碼/數(shù)據(jù)區(qū)域,但EPC可包括任意數(shù)目的SECS以及任意數(shù)目的TCS和代碼/數(shù)據(jù)區(qū)域,只要每個enclave有且僅有一個SECS,則每個有效的TCS和有效的代碼/數(shù)據(jù)區(qū)域(例如,頁面)屬于一個且僅一個enclave,并且所有SECS、TCS、代碼/數(shù)據(jù)頁面、以及VA頁面適合EPC(或可被頁面移出(page out)或移回EPC)。

      可通過執(zhí)行ECREATE指令來創(chuàng)建SECS以包含將由硬件使用并且僅硬件可訪問(即,非軟件可讀、可寫、或以其他方式可訪問的,無論是在enclave內(nèi)部或外部運行)的元數(shù)據(jù),以定義、維護、以及保護enclave。例如,SECS 310包括第一測量寄存器(MRENCLAVE)312,該MRENCLAVE 312可以是SECS 310中的任意尺寸的字段;在一個實施例中,MRENCLAVE 312可以是32位。MRENCLAVE 312存儲enclave的構(gòu)建測量(如下所述),該構(gòu)建測量由ECREATE指令初始化、由與enclave相關(guān)聯(lián)的每個EADD和EEXTEND指令更新、并由與enclave相關(guān)聯(lián)的EINIT指令鎖定。SECS 31O還包括第二測量寄存器(MRSIGNER)314以存儲驗證enclave的創(chuàng)建的實體的標識符(例如,公共密鑰)的測量,如在下面被進一步描述的。在一個實施例中,MRSIGNER 314可以是32位。如下所述,enclave屬性可被存儲在ATTRIBUTES字段316中,在一個實施例中,該ATTRIBUTES字段316的尺寸可以為16位。

      一個或多個TCS還可以與安全enclave相關(guān)聯(lián)。TCS包含硬件用來在線程特定信息進入和離開enclave時對其進行保存和恢復(fù)的元數(shù)據(jù)。一個或多個VA還可用來輔助分頁,如在下面被進一步描述的。

      每個頁面的安全屬性被存儲在稱為enclave頁面緩存映射(EPCM)的微架構(gòu)數(shù)據(jù)結(jié)構(gòu)中,存儲器訪問控制單元260使用該EPCM來加強安全enclave架構(gòu)所提供的保護。EPCM存儲EPC中的每個頁面的一個條目。每個條目包括頁面所屬的SECS(即,enclave)的標識符(例如,64位字段)。這些標識符可由諸如EADD、EEXTEND、以及EINIT之類的安全enclave指令參考(例如,SECS的地址可被存儲在諸如RCX之類的寄存器中、包括SECS的地址的微架構(gòu)數(shù)據(jù)結(jié)構(gòu)的地址可被存儲在諸如RBX之類的寄存器中等)以提供SECS來由硬件讀取以便執(zhí)行指令。

      現(xiàn)在返回圖1,EPA邏輯/硬件1106、EWB邏輯/硬件1107、EWBPS邏輯/硬件1108、ELDPS邏輯/硬件1109、以及ELD邏輯/硬件1110提供操作系統(tǒng)或其他軟件可用來管理EPC 300并提供虛擬存儲器空間的指令,用于由比EPC 300的尺寸更大的一個或多個安全處理環(huán)境來使用,其中,可跨電源周期來維護每個安全處理環(huán)境。

      如在下面被更詳細描述的,EWB指令可用來從EPC 300到系統(tǒng)存儲器120寫回或逐出頁面(除了根版本陣列頁面,如下所述),例如,代碼/數(shù)據(jù)頁面332。EWBPS指令可用來從EPC 300到非易失性存儲裝置120逐出根版本陣列頁面條目。ELDPS指令可用來將之前從非易失性存儲裝置120被逐出的根版本陣列頁面條目重新加載到EPC 300中。ELD指令可用來將之前從系統(tǒng)存儲器120被逐出的頁面(除了根版本陣列頁面)重新加載到EPC 300中。

      EPA指令可用來分配特殊EPC頁面,例如,VA頁面342,在該特殊EPC頁面上存儲每個被逐出的頁面的唯一版本號,以便當頁面被重新加載到EPC中時可檢查版本號以確保它與被逐出的頁面相同,以此來保護EPC免受中繼攻擊。VA頁面可包含槽陣列(例如,4KB VA頁面可包含512個槽),每個槽存儲被逐出的頁面的版本號。槽可被分配以便當頁面被逐出時來使用,并且當頁面被重新加載時被釋放以便當另一(相同的或不同的)頁面被逐出時來重新使用。VA頁面可由多于一個的enclave共享。

      為了使得在任意時間可被頁面移出的頁面的數(shù)目不被VA頁面的尺寸所限制,EPC可包括多個、層級的(即,被布置在倒置樹結(jié)構(gòu)中)VA頁面。例如,第一VA頁面可用來存儲第一組512個代碼/數(shù)據(jù)頁面的版本信息,第二VA頁面可用來存儲第二組512個代碼/數(shù)據(jù)頁面的版本信息,以及第三VA頁面可用來存儲第一VA頁面(當它被逐出時)、第二VA頁面(當它被逐出時)、以及多達510個額外的VA或代碼/數(shù)據(jù)頁面(當它們被逐出時)的版本信息。在該示例中,第三VA頁面可被稱為根VA頁面,假設(shè)沒有第三VA頁面的版本信息被存儲在另一VA頁面上。通常,根VA頁面是處于層級的最高等級的VA頁面,換句話說,所有被逐出的頁面從其可被直接(即,被逐出的頁面的版本信息被存儲在根VA頁面上)或間接地(即,被逐出的頁面的版本信息被存儲在根VA頁面和被逐出的頁面之間的層級等級處的被逐出的VA頁面上)參考的VA頁面。EPC可具有僅一個根VA頁面。

      結(jié)合EWB指令的執(zhí)行,被逐出的EPC頁面的內(nèi)容被加密(例如,通過加密單元270或280),并基于經(jīng)加密的內(nèi)容、頁面的安全屬性、以及頁面的版本號來生成MAC。EWB指令的參數(shù)可包括到將被頁面移出的EPC頁面的指針、到存儲將被頁面移出的頁面的版本號的VA頁面中的空槽的指針、以及到存儲經(jīng)加密的頁面、完整性檢查值、安全enclave控制結(jié)構(gòu)(SECS)信息、以及頁面的任意其他元數(shù)據(jù)的EPC頁面之外的存儲器位置的指針??墒褂肊WB指令來頁面移出EPC中的任意頁面,包括VA頁面和SECS頁面,除了根VA頁面之外。

      可使用EWBPS指令來逐出根VA頁面條目。EWBPS指令的參數(shù)可包括到被逐出的根VA頁面條目的指針。在逐出根VA頁面條目之前,系統(tǒng)軟件負責以與VA頁面層級相一致的順序來頁面移出(例如,使用EWB指令)EPC中的所有其他頁面,直到僅剩下具有一個VA條目(LAST_VA_VERSION,被頁面移出的最后的VA頁面的版本號)的根VA頁面。EWBPS指令的執(zhí)行使得處理器寫回(例如,到非易失性存儲裝置290)包含最后有效頁面的分頁上下文和版本的blob(“PS blob”)。

      可由處理器響應(yīng)于EWBPS指令通過對包括分別如上文或如下文所述的LAST_VA_VERSION、PSVERSION、PK、PI、EID、以及SVN的輸入的組合進行加密來生成PS blob。PSVERSION是根VA的唯一版本號,以便在電源恢復(fù)之后當EPC被重新加載時可檢查版本號,以此保護EPC免受中繼攻擊。PK是用來加密和解密頁面的內(nèi)容和/或結(jié)合分頁指令(例如,EWB和ELD)的執(zhí)行來生成MAC的分頁密鑰,并且可被初始化為隨機值并被存儲在控制寄存器中(例如,在存儲單元212或222中)。PI是用來加密PS blob的密鑰,并且可衍生自硬件基密鑰(例如,密鑰272或密鑰282)。EID是用來例如結(jié)合ECREATE指令的執(zhí)行來創(chuàng)建enclave標識符的值,并且可以是被初始化為零并當每個enclave被創(chuàng)建時被增加的值。SVN是一個或多個安全版本號,每個安全版本號可被分配給使用EPC的enclave。

      可使用ELDPS指令來重新加載根VA頁面條目。在實施例中,在執(zhí)行ELDPS指令之前,使用EPA指令在EPC中創(chuàng)建新的VA頁面以用作根VA頁面。在另一實施例中,新的VA頁面可作為ELDPS指令的執(zhí)行的一部分而被創(chuàng)建。在任一實施例中,ELDPS指令的執(zhí)行包括從非易失性存儲裝置讀取PS blob并對PS blob進行解密(例如,通過加密單元270或280)、驗證版本號及相應(yīng)的MAC、使用經(jīng)解密的PS blob的內(nèi)容來恢復(fù)在最近的EWBPS指令被執(zhí)行時呈現(xiàn)的EPC分頁上下文、以及將被逐出的最后VA頁面的版本號加載到根VA頁面的空槽中。

      可使用ELD指令來頁面移回包括VA頁面(但非根VA頁面)和SECS頁面的任意被逐出的頁面。結(jié)合ELD指令的執(zhí)行,解密(例如,通過加密單元270或280)將被重新加載的EPC頁面的經(jīng)加密的內(nèi)容、驗證版本號及相應(yīng)的MAC、將未加密的頁面重新加載到EPC 300中、將EPCM信息恢復(fù)到EPCM。ELD指令的參數(shù)可包括到將被頁面移回的經(jīng)加密的頁面及其相關(guān)聯(lián)的元數(shù)據(jù)的指針、到將頁面加載到其中的EPC中的空閑頁面位置的指針、到頁面對其被分配的安全enclave的SECS的指針、以及到頁面的版本號被存儲在其中的VA頁面中的槽的指針。不同版本的ELD指令可用于在不同的狀態(tài)(例如,阻塞狀態(tài)或未阻塞狀態(tài))中重新加載頁面。

      圖4根據(jù)本發(fā)明的實施例示出了用于建立跨電源周期進行維護的安全處理環(huán)境的方法400。盡管本發(fā)明的方法實施例在這方面不被限制,但可以參考圖1、2、以及3的元素來幫助描述圖4的方法實施例。方法400包括使用ECREATE、EADD、EEXTEND、EINIT、以及EENTER指令來建立安全enclave;然而,本發(fā)明的實施例不被限制于這些被具體提及的指令。方法400的各個部分可通過或利用硬件(例如,指令單元214/224、執(zhí)行單元216/226、和/或控制單元218/228)、固件、軟件、信息處理系統(tǒng)的用戶等的組合來獨立地執(zhí)行。

      在方法400的框體400中,開始enclave的建立。在框體412中,例如由安裝器應(yīng)用來發(fā)布ECREATE指令以創(chuàng)建enclave。在框體414中,例如由執(zhí)行單元216或226來開始ECREATE指令的執(zhí)行。在一個實施例中,ECREATE指令的執(zhí)行包括分配一系列地址以供enclave使用。在一個實施例中,地址可以是將被轉(zhuǎn)換為第二類型的地址(例如,諸如系統(tǒng)存儲器120之類的系統(tǒng)存儲器中的物理地址)的第一類型的地址,例如,虛擬或線性地址。

      ECREATE指令的執(zhí)行還可包括建立enclave的屬性并將enclave屬性存儲在SECS中,例如,在SECS 310的ATTRIBUTES字段316中。微架構(gòu)數(shù)據(jù)結(jié)構(gòu)(例如,PAGEINFO)可以與ECREATE指令(例如,它在RBX寄存器中的地址)相關(guān)聯(lián)。PAGEINFO可具有指定將被復(fù)制到SECS310的源SECS的地址的字段。源SECS可包括將被復(fù)制到SECS ATTRIBUTES字段316的源SECS ATTRIBUTES位陣列。

      在框體418中,安裝器應(yīng)用例如可通過發(fā)布一個或多個EADD指令來將一個或多個頁面(或其他區(qū)域)添加到enclave,并例如通過發(fā)布一個或多個EEXTEND指令來測量該一個或多個頁面(或其他區(qū)域)。將頁面添加到enclave可包括將源頁面從系統(tǒng)存儲器復(fù)制到EPC中,并將EPC頁面與enclave的SECS相關(guān)聯(lián)。源頁面可以是包含enclave的代碼/數(shù)字區(qū)域的未加密代碼、數(shù)據(jù)、或其他信息的普通頁面,或者源頁面可以是包含TCS區(qū)域的元數(shù)據(jù)的TCS頁面。測量一個或多個頁面(或其他區(qū)域)可包括基于一個或多個頁面的內(nèi)容、位置、和/或其他屬性來增量地計算或擴展密碼散列,并將散列存儲在MRENCLAVE 312中。

      在框體420中,安裝器應(yīng)用發(fā)布EINIT指令以結(jié)束enclave的建立并對其進行初始化。在框體422中,例如由執(zhí)行單元216或226來開始EINIT指令的執(zhí)行。

      EINIT指令的執(zhí)行可包括,在框體424中,通過使用證書或簽名結(jié)構(gòu)中所包括的密鑰來驗證enclave的安裝器或簽名者所提供的enclave證書或簽名結(jié)構(gòu)(SIGSTRUCT)是有效的。EINIT指令的執(zhí)行還可包括,在框體426中,驗證MRENCLAVE 312的內(nèi)容與證書或簽名結(jié)構(gòu)中所提供的MRENCLAVE的期望值相匹配,其中,MRENCLAVE 312的最終值可以是加密地標識位于enclave內(nèi)部的代碼和數(shù)據(jù)、enclave內(nèi)部的頁面的位置或放置順序、以及每個頁面的安全屬性的唯一安全散列算法(例如,SHA-256)摘要。

      在框體428中,EINIT指令的執(zhí)行可以以鎖定MRENCLAVE 312繼續(xù)以便MRENCLAVE 312的內(nèi)容保持不變,甚至通過EADD或EEXTEND指令的后續(xù)執(zhí)行以及在SECS中設(shè)置屬性指標來防止任意更多區(qū)域或頁面被添加到enclave。在框體430中,完成enclave的建立。在框體440中,可進入enclave(例如,通過發(fā)布EENTER指令)以便安全地執(zhí)行enclave中的軟件應(yīng)用。

      圖5根據(jù)本發(fā)明的實施例示出了用于跨電源周期維護安全處理環(huán)境的方法500。盡管本發(fā)明的方法實施例在這方面不被限制,但可以參考圖1、2、3、以及4的元素來幫助描述圖5的方法實施例。方法500包括使用EPA、EWB、EWBPS、ELDPS、以及ELD指令來使用和維護安全處理環(huán)境,例如,根據(jù)方法400建立的安全enclave;然而,本發(fā)明的實施例不被限制于這些被具體提及的指令。為了方便,方法500示出了逐出每個類型的EPC頁面中的一個類型的EPC頁面;然而,根據(jù)本發(fā)明的各個實施例的方法可包括逐出每個類型的EPC頁面中的任意多個類型的EPC頁面,這取決于當發(fā)起斷電時有多少EPC頁面正被使用。方法500的各個部分可通過或利用硬件(例如,指令單元214/224、執(zhí)行單元216/226、和/或控制單元218/228)、固件、軟件、信息處理系統(tǒng)的用戶等的組合來獨立地執(zhí)行。在實施例中,如下所述被發(fā)布和執(zhí)行的EPA、EWB、EWBPS、ELDPS、以及ELD指令可以在處理器110上安裝、運行、和/或執(zhí)行的操作系統(tǒng)軟件中。

      在框體510中,開始EPA指令的第一發(fā)布的執(zhí)行。在框體512中,作為EPA指令的執(zhí)行的一部分,第一VA頁面(例如,VA頁面342)在EPC 300中被創(chuàng)建以便用于存儲被逐出的頁面的版本信息。在本發(fā)明的范圍內(nèi)可以創(chuàng)建多于一個的VA頁面,并且VA頁面還可被頁面移出,只要被逐出的VA頁面的版本信息被存儲在EPC 300中的另一VA頁面中,以及只要被頁面移出的任意VA頁面在頁面移回版本信息被存儲在該VA頁面中的任意頁面之前被頁面移回。任意頁面布局和/或任意類型的數(shù)據(jù)結(jié)構(gòu)可用來存儲版本陣列頁面中的版本信息和/或其他信息并創(chuàng)建VA頁面的層級。

      在框體514中,開始EPA指令的第二發(fā)布的執(zhí)行。在框體516中,作為EPA指令的執(zhí)行的一部分,第二VA頁面(例如,VA頁面344)在EPC 300中被創(chuàng)建以用作根VA頁面。注意,在某些實施例中,可省略圖5中示出的某些框體,包括框體514和516,這是由于可以使用單一VA頁面(例如,VA頁面342),在這種情況下,單一VA頁面將用作根VA頁面,并且在這種情況下,框體550到558(如下所述與逐出VA頁面342有關(guān))也將被省略。在其他實施例中,可創(chuàng)建額外的VA頁面以便構(gòu)建其他VA頁面層級。

      在框體520中,開始EWB指令的第一發(fā)布的執(zhí)行。在框體522中,作為EWB指令的執(zhí)行的一部分,從EPC 300逐出的第一頁面(例如,代碼/數(shù)據(jù)頁面332)的內(nèi)容被加密(例如,通過加密單元270或280,使用PK)以生成第一加密頁面。在本發(fā)明的范圍內(nèi)可以使用任意加密算法或技術(shù)。在框體524中,作為EWB指令的執(zhí)行的一部分,針對第一頁面和/或第一加密頁面生成第一完整性檢查值、第一反中繼值、和/或第一元數(shù)據(jù)。在本發(fā)明的范圍內(nèi)可以使用完整性檢查、反中繼保護、和/或其他驗證或認證的任意方法。在框體526中,作為EWB指令的執(zhí)行的一部分,第一頁面的第一唯一版本號被存儲在VA頁面(例如,VA頁面342)中的第一空槽中。在框體528中,作為EWB指令的執(zhí)行的一部分,第一加密頁面、第一元數(shù)據(jù)、以及第一頁面的EPCM信息被寫到系統(tǒng)存儲器120。

      在框體530中,開始EWB指令的第二發(fā)布的執(zhí)行。在框體532中,作為EWB指令的執(zhí)行的一部分,從EPC 300逐出的第二頁面(例如,TCS頁面322)的內(nèi)容被加密(例如,通過加密單元270或280,使用PK)以生成第二加密頁面。在框體534中,作為EWB指令的執(zhí)行的一部分,針對第二頁面和/或第二加密頁面生成第二完整性檢查值、第二反中繼值、和/或第二元數(shù)據(jù)。在框體536中,作為EWB指令的執(zhí)行的一部分,第二頁面的第二唯一版本號被存儲在VA頁面(例如,VA頁面342)中的第二空槽中。在框體538中,作為EWB指令的執(zhí)行的一部分,第二加密頁面、第二元數(shù)據(jù)、以及第二頁面的EPCM信息被寫到系統(tǒng)存儲器120。

      在框體540中,開始EWB指令的第三發(fā)布的執(zhí)行。在框體542中,作為EWB指令的執(zhí)行的一部分,從EPC 300逐出的第三頁面(例如,SECS頁面310)的內(nèi)容被加密(例如,通過加密單元270或280,使用PK)以生成第三加密頁面。在框體544中,作為EWB指令的執(zhí)行的一部分,針對第三頁面和/或第三加密頁面生成第三完整性檢查值、第三反中繼值、和/或第三元數(shù)據(jù)。在框體546中,作為EWB指令的執(zhí)行的一部分,第三頁面的第三唯一版本號被存儲在VA頁面(例如,VA頁面342)中的第三空槽中。在框體548中,作為EWB指令的執(zhí)行的一部分,第三加密頁面、第三元數(shù)據(jù)、以及第三頁面的EPCM信息被寫到系統(tǒng)存儲器120。

      在框體550中,開始EWB指令的第四發(fā)布的執(zhí)行。在框體552中,作為EWB指令的執(zhí)行的一部分,從EPC 300逐出的第一頁面(例如,VA頁面342)的內(nèi)容被加密(例如,通過加密單元270或280,使用PK)以生成第四加密頁面。在框體554中,作為EWB指令的執(zhí)行的一部分,針對第四頁面和/或第四加密頁面生成第四完整性檢查值、第四反中繼值、和/或第四元數(shù)據(jù)。在框體556中,作為EWB指令的執(zhí)行的一部分,第四頁面的第四唯一版本號被存儲在根VA頁面(例如,VA頁面344)中的空槽中。在框體558中,作為EWB指令的執(zhí)行的一部分,第四加密頁面、第四元數(shù)據(jù)、以及第四頁面的EPCM信息被寫到系統(tǒng)存儲器120。

      框體520到528、530到538、540到548、和/或550到558可被重復(fù)所需次數(shù)以逐出EPC 300中使用的所有頁面(除了根VA頁面),直到根VA頁面中僅剩余單一條目。

      在框體560中,開始EWBPS指令的發(fā)布的執(zhí)行。在框體562中,作為EWBPS指令的執(zhí)行的一部分,包括LAST_VA_VERSION(來自根VA頁面中的最后剩余的條目)、PSVERSION、PK、PI、EID、以及SVN的輸入的組合被加密(例如,通過加密單元270或280,使用PI)以生成PSblob。在框體564中,作為EWBPS指令的執(zhí)行的一部分,PS blob被寫到非易失性存儲裝置290。

      在框體566中,例如結(jié)合進入備用、睡眠、暫停、或其他電源管理狀態(tài)來從處理器110的至少一部分移除電力。在實施例中,可以從處理器封裝引腳或為包括EPC 300的處理器電路供電的其他外部連接器242移除電力,而對于為非易失性存儲裝置290供電的引腳292維持電力。在框體568中,處理器110臨時保持在備用、睡眠、暫停、或其他電源管理狀態(tài),不被施加電力以維持EPC 300的內(nèi)容。

      在框體570中,例如結(jié)合退出備用、睡眠、暫停、或其他電源管理狀態(tài)來對于包括EPC 300的處理器110的該部分重新施加電力。在框體572中,開始恢復(fù)處理器對安全處理環(huán)境的支持(例如,通過基礎(chǔ)輸入/輸出系統(tǒng)固件),包括:設(shè)置PRMRR 213/223/250;安裝任意微碼補丁、認證代碼模塊、和/或任意其他固件和/或軟件以支持安全處理環(huán)境或處理器的其他能力或功能;以及使能對安全處理環(huán)境的支持。

      在框體574中,開始EPA指令的第三發(fā)布的執(zhí)行。在框體576中,作為EPA指令的執(zhí)行的一部分,所有條目為空的第三VA頁面(例如,VA頁面344)在EPC 300中被創(chuàng)建以用作根VA頁面??梢栽谂c第二VA頁面相同的EPC 300中的物理和/或邏輯位置處創(chuàng)建該第三VA頁面,該第二VA頁面在EWBPS指令的執(zhí)行期間用作根VA頁面。因此,第三VA頁面還由VA頁面344表示。

      在框體580中,開始ELDPS指令的發(fā)布的執(zhí)行。在框體584中,作為ELDPS指令的執(zhí)行的一部分,從非易失性存儲裝置290讀取PS blob。在框體586中,作為ELDPS指令的執(zhí)行的一部分,PS blob被解密(例如,通過加密單元270或280,使用PI)并進行整體性檢查。在框體588中,作為ELDPS指令的執(zhí)行的一部分,經(jīng)解密的PS blob的內(nèi)容用來恢復(fù)在EWBPS指令被執(zhí)行時呈現(xiàn)的EPC分頁上下文?;謴?fù)EPC分頁上下文可包括將PK加載到密鑰寄存器中的分頁密鑰位置并加載分頁上下文寄存器(例如,CR_PAGING_VERSION寄存器,例如,將LAST_VA_VERSION加載到被逐出的最后頁面的版本號的寄存器)。注意,這些寄存器(例如,分頁密鑰和分頁上下文寄存器)可結(jié)合處理器110的上電而被加載新的/初始化值;因此,框體588可涉及重寫這些初始化值。

      在框體590中,作為ELDPS指令的執(zhí)行的一部分,被逐出的最后VA頁面的版本號被加載到根VA頁面的空槽中。注意,若ELDPS指令的執(zhí)行未成功完成(例如,PS blob的解密和/或完整性檢查發(fā)生故障),則處理器110可使用響應(yīng)于最近上電所生成的分頁上下文(包括新的分頁密鑰和分頁上下文寄存器的其他初始化值)來支持安全處理環(huán)境;然而,之前被創(chuàng)建的安全處理環(huán)境不能根據(jù)本發(fā)明的實施例被恢復(fù)。相反,它們可根據(jù)不能跨電源周期維護安全處理環(huán)境的任意之前已知的技術(shù)來重建。

      假設(shè)ELDPS指令成功完成,則可通過向EPC 300重新加載(例如,通過發(fā)布ELD指令)在備用、睡眠、暫停、或其他電源管理狀態(tài)的準備中被逐出(例如,通過操作系統(tǒng))的EPC頁面來恢復(fù)(例如,通過操作系統(tǒng))在備用、睡眠、暫停、或其他電源管理狀態(tài)之前被建立的(一個或多個)安全處理環(huán)境??梢砸耘cVA頁面層級相一致的任意順序來重新加載這些頁面,并且可以按需來重新加載代碼/數(shù)據(jù)頁面。

      例如,在框體592中,開始ELD指令的發(fā)布的執(zhí)行。在框體594中,作為ELD指令的執(zhí)行的一部分,頁面(例如,VA頁面342)的經(jīng)加密的內(nèi)容從系統(tǒng)存儲器120被讀取并被解密(例如,通過加密單元270或280,使用PK)以生成解密頁面。在框體596中,檢查頁面的整體性檢查值、反中繼值、和/或其他元數(shù)據(jù)以驗證頁面的完整性,包括檢查版本是最后被寫出的相同版本(例如,對于VA頁面342,被存儲在根VA頁面中的版本號)。在框體598中,未加密頁面被重新加載到EPC 300中并且EPCM信息被恢復(fù)到EPCM。

      在本發(fā)明的各個實施例中,可以利用組合或省略所示出的框體、添加額外的框體、或重新排序、組合、省略、或額外框體的組合來以不同的順序執(zhí)行圖4和5所示的方法。此外,本發(fā)明的方法實施例不被限制于方法400、方法500、或其中的變化。在本發(fā)明的范圍內(nèi)本文未描述的許多其他方法實施例(以及裝置、系統(tǒng)、和其他實施例)是可能的。

      如上所述,本發(fā)明的實施例或?qū)嵤├牟糠挚杀淮鎯υ谌我庑问降臋C器可讀介質(zhì)上。例如,所有或部分方法400和/或500可被體現(xiàn)在由處理器110可讀的介質(zhì)上所存儲的軟件或固件指令中,當由處理器110執(zhí)行時,使得處理器110執(zhí)行本發(fā)明的實施例。此外,本發(fā)明的各方面可被體現(xiàn)在機器可讀介質(zhì)上所存儲的數(shù)據(jù)中,其中,數(shù)據(jù)表示不能構(gòu)建所有或部分處理器110的設(shè)計或其他信息。

      因此,用于跨電源周期維護安全處理環(huán)境的發(fā)明的實施例已被描述。盡管某些實施例已被描述并在附圖中被示出,將理解的是,這類實施例僅是說明性的并且不是廣義發(fā)明的限制,并且本發(fā)明不被限制于所示出和描述的特定結(jié)構(gòu)和布置,這是由于當學習本公開時本領(lǐng)域普通技術(shù)人員可做出各種其他修改。在諸如此類的技術(shù)領(lǐng)域中,增長速度快并且不容易預(yù)見進一步的進展,如在不同脫離本公開的原理或所附權(quán)利要求的范圍的情況下通過使能技術(shù)進展所促進的,可以在布置和細節(jié)上容易地修改所公開的實施例。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1