及鏈路單元115或 135的實施例的高速緩沖存儲器、存儲器控制器、加密委托代理和/或鏈路單元可以被集成 在處理器200的襯底上。
[0026] 指令單元210可以表示諸如用于提取、接收、解碼和/或調(diào)度指令的指令解碼器之 類的任何電路、結(jié)構(gòu)或其他硬件??梢栽诒景l(fā)明的范圍內(nèi)使用任何指令格式;例如,指令可 以包括操作碼和一個或多個操作數(shù),其中操作碼可以被解碼成一個或多個微指令或微操作 以供由執(zhí)行單元220執(zhí)行。
[0027] 執(zhí)行單元220可以包括諸如用于處理數(shù)據(jù)和執(zhí)行指令、微指令和/或微操作的運 算單元、邏輯單元、浮點單元、移位器等等的任何電路、結(jié)構(gòu)或其他硬件。
[0028] 處理存儲230可以表示在處理器200內(nèi)的可用于任何目的的任何類型的存儲;例 如,它可以包括任何數(shù)量的數(shù)據(jù)寄存器、指令寄存器、狀態(tài)寄存器、配置寄存器、控制寄存 器、其他可編程或硬編碼寄存器或寄存器堆、或任何其他存儲結(jié)構(gòu)。
[0029] 處理器控制單元240可以包括任何邏輯、電路、硬件或其他結(jié)構(gòu),包括微代碼、靜 態(tài)編程邏輯或可編程邏輯,以便控制處理器200的各單元和其他元素的操作以及在處理器 200內(nèi)、進入處理器200和離開處理器200的數(shù)據(jù)傳輸。例如,通過引起處理器200執(zhí)行由 指令單元210接收到的指令和從由指令單元210接收到的指令導(dǎo)出的微指令或微操作,處 理器控制單元240可以引起處理器200執(zhí)行本發(fā)明的各方法實施例或參與本發(fā)明的各方法 實施例的執(zhí)行,例如下面描述的方法實施例。
[0030] 安全飛地單元250可以表示用于創(chuàng)建和維護安全的、受保護的或隔離的環(huán)境的任 何邏輯、電路、硬件或其他結(jié)構(gòu),例如在此描述的安全飛地,在諸如系統(tǒng)100之類的信息處 理系統(tǒng)內(nèi)應(yīng)用或其他軟件可以在安全飛地中運行、執(zhí)行、加載或存在。對于本描述的目的, 這樣的環(huán)境的每一實例都可以被稱為安全飛地,但本發(fā)明的各實施例不限于把安全飛地用 作安全的、受保護的或隔離的環(huán)境的那些。在一種實施例中,可以使用英特爾?Core?處理 器系列或來自英特爾⑧公司的其他處理器系列中的處理器的指令集中的指令來創(chuàng)建和維 護安全飛地。
[0031] 安全飛地單元120的全部或部分可以被包括在處理器200的任何一個或多個其他 單元中,例如對應(yīng)于指令單元210、執(zhí)行單元220、處理器存儲230和處理器控制單元240的 那些單元。安全飛地單元250可以包括加密單元252,加密單元252可以包括執(zhí)行一種或多 種加密算法和相應(yīng)的解密算法的任何邏輯、電路或其他硬件,且可以包括與諸如加密委托 代理114和/或134之類的另一加密單元共享的邏輯、電路或其他硬件。
[0032] 可以在系統(tǒng)存儲器150支持的系統(tǒng)存儲器空間內(nèi)給在系統(tǒng)100內(nèi)創(chuàng)建的每一安全 飛地分配安全的或受保護的空間。安全存儲器152表示一個或多個這樣的安全的或受保護 的存儲器空間??梢允褂靡阎奶摂M存儲器、安全飛地或其他系統(tǒng)存儲器編址技術(shù)來創(chuàng)建、 分配和維護每一個這樣的存儲器空間,以使得可以在各個時刻把在每一個這樣的存儲器空 間內(nèi)的信息存儲在信息存儲設(shè)備160、系統(tǒng)存儲器150、高速緩沖存儲器112和/或132中 的任何、由處理器存儲230表示的緩存代理110和/或歸屬代理130中的任何處理器存儲 和/或在信息處理系統(tǒng)100內(nèi)的任何其他存儲器或存儲區(qū)域的任何組合內(nèi)。
[0033] 安全存儲器152可以包括被稱為處理器保留存儲器(PRM)的一個或多個物理上鄰 近的存儲器范圍。在一種實施例中,PRM自然對齊,且具有2的整數(shù)冪的大小。諸如基本輸 入/輸出系統(tǒng)之類的系統(tǒng)固件可以保留PRM,例如通過設(shè)置一對型號專用寄存器(MSR),兩 者一起被稱為PRM范圍寄存器(PRMRR)。在圖2的實施例中,安全飛地邏輯250可以包括 PRMRR254,PRMRR254 的實施例可以充當(dāng)圖 1 中的PRMRR116 和PRMRR136。PRMRR116 可 以被用來為緩存代理111保留PRM154,且PRMRR136可以被用來為歸屬代理131保留PRM 156〇
[0034] 安全飛地單元250也可以包括訪問控制單元256,訪問控制單元256可以包括使 用PRMRR254來強加加載和訪問限制的任何邏輯、電路、硬件或其他結(jié)構(gòu),以使得在安全飛 地的存儲器空間內(nèi)信息僅可由在該安全飛地中運行的應(yīng)用訪問。例如,在存儲到系統(tǒng)存儲 器150、信息存儲設(shè)備150或處理器200外的任何其他存儲器或存儲中之前,可以由加密單 元252加密在被分配給安全飛地的存儲器頁面上的信息。盡管被存儲在處理器200之外, 但該信息受到加密和完整性檢查技術(shù)的保護。在存儲器頁面由應(yīng)用或進程(該應(yīng)用或進程 在處理器110上、在該頁面被分配到其中的安全飛地內(nèi)運行)加載到處理器的高速緩沖存 儲器時,由加密單元152解密它,然后,未加密信息僅可由在安全飛地內(nèi)運行的應(yīng)用或進程 訪問。
[0035] 圖3闡釋加密委托代理(EPA) 300,其實施例可以充當(dāng)系統(tǒng)100中的EPA114和EPA 134。在一種實施例中,EPA300中的硬件是專用的或非共享的,這意味著不與相同的襯底 或相同的封裝上的任何處理器執(zhí)行核中的硬件共享。在其他實施例中,可以在EPA和一個 或多個處理器核之間共享硬件。
[0036]EPA300可以包括執(zhí)行一種或多種加密算法和相應(yīng)的解密算法的加密單元310。 在本發(fā)明的范圍內(nèi)可以使用任何一種或多種密碼算法。加密單元310可以包括傳輸單元 312,以便加密要直接通過點對點鏈路以一個或多個分組從一個處理器封裝傳輸或發(fā)送給 另一處理器封裝的內(nèi)容。加密單元310也可以包括接收單元314,以便解密直接通過點對 點鏈路以一個或多個分組從一個處理器封裝接收到另一處理器封裝的內(nèi)容。加密單元310 也可以包括安全密鑰存儲316,以便存儲要使用的密鑰,以便加密和解密要直接通過點對點 鏈路以一個或多個分組從一個處理器封裝傳輸或發(fā)送給另一處理器封裝的內(nèi)容。加密單元 350也可以包括密鑰導(dǎo)出單元318,以便從第一密鑰或EPA300所接收的其他數(shù)據(jù)導(dǎo)出第二 密鑰。
[0037] EPA 300也可以包括認證單元320,以便認證直接通過點對點鏈路在處理器封裝 之間傳輸?shù)臄?shù)據(jù)或其他信息。在本發(fā)明的范圍內(nèi)可以使用任何認證技術(shù)。認證單元320可 以包括傳輸單元322,以便產(chǎn)生認證元數(shù)據(jù),例如頭部或簽名,并將其追加或以其他方式提 供給要直接通過點對點鏈路以一個或多個分組從一個處理器封裝傳輸或發(fā)送給另一處理 器封裝的內(nèi)容。認證單元320也可以包括接收單元324,以便驗證直接通過點對點鏈路以一 個或多個分組由一個處理器封裝從另一處理器封裝接收的內(nèi)容的真實性。
[0038]EPA300也可以包括重放(r印lay)保護單元330,以便防止直接通過點對點鏈路 在處理器封裝之間傳輸?shù)闹胤殴魯?shù)據(jù)或其他信息。在本發(fā)明的范圍內(nèi)可以使用任何重放 保護技術(shù)。重放保護單元320可以包括傳輸單元332,以便產(chǎn)生重放保護信息,例如單調(diào)計 數(shù)器值、隨機數(shù)和/或完整性檢查值,并將其追加或以其他方式提供給直接通過點對點鏈 路以一個或多個分組從一個處理器封裝傳輸或發(fā)送給另一處理器封裝的內(nèi)容。重放保護單 元320也可以包括接收單元334,以便驗證直接通過點對點鏈路以一個或多個分組由一個 處理器封裝從另一處理器封裝接收的內(nèi)容的重放保護信息。
[0039] EPA 300也可以包括EPA控制單元340, EPA控制單元340可以包括控制EPA 300 的各單元和其他元素的操作的任何邏輯、電路、硬件、固件、其他結(jié)構(gòu)、微代碼、狀態(tài)機邏輯 和/或可編程邏輯。EPA控制單元340可以引起EPA 300執(zhí)行本發(fā)明的各方法實施例或參 與本發(fā)明的各方法實施例的執(zhí)行,例如下面所描述的各方法實施例。
[0040] 圖4闡釋根據(jù)本發(fā)明的一種實施例用于保護在處理器封裝之間的數(shù)據(jù)傳輸?shù)姆?法400。盡管本發(fā)明的各方法實施例不限于在這一方面,但可對圖1、2和3的元素進行引 用,以便幫助描述圖4的方法實施例。
[0041] 在框410,安全軟件模塊116用密鑰編碼EPA114。在框412,安全軟件模塊136用 相同的或相應(yīng)的密鑰編程EPA134,以使得EPA134可以解密由EPA114加密的數(shù)據(jù),且反 之亦然。
[0042] 在方法400的