亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

提供安全執(zhí)行環(huán)境的裝置及其執(zhí)行安全編碼的方法

文檔序號(hào):6578049閱讀:116來(lái)源:國(guó)知局
專利名稱:提供安全執(zhí)行環(huán)境的裝置及其執(zhí)行安全編碼的方法
技術(shù)領(lǐng)域
本發(fā)明涉及微電子領(lǐng)域,特別是涉及一種微處理器,其提供一安全執(zhí)行 模式的操作,其允許在微處理器內(nèi)的安全環(huán)境中執(zhí)行運(yùn)算碼。
背景技術(shù)
桌上型計(jì)算機(jī)、筆記型計(jì)算機(jī)、以及手持式計(jì)算機(jī)與通信裝置可作為機(jī) 密或?qū)S脭?shù)據(jù)與數(shù)字權(quán)利控制內(nèi)容的數(shù)字通信平臺(tái),計(jì)算機(jī)產(chǎn)業(yè)對(duì)于這些裝 置的使用持續(xù)地發(fā)展新的安全制度。舉例來(lái)說(shuō),有許多已建立的應(yīng)用,用以 在因特網(wǎng)上免費(fèi)下載與管理數(shù)字聲音與影音檔案。通過(guò)這些應(yīng)用,使用者被 提供在歌曲、電視節(jié)目以及電影上的有限的權(quán)利。特別注意的是,以上通過(guò) 使用建立在這些應(yīng)用中的安全特性來(lái)保護(hù)這些權(quán)利,而這些安全特性通常依 據(jù)其主機(jī)平臺(tái)所提供的安全機(jī)制。
除了數(shù)字內(nèi)容權(quán)利的保護(hù),持續(xù)驅(qū)動(dòng)計(jì)算機(jī)系統(tǒng)安全性的另 一 因素是實(shí) 施在主機(jī)平臺(tái)本身的使用限制。目前已知,手機(jī)產(chǎn)業(yè)已提供特定通信裝置中
所謂的"隨用隨付(Pay-as-you-go)"使用。藉由使用此方案,使用者不需 給付月費(fèi),但是需預(yù)先給付某通話分鐘數(shù)的金額。當(dāng)用盡通話分鐘數(shù)時(shí),除 了緊急通話以外,使用者被拒絕存取任何關(guān)于通話的手機(jī)網(wǎng)絡(luò)存取。
早在2006年,MICROSOFT公司與其合作公司已提供主要指向新興計(jì) 算機(jī)市場(chǎng)的"隨用隨付,,個(gè)人計(jì)算機(jī)。在此體制下,通過(guò)預(yù)付卡的購(gòu)得,當(dāng) 使用這些公司的計(jì)算機(jī)時(shí)使用者則給付費(fèi)用。此外,歸屬于MICROSOFT公 司的美國(guó)專利申請(qǐng)案公開(kāi)編號(hào)20060282899,公開(kāi)一種用于模塊化操作系統(tǒng) 的傳遞的系統(tǒng)與方法,其包括提供主要操作系統(tǒng)支持的核心功能模塊或基礎(chǔ) 核心,且包括一或多個(gè)允許客制化的操作系統(tǒng)定做的附屬模塊。在此應(yīng)用中, 附屬模塊可提供對(duì)于計(jì)算機(jī)(其包括硬件、應(yīng)用軟件、接口設(shè)備、以及支持 設(shè)備)的支持或延伸能力。在設(shè)置之前,數(shù)字簽章可使用來(lái)確定附屬模塊的 完整性,且核對(duì)證明(certification)以判斷附加模塊的設(shè)置是否經(jīng)過(guò)授權(quán)。藉 由此證明,服務(wù)提供者可管理對(duì)提供的計(jì)算機(jī)上的非法或非期望修改。此外,數(shù)字權(quán)利管理可用來(lái)執(zhí)行與許可配置相配的附屬模塊的使用項(xiàng)目。
并不意外地,目前已發(fā)展出技術(shù)方法的真正主機(jī),其提供規(guī)避安全措施, 而這些安全措施是適當(dāng)?shù)乇Wo(hù)且控制對(duì)權(quán)利控制數(shù)字媒體、通信裝置、以及
計(jì)算機(jī)平臺(tái)的存取。最近,"hacking (進(jìn)行非法入侵,即黑客)"變成研究上
的課題。事實(shí)上,本案發(fā)明人已注意到許多用來(lái)篡改或完全地使安全管理無(wú) 效的作品公開(kāi),而這些安全管理用來(lái)防護(hù)受保護(hù)資產(chǎn)的存取及/或使用。由
Andrew Huang, San Francisco: No Starch Press, 2003戶斤才是出的著作Hacking the Xbox: An Introduction to Reverse Engineering則是上述作品的一種。jt匕著作凈爭(zhēng) 別著重于教導(dǎo)非法入侵技術(shù)以克服MICROSOFT所出產(chǎn)的XBOX游戲平臺(tái) 的安全機(jī)制,且更提供計(jì)算機(jī)安全與反向工程的教導(dǎo)主題,并討論所謂"安 全的"計(jì)算機(jī)平臺(tái)的弱點(diǎn)。
因此,平臺(tái)建置者與設(shè)計(jì)者持續(xù)從事在避免未被授權(quán)的平臺(tái)處理上更有 效的技術(shù)與機(jī)制,不論此存取是良性的(例如探測(cè)或窺察)、惡意的(例如 破壞性的或違背權(quán)利的入侵)、或是介于兩者之間(例如篡改)。這些機(jī)制中 許多者用來(lái)防止入侵者實(shí)際上存取平臺(tái),例如將平臺(tái)放置在安全底座上(例 如一上鎖的金屬圍場(chǎng))或者將有弱點(diǎn)的電路封裝入環(huán)氧化物內(nèi)。但是已知這 些類型的技術(shù)增加了系統(tǒng)成本與復(fù)雜性。其它機(jī)制則利用特定計(jì)算機(jī)架構(gòu)本 身提供的安全特性。
考慮已知x86架構(gòu)所提供的兩個(gè)主要安全特性分頁(yè)虛擬存儲(chǔ)器(paged virtual memory)以及特許執(zhí)行(privileged execution)。在分頁(yè)虛擬存儲(chǔ)器的情 況下,基本的操作系統(tǒng)定義一個(gè)分別的虛擬位置空間以及存取權(quán)利(例如只 執(zhí)行、只讀取)給每一正被執(zhí)行的應(yīng)用程序,因此阻止另一秘密鬼祟的應(yīng)用 程序在所定義的區(qū)域內(nèi)執(zhí)行,且阻止其修改數(shù)據(jù)。但是,由于與虛擬地址譯 文相關(guān)(即分頁(yè)窗體)的數(shù)據(jù)存在于系統(tǒng)存儲(chǔ)器,且其出現(xiàn)于主機(jī)微處理器 外的系統(tǒng)總線上,因此此數(shù)據(jù)可輕易地被窺察且被改變。
在特許執(zhí)行的情況下,x86結(jié)構(gòu)提供數(shù)種階級(jí)的執(zhí)行特權(quán)CPL0至CPL3 。 因此,某些系統(tǒng)資源與指令只可由正在較高特權(quán)階級(jí)上執(zhí)行的應(yīng)用程序來(lái)存 取。 一般得知操作系統(tǒng)組件操作在最高特權(quán)階級(jí)CPL0,以及使用者應(yīng)用歸 類于最低特權(quán)階級(jí)CPL3。但是,熟知此技術(shù)領(lǐng)域的人士將查知,這些架構(gòu) 特征主要是發(fā)展來(lái)阻止軟件錯(cuò)誤所導(dǎo)致的系統(tǒng)當(dāng)機(jī),且在防止有意或經(jīng)指導(dǎo) 的侵入(directed hacks)而言不是非常有效。因此已發(fā)展多種方法與裝置,其更仔細(xì)地集中防止對(duì)平臺(tái)的有意侵入與
接管。在美國(guó)專利編號(hào)5615263中,Takahashi教導(dǎo)一種在雙模(dual mode) 處理器中的安全模式。在一般/外部模式中,此雙模處理器執(zhí)行由外部來(lái)源所 提供的指令。這些指令通過(guò)雙模處理器的輸入/輸出來(lái)提供給雙模處理器。當(dāng) 接收到專用軟件或硬件發(fā)出的中斷時(shí),此雙模處理器進(jìn)入安全/內(nèi)部模式。此 中斷是指儲(chǔ)存在雙模處理器中只讀存儲(chǔ)器內(nèi)的安全功能。根據(jù)此接收的中 斷,雙模處理器的輸入/輸出被禁能。此已確認(rèn)的安全功能由雙模處理器來(lái)執(zhí) 行。在此安全功能的執(zhí)行期間,欲插置非來(lái)自只讀存儲(chǔ)器的指令的任何企圖 皆被忽略。然而,雙模處理器可存取由正在執(zhí)行的安全功能所特別確認(rèn)的數(shù) 據(jù)。當(dāng)安全功能執(zhí)行完成,則執(zhí)行一退出程序,以使能雙模處理器的輸入/ 輸出,并通過(guò)輸入/輸出重新開(kāi)始執(zhí)行由雙模處理器的外部來(lái)源所提供的指 令。
Takahashi教導(dǎo)此安全模式是用作加密與解密,且其中雙模處理器處理通 過(guò)總線且由外部控制信道(external control channel)處理器所提供的正常指令 與凝:據(jù),其中,此總線符合一標(biāo)準(zhǔn)總線架構(gòu),例如工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Industry Standard Architecture, ISA)。此雙模處理器在非安全才莫式下開(kāi)啟,且安全模 式通過(guò)軟件或硬件發(fā)出的中斷來(lái)初始化。在安全模式下,可執(zhí)行關(guān)于加密與 解密的有限數(shù)量的功能(即指令)。這些功能儲(chǔ)存在一個(gè)只讀存儲(chǔ)器中 (ROM),其位于雙4莫處理器的內(nèi)部。本案的發(fā)明人注意到,Takahashi的雙 模處理器并不適當(dāng),因?yàn)門akahashi的雙模處理器只能執(zhí)行內(nèi)部ROM所提 供的有限數(shù)量的功能。因此,包括一般目的指令的應(yīng)用程序(即在微處理器 的指令集中任何的指令)則無(wú)法在安全模式下執(zhí)行。
在美國(guó)專利編號(hào)7013484中,Ellison揭露一種建立安全環(huán)境的芯片組, 用于一隔離的儲(chǔ)存器所執(zhí)行的隔離執(zhí)行模式,此儲(chǔ)存器被至少一處理器來(lái)存 取。在正常執(zhí)行模式或此隔離執(zhí)行模式下,此至少一處理器具有多線程與操 作。Ellison的安全環(huán)境依據(jù)一外部芯片組(被隔離的執(zhí)行電路),其提供機(jī) 制給一處理器以在隔離執(zhí)行模式下操作。此外部芯片組因此配置 一個(gè)安全存 儲(chǔ)器區(qū)域,其管理隔離指令的譯碼與轉(zhuǎn)譯、隔離總線周期的產(chǎn)生、以及中斷 的產(chǎn)生。當(dāng)此外部芯片組主動(dòng)地隔離存儲(chǔ)器區(qū)域、指令執(zhí)行等時(shí),注意到此 外部芯片組通過(guò)一般系統(tǒng)總線而耦接此至少一處理器,因此在任何安全線程 的執(zhí)行期間內(nèi)容許在總線上的窺察與流量篡改。在美國(guó)專利編號(hào)7130951中,Christie揭露一種方法,用以控制有安全 執(zhí)行模式能力之處理器,此處理器包括多中斷,以^f吏得當(dāng)其正操作在非安全 執(zhí)行模式時(shí),中斷此有安全執(zhí)行模式能力的處理器。此方法包括當(dāng)此有安全 執(zhí)行模式能力的處理器正操作在一安全執(zhí)行模式時(shí),禁能多中斷以避免此處 理器中斷。盡管禁能中斷是在安全執(zhí)行環(huán)境中所期望的安全特性,根據(jù) Christie的處理器處理通過(guò)系統(tǒng)總線且由一操作系統(tǒng)所提供的指令與數(shù)據(jù)。 一旦這些指令被4是供時(shí),中斷即被禁能。如同Ellison的機(jī)制,此一裝置明 確地可被通過(guò)總線而提供至處理器的指令來(lái)做總線窺察與篡改。
在美國(guó)專利編號(hào)6983374中,Hashimoto揭露一種抗篡改微處理器,其 保存關(guān)于其執(zhí)行將被中斷的一個(gè)程序的內(nèi)容信息,其中,此處理器狀態(tài)被加 密且儲(chǔ)存在系統(tǒng)存儲(chǔ)器。Hashimoto也教導(dǎo)了自系統(tǒng)存儲(chǔ)器擷取加密指令的 技術(shù),以及對(duì)加密指令進(jìn)行解密且執(zhí)行此加密指令的裝置。此外,Hashimoto 教導(dǎo)了使用 一對(duì)應(yīng)密鑰來(lái)提供在存儲(chǔ)器內(nèi)的加密指令,且接著使用非對(duì)稱密 鑰算法來(lái)對(duì)儲(chǔ)存在存儲(chǔ)器內(nèi)的對(duì)稱密鑰加進(jìn)行加密。對(duì)于程序創(chuàng)造者來(lái)說(shuō), 對(duì)稱密鑰是已知的,且使用讀取自處理器的公開(kāi)密鑰來(lái)對(duì)此對(duì)稱密鑰進(jìn)行加 密。此處理器包括一獨(dú)特私密密鑰,其對(duì)應(yīng)此公開(kāi)密鑰,且使用者無(wú)法存取。 因此,根據(jù)分支指令的執(zhí)行,程控被轉(zhuǎn)移成"起始加密執(zhí)行"指令,其傳送 一指標(biāo)至加密對(duì)稱密鑰。此處理器擷取加密對(duì)稱密鑰,且使用其內(nèi)部私密密 鑰來(lái)對(duì)其解密。接著,加密程序指令自系統(tǒng)存儲(chǔ)器被擷取,且藉由使用解密 對(duì)稱密鑰來(lái)被解密,并由處理器來(lái)執(zhí)行。假使發(fā)生中斷或異常,處理器的狀 態(tài)則對(duì)稱地被加密且儲(chǔ)存至存儲(chǔ)器。Hashimoto揭露了對(duì)于非加密與加密編 碼的共通快取機(jī)制、中斷邏輯、異常處理邏輯的使用。
本案的發(fā)明人已注意到,Hashimoto的^1處理器限定編碼者已知對(duì)應(yīng)安 全編碼的對(duì)稱密鑰,且對(duì)稱密鑰可能被泄漏,因此,將具有此編碼的所有系 統(tǒng)將有被攻擊的風(fēng)險(xiǎn)。此外,本案的發(fā)明人已注意到,Hashimoto的孩史處理 器缺點(diǎn)在于,必須在擷取指令運(yùn)作中執(zhí)行安全編碼的解密,其花費(fèi)非常多的 時(shí)間,因此導(dǎo)致微處理器的處理能力變?yōu)榫徛?。此外,注意到,Hashimoto 的安全編碼利用現(xiàn)存的非安全資源,例如系統(tǒng)存儲(chǔ)器、分頁(yè)窗體、中斷、與 異常機(jī)制,這些全部都會(huì)遭受到窺察。
因此,本案的發(fā)明人了解,顯然期望提供一種微處理器,其能在安全執(zhí) 行環(huán)境中執(zhí)行包括一般目的指令(即在微處理器的指令集中任何的指令)的
9應(yīng)用程序或應(yīng)用線程。
此外,同時(shí)也期望此安全執(zhí)行環(huán)境隔離于任何已知的窺察與篡改方法。 因此,需要由一安全執(zhí)行模式微處理器來(lái)執(zhí)行指令,且此安全執(zhí)行模式微處 理器隔離于處理器中提供存取(例如快取窺察、系統(tǒng)總線流量、中斷、以及 錯(cuò)誤與追蹤特征)的硬件。
此外,更期望當(dāng)此微處理器加載應(yīng)用程序并安全執(zhí)行時(shí),提供一機(jī)制來(lái) 混淆來(lái)自任何現(xiàn)存監(jiān)控裝置的應(yīng)用的結(jié)構(gòu)與內(nèi)容,且提供一機(jī)制來(lái)證明此應(yīng) 用的來(lái)源且確認(rèn)其誠(chéng)實(shí)性。

發(fā)明內(nèi)容
本發(fā)明適用于解決前述問(wèn)題與對(duì)付習(xí)知技術(shù)的其他問(wèn)題、缺點(diǎn)與限制。 本發(fā)明提供較佳的技術(shù),以在一般目的微處理器平臺(tái)上使能安全應(yīng)用程序的 執(zhí)行。在一實(shí)施例中,揭露一種提供安全執(zhí)行環(huán)境的裝置,包括微處理器以 及安全非易失性存儲(chǔ)器。微處理器執(zhí)行多個(gè)非安全應(yīng)用程序與 一安全應(yīng)用程 序,其中,這些非安全應(yīng)用程序透過(guò)系統(tǒng)總線而存取自系統(tǒng)存儲(chǔ)器,且安全 應(yīng)用程序在安全執(zhí)行模式中執(zhí)行。微處理器包括監(jiān)控管理器,用以注意與估 計(jì)多個(gè)監(jiān)控器所傳遞的數(shù)據(jù)來(lái)動(dòng)態(tài)地監(jiān)控^f效處理器的物理與操作環(huán)境、對(duì)數(shù) 據(jù)進(jìn)行分類以指示出與安全應(yīng)用程序的執(zhí)行相關(guān)的安全層級(jí)、且使微處理器 內(nèi)的安全執(zhí)行模式邏輯電路根據(jù)安全層級(jí)來(lái)執(zhí)行反應(yīng)操作。對(duì)安全應(yīng)用程序 的執(zhí)行而言,這些監(jiān)控器獨(dú)立地操作。安全非易失性存儲(chǔ)器透過(guò)私密總線耦
接^:處理器,用以儲(chǔ)存安全應(yīng)用程序。在私密總線上微處理器與安全非易失 性存儲(chǔ)器之間的多個(gè)數(shù)據(jù)傳輸,隔離于系統(tǒng)總線以及^:處理器內(nèi)的多個(gè)對(duì)應(yīng) 系統(tǒng)總線資源。
本發(fā)明的又一 實(shí)施例提供一種在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法, 包括提供安全非易失性存儲(chǔ)器以儲(chǔ)存一安全編碼。安全編碼藉由實(shí)現(xiàn)在私密 總線上的多個(gè)私密數(shù)據(jù)傳輸而存取自安全非易失性存儲(chǔ)器,且私密總線耦接 該安全非易失性存儲(chǔ)器與微處理器之間。私密總線隔離于微處理器內(nèi)的所有 系統(tǒng)總線資源且配置在微處理器的外部。私密總線只由微處理器的安全執(zhí)行 邏輯電路所得知及存取。此方法更包括注意與估計(jì)多個(gè)監(jiān)控器所傳遞的數(shù)據(jù) 來(lái)動(dòng)態(tài)地監(jiān)控微處理器的物理與操作環(huán)境,其中,對(duì)安全編碼的執(zhí)行而言, 這些監(jiān)控器獨(dú)立地操作;對(duì)數(shù)據(jù)進(jìn)行分類以指示出與安全編碼的執(zhí)行相關(guān)的安全層級(jí);以及根據(jù)安全層級(jí)來(lái)執(zhí)行反應(yīng)操作。
關(guān)于產(chǎn)業(yè)應(yīng)用性,本發(fā)明可實(shí)現(xiàn)于一微處理器內(nèi),且此微處理器是使用 于一般目的或特殊目的的電腦裝置。


圖l表示根據(jù)本發(fā)明的安全執(zhí)行模式(SEM)微處理器的方塊示意圖; 圖2表示說(shuō)明圖1的微處理器中最高階級(jí)操作模式的狀態(tài)圖; 圖3表示根據(jù)本發(fā)明的微處理器中SEM邏輯電路的方塊示意圖; 圖4表示在根據(jù)本發(fā)明的微處理器內(nèi),安全編碼如何被儲(chǔ)存、存取、初 始化以及執(zhí)行的方塊示意圖5表示在圖1的微處理器中,SEM監(jiān)控邏輯電路的詳細(xì)方塊示意圖6表示在根據(jù)本發(fā)明的微處理器內(nèi)操作模式轉(zhuǎn)換的狀態(tài)圖7表示在本發(fā)明的微處理器中使能安全執(zhí)行才莫式操作的高階方法流程
圖8表示在本發(fā)明的微處理器中禁能安全執(zhí)行才莫式操作的高階方法流程
圖9表示在本發(fā)明的微處理器內(nèi)初始化安全編碼執(zhí)行的方法流程圖; 圖10表示本發(fā)明微處理器中執(zhí)行安全執(zhí)行模式使能重置操作的方法流 程圖n表示在本發(fā)明微處理器中終止安全執(zhí)行才莫式操作的方法流程以及
圖12表示在本發(fā)明的微處理器內(nèi)安全實(shí)時(shí)時(shí)鐘的詳細(xì)方塊示意圖。 主要組件符號(hào)說(shuō)明
100 ~系統(tǒng)板; 101-安全執(zhí)行才莫式微處理器;
102 ~系統(tǒng)總線; 103 ~總線主控裝置; 104 總線管理裝置;
105 ~安全執(zhí)行模式邏輯電路;
106 ~私密總線; 107 ~安全非易失性存儲(chǔ)器; Cl、 C2 連接路徑/信號(hào);
PSNT ~存儲(chǔ)器檢測(cè)總線/信號(hào);
VP ~電池; VP 1 、 VP2 ~連接^各徑/信號(hào);XI ~石英器; 200~狀態(tài)圖;
201 ~非安全執(zhí)行模式(原生未受控模式);
202 ~安全執(zhí)行模式(SEM-使能模式);
203 ~降級(jí)模式; 204 ~硬件關(guān)機(jī)模式;
300 ~安全執(zhí)行模式微處理器;
301 ~ SEM邏輯電路; 302 ~安全易失性存儲(chǔ)器; 303 -處理器狀態(tài); 304 ~安全編碼;
305 ~ SEM初始化邏輯電^各;
306 ~ SEM監(jiān)控邏輯電路;
307 ~ SEM中斷邏輯電^各;
308 ~ SEM例外邏輯電路; 309 SEM定時(shí)器; 310-SEM實(shí)時(shí)時(shí)鐘; 311 ~ AES/HASH/RSA單元; 312 處理器密鑰寄存器;
313 處理器執(zhí)行單元; 314 正常例外邏輯電^各; 315 ~正常追蹤/除錯(cuò)邏輯電路; 316 正常中斷邏輯電3各;
317 ~對(duì)應(yīng)安全編碼的安全數(shù)據(jù);
318 ~授權(quán)的公開(kāi)密鑰寄存器; 319 隨機(jī)數(shù)產(chǎn)生器;
320、 321、 324、 326、 327~總線;
322 ~電源管理邏輯電^s
323 ~地址邏輯電路; 325 ~非安全存儲(chǔ)器;
328 -非易失性使能指示寄存器;
329 ~ SEM機(jī)械專用寄存器存儲(chǔ)體;
400~圖示; 401 -微處理器;
402 ~安全編碼接口邏輯電路; 403 總線接口單元;
404 ~授權(quán)的公開(kāi)密鑰寄存器;
405 ~ AES/HASH/RSA單元;406 安全易失性存儲(chǔ)器;
407 ~安全非易失性存儲(chǔ)器接口單元;
408 ~ SEM監(jiān)控還輯電路;409 ~ SEM初始化邏輯電路;
411、 421-安全編碼; 413-處理器密鑰寄存器; 425 —系統(tǒng)總線;
432 ~授權(quán)的公開(kāi)密鑰區(qū)域;
501 ~物理環(huán)境監(jiān)控
504 處理器電壓監(jiān)控器; 506-數(shù)據(jù)監(jiān)控器;
410-BIOS存儲(chǔ)器; 412 隨機(jī)數(shù)產(chǎn)生器; 420~系統(tǒng)存儲(chǔ)器; 430-安全非易失性存儲(chǔ)器 431 -私密總線; CHK、 INS 總線; 500 ~ SEM監(jiān)控邏輯電3各; 502~總線時(shí)鐘監(jiān)控器; 503 ~頻率參考單元; 505 溫度監(jiān)控器; 507-安全時(shí)戳計(jì)數(shù)器;
508 -正常時(shí)戳計(jì)數(shù)器;
509 ~比率機(jī)械專用寄存器; 510 樣式監(jiān)控器; 511 指令監(jiān)控器; 512-指令數(shù)組; 513 監(jiān)控管理器;
BUSTE固、BUSCLK、 CORE CLK、 TEMP、 VDD、 CLASS1、 CLASS2、 CLASS3、 DISABLE ~信號(hào);
DESTRUCT、 INS、 NOBOOT、 PINCHK、 TAMPER、 CHK 總線; 600-詳細(xì)操作模式圖標(biāo);
601 ~原生未受控模式(非安全執(zhí)行模式);
602 ~ SEM使能重置模式[1:N];
603 ~ SEM使能正常執(zhí)行模式;
604 ~ SEM使能安全執(zhí)行模式;
605 ~降級(jí)模式; 700~流,呈圖; 800~流程圖; 900~流程圖; 1000
流程606 硬件關(guān)機(jī)模式; 701…705 流程步驟; 801…806 流程步驟; 901…912 流程步驟; 1001 ...1009
流程步f
.取
水;
131100-流程圖; 1200~安全實(shí)時(shí)時(shí)鐘; 1202~計(jì)數(shù)器; VP、 ENV-信號(hào);
1101…1112 ~流程步驟; 1201 振蕩器; 1203 -轉(zhuǎn)換邏輯電路; VO、 CNTO-輸出信號(hào);
CNTO-輸出信號(hào);
TEMP、 BATT、 COMP、 XTAL 信號(hào); TIME 雙向總線。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí) 施例,并配合所附圖式,作詳細(xì)說(shuō)明如下。
本發(fā)明雖以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明的范圍,任 何所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可 做些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求書(shū)所界定 者為準(zhǔn)。
鑒于上述關(guān)于在一微處理器中應(yīng)用程序的安全并隔離地執(zhí)行且關(guān)于用 來(lái)防止窺察、侵入、篡改、或黑客的現(xiàn)今技術(shù)的背景討論,本發(fā)明的討論將 通過(guò)圖1至12來(lái)呈現(xiàn)。
參閱圖1,其表示根據(jù)本發(fā)明實(shí)施例的安全執(zhí)行模式(secure execution mode, SEM)微處理器101的示意圖。此示意圖描述SEM微處理器101配 置所在的系統(tǒng)板100 (或主機(jī)板)。此微處理器101通過(guò)系統(tǒng)總線102耦接一 個(gè)或多個(gè)總線主控裝置(bus master)103以及/或者一個(gè)或多個(gè)總線管理裝置 (bus agent) 104。在一實(shí)施例中,SEM孩史處理器101為x86兼容孩史處理器101, 其通過(guò)x86兼容系統(tǒng)總線102耦接一個(gè)或多個(gè)x86兼容總線主控裝置103以 及/或者一個(gè)或多個(gè)x86兼容總線管理裝置104。
此外,SEM微處理器101耦接一電池VP,其配置在系統(tǒng)板(主機(jī)板)100 上,且通過(guò)連接^各徑VP1與VP2來(lái)耦接至孩i:處理器101。在一實(shí)施例中, 電池VP的電壓為1.8V直流電壓(DC)。
石英器XI也配置在系統(tǒng)板100上,且通過(guò)連接路徑Cl與Cl來(lái)耦接至 微處理器101。微處理器101包括SEM邏輯電路105。根據(jù)本發(fā)明的SEM 邏輯電路105系配置來(lái)提供在微處理器內(nèi)一安全執(zhí)行模式的初始化、操作、以及終止,將于下文詳細(xì)說(shuō)明。此SEM邏輯電路105包括邏輯、電路、裝 置、或微碼(即微指令或原生指令)、或者是邏輯、電路、裝置、或微碼的
結(jié)合、又或者是用來(lái)初始化安全執(zhí)行模式的等效組件,使得SEM邏輯電路 105可加載安全應(yīng)用程序來(lái)執(zhí)行、在一安全環(huán)境中執(zhí)行這些應(yīng)用程序、為了 偵測(cè)且阻止篡改而監(jiān)控一些微處理器與系統(tǒng)特性、在適當(dāng)情況下終止安全執(zhí) 行模式、且假使偵測(cè)到篡改則暫停處理。用來(lái)執(zhí)行這些功能與SEM邏輯電 路105內(nèi)其它功能的組件,可共享用來(lái)執(zhí)行微處理器101內(nèi)其它功能的其它 電路、微碼等等。根據(jù)本申請(qǐng)案的范圍,微碼是涉及多個(gè)微指令的名詞。一 微指令(也稱為原生指令)是在一單元執(zhí)行所處的層級(jí)上的指令。例如,微 指令直接由精簡(jiǎn)指令集運(yùn)算(Reduced Instruction Set Computing, RISC)微 處理器來(lái)執(zhí)行。對(duì)于復(fù)雜指令集運(yùn)算(Complex Instruction Set Computing, CISC)微處理器(例如x86兼容微處理器)而言,x86指令首先轉(zhuǎn)譯為相關(guān) 的微指令,且此相關(guān)的微指令接著直接由CISC微處理器中一單元或多單元 來(lái)執(zhí)行。
安全非易失性存儲(chǔ)器107也配置在系統(tǒng)板100上,其通過(guò)私密總線(PVT BUS ) 106與存儲(chǔ)器檢測(cè)總線(presence detection bus)PSNT來(lái)耦接至微處理器 101。根據(jù)本發(fā)明,安全非易失性存儲(chǔ)器107為一種經(jīng)過(guò)電源的除去與重新 施加后其內(nèi)容仍存留的存儲(chǔ)器。即是,當(dāng)提供至系統(tǒng)板的電源關(guān)閉或開(kāi)啟時(shí), 安全非易失性存儲(chǔ)器107的內(nèi)容不會(huì)改變。在一實(shí)施例中,安全非易失性存 儲(chǔ)器107包括快閃只讀存儲(chǔ)器(ROM),其大小相當(dāng)于將在安全執(zhí)行模式中 執(zhí)行的安全應(yīng)用程序的大小。在一實(shí)施例中,考慮以4MB快閃只讀存儲(chǔ)器 來(lái)作為安全非易失性存儲(chǔ)器107。在私密總線106上的數(shù)據(jù)傳輸(transactions) 完全地隔離于系統(tǒng)總線102、總線主控裝置103以及總線管理裝置104,且 私密總線106位于微處理器101的外部。在一實(shí)施例中,快閃只讀存儲(chǔ)器107 可程序化高達(dá)100000次。在一實(shí)施例中,私密總線106考慮以一串行總線 來(lái)實(shí)現(xiàn),其提供介于安全非易失性存儲(chǔ)器107與微處理器101之間的數(shù)據(jù)傳 輸。此私密總線106可符合標(biāo)準(zhǔn)界面協(xié)議,例如串行外圍接口 (Serial Peripheral Interface, SPI)協(xié)議。
在操作上,電池VP與石英器X1提供在SEM邏輯電路105內(nèi)實(shí)時(shí)時(shí)鐘 (RealTime Clock, RTC)(未顯示)的持續(xù)操作,其將于下文詳細(xì)說(shuō)明。包 括來(lái)自主機(jī)結(jié)構(gòu)指令集的一或多個(gè)安全應(yīng)用程序,通過(guò)系統(tǒng)總線102而擷取自系統(tǒng)存儲(chǔ)器(未顯示),且儲(chǔ)存在安全非易失性存儲(chǔ)器107。在一實(shí)施例中,
使用屬于授權(quán)者(authorizing party)的一私密非對(duì)稱密鑰并通過(guò)非對(duì)稱加密演 算規(guī)則來(lái)加密一個(gè)或多個(gè)安全應(yīng)用程序,且安全應(yīng)用程序以其非對(duì)稱加密格 式而被存取自系統(tǒng)存儲(chǔ)器。在一實(shí)施例中,考慮通過(guò)RSA演算規(guī)則來(lái)加密 一個(gè)或多個(gè)安全應(yīng)用程序。在此一個(gè)或多個(gè)安全應(yīng)用程序擷取自系統(tǒng)存儲(chǔ)器 后,微處理器101利用一對(duì)應(yīng)的公開(kāi)密鑰來(lái)解碼此一個(gè)或多個(gè)安全應(yīng)用程序 并確認(rèn)此一個(gè)或多個(gè)安全應(yīng)用程序。根據(jù)安全執(zhí)行模式的使能以及依據(jù)一 "起始安全執(zhí)行,,指令的執(zhí)行,SEM邏輯電路105利用微處理器內(nèi)的多加 密資源,以根據(jù)一對(duì)稱密鑰算法并使用處理器獨(dú)特加密密鑰來(lái)對(duì)此一個(gè)或多 個(gè)安全應(yīng)用程序進(jìn)行加密,此外,SEM邏輯電^各105通過(guò)私密總線106來(lái) 將已加密的一個(gè)或多個(gè)安全應(yīng)用程序傳送至安全非易失性存儲(chǔ)器107。之后, SEM邏輯電路105利用^f效處理器101內(nèi)的多加密或其它資源,來(lái)對(duì)此一個(gè) 或多個(gè)安全應(yīng)用程序進(jìn)行存取、確認(rèn)以及解密,此一個(gè)或多個(gè)安全應(yīng)用程序 接著加載至微處理器101內(nèi)的一安全且隔離的隨機(jī)存取存儲(chǔ)器(RAM)或一 高速緩存(未顯示)。
當(dāng)執(zhí)行起始安全執(zhí)行指令時(shí)(當(dāng)進(jìn)入至該安全執(zhí)行模式),SEM邏輯電路 105禁能安全應(yīng)用程序得知察覺(jué)所有的系統(tǒng)資源,而這些系統(tǒng)資源提供了包 括非安全中斷、非安全例外邏輯以及追蹤/除錯(cuò)邏輯電路等等的監(jiān)視以及或篡 改。儲(chǔ)存在隔離的內(nèi)部RAM的一個(gè)或多個(gè)安全應(yīng)用程序藉由使用SEM邏 輯電路105內(nèi)的專用安全執(zhí)行資源來(lái)被執(zhí)行。此一個(gè)或多個(gè)安全應(yīng)用程序接 著可將處理器狀態(tài)由安全操作模式恢復(fù)至正常執(zhí)行模式,或者假使偵測(cè)到潛 在的篡改,他們可將微處理器轉(zhuǎn)換至具有有限的功能的降級(jí)模式。假使確定 發(fā)生篡改,SEM邏輯電路105接著使微處理器完全地關(guān)機(jī)(硬件關(guān)機(jī)模式)。
關(guān)于此一個(gè)或多個(gè)安全應(yīng)用程序(或"安全編碼")的功能類型包括(但 不受限于此)執(zhí)行關(guān)鍵安全任務(wù),例如憑證確認(rèn)、數(shù)據(jù)加密以及數(shù)據(jù)解密; 監(jiān)控正常系統(tǒng)軟件活動(dòng);確認(rèn)正常系統(tǒng)軟件的完整性;追蹤資源使用;新軟 件的安裝。
在一實(shí)施例中,在本發(fā)明的安全處理系統(tǒng)中考慮使用表面黏著式微處理 器IOI、表面黏著式安全非易失性存儲(chǔ)器107、以及表面黏著式石英器X1。 這些表面黏著式組件包括球柵陣列(ball-grid array )組件或焊接在系統(tǒng)板100 上的其它相似技術(shù)。本發(fā)明的微處理器101也執(zhí)行儲(chǔ)存在系統(tǒng)存儲(chǔ)器內(nèi)(未顯示)的非安全 應(yīng)用程序,這些非安全應(yīng)用程序的指令通過(guò)系統(tǒng)總線102來(lái)提供。在本發(fā)明
的觀念中,微處理器101能如中央處理單元(Centralized Processing Unit, CPU)般操作,而不用因應(yīng)協(xié)同處理器(coprocessor)的要求。即是,本發(fā)明 的微處理器101能執(zhí)行主機(jī)指令集的所有指令,且能執(zhí)行全部的應(yīng)用程序。 與只能執(zhí)行自一主要CPU轉(zhuǎn)移的單一指令、程序線程或程序片斷的類似功 能協(xié)同處理器與處理器比較起來(lái),本發(fā)明的微處理器101直接執(zhí)行在對(duì)應(yīng)應(yīng) 用程序中的所有指令,不論此應(yīng)用程序是否是儲(chǔ)存安全非易失性存儲(chǔ)器107 的安全應(yīng)用程序或者是通過(guò)系統(tǒng)總線102擷取的非安全應(yīng)用程序。
接著參閱圖2,狀態(tài)圖200說(shuō)明在圖1的微處理器中最高階級(jí)操作模式。 在此最高階級(jí)中,微處理器101提供三個(gè)主要操作模式201-203與一個(gè)硬件 關(guān)機(jī)模式204。非安全執(zhí)行模式201是在微處理器101制造后,當(dāng)?shù)谝淮喂?給電源時(shí)所默認(rèn)(default)的第一個(gè)狀態(tài)。非安全執(zhí)行模式201也稱為"原生 未受控(born free )"模式201。原生未受控模式201是微處理器101的制造 狀態(tài),其提供非安全應(yīng)用程序的正常執(zhí)行,其中,這些非安全應(yīng)用程序通過(guò) 系統(tǒng)總線102而于系統(tǒng)存儲(chǔ)器中存取。在此狀態(tài)中,無(wú)法得知且無(wú)法操作任 何與安全應(yīng)用程序的安全執(zhí)行相關(guān)聯(lián)的資源。這些資源包括SEM邏輯電路 105、安全非易失性存儲(chǔ)器107以及一些其它專用寄存器,這些專用寄存器 包括含有對(duì)稱與非對(duì)稱加密密鑰、安全中斷、安全存儲(chǔ)器(RAM)以及其它 硬件,將于下文詳細(xì)說(shuō)明。藉由提供原生未受控模式201,可實(shí)施與非安全 孩i處理器所共通的制造行動(dòng)類型(type of manufacturing activities)。此外,由 于原生未受控模式201提供非安全應(yīng)用程序的執(zhí)行,因此本發(fā)明的微處理器 101的相同的管芯設(shè)計(jì)(the same die design)可實(shí)施在非安全微處理器。在一實(shí) 施例中,非安全微處理器的接腳配置(pinout)不同于SEM微處理器101, 且假使非安全微處理器配置在安全系統(tǒng)板100時(shí),非安全微處理器的SEM 邏輯電路10 5將因電源應(yīng)用不同而無(wú)法操作。
在一實(shí)施例中,SEMENABLE(SEM使能)指令的執(zhí)行導(dǎo)致微處理器101 的模式轉(zhuǎn)換為安全執(zhí)行模式202。在安全執(zhí)行模式202下,安全與非安全應(yīng) 用程序都可執(zhí)行,但是非安全應(yīng)用程序無(wú)法存取安全資源。安全執(zhí)行模式202 也稱為SEM-使能模式202。在一安全應(yīng)用程序的控制下(簡(jiǎn)稱為程控),微處 理器的狀態(tài)可轉(zhuǎn)換回原生未受控模式201,然而,轉(zhuǎn)換為原生未受控模式201的次數(shù)是有限的。在一實(shí)施例中,處理器轉(zhuǎn)換回原生未受控^^莫式可高達(dá)64
次。在另一實(shí)施例中,以可確認(rèn)的授權(quán)者來(lái)對(duì)特殊(particular)機(jī)械專用寄存 器(Machine Specific Register, MSR)進(jìn)行寫入,導(dǎo)致微處理器101的模式 轉(zhuǎn)換為安全執(zhí)行模式202。
SEM邏輯電路105監(jiān)控對(duì)應(yīng)微處理器且與潛在篡改相關(guān)的狀態(tài),并根 據(jù)這些狀態(tài)的一使微處理器自安全執(zhí)行模式202轉(zhuǎn)換至降級(jí)(操作)模式203。 假使某些已定義的狀態(tài)被SEM邏輯電路105偵測(cè)到,微處理器101自動(dòng)地 轉(zhuǎn)換為降級(jí)模式203。在降級(jí)模式203中,允許執(zhí)行BIOS指令,以提供使 用者輸入與信息的顯示的功能,但是更多復(fù)雜的軟件(例如操作系統(tǒng))的執(zhí) 行則不被允許。在降級(jí)模式203中,在微處理器101的安全執(zhí)行模式202的 安全編碼操作被關(guān)閉,但是仍允許執(zhí)行BIOS指令。在一實(shí)施例中,BIOS 指令通過(guò)發(fā)出一外部中斷與傳遞狀態(tài)給該微處理器且經(jīng)由一機(jī)械專用寄存 器來(lái)執(zhí)行。在x86兼容的實(shí)施例中,在此降級(jí)^t式203中實(shí)施SMI中斷以執(zhí) 行BIOS指令。
這些導(dǎo)致微處理器由安全執(zhí)行模式202轉(zhuǎn)換為降級(jí)模式203的已定義狀 態(tài)可以是執(zhí)行安全編碼的結(jié)果、或是多硬件偵測(cè)狀態(tài)、或是安全編碼執(zhí)行結(jié) 果與硬件偵測(cè)狀態(tài)的結(jié)合。此硬件偵測(cè)狀態(tài)包括與潛在安全暴露或篡改相關(guān) 聯(lián)的監(jiān)控狀態(tài)。在一實(shí)施例中,根據(jù)這些已定義狀態(tài)的一偵測(cè)結(jié)果,SEM邏 輯電路105試圖清除微處理器內(nèi)一安全易失性存儲(chǔ)器的一數(shù)據(jù)區(qū)域,且試圖 將偵測(cè)結(jié)果紀(jì)錄至安全非易失性存儲(chǔ)器107。根據(jù)該數(shù)據(jù)區(qū)域的成功清除與 該偵測(cè)結(jié)果的成功紀(jì)錄,SEM邏輯電路105將微處理器轉(zhuǎn)換至降級(jí)模式203。 此外,執(zhí)行在降級(jí);f莫式203的安全編碼,亦即在一安全應(yīng)用程序的控制下(簡(jiǎn) 稱為程控),微處理器的狀態(tài)轉(zhuǎn)換回安全執(zhí)行模式202。
某些與配置和完整性確認(rèn)有關(guān)的已定義狀態(tài)可導(dǎo)致微處理器101轉(zhuǎn)換為 硬件關(guān)機(jī)模式204。在一實(shí)施例中,根據(jù)這些已定義狀態(tài)的一偵測(cè)結(jié)果,SEM 邏輯電路105試圖清除微處理器內(nèi)一安全易失性存儲(chǔ)器的一數(shù)據(jù)區(qū)域、試圖 將該偵測(cè)結(jié)果紀(jì)錄至安全非易失性存儲(chǔ)器107、且使微處理器進(jìn)入至硬件關(guān) 機(jī)模式204。在此硬件關(guān)機(jī)模式下,只可藉由重置微處理器來(lái)退出此硬件關(guān) 機(jī)模式。在安全執(zhí)行模式202或降級(jí)模式203中一安全應(yīng)用程序的控制下(筒 稱為程控),微處理器202可進(jìn)入硬件關(guān)機(jī)模式204。
現(xiàn)在參閱圖3,其表示在本發(fā)明實(shí)施例的微處理器300中的SEM邏輯電^各301的詳細(xì)方塊圖。SEM邏輯電路301包括授權(quán)的公開(kāi)密鑰寄存器318、 處理器密鑰寄存器312、 SEM初始化邏輯電路305、 SEM監(jiān)控邏輯電路306、 SEM中斷邏輯電路307、 SEM例夕卜(exception)邏輯電路308、 SEM定時(shí) 器309、 SEM實(shí)時(shí)時(shí)鐘(RTC)310、非易失性使能指示寄存器328、 SEM機(jī) 械專用寄存器存儲(chǔ)體(bank) 329以及安全易失性存儲(chǔ)器302。 SEM邏輯電 路301耦接在微處理器300中的一些其它資源,包括通過(guò)總線326耦接非安 全存儲(chǔ)器325、通過(guò)總線324耦接地址邏輯電路323、通過(guò)總線320耦接隨 機(jī)數(shù)產(chǎn)生器319、通過(guò)總線321耦接AES/HASH/RSA單元311、通過(guò)總線 327耦接其它處理器執(zhí)行單元313 (例如整數(shù)單元、浮點(diǎn)單元、MMX/SSE 單元)、耦接正常例外邏輯電路314、耦接正常追蹤/除錯(cuò)邏輯電路315、耦接 正常中斷邏輯電路316以及電源管理邏輯電路322。
在一實(shí)施例中,由授權(quán)者提供公開(kāi)密鑰,且微處理器300的制造期間中, 公開(kāi)密鑰永久地編程在授權(quán)的7>開(kāi)密鑰寄存器318。在一實(shí)施例中,此公開(kāi) 密鑰為1024位的RSA密鑰,且授權(quán)的公開(kāi)密鑰寄存器318包括1024位的 熔絲庫(kù)(fUse bank)。因此,此公開(kāi)密鑰可在微處理器300的制造期間被編程, 而不是在制造之后?;蛘撸_(kāi)密鑰藉由離線(off-line)大規(guī)模的初始化而 被編程至安全非易失性存儲(chǔ)器107,其中,此離線大規(guī)^莫的初始化是用來(lái)編 程一些安全非易失性存儲(chǔ)器107。使能與初始化安全執(zhí)行模式202的能力是 非常關(guān)鍵的安全操作,且木馬程序(Trojan Horse)有可能被安裝(installation) 進(jìn)安全非易失性存儲(chǔ)器107。因此,利用提供公開(kāi)密鑰的方法以避免窺察與 篡改來(lái)控制安全執(zhí)行模式初始化程序。
處理器密鑰寄存器312是多熔絲的聚集體,其實(shí)際分布在微處理器管芯
獨(dú)特密鑰,其只可被AES/HASH/RSA單元311(也可稱加密單元311)來(lái)讀取, 并無(wú)提供自處理器密鑰寄存器312讀取處理器密鑰的程序接口 。在一實(shí)施例 中,處理器密鑰寄存器312包括128個(gè)熔絲,這些熔絲被編程為128位的 AES ( Advanced Encryption Standard, AES )密鑰,而使用此AES密鑰來(lái)對(duì) 安全非易失性存儲(chǔ)器107的內(nèi)容進(jìn)行加密與解密。即是,使用此處理器對(duì)稱 密鑰來(lái)對(duì)安全編碼進(jìn)行加密,以儲(chǔ)存在安全非易失性存儲(chǔ)器中。依據(jù)通過(guò)私 密總線106來(lái)對(duì)安全編碼的擷取,來(lái)自處理器密鑰寄存器312的密鑰被使用 來(lái)對(duì)安全編碼進(jìn)行解密以進(jìn)一步執(zhí)行。因此,私密總線106的狀態(tài)的觀察者無(wú)法決定何者正在微處理器300與非易失性存儲(chǔ)器107之間轉(zhuǎn)移。
在一實(shí)施例中,處理器密鑰寄存器312包括128熔絲,其隨機(jī)地分布在 微處理器300中一熔絲庫(kù)內(nèi)的許多其它熔絲之中。此熔絲庫(kù)配置在微處理器 管芯上一些金屬層的下方。
根據(jù)SEMENABLE指令的執(zhí)行或其它進(jìn)入安全執(zhí)行模式202的預(yù)期機(jī) 制,SEM初始化邏輯電^各305提供安全執(zhí)行才莫式202的初始化。為了詳細(xì) 說(shuō)明,下文將以用來(lái)使能且執(zhí)行來(lái)自'安全執(zhí)行模式202的指令(例如 SEMENABLE )執(zhí)行的方式來(lái)說(shuō)明根據(jù)本發(fā)明的微處理器300的操作,然而, 此技術(shù)領(lǐng)域的人士將理解有其它方法能使能安全執(zhí)行模式202并執(zhí)行來(lái)自安 全執(zhí)行模式的安全編碼,例如對(duì)一隱密寄存器(hidden register)寫入等等。根 據(jù)SEMENABLE指令的執(zhí)行成功,SEM初始化邏輯電路305將微處理器300 的狀態(tài)記錄在非易失性使能指示寄存器328。由安全執(zhí)行模式202轉(zhuǎn)換至原 生未受控模式201時(shí),SEM初始化邏輯電路305將微處理器300的狀態(tài)(安 全執(zhí)行模式被使能的狀態(tài))記錄在非易失性使能指示寄存器328。亦即,非易 失性使能指示寄存器328用以指示微處理器300是否處于安全執(zhí)行模式或一 非安全執(zhí)行模式。在微處理器的電源移除與重新施加的期間,非易失性使能 指示寄存器328的內(nèi)容持續(xù)存在。在一實(shí)施例中,非易失性使能指示寄存器 328包括配置在微處理器300內(nèi)的多熔絲,且微處理器300可由安全執(zhí)行模 式202轉(zhuǎn)換至原生未受控模式201的次數(shù)對(duì)應(yīng)在這些熔絲中的一特定熔絲數(shù) 量。微處理器300包括配置在一單一管芯上的一單一集成電路。在一實(shí)施例 中,SEM邏輯電路根據(jù)進(jìn)入至該安全執(zhí)行模式而對(duì)非易失性使能指示寄存 器328進(jìn)行第一次寫入,以指示出微處理器處于安全執(zhí)行模式。SEM邏輯 電路根據(jù)退出該安全執(zhí)行模式而對(duì)非易失性使能指示寄存器328進(jìn)行第二次 寫入,以指示出微處理器處于該非安全執(zhí)行模式(原生未受控模式)。
SEM監(jiān)控邏輯電路306用來(lái)監(jiān)控安全編碼與數(shù)據(jù)的誠(chéng)實(shí)性,以監(jiān)控系 統(tǒng)的環(huán)境與物理屬性,包括溫度、電壓、總線時(shí)鐘、電池VP的存在、石英 器X1的存在以及安全非易失性存儲(chǔ)器107的存在。SEM監(jiān)控邏輯電路306 將篡改或疑似的篡改情況指示給SEM邏輯電路301,其導(dǎo)致微處理器300 轉(zhuǎn)換至降級(jí)模式203或硬件關(guān)機(jī)模式204。
SEM中斷邏輯電路307提供多中斷與相關(guān)的中斷邏輯裝置(例如安全 中斷描述符表(Interrupt Descriptor Table, IDT)),這些只顯現(xiàn)給正在安全執(zhí)行模式202下執(zhí)行的安全應(yīng)用程序,且由此安全應(yīng)用程序來(lái)存取。中斷安全
編碼執(zhí)行的機(jī)制類似于執(zhí)行正常模式的機(jī)制。亦即,依據(jù)SEM中斷的設(shè)置 (assertion),且藉由SEM IDT的出現(xiàn)4吏得安全編碼狀態(tài)被保存并轉(zhuǎn)移至安全 中斷管理者(secure interrupt handler)。由中斷指令的恢復(fù)(return)執(zhí)行將控制權(quán) 恢復(fù)至安全編碼中的斷點(diǎn)。當(dāng)微處理器300正操作在安全執(zhí)行模式時(shí),SEM 中斷邏輯電路307提供安全中斷以中斷安全應(yīng)用程序。SEM中斷邏輯電路 307不被系統(tǒng)總線資源或非安全應(yīng)用程序所得知或存取。當(dāng)微處理器300正 操作在非安全執(zhí)行模式時(shí),微處理器300的正常中斷邏輯電路316提供非安 全中斷以中斷非安全應(yīng)用程序。
同樣地,SEM例外邏輯電路308提供多安全例外與相關(guān)的例外管理邏 輯裝置。當(dāng)該微處理器正操作在安全執(zhí)行模式202時(shí),SEM例外邏輯電路 308提供多安全例外并禁能多非安全例外。SEM例外邏輯電路308無(wú)法被該 等系統(tǒng)總線資源或該等非安全應(yīng)用程序所得知或存取,其只顯現(xiàn)給正在安全 執(zhí)行模式202下執(zhí)行的安全應(yīng)用程序,且由此安全應(yīng)用程序來(lái)存取。所有安 全編碼程序例外與中斷利用預(yù)設(shè)的IDT,此預(yù)設(shè)IDT存在于SEM中斷邏輯 電路307內(nèi),以在中斷與例外期間內(nèi)控制分支。在一實(shí)施例中,根據(jù)該等安 全例外的一者的使能,微處理器的狀態(tài)被儲(chǔ)存且程控轉(zhuǎn)移至一對(duì)應(yīng)安全例外 管理者,其中微處理器的狀態(tài)無(wú)法被該等非安全應(yīng)用程序所存取。在安全應(yīng) 用程序執(zhí)行之前,SEM邏輯電路301禁能正常例外邏輯電路314,以及當(dāng)微 處理器300正操作在非安全執(zhí)行模式時(shí),正常例外邏輯電路314提供對(duì)應(yīng)該 等非安全應(yīng)用程序的多非安全例外。在一實(shí)施例中,假使在該等非安全應(yīng)用 程序的任一者執(zhí)行的期間發(fā)生該等安全中斷的任一者或該等安全例外的任
這些安全中斷被配置來(lái)提供微處理器300外部事件所導(dǎo)致的程控轉(zhuǎn)移, 例如鍵盤事件、1/0端口事件等等。安全例外是用來(lái)提供微處理器300內(nèi)部 事件所導(dǎo)致的程控轉(zhuǎn)移,例如非定義的運(yùn)算碼(opcode )、機(jī)械檢查錯(cuò)誤 (machine check errors)、以及在一實(shí)施例中對(duì)一個(gè)或多個(gè)安全機(jī)械專用寄存器 存儲(chǔ)體329的安全編碼寫入。IDT包括多安全寄存器,其被加載多指標(biāo),而 這些指標(biāo)是指向在安全編碼中的安全中斷管理者與安全例外管理者(secure exception handler)。 IDT提供轉(zhuǎn)移至該安全應(yīng)用程序內(nèi)的多安全中斷管理者 與多安全例外管理者)的程控。此預(yù)設(shè)IDT包括關(guān)于程控轉(zhuǎn)移至該^L處理器將執(zhí)行的一安全執(zhí)行模式重置操作的數(shù)據(jù)。在一實(shí)施例中,根據(jù)該等安全中 斷的 一者的使能,該微處理器的狀態(tài)被儲(chǔ)存且程控轉(zhuǎn)移至一對(duì)應(yīng)安全中斷管 理者,以及該微處理器的狀態(tài)無(wú)法由該等非安全應(yīng)用程序來(lái)存取。在一實(shí)施 例中,根據(jù)該等非安全中斷的一者的使能,該微處理器的狀態(tài)被儲(chǔ)存且程控 轉(zhuǎn)移至一對(duì)應(yīng)非安全中斷管理者,以及該微處理器的狀態(tài)無(wú)法由該等非安全 應(yīng)用程序來(lái)存取。
SEM定時(shí)器309是只顯現(xiàn)給正行在安全執(zhí)行模式202下執(zhí)行的安全應(yīng) 用程序且由此安全應(yīng)用程序來(lái)存取的多定時(shí)器。SEM定時(shí)器309包括多中 斷,而這些中斷可由操作在安全執(zhí)行才莫式202下的安全編碼來(lái)存取。SEM實(shí) 時(shí)時(shí)鐘310其提供持續(xù)時(shí)間(persistent time),其只顯現(xiàn)給正在安全執(zhí)行模式 202下執(zhí)行的安全應(yīng)用程序且由此安全應(yīng)用程序來(lái)存取。SEM實(shí)時(shí)時(shí)鐘310 的值無(wú)法由不同于操作在安全執(zhí)行模式202下的安全編碼的任何對(duì)象來(lái)改 變。SEM機(jī)械專用寄存器存儲(chǔ)體329包括多機(jī)械專用寄存器,且這些機(jī)械 專用寄存器只顯現(xiàn)給正在安全執(zhí)行模式202下執(zhí)行的安全應(yīng)用程序且由此安 全應(yīng)用程序來(lái)存取。這些機(jī)械專用寄存器用來(lái)使能對(duì)安全非易失性存儲(chǔ)器 107、 SEM實(shí)時(shí)時(shí)鐘310以及SEM定時(shí)器309的加載/儲(chǔ)存存取。
緩存(instruction and data cache)。非安全存儲(chǔ)器325用以儲(chǔ)存多非安全應(yīng)用程 序以由微處理器來(lái)執(zhí)行。在微處理器300內(nèi)的這些程序與其它系統(tǒng)總線資源 可得知且存取非安全存儲(chǔ)器325。安全易失性存儲(chǔ)器302系作為給正在安全 執(zhí)行模式202下執(zhí)行的安全應(yīng)用程序的一指令與數(shù)據(jù)高速緩存。進(jìn)入至安全 執(zhí)行模式202,安全易失性存儲(chǔ)器302的一堆棧(stack)提供來(lái)儲(chǔ)存處理器 狀態(tài)303,其用于對(duì)應(yīng)該等非安全應(yīng)用程序的該微處理器的狀態(tài)的儲(chǔ)存與取 回。安全易失性存儲(chǔ)器302的其它堆棧提供來(lái)儲(chǔ)存安全編碼304與對(duì)應(yīng)安全 編碼的安全數(shù)據(jù)317 。安全易失性存儲(chǔ)器302根據(jù)微處理器的重置而被清除, 且其完全地隔離于系統(tǒng)總線,因此,安全易失性存儲(chǔ)器302無(wú)法被非安全系 統(tǒng)資源窺察、加載、除錯(cuò)或其它方法的存取。安全編碼(安全應(yīng)用程序)可使 用正常處理器加載與儲(chǔ)存指令來(lái)存取安全易失性存儲(chǔ)器302,以加載/儲(chǔ)存安 全數(shù)據(jù)317,其中,這些正常處理器加載與儲(chǔ)存指令是參考地址邏輯電路323 內(nèi)的正常片段寄存器(normal segment register),此正常片段寄存器是當(dāng)于安 全易失性存儲(chǔ)器302 (而不是正常系統(tǒng)存儲(chǔ)器)進(jìn)入至安全執(zhí)行時(shí)而被初始
22化。此正常系統(tǒng)存儲(chǔ)器也被執(zhí)行在安全執(zhí)行^t式的安全編碼,通過(guò)地址邏輯 電路323且使用正常加載與儲(chǔ)存指令來(lái)存取。然而,根據(jù)安全編碼的執(zhí)行,
SEM邏輯電路301通過(guò)總線324來(lái)命令地址邏輯電路323以停止虛擬地址 轉(zhuǎn)譯。亦即,因?yàn)樘摂M-實(shí)體地址轉(zhuǎn)譯為了指令與數(shù)據(jù)而被禁能,因此,通 過(guò)總線324且由安全編碼所提供的地址必須為實(shí)體地址。藉由這種作法, SEM邏輯電路阻止了分頁(yè)錯(cuò)誤,藉以消除此篡改來(lái)源。
在一實(shí)施例中,安全易失性存儲(chǔ)器302完全地屬于在微處理器300內(nèi)的 芯片上(on-chip)高速緩存,但安全易失性存儲(chǔ)器302快取線具有將這些快 取線完全地隔離于微處理器總線的特定內(nèi)部屬性。這些快取線沒(méi)有耦接至外 部系統(tǒng)存儲(chǔ)器,因此這些快取線無(wú)法自系統(tǒng)存儲(chǔ)器裝載或存入至系統(tǒng)存儲(chǔ) 器,這些快取線也無(wú)法被任何匯流窺探資源來(lái)外部地或內(nèi)部地窺察。
在一實(shí)施例中,安全易失性存儲(chǔ)器302包括4K64位快取線。在安全易 失性存儲(chǔ)器302中, 一快取線依據(jù)由將數(shù)據(jù)移動(dòng)至先前沒(méi)有涉及(referenced) 的一快取線來(lái)分配。在一實(shí)施例中,安全易失性存儲(chǔ)器302包括具有4096 個(gè)位置的一 64位高速緩存,該等位置的每一者包括一內(nèi)部屬性,且該內(nèi)部 屬性完全地隔離該等位置的每一者。
在另一實(shí)施例中,安全易失性存儲(chǔ)器302包括隨機(jī)存取存儲(chǔ)器,其與微 處理器300內(nèi)的芯片上高速緩存分離。
SEMENTER指令的執(zhí)行提供了安全執(zhí)行模式202內(nèi)安全編碼的執(zhí)行。 在一 x86相容的實(shí)施例中,安全執(zhí)行模式202根據(jù)修改的32位x86真實(shí)模 式來(lái)提供安全編碼的執(zhí)行。在執(zhí)行安全編碼時(shí),禁止由安全執(zhí)行模式202進(jìn) 入一 x86保護(hù)模式。在安全執(zhí)行模式執(zhí)行之前,SEM初始化邏輯電路305 藉由設(shè)置一使能信號(hào)DISIL來(lái)禁能正常(即非安全)中斷邏輯電路316。在 安全執(zhí)行模式執(zhí)行之前,SEM初始化邏輯電路305也藉由設(shè)置一使能信號(hào) DISEL來(lái)禁能正常(即非安全)例外邏輯電路314,也藉由設(shè)置一使能信號(hào) DISDL來(lái)禁能正常(即非安全)追蹤/除錯(cuò)邏輯電路315。此外,在安全執(zhí)行 模式執(zhí)行之前,電源管理邏輯電路322藉由信號(hào)DISPML的設(shè)置而被禁能。 通過(guò)這些安全措施,不會(huì)發(fā)生正??偩€中斷,阻止了除錯(cuò)例外、避免總線追 蹤周期、且禁能除錯(cuò)輸出入埠。此外,信號(hào)DISIL用來(lái)在安全編碼的執(zhí)行期 間內(nèi)禁能所有的剩余處理器資源(例如JTAG、探測(cè)模式、快取測(cè)試)。否貝'J, 電源管理邏輯電路322允許微處理器300進(jìn)入降低功耗狀態(tài),例如在x86兼容實(shí)施例中的P狀態(tài)與C狀態(tài)。因此,信號(hào)DISPML用來(lái)在安全編碼執(zhí)行 期間避免功耗狀態(tài)的轉(zhuǎn)換。-
通過(guò)總線320、 321及327,安全編碼可存取處理器執(zhí)行單元(處理器300 內(nèi)的執(zhí)行單元)313、隨機(jī)數(shù)產(chǎn)生器319與AES/HASH/RSA單元311,以執(zhí)行 微處理器指令集的所有指令,其中,這些指令包括真實(shí)隨機(jī)數(shù)的硬件產(chǎn)生且 可由編程的巨集指令來(lái)使用的硬件實(shí)施功能,以執(zhí)行RSA加密、解密以及 識(shí)別核對(duì);AES加密與解密、以及SHA-1/SHA-256哈希產(chǎn)生(Secure Hash Algorithm, SHA,安全哈希算法)。這些硬件實(shí)施功能由AES/HASH/RSA單 元311來(lái)執(zhí)行。
現(xiàn)在參閱圖4,圖示400表示在本發(fā)明的微處理器內(nèi)安全編碼如何被儲(chǔ) 存、存取及初始化。圖標(biāo)400說(shuō)明能進(jìn)行安全執(zhí)行模式(SEM)的微處理器 401,其通過(guò)系統(tǒng)總線425而耦接BIOS存儲(chǔ)器410與系統(tǒng)存儲(chǔ)器420。根據(jù) 本發(fā)明,微處理器401也通過(guò)私密總線431而耦接至安全非易失性存儲(chǔ)器 430。微處理器401包括安全編碼接口邏輯電路402,其耦接至隨機(jī)數(shù)產(chǎn)生器 412、處理器密鑰寄存器413、授權(quán)的公開(kāi)密鑰寄存器404、 AES/HASH/RSA 單元405 (或稱加密單元405 )、安全易失性存儲(chǔ)器406、 SEM監(jiān)控邏輯電路 408以及SEM初始化邏輯電路409。安全編碼接口還輯電路402另外耦接總 線接口單元403與安全非易失性存儲(chǔ)器接口單元407。
圖標(biāo)400也表示儲(chǔ)存在系統(tǒng)存儲(chǔ)器420與BIOS存儲(chǔ)器410的安全編碼 411及421。在一實(shí)施例中,儲(chǔ)存在BIOS存儲(chǔ)器410的安全編碼411主要是 用來(lái)4是供微處理器401在降級(jí)模式203中的操作,而儲(chǔ)存在系統(tǒng)存儲(chǔ)器420 的安全編碼421是用來(lái)提供微處理器401在安全執(zhí)行模式202中的操作。
在操作上,圖標(biāo)400所示的組件的運(yùn)作,實(shí)質(zhì)上相似于先前參閱第1-3 圖而已敘述的相似名稱組件。參閱圖4的討論目的是為了更加明確集中注意 在那些組件與技術(shù),而那些組件與技術(shù)是用來(lái)儲(chǔ)存、存取、初始化、執(zhí)行在 本發(fā)明的安全環(huán)境中的安全編碼。
此外,關(guān)于安全編碼執(zhí)行的環(huán)境是隔離于非安全編碼執(zhí)行的環(huán)境。如先 前所述,原生未受控模式201只允許非安全編碼的執(zhí)行。安全執(zhí)行模式則允 許非安全編碼與安全編碼兩者的執(zhí)行。在安全編碼421執(zhí)行之前,微處理器 401的狀態(tài)被保存。根據(jù)回到非安全編碼的執(zhí)行的轉(zhuǎn)換,此狀態(tài)恢復(fù) (restored)。此狀態(tài)儲(chǔ)存在安全易失性存儲(chǔ)器406內(nèi)的一個(gè)區(qū)域,且此狀態(tài)不會(huì)出現(xiàn)在微處理器總線425上。此外,安全編碼411、 421是執(zhí)行自安全易 失性存儲(chǔ)器406。除了將安全易失性存儲(chǔ)器406隔離于與微處理器總線425 聯(lián)系的硬件與軟件,所有其它"從屬通道(side channels)"(例如除錯(cuò)例外與 執(zhí)行追蹤特征)被禁能,如關(guān)于圖l-3的討論。安全編碼411、 421只提供給 SEM中斷邏輯電路307、 SEM例外邏輯電路308、 SEM實(shí)時(shí)時(shí)鐘310、 SEM 定時(shí)器310以及只可由安全編碼411、 421利用的其它處理器資源獨(dú)占存取。
此外,微處理器401提供SEM監(jiān)控邏輯電路408,其包括的異步監(jiān)控 與監(jiān)視機(jī)制,其中,此異步監(jiān)控與監(jiān)視機(jī)制獨(dú)立于安全編碼411、 421以及 非安全編碼的執(zhí)行。SEM監(jiān)控邏輯電路408監(jiān)控微處理器的環(huán)境(例如電 壓、溫度、總線運(yùn)作)與物理特性,也核對(duì)安全編碼411、 421(安全應(yīng)用程 序)與相關(guān)數(shù)據(jù)的誠(chéng)實(shí)性,將于下文詳細(xì)說(shuō)明。當(dāng)偵測(cè)到安全暴露(security exposure)時(shí),SEM監(jiān)控邏輯電路408可通過(guò)總線CHK將程控轉(zhuǎn)移至安全編 碼411、 421的安全編碼錯(cuò)誤管理裝置(secure-code error handler),或者,在 偵測(cè)到嚴(yán)重的安全暴露情況下,SEM監(jiān)控邏輯電路408將通過(guò)總線CHK來(lái) 使微處理器401進(jìn)入降級(jí)模式203。
在一實(shí)施例中,安全編碼接口邏輯電路402監(jiān)控存在于安全編碼411、 421中的多指令,且通過(guò)總線INS將這些指令提供至SEM監(jiān)控邏輯電路408, 以支持微處理器401的限定的指令集架構(gòu)(Instruction set Architecture, ISA) 操作。根據(jù)此實(shí)施例,當(dāng)微處理器401正操作在安全執(zhí)行模式時(shí),本發(fā)明的 微處理器401只被允許執(zhí)行主機(jī)ISA中的某些指令。即是,限定的ISA操作 使得SEM邏輯電路阻止多非安全指令的執(zhí)行,而此非安全指令的執(zhí)行是授 權(quán)者欲阻止的,且該些非安全指令包括取自對(duì)應(yīng)微處理器的一指令集架構(gòu)的 一個(gè)或多個(gè)運(yùn)算碼。舉例來(lái)說(shuō),在x86相容的實(shí)施例中,超過(guò)100個(gè)微指令 的產(chǎn)生與執(zhí)行的指令或某類指令要求會(huì)被阻止。另一方面,當(dāng)微處理器401 正操作在安全執(zhí)行模式時(shí), 一授權(quán)者可能期望阻止所有指令的執(zhí)行,例如任 務(wù)切換、呼尋閘(callgates)等等。藉由將安全編碼411、 421內(nèi)每一指令提供 給SEM監(jiān)控邏輯電路408,本發(fā)明的微處理器401使能限定的ISA操作。 在一實(shí)施例中,在限定的ISA指令集中的指令(即提供在安全執(zhí)行模式下執(zhí) 行的指令),系由SEM監(jiān)控邏輯電路408內(nèi)指令數(shù)組(未顯示)的值來(lái)表示, 將于下文詳細(xì)說(shuō)明。當(dāng)遭遇到上述被阻止的指令時(shí),SEM監(jiān)控邏輯電路408 使微處理器401進(jìn)入降級(jí)模式203。在一實(shí)施例中,安全編碼接口邏輯電路402將安全編碼411、 421中的 指令提供給SEM監(jiān)控邏輯電路408,提供時(shí)將安全編碼411、 421加載至安 全易失性存儲(chǔ)器406以進(jìn)行后續(xù)執(zhí)行。
使能與初始化安全執(zhí)行模式202的能力是非常關(guān)鍵的安全操作,此外, 其表示了關(guān)于木馬程序(Trojan Horse)安裝有可能進(jìn)入至包含安全編碼411、 421的存儲(chǔ)器410、 420的區(qū)域。通過(guò)非對(duì)稱加密算法與一組對(duì)應(yīng)的非對(duì)稱加 密密鑰的使用,本發(fā)明的微處理器401藉由控制安全執(zhí)行模式初始化程序而 有利地阻止此暴露。在一實(shí)施例中,非對(duì)稱密鑰算法是RSA算法,且對(duì)應(yīng) 密鑰則是由授權(quán)者所產(chǎn)生的1024位RSA公開(kāi)與私密密鑰。在一實(shí)施例中, 此授權(quán)者或授權(quán)實(shí)體(entity)提供執(zhí)行的安全編碼411、 421。如前文關(guān)于圖3 的說(shuō)明,在微處理器401的制造期間,兩密鑰中的一者儲(chǔ)存在授權(quán)的公開(kāi)密 鑰寄存器318,且用來(lái)根據(jù)非對(duì)稱密鑰算法來(lái)對(duì)數(shù)據(jù)解密,其中,此數(shù)據(jù)已 由授權(quán)者的其它非對(duì)稱密鑰(即私密密鑰)來(lái)加密。
因此,在一實(shí)施例中,此操作系統(tǒng)執(zhí)行SEMENABLE指令(或相似機(jī) 制)。此指令傳送通過(guò)授權(quán)者的私密密鑰來(lái)加密的一SEM使能參數(shù)。安全編 碼接口邏輯電路402接著通過(guò)授權(quán)的公開(kāi)密鑰寄存器404來(lái)存取公開(kāi)密鑰, 且利用AES/HASH/RSA單元405來(lái)對(duì)此SEM使能參數(shù)解密。根據(jù)核對(duì)SEM 使能參數(shù),SEM初始化邏輯電路409初始化安全執(zhí)行模式202,亦即使能安 全執(zhí)行才莫式202以執(zhí)行安全應(yīng)用程序。除此之外,SEM初始化邏輯電路409 指示微處理器401自SEMENABLE指令恢復(fù)(retum)后,微處理器401保持 在非安全執(zhí)行模式201。在一實(shí)施例中,無(wú)論是否接受進(jìn)入安全執(zhí)行模式202 的授權(quán)(以及有一對(duì)應(yīng)錯(cuò)誤狀態(tài)時(shí),假使有的話)都會(huì)提供一響應(yīng)編碼(return code)。
相對(duì)于在微處理器401的制造期間將授權(quán)的公開(kāi)密鑰直接編程至授權(quán)的 公開(kāi)密鑰寄存器404,在另一實(shí)施例中,授權(quán)者將授權(quán)的公開(kāi)密鑰編程至安 全非易失性存儲(chǔ)器430的授權(quán)的公開(kāi)密鑰區(qū)域432。因此,當(dāng)微處理器401 開(kāi)機(jī)(power up)時(shí),安全非易失性存儲(chǔ)器接口單元407自此區(qū)域432偵測(cè)并 擷取此公開(kāi)密鑰。安全編碼接口邏輯電路402接著將此密鑰以及之后指示此 密鑰已被燒錄的參數(shù),燒錄至授權(quán)的公開(kāi)密鑰寄存器404。此供選擇的實(shí)施 例在安全非易失性存儲(chǔ)器430的制造階段上,提供了更彈性地公開(kāi)密鑰配置。 安全非易失性存儲(chǔ)器接口單元407通過(guò)私密總線431將微處理器401耦接至安全非易失性存儲(chǔ)器430,其中,在私密總線431上用來(lái)存取安全非易失性
存儲(chǔ)器430的多私密總線數(shù)據(jù)傳輸被隱藏,以避免被微處理器401內(nèi)多系統(tǒng) 總線資源以及耦接該系統(tǒng)總線的任何裝置所得知察覺(jué)。
安全非易失性存儲(chǔ)器接口單元407是由安全編碼接口邏輯電路402所管 理。根據(jù)核對(duì)一 SEM使能參數(shù),安全非易失性存儲(chǔ)器接口單元407藉由執(zhí) 行隨機(jī)數(shù)寫入來(lái)清除安全非易失性存儲(chǔ)器430的內(nèi)容。在一實(shí)施例中,在安 全非易失性存儲(chǔ)器430中的每一個(gè)位置以隨機(jī)數(shù)寫入64次。在一實(shí)施例中, 每次寫入的隨機(jī)數(shù)是由隨機(jī)數(shù)產(chǎn)生器412所產(chǎn)生。
SEMENABLE指令(或是SEM使能機(jī)制)也傳送關(guān)于安全編碼411、 421在BIOS存儲(chǔ)器410或系統(tǒng)存儲(chǔ)器420的位置的指針和任何初始安全數(shù) 據(jù)(亦即使能參數(shù))。此指針與數(shù)據(jù)(亦即使能參數(shù))是根據(jù)一預(yù)設(shè)結(jié)構(gòu)來(lái)被格 式化,且根據(jù)非對(duì)稱密鑰算法而被加密。被加密的指針與數(shù)據(jù)被解密,且格 式化被核對(duì)。不成功的核對(duì)導(dǎo)致錯(cuò)誤碼的回應(yīng)。
假使在結(jié)構(gòu)方面此指針與數(shù)據(jù)被確認(rèn)且證實(shí),安全編碼接口邏輯電路 402則指示總線接口單元403去自BIOS存儲(chǔ)器410以及/或系統(tǒng)存儲(chǔ)器420 擷取安全編碼411及421。安全編碼411、 421也已藉由^f吏用4吏權(quán)者的私密密 鑰并根據(jù)非對(duì)稱密鑰算法而被加密,且必須與預(yù)設(shè)結(jié)構(gòu)相稱。安全編碼接口 邏輯電路402利用授權(quán)的公開(kāi)密鑰寄存器404與AES/HASH/RSA單元405 來(lái)對(duì)加密的安全編碼411、 421進(jìn)^f于解密。在核對(duì)為正確才各式后,安全編碼 接口邏輯單元402利用AES/HASH/RSA單元405來(lái)根據(jù)對(duì)稱加密算法并使 用處理器密鑰寄存器413的內(nèi)容(作為對(duì)稱密鑰)來(lái)對(duì)安全編碼與數(shù)據(jù)進(jìn)行 加密。如前所提及,處理器密鑰寄存器413的內(nèi)容是微處理器401所特有的 128位隨機(jī)產(chǎn)生的密鑰,且對(duì)稱加密算法包括使用128位模塊(blocks)以及電 子密碼書(shū)(Electronic Code Book, ECB )模式的高級(jí)加密標(biāo)準(zhǔn)(AES )。此對(duì) 稱加密的安全編碼接著通過(guò)安全非易失性存儲(chǔ)器接口單元407而被寫入至安 全非易失性存儲(chǔ)器430。此外,安全編碼接口邏輯電路402利用 AES/HASH/RSA單元405與處理器密鑰寄存器413來(lái)產(chǎn)生安全編碼中已選 擇部分的多哈希,安全編碼接口邏輯電路402對(duì)這些p合希進(jìn)行加密編碼并寫 入至安全非易失性存儲(chǔ)器430。在一實(shí)施例中,這些哈希是^f艮據(jù)SHA-l算法 而產(chǎn)生。
此外,SEM初始化邏輯電路409禁能JTAG、探測(cè)才莫式、快^F又測(cè)試、或者禁能通過(guò)圖3所討論的機(jī)制而提供安全編碼監(jiān)視的其它處理器特性。
當(dāng)被編碼且被哈希的安全編碼已寫入至安全非易失性存儲(chǔ)器430,微處 理器401設(shè)定非易失性使能指示寄存器(如圖3中328所示)指示出處理器 401正操作于安全執(zhí)行模式202且SEM初始化邏輯電路409迫使微處理器 401執(zhí)行一重置序歹'J (RESET s叫uence)。
部分的重置序列導(dǎo)致非易失性使能指示寄存器的內(nèi)容被讀取,且假使這 些內(nèi)容指示出處理器401處于安全執(zhí)行模式202中,則執(zhí)行安全執(zhí)行模式202 所特有的額外操作。
因此,安全編碼411、 421起初被加密,且由授權(quán)者加載至存儲(chǔ)器410、 420。當(dāng)安全執(zhí)行模式被使能時(shí),微處理器401根據(jù)非對(duì)稱密鑰算法并使用 授權(quán)者所提供的密鑰來(lái)擷取且核對(duì)安全編碼。接著使用處理器獨(dú)特密鑰并根 據(jù)對(duì)稱密鑰算法來(lái)加密且哈希此編碼,且對(duì)稱加密的編碼通過(guò)私密總線431 而被寫入至安全非易失性存儲(chǔ)器430。
以下將進(jìn)一步詳細(xì)說(shuō)明,當(dāng)安全編碼將被執(zhí)行時(shí),安全編碼由安全非易 失性存儲(chǔ)器接口單元407自安全非易失性存儲(chǔ)器430被擷取,且使用存放于 處理器密鑰寄存器413的處理器密鑰來(lái)譯碼,且安全編碼被寫入至微處理器 401內(nèi)的安全易失性存儲(chǔ)器406,其中,安全易失性存儲(chǔ)器406完全隔離于 所有可窺探其內(nèi)容的硬件及或軟件。安全易失性存儲(chǔ)器406的功能包含可存 放安全應(yīng)用程序執(zhí)行的指令與數(shù)據(jù)高速緩存。
在一實(shí)施例中,安全非易失性存儲(chǔ)器接口單元407包括多機(jī)械專用寄存 器,其專有地顯現(xiàn)給安全編碼,這些機(jī)械專用寄存器允許一安全應(yīng)用程序(或 安全編碼接口邏輯電路402)去執(zhí)行對(duì)安全非易失性存儲(chǔ)器430的加載與儲(chǔ) 存。即是,根據(jù)此實(shí)施例,藉由執(zhí)行對(duì)隱藏機(jī)械專用寄存器的讀取與寫入, 來(lái)執(zhí)行對(duì)安全非易失性存儲(chǔ)器403的讀取與寫入。
授權(quán)者可有利地將微處理器401的安全操作與安全執(zhí)行模式環(huán)境結(jié)合, 且由于通過(guò)系統(tǒng)總線425與私密總線431的數(shù)據(jù)傳輸被加密,因此安全編碼 的結(jié)構(gòu)與功能則被保護(hù)以避免任何的反向工程與其它窺察/侵入技術(shù)。
現(xiàn)在參閱圖5,其表示在圖1的微處理器中的SEM監(jiān)控邏輯電路500 的詳細(xì)內(nèi)容。SEM監(jiān)控邏輯電路500包括物理環(huán)境監(jiān)控器501,其通過(guò)信號(hào) PSNT耦接安全非易失性存儲(chǔ)器107、通過(guò)信號(hào)VP1與VP2耦接電池VP, 且通過(guò)信號(hào)Cl與C2耦接石英器。此物理環(huán)境監(jiān)控器501通過(guò)總線NOBOOT提供一輸出信號(hào)。
SEM監(jiān)控邏輯電路500也包括總線時(shí)鐘監(jiān)控器502,其具有頻率參考單 元503??偩€時(shí)鐘監(jiān)控器502通過(guò)信號(hào)BUS CLK耦接提供至微處理器的總 線時(shí)鐘,且總線時(shí)鐘監(jiān)控器502的輸出系耦接總線TAMPER。
SEM監(jiān)控邏輯電路500也包括處理器電壓監(jiān)控器504,其通過(guò)信號(hào)VDD 與BUSTERM耦接電源供應(yīng)電壓與多總線終端電壓,其中,電源供應(yīng)電壓與 總線終端電壓由系統(tǒng)板提供至微處理器。SEM監(jiān)控邏輯電路500也包括溫 度監(jiān)控器505,其通過(guò)信號(hào)TEMP耦接至處理器溫度感測(cè)邏輯電路(未顯示)。 SEM監(jiān)控邏輯電路500更包括數(shù)據(jù)監(jiān)控器506,其通過(guò)總線CHK耦接至安 全編碼接口邏輯電路402??偩€時(shí)鐘監(jiān)控器502、處理器電壓監(jiān)控器504、溫 度監(jiān)控器505以及數(shù)據(jù)監(jiān)控器506的輸出信號(hào)則耦接至總線TAMPER。
SEM監(jiān)控邏輯電路500更包括安全時(shí)戳計(jì)數(shù)器(security time stamp counter)507,其耦接正常時(shí)戳計(jì)數(shù)器(normal time stamp counter)508、信號(hào) CORE CLK以及比率(Ratio )機(jī)械專用寄存器509。安全時(shí)戳計(jì)數(shù)器507的 輸出信號(hào)耦接總線TAMPER。
SEM監(jiān)控邏輯電路500也包括指令監(jiān)控器511,其耦接指令數(shù)組512與 總線INS。如關(guān)于圖4的討論,當(dāng)微處理器正執(zhí)行在安全執(zhí)行模式時(shí),在安 全應(yīng)用程序內(nèi)的指令被提供至SEM監(jiān)控邏輯電路500,以支持在主機(jī)ISA 內(nèi)限制的指令執(zhí)行。指令監(jiān)控器511的輸出信號(hào)耦接至總線TAMPER。
最后,SEM監(jiān)控邏輯電路500具有樣式監(jiān)控器510,其耦接總線 PINCHK,且在總線DESTRUCT上產(chǎn)生一輸出信號(hào)。
總線NOBOOT、 TAMPER以及DESTRUCT耦接于監(jiān)控管理器513。在 一實(shí)施例中,監(jiān)控管理器513產(chǎn)生信號(hào)CLASSl、 CLASS2、 CLASS3以及 DISABLE 。
在操作上,SEM監(jiān)控邏輯電路500用來(lái)執(zhí)行硬件與軟件檢驗(yàn),其監(jiān)控 本發(fā)明微處理器的物理與暫時(shí)的屬性,以偵測(cè)、識(shí)別以及分類操作事件 (operating events),其中,操作事件是表示對(duì)于安全編碼而言不安全的操作環(huán) 境,例如改變或移除電池、石英器或者安全非易失性存儲(chǔ)器;以本發(fā)明的不 安全的微處理器來(lái)取代本發(fā)明的安全微處理器;修改總線時(shí)鐘;篡改微處理 器電源供應(yīng)電壓VDD;修改在系統(tǒng)存儲(chǔ)器、BIOS存儲(chǔ)器或安全非易失性存 儲(chǔ)器內(nèi)的加密安全編碼;以及發(fā)生對(duì)安全編碼本身的過(guò)度呼尋(excessive
29calls)。
因此,當(dāng)操作在安全執(zhí)行模式時(shí),物理環(huán)境監(jiān)控器501耦接安全非易失 性存儲(chǔ)器107,藉由監(jiān)控信號(hào)PSNT的狀態(tài)來(lái)判斷安全非易失性存儲(chǔ)器107 是否移除。信號(hào)PSNT的禁能(de-assertion)表示移除安全非易失性存儲(chǔ)器 107。同樣地,監(jiān)控信號(hào)VP1與VP2來(lái)判斷電池電壓是否改變或電池被移除 或者判斷對(duì)應(yīng)該電池的電壓是否,皮充電。在一實(shí)施例中,VPl的^i與電池電 壓成比例。同樣地,信號(hào)Cl與C2的狀態(tài)表示石英器的存在與否。假使物 理環(huán)境監(jiān)控器501偵測(cè)到上述的任何變化,此變化則輸出至總線NOBOOT。
此外,當(dāng)操作在安全執(zhí)行模式202時(shí),總線時(shí)鐘監(jiān)控器502估計(jì)信號(hào) BUS CLK的頻率,以判斷系統(tǒng)總線時(shí)鐘的短期與長(zhǎng)期完整性,其中,系統(tǒng) 總線時(shí)鐘通過(guò)系統(tǒng)板而提供至微處理器。此總線時(shí)鐘通過(guò)信號(hào)BUS CLK被 路由(routed)至總線時(shí)鐘監(jiān)控器502,總線時(shí)鐘監(jiān)控器502使用內(nèi)部相位鎖相 回路(未顯示)來(lái)檢驗(yàn)短期總線時(shí)鐘誤差,其中,內(nèi)部相位鎖相回路與總線 時(shí)鐘同步化且用來(lái)產(chǎn)生內(nèi)部時(shí)鐘給微處理器??偩€時(shí)鐘監(jiān)控器502判斷總線 時(shí)鐘于不適當(dāng)?shù)闹芷谑欠窬S持平坦,或者判斷時(shí)鐘變化是否已超出可接受的 程度(例如一特定范圍)。在一實(shí)施例中,超過(guò)百分的六的變化視為是無(wú)法接 受的。此外,總線時(shí)鐘監(jiān)控器502使用頻率參考單元503來(lái)作為溫度與電壓 非相依的中間速度振蕩器電路。頻率參考單元503產(chǎn)生與系統(tǒng)總線時(shí)鐘成比 例的一參考頻率??偩€時(shí)鐘監(jiān)控器502比較系統(tǒng)總線時(shí)鐘的衍生(derivative) 與頻率參考單元503的輸出(參考頻率),以判斷總線時(shí)鐘的頻率是否已經(jīng)歷 逐步(gradual)的頻率變化。假使任何上述事件發(fā)生,此事件通過(guò)總線TAMPER 報(bào)導(dǎo)給監(jiān)控管理器513(SEM邏輯電路301),其將導(dǎo)致微處理器進(jìn)入降級(jí)模 式或進(jìn)入硬件關(guān)4幾一莫式204。
處理器電壓監(jiān)控器504估計(jì)通過(guò)信號(hào)VDD與BUSTERM來(lái)^t是供且施加 于微處理器的電源供應(yīng)電壓與多總線終端電壓。上述電壓的高低限制通過(guò)機(jī) 械專用寄存器(未顯示)來(lái)編程。 一但電源供應(yīng)電壓與多總線終端電壓偏離 這些編程限制,處理器電壓監(jiān)控器504將通過(guò)總線TAMPER來(lái)報(bào)導(dǎo)(report) 此事件給監(jiān)控管理器513。
溫度監(jiān)控器505包括精準(zhǔn)的熱監(jiān)控機(jī)制(除了正常熱監(jiān)控功能以外), 其在預(yù)設(shè)高與低溫度限制下不斷地監(jiān)控管芯溫度。該管芯溫度的一低溫度限 制與一高溫度限制藉由溫度監(jiān)控器505內(nèi)一機(jī)械專用寄存器來(lái)編程。此高與低溫度限制儲(chǔ)存在溫度監(jiān)控器505內(nèi)機(jī)械專用寄存器中,其中,這些機(jī)械專 用寄存器可被安全編碼寫入。 一旦該管芯溫度偏離上述預(yù)設(shè)高與低溫度限
制,溫度監(jiān)控器505將通過(guò)總線TAMPER來(lái)報(bào)導(dǎo)此事件給監(jiān)控管理器513。 數(shù)據(jù)監(jiān)控器506用來(lái)當(dāng)自安全非易失性存儲(chǔ)器擷取該安全應(yīng)用程序時(shí), 用以偵測(cè)與報(bào)導(dǎo)與安全編碼和安全數(shù)據(jù)相關(guān)的多加密與配置錯(cuò)誤。這些多加 密與配置錯(cuò)誤通過(guò)總線TAMPER來(lái)報(bào)導(dǎo)給監(jiān)控管理器513。舉例來(lái)說(shuō),這些 錯(cuò)誤為與SEMENABLE及SEMENTER指令的執(zhí)行相關(guān)的錯(cuò)誤、當(dāng)自存儲(chǔ)器 擷取安全編碼時(shí)所偵測(cè)到的解密錯(cuò)誤、以及在安全編碼中哈希與格式錯(cuò)誤。 安全時(shí)戳計(jì)數(shù)器507耦接一核心時(shí)鐘信號(hào)CORE CLK,用來(lái)計(jì)算當(dāng)安全 編碼正執(zhí)行時(shí)的核心時(shí)鐘信號(hào)CORE CLK的周期數(shù)。安全時(shí)戳計(jì)數(shù)器507 耦接一正常時(shí)戳計(jì)數(shù)器508。正常時(shí)戳計(jì)數(shù)器508則是在非安全編碼或安全 編碼執(zhí)行期間內(nèi)計(jì)算信號(hào)CORE CLK的周期數(shù)。當(dāng)安全應(yīng)用程序正在執(zhí)行 時(shí)或當(dāng)安全應(yīng)用程序非正在執(zhí)行時(shí),正常時(shí)戳計(jì)數(shù)器508計(jì)算信號(hào)CORE CLK的周期數(shù)。安全時(shí)戳計(jì)數(shù)器507也耦接一比率機(jī)械專用寄存器509,比 率機(jī)械專用寄存器509只由該安全應(yīng)用程序所得知且存取。安全執(zhí)行模式執(zhí) 行期間,安全編碼可對(duì)比率機(jī)械專用寄存器509執(zhí)行一機(jī)械專用寄存器寫入, 以建立介于正常時(shí)戳計(jì)數(shù)器508與安全時(shí)戳計(jì)數(shù)器507的數(shù)值之間的一最大 比例(maximum ratio)。此最大比例指示該安全應(yīng)用程序已被呼尋的次數(shù)。假 使超過(guò)此最大比例,藉此指示出安全編碼已被呼尋多于指定次數(shù),接著,安 全時(shí)戳計(jì)數(shù)器507通過(guò)總線TAMPER報(bào)導(dǎo)此事件(最大比例何時(shí)被超過(guò))給監(jiān) 控管理器513。亦即,安全時(shí)戳計(jì)數(shù)器507用以比較信號(hào)CORE CLK周期數(shù) 與正常時(shí)戳計(jì)數(shù)器508的數(shù)值、且將上述最大比例被超過(guò)的事件報(bào)導(dǎo)給監(jiān)控 管理器513。上述最大比例藉由SEM邏輯電路內(nèi)的一機(jī)械專用寄存器來(lái)編 程。
指令監(jiān)控器511在與主機(jī)ISA內(nèi)指令子集的對(duì)照下用來(lái)確認(rèn)在安全應(yīng)用 程序內(nèi)的指令,且指示出在此安全應(yīng)用程序內(nèi)且非在此子集內(nèi)的指令何時(shí)已 被編程以進(jìn)行后續(xù)執(zhí)行。提供來(lái)在安全執(zhí)行模式內(nèi)執(zhí)行的指令子集是由指令 數(shù)組512的數(shù)值來(lái)表示。在一實(shí)施例中,此子集包括在ISA內(nèi)的一個(gè)或多個(gè) 特殊指令,如運(yùn)算碼(opcode)所識(shí)別。在另一實(shí)施例中,此子集包括一個(gè)或 多個(gè)指令種類,如一微碼(microcode)復(fù)雜數(shù)值所識(shí)別。在一第三實(shí)施例中, 此子集包括一個(gè)或多個(gè)巻標(biāo)編碼(tag codes),每一者與一個(gè)或多個(gè)指令運(yùn)算碼相關(guān)聯(lián)。
指令數(shù)組512耦接該指令監(jiān)控器511,用以識(shí)別對(duì)應(yīng)孩t處理器的一指令 集架構(gòu)內(nèi)的 一所有指令的子集,該子集包括允許在一安全執(zhí)行模式內(nèi)執(zhí)行的
指令。用來(lái)在安全執(zhí)行模式下執(zhí)行的指令子集由指令數(shù)組512的數(shù)值來(lái)識(shí)別。 在一實(shí)施例中,此指令數(shù)組512包括一機(jī)械專用寄存器,其初始地由安全應(yīng) 用程序來(lái)寫入。在另一實(shí)施例中,指令數(shù)組512包括多熔絲,其在制造期間 被編程(燒斷)。
在安全執(zhí)行模式的初始化期間,當(dāng)安全編碼正由安全非易失性存儲(chǔ)器傳 送至安全易失性存儲(chǔ)器以進(jìn)行后續(xù)執(zhí)行時(shí),對(duì)應(yīng)安全編碼內(nèi)每一特定指令的 數(shù)值由安全編碼接口邏輯電路402通過(guò)總線INS而提供至指令監(jiān)控器511。 在一實(shí)施例中INS的數(shù)值表示每一特定指令對(duì)應(yīng)樣吏處理器的一指令集架構(gòu) 內(nèi)的的特定運(yùn)算碼或是運(yùn)算碼子集。在另一實(shí)施例中,此數(shù)值表示這些指令 的種類(例如簡(jiǎn)單、復(fù)雜等等)。在又一實(shí)施例中,此數(shù)值是對(duì)應(yīng)在ISA內(nèi) 一或多個(gè)指令的巻標(biāo)。
在另一實(shí)施例中,于安全編碼的執(zhí)行之前,當(dāng)安全非易失性存儲(chǔ)器正被 編程時(shí),在安全編碼內(nèi)每一指令的凄t值由安全編碼接口邏輯電路402通過(guò)總 線INS來(lái)提供。
指令監(jiān)控器511比較INS的數(shù)值與指令數(shù)組512的數(shù)值,以判斷是否允 許執(zhí)行特定指令。假使不允許的話,指令監(jiān)控器511則設(shè)置信號(hào)于總線 TAMPER。
樣式監(jiān)控器510,耦接總線DESTRUCT,是偵測(cè)本發(fā)明的微處理器的非 安全版本對(duì)系統(tǒng)板的安裝,其中,此系統(tǒng)板是配置給本發(fā)明的安全微處理器。 在一實(shí)施例中,非安全微處理器與安全微處理器具有相異的接腳配置 (pinout )。在此兩版本之間相異的特定腳位的狀態(tài)系通過(guò)總線PINCHK作為 樣式監(jiān)控器510的輸入信號(hào)。樣式監(jiān)控器估計(jì)總線PINCHK的狀態(tài),且假使 判斷出此非安全版本被安裝時(shí),則通過(guò)總線DESTRUCT來(lái)報(bào)導(dǎo)此事件給監(jiān) 控管理器513。亦即,總線DESTRUCT提供對(duì)應(yīng)微處理器的特定多接腳配 置的多狀態(tài),且樣式監(jiān)控器510則估計(jì)上述多狀態(tài)以判斷微處理器是否配置 一安全版本來(lái)操作在該安全執(zhí)行模式中。
監(jiān)控管理器513藉由注意與估計(jì)通過(guò)總線NOBOOT、 TAMPER及 DESTRUCT傳遞的數(shù)據(jù),來(lái)動(dòng)態(tài)地監(jiān)控微處理器的物理與操作環(huán)境。監(jiān)控管理器513對(duì)上述數(shù)據(jù)進(jìn)行分類以指示出與安全應(yīng)用程序的執(zhí)行相關(guān)的安全層級(jí),且使微處理器內(nèi)的SEM邏輯電路根據(jù)安全層級(jí)來(lái)執(zhí)行反應(yīng)操作。對(duì) 安全應(yīng)用程序的執(zhí)行而言,SEM監(jiān)控邏輯電^各500包括異步監(jiān)控、監(jiān)視才幾 制與監(jiān)控器等系獨(dú)立地操作。以下某些情況將導(dǎo)致信號(hào)CLASS1的設(shè)置,例 如通過(guò)總線TAMPER報(bào)導(dǎo)的總線BUS CLK的頻率的短暫誤差。SEM邏輯 電路響應(yīng)于CLASS1的設(shè)置而將此事件紀(jì)錄(log)(偵測(cè)信號(hào)CLASS1的i殳置) 至安全易失性存儲(chǔ)器內(nèi)的安全事件紀(jì)錄表,且發(fā)出一中斷給安全編碼。假使 此中斷沒(méi)有被收到(acknowledged),則監(jiān)控管理器513設(shè)置信號(hào)CLASS3。假使偵測(cè)到會(huì)導(dǎo)致信號(hào)CLASS1設(shè)置的多事件(多于一個(gè)事件),例如 BUS CLK的誤差與VDD的誤差,監(jiān)控管理器513則設(shè)置信號(hào)CLASS2。SEM 邏輯電路則試圖清除安全易失性存儲(chǔ)器的數(shù)據(jù)區(qū)域,且試圖將此事件記錄至 安全非易失性存儲(chǔ)器。此外,檢查在BIOS的安全編碼的哈希。假使安全易 失性存儲(chǔ)器的數(shù)據(jù)區(qū)域成功清除且此事件(偵測(cè)信號(hào)CLASS2的設(shè)置)被紀(jì) 錄,且假使BIOS哈希被正確地證明,SEM邏輯電路則開(kāi)始轉(zhuǎn)換至降級(jí)模式 203。此降級(jí)模式提供有限的功能、錯(cuò)誤顯示以及有限的使用者輸入的相關(guān) 指令。這些動(dòng)作中任一者的錯(cuò)誤會(huì)導(dǎo)致信號(hào)CLASS3的設(shè)置。信號(hào)CLASS3的設(shè)置表示有安全侵害。響應(yīng)于信號(hào)CLASS3的設(shè)置,SEM 邏輯電路持續(xù)試圖清除安全易失性存儲(chǔ)器且試圖將此事件(偵測(cè)信號(hào) CLASS3的設(shè)置)記錄至安全非易失性存儲(chǔ)器,此外,使微處理器進(jìn)入硬件關(guān) 機(jī)模式204,即微處理器停止操作。在一實(shí)施例中,監(jiān)控管理器513判斷樣式監(jiān)控器510是否已設(shè)置信號(hào) DESTRUCT,因此指示出本發(fā)明微處理器的非安全版本的安裝。假使信號(hào) DESTRUCT被設(shè)置,且假使在總線NOBOOT上的數(shù)據(jù)指示出石英器與安全 非易失性存儲(chǔ)器存在時(shí),信號(hào)DISABLE則被設(shè)置。響應(yīng)于信號(hào)DISABLE 的設(shè)置,SEM邏輯電路使非安全的微處理器停止操作。以上關(guān)于監(jiān)控管理器513設(shè)置信號(hào)CLASS1、 CLASS2、 CLASS3以及 DISABLE皆用來(lái)將程控轉(zhuǎn)移至安全應(yīng)用程序內(nèi)多事件管理者之一,例如有 安全侵害時(shí),信號(hào)CLASS3被設(shè)置,SEM邏輯電路則持續(xù)嘗試清除安全易 失性存儲(chǔ)器且將此事件記錄至安全非易失性存儲(chǔ)器,持續(xù)嘗試迫使微處理器 進(jìn)入硬件關(guān)機(jī)模式,即微處理器停止操作。關(guān)于監(jiān)控管理器513設(shè)置信號(hào) CLASS 1 、 CLASS2 、 CLASS3以及DISABLE的上述情況僅為范例,是用來(lái)教導(dǎo)本發(fā)明的安全環(huán)境管理。此技術(shù)領(lǐng)域中具有通常知識(shí)者能理解,安全事 件類別以及適當(dāng)反應(yīng)是受到所需的特定安全環(huán)境所約束,因此,本發(fā)明包含 了上述安全事件類別與適當(dāng)反應(yīng)的其它方法?,F(xiàn)在參閱圖6,狀態(tài)圖600詳細(xì)說(shuō)明本發(fā)明的微處理器的操作模式轉(zhuǎn)換。狀態(tài)圖600包括原生未受控模式601 (或"非安全"執(zhí)行模式601)、降級(jí)模 式605以及硬件關(guān)機(jī)模式606,如同圖2中相似命名的組件,相異之處在于, 更詳細(xì)說(shuō)明原生未受控模式601在程控下只可返回至此模式的有限次數(shù)。這 些返回的有限次數(shù)以原生未受控模式(born free mode, BFM)[1:N]來(lái)表示。此 外,更詳細(xì)地解釋在圖2的安全執(zhí)行模式202,以說(shuō)明多SEM使能重置模 式[1:N]602、 一 SEM使能正常執(zhí)行模式603以及一 SEM使能安全執(zhí)行模式 604。即是,當(dāng)安全執(zhí)行模式202通過(guò)SEMENABLE指令的執(zhí)行(或者其它 使能機(jī)制)而被使能時(shí),本發(fā)明的微處理器被重置(即使能重置[1:N])其可 能正在執(zhí)行非安全應(yīng)用程序(使能正常執(zhí)行模式),或者可能正執(zhí)行安全編 碼(使能安全執(zhí)行模式)。如上所示,本發(fā)明的微處理器被制造為初始開(kāi)機(jī)即進(jìn)入原生未受控模式 601。且如狀態(tài)圖600所指示,有關(guān)^:處理器的安全的不同版本可持續(xù)地被 使用于原生未受控模式中。然而,SEMENABLE指令或使能安全執(zhí)行模式的 交替機(jī)制(例如SEMENABLE)的執(zhí)行導(dǎo)致微處理器進(jìn)入SEM使能重置模 式602,以迫使微處理器重置,其中可以進(jìn)入SEM使能重置模式602的次 數(shù)為[1:N]次,且上述為第一次進(jìn)入SEM使能重置模式602。在SEM使能重 置模式602中,在重置序列期間,微處理器執(zhí)行關(guān)于操作在安全環(huán)境的配置 與誠(chéng)實(shí)性檢查,如前述關(guān)于圖5的敘述。根據(jù)在SEM使能重置模式下重置 的成功執(zhí)行(即通過(guò)),微處理器轉(zhuǎn)換至SEM使能正常執(zhí)行模式603,以進(jìn) 行非安全應(yīng)用程序的執(zhí)行。然而,假使偵測(cè)到某些已定義狀態(tài),例如前述由 監(jiān)控管理器513對(duì)信號(hào)CLASS3與DISABLE的設(shè)置,微處理器將轉(zhuǎn)換至降 級(jí)模式605 (即由于CLASS2的設(shè)置),或轉(zhuǎn)換至硬件關(guān)機(jī)模式606 (即由于 DISABLE的設(shè)置)。從硬件關(guān)機(jī)模式606離開(kāi),微處理器可被重置以導(dǎo)致其 返回至SEM使能重置模式602中。從降級(jí)模式605離開(kāi),微處理器通過(guò)BIOS 提供受限的指令,允許使用者建立用來(lái)在程控下使能微處理器以進(jìn)入SEM 使能安全執(zhí)行模式604的參數(shù)。從SEM使能重置模式602離開(kāi),在重置序列中的硬件呼尋將迫使微處34理器直接進(jìn)入SEM使能安全執(zhí)行模式604,于其中執(zhí)行安全編碼。此外, 發(fā)生在SEM使能正常執(zhí)行模式603中非安全編碼執(zhí)行期間中或者在 SEMENTER指令的執(zhí)行期間中的安全中斷、或者使微處理器開(kāi)始執(zhí)行安全 編碼的交替機(jī)制,將導(dǎo)致微處理器轉(zhuǎn)換至SEM使能安全執(zhí)行模式604。命 令微處理器開(kāi)始執(zhí)行安全編碼的指令與交替機(jī)制都參照狀態(tài)圖600中的"呼 尋"。同樣地,SEMEXIT指令的執(zhí)行或命令微處理器終止安全編碼執(zhí)行與開(kāi) 始非安全編碼執(zhí)行的交替機(jī)制,參照"返回(RETURN)",此返回導(dǎo)致微處理 器轉(zhuǎn)換為SEM使能正常執(zhí)行模式603。如上所述,安全編碼可導(dǎo)致微處理 器由SEM使能安全執(zhí)行模式604轉(zhuǎn)換為降級(jí)模式605。 BIOS內(nèi)的安全編碼 允許微處理器由降級(jí)模式605返回至SEM使能安全執(zhí)行模式604。最后,在SEM使能安全執(zhí)行模式604中執(zhí)行的安全編碼可藉由寫入一 特殊機(jī)械專用寄存器,來(lái)引發(fā)安全機(jī)械檢查例外,其導(dǎo)致微處理器轉(zhuǎn)換回 SEM使能正常執(zhí)行模式603以執(zhí)行非安全編碼。此外,假使在SEM使能正 常執(zhí)行模式603中發(fā)生一安全中斷,微處理器的狀態(tài)自動(dòng)地改變至SEM使 能安全執(zhí)行模式604。這些執(zhí)行在本發(fā)明微處理器范例中用來(lái)導(dǎo)致?tīng)顟B(tài)圖所 述的狀態(tài)變化的不同的步驟,將通過(guò)第7-11圖來(lái)詳細(xì)說(shuō)明。參閱圖7,流程圖700表示本發(fā)明微處理器中使能安全執(zhí)行模式操作的 高階方法。流程圖開(kāi)始于方塊701,于其中,微處理器處于原生未受控模式 601。通過(guò)SEMENABLE指令的執(zhí)行或使能安全執(zhí)行模式的交替機(jī)制,例如 寫入至一隱藏機(jī)械專用寄存器,傳送一使能參數(shù),其中,此使能參數(shù)已藉由 使用一對(duì)非對(duì)稱加密密鑰中的一者并根據(jù)非對(duì)稱加密算法來(lái)被加密,而一對(duì) 非對(duì)稱加密密鑰中的另一者已被編程至微處理器中授權(quán)的公開(kāi)密鑰寄存器 內(nèi)。流程繼續(xù)進(jìn)行至方塊702。在方塊702中,利用在微處理器內(nèi)的加密單元,解密此使能參數(shù)以擷取 用來(lái)使能安全執(zhí)行模式的 一有效指令以及擷取在存儲(chǔ)器內(nèi)加密安全編碼的 指針。在BIOS中指向安全編碼的另一指標(biāo)以及任何加密的初始化數(shù)據(jù)也一 起被提供。流程繼續(xù)進(jìn)行至方塊703。在方塊703中,加密的安全編碼通過(guò)系統(tǒng)總線而被擷取自存儲(chǔ)器/BIOS, 且被解密。此安全編碼與數(shù)據(jù)接著藉由使用 一處理器密鑰并根據(jù)一對(duì)稱密鑰 算法來(lái)一皮加密,其中,此處理器密鑰對(duì)于本發(fā)明的每一處理器而言是獨(dú)特的, 且在制造時(shí)被編程至一處理器密鑰寄存器。此對(duì)稱加密的安全編碼與數(shù)據(jù)接著通過(guò)私密總線而被寫入至一安全非易失性存儲(chǔ)器,其中,此私密總線隔離 于系統(tǒng)總線資源。寫入至安全非易失性存儲(chǔ)器的部分程序包括在寫入對(duì)稱加密編碼與數(shù)據(jù)之前,對(duì)存儲(chǔ)器執(zhí)行隨機(jī)寫入。流程繼續(xù)進(jìn)行至方塊704。在方塊704中,微處理器內(nèi)非易失性使能指示寄存器被寫入,以指示出 安全執(zhí)行模式被使能。在一實(shí)施例中,非易失性使能指示寄存器包括多字元, 且這些位中的一者被寫入以在安全執(zhí)行模式每次被使能時(shí)用來(lái)指示出安全 執(zhí)行模式被使能。這些位中另一者被寫入以指示出返回至原生未受控模式。 因此,根據(jù)本發(fā)明的256位非易失性使能指示寄存器允許了 128次由非安全 執(zhí)行模式至安全執(zhí)行模式的轉(zhuǎn)換。流程繼續(xù)進(jìn)行至方塊705。在方塊705中,重置微處理器,即完成本發(fā)明微處理器中使能安全執(zhí)行 模式操作的方法。圖8的流程圖800強(qiáng)調(diào)用來(lái)在本發(fā)明的微處理器中禁能安全執(zhí)行模式操 作的高階方法。即是,流程圖800敘述操作在安全執(zhí)行模式的安全編碼如何 命令微處理器返回至原生未受控模式。流程開(kāi)始于方塊801,于其中,正于 安全執(zhí)行模式執(zhí)行安全編碼。流程繼續(xù)進(jìn)行至方塊802。在方塊802中,安全編碼于安全執(zhí)行模式執(zhí)行至非安全執(zhí)行模式的返回 (return),亦即執(zhí)行安全執(zhí)行模式禁能指令。在一實(shí)施例中,當(dāng)安全編碼執(zhí)行 對(duì)一 SEM機(jī)械專用寄存器的寫入時(shí),開(kāi)始實(shí)施至非安全執(zhí)行模式的返回(返 回至一非安全執(zhí)行模式),其導(dǎo)致一安全例外(secure exception)。程控接著轉(zhuǎn) 移至在于安全編碼內(nèi)一地址上的安全例外管理者,其中,此地址由前述安全 中斷描述符號(hào)窗體的內(nèi)容來(lái)提供。在一實(shí)施例中,安全例外管理者對(duì)一機(jī)械 專用寄存器執(zhí)行寫入,以指示接受此返回。假使,此機(jī)械專用寄存器沒(méi)有被 正確地寫入,此返回被忽略,且微處理器維持在安全執(zhí)行模式。假使交握被 確認(rèn),則流程繼續(xù)進(jìn)4亍至方塊803 。在判斷方塊803中,評(píng)估非易失性使能指示寄存器的內(nèi)容,以判斷是否 禁能安全執(zhí)行模式(支持返回至非安全執(zhí)行模式)。假使沒(méi)有被禁能(支持返回 至非安全執(zhí)行模式),流程繼續(xù)進(jìn)行至方塊806。假使于此非易失性使能指示 寄存器的多字元允許至非安全執(zhí)行模式的返回,流程則繼續(xù)進(jìn)行至方塊804。在方塊806中,維持安全執(zhí)行模式,且控制權(quán)返回至安全編碼。在方塊804中,更新非易失性使能指示寄存器,以指示此微處理器正操 作在非安全執(zhí)行模式。流程繼續(xù)進(jìn)行至方塊805。在方塊805中,微處理器的狀態(tài)返回至原生未受控模式,即完成本發(fā)明 的微處理器中禁能安全執(zhí)行模式操作的方法。圖9表示流程圖900,其詳細(xì)說(shuō)明本發(fā)明微處理器內(nèi)初始化安全編碼執(zhí) 行的方法。即是,流程圖900的方法包括圖7的流程圖700的更詳細(xì)說(shuō)明。 流程開(kāi)始于方塊901,于其中,本發(fā)明的微處理器正于原生未受控模式中執(zhí) 行非安全應(yīng)用程序。流程繼續(xù)進(jìn)行至方塊902。在方塊902中,在非安全執(zhí)行模式的一操作系統(tǒng)執(zhí)行SEMENABLE指 令或交替的機(jī)制(例如寫入至一機(jī)械專用寄存器),其傳送一個(gè)或多個(gè)使能 參數(shù),其中,此一個(gè)或多個(gè)使能參數(shù)是根據(jù)屬于授權(quán)者的私密密鑰來(lái)被非對(duì) 稱地加密。此一個(gè)或多個(gè)使能參數(shù)包括用來(lái)指向被執(zhí)行的非對(duì)稱加密安全編 碼的指針,此指針可儲(chǔ)存在系統(tǒng)存儲(chǔ)器以及/或BIOS存儲(chǔ)器。流程繼續(xù)進(jìn)行 至方塊903。在方塊卯3中,微處理器使用一對(duì)應(yīng)的授權(quán)的公開(kāi)密鑰來(lái)對(duì)傳送的一個(gè) 或多個(gè)使能參數(shù)進(jìn)行解密。在一實(shí)施例中,于微處理器的制造期間,此授權(quán) 的公開(kāi)密鑰被編程至一非易失性授權(quán)的公開(kāi)密鑰寄存器。在另一交替的實(shí)施 例中,此授權(quán)的公開(kāi)密鑰被編程至本發(fā)明的安全非易失性存儲(chǔ)器內(nèi)的一位 置,且根據(jù)微處理器的初始開(kāi)機(jī),此授權(quán)的公開(kāi)密鑰自此安全非易失性存儲(chǔ) 器被擷取,且此授權(quán)的公開(kāi)密鑰被編程至非易失性授權(quán)的公開(kāi)密鑰寄存器, 接著,在安全非易失性存儲(chǔ)器內(nèi)的此位置被清除。流程繼續(xù)進(jìn)行至方塊904。在方塊904中,判斷解密的使能參數(shù)是否有效。假使有效,流程繼續(xù)進(jìn) 行至方塊905。假使無(wú)效,流程則繼續(xù)進(jìn)行至方塊907。在方塊905中,由于已判斷出此使能參數(shù)是有效的,則執(zhí)行多隨機(jī)寫入 于安全非易失性存儲(chǔ)器的所有位置以清除安全非易失性存儲(chǔ)器的內(nèi)容。流程 則繼續(xù)進(jìn)行至方塊906。在判斷方塊906中,加密的安全編碼自系統(tǒng)存儲(chǔ)器/以及或BIOS存儲(chǔ)器 被擷取。接著,使用授權(quán)的公開(kāi)密鑰并根據(jù)非對(duì)稱密鑰算法來(lái)對(duì)此加密的安 全編碼進(jìn)行解密。在一實(shí)施例中,在微處理器中執(zhí)行邏輯電路內(nèi)的一加密單 元用來(lái)解密此加密的安全編碼。在一實(shí)施例中,此加密單元能執(zhí)行AES力口 密操作、SHA-1哈希操作以及RSA加密操作。解密后的安全編碼接著被解 壓縮,且被檢查格式是否正確。假使解密后的安全編碼格式正確,流程繼續(xù) 進(jìn)行至方塊908。假使解密后的安全編碼格式不正確,流程則繼續(xù)進(jìn)行至方塊907。在方塊907中,由于解密后的使能參數(shù)是無(wú)效的,程控則返回至非安全 執(zhí)行模式。在方塊908中,解密的安全編碼(以及對(duì)應(yīng)的初始數(shù)據(jù),若有的話)藉 由使用處理器密鑰并根據(jù)對(duì)稱密鑰算法來(lái)加密,其中,此處理器密鑰是此微 處理器所獨(dú)有的,且在制造時(shí)編程至一非易失性處理器密鑰寄存器內(nèi)。在一 實(shí)施例中,此對(duì)稱密鑰為128位的AES密鑰,且此微處理器利用其加密單 元來(lái)對(duì)安全編碼執(zhí)行AES加密。流程繼續(xù)進(jìn)行至方塊卯9。在方塊909中,此樣i處理器建立加密安全編碼中一個(gè)或多個(gè)^:落的一個(gè) 或多個(gè)哈希。在一實(shí)施例中,微處理器內(nèi)的加密單元用來(lái)建立加密編碼的一 個(gè)或多個(gè)SHA-1哈希。流程繼續(xù)進(jìn)行至方塊910。在方塊910中,微處理器通過(guò)私密總線將加密的安全編碼(以及數(shù)據(jù), 若有的話)以及此一個(gè)或多個(gè)哈希寫入至安全非易失性存儲(chǔ)器,其中,此私 密總線隔離于系統(tǒng)總線資源。此安全編碼與數(shù)據(jù)被加密,因此阻止了安全編 碼內(nèi)容的偵測(cè)。流程繼續(xù)進(jìn)行至方塊911。在步驟911中,設(shè)定非易失性使能指示寄存器以指示安全執(zhí)行模式被使 能。流程繼續(xù)進(jìn)行至方塊912。在方塊912中,于微處理器內(nèi)執(zhí)行安全執(zhí)行模式使能重置序列(reset sequence)。此重置序列包括硬件檢查(如同圖5中相關(guān)的討論)以及初始化 安全易失性存儲(chǔ)器為多隨機(jī)數(shù),即完成本發(fā)明的微處理器內(nèi)初始化安全編碼 執(zhí)行的方法。接著參閱圖10,流程圖IOOO表示本發(fā)明微處理器中執(zhí)行安全執(zhí)行模式 使能重置操作的方法,其中,此微處理器已使能安全執(zhí)行模式的操作。流程 開(kāi)始于方塊IOOI,其中,當(dāng)微處理器完成安全執(zhí)行模式的初始化時(shí),微處理 器執(zhí)行安全執(zhí)行模式使能重置串行。流程繼續(xù)進(jìn)行至方塊1002。在方塊1002中,微處理器執(zhí)行多處理器誠(chéng)實(shí)性檢查,包括安全非易失 性存儲(chǔ)器、電池與石英器的偵測(cè)與確認(rèn)。此外,核對(duì)總線時(shí)鐘的存在與頻率 誠(chéng)實(shí)性,并確認(rèn)提供給總線終端與微處理器供應(yīng)電源的適當(dāng)電壓。微處理器 的溫度確認(rèn)處于一可接受的范圍內(nèi)。流程繼續(xù)進(jìn)行至方塊1003。在方塊1003中,微處理器執(zhí)行非易失性存儲(chǔ)器連結(jié)(connectivity)與哈希 檢查。自安全非易失性存儲(chǔ)體內(nèi)一位置讀取安全簽章,并對(duì)此安全簽章進(jìn)行解密。解密后的簽章被核對(duì)以證實(shí)非易失性存儲(chǔ)器沒(méi)有被泄漏。此外,微處 理器亦讀取安全非易失性存儲(chǔ)器的特定位置與對(duì)應(yīng)的哈希。通過(guò)加密(即AES/HASH/RSA)單元,產(chǎn)生被選擇位置的確認(rèn)哈希,且與被讀取的哈希進(jìn) 行比較。流程繼續(xù)進(jìn)行至方塊1004。在方塊1004中,微處理器執(zhí)行安全實(shí)時(shí)時(shí)鐘的確認(rèn)。在一實(shí)施例中, 安全執(zhí)行模式實(shí)時(shí)時(shí)鐘估計(jì)石英器的狀態(tài),以偵測(cè)在頻率上大于百分的五的 改變,因此表示出石英器與在電池電壓上大于百分的五的改變,且表示出潛 在的安全威脅征兆。假使上述確認(rèn)檢查的任一者產(chǎn)生不利的結(jié)果,根據(jù)偵測(cè) 到事件的嚴(yán)重性與次數(shù),安全執(zhí)行模式使能重置串行將使此事件被記錄下來(lái),或者迫使微處理器進(jìn)入降級(jí)模式,或硬件關(guān)機(jī)模式。流程繼續(xù)進(jìn)行至方 塊1005。在方塊1005中,自非易失性存儲(chǔ)器(系統(tǒng)存儲(chǔ)器以A/或BIOS存儲(chǔ)器) 擷耳又加密的安全編碼以及凄t據(jù)。流程繼續(xù)進(jìn)行至方塊1006。在方塊1006中,譯碼與解壓縮加密的安全編碼,且確認(rèn)才各式正確后, 安全編碼接著被加載至微處理器內(nèi)的安全易失性存儲(chǔ)器。流程繼續(xù)進(jìn)行至方 塊1007。在方塊1007中,初始化微處理器內(nèi)的安全資源。這些安全資源無(wú)法被 非安全編碼所得知或存取,且只對(duì)于在安全執(zhí)行模式中執(zhí)行的安全編碼而言 是可利用的。這些資源包括安全定時(shí)器、安全中斷以及安全例外,且包括安而必須:故初始化的其它寄存器。初始化包括非安全中斷、非安全例外、非安全追蹤以及除錯(cuò)邏輯電路的禁能,也包括微處理器的任何電源管理邏輯電路 的禁能,其中包括導(dǎo)致核心電壓、核心時(shí)鐘頻率的變化或者使能或禁能其它 組件(例如高速緩存、分支預(yù)測(cè)單元等等)的任何組件。流程繼續(xù)進(jìn)行至方塊1008。在方塊1008中,初始化微處理器內(nèi)的非安全的高速緩存(即Ll高速緩 存、L2高速緩存)為隨機(jī)數(shù)。流程繼續(xù)進(jìn)行至方塊1009。在方塊1009中,產(chǎn)生一安全執(zhí)行模式中斷,且根據(jù)存在于安全中斷描 述符表內(nèi)的數(shù)據(jù)來(lái)呼尋(call)安全執(zhí)行模式重置功能,其中,此安全中斷描述 符白在方塊1007中被初始化,即完成本發(fā)明微處理器中執(zhí)行安全執(zhí)行模式 使能重置操作的方法。明微處理器中終止安全執(zhí)行模式 操作的方法。此方法開(kāi)始于方塊1101,于其中,安全編碼正執(zhí)行于安全執(zhí)行 模式。概括上,根據(jù)本發(fā)明,具有三種方法使微處理器由非安全執(zhí)行模式轉(zhuǎn) 換為安全執(zhí)行模式,并開(kāi)始安全編碼的執(zhí)行。第一種方法允許程控轉(zhuǎn)移為安全編碼的執(zhí)行。即是,在安全執(zhí)行模式下的非安全應(yīng)用程序如同SEMENTER 指令般執(zhí)行。在一實(shí)施例中,SEMENTER指令導(dǎo)致微處理器的狀態(tài)被儲(chǔ)存 在安全易失性存儲(chǔ)器內(nèi)的堆棧,且程控轉(zhuǎn)移至安全編碼,非常類似x86 SYSENTER指令的操作。第二種方法是,當(dāng)執(zhí)行非安全或安全重置序列時(shí), 導(dǎo)致安全編碼的執(zhí)行是由于一中斷或例外所致。導(dǎo)致安全編碼,執(zhí)行的最后一 個(gè)方法,是起因于來(lái)自任何數(shù)量的安全監(jiān)控邏輯組件的中斷,就像關(guān)于圖5 的討論。如上所述,執(zhí)行在安全執(zhí)行模式的安全編碼,永久地存在于安全非易失 性存儲(chǔ)器,但是在一安全執(zhí)行模式使能重置串行的期間,其已被加載至安全 易失性存儲(chǔ)器。即是,此安全編碼不再自非安全存儲(chǔ)器中執(zhí)行,例如系統(tǒng)存 儲(chǔ)器或非安全的處理器高速緩存。因此,藉由兩種方法,執(zhí)行控制由安全執(zhí) 行模式轉(zhuǎn)換回非安全執(zhí)行模式。第一種方法包括執(zhí)行SRESUME指令,其引 起來(lái)自SEMENTER指令的響應(yīng)(return)。在x86實(shí)施例中,此SRESUME指 令以與x86 RESUME相似的方法來(lái)操作。即是,預(yù)先儲(chǔ)存在安全易失性存 儲(chǔ)器中的程序狀態(tài)被恢復(fù)(restored),且程控轉(zhuǎn)移至操作系統(tǒng)或非安全編碼。 第二種方法是考慮強(qiáng)迫一安全例外,其中,藉由對(duì)只可由安全編碼來(lái)存取的 一機(jī)械專用寄存器執(zhí)行寫入,微處理器的安全組件可存取此安全例外。假使 確認(rèn)微處理器將返回至非安全執(zhí)行^f莫式,接著產(chǎn)生被4喿作系統(tǒng)指明且處理的 一非安全機(jī)械檢查例外,因此影響至非安全執(zhí)行模式的返回。圖11的流程 圖1100提出強(qiáng)迫此安全例外以返回至非安全執(zhí)行模式,而此技術(shù)領(lǐng)域中具 有通常知識(shí)者將理解,SRESUME指令的執(zhí)行導(dǎo)致微處理器去執(zhí)行下文所述 的相似步驟。因此,流程持續(xù)于方塊1102,于其中,將安全編碼寫入至安全執(zhí)行模式 機(jī)械專用寄存器(SEMMSR)。 SEMMSR即是,只可被執(zhí)行在安全執(zhí)行模 式下的安全編碼所存取且得知的多機(jī)械專用寄存器中的一者。流程繼續(xù)進(jìn)行 至方塊1103。在方塊1103中,寫入至安全執(zhí)行模式機(jī)械專用寄存器產(chǎn)生了由SEM邏輯電路內(nèi)安全例外邏輯電路所處理的安全例外。流程繼續(xù)進(jìn)行至方塊1104。 在方塊1104中,安全例外邏輯電路(例如安全中斷描述符號(hào)窗體)導(dǎo)致程控分支至安全編碼內(nèi)的安全例外管理者。流程繼續(xù)進(jìn)行至方塊1105。在方塊1105中,安全例外管理者響應(yīng)一授權(quán)的例外編碼。此安全例外 管理者執(zhí)行至安全編碼的返回,藉以將一授權(quán)的例外編碼傳送回安全編碼。 流程繼續(xù)進(jìn)4于至方塊1106。在方塊1106中,判斷由安全例外管理者所響應(yīng)的例外編碼是否正確。 假使此例外編碼不正確,則假設(shè)有一安全風(fēng)險(xiǎn),且流程繼續(xù)進(jìn)行至方塊1112。 假使此例外編碼正確,則安全編碼與安全例外管理者之間的交握則被確認(rèn)以 指示返回至非安全執(zhí)行模式,且流程繼續(xù)進(jìn)行至方塊1107。在方塊1112中,維持安全執(zhí)行模式,且控制權(quán)返回至安全編碼。在方塊1107中,微處理器執(zhí)行多隨機(jī)寫入于安全非易失性存儲(chǔ)器的所 有位置以清除安全非易失性存儲(chǔ)器的內(nèi)容。安全應(yīng)用程序利用微處理器內(nèi)的 一隨機(jī)數(shù)產(chǎn)生器來(lái)產(chǎn)生隨機(jī)數(shù)數(shù)據(jù)且對(duì)安全非易失性存儲(chǔ)器內(nèi)的所有位置 執(zhí)行隨機(jī)寫入。流程繼續(xù)進(jìn)行至方塊1108。在方塊1108中,微處理器藉由將"0"寫入至安全非易失性存儲(chǔ)器的每 一位置,來(lái)清除安全非易失性存儲(chǔ)器的每一位置。流程繼續(xù)進(jìn)行至方塊1109。在方塊1109中,設(shè)定非易失性使能指示寄存器以指示安全執(zhí)行模式被 禁能,亦即,微處理器正操作在一非安全執(zhí)行模式中。其受限于安全執(zhí)行模 式可被禁能的次數(shù),如同前文關(guān)于圖8的說(shuō)明。流程繼續(xù)進(jìn)行至方塊1110。在方塊1110中,安全例外邏輯電路產(chǎn)生一機(jī)械檢查例外,此外回應(yīng)一 狀態(tài)參數(shù)(亦即例外編碼指示狀態(tài))來(lái)將程控轉(zhuǎn)移至非安全應(yīng)用程序中之一。 因此,在非安全執(zhí)行模式下的操作系統(tǒng)處理此機(jī)械4企查例外,且完成返回至 非安全執(zhí)行;溪式。流程繼續(xù)進(jìn)行至方塊1111。在方塊1111中,即完成本發(fā)明微處理器中終止安全執(zhí)行模式操作的方法。圖12表示一安全實(shí)時(shí)時(shí)鐘1200的詳細(xì)方塊圖,其位于本發(fā)明的樣t處理 中的SEM邏輯電路內(nèi)。安全實(shí)時(shí)時(shí)鐘1200只可由正4喿作在安全執(zhí)行才莫式下 的安全編碼來(lái)得知且存取。安全實(shí)時(shí)時(shí)鐘包括振蕩器1201,其通過(guò)信號(hào)VP 耦接電池且通過(guò)信號(hào)Cl及C2來(lái)耦接石英器。此振蕩器產(chǎn)生振蕩輸出電壓 信號(hào)VO,且信號(hào)VO耦接計(jì)數(shù)器1202。此計(jì)數(shù)器產(chǎn)生輸出信號(hào)CNTO,且41輸出信號(hào)CNTO被路由至轉(zhuǎn)換邏輯電路1203。信號(hào)VP、 Cl、及C2也輸入 至轉(zhuǎn)換邏輯電路1203,此外,信號(hào)ENV同樣輸入至轉(zhuǎn)換邏輯電路,其中--, 信號(hào)ENV載有對(duì)應(yīng)管芯溫度的數(shù)值。轉(zhuǎn)換邏輯電路1203產(chǎn)生通過(guò)信號(hào) TEMP、 BATT、 COMP、 XTAL以及雙向總線TIME來(lái)提供的多輸出。此微 處理器通過(guò)雙向總線TIME提供輸入至此安全實(shí)時(shí)時(shí)鐘。振蕩器1201與計(jì)數(shù)器1202是專用的,即是除了被提供來(lái)允許微處理器 通過(guò)雙向總線TIME對(duì)安全實(shí)時(shí)時(shí)鐘進(jìn)行讀取和寫入的組件以外,他們無(wú)法 共享其它電路系統(tǒng)或微處理器的其它組件。此外,只要電池通過(guò)信號(hào)VP提供可接受的電壓時(shí),安全實(shí)時(shí)時(shí)鐘持續(xù)其計(jì)數(shù)。在一交替的實(shí)施例中,電池 電壓信號(hào)VP是由系統(tǒng)板上的電容器所產(chǎn)生,以代替只要系統(tǒng)板開(kāi)機(jī)而持續(xù) 灃皮充電的電〖也。在操作上,振蕩器1201產(chǎn)生振蕩輸出電壓信號(hào)VO,其與石英器的頻率 成比例,且此振蕩輸出電壓被提供至計(jì)數(shù)器1202。計(jì)數(shù)器1202包括多組件, 用來(lái)計(jì)算通過(guò)信號(hào)VO所提供的周期數(shù),并將此周期數(shù)轉(zhuǎn)換為一計(jì)數(shù)數(shù)值。 此計(jì)數(shù)數(shù)值被提供至信號(hào)CNTO上。轉(zhuǎn)換邏輯電路1203包括多電路,用將 CNTO的教:值轉(zhuǎn)換為持續(xù)時(shí)間數(shù)值,此外,轉(zhuǎn)換邏輯電路1203也包括多寄 存器(未顯示),其可通過(guò)雙向總線TIME而被微處理器來(lái)讀取與寫入。此外,轉(zhuǎn)換邏輯電路1203用來(lái)偵測(cè)電壓信號(hào)VP的顯著變化,指示出潛 在的篡改,且此一事件由信號(hào)BATT的設(shè)置來(lái)表示,其中,信號(hào)BATT的設(shè) 置系用來(lái)中斷正執(zhí)行的安全編碼。在一實(shí)施例中,大于百分的五的變化導(dǎo)致 BATT中斷一皮i殳置。轉(zhuǎn)換邏輯電路1203也用來(lái)通過(guò)信號(hào)Cl與C2來(lái)偵測(cè)石英器頻率的顯著 變化,因此指示潛在的篡改,且此一事件藉由信號(hào)XTAL的設(shè)置來(lái)表示。信 號(hào)XTAL的設(shè)置系用來(lái)中斷正執(zhí)行的安全編碼。在一實(shí)施例中,大于百分的 五的變化導(dǎo)致XTAL中斷被設(shè)置。信號(hào)ENV系由轉(zhuǎn)換邏輯電路1203來(lái)估計(jì),以判斷因溫度偏離而使計(jì)數(shù) 器1202產(chǎn)生不精準(zhǔn)的計(jì)數(shù)。假使判斷出溫度偏離,信號(hào)TEMP則被設(shè)置, 其用來(lái)中斷正執(zhí)行的安全編碼。轉(zhuǎn)換邏輯電路1203也用來(lái)估計(jì)上述情況中任一者是否足夠顯著,以指 示安全實(shí)時(shí)時(shí)鐘已被泄漏,例如電池的移動(dòng)與取代。假使被判斷出,信號(hào) COMP也被設(shè)置,因此中斷安全編碼的執(zhí)行。. 執(zhí)行應(yīng)用程序。例 如,根據(jù)本發(fā)明的設(shè)計(jì)是以微處理器為基礎(chǔ)。即是,本發(fā)明的一目的是修改 負(fù)責(zé)安全編碼的微處理器,這是因?yàn)?,相?duì)于著重在修改芯片組或其它組件 的其它技術(shù),只有微處理器可提供及時(shí)執(zhí)行安全。使用隔離芯片來(lái)監(jiān)控微處 理器的方法有許多的內(nèi)在安全性缺陷,且對(duì)于安全相關(guān)的執(zhí)行而言效能也明 顯地降低。根據(jù)本發(fā)明中以x86為基礎(chǔ)的實(shí)施例,由于x86程序化技術(shù)的普遍性, 安全編碼的發(fā)展相當(dāng)?shù)仄揭?。x86架構(gòu)已被得知,且對(duì)于精通非安全x86應(yīng) 用發(fā)展的任何程序設(shè)計(jì)者而言,機(jī)械專用指令的附加與專用指令(例如 SEMENABLE、 SEMENTER、及SRESUME指令)僅提供較少的學(xué)習(xí)挑戰(zhàn)。此外,對(duì)于微處理器的附加安全執(zhí)行能力的成本遠(yuǎn)小于額外芯片組被加 至系統(tǒng)設(shè)計(jì)所呈現(xiàn)的成本。此外,由于安全執(zhí)行環(huán)境被提供至微處理器本身之內(nèi),因此內(nèi)在地對(duì)抗 那些物理或從屬通道攻擊,其不需要附加外部電路。此處所揭露的技術(shù)非常有利地提供安全的微處理器操作環(huán)境,在此環(huán)境 中,會(huì)^f皮泄漏的一般機(jī)密(例如一4殳加密密鑰或程序架構(gòu))不會(huì)儲(chǔ)存于其中。 即是,本發(fā)明的每一處理器只具有需要被特定處理器或系統(tǒng)授權(quán)、控制等等 的機(jī)密。來(lái)自一處理器/系統(tǒng)的機(jī)密不會(huì)破壞在另一處理器/系統(tǒng)的安全性。 此外,得知如何破壞在一處理器的安全性,應(yīng)當(dāng)不會(huì)使其更容易地去破壞其 它處理器上的安全性。即是,這是由于獨(dú)特的處理器密鑰,此獨(dú)特的處理器 密鑰是由在安全非易失性存儲(chǔ)器總線上的數(shù)據(jù)傳輸所提供且導(dǎo)致的,其中, 這些數(shù)據(jù)傳輸系使用此密鑰來(lái)加密。與提供對(duì)抗俗稱拒絕服務(wù)攻擊(denial-of-service attack)的保護(hù)的習(xí)知 技術(shù)比較起來(lái),根據(jù)本發(fā)明的微處理器具有更多的優(yōu)點(diǎn)。例如,如圖5所討 論,提供安全監(jiān)控組件以偵測(cè)并取得在事件上的活動(dòng),例如持續(xù)對(duì)安全執(zhí)行 環(huán)境的呼尋(例如來(lái)自惡意裝置驅(qū)動(dòng)器),實(shí)時(shí)時(shí)鐘電池、石英器的持續(xù)移 除等等。本發(fā)明雖以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明的范圍,任 何所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可 做些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求書(shū)所界定 者為準(zhǔn)。
權(quán)利要求
1. 一種提供安全執(zhí)行環(huán)境的裝置,包括一微處理器,用以執(zhí)行多個(gè)非安全應(yīng)用程序與一安全應(yīng)用程序,其中,所述非安全應(yīng)用程序透過(guò)一系統(tǒng)總線而存取自一系統(tǒng)存儲(chǔ)器,且該安全應(yīng)用程序在一安全執(zhí)行模式中執(zhí)行,該微處理器包括一監(jiān)控管理器,用以注意與估計(jì)多個(gè)監(jiān)控器所傳遞的一數(shù)據(jù)來(lái)動(dòng)態(tài)地監(jiān)控該微處理器的物理與操作環(huán)境、對(duì)該數(shù)據(jù)進(jìn)行分類以指示出與該安全應(yīng)用程序的執(zhí)行相關(guān)的一安全層級(jí)、且使該微處理器內(nèi)的一安全執(zhí)行模式邏輯電路根據(jù)該安全層級(jí)來(lái)執(zhí)行反應(yīng)操作,其中,對(duì)該安全應(yīng)用程序的執(zhí)行而言,所述監(jiān)控器獨(dú)立地操作;以及一安全非易失性存儲(chǔ)器,透過(guò)一私密總線耦接該微處理器,用以儲(chǔ)存該安全應(yīng)用程序,其中,在該私密總線上該微處理器與該安全非易失性存儲(chǔ)器之間的多個(gè)數(shù)據(jù)傳輸,隔離于該系統(tǒng)總線以及該微處理器內(nèi)的多個(gè)對(duì)應(yīng)系統(tǒng)總線資源。
2. 如權(quán)利要求1所述的提供安全執(zhí)行環(huán)境的裝置,其中,所述監(jiān)控器包括一處理器電壓監(jiān)控器,用以監(jiān)控由 一 系統(tǒng)板提供至該微處理器的電源供 應(yīng)電壓與多個(gè)總線終端電壓,其中,所述總線終端電壓的一低限制與一高限 制是藉由該安全執(zhí)行模式邏輯電路內(nèi)的一機(jī)械專用寄存器來(lái)編程,且一但所 述總線終端電壓偏離該低限制與該高限制,該處理器電壓監(jiān)控器報(bào)導(dǎo)給該監(jiān) 控管理器。
3. 如權(quán)利要求1所述的提供安全執(zhí)行環(huán)境的裝置,其中,該等監(jiān)控器包括一溫度監(jiān)控器,用以不斷地監(jiān)控該微處理器的一管芯溫度,其中,該管 芯溫度的 一低溫度限制與 一 高溫度限制是藉由該安全執(zhí)行模式邏輯電路內(nèi) 的一機(jī)械專用寄存器來(lái)編程,且一但該管芯溫度偏離該低溫度限制與該高溫 度限制,該溫度監(jiān)控器報(bào)導(dǎo)給該監(jiān)控管理器。
4. 如權(quán)利要求1所述的提供安全執(zhí)行環(huán)境的裝置,其中,所述監(jiān)控器包括一數(shù)據(jù)監(jiān)控器,當(dāng)自該安全非易失性存儲(chǔ)器擷取自該安全應(yīng)用程序時(shí),用以偵測(cè)與該安全應(yīng)用程序相關(guān)的多個(gè)加密與配置錯(cuò)誤,其中,加密與配置 錯(cuò)誤被報(bào)導(dǎo)給該監(jiān)控管理器。
5. 如權(quán)利要求1所述的提供安全執(zhí)行環(huán)境的裝置,其中,所述監(jiān)控器包括一安全時(shí)戳計(jì)數(shù)器,用以計(jì)算在該安全應(yīng)用程序的執(zhí)行期間內(nèi)一核心時(shí) 鐘信號(hào)之一周期數(shù)、用以比較該周期數(shù)與一正常時(shí)戳計(jì)數(shù)器的數(shù)值、且將一 最大比例被超過(guò)的事件報(bào)導(dǎo)給該監(jiān)控管理器,其中,該最大比例是藉由該安 全執(zhí)行模式邏輯電路內(nèi)的一機(jī)械專用寄存器來(lái)編程。
6. 如權(quán)利要求1所述的提供安全執(zhí)行環(huán)境的裝置,其中,所述監(jiān)控器包括一總線時(shí)鐘監(jiān)控器,用以判斷被提供至該微處理器的一系統(tǒng)總線時(shí)鐘的 短期與長(zhǎng)期完整性、用以對(duì)該監(jiān)控管理器報(bào)導(dǎo)該系統(tǒng)總線時(shí)鐘在一不適當(dāng)?shù)?周期是否維持平坦、且用以對(duì)該監(jiān)控管理器報(bào)導(dǎo)該系統(tǒng)總線時(shí)鐘的頻率是否 經(jīng)歷一逐步頻率變化。
7. 如權(quán)利要求6所述的提供安全執(zhí)行環(huán)境的裝置,其中,該總線時(shí)鐘監(jiān) 控器判斷該系統(tǒng)總線時(shí)鐘的該逐步頻率變化是否超出一可接受的程度,且報(bào) 導(dǎo)一無(wú)法接受的逐步頻率變化給該監(jiān)控管理器。
8. 如權(quán)利要求6所述的提供安全執(zhí)行環(huán)境的裝置,其中,該總線時(shí)鐘監(jiān) 控器包括一頻率參考單元,用以產(chǎn)生與該系統(tǒng)總線時(shí)鐘成比例的一參考頻率,其 中,該總線時(shí)鐘監(jiān)控器比較該系統(tǒng)總線時(shí)鐘的衍生與該參考頻率,以判斷該 系統(tǒng)總線時(shí)鐘的頻率變化。
9. 一種在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法,包括 提供一安全非易失性存儲(chǔ)器,以儲(chǔ)存一安全編碼,其中,該安全編碼藉由實(shí)現(xiàn)在一私密總線上的多個(gè)私密數(shù)據(jù)傳輸而存取自該安全非易失性存儲(chǔ) 器,且該私密總線耦接該安全非易失性存儲(chǔ)器與一微處理器之間,該私密總 線隔離于該微處理器內(nèi)的所有系統(tǒng)總線資源且配置在該微處理器的外部,以 及該私密總線只由該微處理器的 一安全執(zhí)行邏輯電路所得知及存取;注意與估計(jì)多個(gè)監(jiān)控器所傳遞的 一數(shù)據(jù)來(lái)動(dòng)態(tài)地監(jiān)控該微處理器的物 理與操作環(huán)境,其中,對(duì)該安全編碼的執(zhí)行而言,所述監(jiān)控器獨(dú)立地操作;對(duì)該數(shù)據(jù)進(jìn)行分類以指示出與該安全編碼的#1行相關(guān)的一安全層級(jí);以及根據(jù)該安全層級(jí)來(lái)執(zhí)行反應(yīng)操作。
10. 如權(quán)利要求9所述的在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法,其中, 動(dòng)態(tài)地監(jiān)控該微處理器的物理與操作環(huán)境的步驟包括監(jiān)控由一 系統(tǒng)板提供至該微處理器的電源供應(yīng)電壓與多個(gè)總線終端電 壓,其中,總線終端電壓的一低限制與一高限制是藉由該安全執(zhí)行模式邏輯 電路內(nèi)的一機(jī)械專用寄存器來(lái)編程,且一但所述總線終端電壓偏離該低限制 與該高限制,則報(bào)導(dǎo)給一監(jiān)控管理器。
11. 如權(quán)利要求9所述的在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法,其中, 動(dòng)態(tài)地監(jiān)控該微處理器的物理與操作環(huán)境的步驟包括監(jiān)控該微處理器之一管芯溫度,其中,該管芯溫度的一低溫度限制與一 高溫度限制是藉由該安全執(zhí)行模式邏輯電路內(nèi)的一機(jī)械專用寄存器來(lái)編程, 且一但該管芯溫度偏離該低溫度限制與該高溫度限制,則報(bào)導(dǎo)給一監(jiān)控管理 器。
12. 如權(quán)利要求9所述的在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法,其中, 動(dòng)態(tài)地監(jiān)控該微處理器的物理與操作環(huán)境的步驟包括當(dāng)自該安全非易失性存儲(chǔ)器擷取自該安全編碼時(shí),偵測(cè)與該安全應(yīng)用程 序相關(guān)的多個(gè)加密與配置錯(cuò)誤,其中,所述加密與配置錯(cuò)誤被報(bào)導(dǎo)給一監(jiān)控 管理器。
13. 如權(quán)利要求9所述的在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法,其中, 動(dòng)態(tài)地監(jiān)控該微處理器的物理與操作環(huán)境的步驟包括計(jì)算在該安全應(yīng)用程序的執(zhí)行期間內(nèi)一核心時(shí)鐘信號(hào)的一周期數(shù)、比較 該周期數(shù)與一正常時(shí)戳計(jì)數(shù)器的數(shù)值、且將一最大比例被超過(guò)的事件報(bào)導(dǎo)給 一監(jiān)控管理器,其中,該最大比例是藉由該安全執(zhí)41^莫式邏輯電路內(nèi)的一機(jī) 械專用寄存器來(lái)編程。
14. 如權(quán)利要求9所述的在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法,其中, 動(dòng)態(tài)地監(jiān)控該微處理器的物理與操作環(huán)境的步驟包括判斷被提供至該微處理器的一系統(tǒng)總線時(shí)鐘的短期與長(zhǎng)期完整性、對(duì)一 監(jiān)控管理器報(bào)導(dǎo)該系統(tǒng)總線時(shí)鐘在一不適當(dāng)?shù)闹芷谑欠窬S持平坦、且對(duì)該監(jiān) 控管理器報(bào)導(dǎo)該系統(tǒng)總線時(shí)鐘的頻率是否經(jīng)歷 一逐步頻率變化。
15. 如權(quán)利要求14所述的在安全執(zhí)行環(huán)境中"^丸行安全編碼的方法,其中,動(dòng)態(tài)地監(jiān)控該微處理器的物理與操作環(huán)境的步驟包括判斷該系統(tǒng)總線時(shí)鐘的該逐步頻率變化是否超出一可接受的程度;以及將一無(wú)法接受的逐步頻率變化報(bào)導(dǎo)給該監(jiān)控管理器。
16.如權(quán)利要求14所述的在安全執(zhí)行環(huán)境中執(zhí)行安全編碼的方法,其中, 判斷該系統(tǒng)總線時(shí)鐘的逐時(shí)鐘變化的步驟包括產(chǎn)生與該系統(tǒng)總線時(shí)鐘成比例的一參考頻率;以及比較該系統(tǒng)總線時(shí)鐘的衍生與該參考頻率,以判斷該系統(tǒng)總線時(shí)鐘的頻 率變化。
全文摘要
一種提供安全執(zhí)行環(huán)境的裝置,包括微處理器及安全非易失性存儲(chǔ)器。微處理器執(zhí)行非安全應(yīng)用程序與安全應(yīng)用程序。非安全應(yīng)用程序透過(guò)系統(tǒng)總線而存取自系統(tǒng)存儲(chǔ)器,且安全應(yīng)用程序儲(chǔ)存在安全非易失性存儲(chǔ)器且在安全執(zhí)行模式中執(zhí)行。微處理器包括監(jiān)控管理器,其注意與估計(jì)多個(gè)監(jiān)控器所傳遞的數(shù)據(jù)來(lái)動(dòng)態(tài)地監(jiān)控微處理器的物理與操作環(huán)境、對(duì)數(shù)據(jù)進(jìn)行分類以指示出與安全應(yīng)用程序的執(zhí)行相關(guān)的安全層級(jí)、且使微處理器內(nèi)的安全執(zhí)行模式邏輯電路根據(jù)安全層級(jí)來(lái)執(zhí)行反應(yīng)操作。對(duì)安全應(yīng)用程序的執(zhí)行而言,這些監(jiān)控器獨(dú)立地操作。
文檔編號(hào)G06F21/02GK101533439SQ20091013774
公開(kāi)日2009年9月16日 申請(qǐng)日期2009年4月29日 優(yōu)先權(quán)日2008年5月24日
發(fā)明者G·葛蘭·亨利, 泰瑞·派克斯 申請(qǐng)人:威盛電子股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1