用于控制安全環(huán)境中的處理器執(zhí)行的設(shè)備分案申請(qǐng)的相關(guān)信息本申請(qǐng)是申請(qǐng)?zhí)枮镻CT/US2008/063089,申請(qǐng)日為2008年5月8日,優(yōu)先權(quán)日為2007年5月11日,發(fā)明名稱為“用于控制安全環(huán)境中的處理器執(zhí)行的設(shè)備”的PCT申請(qǐng)進(jìn)入國(guó)家階段后申請(qǐng)?zhí)枮?00880015564.5的中國(guó)發(fā)明專利申請(qǐng)的分案申請(qǐng)。技術(shù)領(lǐng)域本文所描述的本發(fā)明的各個(gè)實(shí)施例不同地涉及用于控制在安全環(huán)境中一個(gè)或一個(gè)以上處理器的執(zhí)行的設(shè)備、系統(tǒng)和過程。另外,這些各個(gè)實(shí)施例的實(shí)施可包括控制空中和非空中電視接收裝置(例如,由電纜、衛(wèi)星、電信、無線和/或其他音頻、視頻和/或數(shù)據(jù)服務(wù)提供者所提供的接收裝置)中的處理器執(zhí)行。相關(guān)申請(qǐng)案本申請(qǐng)案主張于2007年5月11日申請(qǐng)的題為“用于控制安全環(huán)境中的處理器執(zhí)行的設(shè)備、系統(tǒng)和方法”(APPARATUS,SYSTEMANDMETHODFORCONTROLLINGPROCESSOREXECUTIONINASECUREENVIRONMENT)的美國(guó)臨時(shí)申請(qǐng)案第60/917,582號(hào)的優(yōu)先權(quán),所述臨時(shí)申請(qǐng)案以引用方式全文并入本文。
背景技術(shù):技術(shù)實(shí)現(xiàn)要素:本文所描述的各個(gè)實(shí)施例涉及用于建立和加強(qiáng)安全計(jì)算環(huán)境以執(zhí)行軟件部分的設(shè)備、系統(tǒng)和方法。更確切地說,一個(gè)實(shí)施例提供一種安全處理器,其在提供對(duì)計(jì)算環(huán)境資源的受限存取的環(huán)境中執(zhí)行軟件部分。在另一實(shí)施例中,一種用于提供安全計(jì)算環(huán)境的系統(tǒng)包括但不限于安全處理器、上下文管理器和信任向量檢驗(yàn)器。安全處理器可經(jīng)配置以執(zhí)行具有相關(guān)聯(lián)上下文的軟件程序和/或例行程序中的一些或所有,所述相關(guān)聯(lián)上下文為(例如)軟件所限于的特定操作環(huán)境。軟件可包括(例如)方法、子程序、例行程序、整個(gè)應(yīng)用程序,或一個(gè)或一個(gè)以上軟件應(yīng)用程序的任何部分。在至少一個(gè)實(shí)施例中,軟件可限于一個(gè)或一個(gè)以上上下文。在又一實(shí)施例中,一種用于控制安全操作環(huán)境中的安全處理器的執(zhí)行的方法包括安 全處理器請(qǐng)求上下文交換。在一個(gè)實(shí)施例中,上下文交換為到針對(duì)不同軟件部分的新上下文的切換。在一個(gè)實(shí)施例中,上下文管理器接收上下文交換請(qǐng)求。在其他實(shí)施例中,上下文管理器將信任向量描述符載入到信任向量檢驗(yàn)器中。在至少一個(gè)實(shí)施例中,上下文管理器復(fù)位安全處理器。在其他實(shí)施例中,信任向量檢驗(yàn)器基于所載入的信任向量描述符控制安全處理器對(duì)一個(gè)或一個(gè)以上資源的存取。描述一種計(jì)算機(jī)可讀媒體,其具有用以控制安全處理器的執(zhí)行的經(jīng)編碼數(shù)據(jù)結(jié)構(gòu)。所述數(shù)據(jù)結(jié)構(gòu)可包括關(guān)于界定安全處理器的操作環(huán)境的一個(gè)或一個(gè)以上上下文的數(shù)據(jù)。另外,上下文可包括識(shí)別給定上下文的字段、安全處理器可存取的一個(gè)或一個(gè)以上存儲(chǔ)器區(qū)的指定,和安全處理器可存取的一個(gè)或一個(gè)以上硬件資源的指定。類似地,一種執(zhí)行所述數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)根據(jù)硬件信任向量確定安全處理器是否可存取硬件資源。提供此發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹概念的選擇,將在下文在具體實(shí)施方式中進(jìn)一步描述所述概念。此發(fā)明內(nèi)容既不希望識(shí)別所主張標(biāo)的物的關(guān)鍵特征或?qū)嵸|(zhì)特征,也不希望用以限制所主張標(biāo)的物的范圍。附圖說明在下文參看附圖描述一些實(shí)施例。在若干個(gè)圖中相似數(shù)字表示相似元件。圖1為用于本文所描述的本發(fā)明的至少一個(gè)實(shí)施例中的計(jì)算環(huán)境的框圖。圖2為用于至少一個(gè)實(shí)施例中的信任向量表的實(shí)施例的簡(jiǎn)化數(shù)據(jù)結(jié)構(gòu)圖。圖3A和圖3B為用于在計(jì)算環(huán)境中改變上下文且維持計(jì)算環(huán)境的方法的實(shí)施例的流程圖。圖4為用于至少一個(gè)實(shí)施例中的裝置的框圖。圖5為用于另一實(shí)施例中的裝置的框圖。圖6為用于本文所描述的本發(fā)明的至少一個(gè)實(shí)施例中和/或與本文所描述的本發(fā)明的至少一個(gè)實(shí)施例一起使用的用于驗(yàn)證用于軟件代碼或數(shù)據(jù)的存儲(chǔ)器區(qū)的方法的流程圖。具體實(shí)施方式本發(fā)明現(xiàn)將參看附圖更充分地描述一些實(shí)施例,在附圖中僅展示可能實(shí)施例中的一些。然而,其他方面可以許多不同形式來具體化且不應(yīng)被理解為限于本文所陳述的實(shí)施例。本說明書中所陳述的實(shí)施例涉及關(guān)于可信微處理器計(jì)算的方法和系統(tǒng)。此類計(jì)算可出現(xiàn)于(例如)預(yù)訂衛(wèi)星電視系統(tǒng)中。其他實(shí)施例也可包括(例如)但不限于電纜電視、廣播電視、有線或無線電信系統(tǒng)、音頻/視頻/數(shù)據(jù)分配系統(tǒng)、任何內(nèi)容遞送服務(wù)和/或任 何其他計(jì)算環(huán)境。在圖1所示的實(shí)施例中,計(jì)算環(huán)境100可包括由虛線102表示的安全計(jì)算或操作環(huán)境。安全計(jì)算或操作環(huán)境102可包括安全中央處理單元(“CPU”)或處理器104、上下文管理器106和信任向量檢驗(yàn)器108。另外,處理器104、上下文管理器106和信任向量檢驗(yàn)器108中的每一者可彼此直接或間接地通信。安全處理器104可為任何類型的通用處理器且在需要時(shí)可特定設(shè)計(jì)成安全的。在實(shí)施例中,上下文管理器106和信任向量檢驗(yàn)器108可為用于本發(fā)明的實(shí)施例中的特定設(shè)計(jì)的硬件裝置、軟件模塊或硬件和軟件的組合。在一個(gè)實(shí)施例中,安全處理器104操作以執(zhí)行至少三個(gè)基本活動(dòng):在軟件程序中執(zhí)行數(shù)學(xué)函數(shù)或邏輯運(yùn)算、將數(shù)據(jù)移向存儲(chǔ)器中的不同位置和從存儲(chǔ)器中的不同位置移動(dòng)數(shù)據(jù)以維持用于軟件程序中的數(shù)據(jù),和/或進(jìn)行決策和跳到軟件程序中的新指令。為完成這些任務(wù),安全處理器104可包括算術(shù)或邏輯單元(ALU)(未圖示)、寄存器124、存儲(chǔ)器122和內(nèi)部或外部存儲(chǔ)器或其他數(shù)據(jù)存儲(chǔ)裝置126。ALU執(zhí)行數(shù)學(xué)函數(shù)或邏輯運(yùn)算。寄存器124維持關(guān)于安全處理器104正執(zhí)行的操作的信息或數(shù)據(jù)。舉例來說,數(shù)據(jù)寄存器可保持用于由ALU完成的數(shù)學(xué)運(yùn)算中的數(shù)據(jù)值;存儲(chǔ)器寄存器可保持存儲(chǔ)器126中數(shù)據(jù)所將存儲(chǔ)的地址。存儲(chǔ)器126通常由臨時(shí)或以其他方式維持和/或存儲(chǔ)數(shù)據(jù)的一個(gè)或一個(gè)以上硬件裝置、結(jié)構(gòu)或組件組成。在一個(gè)實(shí)施例中,存儲(chǔ)器包括高速緩沖存儲(chǔ)器122和一個(gè)或一個(gè)以上其他存儲(chǔ)器126,所述高速緩沖存儲(chǔ)器122保持由安全處理器104有規(guī)律地存取的數(shù)據(jù)。高速緩沖存儲(chǔ)器122為集成在安全處理器104內(nèi)的存儲(chǔ)器區(qū)字段、直接連接至安全處理器104的存儲(chǔ)器,或易于由安全處理器104存取或與安全處理器104介接的存儲(chǔ)器126的區(qū)字段。在另一個(gè)實(shí)施例中,存儲(chǔ)器126可包括存儲(chǔ)器管理單元(MMU)128,其控制數(shù)據(jù)從存儲(chǔ)器126的讀取和數(shù)據(jù)到存儲(chǔ)器126中的寫入。存儲(chǔ)器126可由一種或一種以上類型的存儲(chǔ)器組成,例如,隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬盤驅(qū)動(dòng)器、光學(xué)存儲(chǔ)器,或維持?jǐn)?shù)據(jù)的一個(gè)或一個(gè)以上其他存儲(chǔ)技術(shù)。所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,安全處理器104不限于關(guān)于計(jì)算系統(tǒng)的解釋,而是可包括此項(xiàng)技術(shù)中所知的其他組件和功能。另外,提供本文中的計(jì)算系統(tǒng)解釋以簡(jiǎn)化關(guān)于本發(fā)明的實(shí)施例的解釋,且本發(fā)明不應(yīng)限于本文中所描述的計(jì)算系統(tǒng)。在執(zhí)行上述三個(gè)活動(dòng)的過程中,安全處理器104執(zhí)行軟件的若干部分。這些軟件部分通常組合以形成軟件程序或應(yīng)用程序以完成大型任務(wù)。通常,軟件部分為由安全處理器104執(zhí)行的一個(gè)或一個(gè)以上指令。在下文中,軟件部分可被稱作軟件例行程序、子例行程序或模塊。在執(zhí)行軟件部分時(shí),安全處理器104可創(chuàng)建被稱作堆棧(未圖示)的抽 象數(shù)據(jù)類型。堆棧可為存儲(chǔ)器(例如,高速緩沖存儲(chǔ)器122或存儲(chǔ)器126)中的一組存儲(chǔ)器地址,安全處理器104分別將數(shù)據(jù)或指令存儲(chǔ)到其中或從其中讀取數(shù)據(jù)或指令。舉例來說,在將數(shù)據(jù)項(xiàng)目或指令保存到堆棧中時(shí),安全處理器104可將堆棧指針記錄在寄存器124中,堆棧指針為存儲(chǔ)器中數(shù)據(jù)或指令所存儲(chǔ)的地址??稍趦蓚€(gè)或兩個(gè)以上軟件部分之間共享數(shù)據(jù),且為促進(jìn)這個(gè)共享,可將數(shù)據(jù)存儲(chǔ)于提供給軟件部分的堆棧和堆棧指針中。在各個(gè)實(shí)施例中,安全處理器104在操作環(huán)境中執(zhí)行各種軟件部分,所述操作環(huán)境包括(例如)軟件、存儲(chǔ)器122/126和資源120的組合。安全處理器104可經(jīng)配置以執(zhí)行軟件、與軟件、存儲(chǔ)器、資源和其類似者介接,和/或利用軟件、存儲(chǔ)器、資源和其類似者來執(zhí)行給定操作。為防止和/或最小化惡意或另外非所要代碼的引入,提供促進(jìn)對(duì)安全處理器104的操作環(huán)境的控制的系統(tǒng)、方法、設(shè)備和其類似者。在至少一個(gè)實(shí)施例中,安全操作環(huán)境102可由一個(gè)或一個(gè)以上“上下文”指定。上下文通過指定允許安全處理器104執(zhí)行的那些指令、功能和/或操作來界定操作環(huán)境的邊界。舉例來說,軟件應(yīng)用程序可含有四個(gè)指令。上下文可指定安全處理器104可執(zhí)行這四個(gè)指令中的第一個(gè)、這些指令中的一個(gè)或一個(gè)以上、所有這些指令、其組合,或其類似者。就是說,上下文可建立排斥執(zhí)行非指定指令的容許環(huán)境。舉例來說,如果安全處理器104試圖執(zhí)行并非所述四個(gè)指令中的一個(gè)的指令,那么辨識(shí)出異常且防止安全處理器104執(zhí)行另一個(gè)指令。在另一個(gè)實(shí)例中,上下文可允許安全處理器僅存取存儲(chǔ)器地址1-20。倘若安全處理器嘗試存取存儲(chǔ)器地址40,那么辨識(shí)出異常且防止安全處理器104存取存儲(chǔ)器地址40。在再一實(shí)例中,上下文可指定允許安全處理器104僅存取硬盤驅(qū)動(dòng)器。倘若安全處理器104嘗試存取用戶接口裝置,那么辨識(shí)出異常且防止安全處理器104存取用戶接口。在各個(gè)實(shí)施例中,上下文管理器106和信任向量檢驗(yàn)器108建立并加強(qiáng)上下文。上下文管理器106監(jiān)管上下文的改變。兩個(gè)或兩個(gè)以上軟件部分各自具有相關(guān)聯(lián)的上下文。在執(zhí)行第一軟件部分時(shí),使用第一上下文來界定安全操作環(huán)境。同樣,在安全處理器104執(zhí)行第二軟件部分時(shí),使用不同的第二上下文來界定不同的安全操作環(huán)境。為在軟件部分之間進(jìn)行切換,上下文管理器建立與待執(zhí)行的新軟件部分相關(guān)聯(lián)的新上下文。在建立新上下文的過程中,新軟件部分在適合于所述軟件部分的操作環(huán)境中執(zhí)行。將與新軟件部分的上下文的偏差辨識(shí)為安全異常。因此,針對(duì)每一軟件部分設(shè)置安全操作環(huán)境以在需要時(shí)控制安全處理器104。如上所述,各個(gè)實(shí)施例也可包括加強(qiáng)上下文的信任向量檢驗(yàn)器108。信任向量檢驗(yàn) 器108虛擬地和/或物理上位于(在數(shù)據(jù)信號(hào)流中)安全處理器104與給定系統(tǒng)的其他虛擬或物理組件(例如,資源120和存儲(chǔ)器126)之間。在信任向量檢驗(yàn)器108放置的情況下,信任向量檢驗(yàn)器108可經(jīng)配置以截取安全處理器104、資源120和/或存儲(chǔ)器126之間和/或中間的通信。在實(shí)施例中,信任向量檢驗(yàn)器108可被載入信息,所述信息界定給定上下文且信任向量檢驗(yàn)器108將所述信息與安全處理器104進(jìn)行的動(dòng)作進(jìn)行比較。如果動(dòng)作不與信任向量檢驗(yàn)器108中的所載入信息相匹配,那么所述上下文中不允許所述動(dòng)作。不與所載入信息相匹配的動(dòng)作是在所允許上下文外。信任向量檢驗(yàn)器108將這些動(dòng)作辨識(shí)為異常且防止所述動(dòng)作發(fā)生。舉例來說,信任向量檢驗(yàn)器108從安全處理器104接收存取存儲(chǔ)器126的請(qǐng)求,信任向量檢驗(yàn)器108確定在當(dāng)前上下文內(nèi)是否允許所述請(qǐng)求,且如果不允許所述請(qǐng)求,那么信任向量檢驗(yàn)器108辨識(shí)出異常且防止存取存儲(chǔ)器126。安全處理器104也可經(jīng)配置以在執(zhí)行第一軟件部分與執(zhí)行第二軟件部分之間周期性地切換。在一個(gè)實(shí)施例中,在不同軟件部分之間切換執(zhí)行之前,可執(zhí)行一個(gè)或一個(gè)以上步驟以確保系統(tǒng)100的安全。舉例來說,安全處理器104可清除高速緩沖存儲(chǔ)器122和/或MMU128,且保存指向堆棧中的數(shù)據(jù)的指針。安全處理器104可向上下文管理器106傳達(dá)上下文交換110的請(qǐng)求(也就是,改變到新的預(yù)定上下文的請(qǐng)求)。在實(shí)施例中,上下文管理器106將復(fù)位112發(fā)送到安全處理器104以將其復(fù)位,和將指令114發(fā)送到信任向量檢驗(yàn)器108以從存儲(chǔ)器126或可由信任向量檢驗(yàn)器108存取的其他安全存儲(chǔ)器(未圖示)載入與所要上下文相關(guān)聯(lián)的信任向量描述符。在實(shí)施例中,所述復(fù)位合意地導(dǎo)致安全處理器104的一個(gè)或一個(gè)以上內(nèi)部狀態(tài)的清除。應(yīng)了解,此類清除減少了將惡意軟件引入到安全處理器104的風(fēng)險(xiǎn)。所述復(fù)位可包括清除安全處理器104的一個(gè)、多個(gè)或所有狀態(tài)的任何方法。在另一個(gè)實(shí)施例中,安全處理器104可在復(fù)位期間經(jīng)配置以使得所有狀態(tài)信息為不可操作且不可用的。更具體來說,對(duì)于至少一個(gè)實(shí)施例而言,安全處理器104可通過執(zhí)行啟動(dòng)或硬復(fù)位操作來完成復(fù)位功能。此啟動(dòng)可發(fā)生(例如)在安全處理器104執(zhí)行新上下文中的一個(gè)或一個(gè)以上指令之前。應(yīng)了解,啟動(dòng)可為需要重新載入軟件的軟啟動(dòng)或需要對(duì)安全處理器104和/或一個(gè)或一個(gè)以上其他組件斷電和上電的硬啟動(dòng)。對(duì)于每一個(gè)實(shí)施例而言為合意但非必要的,軟啟動(dòng)和硬啟動(dòng)均擦除存儲(chǔ)于高速緩沖存儲(chǔ)器122、寄存器124和/或存儲(chǔ)器126中的數(shù)據(jù)和/或指令中的一些(如果不是所有)。在實(shí)施例中,可使用一個(gè)或一個(gè)以上通常所知的方法來擦除高速緩沖存儲(chǔ)器122、寄存器124和/或存儲(chǔ)器126中的數(shù)據(jù)或指令中的一些或所有。舉例來說,可通過在先前存儲(chǔ)的數(shù)據(jù)上寫入新數(shù)據(jù)來刪除所 存儲(chǔ)的存儲(chǔ)器地址。因此,安全處理器104可經(jīng)配置以擦除對(duì)于第二上下文而言并非所要的不能用的數(shù)據(jù)和/或指令,或以其他方式使所述數(shù)據(jù)和/或指令可用于第一上下文。在至少一個(gè)實(shí)施例中,安全處理器104不維持從一個(gè)上下文到另一個(gè)上下文的任何狀態(tài)信息。就是說,安全處理器可經(jīng)配置以不保留任何先前上下文或軟件的任何知識(shí)。如圖1所示,信任向量檢驗(yàn)器108經(jīng)由通信路徑116與安全處理器104通信。在一個(gè)實(shí)施例中且通常為了防止安全異常,信任向量檢驗(yàn)器108可經(jīng)配置以將硬件中斷121發(fā)送到安全處理器104。在接收到硬件中斷121后,如下文結(jié)合圖3所解釋,安全處理器104復(fù)位和/或啟動(dòng)或重新啟動(dòng)到另一個(gè)上下文中。這另一個(gè)上下文可為預(yù)定的或?yàn)閷?shí)時(shí)確定的。在另一個(gè)實(shí)施例中,信任向量檢驗(yàn)器108可經(jīng)配置以處理當(dāng)前上下文中的安全異常,同時(shí)響應(yīng)于安全異常請(qǐng)求到新上下文的上下文交換。在各個(gè)實(shí)施例中,信任向量檢驗(yàn)器108可經(jīng)配置且載入使得其能夠加強(qiáng)任何給定上下文的信息。此信息可永久地載入、在上下文交換前面載入、在安全處理器的復(fù)位期間載入、在安全處理器104復(fù)位后載入,和/或在另一個(gè)時(shí)間時(shí)載入。舉例來說,所載入的信息可包括從存儲(chǔ)器126或其他安全存儲(chǔ)器(未圖示)載入的一個(gè)或一個(gè)以上信任向量描述符。在需要時(shí),此存儲(chǔ)器126可經(jīng)配置以使得其僅可由信任向量檢驗(yàn)器108存取。在其他實(shí)施例中,信任向量檢驗(yàn)器108可包括和/或能夠存取一個(gè)或一個(gè)以上專用或共享存儲(chǔ)器裝置,例如ROM、EEPROM、硬盤驅(qū)動(dòng)器或其類似者。在需要時(shí),此存儲(chǔ)器可經(jīng)配置以持久地含有一個(gè)或一個(gè)以上信任向量描述符。在至少一個(gè)實(shí)施例中,信任向量描述符界定:安全處理器104可執(zhí)行的軟件程序、例行程序和/或指令。信任向量描述符也可經(jīng)配置以界定安全處理器104可如何、何時(shí)存取、控制、利用、傳達(dá)(或其類似者)資源和/或安全處理器104可存取、控制、利用、傳達(dá)(或其類似者)哪些資源。類似地,信任向量描述符可界定安全處理器104可存取哪些存儲(chǔ)器126或122和安全處理器104可在上下文中起始、執(zhí)行和完成的其他活動(dòng)。信任向量描述符的一個(gè)實(shí)施例展示于圖2中。在這個(gè)實(shí)施例中,信任向量描述符包括至少一個(gè)信任向量描述符202且可包括多個(gè)信任向量描述符202、204或206。信任向量描述符可存儲(chǔ)(例如)于信任向量表(TVT)數(shù)據(jù)結(jié)構(gòu)200或任何其他所要數(shù)據(jù)結(jié)構(gòu)中。如上文參看圖1所提及,在載入或以其他方式指定信任向量描述符202以供信任向量檢驗(yàn)器108使用后,建立新上下文且所述新上下文掌管安全處理器104的操作。如圖2中所描繪的實(shí)施例中所進(jìn)一步展示的,每一個(gè)信任向量描述符202、204和206可界定不同上下文且因而可具有不同數(shù)據(jù)。在實(shí)施例中,信任向量描述符202、204和206的每一區(qū)段中的數(shù)據(jù)為某種類型的。每一信任向量描述符202、204和206可含 有一個(gè)或一個(gè)以上其他數(shù)據(jù)字段但不限于所描述的數(shù)據(jù)字段。信任向量描述符202、204和206可由上下文識(shí)別(ID)字段208識(shí)別。在其他實(shí)施例中,每一信任向量描述符202、204和206可包括用于以下各項(xiàng)的數(shù)據(jù)字段:代碼開始地址210、代碼結(jié)束地址212、密鑰號(hào)214、目標(biāo)CPU和向量號(hào)(#)216、刷洗類型218、硬件信任向量描述符220、存儲(chǔ)器數(shù)據(jù)區(qū)222、CPU啟動(dòng)地址224、信任向量描述符簽名226,和代碼簽名228。代碼開始地址210和代碼結(jié)束地址212識(shí)別代碼的哪部分將被驗(yàn)證且接著由安全處理器104(圖1)執(zhí)行。應(yīng)了解,存在用于識(shí)別待執(zhí)行的代碼部分的其他方法,例如,代碼開始地址和代碼的長(zhǎng)度。舉例來說,代碼開始地址210和代碼結(jié)束地址212可指定含有所要代碼的一組或一組以上的多個(gè)、不連續(xù)的存儲(chǔ)器區(qū)。此類區(qū)可(例如)由兩個(gè)或兩個(gè)以上開始地址和結(jié)束地址進(jìn)一步指定。在至少一個(gè)實(shí)施例中,信任向量描述符202、204、206可包括用以檢驗(yàn)待執(zhí)行的軟件和/或其部分的確實(shí)性的密鑰號(hào)和/或其他參考信息。參考信息可包括(例如)用以驗(yàn)證代碼的代碼的指紋(識(shí)別)、用以驗(yàn)證代碼的代碼的簽名,和/或?qū)τ靡詸z驗(yàn)代碼的簽名的密鑰的參考。另外,在具有多個(gè)密鑰的實(shí)施例中,密鑰號(hào)214可指定使用哪個(gè)密鑰來檢驗(yàn)所產(chǎn)生的簽名且由此驗(yàn)證軟件的一部分。應(yīng)了解,此檢驗(yàn)可(例如)通過將所產(chǎn)生的簽名與信任描述符簽名226和/或代碼簽名228進(jìn)行比較來發(fā)生。如果系統(tǒng)具有多個(gè)處理器,那么目標(biāo)CPU字段216提供關(guān)于使用哪個(gè)處理器的指定器。如將結(jié)合圖4所解釋的,可在一個(gè)或一個(gè)以上安全處理器上執(zhí)行軟件部分。向量號(hào)字段216提供針對(duì)信任向量描述符202的指定器。如結(jié)合圖6所論述,刷洗類型字段218提供關(guān)于如何刷洗軟件部分(也就是,證實(shí)軟件部分的確實(shí)性)的信息。舉例來說,如果驗(yàn)證或刷洗軟件部分一次,那么刷洗類型字段218可包括“初始”刷洗的指定器。其他類型的刷洗方法包括但不限于:“連續(xù)”刷洗,借此在操作時(shí)連續(xù)地刷洗軟件部分;和“從不”,其不需要對(duì)軟件部分進(jìn)行任何刷洗。在其他實(shí)施例中,可使用其他刷洗方法。可使用硬件信任向量描述符字段220來界定上下文中的資源存取。更具體來說,硬件信任向量描述符220識(shí)別安全處理器104(圖1)在由給定信任向量描述符202、204、206界定的上下文內(nèi)執(zhí)行的操作期間可進(jìn)行介接、通信(或其類似者)的那些資源(例如,外圍裝置或內(nèi)部組件)。在一個(gè)實(shí)施例中,硬件信任向量描述符220可為位圖或位陣列,其中陣列中的每一位表示某種類型的硬件。舉例來說,硬件信任向量描述符220可呈現(xiàn)為“0101”。第一位設(shè)定為“1”可表示處理器可存取硬盤驅(qū)動(dòng)器控制器。第二位設(shè)定為“0”可表示處理器不可存取智能卡。第三位設(shè)定為“1”且第四位設(shè)定為“0” 可表示處理器可存取I/0端口但不可存取視頻控制器。硬件信任向量描述符220中位的數(shù)目可隨在其中使用安全處理器的實(shí)施例而變化,且可少于或多于四個(gè)位。應(yīng)了解,可使用硬件信任向量描述符220的其他實(shí)施例。舉例來說,信任向量描述符220可經(jīng)配置,以使得除了由硬件信任向量220識(shí)別的資源外在給定實(shí)施內(nèi)的所有資源可為安全處理器所用。其他實(shí)施例也為可能的且包括于所附或此后所添加的權(quán)利要求書的范圍內(nèi)。存儲(chǔ)器數(shù)據(jù)區(qū)字段222也可用以界定上下文中的資源存取且進(jìn)一步界定安全處理器104(圖1)可存取存儲(chǔ)器126(圖1)中的哪些地址空間(例如)以從存儲(chǔ)器讀取數(shù)據(jù)和/或?qū)?shù)據(jù)寫入到存儲(chǔ)器中。關(guān)于硬件信任向量220,存儲(chǔ)器數(shù)據(jù)區(qū)字段222可通過特定地址、基于開始和停止地址、作為相連區(qū)塊和/或以其他方式來指定地址空間。又,可用肯定(也就是,可存取的地址空間)、異常(即,除了所識(shí)別的地址空間外皆為可存取的)或其他方式來表達(dá)地址空間。因而,應(yīng)了解,存儲(chǔ)器數(shù)據(jù)區(qū)字段222可識(shí)別可讀取和/或?qū)懭肟蓤?zhí)行數(shù)據(jù)的地址。包含于一個(gè)或一個(gè)以上未界定地址中的數(shù)據(jù)可同樣被指定為不可執(zhí)行的,使得倘若安全處理器嘗試執(zhí)行代碼和/或利用來自禁止數(shù)據(jù)區(qū)的數(shù)據(jù)便將發(fā)生安全異常。在一個(gè)實(shí)施例中,與軟件的其他部分共享可存取存儲(chǔ)器126(圖1)的一個(gè)或一個(gè)以上部分。另外,軟件的每一部分可在一個(gè)或一個(gè)以上上下文中執(zhí)行。在此實(shí)施例中,一個(gè)軟件部分可能需要將數(shù)據(jù)傳遞到另一軟件部分,但并不在同一上下文中執(zhí)行所述兩個(gè)軟件部分。存儲(chǔ)器數(shù)據(jù)區(qū)字段222可經(jīng)配置以通過使用(例如)對(duì)所識(shí)別地址空間的異常方法來支持這種情形。類似地,在另一個(gè)實(shí)施例中,對(duì)于由此指定的任何或每一存儲(chǔ)器區(qū)而言,存儲(chǔ)器數(shù)據(jù)區(qū)字段222可包括指定將包括于一個(gè)或一個(gè)以上刷洗操作中的存儲(chǔ)器區(qū)的共同或單獨(dú)刷洗位。如針對(duì)本文所描述的至少一個(gè)實(shí)施例所論述的,在安全處理器104(圖1)交換上下文時(shí),可復(fù)位安全處理器且將其啟動(dòng)到新上下文中。參看圖2,CPU啟動(dòng)地址字段224提供存儲(chǔ)器126(圖1)中的地址,將在所述地址啟動(dòng)安全處理器104(圖1)。在一個(gè)實(shí)施例中,啟動(dòng)地址224為快閃存儲(chǔ)器中的偏移。在其他實(shí)施例中,對(duì)于存儲(chǔ)器126而言,啟動(dòng)地址224為ROM地址、RAM地址或其他地址。在實(shí)施例中,每一上下文可具有唯一啟動(dòng)地址224。信任向量描述符202、204和206也可包括簽名字段226。簽名字段226提供數(shù)據(jù)值(例如,私有密鑰)以用以檢驗(yàn)每一信任向量描述符202、204、206。對(duì)信任向量描述符的檢驗(yàn)可發(fā)生在指示信任向量檢驗(yàn)器108(圖1)載入給定信任向量描述符之前或之后發(fā)生。另外,簽名字段226可經(jīng)配置以提供簽名以用以檢驗(yàn)給定信任向量描述符的在字 段208到228中的一些數(shù)據(jù)或所有數(shù)據(jù)。另外,應(yīng)了解,在允許安全處理器104(圖1)執(zhí)行給定軟件部分的一些或所有之前,可刷洗(如結(jié)合圖6所解釋)或驗(yàn)證給定軟件部分的一些、從不刷洗或驗(yàn)證給定軟件部分或擦除或驗(yàn)證給定軟件部分的全部。在本發(fā)明的至少一個(gè)實(shí)施例中,信任向量描述符也可經(jīng)配置以包括代碼簽名字段228,其提供用以在由安全處理器執(zhí)行給定軟件代碼部分之前檢驗(yàn)給定軟件代碼部分的數(shù)據(jù)。應(yīng)了解,可將任何類型的數(shù)字簽名用作簽名226和/或代碼簽名228。舉例來說,數(shù)字簽名可使用私有和公用密鑰系統(tǒng),例如美國(guó)聯(lián)邦信息處理標(biāo)準(zhǔn)出版物186(1994年5月19日)數(shù)字簽名標(biāo)準(zhǔn)(DSS)中所描述的驗(yàn)證方法,此文獻(xiàn)針對(duì)其所教導(dǎo)的所有內(nèi)容且特定針對(duì)其關(guān)于數(shù)字簽名、私有密鑰系統(tǒng)和公用密鑰系統(tǒng)的使用的教導(dǎo)以引用方式全部并入本文中。展示用于交換上下文301和用于管理安全異常309的過程300的實(shí)施例的流程圖展示于圖3A和圖3B中。上下文交換過程可由上下文管理器、安全處理器和/或安全處理器與上下文管理器的組合執(zhí)行。如圖3A所示,保存目前由安全處理器104(圖1)執(zhí)行的上下文(操作303)。在至少一個(gè)實(shí)施例中,安全處理器104(圖1)保存指向堆棧的指針、將任何所需數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器126(圖1),和完成在上下文交換發(fā)生之前所需的任何“清除”功能。保存操作可在要求時(shí)、以規(guī)則間隔、在需要基礎(chǔ)上和/或以其他方式發(fā)生在上下文交換之前(如圖3A所示)。上下文交換過程也可包括上下文交換請(qǐng)求的通信(操作302)。這個(gè)請(qǐng)求通常從安全處理器發(fā)送到上下文管理器且可發(fā)生在請(qǐng)求上下文交換之前或之后且可出現(xiàn)在廣泛各種境況中。舉例來說,在出現(xiàn)致使安全處理器需要在不同或第二上下文下執(zhí)行第二軟件部分的情形時(shí),安全處理器104(圖1)可正執(zhí)行第一軟件部分。為促進(jìn)第二軟件部分的執(zhí)行,安全處理器104(圖1)可經(jīng)配置以將交換上下文的請(qǐng)求傳達(dá)給上下文管理器106(圖1)-如圖3A中由操作302所示。上下文交換請(qǐng)求可包括(例如)安全處理器104(圖1)所希望交換到的上下文202(圖2)的上下文ID208(圖2)。上下文交換請(qǐng)求可取決于所使用的特定實(shí)施或?qū)嵤├蓄~外或其他信息。如圖3A中進(jìn)一步展示,上下文交換過程可包括復(fù)位安全處理器104(操作304)。就是說,可在接收到由安全處理器所傳達(dá)的上下文交換請(qǐng)求后由上下文管理器復(fù)位安全處理器。安全處理器復(fù)位合意地擦除安全處理器高速緩沖存儲(chǔ)器122、MMU128、寄存器124、存儲(chǔ)器或其類似者中的任何數(shù)據(jù),且從安全處理器104(圖1)清掉先前軟件狀態(tài)。同樣,應(yīng)了解,在請(qǐng)求操作302和/或保存操作303未完成的情況下,各個(gè)實(shí)施例可包括復(fù)位操作304。如圖3A中進(jìn)一步展示,上下文交換過程也可包括將信任向量載入到信任向量檢驗(yàn)器中(操作306)。在需要時(shí),上下文管理器106(圖1)將信任向量描述符(例如,描述符202(圖2))載入到信任向量檢驗(yàn)器106(圖1)中。如上文關(guān)于本發(fā)明的某些實(shí)施例所論述,信任向量檢驗(yàn)器可預(yù)先被載入處于非活動(dòng)狀態(tài)的描述符。因此,應(yīng)易于了解,對(duì)于任何給定實(shí)施例而言,信任向量檢驗(yàn)器的載入可為任選的和/或不必要的。上下文交換過程也包括啟用新上下文(操作308),以使得載入到信任向量檢驗(yàn)器中或在必要時(shí)針對(duì)活動(dòng)狀態(tài)以其他方式指定的軟件部分準(zhǔn)備好與新上下文一起使用。在一些實(shí)施例中,可通過將保存于信任向量描述符202(圖2)中的簽名226(圖2)與所產(chǎn)生的簽名相比較來驗(yàn)證信任向量描述符202(圖2)。此驗(yàn)證可發(fā)生在描述符載入到信任向量檢驗(yàn)器108中之前或之后。類似地,可通過將代碼簽名228(圖2)與所產(chǎn)生的簽名相比較來驗(yàn)證將在新上下文下執(zhí)行的軟件部分。在下文結(jié)合圖6更詳細(xì)地論述驗(yàn)證信任向量描述符和軟件部分。信任向量描述符202和軟件部分的載入合意地配置安全處理器以用于在新上下文中執(zhí)行軟件。用于管理安全異常309的過程的實(shí)施例展示于圖3B中。至少對(duì)于這個(gè)實(shí)施例而言,由信任向量檢驗(yàn)器108(圖1)從安全處理器104(圖1)接收資源請(qǐng)求。在接收到資源請(qǐng)求(操作310)后,信任向量檢驗(yàn)器將所述請(qǐng)求與當(dāng)前活動(dòng)信任向量描述符相比較且確定所述請(qǐng)求是否符合所述描述符(操作312)。舉例來說,信任向量檢驗(yàn)器可將所請(qǐng)求的存儲(chǔ)器地址與當(dāng)前活動(dòng)信任向量描述符中的授權(quán)存儲(chǔ)器數(shù)據(jù)區(qū)222(圖2)的列表相比較。在請(qǐng)求符合當(dāng)前活動(dòng)信任向量描述符時(shí),信任向量檢驗(yàn)器允許安全處理器與資源之間的通信發(fā)生(操作316)。舉例來說,信任向量檢驗(yàn)器將資源請(qǐng)求118(圖1)傳遞給適當(dāng)資源120(圖1)。在請(qǐng)求不符合信任向量描述符時(shí),可觸發(fā)安全異常(操作320),其導(dǎo)致安全處理器的復(fù)位(操作330)。在至少一個(gè)實(shí)施例中,信任向量檢驗(yàn)器將硬件中斷或復(fù)位指令(例如,指令121(圖1))發(fā)送到安全處理器。另外,對(duì)于至少一個(gè)實(shí)施例而言,在安全異常發(fā)生時(shí),整個(gè)芯片集而不僅是安全處理器都可復(fù)位。所述過程可進(jìn)一步包括最近觸發(fā)的安全異常是否為安全異常發(fā)生的第二次出現(xiàn)的任選確定(操作322)。在最近觸發(fā)的安全異常并非第二次安全異常時(shí),可指示信任向量檢驗(yàn)器等待預(yù)定或?qū)崟r(shí)確定的時(shí)段(操作326)。另外且對(duì)于至少一個(gè)實(shí)施例而言,信任向量檢驗(yàn)器可經(jīng)編程以警告安全處理器其將在給定等待時(shí)段期滿后復(fù)位。應(yīng)了解,在等待時(shí)段期間,安全處理器可完成額外處理動(dòng)作和/或請(qǐng)求額外資源。在等待時(shí)段期滿后, 復(fù)位安全處理器(操作330)。在至少一個(gè)實(shí)施例中,安全處理器的復(fù)位可發(fā)生在至少兩個(gè)單獨(dú)情形下。第一,可由上下文管理器106(圖1)響應(yīng)于上下文交換而復(fù)位安全處理器104(圖1)。上下文交換復(fù)位抑制可能注入到系統(tǒng)100(圖1)中的任何惡意代碼存取與另一上下文相關(guān)聯(lián)的狀態(tài)信息。第二,只要信任向量檢驗(yàn)器108(圖1)響應(yīng)于一個(gè)或一個(gè)以上安全異常而起始安全處理器104(圖1)和/或任何支持電路的硬件復(fù)位或硬啟動(dòng),便可復(fù)位安全處理器104。在這種情形中,安全異常硬件復(fù)位防止惡意代碼完成在當(dāng)前上下文中未經(jīng)授權(quán)的過程。因此,應(yīng)了解,上下文交換和安全異??善鹗紡?fù)位,其促進(jìn)安全處理器、存儲(chǔ)器、資源和其類似者的安全和/或經(jīng)授權(quán)使用,且提供對(duì)此類組件免受不安全和/或未經(jīng)授權(quán)使用的某程度的保護(hù)。包括安全操作環(huán)境402的實(shí)施例的裝置400的實(shí)施例的框圖展示于圖4中。裝置400可為(例如)衛(wèi)星電視轉(zhuǎn)換器裝置。在至少一個(gè)實(shí)施例中,裝置400可包括控制電子裝置426,其可進(jìn)一步包括但不限于以下各項(xiàng)中的一個(gè)或一個(gè)以上:安全操作環(huán)境402、主處理器環(huán)境404、存儲(chǔ)器406、外圍接口408,和數(shù)據(jù)存儲(chǔ)接口410(在(例如)由硬盤驅(qū)動(dòng)器434提供外部數(shù)據(jù)存儲(chǔ)時(shí)使用)。更具體來說,安全操作環(huán)境402可包括:第一安全操作環(huán)境412,其包括第一安全處理器414和第一信任向量檢驗(yàn)器416;和第二安全操作環(huán)境418,其包括第二安全處理器420和第二信任向量檢驗(yàn)器422。安全操作環(huán)境的其他實(shí)施例可包括單個(gè)安全處理器、多個(gè)安全處理器、單個(gè)向量檢驗(yàn)器、多個(gè)向量檢驗(yàn)器、單個(gè)操作環(huán)境或多個(gè)操作環(huán)境。第一安全操作環(huán)境412和第二操作環(huán)境418也可以可操作方式連接到一個(gè)或一個(gè)以上共同或?qū)S蒙舷挛墓芾砥?24。因此,應(yīng)了解,可使用環(huán)境、處理器、向量檢驗(yàn)器和上下文管理器的各種組合。如圖4中進(jìn)一步展示,控制電子裝置426也可包括系統(tǒng)總線432。去往和來自總線的通信可為直接的(如圖4所示)和/或經(jīng)由一個(gè)或一個(gè)以上獨(dú)立型或集成型總線主控器或其類似者。舉例來說,安全處理器414/420可包括總線主控器。信任向量檢驗(yàn)器416、422和430合意地經(jīng)配置以分別調(diào)解從安全處理器到系統(tǒng)總線432/從系統(tǒng)總線432到安全處理器的通信。另外,應(yīng)了解,一個(gè)或一個(gè)以上安全處理器(例如,安全處理器414和420)可經(jīng)配置以執(zhí)行控制電子裝置426的相同(并行地)或不同的功能或任務(wù)。舉例來說,處理器414可經(jīng)配置以處理顯示數(shù)據(jù)和用戶命令,而處理器420經(jīng)配置以處理安全功能,例如,解密視頻信號(hào)、檢驗(yàn)用戶觀看權(quán)利和與電視轉(zhuǎn)換器裝置400的其他組件互動(dòng)。安全操作環(huán)境402可提供于一個(gè)或一個(gè)以上集成電路或分開的離散組件中,所述安 全操作環(huán)境402包括安全處理器414和420、信任向量檢驗(yàn)器416和422,和上下文管理器424。舉例來說,處理器414和420可分別與信任向量檢驗(yàn)器416和422組合成單個(gè)集成電路或兩個(gè)單獨(dú)的集成電路,也就是,每一個(gè)安全操作環(huán)境412和418一個(gè)集成電路。另外,安全處理器414和420、信任向量檢驗(yàn)器416和422、上下文管理器424和/或其他組件可提供于硬件和/或軟件的任何所要組合中。舉例來說,上下文管理器424可為包括一個(gè)或一個(gè)以上過程的軟件模塊。類似地,可使用包括一個(gè)或一個(gè)以上邏輯組件的硬件電路。控制電子裝置426也可包括一個(gè)或一個(gè)以上易失性和/或非易失性存儲(chǔ)器組件406。此類存儲(chǔ)器裝置的實(shí)例包括但不限于隨機(jī)存取存儲(chǔ)器和快閃存儲(chǔ)器。安全處理器414和420和/或上下文管理器424也可或替代地連接至一個(gè)或一個(gè)以上共同或單獨(dú)的存儲(chǔ)器組件或存儲(chǔ)器范圍(未圖示)。存儲(chǔ)器組件(其可為安全的)可用以存儲(chǔ)(例如)對(duì)應(yīng)于一個(gè)或一個(gè)以上上下文的TVT200(圖2)和/或一個(gè)或一個(gè)以上信任向量描述符202(圖2)。同樣,存儲(chǔ)器組件可經(jīng)配置以存儲(chǔ)經(jīng)計(jì)算的散列,所述散列用于經(jīng)計(jì)算的簽名與信任向量描述符和/或軟件部分的參考簽名的比較中。上下文存儲(chǔ)器范圍、參考簽名和信任向量描述符可存儲(chǔ)于不安全的存儲(chǔ)器406中。舉例來說,上下文存儲(chǔ)器范圍、參考簽名和/或信任向量描述符可存儲(chǔ)于可重寫和易失性存儲(chǔ)器中,例如隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)RAM(DRAM)、靜態(tài)RAM(SRAM)或快閃存儲(chǔ)器。在至少一個(gè)實(shí)施例中,上下文管理器424可通過使用指針、存儲(chǔ)器地址或類似參考來與存儲(chǔ)器406通信。在至少一個(gè)實(shí)施例中,安全處理器414和420和信任向量檢驗(yàn)器416、422和430可為通用處理器。安全處理器也可包括但不限于高速緩沖存儲(chǔ)器和存儲(chǔ)器管理單元(MMU)。在需要時(shí),安全處理器也可執(zhí)行指令獲取、數(shù)據(jù)讀取/寫入、I/O讀取/寫入以及其他功能和例行程序。一個(gè)或一個(gè)以上信任向量檢驗(yàn)器416、422和430利用一個(gè)或一個(gè)以上地址核查器來調(diào)解安全處理器414和420與系統(tǒng)總線432、存儲(chǔ)器406、外圍接口408、數(shù)據(jù)存儲(chǔ)裝置接口410和/或控制電子裝置426的其他組件之間的存取。另外,信任向量檢驗(yàn)器416、422和430防止從處理器414、420或428直接連接到系統(tǒng)總線432和通過其延伸連接到存儲(chǔ)器406、外圍接口408或硬盤驅(qū)動(dòng)器接口410。通過充當(dāng)處理器與總線之間的看門人,信任向量檢驗(yàn)器可控制和促進(jìn)安全處理器與其他系統(tǒng)組件之間的連接和/或隔離。信任向量檢驗(yàn)器可取決于其所用于的實(shí)施例而經(jīng)配置以在任何給定時(shí)間處置一個(gè) 或一個(gè)以上上下文。同樣,信任向量檢驗(yàn)器416可經(jīng)配置(作為地址核查器)以存儲(chǔ)和檢驗(yàn)針對(duì)給定上下文的有效存儲(chǔ)器范圍。此信息可(例如)作為個(gè)別條目存儲(chǔ)于信任向量描述符中。所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,處置上下文數(shù)據(jù)的其他方法為可能的且在本發(fā)明的各個(gè)實(shí)施例的范圍內(nèi)。只要達(dá)到一個(gè)或一個(gè)以上處理器存取請(qǐng)求是在有效范圍外的確定,信任向量檢驗(yàn)器便可經(jīng)配置以通過發(fā)信號(hào)、做標(biāo)記、安全異?;蛞云渌绞絹碜鞒鲰憫?yīng)。類似地,信任向量檢驗(yàn)器可經(jīng)配置以檢驗(yàn)存取模式,例如針對(duì)存儲(chǔ)器406的任何范圍的讀取、讀取/寫入和寫入。舉例來說,信任向量檢驗(yàn)器416可經(jīng)配置以使得在接收到由安全處理器414所作的寫入請(qǐng)求后,其確定數(shù)據(jù)存儲(chǔ)器范圍是否為針對(duì)相應(yīng)上下文的有效范圍且數(shù)據(jù)存儲(chǔ)器范圍是否準(zhǔn)許寫入存取。舉例來說,如果不準(zhǔn)許寫入存取,那么信任向量檢驗(yàn)器416可經(jīng)配置以標(biāo)記安全異常。在各個(gè)實(shí)施例中,用以存儲(chǔ)程序代碼或數(shù)據(jù)的存儲(chǔ)器范圍可為相連或非相連的。舉例來說,存儲(chǔ)器范圍可呈一個(gè)或一個(gè)以上地址和一個(gè)或一個(gè)以上頭尾(from-to)地址的長(zhǎng)度的形式。同樣,存儲(chǔ)器范圍可利用一個(gè)或一個(gè)以上存儲(chǔ)器組件或裝置。舉例來說,存儲(chǔ)器范圍可利用兩個(gè)DDR-SDRAM存儲(chǔ)器組件、與三個(gè)EEPROM存儲(chǔ)器組件組合的一個(gè)DDR-SDRAM存儲(chǔ)器組件,和/或?qū)嶋H和/或虛擬存儲(chǔ)器和/或數(shù)據(jù)存儲(chǔ)裝置的其他組合。此類裝置可接近或遠(yuǎn)離給定控制電子裝置。進(jìn)一步參看圖4,信任向量描述符也可用以部分地或整體地授權(quán)對(duì)應(yīng)于一個(gè)或一個(gè)以上上下文的外圍組件。舉例來說,信任向量描述符可授權(quán)經(jīng)由外圍接口408存取智能卡436、遙控裝置438、電視和/或其他外圍裝置中的一個(gè)或一個(gè)以上??赏ㄟ^條目指針和外圍范圍來(例如)在信任向量表中表示所述一個(gè)或一個(gè)以上外圍裝置??梢砸粋€(gè)或一個(gè)以上頭尾地址的形式來表達(dá)范圍。如結(jié)合圖2所解釋,可使用位圖來在上下文的信任向量描述符內(nèi)授權(quán)外圍裝置,例如,位圖“0101B”被解譯為授權(quán)外圍組件一(1)和三(3)。在圖4所示的實(shí)施例中,上下文管理器424負(fù)責(zé)管理安全處理器414和420上的安全上下文交換。在一個(gè)實(shí)施例中,在初始階段期間,也就是,在電視轉(zhuǎn)換器裝置400的啟動(dòng)過程期間,上下文管理器424從存儲(chǔ)器406接收針對(duì)一個(gè)或一個(gè)以上上下文的信任向量描述符。在信任向量描述符載入到上下文管理器424中之前,可通過驗(yàn)證信任向量描述符來檢驗(yàn)信任向量描述符的完整性。舉例來說,可通過使用散列函數(shù)計(jì)算摘要、用密鑰對(duì)摘要簽字以創(chuàng)建經(jīng)計(jì)算的簽名和將經(jīng)計(jì)算的簽名與參考簽名226(圖2)相比較來檢驗(yàn)信任向量描述符的完整性。在這個(gè)實(shí)例中,如果經(jīng)計(jì)算的簽名與參考簽名的比較 不匹配,那么可產(chǎn)生安全異?;蚩删婵刂齐娮友b置426,且上下文管理器424將不能夠啟用軟件。在至少一個(gè)實(shí)施例中,信任向量檢驗(yàn)器416和422可將信任向量描述符限制于存儲(chǔ)器406的某個(gè)范圍或某些范圍。舉例來說,在初始階段啟動(dòng)過程期間和在信任向量檢驗(yàn)器416和422從上下文管理器424接收到一個(gè)或一個(gè)以上命令之前,可從存儲(chǔ)器406的某個(gè)界定范圍或某些界定范圍且不從存儲(chǔ)器的其他范圍載入一個(gè)或一個(gè)以上信任向量描述符。在其他實(shí)施例中,也可針對(duì)一個(gè)或一個(gè)以上上下文驗(yàn)證存儲(chǔ)于從列出于信任向量描述符中的區(qū)210(圖2)到區(qū)212(圖2)的存儲(chǔ)器范圍中的代碼。同樣,上下文管理器424可存儲(chǔ)用于驗(yàn)證以進(jìn)行進(jìn)一步的上下文確認(rèn)的經(jīng)計(jì)算的散列。如關(guān)于至少一個(gè)實(shí)施例結(jié)合圖3所解釋的,安全處理器414和420可通過將信號(hào)(例如,對(duì)內(nèi)容交換的請(qǐng)求)傳輸?shù)缴舷挛墓芾砥?24來改變上下文。上下文管理器424在接收到一個(gè)或一個(gè)以上信任向量描述符的指定后檢驗(yàn)對(duì)應(yīng)于一個(gè)或一個(gè)以上上下文的程序存儲(chǔ)器范圍的確實(shí)性。一旦上下文存儲(chǔ)器范圍經(jīng)檢驗(yàn),上下文管理器424便向信任向量檢驗(yàn)器416和422通知對(duì)應(yīng)于經(jīng)檢驗(yàn)的上下文的用于載入信任向量描述符的存儲(chǔ)器406的范圍。在一個(gè)實(shí)施例中,在初始化后、連續(xù)地、隨機(jī)地、根據(jù)進(jìn)度表或響應(yīng)于某事件來檢驗(yàn)存儲(chǔ)器406的程序存儲(chǔ)器范圍和數(shù)據(jù)存儲(chǔ)器范圍的參考簽名。對(duì)應(yīng)于一個(gè)或一個(gè)以上上下文的存儲(chǔ)器406范圍和參考簽名可封入和/或存儲(chǔ)于不安全位置中。舉例來說,對(duì)應(yīng)于一個(gè)或一個(gè)以上上下文的存儲(chǔ)器406范圍和參考簽名可封入于定義標(biāo)頭中。另外,可使用非對(duì)稱密鑰來導(dǎo)出簽名。然而,應(yīng)了解,也可使用安全存儲(chǔ)的對(duì)稱密鑰來導(dǎo)出簽名。再次參看圖4,控制電子裝置404可包括主處理器操作環(huán)境404,其進(jìn)一步包括主處理器428和主信任向量檢驗(yàn)器430。在至少一個(gè)實(shí)施例中,主處理器環(huán)境404可用以執(zhí)行(例如)用戶接口和其他軟件例行程序。一般地,此類例行程序不需要與由安全處理器414和416所執(zhí)行的例行程序相同的安全級(jí)別。另外,不能夠執(zhí)行安全上下文交換的某些過程(例如,Linux操作系統(tǒng))一般由主處理器428而非安全處理器414執(zhí)行。另外,主環(huán)境可經(jīng)配置以包括經(jīng)配置以調(diào)解主處理器對(duì)一個(gè)或一個(gè)以上資源的存取的信任向量檢驗(yàn)器430。另外,可將上下文管理器從主環(huán)境排除且由此消除主處理器進(jìn)行的上下文交換。圖5提供用于至少一個(gè)實(shí)施例中的裝置的框圖。如所示,這個(gè)裝置500包括具有安全處理器410和上下文管理器424的安全操作環(huán)境502。另外,這個(gè)裝置包括含有主處 理器512的主處理環(huán)境404。安全處理器410與主處理器512經(jīng)由總線432互連。信任向量檢驗(yàn)器504、506和508連接到總線432且經(jīng)配置以調(diào)解安全處理器510和/或主處理器512對(duì)一個(gè)或一個(gè)以上資源的存取請(qǐng)求。信任向量檢驗(yàn)器504、506和508可經(jīng)配置以相對(duì)于安全處理器410異步地操作。更具體來說,上下文管理器424在初始階段(例如,啟動(dòng)序列)期間用與特定上下文或更通常地與安全級(jí)別有關(guān)的存儲(chǔ)器406范圍來載入信任向量檢驗(yàn)器504、506和508。這個(gè)上下文可接著用于處理器與資源之間的所有通信,直到執(zhí)行上下文改變且將新信任向量描述符載入到一個(gè)或一個(gè)以上向量檢驗(yàn)器中為止。因此,應(yīng)了解,安全處理器經(jīng)由其相關(guān)聯(lián)上下文管理器來確定其自身和主處理器所利用的向量檢驗(yàn)器的配置。在另一實(shí)施例中,個(gè)別組件可具有一個(gè)以上的信任向量檢驗(yàn)器,且一個(gè)以上的安全處理器可存取同一個(gè)檢驗(yàn)器模塊。舉例來說,在多安全處理器配置中,每組件多個(gè)信任向量檢驗(yàn)器準(zhǔn)許每組件兩個(gè)或兩個(gè)以上上下文的進(jìn)一步異步處置。在又一個(gè)實(shí)施例中,在無由信任向量檢驗(yàn)器504、506和508所調(diào)解的另一連接或除此連接以外,一個(gè)或一個(gè)以上組件單獨(dú)地連接到系統(tǒng)總線432?,F(xiàn)參看圖6,其針對(duì)本發(fā)明的至少一個(gè)實(shí)施例展示用于刷洗或驗(yàn)證用于軟件部分、信任向量描述符或數(shù)據(jù)的存儲(chǔ)器范圍的過程600。如所示,產(chǎn)生為驗(yàn)證指定的局部數(shù)據(jù)的散列(操作610)。舉例來說,控制電子裝置426(圖4)確定針對(duì)存儲(chǔ)器范圍的散列值或其他類似值。用密鑰對(duì)散列進(jìn)行簽字且由此產(chǎn)生經(jīng)計(jì)算的簽名(操作612)。在至少一個(gè)實(shí)施例中,可用公用密鑰對(duì)參考散列進(jìn)行簽字以產(chǎn)生經(jīng)計(jì)算的簽名。存儲(chǔ)經(jīng)計(jì)算的簽名以用于比較(操作613)。如圖6中進(jìn)一步展示,驗(yàn)證過程可包括檢索參考簽名(操作614)。對(duì)于至少一個(gè)實(shí)施例,上下文管理器106(圖1)檢索信任向量數(shù)據(jù)結(jié)構(gòu)的簽名字段226(圖2)或代碼簽名字段228(圖2)的參考簽名。然而,應(yīng)了解,可從不同數(shù)據(jù)結(jié)構(gòu)檢索或從另一組件接收參考簽名。舉例來說,上下文管理器可從安全存儲(chǔ)器檢索簽名。在至少一個(gè)實(shí)施例中,用私有密鑰對(duì)先前散列簽字以創(chuàng)建參考簽名。如圖6中進(jìn)一步展示,驗(yàn)證過程可包括將經(jīng)計(jì)算的簽名與參考簽名相比較(操作616)。就是說,上下文管理器106(圖1)可將通過用公用密鑰對(duì)散列簽字而創(chuàng)建的經(jīng)計(jì)算簽名與從信任向量數(shù)據(jù)結(jié)構(gòu)檢索的參考簽名在數(shù)學(xué)上相比較。應(yīng)了解,可通過逐位比較或其他計(jì)算過程來完成經(jīng)計(jì)算的簽名與參考簽名的比較。如果所述簽名相匹配,那么驗(yàn)證軟件部分、信任向量描述符或數(shù)據(jù)。驗(yàn)證過程任選地包括確定驗(yàn)證過程是否為連續(xù)的(操作618)。在至少一個(gè)實(shí)施例中,上下文管理器106(圖1)確定信任向量描述符中刷洗類型數(shù)據(jù)字段218(圖2)的設(shè)定值。舉例來說,如果在刷洗類型數(shù)據(jù)字段218中設(shè)定連續(xù)刷洗類型位,那么上下文管理器106(圖1)確定驗(yàn)證為連續(xù)的。應(yīng)了解,上下文管理器106(圖1)可通過檢查隨軟件部分、信任向量描述符或數(shù)據(jù)發(fā)送的標(biāo)頭中的值、通過檢索另一存儲(chǔ)器部分中的設(shè)定值或通過從另一組件接收指令來確定驗(yàn)證的類型。如果驗(yàn)證為連續(xù)的,那么圖6所示的驗(yàn)證過程的另一實(shí)施例可任選地包括等待一段時(shí)段以對(duì)同一個(gè)軟件部分、信任向量描述符或數(shù)據(jù)執(zhí)行另一驗(yàn)證(操作620)。在至少一個(gè)實(shí)施例中,上下文管理器106(圖1)等待預(yù)定的時(shí)段且接著完成對(duì)同一軟件部分、信任向量描述符或數(shù)據(jù)的另一驗(yàn)證。預(yù)定時(shí)段可為來自一秒、數(shù)秒、數(shù)分鐘、數(shù)小時(shí)、數(shù)日或同樣的一小部分的任何時(shí)段。在至少一個(gè)實(shí)施例中,上下文管理器106(圖1)中的計(jì)時(shí)器對(duì)預(yù)定時(shí)段進(jìn)行計(jì)數(shù)。在達(dá)到設(shè)定限制后,再次執(zhí)行驗(yàn)證過程。根據(jù)上文,一個(gè)實(shí)施例包括一種用于在安全計(jì)算環(huán)境中執(zhí)行軟件的系統(tǒng)。所述系統(tǒng)包括安全處理器,其經(jīng)配置以在從第一軟件部分到第二軟件部分切換執(zhí)行時(shí)請(qǐng)求從第一上下文到第二上下文的上下文交換。所述系統(tǒng)進(jìn)一步包括與安全處理器通信的上下文管理器,其經(jīng)配置以接收所請(qǐng)求的上下文交換且起始上下文交換。所述系統(tǒng)進(jìn)一步包括與安全處理器和上下文管理器通信的信任向量檢驗(yàn)器,其經(jīng)配置以依據(jù)來自上下文管理器的命令載入信任向量描述符。在至少一個(gè)實(shí)施例中,上下文管理器響應(yīng)于上下文交換來起始安全處理器的復(fù)位。在至少一個(gè)實(shí)施例中,上下文管理器將信任向量描述符與第二上下文相關(guān)聯(lián)。在至少一個(gè)實(shí)施例中,信任向量檢驗(yàn)器根據(jù)信任向量描述符控制安全處理器對(duì)一個(gè)或一個(gè)以上資源的存取。在至少一個(gè)實(shí)施例中,所述系統(tǒng)包括與上下文管理器通信的第二安全處理器。第二安全處理器執(zhí)行一個(gè)或一個(gè)以上其他軟件部分,且經(jīng)配置以在從第三軟件部分到第四軟件部分切換執(zhí)行時(shí)請(qǐng)求從第三上下文到第四上下文的上下文交換。所述系統(tǒng)也包括與第二安全處理器和上下文管理器通信的第二信任向量檢驗(yàn)器,其經(jīng)配置以依據(jù)來自上下文管理器的命令載入第二信任向量描述符。信任向量檢驗(yàn)器經(jīng)配置以根據(jù)第二信任向量描述符控制第二安全處理器對(duì)一個(gè)或一個(gè)以上資源的存取。在至少一個(gè)實(shí)施例中,所述系統(tǒng)包括經(jīng)配置以在靜態(tài)上下文中執(zhí)行軟件部分的主處理器。所述系統(tǒng)也包括與主處理器通信的主信任向量檢驗(yàn)器,其經(jīng)配置以載入信任向量描述符且控制主處理器在靜態(tài)上下文中對(duì)一個(gè)或一個(gè)以上資源的存取。在至少一個(gè)實(shí)施例中,所述系統(tǒng)包括與主信任向量檢驗(yàn)器通信的總線主控器,其經(jīng)配置以在靜態(tài)上下文中執(zhí)行操作。在至少一個(gè)實(shí)施例中,在靜態(tài)上下文中執(zhí)行的軟件部分為操作系統(tǒng)。另一個(gè)實(shí)施例包含一種用于在安全計(jì)算環(huán)境中執(zhí)行軟件的系統(tǒng)。所述系統(tǒng)包括兩個(gè)或兩個(gè)以上安全處理器,每一安全處理器經(jīng)配置以在從第一軟件部分到另一軟件部分切換執(zhí)行時(shí)請(qǐng)求從第一上下文到另一上下文的上下文交換。所述系統(tǒng)進(jìn)一步包括與所述兩個(gè)或兩個(gè)以上安全處理器中的每一者通信的上下文管理器,其經(jīng)配置以接收由所述兩個(gè)或兩個(gè)以上安全處理器中的至少一者請(qǐng)求的上下文交換。響應(yīng)于所接收到的請(qǐng)求,上下文管理器起始請(qǐng)求安全處理器的復(fù)位且將另一所請(qǐng)求上下文與第一信任向量描述符相關(guān)聯(lián),所述第一信任向量描述符經(jīng)配置以用于控制對(duì)至少一個(gè)資源的存取。上下文管理器進(jìn)一步起始到另一所請(qǐng)求上下文的交換。所述系統(tǒng)也包括經(jīng)配置以在靜態(tài)上下文中執(zhí)行操作系統(tǒng)的主處理器。所述系統(tǒng)也包括多個(gè)信任向量檢驗(yàn)器,其中每一信任向量檢驗(yàn)器與安全處理器中的至少一者和主處理器通信。信任向量檢驗(yàn)器經(jīng)配置以載入與所請(qǐng)求上下文相關(guān)聯(lián)的第一信任向量描述符或主信任向量描述符,所述主信任向量描述符經(jīng)配置以用于控制主處理器對(duì)一個(gè)或一個(gè)以上資源的存取。在至少一個(gè)實(shí)施例中,安全處理器中的一者經(jīng)配置以在從第一軟件部分到第二軟件部分切換執(zhí)行時(shí)請(qǐng)求從第一上下文到第二上下文的第一上下文交換。在至少一個(gè)實(shí)施例中,安全處理器中的一者經(jīng)配置以在從第三軟件部分到第四軟件部分切換執(zhí)行時(shí)請(qǐng)求從第三上下文到第四上下文的第二上下文交換。在至少一個(gè)實(shí)施例中,第二軟件部分與第四軟件部分大體上類似。另一實(shí)施例包含一種用于在接收到交換到用于軟件部分的上下文的請(qǐng)求后在安全操作環(huán)境中執(zhí)行軟件的方法。所述方法包括載入信任向量描述符,所述信任向量描述符經(jīng)配置以用于控制處理器的操作和復(fù)位處理器。在至少一個(gè)實(shí)施例中,信任向量描述符界定處理器對(duì)一個(gè)或一個(gè)以上外圍裝置的存取,且信任向量檢驗(yàn)器控制處理器對(duì)所述一個(gè)或一個(gè)以上外圍裝置的存取。在至少一個(gè)實(shí)施例中,信任向量描述符包含位圖。在至少一個(gè)實(shí)施例中,所述方法進(jìn)一步包括驗(yàn)證軟件部分。在至少一個(gè)實(shí)施例中,驗(yàn)證操作包括產(chǎn)生軟件部分的散列、對(duì)所產(chǎn)生的散列簽字以創(chuàng)建經(jīng)計(jì)算的簽名、檢索參考簽名以及將參考簽名與經(jīng)計(jì)算的簽名相比較。如果簽名相同,那么所述方法進(jìn)一步包括允許執(zhí)行軟件部分。在至少一個(gè)實(shí)施例中,所述方法包括等待一段時(shí)段和執(zhí)行軟件部分的第二次驗(yàn)證。在至少一個(gè)實(shí)施例中,第二次驗(yàn)證發(fā)生在軟件驗(yàn)證為連續(xù)時(shí)。在至少一個(gè)實(shí)施例中,所述方法包括從安全處理器接收資源請(qǐng)求和確定資源請(qǐng)求是否符合信任向量描述符。如果資源請(qǐng)求不符合信任向量描述符,那么所述方法包括觸發(fā)安全異常和復(fù)位安全處理器。在至少一個(gè)實(shí)施例中,所述方法進(jìn)一步包括確定安全異常是否為第二安全異常。如果安全異常并非第二安全異常,那么所述方法包括在復(fù)位安全處理器之前等待一段時(shí)段。如果安全異常為第二安全異常,那么所述方法進(jìn)一步包括復(fù)位安全處理器而無需等待所述時(shí)段。一個(gè)實(shí)施例為一種設(shè)備,其包括安全處理器,所述安全處理器經(jīng)配置以請(qǐng)求到用于軟件部分的上下文的上下文交換和通過產(chǎn)生軟件部分的散列來驗(yàn)證軟件部分。安全處理器經(jīng)進(jìn)一步配置以對(duì)所產(chǎn)生的散列簽字以創(chuàng)建經(jīng)計(jì)算的簽名、檢索參考簽名和將參考簽名與經(jīng)計(jì)算的簽名相比較。如果簽名相同,那么安全處理器允許執(zhí)行軟件部分。所述設(shè)備也包括上下文管理器,其經(jīng)配置以接收所請(qǐng)求的上下文交換、將信任向量描述符載入到信任向量檢驗(yàn)器中和復(fù)位安全處理器。所述裝置也包括信任向量檢驗(yàn)器,其經(jīng)配置以從安全處理器接收資源請(qǐng)求和確定資源請(qǐng)求是否符合信任向量描述符。信任向量檢驗(yàn)器也經(jīng)配置以在資源請(qǐng)求不符合信任向量描述符時(shí)觸發(fā)安全異常且確定安全異常是否為第二安全異常。如果安全異常并非第二安全異常,那么信任向量檢驗(yàn)器在復(fù)位安全處理器之前等待一段時(shí)段。然而,如果安全異常為第二安全異常,那么信任向量檢驗(yàn)器復(fù)位安全處理器而無需等待所述時(shí)段。另一實(shí)施例包含一種具有經(jīng)編碼數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀媒體,所述數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)系統(tǒng)上執(zhí)行用以控制安全處理器的執(zhí)行。所述數(shù)據(jù)結(jié)構(gòu)包含一個(gè)或一個(gè)以上上下文,其中每一上下文包含識(shí)別上下文的上下文識(shí)別字段、指定安全處理器可存取的存儲(chǔ)器區(qū)的存儲(chǔ)器數(shù)據(jù)區(qū),和指定安全處理器可存取的硬件資源的硬件信任向量。所述計(jì)算機(jī)系統(tǒng)經(jīng)配置以基于硬件信任向量確定安全處理器是否可存取硬件資源。在至少一個(gè)實(shí)施例中,硬件信任向量為識(shí)別允許安全處理器所進(jìn)行的存取的類型的位圖。在至少一個(gè)實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括代碼開始地址字段。在至少一個(gè)實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括代碼結(jié)束地址字段。在至少一個(gè)實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括密鑰號(hào)字段、目標(biāo)處理器字段、向量號(hào)字段、刷洗類型字段、處理器啟動(dòng)地址字段、信任向量描述符簽名字段,和代碼簽名字段。在至少一個(gè)實(shí)施例中,代碼開始地址字段和代碼結(jié)束地址字段界定用于在上下文中 執(zhí)行的軟件部分的程序存儲(chǔ)器范圍。在至少一個(gè)實(shí)施例中,刷洗類型字段指定軟件部分的驗(yàn)證是否為連續(xù)的。另一個(gè)實(shí)施例為一種計(jì)算機(jī)系統(tǒng),其包含安全處理器和計(jì)算機(jī)可讀媒體。計(jì)算器可讀媒體包括具有供安全處理器執(zhí)行的一個(gè)或一個(gè)以上上下文的經(jīng)編碼數(shù)據(jù)結(jié)構(gòu)。每一上下文包含上下文識(shí)別字段、指定安全處理器可存取哪些硬件資源的硬件信任向量、代碼開始地址字段、代碼結(jié)束地址字段,和處理器啟動(dòng)地址字段。代碼開始地址字段和代碼結(jié)束地址字段界定用于在上下文中執(zhí)行的軟件部分的程序存儲(chǔ)器范圍。所述計(jì)算機(jī)系統(tǒng)經(jīng)配置以基于硬件信任向量確定安全處理器是否可存取硬件資源。在至少一個(gè)實(shí)施例中,上下文包含目標(biāo)處理器字段。另一個(gè)實(shí)施例包含一種用于保護(hù)計(jì)算系統(tǒng)免受惡意軟件損害的方法。所述方法包括載入信任向量描述符,所述信任向量描述符界定上下文。所述方法進(jìn)一步包括接收惡意軟件和嘗試執(zhí)行惡意軟件中的指令。所述方法進(jìn)一步包括辨識(shí)出所述指令為上下文的異常、防止所述指令執(zhí)行和復(fù)位安全處理器。在至少一個(gè)實(shí)施例中,所述方法包括接收針對(duì)惡意軟件的上下文交換。在至少一個(gè)實(shí)施例中,所述方法包括識(shí)別惡意軟件。在至少一個(gè)實(shí)施例中,識(shí)別惡意軟件進(jìn)一步包括產(chǎn)生惡意軟件的散列、由散列創(chuàng)建經(jīng)計(jì)算的簽名、檢索參考簽名和將經(jīng)計(jì)算的簽名與參考簽名相比較。如果經(jīng)計(jì)算的簽名與參考簽名不同,那么所述方法進(jìn)一步包括防止指令執(zhí)行。在至少一個(gè)實(shí)施例中,所述方法包括識(shí)別信任向量描述符。在至少一個(gè)實(shí)施例中,指令存儲(chǔ)于在上下文中不可存取的存儲(chǔ)器區(qū)中。在至少一個(gè)實(shí)施例中,指令嘗試對(duì)在上下文中不可存取的外圍裝置或存儲(chǔ)器位置的存取。雖然在上文已論述許多示范性方面和實(shí)施例,但所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到其某些修改、排列、添加和子組合。因此,所附權(quán)利要求書和隨后引入的權(quán)利要求希望被解譯為包括在其真實(shí)精神和范圍內(nèi)的所有此類修改、排列、添加和子組合。