欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

將可信執(zhí)行環(huán)境用于代碼和數(shù)據(jù)的安全性的制作方法

文檔序號(hào):11450673閱讀:373來(lái)源:國(guó)知局
將可信執(zhí)行環(huán)境用于代碼和數(shù)據(jù)的安全性的制造方法與工藝



背景技術(shù):

計(jì)算機(jī)系統(tǒng)對(duì)需要保護(hù)免于篡改和竊取的越來(lái)越多重要、敏感且有價(jià)值的信息進(jìn)行處理。存在必須將秘密保存在平臺(tái)上的許多軟件應(yīng)用。一些示例應(yīng)用是財(cái)務(wù)/銀行應(yīng)用和醫(yī)療記錄應(yīng)用。每個(gè)秘密文件夾可能對(duì)其他秘密文件夾相互不信任,并且每個(gè)秘密可以獨(dú)立于其他秘密而被保護(hù)。

為了應(yīng)對(duì)這種篡改和竊取,可以使用可信軟件執(zhí)行環(huán)境(txe)。txe阻止不可信軟件訪問(wèn)可信軟件和數(shù)據(jù)。軟件防護(hù)擴(kuò)展(sgx)是txe的示例并且包括添加到架構(gòu)中的一組指令和存儲(chǔ)器訪問(wèn)變化。這些擴(kuò)展允許應(yīng)用將保護(hù)容器(有時(shí)被稱為飛地)實(shí)例化。飛地是應(yīng)用的地址空間中提供保密性和完整性的保護(hù)區(qū)域(甚至在存在特權(quán)軟件的情況下)。阻止來(lái)自不駐留在飛地中的軟件對(duì)飛地存儲(chǔ)器區(qū)域的試圖訪問(wèn),甚至是來(lái)自如虛擬機(jī)監(jiān)視器、bios或操作系統(tǒng)等特權(quán)軟件的訪問(wèn)。

附圖說(shuō)明

根據(jù)所附權(quán)利要求書(shū)、以下對(duì)一個(gè)或多個(gè)示例實(shí)施例的詳細(xì)描述和相應(yīng)附圖,本發(fā)明的實(shí)施例的特征和優(yōu)點(diǎn)將變得顯而易見(jiàn)。在認(rèn)為適當(dāng)?shù)那闆r下,在附圖當(dāng)中重復(fù)參考標(biāo)記以表示相應(yīng)或相似的元件。

圖1包括本發(fā)明的實(shí)施例中的多個(gè)txe。

圖2包括本發(fā)明的實(shí)施例中的多個(gè)txe。

圖3包括本發(fā)明的實(shí)施例中的進(jìn)程。

圖4包括本發(fā)明的實(shí)施例中的進(jìn)程。

圖5包括本發(fā)明的實(shí)施例中的進(jìn)程。

圖6包括與本發(fā)明的實(shí)施例一起使用的系統(tǒng)。

具體實(shí)施方式

在以下描述中,雖然闡述了許多特定細(xì)節(jié),但是可以在沒(méi)有這些特定細(xì)節(jié)的情況下實(shí)踐本發(fā)明的實(shí)施例。未詳細(xì)示出公知的電路、結(jié)構(gòu)和技術(shù),以避免模糊對(duì)本說(shuō)明書(shū)的理解?!皩?shí)施例”、“各種實(shí)施例”等指示如此描述的(多個(gè))實(shí)施例可以包括特定特征、結(jié)構(gòu)或特性,但并不是每個(gè)實(shí)施例必定包括所述特定特征、結(jié)構(gòu)或特性。一些實(shí)施例可具有針對(duì)其他實(shí)施例而描述的特征中的一些特征、全部特征或不具有所述特征?!暗谝弧薄ⅰ暗诙?、“第三”等描述了共同對(duì)象并指示正提及相似對(duì)象的不同實(shí)例。這種形容詞并不暗示如此描述的對(duì)象在或者時(shí)間上、空間上、排名上、或以其他方式必須采取給定的順序。

如以上所提出的,軟件應(yīng)用經(jīng)常遭受來(lái)自惡意軟件的篡改。如果惡意軟件未被檢查到,則惡意軟件攻擊代碼流和數(shù)據(jù),從而減小數(shù)據(jù)完整性。許多應(yīng)用開(kāi)發(fā)者并未意識(shí)到惡意軟件風(fēng)險(xiǎn)和/或并不知道怎么保護(hù)他們的應(yīng)用免于惡意軟件威脅。這種開(kāi)發(fā)者可以依賴于操作系統(tǒng)(os)或防病毒(av)軟件來(lái)保護(hù)應(yīng)用免受惡意軟件的影響。然而,這種方法受限于os不被感染的能力以及av軟件具有準(zhǔn)確的惡意軟件簽名的能力。

然而,實(shí)施例以新穎的方式使用txe(例如,sgx)來(lái)有效地應(yīng)對(duì)惡意軟件。此外,實(shí)施例以容易實(shí)施的方式來(lái)這樣做。例如,許多開(kāi)發(fā)者并未意識(shí)到txe和/或并不知道如何使用txe來(lái)防護(hù)他們的應(yīng)用。然而,實(shí)施例通過(guò)例如提供編程者可以用于容易地將他的或她的應(yīng)用鏈接至txe的一個(gè)或多個(gè)庫(kù)來(lái)解決這些問(wèn)題。實(shí)施例(1)對(duì)代碼執(zhí)行添加保護(hù)并確保數(shù)據(jù)完整性,(2)服務(wù)于一系列軟件應(yīng)用,(3)對(duì)開(kāi)發(fā)者應(yīng)用的應(yīng)用具有很小的影響,并且(4)是高度可配置的。

具體地,實(shí)施例使用鏈接至應(yīng)用(例如,每應(yīng)用進(jìn)程1個(gè)可信代理)并且耦合至“可信管理器”(例如,每設(shè)備1個(gè)可信管理器)的一個(gè)或多個(gè)“可信代理”??尚殴芾砥髫?fù)責(zé)控制所述一個(gè)或多個(gè)可信代理的整體行為并且負(fù)責(zé)管理所有可信代理的數(shù)據(jù)??尚殴芾砥骱腿魏慰尚糯斫?jīng)由一個(gè)或多個(gè)安全通信通道(在包括可信和管理代理的設(shè)備的存儲(chǔ)器內(nèi),或者經(jīng)由具有不包括在設(shè)備中的實(shí)體的web)彼此通信并且與其他實(shí)體通信。可信代理在應(yīng)用進(jìn)程空間中運(yùn)行并且收集與應(yīng)用(例如,一個(gè)或多個(gè)應(yīng)用的關(guān)鍵代碼和/或數(shù)據(jù))相對(duì)應(yīng)的信息(例如,測(cè)量)。

可以使用sgx來(lái)實(shí)施可信管理器和/或可信代理??梢詫?多個(gè))測(cè)量(由可信代理收集的)傳遞至可信管理器(經(jīng)由安全通道)并且由可信管理器對(duì)其進(jìn)行處理/驗(yàn)證。在另一個(gè)實(shí)施例中,可以將(多個(gè))測(cè)量安全地發(fā)送給“后端服務(wù)”(比如,遠(yuǎn)離但耦合至包括(多個(gè))可信代理和可信管理器的計(jì)算節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)),在所述后端服務(wù)處執(zhí)行對(duì)測(cè)量的驗(yàn)證??梢詫?duì)“不良”測(cè)量(例如,已經(jīng)被篡改/修改的代碼和/或數(shù)據(jù))的任何檢測(cè)報(bào)告給用戶和/或應(yīng)用提供商和/或“后端服務(wù)”以供進(jìn)一步處理。因此,可信管理器可以監(jiān)測(cè)設(shè)備上的(多個(gè))可信代理的測(cè)量,并且/或者后端服務(wù)可以監(jiān)測(cè)可信管理器的測(cè)量。

實(shí)施例可以進(jìn)一步通過(guò)實(shí)施“?;?keepalive)”機(jī)構(gòu)來(lái)應(yīng)對(duì)惡意軟件?!氨;?keepalive)”信號(hào)(或者有時(shí)被稱為“?;?keepalive)”信號(hào))是由一個(gè)設(shè)備發(fā)送給另一個(gè)設(shè)備以便檢查這兩個(gè)設(shè)備之間的通信鏈路正在運(yùn)行或者以便阻止此鏈路被破壞的信號(hào)(例如,消息)。例如,可以以預(yù)定義間隔發(fā)送?;钚盘?hào)。在發(fā)送信號(hào)之后,如果沒(méi)有收到任何應(yīng)答,則假設(shè)鏈路或可信代理停止運(yùn)行或被損壞(可能由惡意軟件損壞)。?;钕⑼芏滩⑶也徽加煤芏鄮挕H欢?,它們的精確格式和使用條件取決于通信協(xié)議。

實(shí)施例擁有許多優(yōu)點(diǎn)。例如,實(shí)施例可以包括可以在安全容器中運(yùn)行關(guān)鍵代碼并且可以對(duì)所述關(guān)鍵代碼(或其部分)進(jìn)行測(cè)量的txe。實(shí)施例可以執(zhí)行對(duì)篡改的自組織發(fā)現(xiàn),不論惡意軟件的性質(zhì)(或者惡意軟件的簽名)如何。實(shí)施例幾乎不依賴于os的完整性和/或av更新。實(shí)施例對(duì)不同代碼/數(shù)據(jù)部分進(jìn)行配置(在不同時(shí)間)以便進(jìn)行測(cè)量。用于測(cè)量的“目標(biāo)”部分是可配置的并且可由所有者、應(yīng)用作者等控制。進(jìn)一步地,通過(guò)將應(yīng)用鏈接至(靜態(tài)地或動(dòng)態(tài)地)txe環(huán)境,解決方案是“通用的”并且可以容易地與各種應(yīng)用一起工作。因此,使能所述服務(wù)需要應(yīng)用開(kāi)發(fā)者的很少努力。最終,各種實(shí)施例使用安全的?;顧C(jī)構(gòu)來(lái)阻止拒絕服務(wù)(dos)攻擊。

dos或分布式拒絕服務(wù)(ddos)攻擊是試圖使機(jī)器或網(wǎng)絡(luò)資源不可用于其預(yù)期用戶。盡管用于執(zhí)行dos攻擊的方式變化,但是這種攻擊通常由臨時(shí)或無(wú)限期地中斷或暫停連接至互聯(lián)網(wǎng)的主機(jī)的服務(wù)的努力組成。dos攻擊可以涉及使用外部通信請(qǐng)求來(lái)使目標(biāo)機(jī)器飽和,到如此程度以至于目標(biāo)機(jī)器無(wú)法對(duì)合法流量做出響應(yīng)或者很慢地響應(yīng)以至于被致使基本上不可用。這種攻擊通常導(dǎo)致服務(wù)器過(guò)載。概括地說(shuō),可以通過(guò)以下方式來(lái)實(shí)施dos攻擊:或者強(qiáng)迫(多個(gè))目標(biāo)計(jì)算機(jī)復(fù)位;或者消耗其資源,從而使得其不再可以提供其預(yù)期服務(wù);或者妨礙預(yù)期用戶與受害程序之間的通信介質(zhì),從而使得它們不再可以充分地通信。dos攻擊還可以包括拒絕設(shè)備(比如,圖1的系統(tǒng)100)內(nèi)的服務(wù)(例如,拒絕對(duì)硬件機(jī)構(gòu)的軟件訪問(wèn))。例如,這種dos攻擊可以包括拒絕對(duì)可信代理或可信管理器的適當(dāng)操作;和/或拒絕對(duì)可信代理與可信管理器之間和/或可信管理器與后端服務(wù)之間的通信通道的操作。

圖1包括本發(fā)明的實(shí)施例中的多個(gè)txe。計(jì)算節(jié)點(diǎn)100可以包括可信管理器txe105,所述可信管理器txe可以經(jīng)由安全通信通道130、131、132而耦合至可信代理txe101、102、103。可信代理txe101、102、103可以對(duì)應(yīng)于軟件應(yīng)用110、111、112。其他軟件應(yīng)用113、114、115、116可以不發(fā)起或?qū)?yīng)于txe。txe101、102、103和/或105中的任何txe可以經(jīng)由安全通信通道133、134耦合至基于云的后端服務(wù)遠(yuǎn)程計(jì)算節(jié)點(diǎn)120。

在實(shí)施例中,txe101、102、103、105是在設(shè)備100上運(yùn)行的環(huán)3服務(wù)。在實(shí)施例中,應(yīng)用110、111、112、113、114、115、116中的每個(gè)應(yīng)用還可以在設(shè)備100上運(yùn)行或執(zhí)行(或至少存儲(chǔ)在駐留于設(shè)備100內(nèi)的存儲(chǔ)器中)。設(shè)備100可以是依賴于對(duì)軟件的可信執(zhí)行的各種計(jì)算節(jié)點(diǎn)中的任何計(jì)算節(jié)點(diǎn),如例如,以下各項(xiàng)中的一些或全部:智能電話、平板計(jì)算機(jī)、筆記本計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器節(jié)點(diǎn)、汽車、航空無(wú)人機(jī)、穿戴在手腕/身體上以便監(jiān)測(cè)生物數(shù)據(jù)的健身帶、提供互聯(lián)網(wǎng)接入的眼鏡、如混合平板計(jì)算機(jī)和智能電話等其組合等等。

環(huán)3服務(wù)指等級(jí)保護(hù)域(通常被稱為保護(hù)環(huán)),所述等級(jí)保護(hù)域是用于保護(hù)數(shù)據(jù)和功能免于錯(cuò)誤(例如,通過(guò)改善容錯(cuò))和惡意行為的機(jī)制。計(jì)算機(jī)os提供不同資源訪問(wèn)級(jí)別。保護(hù)環(huán)是計(jì)算機(jī)系統(tǒng)的架構(gòu)內(nèi)的一個(gè)或多個(gè)特權(quán)層次級(jí)別或?qū)又?。這通常由在硬件或微代碼級(jí)別上提供不同cpu模式的一些cpu架構(gòu)進(jìn)行硬件實(shí)施。環(huán)從最高特權(quán)(最高可信,通常編號(hào)為零)到最低特權(quán)(最低可信,通常具有最高環(huán)編號(hào))按層次安排。在大多數(shù)操作系統(tǒng)上,環(huán)0是具有最多特權(quán)的級(jí)別并且最直接地與如cpu和存儲(chǔ)器等物理硬件交互。在實(shí)施例中,環(huán)0用于內(nèi)核代碼和設(shè)備驅(qū)動(dòng)程序;環(huán)2用于特權(quán)代碼(例如,具有i/o訪問(wèn)許可的用戶程序);并且環(huán)3用于非特權(quán)代碼(例如,用戶程序)。

返回到圖1,可以使用sgx等來(lái)實(shí)施可信管理器txe105以及可信代理txe101、102、103。txe101、102、103、105各自可以包括在安全容器(txe)之內(nèi)運(yùn)行的軟件。txe101、102、103、105可以提供關(guān)鍵服務(wù)/功能以便保守秘密(例如,加密密鑰、云服務(wù)120白名單、測(cè)量驗(yàn)證值等)。

可信管理器txe105可以使用限定了后端服務(wù)(例如,服務(wù)120)的白名單,txe101、102、103、105中的任何txe應(yīng)當(dāng)連接至所述后端服務(wù)。例如,白名單是被批準(zhǔn)提供(或被提供)特定特權(quán)、服務(wù)、移動(dòng)性、訪問(wèn)和/或認(rèn)可的實(shí)體的清單或登記冊(cè)。在所述清單上的實(shí)體將被接受、批準(zhǔn)或認(rèn)可。列入白名單與列入黑名單相對(duì)應(yīng),列入黑名單是標(biāo)識(shí)被拒絕、不被認(rèn)可或被排斥的實(shí)體的做法。

在實(shí)施例中,txe105創(chuàng)建共享存儲(chǔ)器空間(例如,命名的存儲(chǔ)器空間)以便稍后由可信代理101、102、103中的任何或所有可信代理用作用于與可信管理器105通信的基礎(chǔ)設(shè)施。使用如sgx等txe的基本性質(zhì),可信管理器txe105可以與后端服務(wù)120連接(通道134)并且證明txe105的有效性和安全性性質(zhì),從而使得服務(wù)120可以實(shí)現(xiàn)對(duì)txe105的信任程度。這種連接134可以用于稍后由可信管理器105提供的所有服務(wù)(例如,對(duì)來(lái)自txe101、102、103的測(cè)量的供應(yīng))以及來(lái)自后端服務(wù)120的所有通信/控制。

圖2包括本發(fā)明的實(shí)施例中的多個(gè)txe??尚糯韙xe201與(例如,服務(wù))代理線程241和應(yīng)用線程242相對(duì)應(yīng),并且更具體地,與應(yīng)用線程242的部分(比如,代碼243和/或數(shù)據(jù)244的將被測(cè)量以便評(píng)估代碼和/或數(shù)據(jù)的完整性的特定部分)相對(duì)應(yīng)。代理線程241和(多個(gè))應(yīng)用線程242全都在如環(huán)3層等應(yīng)用進(jìn)程空間240內(nèi)進(jìn)行操作。

代理線程241經(jīng)由共享存儲(chǔ)器250耦合至可信管理器txe205。然而,在實(shí)施例中,可以經(jīng)由如傳輸層安全(tls)或安全套接字層(ssl)路徑(其是被設(shè)計(jì)成用于通過(guò)互聯(lián)網(wǎng)提供通信安全性的密碼協(xié)議)等安全連接來(lái)實(shí)現(xiàn)所述耦合。

可信管理器txe205與(或服務(wù))可信管理器線程206相對(duì)應(yīng),所述可信管理器線程可以提供如?;罘?wù)207、測(cè)量服務(wù)208和/或與連接服務(wù)209的耦合等服務(wù)??尚殴芾砥鱰xe205可以在環(huán)3層/級(jí)別處進(jìn)行操作。

如應(yīng)用110、111、112等應(yīng)用可以與可信代理txe101、102、103靜態(tài)鏈接(或?qū)ζ溥M(jìn)行動(dòng)態(tài)加載)并且可以將這些txe作為進(jìn)程中的新線程(例如,代理線程241)而運(yùn)行。將應(yīng)用110用作示例,應(yīng)用110將初始化(例如,init())并啟動(dòng)(例如,run())txe101。當(dāng)對(duì)可信代理txe101(圖2中的201)進(jìn)行加載時(shí),可以調(diào)用一次init()函數(shù)。在此階段中,可信代理線程241將為可執(zhí)行代碼243的安全執(zhí)行流程和/或數(shù)據(jù)244(例如,密鑰、測(cè)量)的安全性創(chuàng)建txe(txe201)。run()函數(shù)可由應(yīng)用110周期性地調(diào)用并且可以啟動(dòng)txe201以便然后對(duì)代碼243和/或數(shù)據(jù)244進(jìn)行測(cè)量。

當(dāng)可信代理txe201正在運(yùn)行時(shí)(無(wú)論是來(lái)自初始的初始化init()還是來(lái)自init()之后發(fā)生1次、2次、3次或更多次啟動(dòng)(run())的周期啟動(dòng)),txe201可以執(zhí)行若干動(dòng)作。

圖3包括實(shí)施例中的進(jìn)程。首先,當(dāng)應(yīng)用110對(duì)可信代理txe201進(jìn)行初始化時(shí)(要素301),可信代理txe201將連接至由可信管理器206創(chuàng)建的共享存儲(chǔ)器250(要素302)。然后,可信代理txe201與可信管理器txe205交換密鑰(例如,經(jīng)由迪菲-赫爾曼(diffie-hellman)型交換)以便使用共享存儲(chǔ)器250來(lái)創(chuàng)建安全通道230(例如,tls)(要素304)。為了保護(hù)此流程,可信管理器250和可信代理201可以使用txe證明來(lái)進(jìn)行彼此認(rèn)證(要素303)。這種認(rèn)證在例如以太·阿納蒂(ittaianati)等人的“innovativetechnologyforcpubasedattestationandsealing(用于基于cpu的證明和密封的創(chuàng)新技術(shù))”(可在https://soft.ware_intel_com/en-us/articles/innovative-technology-for-cpu-based-attestation-and-sealing處獲得)中加以描述。

可信代理txe201可以收集關(guān)于應(yīng)用的一般信息,比如,代碼243和/或數(shù)據(jù)244的測(cè)量(要素305)。然后,txe201可以對(duì)信息進(jìn)行加密并通過(guò)將加密信息放入共享存儲(chǔ)器250中來(lái)將所述信息發(fā)送給管理器txe205以供txe205訪問(wèn)(要素306)。

在實(shí)施例中,txe201可以從可信管理器txe205接收關(guān)于要對(duì)什么代碼/數(shù)據(jù)進(jìn)行測(cè)量的更新信息。例如,后端服務(wù)220可以通知txe205,應(yīng)當(dāng)對(duì)除了代碼243以外的代碼進(jìn)行測(cè)量,以便提供惡意軟件可能遇到困難的時(shí)間預(yù)測(cè)的“移動(dòng)目標(biāo)”。服務(wù)220和/或txe205可以將應(yīng)用標(biāo)識(shí)用作init()調(diào)用和/或run()調(diào)用的參數(shù),所述標(biāo)識(shí)具有已知格式和唯一值。這將對(duì)需要用于把待測(cè)量的代碼和/或數(shù)據(jù)作為目標(biāo)的標(biāo)識(shí)進(jìn)程進(jìn)行優(yōu)化。

圖4包括實(shí)施例中的進(jìn)程。在對(duì)txe201的初始化之后,對(duì)txe201的每次隨后調(diào)用可能導(dǎo)致txe采取若干動(dòng)作。例如,txe201可以對(duì)代碼243和/或數(shù)據(jù)244和/或txe205和/或服務(wù)220所針對(duì)的其他代碼進(jìn)行測(cè)量(要素401)。txe201可以進(jìn)一步創(chuàng)建其傳達(dá)給txe205的?;钣∮?要素402)。進(jìn)一步地,txe201可以對(duì)數(shù)據(jù)(例如,代碼243和/或數(shù)據(jù)244的測(cè)量)進(jìn)行加密并將其發(fā)送給可信管理器txe205(要素403)。

在實(shí)施例中,測(cè)量流程/進(jìn)程將選擇從進(jìn)程存儲(chǔ)器中讀取的固定或隨機(jī)存儲(chǔ)器部分(例如,代碼243和/或數(shù)據(jù)244)并且對(duì)其進(jìn)行測(cè)量以便創(chuàng)建散列。然后,經(jīng)由若干選項(xiàng)中的一個(gè)或多個(gè)選項(xiàng)對(duì)多個(gè)結(jié)果進(jìn)行分析。例如,對(duì)測(cè)量的分析(例如,一個(gè)測(cè)量與白名單值的比較)可由可信代理txe201進(jìn)行。為了支持這種選項(xiàng),檢查算法和值需要在代理txe201中可用。代理txe201可以從可信管理器txe205獲得預(yù)期值。然而,分析還可由可信管理器txe205進(jìn)行。在這種情況下,檢查算法和值需要在txe管理器205中可用。管理器txe205可以從云服務(wù)220獲得預(yù)期值。在仍另一個(gè)選項(xiàng)中,對(duì)測(cè)量的分析可由后端服務(wù)220進(jìn)行。

在實(shí)施例中,?;顧C(jī)構(gòu)由所有部件(例如,在txe201與txe205之間,以及在txe205與服務(wù)220之間,并且可能在txe201與服務(wù)220之間)用于防范dos攻擊。對(duì)dos攻擊的檢測(cè)可由可信代理txe201(例如,如果txe201未被準(zhǔn)時(shí)調(diào)用以便執(zhí)行測(cè)量)、可信管理器txe205(例如,如果代理txe201未準(zhǔn)時(shí)將測(cè)量數(shù)據(jù)發(fā)送給txe205)以及后端服務(wù)220(例如,如果管理器txe205未準(zhǔn)時(shí)將測(cè)量數(shù)據(jù)發(fā)送給服務(wù)器220)進(jìn)行。

實(shí)施例防范惡意軟件可能試圖剛好在應(yīng)用線程241調(diào)用可信代理txe201之前強(qiáng)取以上所描述的監(jiān)管流程的情況。惡意軟件可以在發(fā)生測(cè)量之前修改進(jìn)程存儲(chǔ)器空間。稍后,惡意軟件可以在來(lái)自可信代理201的詢問(wèn)結(jié)束之后恢復(fù)存儲(chǔ)器的狀態(tài)/內(nèi)容。為了應(yīng)對(duì)這種可能性,一旦txe201被調(diào)用,可信代理txe201就可以永不返回控制。例如,在被初始化之后,txe201可以連續(xù)運(yùn)行并通過(guò)使用“pause”(例如,指令集中的pause)以及其他類指令來(lái)收集測(cè)量,同時(shí)在可信代理txe201之內(nèi)循環(huán)。

txe201可以經(jīng)由進(jìn)程間通信(ipc)與txe205通信,所述進(jìn)程間通信包括使用通信協(xié)議來(lái)在多個(gè)且通常專用的進(jìn)程之間共享數(shù)據(jù)的活動(dòng)。

因此,以上所描述的實(shí)施例提供了以下各項(xiàng)的唯一組合:使用txe來(lái)進(jìn)行的安全執(zhí)行;在txe之間經(jīng)由共享存儲(chǔ)器或tls型通道使用加密數(shù)據(jù)傳輸來(lái)進(jìn)行的安全ipc;可信?;顧C(jī)構(gòu);存儲(chǔ)器測(cè)量和驗(yàn)證;以及使用后端服務(wù)來(lái)進(jìn)行控制、管理和報(bào)告。

圖5包括本發(fā)明的實(shí)施例中的進(jìn)程。

在實(shí)施例中,一種裝置包括至少一個(gè)存儲(chǔ)器和用于執(zhí)行操作的耦合至所述至少一個(gè)存儲(chǔ)器的至少一個(gè)處理器。圖5中描繪了那些操作。

框505包括在至少一個(gè)存儲(chǔ)器的受保護(hù)非特權(quán)用戶地址空間(例如,環(huán)3空間)中創(chuàng)建第一txe,所述txe對(duì)第一數(shù)據(jù)和第一可執(zhí)行代碼(例如,代碼243、數(shù)據(jù)244)中的至少一者進(jìn)行第一測(cè)量,并且當(dāng)?shù)谝粶y(cè)量處于第一txe內(nèi)時(shí)使用持久性第一基于硬件的密鑰來(lái)對(duì)第一測(cè)量進(jìn)行加密。使用基于硬件的密鑰幫助強(qiáng)化進(jìn)程以便使其對(duì)于惡意軟件更具彈性(如與使用基于軟件的密鑰相反的)。框505可以包括經(jīng)由包括創(chuàng)建第一txe的指令的庫(kù)將第一txe鏈接至代碼和/或數(shù)據(jù)。框505可以進(jìn)一步包括軟件應(yīng)用(例如,應(yīng)用110)對(duì)第一txe進(jìn)行初始化。第一txe可以響應(yīng)于來(lái)自第三txe的使第一txe進(jìn)行第一測(cè)量的調(diào)用而進(jìn)行第一測(cè)量。

框510包括在非特權(quán)用戶地址空間(例如,空間240)中創(chuàng)建第二txe,所述txe對(duì)第二數(shù)據(jù)和第二可執(zhí)行代碼(例如,類似于代碼242、數(shù)據(jù)243但是針對(duì)應(yīng)用111而不是與代碼242、數(shù)據(jù)242相對(duì)應(yīng)的應(yīng)用的代碼和數(shù)據(jù))中的至少一者進(jìn)行第二測(cè)量。

框515包括在非特權(quán)用戶地址空間中創(chuàng)建第三txe。

框517包括向第三txe認(rèn)證第一txe???17還可以包括向遠(yuǎn)程計(jì)算節(jié)點(diǎn)(例如,服務(wù)220)認(rèn)證第三txe。

框520包括在第一txe與第三txe之間創(chuàng)建第一安全通信通道(例如,通道130)并且在第二txe與第三txe之間創(chuàng)建第二安全通信通道(例如,通道131)。

框525包括在第一txe與第三txe之間經(jīng)由第一安全通信通道傳達(dá)第一測(cè)量。這可以包括將第一測(cè)量存儲(chǔ)在至少一個(gè)存儲(chǔ)器中。可以在第一txe與第三txe之間共享所述至少一個(gè)存儲(chǔ)器。

框530包括當(dāng)?shù)谝粶y(cè)量存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中時(shí),第三txe訪問(wèn)第一測(cè)量。這還可以包括將第二測(cè)量存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中。

框535包括將第一測(cè)量與另一個(gè)測(cè)量值進(jìn)行比較???35還可以包括基于持久性第一基于硬件的密鑰和持久性第二基于硬件的密鑰中的至少一者來(lái)向遠(yuǎn)程計(jì)算節(jié)點(diǎn)(例如,服務(wù)220)認(rèn)證第三txe。因此,txe201、205可以依賴于一個(gè)或多個(gè)基于硬件的密鑰來(lái)提供如在例如以太·阿納蒂(ittaianati)等人的“innovativetechnologyforcpubasedattestationandsealing(用于基于cpu的證明和密封的創(chuàng)新技術(shù))”(可在https://soft.ware_intel_com/en-us/articles/innovative-technology-for-cpu-based-attestation-and-sealing處獲得)中更完整地描述的認(rèn)證和密封???35可以進(jìn)一步包括在遠(yuǎn)程計(jì)算節(jié)點(diǎn)與第三txe之間建立?;罘?wù)。

框540包括在第一txe與第三txe之間建立?;罘?wù)???45包括第一txe休眠/睡眠以便僅在框550中被周期性地啟動(dòng)/喚醒。因此,軟件應(yīng)用(例如,應(yīng)用110)可以在對(duì)第一txe進(jìn)行初始化并且然后讓第一txe休眠之后周期性地啟動(dòng)第一txe???50還包括在第一txe進(jìn)行第一測(cè)量之后,從遠(yuǎn)程計(jì)算節(jié)點(diǎn)接收目標(biāo)代碼標(biāo)識(shí)符并且然后對(duì)與目標(biāo)代碼標(biāo)識(shí)符相對(duì)應(yīng)的目標(biāo)代碼進(jìn)行附加測(cè)量(框555)。

如以上多次提及的,實(shí)施例使用示例包括安全飛地的txe。txe阻止在飛地之外執(zhí)行的軟件對(duì)飛地之內(nèi)的軟件和數(shù)據(jù)進(jìn)行訪問(wèn)。txe包括虛擬存儲(chǔ)器區(qū)域,所述虛擬存儲(chǔ)器區(qū)域限定了所述txe,所述虛擬存儲(chǔ)器區(qū)域阻止在飛地之外執(zhí)行的軟件對(duì)飛地之內(nèi)的軟件和數(shù)據(jù)進(jìn)行訪問(wèn)。

在例如以下文件中描述了txe/安全飛地的各種實(shí)施例:于2009年11月13日提交的題為“methodandapparatustoprovidesecureapplicationexecution(用于提供安全應(yīng)用執(zhí)行的方法和裝置)”的美國(guó)專利申請(qǐng)(序列號(hào)12/590,767);于2009年12月22日提交的題為“methodandapparatustoprovidesecureapplicationexecution(用于提供安全應(yīng)用執(zhí)行的方法和裝置)”的pct專利申請(qǐng)(專利號(hào)pct/us2009/069212);于2010年12月22日提交的題為“systemandmethodforimplementingatrusteddynamiclaunchandtrustedplatformmodule(tpm)usingsecureenclaves(用于使用安全飛地來(lái)實(shí)施可信動(dòng)態(tài)啟動(dòng)和可信平臺(tái)模塊(tpm)的系統(tǒng)和方法)”的美國(guó)專利申請(qǐng)(美國(guó)專利8,832,452);于2013年6月4日提交的題為“technologiesforhardeningthesecurityofdigitalinformationonclientplatforms(用于強(qiáng)化客戶端平臺(tái)上的數(shù)字信息的安全性的技術(shù))”的pct專利申請(qǐng)(申請(qǐng)?zhí)杙ct/us2013/44158);“usinginnovativeinstructionstocreatetrustworthysolutions(使用創(chuàng)新指令來(lái)創(chuàng)建可信解決方案)”(馬修胡克斯特拉(matthewhoekstra)等人);“innovativeinstructionsandsoftwaremodelforisolatedexecution(用于隔離執(zhí)行的創(chuàng)新指令和軟件模型)”(弗蘭克麥基(frankmckeen)等人);http://software***intel***com/sites/default/files/329298-001.pdf;以及2013年6月24日在以色列特拉維夫市聯(lián)合isca40舉行的thesecondworkshoponhardwareandarchitecturalsupportforsecurityandprivacy(關(guān)于安全和隱私的硬件和架構(gòu)支持的第二屆研討會(huì))上呈現(xiàn)的其他論文。因此,本文中未完全地提出關(guān)于對(duì)安全飛地的操作的細(xì)節(jié)。這些申請(qǐng)和論文在本文中統(tǒng)稱為“安全飛地材料”。

如在安全飛地材料中所描述的,在其包含進(jìn)程的虛擬地址空間之外開(kāi)拓了安全飛地。就虛擬地址而言執(zhí)行對(duì)飛地的存儲(chǔ)器管理。在實(shí)施例中,飛地存儲(chǔ)器管理被劃分成兩部分:地址空間分配和存儲(chǔ)器承諾。地址空間分配是對(duì)飛地可以使用的最大地址范圍的規(guī)定。沒(méi)有對(duì)此區(qū)域承諾任何實(shí)際資源。存儲(chǔ)器承諾是對(duì)所分配的地址空間內(nèi)的實(shí)際存儲(chǔ)器資源(作為頁(yè)面)的分派。這種兩階段技術(shù)允許飛地靈活地控制其存儲(chǔ)器使用情況,并且在飛地需要很低時(shí)允許在不過(guò)度使用存儲(chǔ)器資源的情況下增長(zhǎng)。承諾將虛擬頁(yè)面添加到飛地中。

這種差別在兩種指令ecreate和eadd中反映。ecreate分配供飛地使用的地址范圍。eadd將所述范圍內(nèi)的虛擬存儲(chǔ)器頁(yè)面承諾給飛地。操作系統(tǒng)可以支持分離的分配和承諾操作。例如,windowsapivirtualalloc采取標(biāo)志自變量mem_reserve(分配)或mem_commit(承諾)。不要求os支持這種分離,但其存在可以使飛地內(nèi)的存儲(chǔ)器管理更加靈活和高效。

在一個(gè)實(shí)施例中,使用ecreate指令來(lái)創(chuàng)建安全飛地,限定了在其中建立飛地的虛擬地址空間范圍的基和大小。存儲(chǔ)器在密封之前被添加到安全飛地中。例如通過(guò)使用windowsapi最佳地展示了飛地創(chuàng)建和承諾進(jìn)程,并且所述進(jìn)程進(jìn)行如下:(1)在所述進(jìn)程中使用virtualalloc來(lái)保留地址空間區(qū)域,從而進(jìn)入mem_reserve標(biāo)志(所述標(biāo)志在不實(shí)際承諾任何物理存儲(chǔ)器或頁(yè)面文件存儲(chǔ)的情況下保留存儲(chǔ)器區(qū)域);(2)通過(guò)再次調(diào)用virtualalloc來(lái)承諾飛地的第一頁(yè),這次使用mem_commit標(biāo)志;(3)使用ecreate指令來(lái)建立初始環(huán)境,從而限定與上述地址范圍相同的地址范圍(即,ecreate分配應(yīng)用內(nèi)的虛擬存儲(chǔ)器的區(qū)域用于托管安全代碼和數(shù)據(jù));以及(4)對(duì)于待添加到飛地中的每個(gè)附加頁(yè)面:對(duì)飛地頁(yè)面進(jìn)行virtualalloc,使用eadd來(lái)將新頁(yè)面添加到飛地中,使用eextend來(lái)添加對(duì)128字節(jié)頁(yè)面的測(cè)量(eextend更新飛地的測(cè)量以便包括eadd中添加的代碼或數(shù)據(jù)),并調(diào)用這條指令,直到整個(gè)飛地被測(cè)量為止(例如,測(cè)量可以包括飛地中的代碼和數(shù)據(jù)在其被初始化時(shí)的密碼散列)。如果要一次添加連續(xù)的飛地頁(yè)面集,則可以對(duì)以上步驟進(jìn)行重排序和優(yōu)化以便使系統(tǒng)調(diào)用的次數(shù)最小化。在不支持分離保留和承諾操作的操作系統(tǒng)上,可以例如用簡(jiǎn)單的malloc代替以上virtualalloc,并且消除對(duì)virtualalloc的剩余調(diào)用。

因?yàn)閑create和eadd指令使所添加的頁(yè)面的加密和完整性成為可能,所以非飛地軟件不可能在存儲(chǔ)器已經(jīng)被添加到飛地中之后對(duì)此存儲(chǔ)器進(jìn)行初始化。運(yùn)行時(shí)系統(tǒng)必須在對(duì)其所負(fù)責(zé)的任何存儲(chǔ)器進(jìn)行eadd之前完全將其初始化。這通常要求運(yùn)行時(shí)系統(tǒng)在適當(dāng)?shù)牡胤浇w地圖像,甚至在調(diào)用ecreate之前(即,因?yàn)樵趀create之后軟件不能對(duì)secs進(jìn)行修改)。一旦已經(jīng)對(duì)存儲(chǔ)器進(jìn)行初始化,已經(jīng)對(duì)飛地進(jìn)行ecreate并且已經(jīng)對(duì)其存儲(chǔ)器進(jìn)行eadd,就可以如本文中所描述的那樣對(duì)其進(jìn)行密封和測(cè)量。

在一個(gè)實(shí)施例中,在飛地之內(nèi)存在兩種數(shù)據(jù)結(jié)構(gòu),安全飛地控制存儲(chǔ)(secs)和線程控制結(jié)構(gòu)(tcs)。secs和tcs包含架構(gòu)信息以及由運(yùn)行時(shí)軟件所使用的非架構(gòu)方便性字段。一旦secs、一個(gè)或多個(gè)tcs以及代碼和數(shù)據(jù)已經(jīng)被eadd,就由einit指令完成飛地創(chuàng)建。這條指令阻止進(jìn)一步測(cè)量信息被寫(xiě)入測(cè)量寄存器(mr)(在共同未決申請(qǐng)中有時(shí)被稱為“ir0”)中。換言之,einit將飛地的內(nèi)容鎖定,并確保只有飛地內(nèi)的代碼可以訪問(wèn)同一飛地中的數(shù)據(jù)區(qū)域。在einit之后,不可以將任何進(jìn)一步頁(yè)面添加到飛地中。

不可信代碼使用eenter指令來(lái)調(diào)用飛地,并且飛地經(jīng)由eexit返回到不可信調(diào)用者。在飛地表項(xiàng)上,控制被傳遞至將堆棧指針切換至飛地之內(nèi)的指針的代碼。當(dāng)返回時(shí),軟件再次交換堆棧指針,然后執(zhí)行eexit指令。

因此,一旦已經(jīng)創(chuàng)建了飛地并使用einit來(lái)對(duì)其進(jìn)行了初始化,就阻止來(lái)自未授權(quán)軟件(甚至如虛擬機(jī)器監(jiān)視器等軟件、bios、或以比飛地本身更高特權(quán)級(jí)別運(yùn)行的操作系統(tǒng)功能)對(duì)飛地的存儲(chǔ)器的試圖訪問(wèn)。從物理觀點(diǎn)看,雖然飛地?cái)?shù)據(jù)駐留在寄存器、緩存、或處理器包之內(nèi)的其他邏輯塊中,但是cpu邏輯阻止經(jīng)由軟件進(jìn)行未授權(quán)訪問(wèn)。不管飛地?cái)?shù)據(jù)何時(shí)離開(kāi)待寫(xiě)入平臺(tái)存儲(chǔ)器中的封裝上緩存,數(shù)據(jù)被自動(dòng)地加密并且其完整性得到保護(hù)。這阻止惡意個(gè)人使用存儲(chǔ)器探頭或其他技術(shù)來(lái)瀏覽、修改、或重放包含在飛地內(nèi)的數(shù)據(jù)或代碼。

緊接前面的描述討論了用于將安全飛地實(shí)例化的各種機(jī)構(gòu)。通過(guò)禁用在接下來(lái)的引導(dǎo)期間建立安全飛地所需要的存儲(chǔ)器配置,禁用安全飛地可以以類似的方式發(fā)生。

將基于硬件的解決方案用于提供txe在例如以太·阿納蒂(ittaianati)等人的“innovativetechnologyforcpubasedattestationandsealing(用于基于cpu的證明和密封的創(chuàng)新技術(shù))”(可在https://software_intel_com/en-us/articles/innovative-technology-for-cpu-based-attestation-and-sealing處獲得)中得以提出并且以下進(jìn)一步得以提出。

如在本文中所提供的,txe(也被稱為“飛地”)可以彼此協(xié)作以便執(zhí)行某項(xiàng)更高級(jí)功能。為了做到這一點(diǎn),它們需要彼此認(rèn)證。為此目的,對(duì)如sgx架構(gòu)等txe加以討論以便解釋所述概念。sgx架構(gòu)提供了ereport指令。

當(dāng)被飛地調(diào)用時(shí),ereport創(chuàng)建被稱為report的簽名結(jié)構(gòu)(其可以基于持久性基于硬件的密鑰)。report結(jié)構(gòu)包含飛地的這兩個(gè)身份、與飛地相關(guān)聯(lián)的屬性(在ecreate期間建立的屬性身份模式和其他性質(zhì))、硬件tcb的可信度、以及飛地開(kāi)發(fā)者希望傳遞給目標(biāo)飛地的附加信息、以及消息認(rèn)證碼(mac)標(biāo)簽。

目標(biāo)飛地是將驗(yàn)證report上的mac的飛地,從而允許其確定創(chuàng)建report的飛地已經(jīng)在相同平臺(tái)上運(yùn)行。使用被稱為“報(bào)告密鑰(reportkey)”的密鑰來(lái)產(chǎn)生mac。報(bào)告密鑰僅對(duì)目標(biāo)飛地和ereport指令是已知的。驗(yàn)證(目標(biāo))飛地可以使用egetkey指令來(lái)檢索其自己的報(bào)告密鑰。egetkey為飛地提供密鑰,所述密鑰當(dāng)中的報(bào)告密鑰可用于進(jìn)行對(duì)稱加密和認(rèn)證。目標(biāo)飛地使用報(bào)告密鑰來(lái)重新計(jì)算report數(shù)據(jù)結(jié)構(gòu)上的mac并且驗(yàn)證report由證明(報(bào)告)飛地產(chǎn)生。

每個(gè)report結(jié)構(gòu)還包括用于用戶數(shù)據(jù)的256位字段。此字段將處于飛地之內(nèi)的數(shù)據(jù)綁定至飛地的身份(如由report表示的)。此字段可以用于使用輔助數(shù)據(jù)通過(guò)使用輔助數(shù)據(jù)的散列摘要來(lái)填充所述字段從而延長(zhǎng)report,然后在report旁邊提供所述散列摘要。對(duì)用戶數(shù)據(jù)字段的使用使得飛地能夠建立更高層協(xié)議以便在其本身與另一個(gè)實(shí)體之間形成安全通道。例如,通過(guò)交換對(duì)公開(kāi)迪菲-赫爾曼密鑰進(jìn)行認(rèn)證的reports(所述密鑰是在飛地內(nèi)使用相互同意的參數(shù)來(lái)隨機(jī)生成的),飛地可以生成經(jīng)認(rèn)證的共享秘密并將其用于進(jìn)一步保護(hù)它們自身之間的通信。架構(gòu)支持通過(guò)可供飛地軟件使用的rdrand指令來(lái)生成真實(shí)的隨機(jī)值。

認(rèn)證進(jìn)程如下。首先,在已經(jīng)建立飛地a(例如,txe201)與飛地b(例如,txe205)之間的通信路徑之后,飛地a獲得飛地b的mrenclave值。注意,在此步驟中的通信路徑不必是安全的。其次,飛地a調(diào)用ereport指令連同飛地b的mrenclave來(lái)創(chuàng)建去往飛地b的簽名report。飛地a經(jīng)由不可信通信路徑將其report傳輸給飛地b。再次,在從飛地a接收report之后,飛地b調(diào)用egetkey來(lái)檢索其報(bào)告密鑰,重新計(jì)算report結(jié)構(gòu)上的mac,并將結(jié)果與伴隨report的mac進(jìn)行比較。mac值的匹配證實(shí)a確實(shí)是正在與飛地b相同的平臺(tái)上運(yùn)行的飛地,并且如此,a正在服從sgx的安全模型的環(huán)境中運(yùn)行。一旦已經(jīng)驗(yàn)證了tcb的固件部件和硬件部件,飛地b然后就可以檢查飛地a的report以便驗(yàn)證tcb的軟件部件:mrenclave反映在飛地之內(nèi)運(yùn)行的軟件圖像的內(nèi)容,并且mrsigner反映密封者的身份。然后,飛地b可以通過(guò)為飛地a創(chuàng)建(通過(guò)使用來(lái)自其剛剛接收的report中的mrenclave值)report來(lái)進(jìn)行回應(yīng)。飛地b將其report傳輸給飛地a。然后,飛地a可以以與飛地b類似的方式來(lái)驗(yàn)證報(bào)告,從而確認(rèn)飛地b存在于與飛地a相同的平臺(tái)上。

本文中所描述的實(shí)施例(比如,設(shè)備100)可以利用如以下所討論的圖6的系統(tǒng)等系統(tǒng)。事實(shí)上,各種實(shí)施例可以用于多個(gè)不同類型的系統(tǒng)中。例如,在一個(gè)實(shí)施例中,通信設(shè)備可以被安排成用于執(zhí)行本文中所描述的各種方法和技術(shù)。當(dāng)然,本發(fā)明的范圍不限于通信設(shè)備,并且相反,其他實(shí)施例可以針對(duì)用于處理指令的其他類型的裝置。

程序指令可以用于使利用指令來(lái)編程的通用或?qū)S锰幚硐到y(tǒng)執(zhí)行本文中所描述的操作。可替代地,操作可以由含有用于執(zhí)行所述操作的硬接線邏輯的特定硬件部件執(zhí)行,或者由編程計(jì)算機(jī)部件和自定義硬件部件的任意組合執(zhí)行。本文中所描述的方法可以被提供為(a)計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品可以包括一個(gè)或多個(gè)機(jī)器可讀介質(zhì),所述一個(gè)或多個(gè)機(jī)器可讀介質(zhì)具有存儲(chǔ)于其上的指令,所述指令可以用于對(duì)處理系統(tǒng)或其他電子設(shè)備進(jìn)行編程以便執(zhí)行所述方法,或者(b)至少一種存儲(chǔ)介質(zhì)來(lái),所述至少一種存儲(chǔ)介質(zhì)具有存儲(chǔ)于其上的用于使系統(tǒng)執(zhí)行所述方法的指令。本文中所使用的術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”或“存儲(chǔ)介質(zhì)”應(yīng)當(dāng)包括能夠存儲(chǔ)或編碼指令序列的任何介質(zhì)(瞬態(tài)介質(zhì),包括信號(hào);或非瞬態(tài)介質(zhì)),所述指令序列供由機(jī)器執(zhí)行并且使機(jī)器執(zhí)行本文中所描述的方法中的任何一種方法。術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”或“存儲(chǔ)介質(zhì)”將相應(yīng)地包括但不限于存儲(chǔ)器,比如,固態(tài)存儲(chǔ)器、光盤(pán)和磁盤(pán)、只讀存儲(chǔ)器(rom)、可編程rom(prom)、可擦出prom(eprom)、電eprom(eeprom)、磁盤(pán)驅(qū)動(dòng)器、軟盤(pán)、致密盤(pán)rom(cd-rom)、數(shù)字多功能盤(pán)(dvd)、閃存存儲(chǔ)器、磁光盤(pán)、以及如機(jī)器可訪問(wèn)的生物狀態(tài)保留或信號(hào)保留存儲(chǔ)設(shè)備等更多外來(lái)介質(zhì)。介質(zhì)可以包括用于以機(jī)器可讀的形式存儲(chǔ)、傳輸、或接收信息的任何機(jī)制,并且所述介質(zhì)可以包括程序代碼可穿過(guò)的介質(zhì),比如,天線、光纖、通信接口等。程序代碼可以以數(shù)據(jù)包、序列號(hào)、并行數(shù)據(jù)等的形式傳輸,并且可以以壓縮或加密的格式被使用。此外,在本領(lǐng)域中常常將呈一種或另一種形式的軟件(例如,程序、規(guī)程、進(jìn)程、應(yīng)用、模塊、邏輯等)說(shuō)成采取動(dòng)作或造成結(jié)果。這種表述僅是陳述由處理系統(tǒng)對(duì)軟件的執(zhí)行使處理器執(zhí)行動(dòng)作或產(chǎn)生結(jié)果的簡(jiǎn)寫(xiě)方式。

現(xiàn)在參考圖6,示出了根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)實(shí)施例1000的框圖。系統(tǒng)1000可以包括在例如移動(dòng)計(jì)算節(jié)點(diǎn)中,比如,蜂窩電話、智能電話、平板計(jì)算機(jī)、筆記本計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理以及基于移動(dòng)處理器的平臺(tái)。

示出了多處理器系統(tǒng)1000,所述多處理器系統(tǒng)包括第一處理元件1070和第二處理元件1080。雖然示出了兩個(gè)處理元件1070和1080,但是應(yīng)當(dāng)理解的是,系統(tǒng)1000的實(shí)施例還可以包括僅一個(gè)這種處理元件。系統(tǒng)1000被展示為點(diǎn)對(duì)點(diǎn)互連系統(tǒng),其中,第一處理元件1070和第二處理元件1080經(jīng)由點(diǎn)對(duì)點(diǎn)互連1050耦合。應(yīng)當(dāng)理解的是,所展示的任何或所有互連可以被實(shí)施為多分支總線而不是點(diǎn)對(duì)點(diǎn)互連。如所示出的,處理元件1070和1080中的每一個(gè)處理元件可以是多核處理器,包括第一處理器核和第二處理器核(即,處理器核1074a和1074b以及處理器核1084a和1084b)。這種核1074、1074b、1084a、1084b可以被配置成用于以與本文中所討論的方法類似的方式執(zhí)行指令代碼。

每個(gè)處理元件1070、1080可以包括至少一個(gè)共享緩存。共享緩存可以存儲(chǔ)分別由處理器的一個(gè)或多個(gè)部件(比如核1074a、1074b以及1084a、1084b)利用的數(shù)據(jù)(例如,指令)。例如,共享緩存可以本地緩存存儲(chǔ)在存儲(chǔ)器1032、1034中的數(shù)據(jù),以便由處理器的部件更快地訪問(wèn)。在一個(gè)或多個(gè)實(shí)施例中,共享緩存可以包括一個(gè)或多個(gè)中間級(jí)緩存(比如級(jí)2(l2)、級(jí)3(l3)、級(jí)4(l4)、或其他級(jí)緩存)、最后一級(jí)緩存(llc)和/或其組合

雖然僅以兩個(gè)處理元件1070、1080來(lái)示出,但是應(yīng)當(dāng)理解的是,本發(fā)明的范圍不限于此。在其他實(shí)施例中,給定處理器中可以存在一個(gè)或多個(gè)附加處理元件??商娲?,處理元件1070、1080中的一個(gè)或多個(gè)處理元件可以是處理器之外的元件,比如加速度計(jì)或現(xiàn)場(chǎng)可編程門(mén)陣列。例如,(多個(gè))附加處理元件可以包括與第一處理器1070相同的(多個(gè))附加處理器、與第一處理器1070異構(gòu)或不對(duì)稱的(多個(gè))附加處理器、加速器(如例如,圖形加速器或數(shù)字信號(hào)處理(dsp)單元)、現(xiàn)場(chǎng)可編程門(mén)陣列或任何其他處理元件。就一系列品質(zhì)度量(包括架構(gòu)、微架構(gòu)、熱、功耗特性等)而言,處理元件1070、1080之間可以存在多種差異。這些差異可以有效地將其本身表現(xiàn)為處理元件1070、1080之間的不對(duì)稱性和異構(gòu)性。對(duì)于至少一個(gè)實(shí)施例,各種處理元件1070、1080可以駐留于相同裸片封裝體中。

第一處理元件1070可以進(jìn)一步包括存儲(chǔ)器控制器邏輯(mc)1072以及點(diǎn)對(duì)點(diǎn)(p-p)接口1076和1078。類似地,第二處理元件1080可以包括mc1082以及p-p接口1086和1088。mc1072和1082將處理器耦合至對(duì)應(yīng)存儲(chǔ)器(即存儲(chǔ)器1032和存儲(chǔ)器1034),所述存儲(chǔ)器可以是主存儲(chǔ)器的本地附接至對(duì)應(yīng)處理器的部分。雖然mc邏輯1072和1082被展示為集成到處理元件1070、1080中,但是對(duì)于替代性實(shí)施例,mc邏輯可以是處于處理元件1070、1080之外而不是集成在其中的離散邏輯。

第一處理元件1070和第二處理元件1080可以分別經(jīng)由p-p互連1062、10104經(jīng)由p-p接口1076、1086而耦合至i/o子系統(tǒng)1090。如所示出的,i/o子系統(tǒng)1090包括p-p接口1094和1098。此外,i/o子系統(tǒng)1090包括接口1092以便將i/o子系統(tǒng)1090耦合至高性能圖形引擎1038。在一個(gè)實(shí)施例中,總線可以用于將圖形引擎1038耦合至i/o子系統(tǒng)1090??商娲?,點(diǎn)對(duì)點(diǎn)互連1039可以耦合這些部件。

進(jìn)而,i/o子系統(tǒng)1090可以經(jīng)由接口1096耦合至第一總線10110。在一個(gè)實(shí)施例中,第一總線10110可以是外圍組件互連(pci)總線,或如高速pci總線或另一種第三代i/o互連總線等總線,盡管本發(fā)明的范圍不限于此。

如所示出的,各種i/o設(shè)備1014、1024可以連同總線橋1018耦合至第一總線10110,所述總線橋可以將第一總線10110耦合至第二總線1020。在一個(gè)實(shí)施例中,第二總線1020可以是低引腳數(shù)(lpc)總線。在一個(gè)實(shí)施例中,各種設(shè)備可以耦合至第二總線1020,包括例如鍵盤(pán)/鼠標(biāo)1022、(多個(gè))通信設(shè)備1026(所述通信設(shè)備進(jìn)而可以與計(jì)算機(jī)網(wǎng)絡(luò)通信)、以及數(shù)據(jù)存儲(chǔ)單元1028(比如磁盤(pán)驅(qū)動(dòng)器或其他大容量存儲(chǔ)設(shè)備),所述數(shù)據(jù)存儲(chǔ)單元可以包括代碼1030。代碼1030可以包括用于執(zhí)行以上所描述的方法中的一種或多種方法的實(shí)施例的指令。進(jìn)一步地,音頻i/o1024可以耦合至第二總線1020。

注意,設(shè)想了其他實(shí)施例。例如,替代所示出的點(diǎn)對(duì)點(diǎn)架構(gòu),系統(tǒng)可以實(shí)施多分支總線或另一種這種通信拓?fù)浣Y(jié)構(gòu)。而且,圖6的元件可以可替代地使用比圖6中所示出更多或更少的集成芯片來(lái)進(jìn)行分區(qū)。

示例1a包括一種裝置,所述裝置包括至少一個(gè)存儲(chǔ)器和耦合至所述至少一個(gè)存儲(chǔ)器以便執(zhí)行操作的至少一個(gè)處理器,所述操作包括:在所述至少一個(gè)存儲(chǔ)器的受保護(hù)非特權(quán)用戶地址空間中創(chuàng)建第一可信執(zhí)行環(huán)境(txe),所述第一txe對(duì)第一數(shù)據(jù)和第一可執(zhí)行代碼中的至少一者進(jìn)行第一測(cè)量并且當(dāng)所述第一測(cè)量處于所述第一txe內(nèi)時(shí)使用持久性第一基于硬件的密鑰來(lái)對(duì)所述第一測(cè)量進(jìn)行加密;在所述非特權(quán)用戶地址空間中創(chuàng)建第二txe,所述第二txe對(duì)第二數(shù)據(jù)和第二可執(zhí)行代碼中的至少一者進(jìn)行第二測(cè)量;在所述非特權(quán)用戶地址空間中創(chuàng)建第三txe;在所述第一txe與所述第三txe之間創(chuàng)建第一安全通信通道并且在所述第二txe與所述第三txe之間創(chuàng)建第二安全通信通道;以及在所述第一txe與所述第三txe之間經(jīng)由所述第一安全通信通道傳達(dá)所述第一測(cè)量。

“第一txe”可以不必是在設(shè)備上創(chuàng)建的這種第一txe。對(duì)用戶飛地(例如,可信代理101)可以要求其他架構(gòu)類型飛地在形成用戶飛地時(shí)已經(jīng)存在。

在示例2a中,如示例1a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:經(jīng)由包括指令的庫(kù)將所述第一txe鏈接至所述第一可執(zhí)行代碼和所述第一數(shù)據(jù)中的所述至少一者,所述指令響應(yīng)于被執(zhí)行而使所述至少一個(gè)處理器創(chuàng)建所述第一txe。

在示例3a中,如示例1a至2a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:在所述第一txe與所述第三txe之間建立保活服務(wù)。

在示例4a中,如示例1a至3a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:所述第一txe在所述非特權(quán)用戶地址空間中對(duì)附加數(shù)據(jù)和附加可執(zhí)行代碼中的至少一者進(jìn)行附加測(cè)量。

在示例5a中,如示例1a至4a所述的主題可以可選地包括:其中,所述第一可執(zhí)行代碼和所述附加可執(zhí)行代碼兩者都與第一軟件應(yīng)用的至少一部分相對(duì)應(yīng)。

在示例6a中,如示例1a至5a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:所述第一軟件應(yīng)用對(duì)所述第一txe進(jìn)行初始化。

在示例7a中,如示例1a至6a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:所述第一軟件應(yīng)用在對(duì)所述第一txe進(jìn)行初始化之后周期性地啟動(dòng)所述第一txe。

在示例8a中,如示例1a至7a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:對(duì)所述第一數(shù)據(jù)和所述第一可執(zhí)行代碼中的至少一者進(jìn)行測(cè)量,并且在所述第一txe與所述第三txe之間經(jīng)由所述第一安全通信通道傳達(dá)所述測(cè)量,當(dāng)所述測(cè)量仍處于所述第一txe內(nèi)時(shí),基于所述第一基于硬件的密鑰對(duì)所述測(cè)量進(jìn)行加密。

在示例9a中,如示例1a至8a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:將所述第一測(cè)量存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中,其中,所述第一txe包括虛擬存儲(chǔ)器區(qū)域,所述虛擬存儲(chǔ)器區(qū)域限定了所述第一txe并且阻止在所述第一txe之外執(zhí)行的軟件對(duì)所述第一txe之內(nèi)的軟件和數(shù)據(jù)進(jìn)行訪問(wèn)。

在一個(gè)實(shí)施例中,對(duì)虛擬存儲(chǔ)器(即,相同用戶進(jìn)程內(nèi)的飛地地址)和物理存儲(chǔ)器(即,系統(tǒng)ram中的飛地頁(yè)面)進(jìn)行保護(hù)。

在示例10a中,如示例1a至9a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:當(dāng)所述第一測(cè)量被存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中時(shí),所述第三txe訪問(wèn)所述第一測(cè)量。

在示例11a中,如示例1a至10a所述的主題可以可選地包括:其中,所述至少一個(gè)存儲(chǔ)器在所述第一txe與所述第三txe之間共享。

在示例12a中,如示例1a至11a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:將所述第二測(cè)量存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中。

在示例13a中,如示例1a至12a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:將所述第一測(cè)量與另一個(gè)測(cè)量值進(jìn)行比較。

在示例14a中,如示例1a至13a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:向遠(yuǎn)程計(jì)算節(jié)點(diǎn)認(rèn)證所述第三txe。

可以在實(shí)施例中而不是在其他實(shí)施例中的txe內(nèi)形成如節(jié)點(diǎn)120等第三遠(yuǎn)程計(jì)算節(jié)點(diǎn)。

在示例15a中,如示例1a至14a所述的主題可以可選地包括:其中,在所述第一txe進(jìn)行所述第一測(cè)量之后,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:從所述遠(yuǎn)程計(jì)算節(jié)點(diǎn)接收目標(biāo)代碼標(biāo)識(shí)符并且然后對(duì)與所述目標(biāo)代碼標(biāo)識(shí)符相對(duì)應(yīng)的目標(biāo)代碼進(jìn)行附加測(cè)量。

在示例16a中,如示例1a至15a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:在所述遠(yuǎn)程計(jì)算節(jié)點(diǎn)與所述第三txe之間建立?;罘?wù)。

在示例17a中,如示例1a至16a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:所述第二txe基于所述持久性第一基于硬件的密鑰來(lái)對(duì)所述第二測(cè)量進(jìn)行加密,并且在所述第二txe與所述第三txe之間經(jīng)由所述第二安全通信通道傳達(dá)所述第二測(cè)量。

在實(shí)施例中,第一txe和第二txe各自“基于”第一基于硬件的密鑰來(lái)對(duì)材料進(jìn)行加密,但是可能事實(shí)上依賴于涉及飛地特定的數(shù)據(jù)的密鑰推導(dǎo)。因此,在實(shí)施例中,用于對(duì)第一測(cè)量和第二測(cè)量進(jìn)行加密的實(shí)際密鑰在基于相同密鑰(例如,源自或者構(gòu)建自相同密鑰)的同時(shí)可以是不同的。

在示例18a中,如示例1a至17a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:在所述第一txe與所述第三txe之間經(jīng)由所述第一安全通信通道傳達(dá)所述第一測(cè)量之前,向所述第三txe認(rèn)證所述第一txe。

在示例19a中,如示例1a至18a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:所述第一txe響應(yīng)于來(lái)自所述第三txe的使所述第一txe進(jìn)行所述第一測(cè)量的調(diào)用而進(jìn)行所述第一測(cè)量。

在示例20a中,如示例1a至19a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:基于所述持久性第一基于硬件的密鑰和持久性第二基于硬件的密鑰中的至少一者來(lái)向遠(yuǎn)程計(jì)算節(jié)點(diǎn)認(rèn)證所述第三txe。

在示例21a中,如示例1a至20a所述的主題可以可選地包括:其中,所述至少一個(gè)存儲(chǔ)器的所述受保護(hù)非特權(quán)用戶地址空間與環(huán)3特權(quán)級(jí)別相對(duì)應(yīng)而不與環(huán)0特權(quán)級(jí)別相對(duì)應(yīng),并且進(jìn)一步地,其中,當(dāng)所述第一測(cè)量處于所述第一txe內(nèi)時(shí),所述第一測(cè)量對(duì)不在所述第一txe內(nèi)執(zhí)行的指令不可訪問(wèn)。

示例22a包括一種裝置,所述裝置包括:耦合至至少一個(gè)存儲(chǔ)器以便執(zhí)行操作的至少一個(gè)處理器,所述操作包括:在所述至少一個(gè)存儲(chǔ)器的非特權(quán)用戶地址空間中創(chuàng)建第一可信執(zhí)行環(huán)境(txe)和第二txe;所述第一txe對(duì)可執(zhí)行代碼進(jìn)行測(cè)量,并且當(dāng)所述測(cè)量處于所述第一txe內(nèi)時(shí),對(duì)所述測(cè)量進(jìn)行加密;以及所述第一txe在所述第一txe與所述第二txe之間經(jīng)由安全通信通道傳達(dá)所述測(cè)量;其中,所述第一txe包括虛擬存儲(chǔ)器區(qū)域,所述虛擬存儲(chǔ)器區(qū)域限定了所述第一txe并且阻止在所述第一txe之外執(zhí)行的軟件對(duì)所述第一txe之內(nèi)的軟件和數(shù)據(jù)進(jìn)行訪問(wèn)。

在示例23a中,如示例22a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:在其上進(jìn)行所述測(cè)量的軟件應(yīng)用對(duì)所述第一txe進(jìn)行初始化,并且在對(duì)所述第一txe進(jìn)行初始化之后,周期性地啟動(dòng)所述第一txe。

在示例24a中,如示例22a至23a所述的主題可以可選地包括:其中,所述至少一個(gè)處理器用于執(zhí)行操作,所述操作包括:基于所述基于硬件的密鑰和另一個(gè)基于硬件的密鑰中的至少一者來(lái)向遠(yuǎn)程計(jì)算節(jié)點(diǎn)認(rèn)證所述第二txe。

示例25a包括至少一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)具有存儲(chǔ)于其上的指令,所述指令用于使系統(tǒng):在至少一個(gè)存儲(chǔ)器的非特權(quán)用戶地址空間中創(chuàng)建第一可信執(zhí)行環(huán)境(txe)和第二txe;對(duì)可執(zhí)行代碼進(jìn)行測(cè)量,并且當(dāng)所述測(cè)量處于所述第一txe內(nèi)時(shí),使用基于硬件的密鑰來(lái)對(duì)所述測(cè)量進(jìn)行加密;以及在所述第一txe與所述第二txe之間經(jīng)由安全通信通道傳達(dá)所述測(cè)量。

在示例26a中,如示例25a所述的主題可以可選地包括指令,從而使得在其上進(jìn)行所述測(cè)量的軟件應(yīng)用對(duì)所述第一txe進(jìn)行初始化,并且在對(duì)所述第一txe進(jìn)行初始化之后,周期性地啟動(dòng)所述第一txe。

示例1b包括一種由至少一個(gè)處理器執(zhí)行的方法,所述方法包括:在至少一個(gè)存儲(chǔ)器的受保護(hù)非特權(quán)用戶地址空間中創(chuàng)建第一可信執(zhí)行環(huán)境(txe),所述第一txe對(duì)第一數(shù)據(jù)和第一可執(zhí)行代碼中的至少一者進(jìn)行第一測(cè)量并且當(dāng)所述第一測(cè)量處于所述第一txe內(nèi)時(shí)使用持久性第一基于硬件的密鑰來(lái)對(duì)所述第一測(cè)量進(jìn)行加密;在所述非特權(quán)用戶地址空間中創(chuàng)建第二txe,所述第二txe對(duì)第二數(shù)據(jù)和第二可執(zhí)行代碼中的至少一者進(jìn)行第二測(cè)量;在所述非特權(quán)用戶地址空間中創(chuàng)建第三txe;在所述第一txe與所述第三txe之間創(chuàng)建第一安全通信通道并且在所述第二txe與所述第三txe之間創(chuàng)建第二安全通信通道;以及在所述第一txe與所述第三txe之間經(jīng)由所述第一安全通信通道傳達(dá)所述第一測(cè)量。

在示例2b,如示例1a所述的主題可以可選地包括:經(jīng)由包括指令的庫(kù)將所述第一txe鏈接至所述第一可執(zhí)行代碼和所述第一數(shù)據(jù)中的所述至少一者,所述指令響應(yīng)于被執(zhí)行而使所述至少一個(gè)處理器創(chuàng)建所述第一txe。

在示例3b中,如示例1a至2a所述的主題可以可選地包括:在所述第一txe與所述第三txe之間建立保活服務(wù)。

在示例4b中,如示例1a至3a所述的主題可以可選地包括:所述第一txe在所述非特權(quán)用戶地址空間中對(duì)附加數(shù)據(jù)和附加可執(zhí)行代碼中的至少一者進(jìn)行附加測(cè)量。

在示例5b中,如示例1a至4a所述的主題可以可選地包括:其中,所述第一可執(zhí)行代碼和所述附加可執(zhí)行代碼兩者都與第一軟件應(yīng)用的至少一部分相對(duì)應(yīng)。

在示例6b中,如示例1a至5a所述的主題可以可選地包括:所述第一軟件應(yīng)用對(duì)所述第一txe進(jìn)行初始化。

在示例7b中,如示例1a至6a所述的主題可以可選地包括:所述第一軟件應(yīng)用在對(duì)所述第一txe進(jìn)行初始化之后周期性地啟動(dòng)所述第一txe。

在示例8b中,如示例1a至7a所述的主題可以可選地包括:對(duì)所述第一數(shù)據(jù)和所述第一可執(zhí)行代碼中的至少一者進(jìn)行測(cè)量,并且在所述第一txe與所述第三txe之間經(jīng)由所述第一安全通信通道傳達(dá)所述測(cè)量,當(dāng)所述測(cè)量仍處于所述第一txe內(nèi)時(shí),基于所述第一基于硬件的密鑰對(duì)所述測(cè)量進(jìn)行加密。

在示例9b中,如示例1a至8a所述的主題可以可選地包括:將所述第一測(cè)量存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中,其中,所述第一txe包括虛擬存儲(chǔ)器區(qū)域,所述虛擬存儲(chǔ)器區(qū)域限定了所述第一txe并且阻止在所述第一txe之外執(zhí)行的軟件對(duì)所述第一txe之內(nèi)的軟件和數(shù)據(jù)進(jìn)行訪問(wèn)。

在示例10b中,如示例1a至9a所述的主題可以可選地包括:當(dāng)所述第一測(cè)量被存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中時(shí),所述第三txe訪問(wèn)所述第一測(cè)量。

在示例11b中,如示例1a至10a所述的主題可以可選地包括:其中,所述至少一個(gè)存儲(chǔ)器在所述第一txe與所述第三txe之間共享。

在示例12b中,如示例1a至11a所述的主題可以可選地包括:將所述第二測(cè)量存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器中。

在示例13b中,如示例1a至12a所述的主題可以可選地包括:將所述第一測(cè)量與另一個(gè)測(cè)量值進(jìn)行比較。

在示例14b中,如示例1a至13a所述的主題可以可選地包括:向遠(yuǎn)程計(jì)算節(jié)點(diǎn)認(rèn)證所述第三txe。

在示例15b中,如示例1a至14a所述的主題可以可選地包括:從所述遠(yuǎn)程計(jì)算節(jié)點(diǎn)接收目標(biāo)代碼標(biāo)識(shí)符并且然后對(duì)與所述目標(biāo)代碼標(biāo)識(shí)符相對(duì)應(yīng)的目標(biāo)代碼進(jìn)行附加測(cè)量。

在示例16b中,如示例1a至15a所述的主題可以可選地包括:在所述遠(yuǎn)程計(jì)算節(jié)點(diǎn)與所述第三txe之間建立?;罘?wù)。

在示例17b中,如示例1a至16a所述的主題可以可選地包括:所述第二txe基于所述持久性第一基于硬件的密鑰來(lái)對(duì)所述第二測(cè)量進(jìn)行加密,并且在所述第二txe與所述第三txe之間經(jīng)由所述第二安全通信通道傳達(dá)所述第二測(cè)量。

在示例18b中,如示例1a至17a所述的主題可以可選地包括:在所述第一txe與所述第三txe之間經(jīng)由所述第一安全通信通道傳達(dá)所述第一測(cè)量之前,向所述第三txe認(rèn)證所述第一txe。

在示例19b中,如示例1a至18a所述的主題可以可選地包括:所述第一txe響應(yīng)于來(lái)自所述第三txe的使所述第一txe進(jìn)行所述第一測(cè)量的調(diào)用而進(jìn)行所述第一測(cè)量。

在示例20b中,如示例1a至19a所述的主題可以可選地包括:基于所述持久性第一基于硬件的密鑰和持久性第二基于硬件的密鑰中的至少一者來(lái)向遠(yuǎn)程計(jì)算節(jié)點(diǎn)認(rèn)證所述第三txe。

在示例21b中,如示例1a至20a所述的主題可以可選地包括:其中,所述至少一個(gè)存儲(chǔ)器的所述受保護(hù)非特權(quán)用戶地址空間與環(huán)3特權(quán)級(jí)別相對(duì)應(yīng)而不與環(huán)0特權(quán)級(jí)別相對(duì)應(yīng),并且進(jìn)一步地,其中,當(dāng)所述第一測(cè)量處于所述第一txe內(nèi)時(shí),所述第一測(cè)量對(duì)不在所述第一txe內(nèi)執(zhí)行的指令不可訪問(wèn)。

示例22b包括一種由至少一個(gè)處理器執(zhí)行的方法,所述方法包括:在所述至少一個(gè)存儲(chǔ)器的非特權(quán)用戶地址空間中創(chuàng)建第一可信執(zhí)行環(huán)境(txe)和第二txe;所述第一txe對(duì)可執(zhí)行代碼進(jìn)行測(cè)量,并且當(dāng)所述測(cè)量處于所述第一txe內(nèi)時(shí),對(duì)所述測(cè)量進(jìn)行加密;以及所述第一txe在所述第一txe與所述第二txe之間經(jīng)由安全通信通道傳達(dá)所述測(cè)量;其中,所述第一txe包括虛擬存儲(chǔ)器區(qū)域,所述虛擬存儲(chǔ)器區(qū)域限定了所述第一txe并且阻止在所述第一txe之外執(zhí)行的軟件對(duì)所述第一txe之內(nèi)的軟件和數(shù)據(jù)進(jìn)行訪問(wèn)。

在示例23b中,如示例22b所述的主題可以可選地包括:(a)在其上進(jìn)行所述測(cè)量的軟件應(yīng)用對(duì)所述第一txe進(jìn)行初始化,并且在對(duì)所述第一txe進(jìn)行初始化之后,周期性地啟動(dòng)所述第一txe;以及(b)基于所述基于硬件的密鑰和另一個(gè)基于硬件的密鑰中的至少一者來(lái)向遠(yuǎn)程計(jì)算節(jié)點(diǎn)認(rèn)證所述第二txe。

在示例24b中,如示例1b至23b所述的主題可以可選地包括:至少一種機(jī)器可讀介質(zhì),包括多條指令,所述多條指令響應(yīng)于在計(jì)算設(shè)備上被執(zhí)行而使所述計(jì)算設(shè)備執(zhí)行根據(jù)示例1b至23b中任一項(xiàng)所述的方法。

在示例25b中,如示例1b至23b所述的主題可以可選地包括:一種通信設(shè)備,所述通信設(shè)備被安排成用于執(zhí)行根據(jù)示例1b至23b中任一項(xiàng)所述的方法。

在示例25b中,如示例1b至23b所述的主題可以可選地包括:一種設(shè)備,所述設(shè)備包括用于執(zhí)行示例1b至23b中任一項(xiàng)的裝置。

雖然已經(jīng)關(guān)于有限數(shù)量的實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是本領(lǐng)域的技術(shù)人員將理解來(lái)自其中的許多修改和變體。旨在使得所附權(quán)利要求書(shū)覆蓋如落在本發(fā)明的真實(shí)精神和范圍內(nèi)的所有這種修改和變體。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
金坛市| 东平县| 亳州市| 子长县| 新丰县| 东乌珠穆沁旗| 呼玛县| 阳泉市| 宜川县| 青浦区| 东安县| 静乐县| 侯马市| 大兴区| 宣化县| 拜城县| 四会市| 金沙县| 武宁县| 合肥市| 陆川县| 东方市| 都兰县| 达日县| 崇信县| 台南县| 萨嘎县| 嘉峪关市| 隆尧县| 丁青县| 六安市| 克什克腾旗| 梁河县| 阿克陶县| 盱眙县| 马鞍山市| 浮山县| 万源市| 乌鲁木齐县| 泸州市| 阳泉市|