專利名稱:用于保護(hù)數(shù)據(jù)處理和傳送安全的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及使用多處理器架構(gòu)來(lái)保護(hù)數(shù)據(jù)處理安全以在例如寬帶環(huán)境中保 護(hù)數(shù)據(jù)處理安全的方法和設(shè)備。
背景技術(shù):
實(shí)時(shí)、多媒體、網(wǎng)絡(luò)應(yīng)用正在變得越來(lái)越重要。這些網(wǎng)絡(luò)應(yīng)用需要諸如每 秒許多千兆比特?cái)?shù)據(jù)之類的非常快速的處理速度。諸如因特網(wǎng)之類的傳統(tǒng)網(wǎng)絡(luò) 架構(gòu)和在例如現(xiàn)在在Java模型中實(shí)現(xiàn)的編程模型已經(jīng)使得非常難于達(dá)到這種處 理速度。
從原則上來(lái)說(shuō),針對(duì)單機(jī)(stand-alone )計(jì)算設(shè)計(jì)了傳統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)(例如, 在辦公網(wǎng)絡(luò)中所使用的局域網(wǎng)(LAN)和諸如因特網(wǎng)之類的全球網(wǎng)絡(luò))的計(jì)算 機(jī)和計(jì)算裝置。在計(jì)算機(jī)網(wǎng)絡(luò)上共享數(shù)據(jù)和應(yīng)用程序(應(yīng)用)不是這些計(jì)算機(jī) 和計(jì)算裝置的原則性設(shè)計(jì)目標(biāo)。通常還使用由許多不同制造商(例如,摩托羅 拉、英特爾、德州儀器、索尼等)所制造的許多種不同處理器來(lái)設(shè)計(jì)這些計(jì)算 機(jī)和計(jì)算裝置。這些處理器的每一種都具有其自己特定的指令集和指令集架構(gòu) (ISA),即,其自己的匯編語(yǔ)言指令的特殊集和用于主要計(jì)算單元以及用于執(zhí) 行這些指令的存儲(chǔ)器單元的結(jié)構(gòu)。因此,需要程序員理解每種處理器的指令集 和ISA以為這些處理器編寫(xiě)應(yīng)用。在今天的計(jì)算機(jī)網(wǎng)絡(luò)上的計(jì)算機(jī)和計(jì)算裝置 的這種異構(gòu)組合使得數(shù)據(jù)和應(yīng)用的處理和共享變得復(fù)雜。而且,通常需要相同 應(yīng)用的多個(gè)版本以適應(yīng)這種異構(gòu)環(huán)境。
連接到全球網(wǎng)絡(luò)(特別是因特網(wǎng))的計(jì)算機(jī)和計(jì)算裝置的類型是非常廣泛 的。除個(gè)人計(jì)算機(jī)(PC)和服務(wù)器之外,這些計(jì)算裝置還包括蜂窩電話、移動(dòng)計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、機(jī)頂盒、數(shù)字電視等。在這些種類的計(jì)算機(jī)和 計(jì)算裝置之間共享數(shù)據(jù)和應(yīng)用存在嚴(yán)重的問(wèn)題。
作為克服這些問(wèn)題的努力已經(jīng)使用了許多技術(shù)。這些技術(shù)包括高級(jí)接口和 復(fù)雜編程技術(shù)等。這些解決方案通常需要顯著增加處理能力以進(jìn)行實(shí)施。它們 還常常導(dǎo)致處理應(yīng)用和在網(wǎng)絡(luò)上傳送數(shù)據(jù)所需要的時(shí)間的增加。
通常,將數(shù)據(jù)與對(duì)應(yīng)的應(yīng)用分離地址因特網(wǎng)上進(jìn)行傳送。這種方式避免了 與應(yīng)用對(duì)應(yīng)的所傳送的數(shù)據(jù)的每個(gè)集一起來(lái)發(fā)送應(yīng)用的需要。雖然這種方法將 所需要的帶寬量最小化,但是其通常導(dǎo)致用戶之間的失望。在客戶計(jì)算機(jī)上可 能不能獲得用于所傳送的數(shù)據(jù)的正確應(yīng)用或者最新的應(yīng)用。這種方法還需要為
在網(wǎng)絡(luò)上的處理器所使用的多個(gè)不同ISA和指令集編寫(xiě)每個(gè)應(yīng)用的幾個(gè)版本。
Java模型試圖解決這種問(wèn)題。該模型使用符合嚴(yán)格安全協(xié)議的小應(yīng)用("小 應(yīng)用程序(applet)")。將小應(yīng)用程序從服務(wù)器計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)進(jìn)行發(fā)送以由客 戶計(jì)算機(jī)("客戶機(jī)")運(yùn)行。為了避免必須發(fā)送不同版本的相同的小應(yīng)用程序 給使用不同ISA的客戶機(jī),所有Java小應(yīng)用程序都在客戶機(jī)的Java虛擬機(jī)上運(yùn) 行。Java虛擬機(jī)是模仿具有Java ISA和Java指令集的計(jì)算機(jī)的軟件。然而,該 軟件運(yùn)行在客戶機(jī)的ISA和客戶機(jī)的指令集上。針對(duì)客戶機(jī)的每種不同ISA和 指令集提供Java虛擬機(jī)的版本。因此不需要每種小應(yīng)用程序的多個(gè)不同版本。 每個(gè)客戶機(jī)僅僅下載用于其特定ISA和指令集的正確Java虛擬機(jī)以運(yùn)行所有 Java小程序。
雖然對(duì)必須為每種不同ISA和指令集編寫(xiě)不同版本的應(yīng)用的問(wèn)題提供了解 決方案,但是Java處理模型需要客戶計(jì)算機(jī)上的額外層的軟件。該額外層的軟 件顯著降低處理器的處理速度。這種速度的降低對(duì)于實(shí)時(shí)、多媒體應(yīng)用特別顯 著。下載的Java小應(yīng)用程序還可能包含病毒、處理誤操作等。這些病毒和誤操 作可以破壞客戶機(jī)的數(shù)據(jù)庫(kù)并且導(dǎo)致其他損壞。雖然在Java模型中所使用的安 全協(xié)議試圖通過(guò)實(shí)施軟件"沙箱(sandbox)"(即Java小應(yīng)用程序超過(guò)其就不能 寫(xiě)數(shù)據(jù)的客戶機(jī)存儲(chǔ)器中的空間)來(lái)克服這種問(wèn)題,但是這種軟件驅(qū)動(dòng)的安全 模型在其實(shí)施中常常是不安全的,甚至需要更多的處理。
因此,在現(xiàn)有技術(shù)中需要用于在單元(cell)架構(gòu)中保護(hù)數(shù)據(jù)的處理安全的 新方法和設(shè)備
發(fā)明內(nèi)容
已經(jīng)開(kāi)發(fā)了新的計(jì)算機(jī)(和網(wǎng)絡(luò))架構(gòu)來(lái)克服至少某些上述問(wèn)題。根據(jù)這 種新的計(jì)算機(jī)架構(gòu),從公共計(jì)算機(jī)模塊(或者單元)中構(gòu)造計(jì)算機(jī)網(wǎng)絡(luò)的所有 成員,即網(wǎng)絡(luò)的所有計(jì)算機(jī)和計(jì)算裝置。這種公共計(jì)算機(jī)模塊具有相容結(jié)構(gòu)并 且最好使用相同的ISA。網(wǎng)絡(luò)的成員可以是例如使用計(jì)算機(jī)處理器的客戶機(jī)、服
務(wù)器、PC、移動(dòng)計(jì)算機(jī)、游戲機(jī)、PAD、機(jī)頂盒、電器、數(shù)字電視等設(shè)備。該 相容模塊結(jié)構(gòu)使得能夠由網(wǎng)絡(luò)成員有效、高速地處理應(yīng)用和數(shù)據(jù),以及在網(wǎng)絡(luò) 上快速傳送應(yīng)用和數(shù)據(jù)。這種結(jié)構(gòu)還簡(jiǎn)化了各種規(guī)模和處理能力的網(wǎng)絡(luò)成員的 建造以及用于這些成員的處理的應(yīng)用的準(zhǔn)備。
新的計(jì)算機(jī)架構(gòu)還使用新的編程模型,其提供用于在網(wǎng)絡(luò)上傳送數(shù)據(jù)和應(yīng) 用并且用于在網(wǎng)絡(luò)成員之間處理數(shù)據(jù)和應(yīng)用。這種編程模型針對(duì)任何網(wǎng)絡(luò)成員 的處理使用在網(wǎng)絡(luò)上傳送的軟件單元。每個(gè)軟件單元具有相同的結(jié)構(gòu)并且可以 包含應(yīng)用和數(shù)據(jù)兩者。作為模塊計(jì)算機(jī)架構(gòu)所提供的高速處理和傳送速度的結(jié) 果,可以快速地處理這些單元。用于應(yīng)用的代碼最好基于相同的公共指令集和 ISA。每個(gè)軟件單元最好包含全局標(biāo)識(shí)(全局ID )和描述該單元的處理所需要的 計(jì)算機(jī)資源量的信息。由于所有計(jì)算資源都具有相同的基本結(jié)構(gòu)并且使用相同 的ISA,所以執(zhí)行這種處理的特定資源可以位于網(wǎng)絡(luò)上的任何位置并且進(jìn)行動(dòng)態(tài) 分配。
基本處理模塊是處理器元件(PE)。 PE最好包括處理單元(PU)、直接存儲(chǔ) 器存取控制器(DMA)和多個(gè)附連處理單元(attached processing unit, APU)(諸 如四個(gè)APU ),它們都在公共接口地址和數(shù)據(jù)總線上連接。PU和APU與共享的 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)互動(dòng),該DRAM可以具有縱橫架構(gòu)(cross-bar architecture )。 PU調(diào)度和配合APU的數(shù)據(jù)和應(yīng)用的處理。APU以并行和獨(dú)立的 方式執(zhí)行該處理。DMAC控制PU和APU對(duì)共享DRAM中所存儲(chǔ)的數(shù)據(jù)和應(yīng) 用的存取。
根據(jù)該模塊結(jié)構(gòu),由網(wǎng)絡(luò)成員所使用的PE數(shù)量基于該成員所需要的處理能 力。例如,服務(wù)器可以使用四個(gè)PE ,工作站可以使用兩個(gè)PE,而PAD可以使 用 一個(gè)PE。分配用于處理特定軟件單元的PE的APU的數(shù)量依賴于該單元內(nèi)的 程序和數(shù)據(jù)的復(fù)雜度和量級(jí)。
多個(gè)PE可以與共享DRAM相關(guān)聯(lián),并且可以將DRAM分隔為多個(gè)部分, 這些部分中的每一個(gè)分隔為多個(gè)存儲(chǔ)體(memory bank )??梢杂纱鎯?chǔ)體控制器 來(lái)控制DRAM的每個(gè)部分,而且PE的每個(gè)DMAC可以存取每個(gè)存儲(chǔ)體控制器。在這種結(jié)構(gòu)中,每個(gè)PE的DMAC可以存取共享DRAM的任何部分。
DRAM可以包括沙盒以提供針對(duì)正在由一個(gè)APU所處理的程序的數(shù)據(jù)對(duì)正 在由另一個(gè)APU所處理的程序的數(shù)據(jù)的損壞的安全級(jí)別。每個(gè)沙盒定義共享 DRAM的一個(gè)區(qū)域,特定APU或者APU組不能超出該區(qū)域讀寫(xiě)數(shù)據(jù)。
雖然沙盒的使用提供針對(duì)數(shù)據(jù)破壞的某種安全措施,但是其不應(yīng)對(duì)故意的 軟件盜版的問(wèn)題。由于在給定PE內(nèi)的多個(gè)APU通過(guò)公共內(nèi)部總線連接,所以 在一個(gè)APU上運(yùn)行的軟件可以由另一個(gè)APU監(jiān)視。在寬帶網(wǎng)絡(luò)的情況中,最 好在給定PE內(nèi)的兩個(gè)和多個(gè)APU運(yùn)行不同的應(yīng)用程序。為了確保高系統(tǒng)靈活 性,最好允許這些軟件程序從諸如不同軟件開(kāi)發(fā)^^司之類的不同的實(shí)體獲得。 在某些實(shí)例下,軟件開(kāi)發(fā)公司可以保證其軟件應(yīng)用是安全的,而且不被復(fù)制或 者另外地監(jiān)4見(jiàn)。
根據(jù)本發(fā)明的一個(gè)或多個(gè)方面,設(shè)備包括本地存儲(chǔ)器;總線,可操作來(lái) 將信息攜帶到該本地存儲(chǔ)器或者從該本地存儲(chǔ)器中攜帶出信息; 一個(gè)或多個(gè)算 術(shù)處理單元,可以操作來(lái)處理數(shù)據(jù)并且可操作地連4矣到該本地存儲(chǔ)器;以及安 全電路,可以操作來(lái)將該設(shè)備置于多個(gè)可操作模式中的至少一個(gè)中,包括該設(shè) 備和外部裝置可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第一模式, 該設(shè)備和外部裝置都不啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第二 模式,和該設(shè)備可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送而外部設(shè) 備不能啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第一模式的第三模式。
根據(jù)本發(fā)明的進(jìn)一步一個(gè)或者多個(gè)方面,可以操作安全電路以將該設(shè)備置 于兩種操作模式中的至少一種中,其中該兩種操作模式包括以下之一(i)該設(shè) 備和外部裝置可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第一;f莫式, 和該設(shè)備可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送而外部設(shè)備不能 啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第三模式;和(ii)該設(shè)備和 外部裝置都不啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第二模式,以 及該第三模式。
該安全電路最好包括在該安全電路之外的裝置不可存取的秘密數(shù)據(jù)區(qū)域, 而且該秘密數(shù)據(jù)區(qū)域包含第一密鑰和第二密鑰。該安全電路還最好包括該安全 電路之外的裝置可以存取的可存取數(shù)據(jù)區(qū)域。進(jìn)一步,該安全電路包括邏輯電 路,其可以操作以在該設(shè)備處于第二模式中時(shí)將第一密鑰的復(fù)制件置于可存取 數(shù)據(jù)區(qū)域中。最好,將第一密鑰和第二密鑰在受控過(guò)程中存儲(chǔ)在秘密數(shù)據(jù)區(qū)域中,從而在使用該設(shè)備之間維持安全性。
最好當(dāng)該設(shè)備運(yùn)行驗(yàn)證例程時(shí)該安全電路將該設(shè)備置于第二模式中,該例 程包括執(zhí)行解密程序并且執(zhí)行驗(yàn)證程序,該驗(yàn)證程序包括第二密鑰的復(fù)制件, 而根據(jù)第一密鑰已經(jīng)加密了該驗(yàn)證程序。該設(shè)備執(zhí)行解密程序,使得在可存取 數(shù)據(jù)區(qū)域中所包含的第 一密鑰的復(fù)制件用于解密驗(yàn)證程序。
該安全電路的邏輯電路最好響應(yīng)于驗(yàn)證程序的執(zhí)行將第二密鑰的復(fù)制件置
于可存取數(shù)據(jù)區(qū)域中;以及該邏輯電路進(jìn)行關(guān)于在-瞼證程序內(nèi)所包含的第二密 鑰的復(fù)制件是否匹配于在可存取數(shù)據(jù)區(qū)域中所包含的第二密鑰的復(fù)制件的確定。
可以操作該安全電路以在驗(yàn)證程序內(nèi)所包含的第二密鑰的復(fù)制件匹配于可 存取數(shù)據(jù)區(qū)域中所包含的第二密鑰的復(fù)制件時(shí)將該設(shè)備置于第三模式。
根據(jù)本發(fā)明的進(jìn)一步的一個(gè)或多個(gè)方面,將多個(gè)上述設(shè)備放置在單裝置中。
根據(jù)本發(fā)明的進(jìn)一步的一個(gè)或多個(gè)方面,方法包括將設(shè)備置于多個(gè)可操作 模式中的至少一個(gè)中,其中該設(shè)備包括本地存儲(chǔ)器;總線,可操作來(lái)將信息 攜帶到該本地存儲(chǔ)器或者從該本地存儲(chǔ)器中攜帶出信息; 一個(gè)或多個(gè)算術(shù)處理 單元,可以操作來(lái)處理數(shù)據(jù)并且可操作地連接到該本地存儲(chǔ)器;以及安全電路, 可以操作來(lái)將該設(shè)備置于操作模式;以及多個(gè)操作^t式包括該設(shè)備和外部裝置 可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第一模式,該設(shè)備和外 部裝置都不啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第二模式,和該 設(shè)備可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送而外部設(shè)備不能啟動(dòng) 通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的信息傳送的第一模式的第三模式。
根據(jù)本發(fā)明的進(jìn)一步的一個(gè)或多個(gè)方面,設(shè)備包括主處理單元;多個(gè)附 連處理單元,每個(gè)包括本地存儲(chǔ)器和譯碼單元,并且每個(gè)可以操作來(lái)進(jìn)入普通 操模式或者安全操作模式;和共享存儲(chǔ)器,其中當(dāng)旁路解密單元的附連處理 單元中給定的一個(gè)處于普通模式時(shí),該主處理單元能夠啟動(dòng)共享存儲(chǔ)器和該給 定附連處理單元之間的數(shù)據(jù)傳送,以及該主處理單元不能(i)啟動(dòng)從該給定附 連處理單元到共享存儲(chǔ)器的數(shù)據(jù)傳送;或者(ii)當(dāng)該給定附連處理單元處于安 全模式時(shí),啟動(dòng)從共享存儲(chǔ)器到旁路解密單元的該給定附連處理單元的數(shù)據(jù)傳 送。
附連處理單元最好能夠啟動(dòng)與共享存儲(chǔ)器的數(shù)據(jù)傳送,而不論它們處于普 通操模式還是安全操作模式中??梢圆僮鞲竭B處理單元以在硬件重置條件和開(kāi)機(jī)條件中至少 一個(gè)時(shí)進(jìn)入安全操;漢式。
每個(gè)附連處理單元最好包括包含基本上唯一的密鑰的安全存儲(chǔ)器,可以只 由該給定附連處理單元的解密單元的至少一個(gè)存取該存儲(chǔ)器。每個(gè)附連處理單 元的解密單元最好使用密鑰來(lái)解密從共享存儲(chǔ)器傳送到本地存儲(chǔ)器的數(shù)據(jù),這 種數(shù)據(jù)傳送是當(dāng)該給定附連處理單元處于安全搮模式時(shí)由主處理單元所啟動(dòng) 的。每個(gè)附連處理單元與基本上唯一的ID關(guān)聯(lián),至少一個(gè)該給定附連處理單元 是外部的實(shí)體和該設(shè)備可以知道該ID。
最好由該設(shè)備外部的安全實(shí)體加密經(jīng)加密的數(shù)據(jù),授權(quán)該安全實(shí)體使用該
給定附連處理單元的密鑰。該安全實(shí)體可以包括包含參與的附連處理單元的ID 和密鑰的數(shù)據(jù)庫(kù),用于給定附連處理單元的每個(gè)ID和密鑰彼此關(guān)聯(lián)。在不安全 實(shí)體提供與密鑰關(guān)聯(lián)的ID給該安全實(shí)體之后,利用用給定附連處理單元的密鑰, 該安全實(shí)體加密從不被授權(quán)使用給定附連處理單元的密鑰的不安全實(shí)體接收來(lái) 的數(shù)據(jù)。
最好,該安全實(shí)體可以操作來(lái)將加密的數(shù)據(jù)提供給不安全實(shí)體;可以操作 不安全實(shí)體以提供加密的數(shù)據(jù)給該設(shè)備以存儲(chǔ)在共享存儲(chǔ)器中;可以操作主處 理單元以啟動(dòng)從共享存儲(chǔ)器到給定附連處理單元的加密數(shù)據(jù)的傳送,使得加密 的數(shù)據(jù)輸入到解密單元中;以及可以操作給定附連處理單元的解密單元以使用 給定附連處理單元的密鑰來(lái)解密所加密的數(shù)據(jù),使得數(shù)據(jù)存儲(chǔ)在給定附連處理 單元的本地存儲(chǔ)器中。
替代地,不被授權(quán)來(lái)使用給定附連處理單元的密鑰的不安全實(shí)體提供加密 的數(shù)據(jù)給安全實(shí)體,并且將與給定附連處理單元相關(guān)聯(lián)的ID^是供給安全實(shí)體。 該安全實(shí)體最好使用第二對(duì)稱密鑰來(lái)解密不安全實(shí)體所提供的經(jīng)加密的數(shù)據(jù), 并且使用與從不安全實(shí)體接收來(lái)的ID相關(guān)聯(lián)的給定附連處理單元的密鑰來(lái)加密 數(shù)據(jù)。
不安全實(shí)體最好使用第一對(duì)稱密鑰來(lái)加密給定附連處理器單元的數(shù)據(jù)和
ID,并且將經(jīng)加密的數(shù)據(jù)/ID提供給安全實(shí)體。最后,可以操作安全實(shí)體以使用 第二對(duì)稱密鑰加密經(jīng)加密的數(shù)據(jù),并且提供經(jīng)過(guò)加密的經(jīng)加密數(shù)據(jù)給不安全實(shí) 體;可以操作不安全實(shí)體來(lái)使用第一對(duì)稱密鑰解密經(jīng)過(guò)加密的經(jīng)加密數(shù)據(jù)以獲 得使用給定附連處理單元的密鑰所產(chǎn)生的經(jīng)加密數(shù)據(jù),并且提供經(jīng)加密的數(shù)據(jù) 給設(shè)備以存儲(chǔ)在共享存儲(chǔ)器中;可以操作主處理單元以啟動(dòng)從共享存儲(chǔ)器到給 定附連處理單元的加密數(shù)據(jù)的傳送,使得將經(jīng)加蜜的數(shù)據(jù)輸入到解密單元;以及,可以操作給定附連處理單元的解密單元以使用給定附連處理單元的密鑰來(lái) 解密經(jīng)加密的數(shù)據(jù),使得數(shù)據(jù)存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中。
在進(jìn)一步的替代方式中,數(shù)據(jù)是解密程序;不凈皮授權(quán)使用給定附連處理單 元的密鑰的不安全實(shí)體使用第一對(duì)稱密鑰加密該解密程序,提供經(jīng)加密的解密
程序給安全實(shí)體,并且提供與給定附連處理單元相關(guān)聯(lián)的ID給安全實(shí)體;以及, 安全實(shí)體使用第二對(duì)稱密鑰解密由不安全實(shí)體所提供的經(jīng)加密的解密程序,并 且使用與從不安全實(shí)體接收來(lái)的ID相關(guān)聯(lián)的給定附連處理單元的密鑰來(lái)加密解 密程序和第二對(duì)稱密鑰。不安全實(shí)體最好使用第一對(duì)稱密鑰來(lái)加密解密程序和 給定附連處理單元的ID,并且提供經(jīng)加密的解密程序/ID給安全實(shí)體。
最好,安全實(shí)體可以操作來(lái)使用第二對(duì)稱密鑰加密經(jīng)加密的解密程序和第 二對(duì)稱密鑰,并且提供經(jīng)過(guò)加密的經(jīng)加密的解密程序/第二對(duì)稱密鑰給不安全實(shí) 體;不安全實(shí)體可以操作來(lái)使用第一對(duì)稱密鑰對(duì)經(jīng)過(guò)加密的經(jīng)加密的解密程序/ 第二對(duì)稱密鑰進(jìn)行解密,以獲得使用給定附連處理單元的密鑰所產(chǎn)生的經(jīng)加密 的解密程序/第二對(duì)稱密鑰,并且提供經(jīng)加密的解密程序/第二對(duì)稱密鑰給設(shè)備以 存儲(chǔ)在共享存儲(chǔ)器中;主處理單元可以操作來(lái)啟動(dòng)經(jīng)加密的解密程序/第二對(duì)稱 密鑰從共享存儲(chǔ)器到給定附連處理單元的傳送,以便經(jīng)加密的解密程序/第二對(duì) 稱密鑰輸入到解密單元;以及,給定附連處理單元的解密單元可以操作來(lái)使用 給定附連處理單元的密鑰對(duì)經(jīng)加密的解密程序/第二對(duì)稱密鑰進(jìn)行解密,以便解 密程序和第二對(duì)稱密鑰存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中。
進(jìn)一步,不安全實(shí)體可以操作來(lái)使用第一對(duì)稱密鑰加密數(shù)據(jù),并且將經(jīng)加 密的數(shù)據(jù)提供給設(shè)備以存儲(chǔ)在共享存儲(chǔ)器中。給定附連處理單元能夠?qū)?lái)自共 享存儲(chǔ)器的經(jīng)加密的數(shù)據(jù)接收到旁路解密單元的本地存儲(chǔ)器中。當(dāng)從給定存儲(chǔ) 器將經(jīng)加密的數(shù)據(jù)接收到本地存儲(chǔ)器時(shí),給定附連處理單元可以處于普通模式 或者安全模式。給定附連處理單元可以操作來(lái)使用解密程序和第二對(duì)稱密鑰對(duì) 經(jīng)加密的數(shù)據(jù)進(jìn)行解密。主處理單元可以操作來(lái)啟動(dòng)經(jīng)加密的數(shù)據(jù)從共享存儲(chǔ) 器到旁路解密單元的給定附連處理單元的本地存儲(chǔ)器的傳送。
當(dāng)結(jié)合附圖理解下面描述時(shí),本發(fā)明的其他方面、特點(diǎn)和優(yōu)點(diǎn)將對(duì)于本領(lǐng) 域的技術(shù)人員顯而易見(jiàn)。
為了示例的目地,在附圖中示出了現(xiàn)在優(yōu)選的形式,但是應(yīng)該理解,本發(fā)明不限于所示的確切安排和措施。
圖1示出了根據(jù)本發(fā)明的一個(gè)或者多個(gè)方面的示例計(jì)算機(jī)網(wǎng)絡(luò)的總體架構(gòu);
圖2示出了根據(jù)本發(fā)明的一個(gè)或者多個(gè)方面的多處理器系統(tǒng)的框圖; 圖3是示出根據(jù)本發(fā)明的一個(gè)或者多個(gè)方面的圖2的系統(tǒng)的安全電路的結(jié) 構(gòu)的框圖4是示出根據(jù)本發(fā)明的一個(gè)或者多個(gè)方面,可以由圖2的系統(tǒng)執(zhí)行以實(shí) 現(xiàn)驗(yàn)證例程的過(guò)程步驟的一部分的流程圖5是示出根據(jù)本發(fā)明的一個(gè)或者多個(gè)方面,可以由圖2的系統(tǒng)執(zhí)行以實(shí) 現(xiàn)驗(yàn)證例程的過(guò)程步驟的一部分的流程圖6是示出根據(jù)本發(fā)明的一個(gè)或者多個(gè)方面,可以由圖2的系統(tǒng)執(zhí)行以實(shí) 現(xiàn)驗(yàn)證例程的過(guò)程步驟的 一部分的流程圖7是示出可以用于實(shí)施本發(fā)明的一個(gè)或者多個(gè)方面的優(yōu)選處理器元件 (PE)的沖匡圖8是示出才艮據(jù)本發(fā)明的進(jìn)一步一個(gè)或多個(gè)方面可以適應(yīng)的圖7的系統(tǒng)的
示例子處理單元(SPU)的結(jié)構(gòu)的框圖9是示出根據(jù)本發(fā)明的進(jìn)一步一個(gè)或者多個(gè)方面可以適應(yīng)的圖7的系統(tǒng)
的示例處理單元(PU)的結(jié)構(gòu)的框圖IO是才艮據(jù)本發(fā)明的一個(gè)或者多個(gè)方面具有安全特點(diǎn)的處理器的框圖; 圖ll是使用圖IO的處理器以使用本發(fā)明的特定安全特點(diǎn)的系統(tǒng)的框圖; 圖12是使用圖10的處理器以使用根據(jù)本發(fā)明的進(jìn)一步的安全特點(diǎn)的系統(tǒng)
的框圖13是使用圖10的處理器以使用根據(jù)本發(fā)明的再進(jìn)一步的安全特點(diǎn)的系 統(tǒng)的框圖14示出圖13的系統(tǒng)的進(jìn)一步細(xì)節(jié);
圖15是使用圖10的處理器以使用根據(jù)本發(fā)明的再進(jìn)一步的安全特點(diǎn)的系 統(tǒng)的框圖16是使用圖10的處理器以使用根據(jù)本發(fā)明的再進(jìn)一步的安全特點(diǎn)的系 統(tǒng)的框圖17示出圖16的系統(tǒng)的進(jìn)一步細(xì)節(jié);和
圖18是使用根據(jù)本發(fā)明的進(jìn)一步的一個(gè)或多個(gè)方面的多個(gè)處理器的系統(tǒng)的框圖。
具體實(shí)施例方式
在圖1中示出了才艮據(jù)本發(fā)明的計(jì)算機(jī)系統(tǒng)1的總體架構(gòu)。系統(tǒng)1包括多個(gè)
計(jì)算機(jī)和計(jì)算裝置連接到其上的網(wǎng)絡(luò)4。網(wǎng)絡(luò)4可以是LAN、諸如因特網(wǎng)之類 的全球網(wǎng)絡(luò)或者其他任何計(jì)算才幾網(wǎng)絡(luò)。
連接到網(wǎng)絡(luò)4的計(jì)算機(jī)和計(jì)算裝置(網(wǎng)絡(luò)的"成員")包括(例如)客戶計(jì) 算機(jī)6、服務(wù)器計(jì)算機(jī)8、個(gè)人數(shù)字助理(PDA) 10、數(shù)字電視(DTV) 12和其 他有線或者無(wú)線計(jì)算機(jī)和計(jì)算裝置。由網(wǎng)絡(luò)4的成員所使用的處理器通過(guò)相同 的公共計(jì)算模塊進(jìn)行構(gòu)建。這些處理器還最好都具有相同的ISA,并且根據(jù)相同 的指令集執(zhí)行處理。在任何特定處理器中所包括的模塊的數(shù)量依賴于該處理器 所需要的處理能力。
例如,由于系統(tǒng)1的服務(wù)器8比客戶機(jī)6執(zhí)行更多的數(shù)據(jù)和應(yīng)用處理,所 以服務(wù)器8包含比客戶機(jī)6更多的計(jì)算模塊。另一方面,PDA10在本例中執(zhí)行 少量處理。因此,PDA 10包含最少數(shù)量的計(jì)算模塊。DTV 12執(zhí)行客戶機(jī)6和 服務(wù)器8之間的處理量級(jí)。因此,DTV12包含介于客戶機(jī)6和服務(wù)器8的計(jì)算 模塊數(shù)量之間的計(jì)算模塊數(shù)量。如下所討論的那樣,每個(gè)計(jì)算模塊包含處理控 制器和用于對(duì)在網(wǎng)絡(luò)4上所傳送的數(shù)據(jù)和應(yīng)用執(zhí)行并行處理的多個(gè)相同處理單 元。
系統(tǒng)1的這種同構(gòu)配置有助于適應(yīng)性、處理速度和處理效率。因?yàn)橄到y(tǒng)1 的每個(gè)成員都使用一個(gè)或多個(gè)(或者某部分的)相同計(jì)算模塊來(lái)執(zhí)行處理,所 以執(zhí)行數(shù)據(jù)和應(yīng)用的實(shí)際處理的特定計(jì)算機(jī)或者計(jì)算裝置不重要。而且,特定 應(yīng)用和數(shù)據(jù)的處理可以在網(wǎng)絡(luò)的成員之間共享。通過(guò)唯一地標(biāo)識(shí)包括在整個(gè)系 統(tǒng)中由系統(tǒng)1所處理的數(shù)據(jù)和應(yīng)用的單元,可以將處理結(jié)果傳送到請(qǐng)求處理的 計(jì)算機(jī)或者計(jì)算裝置,而不論發(fā)生處理的位置。因?yàn)閳?zhí)行這種處理的模塊具有 共同的結(jié)構(gòu)而且使用共同的ISA,所以避免了在添加軟件層以處理器之間的兼容 的計(jì)算負(fù)擔(dān)。這種架構(gòu)和編程模型有助于執(zhí)行例如實(shí)時(shí)、多媒體應(yīng)用所需要的 處理速度。
為了利用系統(tǒng)1所改進(jìn)的處理速度和效率,可以將該系統(tǒng)所處理的數(shù)據(jù)和 應(yīng)用打包唯一標(biāo)識(shí)的、統(tǒng)一格式化的軟件單元2中。每個(gè)軟件單元2包含,或 者可以包含應(yīng)用和數(shù)據(jù)兩者。每個(gè)軟件單元還包含ID以全局標(biāo)識(shí)在整個(gè)網(wǎng)絡(luò)4 和系統(tǒng)1中的單元。軟件單元結(jié)構(gòu)的這種一致性和軟件單元在整個(gè)網(wǎng)絡(luò)中的唯一標(biāo)識(shí)有助于在網(wǎng)絡(luò)的計(jì)算機(jī)或者計(jì)算裝置上對(duì)應(yīng)用和數(shù)據(jù)進(jìn)行處理。例如,
客戶機(jī)6可以配置(formulate )軟件單元2,但是因?yàn)榭蛻魴C(jī)6的有限處理能力, 其將該軟件單元傳送到服務(wù)器8以進(jìn)行處理。因此,軟件單元2可以在整個(gè)網(wǎng) 絡(luò)4上進(jìn)行遷移以根據(jù)網(wǎng)絡(luò)4的處理資源的可用性進(jìn)行處理。
系統(tǒng)1的處理器和軟件單元2的同構(gòu)結(jié)構(gòu)還避免了現(xiàn)今異構(gòu)網(wǎng)絡(luò)的許多問(wèn) 題。例如,避免了低效編程模型,該模型使用任何指令集(例如,諸如Java虛 擬機(jī)之類的虛擬機(jī))尋求允許在任何ISA對(duì)應(yīng)用進(jìn)行處理。因此,系統(tǒng)1可以 比傳統(tǒng)網(wǎng)絡(luò)更加有效和更高效率地實(shí)施寬帶處理。
參照?qǐng)D2,示出處理系統(tǒng)100的至少一部分,其可以被適應(yīng)來(lái)執(zhí)行本發(fā)明的 一個(gè)或者多個(gè)特點(diǎn)。為了簡(jiǎn)潔和清楚的目地,將把圖2的框圖在這里描述并且 稱為所示的處理系統(tǒng)100,但是應(yīng)該理解,這種描述可以以相等的效力應(yīng)用于方 法的各個(gè)方面。
處理系統(tǒng)100包括多個(gè)處理器102A、 102B、 102C和102D,應(yīng)該理解,在 不偏離本發(fā)明的精神和范圍的情況下,可以使用任何數(shù)量的處理器。處理系統(tǒng) IOO還可以包括多個(gè)本地存儲(chǔ)器104A、 104B、 104C、 104D和共享存儲(chǔ)器106。 最好至少將處理器102、本地存儲(chǔ)器104和共享存儲(chǔ)器106 (直接或者間接地) 通過(guò)總線系統(tǒng)108彼此連接,該總線系統(tǒng)108可以操作來(lái)根據(jù)適當(dāng)?shù)膮f(xié)議向或 者從每個(gè)部件傳送數(shù)據(jù)。
每個(gè)處理器102可以具有類似的構(gòu)造或者不同的構(gòu)造。可以利用任何已知 技術(shù)來(lái)實(shí)施該處理器,所述已知技術(shù)能夠從共享存儲(chǔ)器106 (或者系統(tǒng))請(qǐng)求數(shù) 據(jù)并且操控?cái)?shù)據(jù)以實(shí)現(xiàn)所期望的結(jié)果。例如,處理器102可以使用任何已知《敖 處理器來(lái)實(shí)施,該微處理器能夠執(zhí)行軟件和/或固件,其包括標(biāo)準(zhǔn)微處理器、分 布式微處理器等。通過(guò)示例, 一個(gè)或多個(gè)處理器102可以是圖形處理器,其能 夠請(qǐng)求和操控諸如像素?cái)?shù)據(jù)之類的數(shù)據(jù)(包括灰度級(jí)信息、顏色信息、紋理數(shù) 據(jù)、多邊形信息、視頻幀信息等)。
系統(tǒng)IOO的一個(gè)或多個(gè)處理器102可以充當(dāng)主(或者管理)處理器的角色。 主處理器可以調(diào)度和協(xié)調(diào)其他處理器對(duì)數(shù)據(jù)的處理。
共享存儲(chǔ)器106最好是通過(guò)存儲(chǔ)器接口電路(未示出)連接到處理器102 的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。雖然共享存儲(chǔ)器106最好是DRAM,但是還 可以使用例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、磁隨機(jī)存取存儲(chǔ)器(MRAM)、 光學(xué)存儲(chǔ)器、全息存儲(chǔ)器之類的其他裝置來(lái)實(shí)施存儲(chǔ)器106。
18每個(gè)處理器102最好包括處理器核以及在其中執(zhí)行程序的一個(gè)相關(guān)聯(lián)的本 地存儲(chǔ)器104。這些部件可以集成地放置在公共半導(dǎo)體基底上,也可以根據(jù)設(shè)計(jì) 者的要求而分離地放置。最好使用處理流水線(pipeline)來(lái)實(shí)施處理器核,在 該處理流水線中以流水線方式處理邏輯指令。雖然可以將流水線分割為處理指 令的任何數(shù)量的級(jí),但是流水線通常包括取回一個(gè)或多個(gè)指令、對(duì)指令進(jìn)行譯 碼、檢查指令之間的依賴性、發(fā)布指令和執(zhí)行指4^。從這方面來(lái)說(shuō),處理器核 可以包括指令緩沖器、指令譯碼電路、依賴性檢查電路、指令發(fā)布電路和執(zhí)行 級(jí)。
每個(gè)本地存儲(chǔ)器104經(jīng)由總線連接到其相關(guān)聯(lián)的處理器核102,并且最好與 處理器核位于相同的芯片(相同的半導(dǎo)體基底)上。本地存儲(chǔ)器104最好不是 傳統(tǒng)的硬件高速緩沖存儲(chǔ)器,這是因?yàn)椴淮嬖谟靡詫?shí)施硬件高速緩沖存儲(chǔ)器功 能的芯片內(nèi)(on-chip)或者與芯片外(off-chip)硬件高速緩存電路、高速緩沖 寄存器、高速緩沖存儲(chǔ)器控制器等。因?yàn)樾酒系目臻g通常有限,所以本地存 儲(chǔ)器的大小可以比共享存儲(chǔ)器106小得多。
處理器102最好提供數(shù)據(jù)存取請(qǐng)求以通過(guò)總線系統(tǒng)108將數(shù)據(jù)(其可以包 括程序數(shù)據(jù))從共享存儲(chǔ)器106復(fù)制到它們相應(yīng)的本地存儲(chǔ)器104,以進(jìn)行程序 執(zhí)行和數(shù)據(jù)操控。幫助數(shù)據(jù)存取的這種機(jī)制可以利用例如直接存儲(chǔ)器存取 (DMA)技術(shù)之類的任何已知技術(shù)來(lái)實(shí)施。最好由存儲(chǔ)器接口電路來(lái)執(zhí)行這種 功能。
參照?qǐng)D3, 一個(gè)或多個(gè)存儲(chǔ)器102還最好包括安全電路150,其可以進(jìn)行操 作以將處理器102置于多個(gè)操作模式中的至少一個(gè)中。安全電路150包括秘密 數(shù)據(jù)區(qū)域152、可存取數(shù)據(jù)區(qū)域154和邏輯電路156。最好在安全電路150之外 的任何裝置都不能存取秘密數(shù)據(jù)區(qū)域152。在安全電路150以外的裝置最好可以 存取可存取數(shù)據(jù)區(qū)域154??梢詫⒚孛軘?shù)據(jù)區(qū)域152和/或可存取數(shù)據(jù)區(qū)域154 實(shí)施為本地存儲(chǔ)器106的相應(yīng)部分、相應(yīng)寄存器、和或諸如ROM之類的其他相 應(yīng)存儲(chǔ)裝置。
最好,在使用處理器102之前的受控過(guò)程中,將第一密鑰KEY1和第二密 鑰KEY 2存儲(chǔ)在安全電路150的秘密數(shù)據(jù)區(qū)域152中,以在該區(qū)域中維持安全 性。確實(shí),考慮將利用KEY 1和KEY2來(lái)驗(yàn)證處理器102并且將其確定為信任 裝置。因此,最好當(dāng)處理器102在使用中或者在使用之前(例如在制造期間), KEY 1和KEY 2保持秘密狀態(tài)并且在授權(quán)方的控制下。最好將秘密數(shù)據(jù)區(qū)域152、可存取數(shù)據(jù)區(qū)域154和邏輯電路156通過(guò)連接線 158彼此連接,可以使用總線配置來(lái)實(shí)施該連接線158。最好通過(guò)一條或者多條 數(shù)據(jù)線160將邏輯電路156連接到寄存器,該數(shù)據(jù)線160也可以使用總線配置
來(lái)實(shí)施。
如上所述,最好安全電路150可以操作來(lái)將處理器102置于多個(gè)搡作模式 中的一個(gè)中。這些模式可以包括第一模式(普通模式),其中處理器102和任 何外部裝置可以啟動(dòng)信息到或者從處理器102的傳送,例如,到或者從本地存 儲(chǔ)器104的信息傳送。操作模式還最好包括第二模式(隔離模式),其中處理器 102和任何外部裝置都不可以啟動(dòng)到或者從處理器102的信息傳送。操作模式還 最好包括第三模式(安全模式),其中處理器102可以啟動(dòng)到或者從處理器102 的信息傳送,^f旦是任何外部裝置都不可以啟動(dòng)到或者v^人處理器102的信息傳送。
可以參照?qǐng)D4-6來(lái)更好地理解安全電路150的操作,圖4 - 6是示出根據(jù) 本發(fā)明的處理器102的特定安全性能力的流程圖。從這方面來(lái)說(shuō),假設(shè)處理器 102對(duì)于操作的第一操作模式即普通操作模式是默認(rèn)的(動(dòng)作200)?;貞浽诘?一模式中,處理器102和任何外部裝置或(諸如另一個(gè)處理器之類的)裝置可 以啟動(dòng)到或者從處理器102的本地存儲(chǔ)器104的信息傳送。注意,在本發(fā)明的 替代實(shí)施方式中,處理器102在初始化時(shí)(例如,開(kāi)機(jī))不可以進(jìn)入到操作的 第 一模式中,或者只可以短時(shí)間地進(jìn)入到該模式中以有利于將在下面討論的第 二或者第三操作模式。
在動(dòng)作202,處理器102可以運(yùn)行驗(yàn)證例程以獲得信任狀態(tài)。可以通過(guò)從處 理器102上運(yùn)行的應(yīng)用程序的調(diào)用或者通過(guò)從在處理器102外部執(zhí)行的程序的 調(diào)用來(lái)啟動(dòng)驗(yàn)證例程(動(dòng)作202)。在本發(fā)明的替代實(shí)施方式中,作為默認(rèn)情況, 處理器102可以在初始化或者在其之后馬上運(yùn)行驗(yàn)證例程,而不必要求來(lái)自應(yīng) 用程序的調(diào)用。響應(yīng)于啟動(dòng)驗(yàn)證例程,處理器102最好執(zhí)行解密程序。注意, 可以從其中放置處理器102的模塊內(nèi)的適當(dāng)存儲(chǔ)器獲得解密程序,或者可以從 模塊外部的源獲得該解密程序。這種外部源的例子包括可以在其中放置模塊的 較大系統(tǒng)中包含的適當(dāng)存儲(chǔ)器,或者諸如執(zhí)行管理功能等的服務(wù)器8 (圖1 )之 類的連接到網(wǎng)絡(luò)4的另一個(gè)裝置。在本發(fā)明的一種或者多種實(shí)施方式中,解密 程序可以包含在諸如閃存ROM之類的安全非易失ROM中。
在動(dòng)作206,在處理器102執(zhí)行解密程序之前、期間或者作為其結(jié)果,處理 器102最好進(jìn)入到操作的第二操作模式即隔離操作模式。回憶在第二操作模式中,處理器102或者任何外部裝置都不可以啟動(dòng)到或者從本地存儲(chǔ)器104的信 息傳送。
在動(dòng)作208,處理器102最好接收在驗(yàn)證例程期間所使用的驗(yàn)證例程。注意, 處理器102接收經(jīng)加密的驗(yàn)證程序時(shí)的定時(shí)是不嚴(yán)格的,確實(shí),可以在執(zhí)行驗(yàn) 證例程之前或期間的任何適當(dāng)時(shí)間接收經(jīng)加密的驗(yàn)證程序。最好根據(jù)KEY 1來(lái) 加密驗(yàn)證程序,使得僅僅能夠以被授權(quán)的方式利用該程序。進(jìn)一步,驗(yàn)證程序 最好包括標(biāo)識(shí)驗(yàn)證程序的KEY2。例如,KEY2可以是序列號(hào)、散列結(jié)果等。
最好,將經(jīng)加密的驗(yàn)證程序存儲(chǔ)在處理器102、包含處理器102的模塊內(nèi)的 適當(dāng)存儲(chǔ)器中,或者存儲(chǔ)在處理器102或者模塊外部的存儲(chǔ)器中。最好將經(jīng)加 密的驗(yàn)證程序存儲(chǔ)在包含處理器102的模塊以外但是在其中包含該模塊的裝置 內(nèi)的存儲(chǔ)器中。還最好由授權(quán)實(shí)體在受控過(guò)程中執(zhí)行在適當(dāng)存儲(chǔ)器中的驗(yàn)證程 序的加密及其存儲(chǔ)。確實(shí),最好在所有時(shí)候都維持驗(yàn)證程序的完整性以確保在 驗(yàn)證處理器102及其任何程序中該驗(yàn)證程序的使用是有效的。在本發(fā)明的一種 或者多種實(shí)施方式中,驗(yàn)證程序可以包含在諸如閃存ROM之類的安全非易失 ROM中。
在動(dòng)作210,解密程序的執(zhí)行最好使得KEY 1的安全復(fù)制件從秘密數(shù)據(jù)區(qū) 域152讀取并且存儲(chǔ)在安全電路150內(nèi)的可存取數(shù)據(jù)區(qū)域154中。通過(guò)示例的 方式,最好可以操作邏輯電路156以響應(yīng)于在處理器102的寄存器(未示出) 內(nèi)的特定數(shù)據(jù)的存在,將KEY 1的復(fù)制件從秘密數(shù)據(jù)區(qū)域152傳送到可存取數(shù) 據(jù)區(qū)域154。由于處理器102處于第二操作模式即隔離操作模式中,所以可存取 數(shù)據(jù)區(qū)域154內(nèi)的KEY 1的復(fù)制件的存在不表示安全的破壞。確實(shí),處理器102 或者任何外部設(shè)備都不可以啟動(dòng)通過(guò)本地存儲(chǔ)器104等將KEY l傳送出處理器 102。
在動(dòng)作212,解密程序最好利用KEY 1來(lái)解密經(jīng)加密的驗(yàn)證程序,使得其 可以由處理器102執(zhí)行。在執(zhí)行驗(yàn)證程序期間,最好將在秘密數(shù)據(jù)區(qū)域152內(nèi) 所包含的KEY 2的復(fù)制件寫(xiě)入到可存取數(shù)據(jù)區(qū)域154 (動(dòng)作214 )。通過(guò)示例的 方式,邏輯電路156可以操作來(lái)響應(yīng)于根據(jù)-驗(yàn)證程序可能寫(xiě)入到寄存器中的特 定數(shù)據(jù),而將KEY2的復(fù)制件從秘密數(shù)據(jù)區(qū)域152傳送到可存取數(shù)據(jù)區(qū)域154。
在動(dòng)作216,最好進(jìn)行關(guān)于可存取數(shù)據(jù)區(qū)域154內(nèi)的KEY 2的復(fù)制件是否 匹配于驗(yàn)證程序內(nèi)所包含的KEY 2的復(fù)制件的確定?;貞涷?yàn)證程序包含KEY 2 的復(fù)制件,當(dāng)解密驗(yàn)證程序時(shí)使得其可用(動(dòng)作212)。通過(guò)示例的方式,可以
21將驗(yàn)證程序內(nèi)所包含的KEY 2的復(fù)制件臨時(shí)存儲(chǔ)在本地存儲(chǔ)器104中,或者根 據(jù)其自己的驗(yàn)證程序的執(zhí)行而寫(xiě)入到可存取數(shù)據(jù)區(qū)域154中。再次,這不表示 安全性的破壞,這是因?yàn)樵谠撨^(guò)程期間處理器處于隔離模式,而且因此,在處 理器102之外的非授權(quán)裝置都不可以獲得KEY2的復(fù)制件。
如果在驗(yàn)證程序中所包含的KEY 2的復(fù)制件不匹配于從秘密數(shù)據(jù)區(qū)域152 獲得的KEY 2的復(fù)制件,則驗(yàn)證處理器102的過(guò)程終止(動(dòng)作218)。然而當(dāng) KEY2的這些復(fù)制件匹配時(shí),最好清除在可存取數(shù)據(jù)區(qū)域154中所包含的KEY 1 和KEY2的復(fù)制件,而且處理器102最好進(jìn)入第三操作模式即安全操作模式(動(dòng) 作220)。通過(guò)示例的方式,邏輯電路156可以從可存取數(shù)據(jù)區(qū)域154中清除KEY 1和KEY2的密鑰,并且可以使得處理器102進(jìn)入到第三安全操作模式。
回憶在第三操作模式即安全操作模式中,處理器102可以啟動(dòng)到或者從本 地存儲(chǔ)器104的信息傳送。換句話說(shuō),在第三操作模式即安全操作模式中,處 理器102可以啟動(dòng)到或者從處理器102的信息傳送,但是處理器外部的任何裝 置都不能啟動(dòng)這種數(shù)據(jù)傳送。 一旦處理器102進(jìn)入到第三操作模式即安全操作 模式,就認(rèn)為其是能夠執(zhí)行操作和操控?cái)?shù)據(jù)的信任裝置,而不必?fù)?dān)心非授權(quán)實(shí) 體可能獲得這種數(shù)據(jù)。確實(shí),如沒(méi)有處理器102自己?jiǎn)?dòng),甚至其他處理器也 不能獲得對(duì)處理器102內(nèi)的數(shù)據(jù)的存取權(quán)。
有利地,信任處理器102可以提供許多有用功能,諸如在圖1中所示的分 布系統(tǒng)中的那些。這些功能包括提供具有只能被授權(quán)裝置存取的存儲(chǔ)器區(qū)域的 安全外部存儲(chǔ)器控制器、只可以由授權(quán)裝置修改的安全時(shí)鐘裝置、信任請(qǐng)求機(jī) 制和能夠(例如,使用基于7>鑰的驗(yàn)證等)驗(yàn)證引導(dǎo)代碼的安全處理元件。
沖艮據(jù)本發(fā)明的一個(gè)和多個(gè)方面,包括主處理器的其他處理器102可以使用 信任處理器102以執(zhí)行解密操作。通過(guò)示例的方式,處理器102之一可以尋求 具有由信任處理器102所解密的主存儲(chǔ)器106中所存儲(chǔ)的數(shù)據(jù)。因此,處理器 可以發(fā)送指示在主存儲(chǔ)器106中數(shù)據(jù)所位于的至少一個(gè)位置和指示要執(zhí)行的解 密例程的參數(shù)的請(qǐng)求給信任處理器102。(替代地,解密例程可以被預(yù)定因此可 以省略這些參數(shù))。響應(yīng)于該請(qǐng)求信任處理器102可以將加密數(shù)據(jù)從主存儲(chǔ)器106 中讀取到其本地存儲(chǔ)器104中,并且執(zhí)行解密過(guò)程。如果在其他處理器102的 請(qǐng)求之前信任處理器102不具有解密密鑰(諸如KEY 1或者KEY2 ),則最好也 由請(qǐng)求處理器102提供這種解密密鑰或者關(guān)于如何獲得這種密鑰的信息。然后 最好將解密數(shù)據(jù)寫(xiě)回到主存儲(chǔ)器106和/或?qū)懭氲秸?qǐng)求處理器102的本地存儲(chǔ)器104中。
現(xiàn)在將提供對(duì)用于多處理器系統(tǒng)的優(yōu)選計(jì)算機(jī)架構(gòu)的描述,該架構(gòu)適合于 執(zhí)行這里所討論的一個(gè)或者多個(gè)特點(diǎn)。在一種或多種實(shí)施方式之外,可以將多 處理器系統(tǒng)實(shí)施為可以操作用于側(cè)重于媒體的應(yīng)用(例如,游戲系統(tǒng)、家用終 端、PC系統(tǒng)、服務(wù)器系統(tǒng)和工作站)的單機(jī)和/或分布處理的單個(gè)芯片解決方案。 在諸如游戲系統(tǒng)和家用終端之類的某些應(yīng)用中,可能需要實(shí)時(shí)計(jì)算。例如,在 實(shí)時(shí)、分布式游戲應(yīng)用中,必須足夠快速地執(zhí)行網(wǎng)絡(luò)圖像解壓、3D計(jì)算機(jī)圖形、 音頻產(chǎn)生、網(wǎng)絡(luò)通信、物理仿真和人工智能過(guò)程中的一個(gè)或多個(gè),以將實(shí)施體 驗(yàn)的感覺(jué)提供給用戶。因此,在多處理器系統(tǒng)中的每個(gè)處理器必須在短的并且 可預(yù)測(cè)的時(shí)間中完成任務(wù)。
至此,并且根據(jù)這種計(jì)算機(jī)架構(gòu),多處理計(jì)算機(jī)的所有處理器都從公共計(jì) 算機(jī)模塊(或者單元)中構(gòu)建。這種公共計(jì)算模塊具有相容結(jié)構(gòu)并且最好使用 相同指令集架構(gòu)。可以由一個(gè)或者多個(gè)使用計(jì)算機(jī)處理器的客戶機(jī)、服務(wù)器、 PC、移動(dòng)計(jì)算機(jī)、游戲機(jī)、PDA、機(jī)頂盒、電器、數(shù)字電視等形成多處理計(jì)算 機(jī)系統(tǒng)。
如果需要,多個(gè)計(jì)算機(jī)系統(tǒng)還可以式網(wǎng)絡(luò)的成員。相容模塊結(jié)構(gòu)使得多處 理計(jì)算機(jī)系統(tǒng)能夠進(jìn)行對(duì)應(yīng)用和數(shù)據(jù)的有效高速的處理,而且如果使用網(wǎng)絡(luò), 還能夠進(jìn)行通過(guò)網(wǎng)絡(luò)的對(duì)應(yīng)用和數(shù)據(jù)的快速傳送。這種結(jié)構(gòu)還簡(jiǎn)化了各種大小 和處理能力的網(wǎng)絡(luò)的成員的建構(gòu)以及這些成員處理應(yīng)用的準(zhǔn)備。
參照?qǐng)D7,基本處理模塊式處理器元件(PE)300。 PE 330包括I/O接口 302、 處理器單元(PU) 304和多個(gè)子處理單元308,即,子處理單元308A、子處理 單元308B、子處理單元308C和子處理單元308D。本地(或者內(nèi)部)PE總線 312在PU 304、子處理單元308和存儲(chǔ)器接口 311之間傳送數(shù)據(jù)。本地PE總線 312可以具有例如傳統(tǒng)架構(gòu),或者可以被實(shí)施為分組交換網(wǎng)絡(luò)。如杲實(shí)施為分組 交換網(wǎng)絡(luò),雖然需要更多硬件,但是增加了可用帶寬。
可以使用用于實(shí)施數(shù)字邏輯的各種方法來(lái)構(gòu)建PE 300。然而,最好將PE 300 構(gòu)建為在硅基底上使用互補(bǔ)金屬氧化物半導(dǎo)體(CMOS )的單個(gè)集成電路。用于 基底的替代材料包括砷化鎵、砷化鎵鋁和其他使用各種摻雜材料的所謂m-B化 合物。PE 300還可以使用例如快速單通量量子(rapid single-flux-quantum, RSFQ ) 邏輯的超導(dǎo)材料來(lái)實(shí)施。
PE 300通過(guò)高帶寬存儲(chǔ)器連接316與共享(主)存儲(chǔ)器314緊密關(guān)聯(lián)。雖然存儲(chǔ)器314最好是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),但是還可以使用例如靜態(tài) 隨機(jī)存取存儲(chǔ)器(SRAM)、磁隨機(jī)存取存儲(chǔ)器(MRAM)、光存儲(chǔ)器、全息存 儲(chǔ)器等的其他裝置來(lái)實(shí)施。
PU 304和子處理單元308最好每個(gè)都連接到包括直接存儲(chǔ)器存取DMA功 能的存儲(chǔ)器流控制器(MFC),其與存儲(chǔ)器接口 311組合有助于DRAM 314和子 處理單元308和PE 300的PU 304之間的數(shù)據(jù)傳送。注意,DMAC和/或存儲(chǔ)器 接口 311可以關(guān)于子處理單元308和PU 304集成地或者分離地放置。確實(shí), DMAC功能和/或存儲(chǔ)器接口 311的功能可以與子處理單元308和PU 304的一 個(gè)或者多個(gè)(最好全部)進(jìn)行集成。還要注意,DRAM 314可以關(guān)于PE 300集 成或者分離地放置。例如,如所示圖示所暗示的那樣,可以與芯片分離地放置 DRAM 314,或者可以以集成方式將DRAM 314力文置在芯片上。
PU 304可以是例如能夠?qū)?shù)據(jù)和應(yīng)用進(jìn)行單機(jī)處理的標(biāo)準(zhǔn)處理器。在操作 中,PU 304最好調(diào)度和協(xié)調(diào)子處理單元對(duì)lt據(jù)和應(yīng)用的處理。子處理單元最好 是單指令、多數(shù)據(jù)(SIMD)處理器。在PU 304的控制下,子處理單元以并行 和獨(dú)立的方式對(duì)這些數(shù)據(jù)和應(yīng)用執(zhí)行處理。最好使用PowerPC核來(lái)實(shí)施PU 304, 其是使用簡(jiǎn)化指令集計(jì)算(RISC )技術(shù)的微處理器架構(gòu)。RISC使用簡(jiǎn)單指令的 組合來(lái)執(zhí)行更加復(fù)雜的指令。因此,用于處理器的定時(shí)可以基于更加簡(jiǎn)單和快 速的方式,使得微處理器能夠以給定時(shí)鐘速度執(zhí)行更多指令。
注意,可以通過(guò)充當(dāng)調(diào)度和協(xié)調(diào)子處理單元對(duì)數(shù)據(jù)和應(yīng)用進(jìn)行的處理的主 處理單元角色的子處理單元308之一來(lái)實(shí)施PU304。進(jìn)一步,在處理器元件300 內(nèi)可以實(shí)施多于一個(gè)PU。
根據(jù)該模塊結(jié)構(gòu),由特定計(jì)算機(jī)系統(tǒng)所使用的PE 300的數(shù)量基于系統(tǒng)所需 要的處理能力。例如,服務(wù)器可以使用四個(gè)PE300,工作站可以使用兩個(gè)PE300 而PDA可以使用一個(gè)PE 300。分配來(lái)處理特定軟件單元的PE 300的子處理單 元的數(shù)量依賴于單元內(nèi)程序和數(shù)據(jù)的復(fù)雜度和量級(jí)。
圖8示出了子處理單元(SPU) 308的優(yōu)選結(jié)構(gòu)和功能。SPU308架構(gòu)最好 填補(bǔ)通用處理器(其被設(shè)計(jì)來(lái)在許多應(yīng)用上實(shí)現(xiàn)高的平均性能)和特殊目的處 理器(其凈皮設(shè)計(jì)來(lái)在單個(gè)應(yīng)用上實(shí)現(xiàn)高性能)之間的空白。設(shè)計(jì)SPU 308以實(shí) 現(xiàn)關(guān)于游戲應(yīng)用、媒體應(yīng)用、寬帶系統(tǒng)等的高性能,并且提供高級(jí)控制給實(shí)時(shí) 應(yīng)用程序員。SPU308的某些能力包括圖形幾何流水線、表面細(xì)分、快速傅立葉 變換、圖像處理關(guān)鍵字、流處理、MPEG編碼/譯碼、加密、解密、裝置驅(qū)動(dòng)器
24擴(kuò)展、建模、游戲物理(game physics )、內(nèi)容創(chuàng)建和音頻合成及處理。
子處理單元308包括兩個(gè)基本功能單元,即SPU核310A核存儲(chǔ)器流控制 器(MFC ) 31 OB 。 SPU核31 OA執(zhí)行程序執(zhí)行、數(shù)據(jù)操控等,而MFC31 OB執(zhí)行 與系統(tǒng)的SPU核310A和DRAM 314之間的數(shù)據(jù)傳送有關(guān)的功能。
SPU核310A包括本地存儲(chǔ)器350、指令單元(IU) 352、寄存器354、 一 個(gè)或多個(gè)浮點(diǎn)執(zhí)行級(jí)356以及一個(gè)或多個(gè)定點(diǎn)執(zhí)行級(jí)358。本地存儲(chǔ)器350最好 使用諸如SRAM之類的單端口隨機(jī)存取存儲(chǔ)器來(lái)實(shí)現(xiàn)。雖然大多數(shù)處理器通過(guò) 使用高速緩存來(lái)減少對(duì)存儲(chǔ)器的延遲,但是SPU核310A實(shí)施相對(duì)小的本地存 儲(chǔ)器350而不是高速緩存。確實(shí),為了將相容和可預(yù)測(cè)的存儲(chǔ)器存取延遲提供 給實(shí)時(shí)應(yīng)用(和在這里所提及的其他應(yīng)用)的程序員,最好不用SPU308A之內(nèi) 的高速緩存架構(gòu)。高速緩存存儲(chǔ)器的高速緩存命中/錯(cuò)過(guò)(hit/miss)特征導(dǎo)致易 失性存儲(chǔ)器存取時(shí)間,其在幾個(gè)周期到幾百個(gè)周期之間變動(dòng)。這種易失性破壞 了在例如實(shí)時(shí)應(yīng)用編程中所期望的存取時(shí)間可預(yù)測(cè)性??梢酝ㄟ^(guò)將DMA傳送與 數(shù)據(jù)計(jì)算進(jìn)行重疊在本地存儲(chǔ)器SRAM 350中實(shí)現(xiàn)延遲隱藏(latency hiding )。 這提供高級(jí)控制給實(shí)時(shí)應(yīng)用的編程。因?yàn)榕cDMA傳送關(guān)聯(lián)的延遲和指令開(kāi)銷超 過(guò)用于高速緩存錯(cuò)過(guò)的延遲的,所以當(dāng)DMA傳送大小足夠大并且足夠可預(yù)測(cè) (例如,在需要數(shù)據(jù)之前發(fā)布DMA命令)時(shí),SRAM本地存儲(chǔ)器方法更具優(yōu)勢(shì)。 在給定的一個(gè)子處理單元308上運(yùn)行的程序使用本地地址引用所管理的本 地存儲(chǔ)器350,然而,本地存儲(chǔ)器350的每個(gè)位置也都分配有總體系統(tǒng)的存儲(chǔ)器 映像圖之內(nèi)的實(shí)際地址(RA )。這允許優(yōu)先軟件將本地存儲(chǔ)器350映射到過(guò)程的 有效地址(EA),以幫助一個(gè)本地存儲(chǔ)器350和另一個(gè)本地存儲(chǔ)器350之間的 DMA傳送。PU304還可以使用有效地址來(lái)直接存取本地存儲(chǔ)器350。在優(yōu)選實(shí) 施方式中,本地存儲(chǔ)器350包含356千 字節(jié)的存儲(chǔ)量,并且寄存器352的容量 是128 x 128比特。
SPU核304最好使用處理流水線來(lái)實(shí)施,在該處理流水線中以流水線方式 來(lái)處理邏輯指令。雖然可以將流水線分割為在其上可以處理指令的任何數(shù)量的 級(jí),但是流水線通常包括取回一個(gè)或多個(gè)指令、譯碼指令、檢查指令之間的依 賴性、發(fā)布指令和執(zhí)行指令。從這方面來(lái)說(shuō),IU 352包括指令緩沖器、指令譯 碼電路、依賴性檢查電路和指令發(fā)布電路。
指令緩存器最好包括多個(gè)寄存器,這些寄存器連接到本地存儲(chǔ)器350并且 操作來(lái)臨時(shí)存儲(chǔ)它們?nèi)』氐闹噶?。指令緩沖器最好進(jìn)行操作來(lái)使得所有指令將寄存器保留為一個(gè)組,即,基本上同時(shí)地。雖然指令緩存器可以是任何大小, 但是最好其大小不大于兩個(gè)或三個(gè)寄存器。
通常,譯碼電路分解指令并且產(chǎn)生執(zhí)行對(duì)應(yīng)指令的功能的邏輯微操作。例 如,邏輯微操作可以指定算術(shù)和邏輯操作,裝載和存儲(chǔ)操作、寄存器源操作數(shù)
和/或中間數(shù)據(jù)操作數(shù)到本地存儲(chǔ)器350。譯碼電路還可以指示指令使用哪些資 源,例如目標(biāo)寄存器地址、結(jié)構(gòu)資源、功能(function)單元和/或總線。譯碼電 路可以提供指示其中需要資源的指令流水線級(jí)的信息。最好操作指令譯碼電路 以基本上同時(shí)地譯碼碼與指令緩存器的寄存器數(shù)量相等數(shù)量的指令。
依賴性檢查電路包括數(shù)字邏輯,其執(zhí)行測(cè)試以確定給定指令的操作數(shù)是否 依賴于流水線中其他指令的操作數(shù)。如果是,則不應(yīng)該執(zhí)行給定指令,直到這 種其他操作數(shù)被更新(例如,通過(guò)允許其他指令完成執(zhí)行)為止。最好依賴性 檢查電路同時(shí)確定從譯碼器電路112發(fā)送來(lái)的多個(gè)指令的依賴性。
指令發(fā)布電路可以操作來(lái)將指令發(fā)布給浮點(diǎn)執(zhí)行級(jí)356和/或定點(diǎn)執(zhí)行級(jí)
358。
最好將寄存器354實(shí)施為相對(duì)大的統(tǒng)一的寄存器文件,例如128個(gè)條目的 寄存器文件。這允許深度流水線化的高頻實(shí)施而不要求寄存器重新命名以避免 寄存器饑餓( starvation )。重新命名硬件通常在處理系統(tǒng)中消耗非常大部分的區(qū) 域和能力。因此,當(dāng)通過(guò)軟件循環(huán)解開(kāi)(unrolling)或者其他交織技術(shù)來(lái)覆蓋延 遲時(shí),可以實(shí)現(xiàn)有利的操作。
最好,SPU核310A是超標(biāo)量架構(gòu),使得每個(gè)時(shí)鐘周期可以發(fā)布多于一個(gè) 指令。SPU核310A最好作為超標(biāo)量操作到與從指令緩存器發(fā)送來(lái)的同時(shí)指令數(shù) 量對(duì)應(yīng)的程度,比如在2和3之間(意味著每個(gè)時(shí)鐘周期發(fā)布兩個(gè)或者三個(gè)指 令)。依賴于所需要的處理能力,可以使用更多或更少數(shù)量的浮點(diǎn)執(zhí)行級(jí)356和 定點(diǎn)執(zhí)行級(jí)358。在優(yōu)選實(shí)施方式中,浮點(diǎn)執(zhí)行級(jí)356在每秒32十億浮點(diǎn)運(yùn)算 的速度上進(jìn)行操作(32 GFLOPS ),而且定點(diǎn)執(zhí)行級(jí)358在每秒32十億運(yùn)算的 速度上操作(32GOPS)。
MFC310B最好包括總線接P單元(BIU) 364、存儲(chǔ)器管理單元(MMU) 362和直接存儲(chǔ)器存取控制器(DMAC )360。在除了 DMAC 360的情況下,MFC 310B最好在與SPU核310A和總線312相比一半頻率( 一半速度)上運(yùn)行以滿 足低功率散熱設(shè)計(jì)目標(biāo)。MFC 310B可以操作來(lái)處理從總線312來(lái)到SPU 308 的數(shù)據(jù)和指令,提供地址轉(zhuǎn)換給DMAC,以及用于數(shù)據(jù)相干的監(jiān)聽(tīng)操作(snoopoperation )。 BIU 364在總線312與MMU 362和DMAC 360之間提供接口 。因 此,SPU 308 (包括SPU核310A和MFC 310B )和DMAC 360物理和/或邏輯 地連接到總線312。
最好MMU 362可以操作來(lái)將有效地址(從DMA命令中取得)轉(zhuǎn)換為用于 存儲(chǔ)器存取的實(shí)際地址。例如,MMU362可以將有效地址的較高位轉(zhuǎn)換位實(shí)際 地址。然而,較低位最好是不可轉(zhuǎn)換的并且被從邏輯和物理上進(jìn)行考慮以用來(lái) 形成實(shí)際地址和請(qǐng)求對(duì)存儲(chǔ)器的存取。在一種或者多種實(shí)施方式中,MMU 362 可以基于64位存儲(chǔ)器管理模型實(shí)施,并且可以提供具有4K-、 64K-、 1M-和16M-字節(jié)頁(yè)大小和256MB段大小的264字節(jié)的有效地址空間。最好,可以操作MMU 362以支持多至265字節(jié)的虛擬存儲(chǔ)器,和用于DMA的242 (4兆兆字節(jié))字節(jié) 的物理存儲(chǔ)器。MMU 362的硬件可以包括8入口完全相關(guān)聯(lián)的SLB( 8-entry, flilly association SLB )、 256入口 4向設(shè)置相關(guān)聯(lián)d TLB和用于TLB的4 x 4代替管理 表(RMT)-用于硬件TLB錯(cuò)過(guò)處理。
DMAC 360最好可以操:作來(lái)管理來(lái)自SPU核310A和諸如PU 304和/或其 他SPU之類的一個(gè)或多個(gè)其他裝置的命令。可能存在三種類別的DMA命令 放置命令,其操作來(lái)將數(shù)據(jù)從本地存儲(chǔ)器350移動(dòng)到共享存儲(chǔ)器314;取得命令, 其操作來(lái)將數(shù)據(jù)從共享存儲(chǔ)器314移動(dòng)到本地存儲(chǔ)器;和存儲(chǔ)控制命令,其包 括SLI命令和同步命令。同步命令可以包括基本(atomic )命令、發(fā)送信號(hào)命令 和專用障礙命令。響應(yīng)于DMA命令,MMU 362將有效地址轉(zhuǎn)換為實(shí)際地址, 并且實(shí)際地址被轉(zhuǎn)發(fā)到BIU 364。
SPU核31 OA最好使用信道接口和數(shù)據(jù)接口以同DMAC 360內(nèi)的接口通信 (發(fā)送DMA命令、狀態(tài)等)。SPU核310A將DMA命令通過(guò)信道接口發(fā)送到 DMAC 360中的DMA隊(duì)列。 一旦DMA命令處于DMA隊(duì)列中,就由DMAC 360 內(nèi)的發(fā)布和完成邏輯來(lái)處理它。當(dāng)完成用于DMA命令的所有總線交易時(shí),通過(guò) 信道接口將完成命令發(fā)送回SPU核310A。
圖9示出了 PU 304的優(yōu)選結(jié)構(gòu)核功能。PU 304包括兩個(gè)基本功能單元, PU核304A和存儲(chǔ)器流控制器(MFC ) 304B。 PU核304A執(zhí)行程序執(zhí)行、數(shù)據(jù) 操控、多處理器管理功能等,而MFC 304B執(zhí)行與PU核304A和系統(tǒng)100的存 儲(chǔ)器空間之間的數(shù)據(jù)傳送有關(guān)的功能。
PU核304A可以包括LI高速緩存器370、指令單元372、寄存器374、 一 個(gè)或多個(gè)浮點(diǎn)執(zhí)行級(jí)376以及一個(gè)或多個(gè)定點(diǎn)執(zhí)行級(jí)378。 LI高速緩存提供數(shù)
27據(jù)高速緩存功能給從共享存儲(chǔ)器106、處理器102或者存儲(chǔ)器控制的其他部分通 過(guò)MFC 304B接收來(lái)的數(shù)據(jù)。因?yàn)镻U核304A最好實(shí)施為超流水線,所以最好 將指令單元372實(shí)施為帶有許多級(jí)的指令流水線,包括取回、譯碼、依賴性檢 測(cè)、發(fā)布等。PU核304A還最好是超標(biāo)量配置,^人而每個(gè)時(shí)鐘周期從指令單元 372發(fā)布多于一個(gè)指令。為了實(shí)現(xiàn)高處理能力,浮點(diǎn)執(zhí)行級(jí)376和定點(diǎn)執(zhí)行級(jí) 378在流水線配置中包括多個(gè)級(jí)。依賴于所需要的處理能力,可以使用更多或者 更少數(shù)量的浮點(diǎn)執(zhí)行級(jí)376和定點(diǎn)執(zhí)行級(jí)378。
MFC 304B包括總線接口單元(BIU) 380、 L2高速緩存存儲(chǔ)器、不可高速 緩存單元(NCU ) 384、核接口單元(CIU) 386和存儲(chǔ)器管理單元(MMU ) 388。 大多數(shù)MFC 304B在與PU核304A和總線108相比較一半的頻率( 一半的速度) 上運(yùn)行以滿足低功耗散熱設(shè)計(jì)目標(biāo)。
BIU 380提供總線108和L2高速緩存382和NCU 384邏輯塊之間的接口 。 至此,BIU380充當(dāng)總線108上的主裝置和從裝置,以執(zhí)行完全相干的存儲(chǔ)器操 作。作為主裝置,其可以代表L2高速緩存382和NCU 384源裝載/存儲(chǔ)對(duì)總線 108的請(qǐng)求。BIU 380還可以實(shí)施用于限制可以被發(fā)送到總線108的總命令數(shù)量 的命令的流控制機(jī)制。在總線108上的數(shù)據(jù)操作可以設(shè)計(jì)來(lái)采用8拍(beat), 因此,BIU 380最好設(shè)計(jì)在128字節(jié)高速緩存線周圍,而且相千和同步粒度 (granularity)是128KB。
最好將L2高速緩存存儲(chǔ)器382(和支持的硬件邏輯欣計(jì)為高速緩存312KB 的數(shù)據(jù)。例如,L2高速緩存382可以處理可高速緩存的負(fù)載/存儲(chǔ)、數(shù)據(jù)預(yù)取回、 指令取回、指令預(yù)取回、高速緩存操作和障礙操作。L2高速緩存382最好是8 向設(shè)置相關(guān)聯(lián)系統(tǒng)。L2高速緩存382可以包括匹配6個(gè)數(shù)據(jù)轉(zhuǎn)換(castout)隊(duì) 列(例如,6個(gè)RC機(jī)器)的6個(gè)重新裝載隊(duì)列,和8個(gè)(64字節(jié)寬)存儲(chǔ)隊(duì)列。 L2高速緩存382可以操作來(lái)提供Ll高速緩存370中的數(shù)據(jù)的某些或者全部的 備份復(fù)制件。有利地,當(dāng)熱插拔處理節(jié)點(diǎn)時(shí),這對(duì)于恢復(fù)狀態(tài)是有用的。這種 配置還允許L1高速緩存370以更少的端口更快地操作,而且允許更快的高速緩 存對(duì)高速緩存?zhèn)魉?因?yàn)檎?qǐng)求可能在L2高速緩存382停止)。這種配置還提供 用于將高速緩存相干性管理提供給L2高速緩存存儲(chǔ)器382的機(jī)制。
NCU 384與CIU 386、 L2高速緩存存儲(chǔ)器382和BIU 380對(duì)接,并且通常 用作用于PU核304A和存儲(chǔ)器系統(tǒng)之間的不可高速緩存的操作的隊(duì)列/緩沖電 路。NCU 384最好處理與PU核304A的通信,這種通信不由L2高速緩存382處理,例如高速緩存禁止裝載/存儲(chǔ)、障礙操作和高速緩存相干性操作。NCU384 最好以一半的速度運(yùn)行以滿足上述功率耗散目標(biāo)。
將CIU 386放置在MFC 304B和PU核304A的邊界上,并且充當(dāng)用于來(lái)自 執(zhí)行級(jí)376、 378、指令單元372和MMU單元388并且前進(jìn)到L2高速緩存382 和NCU 382的請(qǐng)求的路由、判決和流控制。PU核304A和MMU 388最好全速 運(yùn)行,而L2高速緩存383和NCU 382可以以2:1的速度比操作。因此,在CIU 386上存在頻率邊界,而且其功能之一用于適當(dāng)處理頻率交叉(frequency crossing),這是因?yàn)槠滢D(zhuǎn)發(fā)請(qǐng)求并且重新裝載兩個(gè)頻域之間數(shù)據(jù)。
CIU 386包括三個(gè)功能塊裝載單元、存儲(chǔ)單元和重新裝載單元。此外,數(shù) 據(jù)預(yù)取回功能由CIU386執(zhí)行而且最好是裝載單元的功能部分。以(i)接收裝 載和存儲(chǔ)來(lái)自PU核304A和MMU 388的請(qǐng)求;(ii)將請(qǐng)求從全速時(shí)鐘頻率轉(zhuǎn) 換為半速(2:1時(shí)鐘頻率轉(zhuǎn)換);(iii)將可高速緩存的請(qǐng)求路由到L2高速緩存 382,并且將不可高速緩存的請(qǐng)求路由到NCU 384; (iv)在對(duì)L2高速緩存383 和NCU 384的請(qǐng)求之間進(jìn)行y〉平地判決;(v)通過(guò)分派(dispatch)將流控制提 供給L2高速緩存382和NCU 384,以<更在目標(biāo)窗口中接收請(qǐng)求并且避免溢出; (vi)接收裝載返回?cái)?shù)據(jù)并且將其路由到執(zhí)行級(jí)376、 378、指令單元372或者 MMU 388; (vii)將監(jiān)聽(tīng)請(qǐng)求傳送到執(zhí)行級(jí)376、 378、指令單元372或者M(jìn)MU 388;和(viii)將裝載返回?cái)?shù)據(jù)和監(jiān)聽(tīng)通信量從半速轉(zhuǎn)換為全速。
MMU 388最好通過(guò)諸如第二級(jí)地址轉(zhuǎn)換措施之類的方式,提供用于PU核 340A的地址轉(zhuǎn)換。最好通過(guò)可能比MMU 388更小和更快的分離指令和數(shù)據(jù) ERAT ( effective to real address translation,對(duì)實(shí)際地址轉(zhuǎn)換有效),在PU核304A 中提供第一級(jí)轉(zhuǎn)換。
在優(yōu)選實(shí)施方式中,PU 304以64位實(shí)現(xiàn)在4 6 GHz、 10F04下操作。寄存 器最好是64位長(zhǎng)(雖然一個(gè)或者多個(gè)特殊目的寄存器可以更小)并且有效地址 是64位長(zhǎng)。最好使用PowerPC技術(shù)來(lái)實(shí)施指令單元370、寄存器372和執(zhí)行級(jí) 374以實(shí)現(xiàn)(RISC )計(jì)算技術(shù)。
可以在美國(guó)專利第6,526,491中找到關(guān)于該計(jì)算機(jī)系統(tǒng)的模塊結(jié)構(gòu)的附加的 詳情,通過(guò)參考將其整個(gè)公開(kāi)合并于此。
現(xiàn)在參照?qǐng)D10,該圖是根據(jù)本發(fā)明的一個(gè)或者多個(gè)進(jìn)一步方面的處理器500 的框圖。在該實(shí)施方式中,處理器500還包括解密單元502和安全存儲(chǔ)器504。 安全存儲(chǔ)器504包含不可見(jiàn)密鑰(IKi),其中i表示第i個(gè)處理器??梢圆僮鹘饷軉卧?02以將流自存儲(chǔ)器流控制器310B的數(shù)據(jù)(使用不可見(jiàn)密鑰IKi)解密 到本地存儲(chǔ)器350。最好,不可見(jiàn)密鑰IKi是對(duì)于給定處理器500基本上唯一的 密鑰,應(yīng)該理解,在系統(tǒng)中的每個(gè)處理器都包括唯一的不可見(jiàn)密鑰。解密單元 502可以使用諸如簡(jiǎn)單XOR算法或者更力。復(fù)雜的算法之類的任何已知技術(shù)。
處理器500最好可以操作來(lái)使用上述技術(shù)或者利用其他技術(shù)進(jìn)入到安全操 模式。最好,處理器500在硬件復(fù)位條件或者開(kāi)4幾條件時(shí)進(jìn)入到操作的安全模 式。當(dāng)在非安全模式中時(shí),PU 304能夠啟動(dòng)共享DRAM 314和本地存儲(chǔ)器350 之間的數(shù)據(jù)傳送而不必經(jīng)過(guò)解密單元502。類似地,當(dāng)處理器500處于非安全才莫 式中時(shí),PU304能夠啟動(dòng)從處理器500到共享DRAM 314的數(shù)據(jù)傳送。然而, 當(dāng)在安全模式中時(shí),PU 304不能在不將這種數(shù)據(jù)發(fā)送經(jīng)過(guò)譯碼單元502的情況 下,啟動(dòng)從共享存儲(chǔ)器314到本地存儲(chǔ)器350的數(shù)據(jù)傳送。在安全模式中不允 許PU 304所啟動(dòng)的從本地存儲(chǔ)器350的凄t據(jù)傳送。因此,由PU 304 (或者任何 其他外部實(shí)體)所啟動(dòng)的任何數(shù)據(jù)傳送都會(huì)導(dǎo)致數(shù)據(jù)被使用不可見(jiàn)密鑰IKi而經(jīng) 歷解密。然而,無(wú)論是否在操作的安全模式中,處理器500都能夠啟動(dòng)本地存 儲(chǔ)器350和共享存儲(chǔ)器314之間的數(shù)據(jù)傳送。
只有處理器500的解密單元502或者一些其他纟皮授權(quán)的實(shí)體能夠存取在安 全存儲(chǔ)存儲(chǔ)器504中所存儲(chǔ)的不可見(jiàn)密鑰IKi。最好,即使實(shí)體被授權(quán)能夠知道 特定處理器500的不可見(jiàn)密鑰IKi,也必須以除了 A/v處理器500的安全存儲(chǔ)器504 中獲得密鑰以外的某種方式將對(duì)不可見(jiàn)密鑰IKi的存取權(quán)給予這種實(shí)體。例如, 在處理器500的制造過(guò)程期間,最好將不可見(jiàn)密鑰IKi存儲(chǔ)在安全存儲(chǔ)器504 中,而且同時(shí)或者大概同時(shí)使得被授權(quán)獲得信息的那些實(shí)體知道不可見(jiàn)密鑰 IKi。
處理器500還最好包括基本上唯一的ID,例如序列號(hào)或者其他識(shí)別指示。 然而,與不可見(jiàn)密鑰IKi不同,最好具有利用處理器500的安全特點(diǎn)的興趣的任 何實(shí)體都知道處理器500的ID。因此,可以將ID認(rèn)為是可見(jiàn)密鑰VKi,其中i 表示第i個(gè)處理器500。
參照?qǐng)D11,示出了其中可以使用處理器500的安全特點(diǎn)的系統(tǒng)。該系統(tǒng)包 括處理器500、中間實(shí)體510和安全實(shí)體(或者J3良務(wù)器)512。安全實(shí)體512包 括認(rèn)證服務(wù)器514和數(shù)據(jù)庫(kù)516,下面將對(duì)其進(jìn)行更加詳細(xì)地討論。注意,雖然 圖11示出了本發(fā)明某些方面的結(jié)構(gòu),^旦是其還示出了數(shù)據(jù)/過(guò)程流。因此,這里 使用圖11以討論本發(fā)明的設(shè)備和方法的詳情。中間實(shí)體510可以是想要以安全方式傳送數(shù)據(jù)到處理器500或者對(duì)處理器 500傳送和執(zhí)行程序的任何實(shí)體?;貞浱幚砥?00可以是共享DRAM 314的多 個(gè)附連處理單元中的一個(gè)。因此,可以將從中間實(shí)體510傳送到處理器500的 數(shù)據(jù)至少臨時(shí)地存儲(chǔ)在共享DRAM 314中。在某些情況下,這可能導(dǎo)致數(shù)據(jù)經(jīng) 歷其他處理器的盜取。然而根據(jù)本發(fā)明,中間實(shí)體510可以以只有處理器500 可以獲得對(duì)數(shù)據(jù)的存取權(quán)和使用數(shù)據(jù)的方式而將數(shù)據(jù)傳送到處理器500。
具體地說(shuō),中間實(shí)體510獲得與處理器500相關(guān)聯(lián)的可見(jiàn)密鑰VKi。中間 實(shí)體510將數(shù)據(jù)(例如要在處理器500上被執(zhí)行的遠(yuǎn)端程序)和可見(jiàn)密鑰VKi 傳送到安全服務(wù)器512。利用諸如通過(guò)因特網(wǎng)或者其他網(wǎng)絡(luò)、通信鏈路、或者通 過(guò)人工介入之類的任何已知技術(shù)來(lái)進(jìn)行這種傳送。安全服務(wù)器512從該傳送中 獲得可見(jiàn)密鑰VKi,并且使用認(rèn)證服務(wù)器514來(lái)搜索數(shù)據(jù)庫(kù)516,該數(shù)據(jù)庫(kù)包含 多個(gè)可見(jiàn)密鑰-不可見(jiàn)密鑰對(duì)??梢?jiàn)和不可見(jiàn)密鑰對(duì)通過(guò)它們對(duì)諸如處理器500 之類的特定處理器的相互關(guān)系彼此關(guān)聯(lián)。如果在從中間實(shí)體510接收來(lái)的可見(jiàn) 密鑰VKi和在數(shù)據(jù)庫(kù)516中所存儲(chǔ)的可見(jiàn)密鑰之一之間獲得匹配,則認(rèn)證服務(wù) 器514最好使用與可見(jiàn)密鑰VKi和處理器500相關(guān)聯(lián)的不可見(jiàn)密鑰IKi來(lái)加密 數(shù)據(jù)(在本例中,遠(yuǎn)端程序)。然后,安全服務(wù)器512例如使用因特網(wǎng)將經(jīng)加密 的數(shù)據(jù)傳送到中間實(shí)體510。
雖然中間實(shí)體510獲得其提供到安全服務(wù)器512的數(shù)據(jù)的加密版本,但是 中間實(shí)體510不具有關(guān)于處理器500的不可見(jiàn)密鑰IKi的任何信息。從這方面來(lái) 說(shuō),安全實(shí)體512是被授權(quán)實(shí)體,這是因?yàn)槠渲涝谔幚砥?00的安全存儲(chǔ)器 504中所包含的不可見(jiàn)密鑰IKi。雖然諸如中間實(shí)體510之類的任何實(shí)體可以知 道任何給定處理器的可見(jiàn)密鑰VKi,但是僅僅諸如安全服務(wù)器512之類的被授 權(quán)實(shí)體會(huì)知道不可見(jiàn)密鑰IKi和/或其與特定可見(jiàn)密鑰VKi的關(guān)聯(lián)。
然后,中間實(shí)體510通過(guò)諸如因特網(wǎng)或者任何其他適當(dāng)機(jī)制將經(jīng)加密的數(shù) 據(jù)傳送到處理器500。根據(jù)處理器500的運(yùn)算能力,PU 304幫助來(lái)自中間實(shí)體 510的經(jīng)加密數(shù)據(jù)的接收和其在共享DRAM 314中的存儲(chǔ)。最好在PU 304使得 經(jīng)加密的數(shù)據(jù)存儲(chǔ)在共享DRAM 314的同時(shí)或者大概同時(shí),處理器500處于操 作的安全模式。因此,當(dāng)PU 304啟動(dòng)經(jīng)加密的數(shù)據(jù)從共享DRAM 314到處理器 500的本地存儲(chǔ)器350的傳送時(shí),這種經(jīng)加密的數(shù)據(jù)必須通過(guò)解密單元502。因 此,解密單元502使用處理器500的安全存儲(chǔ)器504中所存儲(chǔ)的不可見(jiàn)密鑰 來(lái)解密經(jīng)加密的數(shù)據(jù)。有利地,由中間實(shí)體510所起始的經(jīng)解密的數(shù)據(jù)以安全方式存儲(chǔ)在處理器500的本地存儲(chǔ)器350中。確實(shí),在安全^f莫式中,PU 304或 者任何其他外部實(shí)體都不能獲得來(lái)自本地存儲(chǔ)器350的it據(jù),而且處理器500 可以操控這些數(shù)據(jù)而不被經(jīng)歷盜取。
現(xiàn)在參照?qǐng)D12,其是使用用于利用處理器500的安全特點(diǎn)的替代方法的圖 ll的系統(tǒng)的框圖。與上面參照?qǐng)Dll所討論的方法相同,中間實(shí)體510獲得與處 理器500相關(guān)聯(lián)的可見(jiàn)密鑰VKi。然而與該方法不同的是,中間實(shí)體510使用 對(duì)稱密鑰keyl解密至少數(shù)據(jù)(例如,遠(yuǎn)端程序)。通過(guò)示例方式,由中間實(shí)體 510使用的加密技術(shù)可以是公知的先進(jìn)加密標(biāo)準(zhǔn)(AES),其使得能夠使用一個(gè) 或者多個(gè)對(duì)稱密鑰來(lái)加密和解密敏感數(shù)據(jù)。注意,中間實(shí)體510可以利用對(duì)稱 密鑰keyl來(lái)加密數(shù)據(jù)以及可見(jiàn)密鑰VKi。在這種情況下,中間實(shí)體510最好將 經(jīng)加密的數(shù)據(jù)(以及可見(jiàn)密鑰VKi)傳送到安全實(shí)體512。認(rèn)證服務(wù)器514最好 操作來(lái)接收經(jīng)加密的數(shù)據(jù)和可見(jiàn)密鑰VKi,并且利用對(duì)稱密鑰key2來(lái)對(duì)其進(jìn)行 解密。
一旦認(rèn)證服務(wù)器514已經(jīng)獲得了經(jīng)解密的數(shù)據(jù)和可見(jiàn)密鑰VKi,其就搜索 數(shù)據(jù)庫(kù)514以尋找可見(jiàn)密鑰-不可見(jiàn)密鑰對(duì)。如果獲得了^^人中間實(shí)體510接收 來(lái)的可見(jiàn)密鑰VKi和在數(shù)據(jù)庫(kù)516中所存儲(chǔ)的可見(jiàn)密鑰之一之間的匹配,則認(rèn) 證服務(wù)器514最好使用與可見(jiàn)密鑰VKi和處理器500相關(guān)聯(lián)的不可見(jiàn)密鑰IKi 來(lái)加密數(shù)據(jù)。認(rèn)證l良務(wù)器514還利用對(duì)稱密鑰key2加密經(jīng)加密的數(shù)據(jù)以獲得加 密過(guò)的經(jīng)加密的數(shù)據(jù)。然后,安全實(shí)體512將加密過(guò)的經(jīng)加密數(shù)據(jù)傳送到中間 實(shí)體510。
中間實(shí)體510最好接收加密過(guò)的經(jīng)加密數(shù)據(jù),并且利用對(duì)稱密鑰keyl對(duì)其 解密以獲得不可見(jiàn)密鑰IKi所加密的數(shù)據(jù)。然后,中間實(shí)體500可以通過(guò)諸如因 特網(wǎng)或者其他適當(dāng)機(jī)制將經(jīng)加密的數(shù)據(jù)傳送到處理器510。 PU 304幫助從中間 實(shí)體510接收經(jīng)加密的數(shù)據(jù)以及其在共享DRAM 314中的存儲(chǔ)。最好,在PU 304 使得經(jīng)加密的數(shù)據(jù)存儲(chǔ)在共享DRAM 314的同時(shí)或者大概同時(shí),處理器500處 于操作的安全模式中。當(dāng)PU304啟動(dòng)經(jīng)加密的數(shù)據(jù)從共享DRAM314到處理器 500的本地處理器350的傳送時(shí),這種經(jīng)加密的數(shù)據(jù)必須通過(guò)解密單元502。因 此,解密單元502利用處理器500的安全存儲(chǔ)器504中所存儲(chǔ)的不可見(jiàn)密鑰IKi 來(lái)解密經(jīng)加密的數(shù)據(jù)。有利地,源于中間實(shí)體510的經(jīng)解密的數(shù)據(jù)以安全的方 式存儲(chǔ)在處理器500的本地存儲(chǔ)器350中。在安全模式中,PU 304和任何其他 外部實(shí)體都不能在沒(méi)有處理器500的授權(quán)的情況下從本地存儲(chǔ)器350獲得數(shù)據(jù)。因此,處理器500可以操控這種數(shù)據(jù)而不必經(jīng)歷盜取。
現(xiàn)在參照?qǐng)D13-14,它們是使用進(jìn)一步替代方法來(lái)利用處理器500的安全 特點(diǎn)的圖11的系統(tǒng)的框圖。根據(jù)本發(fā)明的該實(shí)施方式,數(shù)據(jù)包括解密程序和對(duì) 稱密鑰(例如,根據(jù)RSA協(xié)議)。中間實(shí)體510利用對(duì)稱密鑰keyl (其最好是 中間實(shí)體510和其他信任實(shí)體知道的秘密密鑰)來(lái)對(duì)解密程序和對(duì)稱密鑰key2 進(jìn)行加密。注意,中間實(shí)體510也可以將處理器的可見(jiàn)密鑰VKi與解密程序和 對(duì)稱密鑰key2 —同加密。在任何情況下,中間實(shí)體510將經(jīng)加密的解密程序/ 對(duì)稱密鑰key2以及可見(jiàn)密鑰VKi傳送到安全服務(wù)器512。認(rèn)證服務(wù)器514最好 操作來(lái)利用對(duì)稱密鑰key2解密經(jīng)加密的數(shù)據(jù)以獲得解密程序和可見(jiàn)密鑰VKi (假設(shè)也使用解密程序來(lái)對(duì)其進(jìn)行加密)。密鑰key2最好是公鑰,這是因?yàn)槠?他方也可以知道key2的詳情。(還要注意,認(rèn)證月良務(wù)器514所適用于的公鑰key2 可以與用描述程序所加密的公鑰key2不同。)然后,認(rèn)i正月良務(wù)器514搜索數(shù)據(jù) 庫(kù)516以獲得匹配所接收到的可見(jiàn)密鑰VKi的可見(jiàn)密鑰-不可見(jiàn)密鑰對(duì)。如果 獲得匹配,則認(rèn)證服務(wù)器514最好使用與可見(jiàn)密鑰VKi和處理器500相關(guān)聯(lián)的 不可見(jiàn)密鑰IKi來(lái)對(duì)解密程序和對(duì)稱密鑰key2進(jìn)行加密。認(rèn)證服務(wù)器514還最 好利用對(duì)稱密鑰key2 (例如,例如RSA加密技術(shù))來(lái)加密經(jīng)加密的數(shù)據(jù)。然后 安全服務(wù)器512例如使用因特網(wǎng)將加密過(guò)的經(jīng)加密的數(shù)據(jù)(例如,解密程序和 對(duì)稱密鑰key2 )傳送到中間實(shí)體510。
中間實(shí)體510最好利用對(duì)稱(秘密)密鑰keyl來(lái)解密加密過(guò)的經(jīng)加密的數(shù) 據(jù)以獲得經(jīng)加密的數(shù)據(jù)。在該點(diǎn),中間實(shí)體510具有解密程序和對(duì)稱密鑰(公 鑰)key2,它們都已經(jīng)被通過(guò)不可見(jiàn)密鑰keyl解密。然后,中間實(shí)體510可以 通過(guò)諸如因特網(wǎng)將經(jīng)加密的數(shù)據(jù)(解密程序和對(duì)稱密鑰key2 )傳送到處理器500。 與之前的實(shí)施方式相同,PU304幫助來(lái)自中間實(shí)體510的經(jīng)加密的數(shù)據(jù)的接收、 其在共享DRAM 314中的存儲(chǔ)和通過(guò)解密單元502傳送經(jīng)加密的數(shù)據(jù),使得以 安全的方式將解密程序和對(duì)稱密鑰key2存儲(chǔ)在處理器500的本地存儲(chǔ)器350中。
在該點(diǎn),將處理器置于"安全模式",例如,上述第三纟莫式。更具體地i兌, 在第三模式中,處理器500可以啟動(dòng)信息到和從處理器500的傳送,而外部裝 置(諸如PU304)則不能夠這么做。
雖然這有利地允許處理器500以安全方式來(lái)操控解密程序和對(duì)稱密鑰 key2,但是其還允許后面以簡(jiǎn)化的方式保護(hù)數(shù)據(jù)傳送安全,這將參照?qǐng)D14更加 詳細(xì)地進(jìn)行描述。中間實(shí)體510最好利用對(duì)稱密鑰(公鑰)keyl加密進(jìn)一步的數(shù)據(jù),并且利 用因特網(wǎng)或者任何其他適當(dāng)機(jī)制將該數(shù)據(jù)發(fā)送到處理器500。注意,中間實(shí)體 510使用來(lái)加密進(jìn)一步的數(shù)據(jù)的私鑰keyl不必與用于對(duì)譯碼程序進(jìn)行加密以傳 送到安全服務(wù)器512的私鑰keyl相同。PU 304幫助來(lái)自中間實(shí)體510的經(jīng)加密 數(shù)據(jù)的接收以及其在共享DRAM 314中的存儲(chǔ)。注意,在本發(fā)明的該實(shí)施方式 中,處理器500不必處于操作的"隔離才莫式,,中。根據(jù)上面描述,考慮在隔離 模式(第二模式中),處理器500或者任何外部裝置都不可以啟動(dòng)到或者從處理 器500的信息的傳送。確實(shí),處理器500或者PU 304可以啟動(dòng)經(jīng)加密的數(shù)據(jù)從 共享DRAM 314到旁路解密單元502的本地存儲(chǔ)器350的傳送。這樣是因?yàn)槔?用對(duì)稱密鑰(私鑰)keyl來(lái)加密進(jìn)一步的數(shù)據(jù),而且PU 304或者任何其他外部 實(shí)體都不知道安全地存儲(chǔ)在本地存儲(chǔ)器350中的^^碼程序或者對(duì)稱密鑰(公鑰) key2,或者不能對(duì)其進(jìn)行存取。然后,處理器500可以利用解密程序和對(duì)稱密 鑰key2來(lái)對(duì)經(jīng)加密的進(jìn)一步的數(shù)據(jù)進(jìn)^fr解密。有利地,處理器500以安全方式 接收進(jìn)一步的數(shù)據(jù),而且可以以相同方式接收在進(jìn)一步的數(shù)據(jù)而不必要求恢復(fù) 到操作的安全模式。
現(xiàn)在參照?qǐng)D15,其是可以操作來(lái)通過(guò)因特網(wǎng)或者任何其他適當(dāng)通信信道或 者機(jī)制彼此通信的兩個(gè)處理器500A和500B的框圖。根據(jù)本發(fā)明的該實(shí)施方式, 每個(gè)處理器500A、 500B最好利用上面參照?qǐng)D13所討論的方法接收加密/解密程 序和對(duì)稱密鑰。更具體地說(shuō),處理器500A最好"l矣收加密/譯碼程序和對(duì)稱密鑰 key2,而處理器500B接收加密/解密程序和對(duì)稱密鑰keyl。最好,加密/譯碼程 序和對(duì)稱密鑰符合AES加密方法。
現(xiàn)在將更加詳細(xì)地討論處理器500A和處理器500B之間的lt據(jù)的安全傳送 (也稱為對(duì)等通信)。具體地說(shuō),處理器500B可以利用本地存儲(chǔ)器350B內(nèi)的加 密/解密程序和對(duì)稱密鑰keyl來(lái)加密進(jìn)一步的數(shù)據(jù)。然后處理器500B可以將經(jīng) 加密的進(jìn)一步的數(shù)據(jù)從本地存儲(chǔ)器350B傳送到共享DRAM 314B。然后PU 304B 可以通過(guò)因特網(wǎng)將經(jīng)加密的進(jìn)一步的數(shù)據(jù)從共享DRAM 314B傳送到與處理器 500A相關(guān)聯(lián)的PU 304A。然后,PU 304A可以將傳送在與處理器500A相關(guān)聯(lián) 的共享DRAM 314A中的經(jīng)加密的進(jìn)一步的數(shù)據(jù)。然后,處理器500A或者PU 304A可以將經(jīng)加密的進(jìn)一步的數(shù)據(jù)從共享DRAM 314A傳送到旁路解密單元 502A的本地存儲(chǔ)器350A。 一旦在本地存儲(chǔ)器350A中,可以利用加密/解密程 序和對(duì)稱密鑰key2來(lái)解密經(jīng)加密的進(jìn)一步的數(shù)據(jù)。有利地,可以在處理器500A和處理器500B之間傳送進(jìn)一步的數(shù)據(jù)而不用以中間實(shí)體510 (圖13 )進(jìn)行進(jìn)一 步通信。
還可以利用與上面討論的基本上類似的技術(shù)來(lái)將在進(jìn)一步的數(shù)據(jù)從處理器 500A傳送到處理器500B。確實(shí),處理器500A可以利用加密/解密程序和對(duì)稱密 鑰key2來(lái)加密進(jìn)一步的數(shù)據(jù),并且將其傳送到共享DRAM 314A。 PU 304A可 以經(jīng)由因特網(wǎng)將這種加密的進(jìn)一步的數(shù)據(jù)從共享DRAM 314A傳送到與處理器 500B相關(guān)聯(lián)的PU 304B。然后,處理器500B或者PU 304B將經(jīng)加密的進(jìn)一步 的數(shù)據(jù)/人共享DRAM 314B傳送到本地存儲(chǔ)器350B,其中利用加密/解密程序和 對(duì)稱密鑰keyl來(lái)對(duì)其進(jìn)行解密。再次,可以在不使用中間實(shí)體510或者安全服 務(wù)器512(圖13)的情況下,進(jìn)行再進(jìn)一步的數(shù)振從處理器500A到處理器500B 的安全傳送。
現(xiàn)在參照?qǐng)D16-17,其是與圖11和/或圖12的系統(tǒng)基本上類似的系統(tǒng)的框 圖,其中使用進(jìn)一步替代方法來(lái)利用幾個(gè)處理器500的安全特點(diǎn)。更加本發(fā)明 的該實(shí)施方式,中間實(shí)體510 (其可以是分布服務(wù)器)最好通過(guò)如上面討論的安 全路徑將解密(或者譯碼)程序和對(duì)稱密鑰key2傳送到安全服務(wù)器512。中間 實(shí)體510還最好以安全的方式傳送與要參加進(jìn)一步的數(shù)據(jù)的傳送的每個(gè)處理器 相關(guān)聯(lián)的相應(yīng)可見(jiàn)密鑰VKi。安全服務(wù)器512將"i奪碼程序和對(duì)稱密鑰key2的經(jīng) 加密版本傳送到中間實(shí)體510,其中用與所接收到的可見(jiàn)密鑰VKi的對(duì)應(yīng)的一 個(gè)相關(guān)聯(lián)的特定不可見(jiàn)密鑰IKi來(lái)加密每個(gè)版本。然后,中間實(shí)體510將經(jīng)加密
的譯碼程序和對(duì)稱密鑰key2的相應(yīng)版本傳送到相應(yīng)處理器500A、 500B.....
500i。每個(gè)處理器最好在操作的安全模式中,以便經(jīng)加密的譯碼程序和對(duì)稱密鑰
key2的相應(yīng)版本必須通過(guò)相應(yīng)解密單元502A、 502B..... 502i。因此,每個(gè)處
理器500A、 500B、…、500i在其相關(guān)聯(lián)的本地存儲(chǔ)器350A、 350B、 ...、 350i 中獲得譯碼程序和對(duì)稱密鑰key2。
之后,中間實(shí)體510可以將進(jìn)一步的數(shù)據(jù)的一個(gè)版本(諸如分發(fā)程序,其 已經(jīng)通過(guò)對(duì)稱密鑰keyl進(jìn)行加密)傳送到每個(gè)處理器500 (圖17)。然后,每 個(gè)處理器500可以利用位于其相應(yīng)本地存儲(chǔ)器350中的譯碼程序和對(duì)稱密鑰 key2來(lái)解密經(jīng)加密的進(jìn)一步的數(shù)據(jù)。有利地,可以用安全方式來(lái)傳送進(jìn)一步的 數(shù)據(jù)而不必要求用于每個(gè)參與處理器500的不同版本。從這方面來(lái)書(shū),將譯碼 程序認(rèn)為是用戶的"許可",其允許特定處理器500接收諸如電影、音樂(lè)、游戲 程序之類的進(jìn)一步的數(shù)據(jù)。因?yàn)樵S可只對(duì)特定處理器500 (用戶)有效,所以只有該用戶可以接收和解密經(jīng)加密的分布程序。然而,分布l良務(wù)器510只需要準(zhǔn) 備分布程序的一個(gè)版本,雖然該版本被加密但是也可以通過(guò)被授權(quán)的處理器進(jìn)
行解密。
從上面說(shuō)明中應(yīng)該理解,可以獨(dú)立地或者組合地使用本發(fā)明的各種實(shí)施方 式以實(shí)現(xiàn)各種安全操作,例如信任代碼的處理和分發(fā)。確實(shí),可以確認(rèn)信任代 碼的源,并且進(jìn)行關(guān)于是否已經(jīng)竄改了信任代碼的確定。此外,可以使用本發(fā) 明來(lái)驗(yàn)證數(shù)據(jù)內(nèi)容、安全地分發(fā)數(shù)據(jù)內(nèi)容、管理系統(tǒng)特權(quán)、處理電子商務(wù)支付、 管理對(duì)等通信和管理客戶機(jī)對(duì)服務(wù)器驗(yàn)證。再進(jìn)一步,可以使用本發(fā)明來(lái)通過(guò) 驗(yàn)證和確認(rèn)在引導(dǎo)(boot up)之前還沒(méi)有竄改操作系統(tǒng)。還沒(méi)有窮盡本發(fā)明的 應(yīng)用;確實(shí),本領(lǐng)域的普通技術(shù)人員應(yīng)該理解本發(fā)明的應(yīng)用非常多以至不能全 部列出。
現(xiàn)在將參照?qǐng)D18,其示出了如何才艮據(jù)本發(fā)明的各種方面來(lái)使用處理器協(xié)作 的進(jìn)一步例子。更具體地說(shuō),圖18示出了在數(shù)據(jù)總線、網(wǎng)絡(luò)和/或任何其他通信 鏈路上彼此通信的多個(gè)處理器600A、 600B、 ...、 600F的框圖。至少一個(gè)處理 器600是"隔離的",這是因?yàn)樵跊](méi)有同意的情況下不能夠獲得在其本地存儲(chǔ)器 中的數(shù)據(jù)。換句話說(shuō), 一個(gè)或多個(gè)處理器600處于如上所述的操作的安全模式 中。在圖18所示的例子中,處理器600A、 600B、 600D和600E處于l乘作的安 全模式中,而處理器600C和600F處于非安全操作模式中。除非另外允許,否 則安全或者非安全處理器都不能從安全處理器的本地存儲(chǔ)器中接收數(shù)據(jù)。因此, 非安全處理器600C不能單方面地從安全處理器600B的本地存儲(chǔ)器中獲得數(shù)據(jù)。 相反地,任何處理器600都可以單方面地從非安全處理器的本地存儲(chǔ)器中獲得 數(shù)據(jù)。然而當(dāng)已經(jīng)獲得了允許時(shí),通過(guò)諸如相互協(xié)作,服務(wù)器處理器(例如, 處理器600A)可以允許另一個(gè)處理器(例如,處理器600B )單方面地從其本地 存儲(chǔ)器中獲得數(shù)據(jù)。
可以將上述系統(tǒng)用于多方商業(yè)合營(yíng)的管理中,因?yàn)樵谶@種情況下數(shù)據(jù)的安 全很重要。例如,處理器600A和600B可以管理包含專有內(nèi)容和/或提供驗(yàn)證功 能給在合營(yíng)機(jī)構(gòu)中的其他方的實(shí)體。因此,處理器600D和600E可以使用處理 器600A和/或處理器600B來(lái)驗(yàn)證內(nèi)容,例如,確認(rèn)和/或加密用于后來(lái)分發(fā)或 者處理的內(nèi)容。從這方面來(lái)說(shuō),可以將處理器600D和600E當(dāng)作被許可者的管 理實(shí)體。進(jìn)一步,可以第三方內(nèi)容可以在非安全處理器600C和600F上獲得和/ 或在其上進(jìn)行處理。雖然已經(jīng)參照特定實(shí)施方式在這里描述了本發(fā)明,但是應(yīng)該理解,這些實(shí) 施方式只是本發(fā)明的原理和應(yīng)用的說(shuō)明。因此應(yīng)該理解,在不偏離所附權(quán)利要 求所限定的本發(fā)明的精神和范圍的情況下,可以對(duì)這些說(shuō)明性實(shí)施方式進(jìn)行各 種變型而且也可以考慮其他安排方式。
產(chǎn)業(yè)的可利用性
可以將本發(fā)明應(yīng)用于使用多處理器保護(hù)數(shù)據(jù)處理安全的技術(shù)。
權(quán)利要求
1.一種用于保護(hù)數(shù)據(jù)處理和傳送安全的設(shè)備,包括主處理單元;多個(gè)附連處理單元,每個(gè)包括本地存儲(chǔ)器和解密單元,并且每個(gè)都可操作來(lái)進(jìn)入普通操作模式或者安全操作模式;和共享存儲(chǔ)器,其中當(dāng)旁路解密單元的附連處理單元中給定的一個(gè)處于普通模式時(shí),該主處理單元能夠啟動(dòng)共享存儲(chǔ)器和該給定附連處理單元之間的數(shù)據(jù)傳送,以及該主處理單元不能(i)啟動(dòng)從該給定附連處理單元到共享存儲(chǔ)器的數(shù)據(jù)傳送;或者(ii)當(dāng)該給定附連處理單元處于安全模式時(shí),啟動(dòng)從共享存儲(chǔ)器到旁路解密單元的該給定附連處理單元的數(shù)據(jù)傳送。
2. 根據(jù)權(quán)利要求1所述的設(shè)備,其中所述附連處理單元能夠啟動(dòng)與共享 存儲(chǔ)器的數(shù)據(jù)傳送,而不論它們處于普通操作模式還是安全操作模式中。
3. 根據(jù)權(quán)利要求1或者權(quán)利要求2所述的設(shè)備,其中,可操作所述附連處理單元以在硬件重置條件和開(kāi)機(jī)條件中至少一個(gè)時(shí)進(jìn)入安全操作^t式。
4. 根據(jù)權(quán)利要求1或者權(quán)利要求2所述的設(shè)備,其中所述數(shù)據(jù)可以包括 至少部分軟件程序。
5. 根據(jù)權(quán)利要求1或者權(quán)利要求4所述的設(shè)備,其中每個(gè)附連處理單元 包括包含基本上唯一的密鑰的安全存儲(chǔ)器,只可由該給定附連處理單元的解 密單元的至少 一個(gè)以及被授權(quán)的實(shí)體存取該存儲(chǔ)器。
6. 根據(jù)權(quán)利要求5所述的設(shè)備,其中,每個(gè)附連處理單元的解密單元使 用密鑰來(lái)解密從共享存儲(chǔ)器傳送到本地存儲(chǔ)器的數(shù)據(jù),這種數(shù)據(jù)傳送是當(dāng)該 給定附連處理單元處于安全操作模式時(shí)由主處理單元所啟動(dòng)的。
7. 根據(jù)權(quán)利要求5所述的設(shè)備,其中,所述共享存儲(chǔ)器可以包含經(jīng)加密 的數(shù)據(jù),已經(jīng)使用附連處理單元的基本上唯一的密鑰之一加密了該經(jīng)加密的 數(shù)據(jù)。
8. 根據(jù)權(quán)利要求5所述的設(shè)備,其中,每個(gè)附連處理單元與基本上唯一 的ID關(guān)聯(lián),至少一個(gè)該纟合定附連處理單元的外部實(shí)體和該i殳備可以知道該 ID。
9. 根據(jù)權(quán)利要求7所述的設(shè)備,其中,由該設(shè)備外部的安全實(shí)體加密經(jīng) 加密的數(shù)據(jù),授權(quán)該安全實(shí)體使用該給定附連處理單元的密鑰。
10. 根據(jù)權(quán)利要求5所述的設(shè)備,其中,該安全實(shí)體包括包含參與的附 連處理單元的ID和密鑰的數(shù)據(jù)庫(kù),用于給定附連處理單元的每個(gè)ID和密鑰 彼此關(guān)聯(lián)。
11. 根據(jù)權(quán)利要求5所述的設(shè)備,其中,在不安全實(shí)體提供與密鑰關(guān)聯(lián) 的ID給該安全實(shí)體之后,利用給定附連處理單元的密鑰,該安全實(shí)體加密從 不被^^權(quán)使用給定附連處理單元的密鑰的不安全實(shí)體接收來(lái)的數(shù)據(jù)。
12. 根據(jù)權(quán)利要求11所述的設(shè)備,其中 該安全實(shí)體可操作來(lái)將加密的數(shù)據(jù)提供給不安全實(shí)體; 該不安全實(shí)體可操作來(lái)提供加密的數(shù)據(jù)給該設(shè)備以存儲(chǔ)在共享存儲(chǔ)器中;該主處理單元可操作來(lái)啟動(dòng)從共享存儲(chǔ)器到給定附連處理單元的加密數(shù) 據(jù)的傳送,使得加密的數(shù)據(jù)輸入到解密單元中;以及,該給定附連處理單元的解密單元可以操作來(lái)使用給定附連處理單元的密 鑰來(lái)解密所加密的數(shù)據(jù),使得數(shù)據(jù)存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中。
13. 根據(jù)權(quán)利要求5所述的設(shè)備,其中不被授權(quán)來(lái)使用給定附連處理單元的密鑰的不安全實(shí)體使用第 一對(duì)稱密 鑰加密數(shù)據(jù),提供加密的數(shù)據(jù)給安全實(shí)體,并且將與給定附連處理單元相關(guān) 聯(lián)的ID提供給安全實(shí)體;該安全實(shí)體使用第二對(duì)稱密鑰來(lái)解密不安全實(shí)體所提供的經(jīng)加密的數(shù) 據(jù),并且使用與從不安全實(shí)體接收來(lái)的ID相關(guān)聯(lián)的給定附連處理單元的密鑰 來(lái)加密數(shù)據(jù)。
14. 根據(jù)權(quán)利要求13所述的設(shè)備,其中,不安全實(shí)體使用第一對(duì)稱密鑰 來(lái)加密給定附連處理器單元的數(shù)據(jù)和ID,并且將經(jīng)加密的數(shù)據(jù)或ID提供給 安全實(shí)體。
15. 根據(jù)權(quán)利要求13所述的設(shè)備,其中該安全實(shí)體可操作來(lái)使用第二對(duì)稱密鑰加密經(jīng)加密的數(shù)據(jù),并且提供經(jīng) 過(guò)加密的經(jīng)加密數(shù)據(jù)給不安全實(shí)體;該不安全實(shí)體可操作來(lái)使用第 一對(duì)稱密鑰解密經(jīng)過(guò)加密的經(jīng)加密數(shù)據(jù)以 獲得使用給定附連處理單元的密鑰所產(chǎn)生的經(jīng)加密數(shù)據(jù),并且提供經(jīng)加密的 數(shù)據(jù)給設(shè)備以存儲(chǔ)在共享存儲(chǔ)器中;該主處理單元可操作來(lái)啟動(dòng)從共享存儲(chǔ)器到給定附連處理單元的加密數(shù)據(jù)的傳送,使得將經(jīng)加密的數(shù)據(jù)輸入到解密單元;以及,該給定附連處理單元的解密單元可操作來(lái)使用給定附連處理單元的密鑰 來(lái)解密經(jīng)加密的數(shù)據(jù),使得數(shù)據(jù)存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中。
16. 根據(jù)權(quán)利要求5所述的設(shè)備,其中 數(shù)據(jù)是解密程序;不被授權(quán)使用給定附連處理單元的密鑰的不安全實(shí)體使用第一對(duì)稱密鑰 加密該解密程序,提供經(jīng)加密的解密程序給安全實(shí)體,并且提供與給定附連 處理單元相關(guān)聯(lián)的ID給安全實(shí)體;以及,該安全實(shí)體使用第二對(duì)稱密鑰解密由不安全實(shí)體所提供的經(jīng)加密的解密鑰來(lái)加密解密程序和第二對(duì)稱密鑰。
17. 根據(jù)權(quán)利要求16所述的設(shè)備,其中,不安全實(shí)體使用第一對(duì)稱密 鑰來(lái)加密解密程序和給定附連處理單元的ID,并且提供經(jīng)加密的解密程序/ID 給安全實(shí)體。
18. 根據(jù)權(quán)利要求16所述的設(shè)備,其中,不安全實(shí)體使用第一對(duì)稱密 鑰來(lái)加密解密程序、給定附連處理單元的ID和第二對(duì)稱密鑰,并且提供經(jīng)加 密的解密程序、ID或第二對(duì)稱密鑰給安全實(shí)體。
19. 根據(jù)權(quán)利要求16所述的設(shè)備,其中安全實(shí)體可操作來(lái)使用第二對(duì)稱密鑰加密經(jīng)加密的解密程序和第二對(duì) 稱密鑰,并且提供經(jīng)過(guò)加密的經(jīng)加密的解密程序/第二對(duì)稱密鑰給不安全實(shí) 體;不安全實(shí)體可操作來(lái)使用第 一對(duì)稱密鑰對(duì)經(jīng)過(guò)加密的經(jīng)加密的解密程 序/第二對(duì)稱密鑰進(jìn)行解密,以獲得使用給定附連處理單元的密鑰所產(chǎn)生的經(jīng) 加密的解密程序/第二對(duì)稱密鑰,并且提供經(jīng)加密的解密程序/第二對(duì)稱密鑰給 設(shè)備以存儲(chǔ)在共享存儲(chǔ)器中;主處理單元可操作來(lái)啟動(dòng)經(jīng)加密的解密程序/第二對(duì)稱密鑰從共享存儲(chǔ) 器到給定附連處理單元的傳送,以便經(jīng)加密的解密程序/第二對(duì)稱密鑰輸入到 解密單元;以及給定附連處理單元的解密單元可操作來(lái)使用給定附連處理單元的密鑰 對(duì)經(jīng)加密的解密程序/第二對(duì)稱密鑰進(jìn)行解密,以便解密程序和第二對(duì)稱密鑰 存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中。
20. 根據(jù)權(quán)利要求19所述的設(shè)備,其中,不安全實(shí)體可以操作來(lái)使用 第一對(duì)稱密鑰加密數(shù)據(jù),并且將經(jīng)加密的數(shù)據(jù)提供給設(shè)備以存儲(chǔ)在共享存儲(chǔ) 器中。
21. 根據(jù)權(quán)利要求19所述的設(shè)備,其中,給定附連處理單元能夠?qū)?lái) 自共享存儲(chǔ)器的經(jīng)加密的數(shù)據(jù)接收到旁路解密單元的本地存儲(chǔ)器中。
22. 根據(jù)權(quán)利要求21所述的設(shè)備,其中,當(dāng)從共享存儲(chǔ)器將經(jīng)加密的 數(shù)據(jù)接收到本地存儲(chǔ)器時(shí),給定附連處理單元可以處于普通模式或者安全模 式。
23. 根據(jù)權(quán)利要求19所述的設(shè)備,其中,給定附連處理單元可操作來(lái) 使用解密程序和第二對(duì)稱密鑰對(duì)經(jīng)加密的數(shù)據(jù)進(jìn)行解密。
24. 根據(jù)權(quán)利要求23所述的設(shè)備,其中所述數(shù)據(jù)可以包括軟件程序。
25. 根據(jù)權(quán)利要求19所述的設(shè)備,其中,主處理單元可操作來(lái)啟動(dòng)經(jīng) 加密的數(shù)據(jù)從共享存儲(chǔ)器到旁路解密單元的給定附連處理單元的本地存儲(chǔ)器 的傳送。
26. —種用于保護(hù)數(shù)據(jù)處理和傳送安全的方法,包括 提供主處理單元、多個(gè)附連處理單元和共享存儲(chǔ)器,每個(gè)附連處理單元包括本地存儲(chǔ)器和解密單元并且可操作來(lái)進(jìn)入普通操作;f莫式;和當(dāng)該給定附連處理單元處于安全模式時(shí),該主處理單元不能啟動(dòng)從共享 存儲(chǔ)器到旁路解密單元的給定的一個(gè)附連處理單元的數(shù)據(jù)傳送,從而必須由 解密單元使用密鑰來(lái)解密對(duì)主處理器單元的本地存儲(chǔ)器的、外部啟動(dòng)的任何 數(shù)據(jù)傳送,該密鑰對(duì)于給定附連處理單元基本上唯一而且只有被授權(quán)的實(shí)體知道o
27. 根據(jù)權(quán)利要求26所述的方法,還包括允許所述附連處理單元啟動(dòng)與共享存儲(chǔ)器的數(shù)據(jù)傳送,而不論它們處于 普通搡作模式還是安全操作模式中。
28. 根據(jù)權(quán)利要求26或者權(quán)利要求27所述的方法,還包括 使得所述附連處理單元在硬件重置條件和開(kāi)機(jī)條件中至少一個(gè)時(shí)進(jìn)入安全操作模式。
29. 根據(jù)權(quán)利要求26或者權(quán)利要求27所述的方法,還包括 將數(shù)據(jù)和與附連處理單元的給定的一個(gè)相關(guān)聯(lián)的ID從中間實(shí)體傳送到安全實(shí)體;搜索包含參與的附連處理單元的ID和相關(guān)聯(lián)密鑰的安全實(shí)體的數(shù)據(jù) 庫(kù),和獲得與針對(duì)其接收了 ID的給定附連處理單元相關(guān)聯(lián)的密鑰;使用與針對(duì)其接收了 ID的給定附連處理單元相關(guān)聯(lián)的密鑰來(lái)加密傳送 到安全實(shí)體的數(shù)據(jù);和將經(jīng)加密的數(shù)據(jù)從安全實(shí)體傳送到中間實(shí)體。
30. 根據(jù)權(quán)利要求29所述的方法,還包括將經(jīng)加密的數(shù)據(jù)從中間實(shí)體傳送到給定附連處理單元的共享存儲(chǔ)器; 當(dāng)給定附連處理單元處于安全模式時(shí),啟動(dòng)經(jīng)加密的數(shù)據(jù)從共享存儲(chǔ)器 到給定附連處理單元的傳送,使得解密單元使用其密鑰來(lái)解密經(jīng)加密的數(shù)據(jù);和將數(shù)據(jù)存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中。
31. 根據(jù)權(quán)利要求26所述的方法,還包括在中間實(shí)體中使用第一對(duì)稱密鑰加密數(shù)據(jù)和與附連處理單元的給定一 個(gè)相關(guān)聯(lián)的ID中的至少一個(gè);將經(jīng)加密的數(shù)據(jù)和ID從中間實(shí)體傳送到安全實(shí)體; 使用第二對(duì)稱密鑰在安全實(shí)體中解密經(jīng)加密的數(shù)據(jù)和ID中的至少一個(gè);搜索包含ID和參與的附連處理單元的相關(guān)聯(lián)密鑰的安全實(shí)體的數(shù)據(jù) 庫(kù),和獲得與針對(duì)其接收到ID的給定附連處理單元相關(guān)聯(lián)的密鑰;使用與給定附連處理單元相關(guān)聯(lián)的密鑰在安全實(shí)體中加密數(shù)據(jù),并使用 第二對(duì)稱密鑰加密經(jīng)加密的數(shù)據(jù);和將加密過(guò)的經(jīng)加密的數(shù)據(jù)從安全實(shí)體傳送到中間實(shí)體。
32. 根據(jù)權(quán)利要求31所述的方法,還包括使用第一對(duì)稱密鑰在中間實(shí)體中解密加密過(guò)的經(jīng)加密的數(shù)據(jù)以獲得由與給定附連處理單元相關(guān)聯(lián)的密鑰所加密的數(shù)據(jù);將經(jīng)加密的數(shù)據(jù)從中間實(shí)體傳送到給定附連處理單元的共享存儲(chǔ)器; 當(dāng)給定附連處理單元處于安全模式時(shí),啟動(dòng)經(jīng)加密數(shù)據(jù)從共享存儲(chǔ)器到給定附連處理單元的傳送,使得解密單元使用其密鑰來(lái)解密經(jīng)加密的數(shù)據(jù);和將數(shù)據(jù)存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中。
33. 根據(jù)權(quán)利要求32所述的方法,其中該數(shù)據(jù)包括(i)解密程序,和(ii)第二對(duì)稱密鑰,該方法還包括使用第一對(duì)稱密鑰在中間實(shí)體中加密進(jìn)一步的數(shù)據(jù);將經(jīng)加密的進(jìn)一步的數(shù)據(jù)從中間實(shí)體傳送到給定附連處理單元以存儲(chǔ) 在共享存儲(chǔ)器中;和啟動(dòng)經(jīng)加密的進(jìn)一 步的數(shù)據(jù)從共享存儲(chǔ)器到本地存儲(chǔ)器的傳送,同時(shí)給 定附連處理單元不處于安全模式,以便旁路解密單元。
34. 根據(jù)權(quán)利要求33所述的方法,還包括使用給定附連處理單元來(lái)利用解密程序和第二對(duì)稱密鑰解密經(jīng)加密的 進(jìn)一步的數(shù)據(jù)。
35. 根據(jù)權(quán)利要求32所述的方法,其中,該數(shù)據(jù)包括(i)加密/解密程 序,和(ii)與加密/解密程序相關(guān)聯(lián)的一對(duì)對(duì)稱密鑰之一,以便將它們存儲(chǔ) 在給定附連處理單元的本地存儲(chǔ)器中,該方法還包括使用進(jìn)一步的數(shù)據(jù)和進(jìn)一步附連處理單元重復(fù)該方法的步驟,該進(jìn)一步 的數(shù)據(jù)包括(i)進(jìn)一步的加密/解密程序,和(ii)與該進(jìn)一步的加密/解密程 序相關(guān)聯(lián)的該對(duì)對(duì)稱密鑰的另一個(gè),以便將它們存儲(chǔ)在進(jìn)一步的附連處理單 元的本地存儲(chǔ)器中。
36. 根據(jù)權(quán)利要求35所述的方法,還包括使用加密/解密程序和給定附連處理單元的一個(gè)對(duì)稱密鑰來(lái)加密進(jìn)一步 的數(shù)據(jù);將經(jīng)加密的進(jìn)一步的數(shù)據(jù)從給定附連處理單元傳送到進(jìn)一步的附連處 理單元以存儲(chǔ)在其共享存儲(chǔ)器中;和啟動(dòng)經(jīng)加密的進(jìn)一步的數(shù)據(jù)從共享存儲(chǔ)器到進(jìn)一步的附連處理單元的 本地存儲(chǔ)器的傳送,同時(shí)進(jìn)一步的附連處理單元不在安全模式中,以便旁路 其解密單元。
37. ^4居權(quán)利要求36所述的方法,還包括使用進(jìn)一步的附連處理單元來(lái)使用進(jìn)一步的加密/解密程序和其他對(duì)稱 密鑰來(lái)解密經(jīng)加密的進(jìn)一步的數(shù)據(jù)。
38. 根據(jù)權(quán)利要求35所述的方法,還包括使用加密/解密程序和進(jìn)一步的附連處理單元的其他對(duì)稱密鑰來(lái)加密進(jìn) 一步的數(shù)據(jù);將經(jīng)加密的進(jìn)一步的數(shù)據(jù)從進(jìn)一步的附連處理單元傳送到給定附連處理單元以存儲(chǔ)在其共享存儲(chǔ)器中;和啟動(dòng)經(jīng)加密的進(jìn)一步的數(shù)據(jù)從共享存儲(chǔ)器到給定附連處理單元的本地 存儲(chǔ)器的傳送,同時(shí)給定附連處理單元不處于安全模式中,以便旁路其解密 單元。
39. 根據(jù)權(quán)利要求38所述的方法,還包括使用給定附連處理單元利用加密/解密程序和該一個(gè)對(duì)稱密鑰來(lái)解密經(jīng) 加密的進(jìn)一步的數(shù)據(jù)。
40. 根據(jù)權(quán)利要求38所述的方法,其中,給定附連處理單元的共享存 儲(chǔ)器與進(jìn)一步附連處理單元的共享存儲(chǔ)器是相同的存儲(chǔ)器。
41. 根據(jù)權(quán)利要求32所述的方法,其中,數(shù)據(jù)包括(i)解密程序,和 (ii)與解密程序相關(guān)聯(lián)的第二對(duì)稱密鑰,以便將它們存儲(chǔ)在給定附連處理單元的本地存儲(chǔ)器中,該方法還包括使用進(jìn)一步的附連處理單元重復(fù)該方法的步驟,以便將解密程序和第二 對(duì)稱密鑰存儲(chǔ)在每個(gè)附連處理單元中。
42. 根據(jù)權(quán)利要求41所述的方法,還包括 使用第一對(duì)稱密鑰在中間實(shí)體中加密進(jìn)一步的翁:據(jù); 將經(jīng)加密的進(jìn)一步的數(shù)據(jù)從中間實(shí)體傳送到每個(gè)附連處理單元以存儲(chǔ)在其共享存儲(chǔ)器中;啟動(dòng)經(jīng)加密的進(jìn)一步的數(shù)據(jù)從共享存儲(chǔ)器到附連處理單元的相應(yīng)本地 存儲(chǔ)的傳送,同時(shí)附連處理單元不處于安全模式中,以便旁路其相應(yīng)解密單 元。
43. 根據(jù)權(quán)利要求42所述的方法,還包括使用附連處理單元來(lái)利用 相應(yīng)解密程序和第二對(duì)稱密鑰來(lái)解密經(jīng)加密的進(jìn)一步的數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種用于保護(hù)數(shù)據(jù)處理和傳送安全的方法和設(shè)備,其中該設(shè)備包括本地存儲(chǔ)器;總線,可操作來(lái)將信息攜帶到該本地存儲(chǔ)器或者從該本地存儲(chǔ)器中攜帶出信息;一個(gè)或多個(gè)算術(shù)處理單元,可以操作來(lái)處理數(shù)據(jù)并且可操作地連接到該本地存儲(chǔ)器;以及安全電路,可以操作來(lái)將該設(shè)備置于操作模式中,其中所述多種操作模式包括該設(shè)備和外部裝置可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的數(shù)據(jù)傳送的第一模式,該設(shè)備和外部裝置都不可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的數(shù)據(jù)傳送的第二模式,和該設(shè)備可以啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的數(shù)據(jù)傳送而外部設(shè)備不能啟動(dòng)通過(guò)總線的、到或者來(lái)自存儲(chǔ)器的數(shù)據(jù)傳送的第三模式。
文檔編號(hào)G06F21/00GK101615233SQ20091015232
公開(kāi)日2009年12月30日 申請(qǐng)日期2005年11月11日 優(yōu)先權(quán)日2004年11月12日
發(fā)明者畠山明之, 鈴置雅一 申請(qǐng)人:索尼計(jì)算機(jī)娛樂(lè)公司