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

開放型通用抗攻擊cpu及其應(yīng)用系統(tǒng)的制作方法

文檔序號(hào):6436848閱讀:331來源:國(guó)知局

專利名稱::開放型通用抗攻擊cpu及其應(yīng)用系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種對(duì)抗企圖篡改設(shè)備內(nèi)部的信息或取出秘密信息這樣的攻擊的技術(shù)。
背景技術(shù)
:近年來,隨著數(shù)字內(nèi)容的流通得到促進(jìn),提供了用于保護(hù)著作權(quán)等內(nèi)容的權(quán)利的技術(shù)(DRM(數(shù)字版權(quán)管理DigitalRightsManagement))。作為DRM的例子,例如可列舉出三洋電機(jī)、日立、富士通3家公司共同開發(fā)的UDAC(帶訪問控制的通用流通UniversalDistributionwithAccessControl)。當(dāng)安裝UDAC那樣的DRM時(shí),為了使內(nèi)容保護(hù)的安全達(dá)到足夠的級(jí)別,在利用者的系統(tǒng)中使DRM為TRM(防篡改模塊TamperResistantModule)很重要(以下將使DRM成為TRM這一處理稱為DRM的TRM化)?,F(xiàn)在,為了以面向消費(fèi)者的產(chǎn)品一般實(shí)施的TRM化,大體分為硬件TRM和軟件TRM這2種方法。硬件TRM為這樣的TRM,即,通過形成為不能從半導(dǎo)體的外部端子讀出秘密信息等的構(gòu)造,實(shí)施特殊涂覆和極微細(xì)化等而實(shí)現(xiàn)。將硬件TRM與軟件TRM相比,特別是也可稱為“抗攻擊容器”。軟件TRM為這樣TRM,即,通過使希望加密的代碼為難以解析的構(gòu)造而加密,在執(zhí)行的瞬間對(duì)該代碼進(jìn)行解密而實(shí)現(xiàn)。然而,在過去的TRM中存在以下那樣的問題。1.硬件TRM的問題在面向消費(fèi)者的用途中較重視成本,為此需要對(duì)DRM進(jìn)行半導(dǎo)體包化,但可加入到1塊芯片的資源有限,所以不能提供多種多樣的功能。在希望擴(kuò)大記錄許可鑰匙和CRL(證書撤消列表CertificateRevocationList)的區(qū)域的大小的情況和希望由XrML(可擴(kuò)充權(quán)限標(biāo)記語(yǔ)言(eXtensiblerightsMarkupLanguage)表現(xiàn)內(nèi)容利用條件的情況等中,由硬件TRM不能應(yīng)對(duì)。·當(dāng)重視安全性時(shí),需要使利用的處理器和記錄媒體都在硬件TRM內(nèi),為此,制造后難以擴(kuò)充功能。另外,由于這一原因,軟件可利用的記錄媒體受到限制,難于同時(shí)使處理器執(zhí)行資源消耗高的一般的(不需要保護(hù))的軟件。另外,同時(shí)使處理器執(zhí)行密鑰不同的多個(gè)保護(hù)軟件也較困難。即,硬件TRM沒有通用性?!び捎谛枰獌?nèi)容的種類的追加和每次DRM升級(jí)時(shí)新的芯片的開發(fā)、新設(shè)立半導(dǎo)體制造工序等的生產(chǎn)線,所以,制造成本增大?!び捎谠诰哂谢Q性的通用CPU芯片上僅開發(fā)、裝載各個(gè)軟件而向利用者提供多種類的功能,從而妨礙了逐漸實(shí)現(xiàn)順利的錯(cuò)誤修正和功能擴(kuò)充的“信息技術(shù)的逐步進(jìn)化”。2.軟件TRM的問題·最根本的私鑰不能加密,無論怎樣分散等進(jìn)行保管,也可僅由軟件解析容易地找出私鑰?!と缡褂糜布蘒CE(在線仿真器InCircuitEmulator),則通過跟蹤執(zhí)行內(nèi)容,可容易地找出以私鑰為首的各種秘密信息。發(fā)明的公開本發(fā)明的目的在于解決上述問題,提供具有與軟件TRM同樣的通用性并具有與硬件TRM同樣的安全性的TRM。為了達(dá)到上述目的,按照本發(fā)明的第1形式,在中央運(yùn)算裝置中,具有秘密地隱藏的第1私鑰和進(jìn)行加密和解密的密碼單元,上述第1私鑰與公鑰成對(duì),上述密碼單元通過使用上述第1私鑰對(duì)使用上述公鑰加密的第1程序的第1許可進(jìn)行解密,從而從上述第1許可獲得用于對(duì)上述第1程序進(jìn)行解密的代碼解密鑰匙。代碼解密鑰匙也可與對(duì)第1程序加密時(shí)使用的代碼密鑰相同。另外,第1許可可嵌入到第1程序,也可兩者分別流通。通過這樣構(gòu)成,用于對(duì)上述第1程序進(jìn)行解密的鑰匙的獲得所需要的私鑰秘密地記錄于中央運(yùn)算裝置內(nèi),所以,不分散保管。因此,可解決通過解析程序而容易發(fā)現(xiàn)私鑰的問題。另外,也可使上述中央運(yùn)算裝置還具有高速緩存,上述密碼單元從存儲(chǔ)區(qū)域?qū)?gòu)成上述第1程序的加密塊輸出到上述高速緩存時(shí),按高速緩存單位對(duì)上述加密塊進(jìn)行解密。通過按高速緩存單位對(duì)加密塊進(jìn)行解密,記錄到高速緩存,從而可比過去提高安全性。另外,也可使上述中央運(yùn)算裝置還具有用戶不能參照或篡改的抗攻擊緩沖器,上述代碼解密鑰匙記錄于上述抗攻擊緩沖器中。記錄于抗攻擊緩沖器內(nèi)的鑰匙即使為內(nèi)核模式,用戶也不能參照或篡改,所以,可安全地保持代碼解密鑰匙。在這里,上述抗攻擊緩沖器還包含外部輸出禁止信息和高速緩存鎖定信息,上述外部輸出禁止信息表示是否可將對(duì)應(yīng)的上述抗攻擊緩沖器內(nèi)的信息輸出到上述抗攻擊緩沖器中,上述高速緩存鎖定信息表示是否可將對(duì)應(yīng)的信息輸出到高速緩存外。也可根據(jù)上述外部輸出禁止信息和上述高速緩存鎖定信息,管理第1程序和其它程序之間的上述第1許可的移動(dòng)。這樣,可使上述中央運(yùn)算裝置實(shí)現(xiàn)不能復(fù)制的專用柜。因此,例如即使當(dāng)可在多個(gè)程序間移動(dòng)許可時(shí),也可防止再送攻擊導(dǎo)致的許可的非法復(fù)制。另外,在上述中央運(yùn)算裝置中,也可使上述第1許可包含上述第1程序的執(zhí)行過程訪問存儲(chǔ)區(qū)域時(shí)的訪問條件,還具有記錄構(gòu)成上述第1程序的加密塊被記錄的上述存儲(chǔ)區(qū)域的地址和對(duì)上述存儲(chǔ)區(qū)域的訪問條件的TLB(轉(zhuǎn)換后備緩沖器TranslationLookasideBuffer)、存儲(chǔ)器管理單元、高速緩存、處理器內(nèi)核。在該構(gòu)成中,上述抗攻擊緩沖器與上述TLB連接,上述存儲(chǔ)器管理單元根據(jù)記錄上述加密塊的存儲(chǔ)區(qū)域的地址,從上述TLB獲取對(duì)上述存儲(chǔ)區(qū)域的訪問條件,然后,從上述抗攻擊緩沖器獲取與上述存儲(chǔ)區(qū)域?qū)?yīng)的上述代碼解密鑰匙。上述處理器內(nèi)核根據(jù)上述存儲(chǔ)器管理單元獲取的上述訪問條件,判定是否允許從上述執(zhí)行過程對(duì)上述存儲(chǔ)區(qū)域進(jìn)行訪問,在判定允許對(duì)上述存儲(chǔ)區(qū)域進(jìn)行訪問的情況下,從上述執(zhí)行過程對(duì)上述存儲(chǔ)區(qū)域進(jìn)行訪問。上述密碼單元使用由上述存儲(chǔ)器管理單元獲取的上述代碼解密鑰匙對(duì)上述存儲(chǔ)區(qū)域內(nèi)的上述加密塊進(jìn)行解密,將由此獲得的代碼寫入到上述高速緩存中。存儲(chǔ)區(qū)域通過TLB與抗攻擊緩沖器建立對(duì)應(yīng),用于對(duì)寫入到該存儲(chǔ)區(qū)域的塊進(jìn)行解密的鑰匙根據(jù)該對(duì)應(yīng)關(guān)系被獲取。另外,對(duì)存儲(chǔ)區(qū)域的訪問也根據(jù)TLB內(nèi)的訪問條件被控制。因此,可安全地進(jìn)行對(duì)存儲(chǔ)區(qū)域的訪問控制和塊在高速緩存的加載。在這里,也可使得在從上述第1程序的執(zhí)行過程訪問的存儲(chǔ)區(qū)域從第1存儲(chǔ)區(qū)域轉(zhuǎn)換到第2存儲(chǔ)區(qū)域的情況下,上述存儲(chǔ)器管理單元還判定從上述抗攻擊緩沖器獲取的與上述第1存儲(chǔ)區(qū)域?qū)?yīng)的代碼解密鑰匙與對(duì)應(yīng)于上述第2存儲(chǔ)區(qū)域的代碼解密鑰匙是否一致,在判定為一致的情況下,執(zhí)行從上述執(zhí)行過程對(duì)上述第2存儲(chǔ)區(qū)域的訪問,在判定不一致的情況下,不執(zhí)行從上述執(zhí)行過程對(duì)上述第2存儲(chǔ)區(qū)域的訪問。這樣,當(dāng)根據(jù)Call、Jump或Return等命令,在執(zhí)行過程中使地址從某一存儲(chǔ)區(qū)域移動(dòng)到與對(duì)應(yīng)于該存儲(chǔ)區(qū)域的代碼解密鑰匙不同的其它代碼解密鑰匙對(duì)應(yīng)的其它存儲(chǔ)區(qū)域時(shí),不能從該執(zhí)行過程訪問上述其它存儲(chǔ)區(qū)域。這樣,可禁止某一所有者過程對(duì)其它所有者過程的存儲(chǔ)區(qū)域的訪問。另外,也可使得在上述中央運(yùn)算裝置中,在上述抗攻擊緩沖器對(duì)上述各代碼密鑰記錄不同的數(shù)據(jù)密鑰,上述密碼單元使用上述數(shù)據(jù)密鑰將上述高速緩存內(nèi)的數(shù)據(jù)加密后,通過上述TLB記錄到與上述數(shù)據(jù)密鑰建立對(duì)應(yīng)的存儲(chǔ)區(qū)域,從上述存儲(chǔ)區(qū)域讀出加密的數(shù)據(jù),使用上述數(shù)據(jù)密鑰進(jìn)行解密后,寫入到上述高速緩存中。這樣,可安全地進(jìn)行使數(shù)據(jù)保留到存儲(chǔ)區(qū)域或加載到高速緩存的操作。另外,也可使得在上述中央運(yùn)算裝置中,當(dāng)由第2代碼利用通過執(zhí)行第1代碼獲得的作業(yè)數(shù)據(jù)時(shí),上述處理器內(nèi)核以將對(duì)記錄上述作業(yè)數(shù)據(jù)的存儲(chǔ)區(qū)域的訪問權(quán)提供給上述第2代碼的形式設(shè)定上述TLB,而且,以上述第2代碼從上述存儲(chǔ)區(qū)域讀出上述作業(yè)代碼時(shí)使用對(duì)上述作業(yè)數(shù)據(jù)進(jìn)行加密用的代碼密鑰的形式設(shè)定上述抗攻擊緩沖器。這樣,即使在通常第1代碼的代碼密鑰與第2代碼的代碼密鑰不同的情況下,通過第1代碼與第2代碼共用數(shù)據(jù)密鑰,從而可讀出執(zhí)行第1代碼獲得的數(shù)據(jù)。因此,即使在上述中央運(yùn)算裝置保護(hù)著2個(gè)或其以上的軟件并執(zhí)行的情況下,也可根據(jù)需要安全地共享存儲(chǔ)區(qū)域。另外,也可使得在上述中央運(yùn)算裝置中還具有寄存器和用于進(jìn)行對(duì)寄存器的訪問控制的寄存器訪問控制表,上述處理器內(nèi)核使用上述寄存器訪問控制表內(nèi)的密封標(biāo)志,控制上述寄存器的密封和釋放。這樣,在過程將數(shù)據(jù)存放于寄存器時(shí),可進(jìn)行密封,使得不能從現(xiàn)在執(zhí)行中的過程以外訪問存放于寄存器中的數(shù)據(jù)。另外,也可使得在上述中央運(yùn)算裝置中,當(dāng)將上述TLB的內(nèi)容記錄到外部的頁(yè)表時(shí),上述密碼單元將簽名提供給記錄的內(nèi)容,在將上述頁(yè)表的內(nèi)容取入到上述TLB之前,上述密碼單元確認(rèn)上述簽名是否正確。這樣,可安全地將TLB的內(nèi)容保持于頁(yè)表。另外,也可使得在上述中央運(yùn)算裝置中,當(dāng)將上述抗攻擊緩沖器的內(nèi)容記錄到外部存儲(chǔ)裝置內(nèi)的加密鑰匙表時(shí),上述密碼單元對(duì)記錄的內(nèi)容進(jìn)行加密。這樣,可將抗攻擊緩沖器的內(nèi)容安全保持在外部存儲(chǔ)裝置中。也可使得生成TLB的內(nèi)容的簽名時(shí)使用的私鑰和對(duì)抗攻擊緩沖器的內(nèi)容進(jìn)行加密時(shí)使用的私鑰都由中央運(yùn)算裝置內(nèi)的處理器生成。另外,也可使得上述中央運(yùn)算裝置與其它中央運(yùn)算裝置連接,上述中央運(yùn)算裝置通過與上述其它中央運(yùn)算裝置相互進(jìn)行認(rèn)證從而獲得對(duì)話鑰匙,上述中央運(yùn)算裝置的上述密碼單元使用上述對(duì)話鑰匙將上述中央運(yùn)算裝置的上述高速緩存的內(nèi)容加密,同步傳送到上述其它中央運(yùn)算裝置。這樣,在具有多個(gè)具有上述構(gòu)成的中央運(yùn)算裝置的多CPU中,可安全地使高速緩存內(nèi)的內(nèi)容同步。另外,也可使得在上述中央運(yùn)算裝置中,上述密碼單元執(zhí)行上述第1程序之前,使用上述公鑰對(duì)附加于第2程序的上述第2許可進(jìn)行解密,從而獲取對(duì)第2私鑰進(jìn)行加密時(shí)使用的私鑰密鑰,然后,使用上述獲得的私鑰密鑰對(duì)上述第2私鑰進(jìn)行解密。另外,也可使得在上述第2許可附加表示僅可從第1程序的執(zhí)行程序讀出的條件,上述第2私鑰僅可從上述第1程序的執(zhí)行程序讀出。通過使得僅可從第1程序的執(zhí)行過程讀取第2私鑰,從而可安全地維持管理秘密信息。上述第1程序也可為TRM化要求的任何軟件。例如,作為第1程序,可列舉出可信計(jì)算模塊、使上述中央運(yùn)算裝置實(shí)現(xiàn)電子錢包的程序、處理個(gè)人信息的軟件、上述中央運(yùn)算裝置的安裝代碼的查毒軟件、在多個(gè)中央運(yùn)算裝置間移動(dòng)的移動(dòng)代理(移動(dòng)エ一ジエント)、機(jī)器人的控制程序及IC卡用的安全程序等。另外,也可使得在上述中央運(yùn)算裝置中,對(duì)構(gòu)成上述第1程序的塊考慮多種各樣的形式,與此相應(yīng)地使中央運(yùn)算裝置具有更多的單元。例如,也可使得塊包含表示塊的散列值的確認(rèn)是否必要的散列確認(rèn)要否信息,并還具有散列單元和散列確認(rèn)單元,該散列單元根據(jù)上述散列確認(rèn)要否信息計(jì)算出上述塊的散列值,附加到上述塊;該散列確認(rèn)單元根據(jù)上述散列確認(rèn)要否信息確認(rèn)上述塊的上述散列值。另外,例如也可使得塊包含表示塊是否需要保護(hù)的加密要否信息,并且還具有保護(hù)塊選擇單元,該保護(hù)塊選擇單元根據(jù)上述加密要否信息判定將上述塊輸出到上述密碼單元,還是原樣輸出到高速緩存或存儲(chǔ)區(qū)域。另外,為了減少對(duì)各塊附加選擇塊的保護(hù)塊選擇單元,也可如以下那樣構(gòu)成。例如,第1程序的執(zhí)行文件的標(biāo)題包含表示構(gòu)成上述第1程序的塊的構(gòu)成的加密塊位圖,保護(hù)塊選擇單元根據(jù)上述加密塊位圖判定將上述塊輸出到上述密碼單元中,還是原樣輸出到高速緩存或存儲(chǔ)區(qū)域中。另外,例如第1程序的代碼的起始部分為如下的代碼,其指定構(gòu)成上述第1程序的多個(gè)塊為明文塊與加密塊的組合的重復(fù),在上述組合中明文塊連續(xù)的數(shù)和加密塊連續(xù)的數(shù)。上述處理器內(nèi)核通過執(zhí)行該代碼,判定將上述塊輸出到上述密碼單元中,還是原樣輸出到高速緩存或存儲(chǔ)區(qū)域中。另外,也可使得在上述中央運(yùn)算裝置中,上述高速緩存與存儲(chǔ)器之間還具有上述密碼單元介于其中間的高速緩存線;上述密碼單元不介于其中間的高速緩存線。這樣,可實(shí)現(xiàn)處理的高速化。另外,作為本發(fā)明的其它形式,提供一種程序,該程序進(jìn)行將執(zhí)行保護(hù)程序的授權(quán)提供給中央運(yùn)算裝置的控制,其中,使上述中央運(yùn)算裝置執(zhí)行包含如下內(nèi)容的處理上述保護(hù)程序由代碼密鑰加密,并且存在有許可,該許可對(duì)應(yīng)于上述保護(hù)程序,包含上述代碼密鑰,而且由與秘密地設(shè)于上述中央運(yùn)算裝置中的私鑰成對(duì)的公鑰加密,在上述中央運(yùn)算裝置執(zhí)行上述保護(hù)程序之前,將上述許可投入到上述中央運(yùn)算裝置中,通過在上述中央運(yùn)算裝置具有的密碼單元中使用上述私鑰對(duì)上述許可進(jìn)行解密,從而從上述許可獲取上述代碼密鑰,在上述密碼單元使用上述代碼密鑰使上述保護(hù)程序解密。該程序可獲得與由具有上述構(gòu)成的中央運(yùn)算裝置進(jìn)行的處理同樣的作用·效果。因此,由該程序也可解決上述問題。另外,記錄上述程序的記錄裝置也由上述中央運(yùn)算裝置執(zhí)行上述程序,也可獲得與由具有上述構(gòu)成的中央運(yùn)算裝置進(jìn)行的處理同樣的作用和效果。另外,作為工序包含由構(gòu)成上述中央運(yùn)算裝置的各單元進(jìn)行的動(dòng)作的軟件執(zhí)行授權(quán)方法也可獲得與由具有上述構(gòu)成的中央運(yùn)算裝置進(jìn)行的處理同樣的作用和效果。另外,按照本發(fā)明的再另一形式,提供一種程序,該程序在計(jì)算機(jī)中執(zhí)行,其特征在于,存在由代碼密鑰加密的程序和許可,該許可對(duì)應(yīng)于上述保護(hù)程序,包含上述代碼密鑰,而且由與中央運(yùn)算裝置秘密具有的私鑰成對(duì)的公鑰加密,該中央運(yùn)算裝置設(shè)于應(yīng)執(zhí)行上述程序的計(jì)算機(jī)中,在執(zhí)行上述程序之前,將上述許可投入到上述中央運(yùn)算裝置,由上述中央運(yùn)算裝置使用上述私鑰解密,上述程序使用從上述許可獲取的上述代碼密鑰,由上述中央運(yùn)算裝置解密。該程序?yàn)橛缮鲜鲋醒脒\(yùn)算裝置保護(hù)的軟件,通過由具有上述中央運(yùn)算裝置的計(jì)算機(jī)執(zhí)行,可獲得與硬件TRM同樣的安全性。另外,記錄上述程序的、可由上述計(jì)算機(jī)讀取的記錄媒體也通過從該記錄媒體加載程序,由具有上述中央運(yùn)算裝置的計(jì)算機(jī)執(zhí)行程序,從而可獲得與上述程序同樣的作用和效果。另外,按照本發(fā)明的再另一形式,程序生成裝置生成在設(shè)置有具有上述構(gòu)成的中央運(yùn)算裝置的計(jì)算機(jī)中執(zhí)行的程序,其特征在于,具有輸入單元,其輸入代碼目標(biāo);連接程序前處理單元,其將所輸入的上述代碼目標(biāo)分成多個(gè)塊,并將NOP(空操作)命令追加到各塊中;連接程序單元,其進(jìn)行地址解決;保護(hù)代碼執(zhí)行形式生成單元,其通過使用代碼密鑰將各塊加密,從而生成保護(hù)代碼執(zhí)行形式;許可生成單元,其生成許可,該許可包含上述代碼密鑰,由與上述私鑰成對(duì)的公鑰加密,上述許可在上述計(jì)算機(jī)執(zhí)行上述保護(hù)代碼執(zhí)行形式之前投入到上述中央運(yùn)算裝置中,由上述密碼單元使用上述私鑰進(jìn)行解密,上述保護(hù)代碼執(zhí)行形式使用從上述許可獲取的上述代碼密鑰,由上述密碼單元進(jìn)行解密。由上述程序生成裝置,可從不能由上述中央運(yùn)算裝置保護(hù)的形式的代碼模塊生成可由上述中央運(yùn)算裝置保護(hù)的程序。所生成的程序由具有上述中央運(yùn)算裝置的計(jì)算機(jī)執(zhí)行,從而可獲得與硬件TRM同樣的安全性。附圖的簡(jiǎn)單說明圖1為示出基本軟件包的利用關(guān)系模型的圖。圖2為示出編程模型的圖。圖3為第1實(shí)施形式的實(shí)現(xiàn)GT的CPU的構(gòu)成圖。圖4為示出TRB內(nèi)的各行的字段的構(gòu)成的圖。圖5為示出TLB內(nèi)的各行的擴(kuò)充字段的構(gòu)成的圖。圖6為關(guān)于FR體系結(jié)構(gòu)的情況示出TLB內(nèi)的字段的值與訪問權(quán)限的對(duì)應(yīng)的圖。圖7為關(guān)于因特體系結(jié)構(gòu)的情況示出TLB內(nèi)的字段的值與訪問權(quán)限的對(duì)應(yīng)的圖。圖8為示出加密鑰匙表的構(gòu)造的圖。圖9為示出簽名方式的一例的圖。圖10為示出TRB、TLB、加密鑰匙表和頁(yè)表的關(guān)系的圖。圖11為示出存儲(chǔ)TRSS標(biāo)志的字段的構(gòu)成的一例的圖。圖12為示出RACT的各行的字段構(gòu)成的一例的圖。圖13為示出RSSL寄存器的字段構(gòu)成的一例的圖。圖14為示出在一般的虛擬段空間與抗攻擊段空間之間從代碼執(zhí)行過程訪問數(shù)據(jù)時(shí)的方針的圖。圖15為示出在GT10上保護(hù)過程動(dòng)作的狀態(tài)的圖。圖16為說明GT的認(rèn)證的圖。圖17為示出可在GT許可中設(shè)定的訪問權(quán)限和被授予權(quán)限的圖。圖18為示出上述GT認(rèn)證處理的一部分的流程圖。圖19為示出用作超流通文件形式時(shí)的保護(hù)代碼執(zhí)行形式的一例的圖。圖20為說明保護(hù)代碼的加載和執(zhí)行工序、及保護(hù)數(shù)據(jù)的保留和維持的圖。圖21為說明對(duì)記錄執(zhí)行保護(hù)代碼時(shí)的保護(hù)代碼的頁(yè)訪問控制的圖。圖22為示出由處理器內(nèi)核進(jìn)行的對(duì)保護(hù)代碼和保護(hù)數(shù)據(jù)的訪問控制的流程圖。圖23為關(guān)于異?!ぶ袛嗵幚淼牧鞒虉D。圖24為關(guān)于命令處理的流程圖。圖25為說明起動(dòng)保護(hù)代碼文件時(shí)的OS內(nèi)核60和GT動(dòng)作的圖。圖26為說明從執(zhí)行保護(hù)代碼的過程訪問保護(hù)數(shù)據(jù)的原理的圖。圖27為說明從主過程調(diào)用其它保護(hù)代碼模塊時(shí)進(jìn)行的工序的流程圖。圖28為說明從主過程調(diào)用其它保護(hù)代碼模塊時(shí)OS內(nèi)核進(jìn)行的處理的流程圖。圖29為示出由抗攻擊代碼返回異常處理進(jìn)行的用于防止密封寄存器非法訪問的順序例的圖。圖30為示出由OS內(nèi)核進(jìn)行的保護(hù)上下文轉(zhuǎn)換時(shí)的順序的一例的圖。圖31為示出保護(hù)數(shù)據(jù)區(qū)域的共享的一例的圖。圖32為說明模塊認(rèn)證及保護(hù)數(shù)據(jù)解密鑰匙共享工序的設(shè)定工序的圖。圖33為示出調(diào)用抗攻擊區(qū)域共享系統(tǒng)調(diào)入時(shí)的處理的流程圖。圖34為示出DRM軟件模塊的構(gòu)造模型的一例的圖。圖35為示出由媒體DRM進(jìn)行的處理的流程圖(其中之1)。圖36為示出由媒體DRM進(jìn)行的處理的流程圖(其中之2)。圖37為示出由解碼器DRM進(jìn)行的處理的流程圖(其中之1)。圖38為示出由解碼器DRM進(jìn)行的處理的流程圖(其中之2)。圖39為示出由解碼器DRM進(jìn)行的處理的流程圖(其中之3)。圖40為示出由再現(xiàn)應(yīng)用程序進(jìn)行的處理的流程圖。圖41為示出秘密信息的維持和管理方式的圖。圖42為示出用于許可管理的存儲(chǔ)器訪問的方式的圖。圖43為實(shí)現(xiàn)第2實(shí)施形式的GT的CPU的構(gòu)成圖。圖44為示出第2實(shí)施形式的塊的構(gòu)造的圖。圖45為示出ebim為4時(shí)的塊的構(gòu)造的圖。圖46為示出由保護(hù)塊選擇程序進(jìn)行的處理的流程圖。圖47為示出由散列引擎進(jìn)行的處理的流程圖。圖48為示出由散列檢驗(yàn)程序進(jìn)行的處理的流程圖。圖49為說明NOP的處理的圖。圖50為多CPU的構(gòu)成圖。圖51為示出從代碼目標(biāo)輸出保護(hù)代碼執(zhí)行形式的工具群的例的圖。圖52為示出將GT安裝于個(gè)人計(jì)算機(jī)或工作站時(shí)的系統(tǒng)構(gòu)成例的圖。實(shí)施發(fā)明的最佳方式下面參照本發(fā)明的實(shí)施形式。在相同裝置等中采用相同的附圖標(biāo)記,省略說明。本發(fā)明通過在CPU安裝通用TRM功能,從而使CPU為具有通用性的抗攻擊容器。在以下的說明中,將安裝本發(fā)明的通用TRM功能的CPU稱為“GenericTRM”,簡(jiǎn)稱為GT。(構(gòu)成)在說明GT的構(gòu)成之前,說明GT與由該GT執(zhí)行的軟件的利用關(guān)系。圖1示出實(shí)現(xiàn)GT的CPU包和由該CPU包執(zhí)行的GT基本軟件包的利用關(guān)系模型。如圖1所示那樣,GT基本軟件包可分成應(yīng)用程序?qū)?、DRM層、PKI程序庫(kù)層。在應(yīng)用程序?qū)又邪艿奖Wo(hù)的應(yīng)用程序(以下稱保護(hù)應(yīng)用程序)。在DRM層包含解碼器DRM30和媒體DRM40。在PKI程序庫(kù)層包含PKI程序庫(kù)20。解碼器DRM30、媒體DRM40、及PKI程序庫(kù)20為OS(操作系統(tǒng)OperationSystem)的一部分。各基本軟件包分別具有以下那樣的功能。這些功能過去已為人們所知,所以,省略說明。PKI程序庫(kù)·標(biāo)準(zhǔn)的PKIX(公鑰基礎(chǔ)結(jié)構(gòu)(PublicKeyInfrastructure)(X.509))程序庫(kù)媒體DRM(包含虛擬媒體DRM,可信服務(wù)器DRM)·許可生成·管理·刪除·移動(dòng)·復(fù)制的控制·保護(hù)內(nèi)容管理·UDAC-MB/LB/PI認(rèn)證·許可管理功能·許可變換功能在MB(媒體基體(MediaBase)、PI(協(xié)議獨(dú)立ProtocolIndependent)、GT間的變換等解碼器DRM·從媒體DRM獲取許可·授權(quán)許可解密和內(nèi)容解密鑰匙的維持·內(nèi)容的解密、通用利用控制和向應(yīng)用程序的安全傳送·利用控制功能擴(kuò)充功能如圖1所示那樣,各DRM30和40作為軟件實(shí)現(xiàn),不作為硬件實(shí)現(xiàn)。另外,GT10作為CPU實(shí)現(xiàn)。GT10(CPU)執(zhí)行DRM30和40、PKI程序庫(kù)20及保護(hù)應(yīng)用軟件50。圖2示出包含圖1所示基本包以外的模塊的在GT上的編程模型。如圖2所示那樣,在OS除了上述PKI程序庫(kù)20、解碼器DRM30、及媒體DRM40外,還具有OS內(nèi)核60和器件驅(qū)動(dòng)程序70。器件驅(qū)動(dòng)程序70是使周邊硬件60動(dòng)作所需要的軟件。包含保護(hù)應(yīng)用軟件50和未受到保護(hù)的應(yīng)用程序的多個(gè)應(yīng)用程序在該OS上運(yùn)行。即,在過去的CPU上運(yùn)行的其它應(yīng)用程序也可在GT10上與使用了DRM功能的保護(hù)應(yīng)用程序一起運(yùn)行。這樣,GT10為可與保護(hù)應(yīng)用程序同時(shí)執(zhí)行一般的沒有保護(hù)的必要的應(yīng)用程序的具有通用性的抗攻擊容器。OS內(nèi)核60除了過去的動(dòng)作外,在GT10中,當(dāng)進(jìn)行存儲(chǔ)器管理和上下文的轉(zhuǎn)換控制時(shí),在寄存器密封等的GT10進(jìn)行固有的處理(后述)。然而,在OS內(nèi)核60進(jìn)行這些處理并不對(duì)GT10的安全性產(chǎn)生影響。即,即使在OS內(nèi)核60存在安全漏洞的情況下,也不對(duì)GT10的保護(hù)的安全性產(chǎn)生影響。解碼器DRM30、媒體DRM40、及這些DRM使用的PKI程序庫(kù)20內(nèi)的密碼·解密程序庫(kù)、及TRM化所需要的應(yīng)用程序需要作為在GT10上受到保護(hù)的GT保護(hù)代碼流通和執(zhí)行。這些軟件模塊基本上需要使全文為暗文。如上述那樣,過去,在軟件TRM存在擴(kuò)充性,但具有可容易破壞的性質(zhì)。然而,按照本發(fā)明,通過采用由GT10保護(hù)的DRM軟件模塊,可向DRM軟件模塊提供與硬件TRM同樣的強(qiáng)度。另一方面,雖然硬件TRM存在沒有擴(kuò)充性、資源也受到限制的問題,但根據(jù)GT10,由于采用了DRM軟件,所以,功能擴(kuò)充時(shí)不必對(duì)裝載GT10的CPU施加變更,可由DRM軟件的升級(jí)應(yīng)對(duì)。DRM構(gòu)造模型也可按照UDAC-MB(帶訪問控制-媒體基體的通用流通)UDAC-LA、UDAC-PI的各結(jié)構(gòu)和規(guī)格。下面,根據(jù)圖3通過數(shù)據(jù)的交換說明實(shí)現(xiàn)第1實(shí)施形式的GT的CPU的構(gòu)成。圖3示出假設(shè)僅由明文或暗文構(gòu)成的代碼塊或數(shù)據(jù)塊時(shí)的(僅支持ebim=0,1的情況)、GT內(nèi)部的回路塊的構(gòu)成與回路塊間的數(shù)據(jù)交換模型。GT10具有處理器內(nèi)核11、命令高速緩存12、數(shù)據(jù)高速緩存13、命令MMU(存儲(chǔ)器管理單元)14、數(shù)據(jù)MMU15、密碼引擎16,與RAM(隨機(jī)存取存儲(chǔ)器)17連接。作為本發(fā)明的GT10的1個(gè)特征,具有對(duì)代碼塊或數(shù)據(jù)塊進(jìn)行加密或解密的密碼引擎16,對(duì)使用該密碼引擎16加密后的代碼塊和數(shù)據(jù)塊進(jìn)行解密后,保持在GT10內(nèi)部的高速緩存12或13中,當(dāng)從數(shù)據(jù)高速緩存12將作業(yè)數(shù)據(jù)輸出到RAM17時(shí),有時(shí)使用密碼引擎16將該數(shù)據(jù)加密后輸出。以下說明GT10的塊間的數(shù)據(jù)交換。首先,識(shí)別從RAM17輸入的代碼塊為應(yīng)由處理器內(nèi)核11和命令MMU14保護(hù)的代碼塊(以下稱保護(hù)代碼塊)或明文代碼塊中的哪一個(gè)。識(shí)別從RAM17輸入的數(shù)據(jù)塊為應(yīng)由處理器內(nèi)核11和數(shù)據(jù)MMU15保護(hù)的數(shù)據(jù)塊(以下稱保護(hù)數(shù)據(jù)塊)和明文數(shù)據(jù)塊中的哪一個(gè)。分別從命令MMU14和數(shù)據(jù)MMU15相對(duì)RAM17指定保護(hù)塊傳送目標(biāo)的地址,使得將保護(hù)代碼塊和保護(hù)數(shù)據(jù)塊發(fā)送到密碼引擎16。輸出到密碼引擎16的代碼塊和數(shù)據(jù)塊被解密,分別輸出到命令高速緩存12和數(shù)據(jù)高速緩存13。對(duì)保護(hù)代碼塊進(jìn)行解密時(shí)使用的鑰匙Kc和對(duì)保護(hù)數(shù)據(jù)塊進(jìn)行解密時(shí)使用的鑰匙Kd從處理器內(nèi)核11輸出到密碼引擎16。明文代碼塊或明文數(shù)據(jù)塊原樣分別輸出到命令MMU14或數(shù)據(jù)MMU15。另外,為了確保保護(hù)代碼塊和保護(hù)數(shù)據(jù)塊的安全性,根據(jù)GT10,當(dāng)從數(shù)據(jù)高速緩存13將作業(yè)數(shù)據(jù)輸出到RAM17時(shí),在數(shù)據(jù)高速緩存13的出口將作業(yè)數(shù)據(jù)加密。為此,先從數(shù)據(jù)高速緩存13將作業(yè)數(shù)據(jù)輸出到密碼引擎16,同時(shí),從處理器內(nèi)核11將用于對(duì)作業(yè)數(shù)據(jù)加密的鑰匙Kd(與對(duì)保護(hù)數(shù)據(jù)塊進(jìn)行解密時(shí)使用的鑰匙相同)輸出到密碼引擎16。密碼引擎16使用該鑰匙Kd對(duì)該作業(yè)數(shù)據(jù)進(jìn)行加密,將加密后的作業(yè)數(shù)據(jù)輸出到設(shè)于RAM17等的虛擬存儲(chǔ)區(qū)域。另外,當(dāng)進(jìn)行加密時(shí),在也可在數(shù)據(jù)塊附加隨機(jī)數(shù)。當(dāng)將數(shù)據(jù)塊輸出到虛擬存儲(chǔ)區(qū)域時(shí),由處理器內(nèi)核11根據(jù)TLB(轉(zhuǎn)換后備緩沖器TranslationLookasideBuffer)(未圖示,后述)判斷該數(shù)據(jù)塊是否為應(yīng)保護(hù)的數(shù)據(jù)塊,根據(jù)判斷結(jié)果決定當(dāng)根據(jù)數(shù)據(jù)高速緩存功能指定地址時(shí)是否通過密碼引擎16。另外,用于加密和密碼的解密的鑰匙Kc和Kd通過GT10內(nèi)的密碼引擎16對(duì)GT許可進(jìn)行解密而獲得,存放到抗攻擊緩沖器(以下稱TRB防篡改緩存)(未圖示,后述)。命令MMU14和數(shù)據(jù)MMU15在圖3中,作為分別的塊而示出,但也可為1個(gè)模塊。命令高速緩存12和數(shù)據(jù)高速緩存13也相同。如上述那樣,根據(jù)GT10,在高速緩存的出入口按高速緩存單位對(duì)加密了的代碼塊和數(shù)據(jù)塊進(jìn)行解密??墒?,當(dāng)在CPU內(nèi)對(duì)代碼一個(gè)個(gè)加密時(shí),需要按2個(gè)字節(jié)左右進(jìn)行。然而,為了獲得足夠的強(qiáng)度,在現(xiàn)在的技術(shù)中,要求將8字節(jié)左右形成為加密塊,所以,按2個(gè)字節(jié)左右的單位不能維持足夠的強(qiáng)度。然而,根據(jù)GT10,當(dāng)對(duì)來自RAM17的加密了的代碼塊和數(shù)據(jù)塊進(jìn)行解密時(shí),通過按高速緩存單位進(jìn)行解密并維持,從而可安全地對(duì)保護(hù)代碼塊和保護(hù)數(shù)據(jù)塊進(jìn)行保護(hù)。在GT10不具有命令高速緩存12的情況下,也可在GT10內(nèi)設(shè)置RAM區(qū)域,在內(nèi)部對(duì)所有執(zhí)行代碼進(jìn)行解密,保存到內(nèi)部的RAM區(qū)域后執(zhí)行。這樣,可確保與上述構(gòu)成同等的安全性。另外,在GT10沒有數(shù)據(jù)高速緩存13的情況下,在GT10的內(nèi)部設(shè)置RAM區(qū)域,將需要保護(hù)的作業(yè)數(shù)據(jù)記錄到GT10內(nèi)部的RAM區(qū)域。這樣,可確保與上述構(gòu)成同等的安全性。另外,過去,當(dāng)將CPU內(nèi)的作業(yè)數(shù)據(jù)暫時(shí)輸出到RAM時(shí),應(yīng)保守秘密的數(shù)據(jù)有時(shí)泄漏。另外,通過監(jiān)視該數(shù)據(jù)的內(nèi)容,還可推測(cè)命令代碼,從而也可推測(cè)保持于CPU內(nèi)的私鑰。然而,根據(jù)GT10,當(dāng)從數(shù)據(jù)高速緩存將作業(yè)數(shù)據(jù)輸出到RAM時(shí)進(jìn)行加密,在使高速緩存恢復(fù)時(shí)對(duì)該數(shù)據(jù)進(jìn)行解密,所以,可避免這樣的問題。在高速緩存12及13與RAM17之間,也可如明文的代碼塊用的高速緩存線、明文的數(shù)據(jù)塊用的高速緩存線、用于對(duì)保護(hù)代碼塊進(jìn)行解密的高速緩存線、用于對(duì)保護(hù)數(shù)據(jù)塊進(jìn)行加密的高速緩存線、及用于對(duì)保護(hù)數(shù)據(jù)塊進(jìn)行解密的高速緩存線那樣,并列地具有多個(gè)高速緩存線。這樣,可使GT10的處理高速化,提高保護(hù)代碼塊和保護(hù)數(shù)據(jù)塊的安全性。另外,如圖3所示那樣,在處理器內(nèi)核11內(nèi)具有寄存器。根據(jù)GT10,可在過去的虛擬存儲(chǔ)區(qū)域追加抗攻擊區(qū)域這樣的機(jī)構(gòu),在該抗攻擊區(qū)域內(nèi),可不使安全上的風(fēng)險(xiǎn)相互影響而執(zhí)行多個(gè)保護(hù)軟件。為此,處理器內(nèi)核11具有抗攻擊段選擇程序(以下稱TRSS)標(biāo)志、寄存器訪問控制表(以下稱RACT)、及寄存器密封狀態(tài)列表寄存器(以下稱RSSL寄存器)(圖中未示出)。TRSS標(biāo)志記錄于指定虛擬存儲(chǔ)區(qū)域內(nèi)的段的段指定寄存器內(nèi)的字段。處理器內(nèi)核11根據(jù)TRSS標(biāo)志可判斷由寄存器示出的虛擬地址為抗攻擊段空間內(nèi),還是為一般的虛擬段空間內(nèi)。另外,當(dāng)執(zhí)行多個(gè)保護(hù)軟件時(shí),由處理器內(nèi)核11使用RACT控制寄存器的密封和釋放,從而不能從現(xiàn)在執(zhí)行中的過程以外的過程訪問寄存器。另外,表示寄存器是被密封還是釋放的信息登錄于RSSL寄存器??构舳慰臻g和抗攻擊區(qū)域及寄存器的密封和釋放將在后面詳細(xì)說明。這樣,GT10通過使用TRM化的1組CPU而實(shí)現(xiàn)。GT10可將在GT10運(yùn)行的DRM軟件模塊或其它需要保護(hù)的模塊TRM化。因此,可減少制造硬件TRM的成本、特別是開始一批的開發(fā)成本。下面依次說明TRB、TLB、TRSS寄存器、RACT、及RSSL寄存器。TRB保持用于對(duì)程序代碼(命令的連接)進(jìn)行解密的鑰匙Kc和將數(shù)據(jù)加密/解密的鑰匙Kd等。而且,也有將Kd以及Kc合稱為軟件密鑰的情況。TRB具有即使為內(nèi)核模式用戶也不能參照和篡改內(nèi)部的構(gòu)造、即抗攻擊構(gòu)造。在TRB內(nèi)保持Kc和Kd的位置的識(shí)別根據(jù)KeyID(鑰匙識(shí)別符)進(jìn)行,在TLB內(nèi)也具有識(shí)別連接的鑰匙的位置的KeyID。使用該KeyID使TRB與TLB連接。圖4示出TRB內(nèi)的各行的字段的構(gòu)成表。如圖4所示那樣,TRB內(nèi)的各行包含有效性標(biāo)志p、外部輸出禁止標(biāo)志uo、高速緩存鎖定標(biāo)志cl、鑰匙識(shí)別信息kid、密鑰key、被授權(quán)代碼鑰匙ackey、及異常處理地址eadr等字段。另外,這些字段的大小是舉例說明的,可根據(jù)GT10的結(jié)構(gòu)和用途設(shè)為其它最佳的值。有效性標(biāo)志p為表示TRB有效還是無效的標(biāo)志,在為打開(1)的情況下,表示TRB有效。外部輸出禁止標(biāo)志uo為表示是否可將該行的內(nèi)容輸出到加密鑰匙表的標(biāo)志,在打開(1)的情況下,不輸出到加密鑰匙表。但是,在該情況,也可輸出作為管理信息必要的p、uo、cl、及kid。外部輸出禁止標(biāo)志uo的缺省值為關(guān)閉(0),在該情況,該行的內(nèi)容輸出到加密鑰匙表。在該情況,需要使TRB內(nèi)的內(nèi)容與加密鑰匙表內(nèi)的內(nèi)容同步。加密鑰匙表為存放GT10內(nèi)的TRB的內(nèi)容的存放單元。關(guān)于加密鑰匙表在后面詳細(xì)說明。高速緩存鎖定標(biāo)志cl表示是否將由鑰匙識(shí)別信息kid指定的抗攻擊區(qū)域內(nèi)的數(shù)據(jù)輸出到高速緩存外,在為打開(1)的情況,該數(shù)據(jù)或代碼不輸出到高速緩存外。在cl為打開(1)的情況,GT10也可還具有轉(zhuǎn)換以下2個(gè)模式的功能。(a)僅將保護(hù)數(shù)據(jù)僅送出到CPU內(nèi)裝高速緩存的模式(b)由明文將保護(hù)數(shù)據(jù)記錄到外部(3次)高速緩存的模式(a)也可利用到通過減少記錄保護(hù)數(shù)據(jù)的區(qū)域,不進(jìn)行密碼·解密處理而提高處理能量的情況。(b)可提高處理性能,但使保護(hù)強(qiáng)度的級(jí)別降低。鑰匙識(shí)別信息kid為識(shí)別鑰匙的信息,用于使TLB與TRB連接。密鑰key為用于對(duì)寫入到與該線連接的頁(yè)的代碼或數(shù)據(jù)進(jìn)行加密·解密的密碼·解密鑰匙的值。密鑰例如為對(duì)稱鑰匙(通用鑰匙)密碼法的鑰匙。在該字段記錄Kc和Kd。被授權(quán)代碼鑰匙ackey為用于對(duì)可訪問連接的頁(yè)的保護(hù)過程的執(zhí)行代碼進(jìn)行解密的解密鑰匙。在這里,保護(hù)過程指保護(hù)代碼被執(zhí)行的狀態(tài)。該執(zhí)行代碼的頁(yè)在包含與TRB內(nèi)的行的鑰匙識(shí)別信息kid相同的kid的TLB中的行使用頁(yè)編號(hào)指定,對(duì)該頁(yè)的訪問權(quán)的種類也由TLB中的行指定。通常,被授代碼鑰匙ackey為其它行和自身行的密鑰key。但是,如ackey的所有位為“0”,則表示所有的過程使用GT許可使用GT許可對(duì)訪問權(quán)進(jìn)行授權(quán)。另外,在由公鑰KPgt(后述)加密了的值進(jìn)入到ACgT.ackey(ACgt的ackey字段(后述)的情況(即ACgt.aef為on的情況),使其解密后獲得的結(jié)果進(jìn)入TRB.ackey。異常處理地址eadr表示即將從key不同的頁(yè)恢復(fù)到與該TRB內(nèi)的行連接的頁(yè)之前發(fā)生的異常處理代碼的起始地址。異常處理地址(eadr)在根據(jù)不包含ACgt.eadr(ACgt內(nèi)的eadr字段的值)的AUTHORIZE命令將行設(shè)定到TRB內(nèi)時(shí),作為缺省值在所有位設(shè)定“0”。當(dāng)在返回到保護(hù)過程時(shí)等發(fā)生“抗攻擊代碼返回異常地址非法異?!睍r(shí),必須停止該過程的執(zhí)行,設(shè)該TRB的有效性標(biāo)志(p)為off。而且,在需要對(duì)各數(shù)據(jù)頁(yè)設(shè)置訪問異常的情況,TRB.eadr(TRB內(nèi)的eadr字段的值)也可定義為在加密的代碼執(zhí)行時(shí)執(zhí)行的異常處理代碼的地址。也可使得存放于鑰匙key字段的代碼解密鑰匙Kc和數(shù)據(jù)加密·解密鑰匙Kd例如為作為隨機(jī)數(shù)生成的對(duì)稱鑰匙密碼方式的密鑰,在GT10中,在密碼·解密前后選擇數(shù)據(jù)長(zhǎng)度相同的密碼方式??墒褂秒S機(jī)數(shù)生成算法生成鑰匙,也可使用GT10內(nèi)的熱隨機(jī)數(shù)發(fā)生功能等生成。后者的生成法比前者的生成法安全的情況較多。Kc和Kd包含于后述的GT許可。通過將代碼解密鑰匙Kc或數(shù)據(jù)解密鑰匙Kd和嵌入訪問權(quán)等的GT許可作為參數(shù)執(zhí)行CPU命令“訪問授權(quán)命令(AUTHORIZE命令)”(后述),從而將值設(shè)定到與抗攻擊區(qū)域內(nèi)的TLB(后述)連接的TRB行內(nèi)的各字段。TLB管理存放保護(hù)代碼和保護(hù)數(shù)據(jù)的地址和頁(yè)的訪問權(quán)。圖5示出TLB內(nèi)的各行的擴(kuò)充字段的構(gòu)成表。如圖5所示那樣,與GT10相關(guān)的TLB內(nèi)的各行除過去的TLB具有的字段外,還包含物理頁(yè)編號(hào)ppn、虛擬頁(yè)編號(hào)vpn、訪問權(quán)限r(nóng)ights、鑰匙識(shí)別信息kid、加密塊識(shí)別方式ebim、及數(shù)字簽名sign等字段。訪問權(quán)限r(nóng)ights字段分成權(quán)限級(jí)別pl、訪問權(quán)ar、抗攻擊性標(biāo)志tr、調(diào)試模式標(biāo)志df。這些所有的字段在GT10內(nèi)必須處于該抗攻擊區(qū)域內(nèi)。另外,圖5所示字段的大小用于舉例說明,可根據(jù)GT10的結(jié)構(gòu)和用途設(shè)為其它最佳的值。有效性標(biāo)志p表示TRB有效。區(qū)域識(shí)別符id為TLB內(nèi)的該行所示頁(yè)區(qū)域的識(shí)別符。物理頁(yè)編號(hào)ppn表示物理頁(yè)編號(hào)。虛擬頁(yè)編號(hào)vpn表示虛擬頁(yè)編號(hào)。訪問權(quán)限r(nóng)ights表示對(duì)該行所示頁(yè)的訪問權(quán)限。訪問級(jí)別表示可訪問頁(yè)的權(quán)限的級(jí)別,訪問權(quán)限ar示出對(duì)頁(yè)的訪問權(quán)的種類。權(quán)限級(jí)別pl和訪問權(quán)ar如圖6和圖7所示那樣根據(jù)TLB的各字段的值決定,設(shè)定到TLB。圖6表示FR結(jié)構(gòu)的情況,圖7示出內(nèi)部結(jié)構(gòu)的情況。抗攻擊性標(biāo)志tr表示該行所示頁(yè)是否處于抗攻擊段空間內(nèi)(后述),如抗攻擊性標(biāo)志tr為打開(1),則表示該頁(yè)處于抗攻擊段空間內(nèi),與該行對(duì)應(yīng)的行處于TRB內(nèi)。抗攻擊性標(biāo)志的開·關(guān)在GT10認(rèn)證時(shí)進(jìn)行。調(diào)試模式標(biāo)志df表示調(diào)試模式是有效還是無效。如調(diào)試模式標(biāo)志df為打開(1),則為有效。在抗攻擊性標(biāo)志tr和調(diào)試模式標(biāo)志df為打開(1)的情況,與由訪問權(quán)ar指定的值對(duì)應(yīng)的調(diào)試模式產(chǎn)生動(dòng)作,各ar的值的意義如下。(a)PR的情況,僅可從全過程讀出R(b)X的情況,可從全過程讀出和執(zhí)行;RX(c)PRW的情況,可從全過程讀出和寫入RW(d)PWX的情況,可從全過程讀寫和執(zhí)行RWX鑰匙識(shí)別信息kid為為了連接到TRB內(nèi)的鑰匙信息而識(shí)別TRB內(nèi)的行(insertion)的信息。加密塊識(shí)別方式ebim為識(shí)別加密的代碼塊或數(shù)據(jù)塊的信息。a)ebim=0的情況,塊為明文。b)ebim=1的情況,塊為暗文(為缺省值,在省略ebim字段的情況,作為ebim=1處理)。數(shù)字簽名sign為連接從上述vpn到ebim的字段的字段連接數(shù)據(jù)的數(shù)字簽名,GT10生成。表示存放保護(hù)代碼和保護(hù)數(shù)據(jù)的區(qū)域的TLB插入(行)內(nèi)線的訪問權(quán)限的值限于后述的TLB.tr關(guān)閉的情況,由OS管理。如過去那樣,在本發(fā)明中訪問權(quán)限的值也按3位左右描述,但按照本發(fā)明,還在TLB設(shè)置“抗攻擊性標(biāo)志tr”字段作為表示頁(yè)處于抗攻擊區(qū)域內(nèi)。另外,將可利用該抗攻擊區(qū)域的代碼執(zhí)行狀態(tài)稱為“抗攻擊模式(TamperResistantMode)”。存放保護(hù)代碼和保護(hù)數(shù)據(jù)的地址在利用該頁(yè)之前設(shè)定于TLB。訪問權(quán)限r(nóng)ights和加密塊識(shí)別方式ebim、被授權(quán)代碼鑰匙ackey根據(jù)包含于GT許可的GT訪問條件ACgt(后述)決定。將代碼解密鑰匙Kc或數(shù)據(jù)密碼·解密鑰匙Kd和訪問權(quán)的GT許可作為參數(shù)執(zhí)行CPU命令“訪問授權(quán)命令”(后述),從而在TLB行內(nèi)對(duì)各保護(hù)頁(yè)指定KeyID,將解密鑰匙設(shè)定到與各KeyID對(duì)應(yīng)的TRB行內(nèi)的key字段。下面說明TRB和TLB存放的場(chǎng)所。TRB存放于GT10內(nèi),但假想GT10具有的存儲(chǔ)容量被占滿的情況。在該情況,GT10內(nèi)的TRB的內(nèi)容的至少一部分加密,將加密的內(nèi)容記錄到RAM17和硬盤等外部存儲(chǔ)裝置。將記錄于該外部的TRB內(nèi)的行的列表稱為加密鑰匙表。GT10在將TRB的內(nèi)容加密的狀態(tài)下記錄于外部存儲(chǔ)裝置內(nèi)的加密鑰匙表進(jìn)行管理,從加密鑰匙表取出必要的信息在GT10內(nèi)解密利用。在將TRB的內(nèi)容加密或解密時(shí)使用的鑰匙Ktrb例如為對(duì)稱鑰匙加密法的私鑰。該密鑰Ktrb存在即使當(dāng)GT10的輸入電源斷開或GT10重置時(shí)也最好繼續(xù)維持的情況。下面,根據(jù)圖8說明加密鑰匙表的構(gòu)造。如圖8所示那樣,在加密鑰匙表中包含有效性標(biāo)志p、外部輸出禁止標(biāo)志uo、鑰匙識(shí)別信息kid、及存放加密的TRB的內(nèi)容的字段等。如圖8所示那樣,當(dāng)記錄到加密鑰匙表時(shí),在各行作為標(biāo)題附加明文狀態(tài)的TRB.p(TRB中的有效性標(biāo)志p字段的值)和明文狀態(tài)的TRB.kid(TRB中的鑰匙識(shí)別信息kid字段的值)。這樣,可由OS(監(jiān)控模式)管理加密鑰匙表,但KeyID以外的加密的內(nèi)容不能參考也不能篡改。TRB內(nèi)的字段中的p和kid也可按明文的狀態(tài)從特定寄存器等看到。當(dāng)將TRB的內(nèi)容記錄于外部記錄裝置時(shí),與其它保護(hù)數(shù)據(jù)塊同樣地通過數(shù)據(jù)高速緩存13的加密線進(jìn)行。另外,在如圖8所示那樣對(duì)TRB的各行進(jìn)行加密時(shí),必須在行的起始部分附加隨機(jī)數(shù)后加密。這樣,指定Kc(代碼的密鑰)的軟件開發(fā)者故意地多次重新改寫TRB中的密鑰key字段的值,大量地生成明文和暗文的對(duì),從而可防止容易地解讀對(duì)TRB進(jìn)行加密的密鑰Ktrb。另外,也可從RAM17將加密鑰匙表記錄到圖中未示出的硬盤,在GT10再起動(dòng)后再利用。特別是有時(shí)為了構(gòu)造具有硬件TRM級(jí)別的強(qiáng)度的軟件DRM而需要在硬盤和快閃存儲(chǔ)器等保存由密鑰Ktrb加密的狀態(tài)的Kd(數(shù)據(jù)加密鑰匙)進(jìn)行管理,所以,TRB的密鑰Ktrb也可在GT10的電源切斷后也在抗攻擊區(qū)域內(nèi)繼續(xù)維持在FeRAM(鐵電隨機(jī)存取存儲(chǔ)器)等非易失性存儲(chǔ)器等。加密鑰匙表和TRB的內(nèi)容的同步方式可考慮以下那樣的方式,但本發(fā)明不限于其中的任一個(gè)。(a)TRB內(nèi)容向加密鑰匙表的寫出和從加密鑰匙表向TRB的再取入通過向特定的寄存器的RW命令等進(jìn)行。(b)通過設(shè)定加密鑰匙表的起始地址和行數(shù)(執(zhí)行特別的命令),從而在必要時(shí)GT10自動(dòng)地獲得表與TRB的同步。另外,用戶在必要時(shí)可獲得同步地將快速命令安裝于GT10。另一方面,TLB的內(nèi)容與一般的CPU同樣地在GT10也作為頁(yè)表記錄于外部存儲(chǔ)裝置,GT內(nèi)的TLB的內(nèi)容與頁(yè)表的內(nèi)容同步地管理。GT10也可在必要時(shí)從頁(yè)表將必要的信息取入到GT10內(nèi)利用。以下說明在TLB與頁(yè)表之間的內(nèi)容轉(zhuǎn)移。當(dāng)將TLB的內(nèi)容記錄到頁(yè)表時(shí),如TLB.tr(TLB內(nèi)的tr字段的值)為打開,則GT10生成TLB.sign(TLB內(nèi)的簽名sign字段的值),設(shè)置到希望記錄的內(nèi)容。然后,將頁(yè)表內(nèi)的內(nèi)容取入到GT內(nèi)的TLB時(shí),GT10確認(rèn)附加于內(nèi)容的簽名,如簽名正確,則使TLB簽名非法異常(后述)發(fā)生,使該行的有效性標(biāo)志(TLB.p)與抗攻擊性標(biāo)志(TLB.tr)無效(關(guān)閉)。圖9示出簽名方式的一例。如圖9所示那樣,首先,GT10在包含TLB.vpn、TLB.rights、TLB.kid及TLB.ebim的數(shù)據(jù)連接GT10內(nèi)的固定的隨機(jī)數(shù)。接著,用SHA-1使連接的數(shù)據(jù)散列,使用GT10內(nèi)的私鑰Ktlb進(jìn)行加密。這樣,生成簽名TLB.sign。成為帶簽名的對(duì)象的內(nèi)容不滿160位的情況,例如也可將作為填充字符的隨機(jī)數(shù)字段追加到其內(nèi)容。以下,使用圖10說明TRB、TLB、加密鑰匙表及頁(yè)表的關(guān)系。如圖10所示那樣,TRB和TLB保持在GT10內(nèi)。在TRB記錄鑰匙識(shí)別信息kid、對(duì)代碼塊進(jìn)行解密時(shí)使用的Kc及對(duì)數(shù)據(jù)塊進(jìn)行加密·解密時(shí)使用的Kd等。在TLB存放區(qū)域識(shí)別符id、鑰匙識(shí)別信息kid、虛擬頁(yè)編號(hào)vpn、物理頁(yè)編號(hào)ppn、訪問權(quán)限r(nóng)ights等。區(qū)域識(shí)別符id與存放代碼塊和數(shù)據(jù)塊的RAM17內(nèi)的頁(yè)對(duì)應(yīng)。另外,TRB和TLB的內(nèi)容按照鑰匙識(shí)別信息kid形成對(duì)應(yīng)。在將TRB的內(nèi)容記錄于加密鑰匙表的情況,對(duì)該內(nèi)容追加隨機(jī)數(shù)后使用密鑰Ktrb進(jìn)行加密。在將加密鑰匙表的內(nèi)容取入到GT10內(nèi)的情況,使用密鑰Ktrb對(duì)該內(nèi)容進(jìn)行解密。另一方面,在將TLB的內(nèi)容記錄到頁(yè)表的情況,GT10使用密鑰Ktlb生成基于該內(nèi)容的簽名TLB.sign,追加到該內(nèi)容。下面,說明GT10內(nèi)的高速緩存、TLB、及TRB的同步。如上述那樣,在TLB和TRB記錄關(guān)于在頁(yè)中記錄的保護(hù)代碼和對(duì)保護(hù)數(shù)據(jù)的訪問控制的信息。因此,可設(shè)想到通過由硬件或軟件對(duì)具有相同虛擬地址的2個(gè)TLB進(jìn)行偽裝以訪問保護(hù)代碼或保護(hù)數(shù)據(jù)的攻擊。為了應(yīng)對(duì)這樣的攻擊,在GT10中,處理器內(nèi)核11也可在獲得高速緩存、TLB、及TRB的內(nèi)容的同步的同時(shí)實(shí)施訪問控制的判斷。更為具體地說,命令高速緩存12內(nèi)的保護(hù)代碼或數(shù)據(jù)高速緩存13內(nèi)的保護(hù)數(shù)據(jù)的內(nèi)容不僅連接到TLB行的虛擬地址(TLB.vpn),而且也可連接到該TLB行的數(shù)字簽名(TLB.sign)的值和虛擬地址的對(duì)。在該情況,處理器內(nèi)核11在該對(duì)不一致時(shí)作為不同的頁(yè)進(jìn)行訪問控制的判斷。通過這樣將訪問許可保護(hù)代碼的代碼解密鑰匙(Key)作為被授權(quán)代碼鑰匙(AuthorizedCodeKey)嵌入GT許可,從而可在保護(hù)區(qū)域指定可訪問的保護(hù)代碼。然后,使得僅可從執(zhí)行具有由TRB的AuthorizedCodeKey字段(ackey)指定的Key的虛擬頁(yè)上的代碼的代碼訪問保護(hù)代碼和保護(hù)數(shù)據(jù)。但是,訪問權(quán)僅限于執(zhí)行X或PWX的代碼的情況,如該頁(yè)的ackey的值全部為0,則授權(quán)從所有代碼的執(zhí)行。當(dāng)頁(yè)B具有與作為頁(yè)A的ackey指定的鑰匙一致的key的值時(shí),頁(yè)B上的保護(hù)代碼的執(zhí)行狀態(tài)在這里被稱為頁(yè)A(上的代碼/數(shù)據(jù))的“所有者過程(OwnerProcess)”。而且,GT的執(zhí)行權(quán)(X)意味著執(zhí)行TRB.ackey(TRB的ackey字段)具有值的抗攻擊頁(yè)上的命令代碼的權(quán)利。該權(quán)利提供給在該命令代碼的1個(gè)之前執(zhí)行的命令代碼,存在以下那樣的情形。(a)在1個(gè)之前執(zhí)行的命令之后接著現(xiàn)在應(yīng)執(zhí)行的命令的情況。(b)在1個(gè)之前執(zhí)行的命令為CALL和JUMP等轉(zhuǎn)移命令的情況。特別是在前面的命令和下一命令的虛擬頁(yè)不同的情況,GT10必須重新確認(rèn)用于指定接下來執(zhí)行的這一命令代碼是否被授權(quán)執(zhí)行。該確認(rèn)在后面說明。下面說明TRSS標(biāo)志。圖11示出存儲(chǔ)TRSS標(biāo)志的字段的構(gòu)成的一例。GT10在該虛擬存儲(chǔ)空間的段指定寄存器具有TRSS標(biāo)志。該標(biāo)志分別相對(duì)代碼段、數(shù)據(jù)段、堆棧段存在,分別被稱為抗攻擊代碼段(TRCSSTamperResistantCodeSegmentSelector)、抗攻擊數(shù)據(jù)段選擇程序(TRDSSTamperResistantDataSegmentSelector)、抗攻擊堆棧段選擇程序(TRSSSTamperResistantStackSegmentSelector)。在TRSS標(biāo)志打開的情況,頁(yè)設(shè)定在抗攻擊空間內(nèi),在關(guān)閉的情況,頁(yè)設(shè)定在一般的虛擬空間內(nèi)。下面,說明RACT。圖12示出RACT的各行的字段構(gòu)成的一例。根據(jù)GT10,為了實(shí)現(xiàn)寄存器的密封和釋放的功能,在抗攻擊模塊內(nèi)具有RACT。RACT的各行包含寄存器IDrid、密封標(biāo)志seal、及被授代碼鑰匙ackey等的字段。寄存器IDrid為指定寄存器的ID。密封標(biāo)志seal表示寄存器是否處于密封中,在為打開(1)的情況,寄存器在密封中,在為關(guān)閉(0)的情況,表示寄存器釋放。非授權(quán)代碼鑰匙ackey與TRB的ackey同樣,為寄存器的訪問被許可的過程的代碼頁(yè)的鑰匙key。下面,說明RSSL寄存器。RSSL寄存器不為GT必需的功能,但也可具有備選功能。RSSL寄存器存放各寄存器的密封狀態(tài)的信息。圖13示出RSSL寄存器的字段構(gòu)成的一例。如圖13所示那樣,RSSL寄存器具有與可密封的寄存器的數(shù)量相同的位長(zhǎng),各位表示與該位對(duì)應(yīng)的寄存器的密封狀態(tài)。在位為打開(1)的情況,表示該寄存器被密封,在為關(guān)閉(0)的情況,表示該寄存器釋放。例如,在表示寄存器r1的密封狀態(tài)地設(shè)定RSSL寄存器的第1位的情況,如第1位為打開,則意味著寄存器r1被密封。下面,說明抗攻擊段空間和抗攻擊區(qū)域。如上述那樣,TLB內(nèi)的抗攻擊性標(biāo)志tr為打開(1)的頁(yè)為包含于抗攻擊段空間內(nèi)的抗攻擊區(qū)域。另外,在與該頁(yè)對(duì)應(yīng)的段指定寄存器內(nèi)的行中,TRSS標(biāo)志為打開。在抗攻擊區(qū)域內(nèi)的頁(yè)存放保護(hù)數(shù)據(jù)。圖14示出在一般的段空間與抗攻擊段空間之間從代碼執(zhí)行過程訪問數(shù)據(jù)時(shí)時(shí)的方針。一般虛擬段空間為沒有必要保護(hù)的數(shù)據(jù)和代碼記錄的空間,抗攻擊段空間為記錄保護(hù)數(shù)據(jù)和保護(hù)代碼的空間。雖然可從在抗攻擊段空間執(zhí)行的代碼訪問一般虛擬段空間內(nèi)的數(shù)據(jù),但不能從在一般虛擬段空間執(zhí)行的過程訪問抗攻擊段空間內(nèi)的數(shù)據(jù)。另外,作為用戶級(jí)別空間與監(jiān)控空間的訪問控制關(guān)系,即使在抗攻擊段空間內(nèi),如許可所有者相同,則維持與一般虛擬空間的情況相同的方針。另外,即使在抗攻擊空間內(nèi),也不能在許可所有者不同的保護(hù)代碼和保護(hù)數(shù)據(jù)的區(qū)域間相互訪問。但是,通過使用后述的抗攻擊區(qū)域共享功能,從而可相互訪問。按照上述訪問方針,GT10的保護(hù)塊不從其它過程受到影響。在GT10中,保護(hù)過程具有自身生成的抗攻擊頁(yè),一般由OS管理。圖15示出在保護(hù)過程GT10上動(dòng)作的樣子。如圖15所示那樣,在GT10上,多個(gè)保護(hù)過程動(dòng)作,各保護(hù)過程在抗攻擊區(qū)域內(nèi)生成頁(yè)。作業(yè)數(shù)據(jù)在由GT10內(nèi)的密碼引擎16加密后存放到抗攻擊區(qū)域(虛擬存儲(chǔ)區(qū)域)。因此,虛擬硬件TRM的范圍伸縮到RAM17和硬盤等,可以說沒有一定的形式。為此,GT10生成和動(dòng)作的保護(hù)過程可在“虛擬硬件TRM(VirtualHardwareTamperResistantModuleVHTRM)”內(nèi)動(dòng)作。為此,根據(jù)GT10,可在具有與硬件TRM同樣的強(qiáng)度的同時(shí),消除伴隨著硬件TRM的資源限制的問題。另外,保護(hù)過程也可在全世界的CPU(GT10)空間自由移動(dòng)(后述的GRID計(jì)算)。這樣,什么樣的攻擊也可對(duì)抗,實(shí)現(xiàn)自身的使命,也可將集中了返回到原來的GT10的VHTRM的保護(hù)過程虛擬化,稱為“抗攻擊代理(TamperResistantAgent)”。(命令集)下面,說明提供給GT10的命令集。首先,說明安裝GT的CPU除了過去的CPU的命令集外為了實(shí)現(xiàn)作為GT10的功能而具有的基本命令。基本命令中存在以下的(1)~(9)。以下依次說明各命令。(1)GT證書取出命令StoreGTcertificatecommand命令形式STR_GT_CERT(certNum,certAdr)輸入寄存器certNum在GT10內(nèi)局部分配的證書編號(hào)。如具有N張證書,則0~N-1的值有效。certAdr寫入證書的內(nèi)容的地址輸出(異常處理)errorCode在沒有指定的編號(hào)的證書的情況等設(shè)定。動(dòng)作從GT10內(nèi)取出由certNum指定的證書,寫出到由certAdr指定的地址。動(dòng)作可能權(quán)限所有級(jí)別(2)訪問授權(quán)命令A(yù)ccessauthorizationcommand命令形式AUTHORIZE(licenseAdr,resultAdr,startVPN,numOfVP,kid)輸入寄存器LicenseAdr存放了GT許可(后述)的地址resultAdr存放結(jié)果的地址startVPN抗攻擊區(qū)域的起始虛擬頁(yè)編號(hào)numOfVP連續(xù)的抗攻擊區(qū)域的頁(yè)數(shù)kid為了OS管理TLB與TRB的關(guān)系而分配的識(shí)別符輸出result[GT許可‖startVPN‖numOfVP‖以上的簽名]記錄到resultAdrerrorCode(異常處理)在認(rèn)證失敗的情況等設(shè)定。動(dòng)作對(duì)處于指定寄存器的存儲(chǔ)器上的GT許可進(jìn)行認(rèn)證,將從GT許可取出的抗攻擊區(qū)域的代碼或數(shù)據(jù)解密鑰匙key(Kc或Kd)、kid、ackey設(shè)定到與抗攻擊區(qū)域內(nèi)的TLB的TRB。另外,在TLB設(shè)定“抗攻擊標(biāo)志”(tr)和訪問權(quán)(PR,X,PRW,PWX)、ebim、kid及sign。如正確地完成設(shè)定,則連接輸入數(shù)據(jù),附加其數(shù)字簽名,記錄到由resultAdr指定的地址。此時(shí),將輸入數(shù)據(jù)的連接散列,使用Kgt將結(jié)果加密,將該結(jié)果用作數(shù)字簽名。在認(rèn)證失敗的情況和TLB不存在的情況等設(shè)定失敗的情況,發(fā)生異常。動(dòng)作可能權(quán)限僅監(jiān)控級(jí)別(權(quán)限級(jí)別0)(3)抗攻擊權(quán)限設(shè)定命令SetTamperResistantRightscommand命令形式SET_TR_RIGHTS(rights,startVPN,numOfVP)輸入寄存器rights訪問權(quán)(指定ACgt.ar(后述))startVPN抗攻擊區(qū)域的起始虛擬頁(yè)編號(hào)numOfVP抗攻擊區(qū)域的頁(yè)數(shù)輸出(異常處理)errorCode在與輸入對(duì)應(yīng)的行不處于TLB或TRB的情況,或指定的訪問權(quán)的范圍比已設(shè)定的訪問權(quán)寬的情況等發(fā)生。動(dòng)作在由startVP和NumOfVP指定的虛擬區(qū)域?yàn)榭构艨臻g的情況,在該區(qū)域的TLB設(shè)定由rights指定的訪問權(quán)。但是,由rights指定的訪問權(quán)必須為已設(shè)定于TLB的訪問權(quán)的范圍。動(dòng)作可能權(quán)限僅監(jiān)控級(jí)別(權(quán)限級(jí)別0)(4)抗攻擊異常地址設(shè)定命令SetTamperResistantExceptioncommand命令形式SET_TR_EXCEPTION(startAdr)輸入(僅立即或直接尋址)startAdr設(shè)定于TRB的抗攻擊空間內(nèi)的虛擬地址。指定為寄存器解除·返回異常等跳轉(zhuǎn)目標(biāo)。在希望密封的寄存器使用前,需要隱藏startAdr地執(zhí)行,所以,不能作為輸入?yún)?shù)利用寄存器。輸出(異常處理)errorCode與由startAdr指定的地址對(duì)應(yīng)的行不存在于TRB內(nèi)(不為抗攻擊模式)?;蛘撸瑳]有該地址的訪問權(quán)。動(dòng)作將指定的startAdr設(shè)定到現(xiàn)在執(zhí)行中的代碼頁(yè)的TRB.eadr(TRB內(nèi)的eadr字段)。動(dòng)作可能權(quán)限所有級(jí)別(5)寄存器密封命令SealRegistercommand命令形式SEAL_REG(registerList)輸入寄存器registerList密封的寄存器列表(標(biāo)志列表)。關(guān)于與各寄存器對(duì)應(yīng)的標(biāo)志,由打開(1)表示密封寄存器,由關(guān)閉(0)表示不密封。輸出(異常處理)errorCode指定的寄存器不存在?;蛘?,該寄存器已密封完畢。動(dòng)作對(duì)于指定的寄存器,從具有與發(fā)出本命令的過程(代碼執(zhí)行狀態(tài))代碼頁(yè)的密鑰Kc相同鑰匙的代碼頁(yè)的過程以外不能訪問。通過本命令的執(zhí)行,在對(duì)應(yīng)的寄存器的RACT.ackey(RACT的ackey字段)記錄將執(zhí)行本命令的代碼加密的key的值。動(dòng)作可能權(quán)限所有級(jí)別(6)寄存器釋放命令ReleaseRegistercommand命令形式RELEASE_REG(registerList)輸入寄存器registerList釋放密封的寄存器列表。輸出(異常處理)errorCode不存在指定的寄存器?;蛘?,該寄存器釋放完畢。動(dòng)作將指定范圍的寄存器的值全部清零,解除密封。動(dòng)作可能權(quán)限所有級(jí)別(7)非授權(quán)區(qū)域存儲(chǔ)棧命令StoreStacktoUnauthorizedAreacommand命令形式STMEA_TO_UA(registerList)輸入registerList記錄于堆棧的寄存器的列表。標(biāo)志的列表。在與各寄存器對(duì)應(yīng)的標(biāo)志打開(1)的情況,表示將該寄存器記錄于堆棧,由關(guān)閉(0)表示不記錄。輸出(異常處理)errorCode由registerList指定的寄存器不被密封。動(dòng)作即使堆棧指針示出未被授權(quán)的抗攻擊區(qū)域的情況,如指定的寄存器的RACT.ackey(RACT內(nèi)的ackey字段)的值與對(duì)應(yīng)于該區(qū)域的TRB.ackey(TRB內(nèi)的ackey字段)一致,則指定的寄存器記錄到堆棧指針的位置動(dòng)作可能權(quán)限所有級(jí)別(8)非授權(quán)區(qū)域堆棧加載命令LoadStackfromUnauthorizedAreacommand命令形式LDMEA_FROM_UA(registerList)輸入registerList從堆棧讀出的寄存器列表輸出(異常處理)errorCode指定寄存器被密封。動(dòng)作在堆棧指針表示抗攻擊區(qū)域的情況,將堆棧指針的區(qū)域的TRB.ackey的值復(fù)制到指定的寄存器的RACT.ackey,將指定的寄存器的RACT.seal(RACT內(nèi)的seal字段)設(shè)定為打開(1)。另外,在指定的寄存器加載堆棧指針的位置的數(shù)據(jù)。動(dòng)作可能權(quán)限所有級(jí)別(9)許可刪除命令DeleteLicensecommand命令形式DELETE_LICENSE(kid)輸入Kid為為了OS管理TLB與TRB的關(guān)系而分配的識(shí)別符,為用作AUTHORIZE命令的參數(shù)的值。輸出(異常處理)errorCode當(dāng)kid出錯(cuò)時(shí)或刪除失敗時(shí)等設(shè)定。動(dòng)作刪除指定的kid的TRB和與其連接的所有的TLB,對(duì)應(yīng)的頁(yè)表和加密鑰匙表的有效性標(biāo)志也設(shè)定為關(guān)閉。另外,這些TLB表示的虛擬區(qū)域的高速緩存鎖定也解除。動(dòng)作可能權(quán)限僅監(jiān)控級(jí)別(權(quán)限0級(jí)別)除了上述(1)~(9)的基本命令外,作為性能和功能提高的擴(kuò)充命令,可考慮(10)~(15)的命令等。以下,依次說明擴(kuò)充命令。(10)保護(hù)塊開始命令ProtectedBlockStartcommand命令形式PRT_BLOCK_START(encryption_flag)輸入(直接參數(shù))encryption_flag如由打開(1),則表示塊被加密。動(dòng)作命令數(shù)據(jù)的特定的位位置如設(shè)置為特定圖案,則成為加密塊開始命令。本命令內(nèi)的特定位列(7位左右)與高速緩存可能的命令長(zhǎng)的最小值相同。另外,可指定的最大值與高速緩存可能的長(zhǎng)度的最大值相同。在本命令的其它字節(jié)必須加入隨機(jī)數(shù)。本命令數(shù)據(jù)的起始的邊界必須與命令高速緩存單位的邊界一致。在隨機(jī)數(shù)的長(zhǎng)度對(duì)于安全性不夠的情況,使該命令連續(xù)2個(gè)或其以上。在連續(xù)的情況,最后的本命令以外,0進(jìn)入到塊長(zhǎng)的值。保護(hù)代碼塊開始命令在GT10內(nèi)解密后,成為相同長(zhǎng)度的Nop命令。在TLB.ebim的第2位打開的情況,必須檢查包含于塊的散列或簽名(明文的情況)。散列或簽名的位置例如為塊的末尾。在塊不包含散列和簽名的情況,發(fā)生散列非安裝異常。該命令與第2實(shí)施形式(后述)對(duì)應(yīng)。(11)TRB加密鑰匙更新命令RefreshTRBKeycommand命令形式REFRESH_TRB_KEY輸入輸出寄存器無動(dòng)作當(dāng)將TRB記錄于外部時(shí),一定將使用的對(duì)稱密碼法的密鑰Ktrb和用于頁(yè)表的簽名確認(rèn)的密鑰Ktlb置換成新的隨機(jī)數(shù)值。該命令在具有Ktlb和Ktrb泄漏的可能性的情況等使用。但是,在使用TRB對(duì)許可信息等進(jìn)行加密后進(jìn)行管理的情況,該命令后不能對(duì)以前的加密信息進(jìn)行解密,所以,需要注意。在這樣的情況,例如需要在更新前用別的鑰匙加密而保留等處理。利用例的詳細(xì)內(nèi)容在后面說明。(12)使保護(hù)區(qū)域的高速緩存優(yōu)先的命令在重視保護(hù)數(shù)據(jù)的密碼·解密速度的情況利用。(13)在過程間不泄漏的熱隨機(jī)數(shù)生成命令(14)內(nèi)裝密碼·解密命令將為了實(shí)現(xiàn)GT10而安裝于CPU內(nèi)部的對(duì)稱鑰匙加密法和公鑰密碼法的加密·解密命令作為命令集顯示給軟件開發(fā)者,從而提高硬件資源利用效率。(15)定期中斷間隔設(shè)定命令設(shè)定GT內(nèi)裝晶體發(fā)信機(jī)發(fā)生的內(nèi)部中斷的間隔??稍趯⑴c外部的可信賴的時(shí)鐘安全地同步的安全時(shí)鐘作為抗攻擊過程實(shí)現(xiàn)的情況使用。(異常處理)實(shí)現(xiàn)GT10的CPU除了過去的異常處理外,安裝有以下那樣的異常處理。在異常處理中,大體分為抗攻擊頁(yè)訪問權(quán)相關(guān)異常、抗攻擊區(qū)域返回相關(guān)異常、寄存器密封相關(guān)異常、散列相關(guān)異常等。以下依次說明各異常處理?!た构繇?yè)訪問權(quán)相關(guān)異常(1)證書指定錯(cuò)誤該異常處理在指定的編號(hào)或識(shí)別信息的GT證書(Cgt)沒有的情況發(fā)生。(2)GT許可認(rèn)證故障該異常處理在GT許可認(rèn)證失敗的情況發(fā)生。(3)抗攻擊空間頁(yè)故障即使TLB內(nèi)的抗攻擊性標(biāo)志tr關(guān)閉(不為抗攻擊模式)或與該頁(yè)對(duì)應(yīng)的行在TRB內(nèi)沒有,也要執(zhí)行抗攻擊區(qū)域的訪問命令。(4)TLB簽名不一致異常TLB.sign(TLB內(nèi)的sign字段)的值與包含于塊的簽名不一致。在本異常發(fā)生的情況,GT10自動(dòng)地停止該TLB從頁(yè)表的加載。另外,關(guān)閉TLB內(nèi)的對(duì)應(yīng)的行的有效性標(biāo)志(TLB.p)和抗攻擊性標(biāo)志(TLB.tr)。(5)訪問權(quán)非法擴(kuò)大異常指定的訪問權(quán)的范圍比由AUTHORIZE命令許可的訪問權(quán)寬。在發(fā)生本異常的情況,GT10自動(dòng)地拒絕訪問權(quán)設(shè)定命令。(6)加密鑰匙表訪問故障該異常在指定不存在于TRB中的kid等檢索鑰匙的情況或TRB的頁(yè)面調(diào)出失敗的情況發(fā)生。(7)許可刪除故障該異常在許可刪除失敗的情況發(fā)生?!た构魠^(qū)域返回相關(guān)異常(8)抗攻擊代碼返回異常RETURN_TO_TAMPER_RESISTANT_CODE_EXCEPTION當(dāng)由call、jump或return在執(zhí)行中使地址從一般的虛擬區(qū)域或抗攻擊區(qū)域移動(dòng)到代碼解密鑰匙Kc不同的抗攻擊區(qū)域時(shí),必定發(fā)生抗攻擊代碼返回異常。在該異常的處理中,當(dāng)作為移動(dòng)目標(biāo)抗攻擊區(qū)域的異常地址的TRB.eadr(TRB內(nèi)的eadr字段)的內(nèi)容受到確認(rèn),在該字段中存在異常地址時(shí),處理器內(nèi)核訪問該異常地址。在不存在異常地址的情況,刪除該TRB行,發(fā)生抗攻擊代碼返回異常地址非法異常。(9)抗攻擊代碼返回異常地址非法異常該異常在由抗攻擊代碼返回異常地址指定的空間不存在于抗攻擊空間的情況發(fā)生。當(dāng)返回到保護(hù)過程時(shí)等如本異常發(fā)生,則設(shè)與該地址對(duì)應(yīng)的TRB內(nèi)的行的有效性標(biāo)志(p)關(guān)閉,強(qiáng)制地跳轉(zhuǎn)到由OS等指定的地址。·寄存器密封相關(guān)異常(10)寄存器密封完畢異常該異常在指定的寄存器由已具有相同Kc的代碼密封完畢的情況發(fā)生。(11)寄存器釋放完畢異常該異常在指定寄存器未被密封的情況發(fā)生。(12)密封寄存器訪問故障SEALED_REGISTER_ACCESS_FAULT_EXCEPTION該異常在指定的寄存器已由Kc不同的其它代碼密封完畢的情況發(fā)生?!ど⒘邢嚓P(guān)異常(13)散列非安裝異常該異常在GT10未安裝散列生成功能和檢驗(yàn)功能的情況發(fā)生。(14)散列不一致異常該異常在GT10對(duì)保護(hù)代碼或保護(hù)數(shù)據(jù)進(jìn)行高速緩存時(shí)散列值不一致的情況發(fā)生。(動(dòng)作)以下說明由GT10進(jìn)行的處理。(GT的認(rèn)證)首先,說明GT10的認(rèn)證工序。在以下的說明中,以PKI的內(nèi)容的理解為前提。圖16示出說明GT的認(rèn)證的圖。如圖16所示那樣,在GT的認(rèn)證中介入用于生成保護(hù)應(yīng)用軟件50、解碼器DRM30和40、密碼模塊(包含于PKI程序庫(kù)20)的各軟件包的的各開發(fā)商、生成GT10的開發(fā)商、PKI程序庫(kù)模塊用認(rèn)證站CApki、DRM用認(rèn)證站CAdrm、面向利用DRM的應(yīng)用程序的認(rèn)證站CAap、及認(rèn)證GT的認(rèn)證站CAgt。在圖16中,細(xì)小的箭頭示出數(shù)據(jù)流,粗的箭頭表示許可或證書在軟件包的嵌入。另外,圖16中的括弧中的數(shù)字表示處理的次序。另外,各TRM軟件由各TRM軟件開發(fā)商秘密地生成的對(duì)稱鑰匙密碼方式的密鑰進(jìn)行加密。GT許可的生成和利用由以下那樣的各系統(tǒng)應(yīng)用和程序軟件執(zhí)行授權(quán)工序?qū)崿F(xiàn)。(1)GT制造商將產(chǎn)品化的GT10的個(gè)別公鑰KPgt轉(zhuǎn)交給GT專用的認(rèn)證站CAgt。GT制造商在GT10內(nèi)部嵌入私鑰Kgt。(2)GT專用的認(rèn)證站CAgt向GT制造商發(fā)行GT10的公鑰證書Cgt。GT10的公鑰證書Cgt用類別私鑰Kcgt簽名,類別公鑰KPcgt也可按由GT專用的認(rèn)證站CAgt的路由私鑰Kagt簽名的證書的形式公開。另外,在公鑰證書Cgt中也可不使用個(gè)別鑰匙和類別鑰匙雙方,而是使用任一方。在沒有類別鑰匙的情況,公鑰證書Cgt也可由路由私鑰Kagt直接簽名。(3)GT制造商復(fù)制公鑰證書Cgt,散發(fā)給TRM軟件開發(fā)商。(4)各TRM軟件的開發(fā)商通過使用鑰匙Kc對(duì)開發(fā)了的軟件執(zhí)行代碼進(jìn)行加密從而生成保護(hù)代碼文件。(5)各TRM軟件的開發(fā)商使用從公開證書Cgt取出的GT10的公鑰KPgt對(duì)鑰匙Kc進(jìn)行加密,生成(不能移動(dòng)的)GT許可Lxx。關(guān)于GT許可的構(gòu)造在后面說明。(6)各TRM軟件開發(fā)商在執(zhí)行軟件之前由OS的啟動(dòng)程序?qū)⒃S可Lxx投入到GT10地將GT許可Lxx嵌入到其軟件包。(7)在即將執(zhí)行各軟件之前,將該GT許可投入到GT10。GT10使用與公鑰配對(duì)的私鑰Kgt,對(duì)GT許可進(jìn)行解密。即,在GT10內(nèi)執(zhí)行由各軟件開發(fā)商進(jìn)行的GT10的認(rèn)證。這樣,授權(quán)在GT10上執(zhí)行該軟件。在希望使由GT保護(hù)的軟件成為自由軟件等流通的情況,也可為了生成GT許可使用類別公鑰KPcgt。另外,在希望使得不能在特定的GT10以外使用由GT保護(hù)的軟件的情況,也可為了生成GT許可使用個(gè)別公鑰KPgt。(8)GT10將從GT許可取出的鑰匙Kc和訪問權(quán)設(shè)定到GT10內(nèi)的TRB和TLB。用戶即使在內(nèi)核模式(監(jiān)控級(jí)別/環(huán)0),也不能參考設(shè)定于TRB的Kc。這樣在TRM軟件包嵌入用于向GT10提供執(zhí)行授權(quán)的GT許可,加密的程序代碼執(zhí)行前將該GT許可投入到GT10。GT10使用個(gè)別私鑰KgT對(duì)GT許可進(jìn)行解密,從該GT許可取出程序代碼的解密鑰匙Kc,在與內(nèi)部的TLB連接的TRB對(duì)各保護(hù)代碼維持其解密鑰匙Kc。在GT10中,加密了的代碼一邊使用解密鑰匙Kc進(jìn)行解密一邊執(zhí)行。由PKI程序庫(kù)模塊用認(rèn)證站CApki、DRM用認(rèn)證站CAdrm和面向利用DRM的應(yīng)用程序的認(rèn)證站CAap構(gòu)成的面向TRM軟件包的認(rèn)證站發(fā)行用于在各包的軟件過程交換保護(hù)數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)傳送目標(biāo)包進(jìn)行認(rèn)證的證書。另外,其中的DRM用認(rèn)證站也可用于許可傳送目標(biāo)DRM的認(rèn)證。這里所示4種認(rèn)證站都可通過不同的運(yùn)用減輕內(nèi)容(信息)流通業(yè)務(wù)的風(fēng)險(xiǎn),但并不必須為這樣的運(yùn)用。也可包含PKI程序庫(kù)20、解碼器DRM30、及媒體DRM40作為1個(gè)OS評(píng)價(jià),相對(duì)該OS產(chǎn)品整體生成GT許可,發(fā)行公開證書。另外,雖然也可將GT許可插入到與保護(hù)代碼相同的文件,但考慮到包超流通的方便,推薦作為與加密的執(zhí)行代碼之外的文件管理。下面說明GT許可的構(gòu)造。許可生成側(cè)獲得許可授權(quán)目標(biāo)GT(抗攻擊容器)的個(gè)別公鑰KPgt的證書Cgt,用它生成GT許可。證書Cgt也可為依據(jù)X.509的形式。個(gè)別公鑰KPgt的證書Cgt為類別鑰匙KPcgt,另外,類別鑰匙KPcgt的證書Ccgt用認(rèn)證站CAgt的路由公鑰KPagt進(jìn)行簽名檢驗(yàn)后利用。許可生成側(cè)生成的GT許可的形式如下。LicenseID‖Acgt.ar‖E(KPpt,Ks)‖E(Ks,Key‖LicenseID‖ACgt‖Is)‖CgtID‖CgtIDackey‖else其中,各字段的意義如下。E(K,D)用鑰匙K將數(shù)據(jù)D加密后的結(jié)果A‖B數(shù)據(jù)連接。表示數(shù)據(jù)A與數(shù)據(jù)B連接。Ks對(duì)話鑰匙(隨機(jī)數(shù))。對(duì)稱鑰匙(通用鑰匙)密碼法的鑰匙。Key代碼解密鑰匙/數(shù)據(jù)加密·解密鑰匙。Kc/Kd。LicenseID許可系列編號(hào)。許可生成側(cè)對(duì)各許可生成唯一的編號(hào)。也可在上位加入許可生成者的ID,在中位加入內(nèi)容的ID。ACgtGT訪問條件。表示在GT內(nèi)可強(qiáng)制的代碼/數(shù)據(jù)的利用條件,具有以下字段。ebim加密塊識(shí)別方式。復(fù)制到圖15所示TLB.ebim字段。各值的意義作為TLB的字段已說明。aef被授權(quán)代碼鑰匙加密標(biāo)志(ackeyencryptionflag)。如為打開(1),則表示被授權(quán)代碼鑰匙ackey被使用個(gè)別公鑰KPgt加密,如為關(guān)閉(0),則表示ackey的值直接進(jìn)入到ACgt.ackey(ACgt的ackey字段)。ackey被授權(quán)代碼鑰匙。記錄了可訪問由密鑰Kc或Kd解密的目標(biāo)的過程代碼的保護(hù)頁(yè)的密鑰key,或由個(gè)別公鑰KPgt將密鑰key加密了的值。在由個(gè)別公鑰KPgt對(duì)密鑰key進(jìn)行加密的情況,當(dāng)GT具有多個(gè)KPgt時(shí),還附加識(shí)別使用了哪個(gè)KPgt的信息。對(duì)該過程的訪問權(quán)的種類由ar指定。eadr異常處理地址。該字段為備用。為從key不同的頁(yè)即將返回到設(shè)定了該GT許可的內(nèi)容的頁(yè)之前發(fā)生的異常處理代碼的起始地址。ar基本訪問權(quán)。具有以下那樣的值。詳細(xì)如圖17所示。(a)PR僅可從由ackey指定的過程讀出(b)X可從由ackey指定的過程讀出和執(zhí)行(c)PRW可從由ackey指定的過程讀出和寫入(d)PWX可從由ackey指定的過程讀寫和執(zhí)行uo外部輸出禁止標(biāo)志。如為打開(1),則存放該許可的鑰匙信息的TRB行不輸出到(調(diào)出頁(yè)面)加密鑰匙表。該標(biāo)志的缺省值為關(guān)閉(0),表示可輸出到外部。cl高速緩存鎖定標(biāo)志。為備選功能。在該標(biāo)志為打開的情況,由該GT許可指定保護(hù)的抗攻擊區(qū)域的數(shù)據(jù)不到達(dá)高速緩存外。但是,在ar不包含寫入權(quán)(PR或X)的情況,本標(biāo)志無效。該標(biāo)志的缺省值為關(guān)閉,表示可輸出到外部。df調(diào)試模式標(biāo)志(DebugmodeFlag)。df如為打開,則表示與ar的指定相應(yīng)的動(dòng)作。參照TLB的說明。通過將GT許可內(nèi)的ACgt的df打開,從而可按調(diào)試模式執(zhí)行保護(hù)代碼。另外,在按超流通等形式銷售保護(hù)代碼文件的情況,也可關(guān)閉df進(jìn)行銷售。CgtIDKPgt的X.509的證書的識(shí)別符值。連接issuer和serialNumber的值。CgtIDackey備選。將ackey加密的KPgt的X.509證書的識(shí)別符值。連接issuer與serialNumber的值。在Acgt.aef關(guān)閉的情況省略。另外,在與CgtID相同值的情況也可省略。Is其它信息圖17表示可設(shè)定到GT許可的訪問權(quán)和被授權(quán)權(quán)限的表。當(dāng)為抗攻擊性標(biāo)志抗攻擊模式時(shí),從過程(代碼執(zhí)行狀態(tài))看到的保護(hù)數(shù)據(jù)或保護(hù)代碼區(qū)域的訪問權(quán)從圖17中選擇,設(shè)定為TLB。圖17的“指定代碼”指可由該TRB行內(nèi)的Key字段或Ackey字段指定的鑰匙解密的代碼。另外,在圖17中,雖然沒有“僅可執(zhí)行”的權(quán)限,但也存在可指定FR等“僅可執(zhí)行”的權(quán)限和“可讀出和執(zhí)行”的權(quán)限雙方的CPU。該情況的抗攻擊權(quán)限分別可表現(xiàn)為PX和PRX。同樣,關(guān)于“可寫入”的權(quán)限,也可指定PWX和PRWX雙方。GT許可由于以不可移動(dòng)為條件,所以,不具有移動(dòng)功能和CRL(CertificatesRevocationList證書失效列表)和LRL(LicenseRevocationList許可失效列表)。由于沒有控制CRL和LRL的必要,所以,容易將GT安裝到CPU。DRM的CRL控制和LRL控制由OS或應(yīng)用程序進(jìn)行。這樣,可維持高擴(kuò)充性。另外,如上述那樣,在希望使軟件TRM為自由軟件等的情況,也可在GT許可的生成中使用類別公鑰。另外,在相反地希望僅在特定的GT利用軟件的情況,也可使用與GT個(gè)別鑰匙對(duì)應(yīng)的公鑰。下面,使用圖18詳細(xì)說明上述GT認(rèn)證處理的(8)的工序。在GT認(rèn)證處理中,GT10通過執(zhí)行訪問授權(quán)命令(AHTHORIZE命令),從而根據(jù)GT許可在TLB和TRB設(shè)定鑰匙Key和訪問權(quán)等。為此,首先,GT10使用與GT的公鑰配對(duì)的私鑰Kgt對(duì)GT許可進(jìn)行解密(S1)。接著,GT10判定是否可正常地對(duì)GT許可解密(S2),在可正常解密的情況(S2正常),GT10檢索指定虛擬區(qū)域的TLB(S3)。在不能正常解密的情況(S2異常),GT10發(fā)生GT許可認(rèn)證故障(S11),前進(jìn)到S16。在S16中,GT10將出錯(cuò)內(nèi)容設(shè)定到resultAdr,返回主流程。在S3中,檢索TLB,結(jié)果,當(dāng)獲得指定虛擬區(qū)域的情況(S4正常),GT10判定是否TRB中有空(S5)。作為S3的檢索結(jié)果,在未能獲得指定虛擬區(qū)域的情況(S4無),GT10發(fā)生表示未分配存儲(chǔ)器的這一情況的未分配異常(S12),前進(jìn)到S16。在S5中,當(dāng)TRB有空時(shí)(S5有),GT10根據(jù)GT許可在TRB內(nèi)的uo、cl、kid、key、ackey的各字段設(shè)定值(S6)。在S5中,當(dāng)TRB無空時(shí)(S5無),GT10將TRB內(nèi)的一部分的行輸出到加密鑰匙表(調(diào)出頁(yè)面)(S13)。GT10在成功地調(diào)出頁(yè)面的情況(S14成功)前進(jìn)到S6,在調(diào)出頁(yè)面失敗的情況(S14失敗),使加密鑰匙表訪問故障發(fā)生后(S15),前進(jìn)到S16。在S6后,GT10計(jì)算出存放于TLB的簽名sign(S7),將ar、tr、df、kid、ebim、及sign設(shè)定到TLB(S8)。接著,GT10生成設(shè)定結(jié)果的簽名(S9),將設(shè)定結(jié)果和由S9生成的簽名設(shè)定到resultAdr(S10),返回到主流程。(保護(hù)代碼文件的構(gòu)造)下面,說明保護(hù)代碼文件的構(gòu)造。加密解除后的保護(hù)代碼文件(執(zhí)行形式)具有在保護(hù)代碼塊和明文代碼塊的重復(fù)構(gòu)造的起始部分附加標(biāo)題的構(gòu)造。另外,在形成為可將保護(hù)代碼文件用于超流通的文件的情況,在該文件的標(biāo)題需要加入以下那樣的信息?!?nèi)容ID作為與具有用于破解保護(hù)代碼的密碼的內(nèi)容解密鑰匙的GT許可連接信息,是必要的?!?nèi)容密碼方式作為確定保護(hù)代碼的加密方式的值,是必要。該值也可包含解密鑰匙的長(zhǎng)度。圖19示出用作超流通文件形式的情況的保護(hù)代碼執(zhí)行形式的一例。在圖19,在SCDF(超流通內(nèi)容形式SuperContentDistributionFormat)文件上,作為SCDF的要素存放保護(hù)代碼執(zhí)行形式的內(nèi)容。(保護(hù)代碼的加載和執(zhí)行及保護(hù)數(shù)據(jù)的保留和維持)下面使用圖20說明保護(hù)代碼的加載和執(zhí)行工序、及保護(hù)數(shù)據(jù)的保留和維持。如上述那樣,實(shí)施了加密的保護(hù)代碼文件由標(biāo)題、保護(hù)代碼塊和明文代碼塊構(gòu)成。保護(hù)代碼文件在執(zhí)行時(shí)加載到RAM17,根據(jù)在GT10(CPU)內(nèi)的預(yù)測(cè)對(duì)各塊復(fù)制到命令高速緩存12。其中,僅符合的命令由處理器內(nèi)核11解釋和執(zhí)行。如圖20所示那樣,代碼塊中的保護(hù)代碼塊由解密高速緩存線解密后記錄于命令高速緩存12。在圖20中,在命令高速緩存12與RAM17之間,具有對(duì)密碼塊進(jìn)行解密、寫入到命令高速緩存12的解密高速緩存線和將明文塊寫入到命令高速緩存12的明文高速緩存線的2種高速緩存線。通過這樣具有多個(gè)高速緩存線,可使處理高速化。另外,如圖20所示那樣,當(dāng)通過保護(hù)代碼的執(zhí)行將保護(hù)數(shù)據(jù)輸出到RAM17時(shí),輸出到預(yù)先作為虛擬存儲(chǔ)器設(shè)定的抗攻擊區(qū)域。在抗攻擊區(qū)域,用于對(duì)保護(hù)數(shù)據(jù)加密和解密的對(duì)稱密鑰密碼法的鑰匙Kd形成相關(guān),該鑰匙Kd秘密地維持在GT10內(nèi)。鑰匙Kd作為對(duì)各代碼解密鑰匙Kc不同的隨機(jī)數(shù)分配。保護(hù)數(shù)據(jù)一旦記錄到GT10(CPU)內(nèi)部的數(shù)據(jù)高速緩存13后,受到加密,然后輸出到RAM17。另外,RAM17上的保護(hù)數(shù)據(jù)在GT10(CPU)內(nèi)部解密后,記錄到數(shù)據(jù)高速緩存13,此后符合的數(shù)據(jù)在處理器內(nèi)核11得到利用。在圖20中,在數(shù)據(jù)高速緩存13與RAM17之間具有對(duì)密碼塊進(jìn)行解密后寫入到命令高速緩存12的解密高速緩存線,將數(shù)據(jù)高速緩存13的內(nèi)容加密后寫入到RAM17的抗攻擊區(qū)域的密碼高速緩存線,及在命令高速緩存12寫入明文塊的明文高速緩存線這樣3種高速緩存線。由該構(gòu)成也可使處理高速化??墒辜用艿谋Wo(hù)數(shù)據(jù)從RAM17保留到存儲(chǔ)器18內(nèi)。即,抗攻擊區(qū)域不僅是RAM17內(nèi),而且可擴(kuò)展到通過總線18連接的存儲(chǔ)器19內(nèi)。(頁(yè)訪問控制)如以上那樣,GT10獲得執(zhí)行TRM程序代碼的授權(quán),將構(gòu)成該保護(hù)代碼文件的代碼塊加載到RAM17時(shí),對(duì)保護(hù)代碼塊進(jìn)行解密后執(zhí)行。以下使用圖21說明對(duì)執(zhí)行保護(hù)代碼時(shí)記錄保護(hù)代碼的頁(yè)的訪問控制。在圖21中,箭頭示出數(shù)據(jù)流,括弧內(nèi)的數(shù)字表示處理的次序,與以下說明的工序的編號(hào)對(duì)應(yīng)。對(duì)記錄保護(hù)代碼的頁(yè)的訪問控制如以下那樣進(jìn)行。(1)命令MMU14讀出存儲(chǔ)在預(yù)測(cè)命令指針(ipinstructionpointer)的虛擬地址。(2)命令MMU14從TLB讀取與虛擬地址對(duì)應(yīng)的物理頁(yè)編號(hào)ppn、抗攻擊標(biāo)志tr及抗攻擊模式的訪問權(quán)ar。(3)抗攻擊標(biāo)志為打開的情況,命令MMU14從TRB讀出代碼解密鑰匙(Kc)。(4)命令MMU14在密碼引擎16設(shè)定Kc。(5)命令MMU14在命令高速緩存12和RAM17指定應(yīng)高速緩存的保護(hù)代碼塊的地址。(6)從RAM17將保護(hù)代碼塊投入到密碼引擎16。(7)由密碼引擎16解密的保護(hù)代碼塊記錄到命令高速緩存12。(8)在存儲(chǔ)命令指針的虛擬地址與預(yù)測(cè)命令指針一致的情況(即高速緩存符合的情況),處理器內(nèi)核11從ip用寄存器讀出TRSS標(biāo)志,前進(jìn)到下一工序。另一方面,在高速緩存不符合的情況,返同到上述(2)的工序。(9)處理器內(nèi)核11從ip用寄存器讀出虛擬地址。(10)處理器內(nèi)核11從命令MMU14讀出訪問權(quán)ar,確認(rèn)訪問權(quán)。(11)處理器內(nèi)核11從記錄了虛擬地址的內(nèi)容的命令高速緩存12內(nèi)讀出保護(hù)代碼塊加以執(zhí)行。在工序(10),當(dāng)記錄了執(zhí)行的命令的命令頁(yè)轉(zhuǎn)換時(shí),處理器內(nèi)核11在按工序(11)讀出保護(hù)代碼塊之前,進(jìn)行以下確認(rèn)。(a)記錄了接下來執(zhí)行的保護(hù)代碼塊的頁(yè)的密鑰(TRB.key)或被授權(quán)代碼鑰匙(TRB.ackey)與記錄了剛執(zhí)行的代碼塊的頁(yè)的密鑰(TRB.key)一致。(b)關(guān)于以下執(zhí)行的保護(hù)代碼塊的記錄于TLB.ar的訪問條件和接下來執(zhí)行的訪問一致(a)和(b)的至少任一個(gè)不一致時(shí),處理器內(nèi)核11停止命令的執(zhí)行,發(fā)生訪問權(quán)異常。下面,說明對(duì)記錄了保護(hù)數(shù)據(jù)塊的頁(yè)的訪問控制。保護(hù)數(shù)據(jù)塊的訪問控制通過在TRB和TLB設(shè)定GT許可的內(nèi)容而受到強(qiáng)制。保護(hù)數(shù)據(jù)塊的訪問根據(jù)維持在TRB和TLB的被授權(quán)代碼鑰匙ackey、密碼·解密鑰匙Kd、訪問權(quán)ar進(jìn)行控制。上述保護(hù)代碼塊的情況的訪問控制工序和執(zhí)行中的保護(hù)過程的對(duì)保護(hù)數(shù)據(jù)塊的訪問控制工序相同。另外,在上述工序(10)中,當(dāng)記錄執(zhí)行的命令的頁(yè)轉(zhuǎn)換時(shí)和記錄受到訪問的保護(hù)數(shù)據(jù)的頁(yè)轉(zhuǎn)換時(shí),在執(zhí)行對(duì)保護(hù)數(shù)據(jù)的訪問之前,處理器內(nèi)核11確認(rèn)以下點(diǎn)。(a)記錄受到訪問的保護(hù)數(shù)據(jù)的頁(yè)的密鑰(TRB.key)或被授權(quán)代碼鑰匙(TRB.ackey)與記錄執(zhí)行代碼的頁(yè)的P密鑰(TRB.key)一致(b)記錄受到訪問的保護(hù)數(shù)據(jù)的頁(yè)的訪問權(quán)(TLB.ar)與接下來執(zhí)行的訪問一致在(a)和(b)的至少任一個(gè)不一致的情況,處理器內(nèi)核11中止保護(hù)數(shù)據(jù)的訪問,使訪問權(quán)異常發(fā)生。以下根據(jù)圖22更詳細(xì)地說明由處理器內(nèi)核11進(jìn)行的對(duì)上述保護(hù)代碼和保護(hù)數(shù)據(jù)的訪問控制。首先,處理器內(nèi)核11等候異常/中斷事件的發(fā)生(S21)。當(dāng)異常/中斷事件發(fā)生時(shí),處理器內(nèi)核11進(jìn)行異?!ぶ袛嗵幚?S35),返回到S21。圖23詳細(xì)地示出異?!ぶ袛嗵幚?。關(guān)于圖23所示各種異常處理,在上述(異常處理)中詳細(xì)進(jìn)行了說明,所以,省略說明。在異常/中斷事件不發(fā)生的情況(S21無),處理器內(nèi)核11判定命令頁(yè)轉(zhuǎn)換是否已發(fā)生(S22)。在命令頁(yè)轉(zhuǎn)換已發(fā)生的情況(S22有),處理器內(nèi)核11進(jìn)行判斷對(duì)命令頁(yè)的訪問權(quán)的有無的處理(S23)。在命令頁(yè)轉(zhuǎn)換未發(fā)生的情況(S22無),前進(jìn)到S28。在S23的判斷處理中,處理器內(nèi)核11判斷記錄了接下來要執(zhí)行的保護(hù)代碼塊的頁(yè)的密鑰(TRB.key)或被授權(quán)代碼鑰匙(TRB.key)是否與記錄了剛執(zhí)行過的代碼塊的頁(yè)的密鑰(TRB.key)一致,而且按照關(guān)于接下來執(zhí)行的保護(hù)代碼塊的記錄于TLB.ar的訪問條件判定是否許可接下來執(zhí)行的訪問。在滿足上述2個(gè)條件的情況,處理器內(nèi)核11對(duì)接下來執(zhí)行的代碼判斷具有對(duì)轉(zhuǎn)換了的命令頁(yè)的訪問權(quán)(S24有),前進(jìn)到S25。在不是這樣的情況(S24無),處理器內(nèi)核11對(duì)頁(yè)訪問故障異常進(jìn)行排隊(duì)(S27),返回到S21。在S25中,處理器內(nèi)核11判定記錄了接下來執(zhí)行的保護(hù)代碼塊的頁(yè)的密鑰(TRB.key)是否與記錄了剛執(zhí)行的代碼塊的頁(yè)的密鑰(TRB.key)一致,處理器內(nèi)核11判定是否已在與該頁(yè)對(duì)應(yīng)的TRB內(nèi)的行的eadr字段設(shè)定了值。在TRB.key不一致而且已在eadr字段設(shè)定了值的情況(S25是),處理器內(nèi)核11對(duì)抗攻擊代碼返回異常進(jìn)行排隊(duì)(S26),返回到S21。在TRB.key一致或在eadr字段未設(shè)定值的情況(S25否),前進(jìn)到S28。在S28中,處理器內(nèi)核11從命令頁(yè)讀出命令,對(duì)該命令進(jìn)行解析。然后,處理器內(nèi)核11確認(rèn)現(xiàn)在執(zhí)行的代碼是否具有對(duì)在命令中指定的寄存器的訪問權(quán)(S29)。在具有對(duì)該指定了代碼的寄存器的訪問權(quán)的情況(S29有),前進(jìn)到S30。在沒有對(duì)該指定了代碼的寄存器的訪問權(quán)的情況(S29無),處理器內(nèi)核11對(duì)密封寄存器訪問故障異常進(jìn)行排隊(duì)(S34),返回到S21。在S30中,處理器內(nèi)核11判定由寄存器示出的數(shù)據(jù)頁(yè)是否正與前面的數(shù)據(jù)頁(yè)轉(zhuǎn)換。在未轉(zhuǎn)換的情況(S30無),執(zhí)行命令(S33),返回到S21。圖24詳細(xì)地示出命令執(zhí)行處理。關(guān)于圖24所示命令,由于在上述(命令集)中進(jìn)行了詳細(xì)說明,所以省略說明。在判定數(shù)據(jù)頁(yè)正轉(zhuǎn)換的情況(S30有),處理器內(nèi)核11進(jìn)行判斷對(duì)該數(shù)據(jù)頁(yè)的訪問權(quán)的有無的處理(S31)。S31的處理由于與在S23中說明的保護(hù)代碼的情況相同,所以,省略說明。作為S31的判斷結(jié)果,在處理器內(nèi)核11判斷接來下執(zhí)行的代碼具有對(duì)已轉(zhuǎn)換的數(shù)據(jù)頁(yè)具有訪問權(quán)的情況(S32有),前進(jìn)到S33。在并非這樣的情況(S32無),前進(jìn)到S27。(保護(hù)軟件的起動(dòng))下面,根據(jù)圖25說明起動(dòng)在GT10上受到保護(hù)的軟件即保護(hù)代碼文件時(shí)的OS內(nèi)核60和GT10的動(dòng)作。在圖25中,細(xì)箭頭示出數(shù)據(jù)的連接,粗箭頭表示數(shù)據(jù)流。另外,括弧內(nèi)的數(shù)字表示處理的次序,與以下說明的工序的編號(hào)對(duì)應(yīng)。起動(dòng)保護(hù)代碼文件的工序如下。(1)OS內(nèi)核60通過設(shè)定TLB,從而確保成為加載保護(hù)代碼和保護(hù)數(shù)據(jù)的區(qū)域的虛擬存儲(chǔ)區(qū)域和物理存儲(chǔ)區(qū)域,使虛擬存儲(chǔ)器與物理存儲(chǔ)區(qū)域連接。(2)根據(jù)來自O(shè)S內(nèi)核60的AUTHORIZE命令,GT10設(shè)定與TLB連接的TRB。(3)根據(jù)來自O(shè)S內(nèi)核60的CALL等的代碼模塊調(diào)用命令,GT10設(shè)定ip寄存器(在與調(diào)用目標(biāo)命令不符的情況,GT10將相當(dāng)?shù)拇a塊解密,將解密后的代碼復(fù)制到高速緩存)。(4)GT10由TLB.ar(TLB內(nèi)的ar字段)的內(nèi)容確認(rèn)執(zhí)行由ip指定的地址的命令的權(quán)利。(5)在確認(rèn)到執(zhí)行命令的權(quán)利的情況,GT10讀出由ip指定的地址的命令(在圖中為STR命令),解碼并執(zhí)行。(對(duì)保護(hù)數(shù)據(jù)的訪問)下面,根據(jù)圖26說明從執(zhí)行GT保護(hù)代碼的過程訪問保護(hù)數(shù)據(jù)的原理。在該例中,前提為保護(hù)數(shù)據(jù)區(qū)域在保護(hù)代碼執(zhí)行前得到確保,從保護(hù)代碼文件還加載初期值。另外,通過GT10執(zhí)行來自O(shè)S60的AHRHORIZE命令,從而認(rèn)為已進(jìn)行對(duì)保護(hù)數(shù)據(jù)區(qū)域的訪問授權(quán)和訪問權(quán)設(shè)定。下面,作為例子,關(guān)于執(zhí)行命令“STRr0,[r1]”(寄存器r0的值所示內(nèi)容寫入到寄存器r1的值所示地址的命令)的情況,說明保護(hù)過程訪問保護(hù)數(shù)據(jù)的工序和與其對(duì)應(yīng)的GT10的動(dòng)作。在圖26中,箭頭和括弧內(nèi)的數(shù)字的意義與圖25相同。(1)保護(hù)代碼執(zhí)行存儲(chǔ)器訪問命令(STR和LDR等)。(2)GT10確認(rèn)與訪問的地址對(duì)應(yīng)的TLB內(nèi)的行中的訪問權(quán)信息TLB.ar(TLB內(nèi)的ar字段)。(3)保護(hù)代碼訪問具有與TLB.vpn(TLB內(nèi)的vpn字段)一致的虛擬頁(yè)編號(hào)的頁(yè)的數(shù)據(jù)(在數(shù)據(jù)不在高速緩存的情況,保護(hù)代碼從與該虛擬頁(yè)對(duì)應(yīng)的物理頁(yè)對(duì)數(shù)據(jù)進(jìn)行解密,復(fù)制到高速緩存。)(從保護(hù)過程調(diào)用保護(hù)模塊)下面,說明從保護(hù)過程調(diào)用保護(hù)模塊的工序。在從保護(hù)過程起動(dòng)其它保護(hù)代碼模塊(DLL(動(dòng)態(tài)連接程序(DynamicLinkLibrary))等)的情況,具有以下2個(gè)情況。(a)調(diào)用的保護(hù)代碼模塊的代碼解密鑰匙Kc與調(diào)用該模塊的保護(hù)過程(以下稱主過程)的代碼解密鑰匙相同的情況(b)調(diào)用的保護(hù)代碼模塊的代碼解密鑰匙Kc與主過程的代碼解密鑰匙不同的情況在(b)的情況,當(dāng)從保護(hù)主過程調(diào)用其它保護(hù)代碼模塊時(shí)進(jìn)行的工序如圖27所示那樣。在圖27中,箭頭和括弧內(nèi)的數(shù)字的內(nèi)容與圖25同樣。在圖27中,保護(hù)代碼模塊成為DLL,但這不過為一例。(1)主過程通過TLB的設(shè)定等確保用于加載保護(hù)代碼模塊的虛擬區(qū)域和與該虛擬區(qū)域?qū)?yīng)的物理區(qū)域。(2)主過程通過訪問授權(quán)(AUTHORIZE)命令生成與TLB連接的TRB,設(shè)定代碼解密鑰匙Kc,在TLB設(shè)定訪問條件。(3)主過程將利用的秘密信息用寄存器存放到該主過程的保護(hù)數(shù)據(jù)區(qū)域內(nèi)的堆棧區(qū)域。(根據(jù)需要,保護(hù)數(shù)據(jù)高速緩存內(nèi)的堆棧數(shù)據(jù)被加密后記錄于外部存儲(chǔ)器。)(4)主過程執(zhí)行寄存器釋放(RELEASE_REG)命令。(5)根據(jù)CALL命令等,主過程調(diào)用保護(hù)代碼模塊。(6)主過程執(zhí)行寄存器密封(SEAL_REG)命令。(7)調(diào)用返回的情況,主過程使保留的堆棧返回到原來的寄存器。圖28示出在上述工序中由OS內(nèi)核進(jìn)行的處理的流程圖。在圖27的工序的(1)中,主過程要求確保用于加載保護(hù)代碼模塊的虛擬區(qū)域和與該虛擬區(qū)域?qū)?yīng)的物理區(qū)域時(shí),調(diào)用抗攻擊區(qū)域獲取系統(tǒng)調(diào)入。該要求時(shí),主過程將必要的區(qū)域大小和GT許可通知OS內(nèi)核60。在該系統(tǒng)調(diào)入中,首先,OS內(nèi)核60向處理器內(nèi)核11輸出將應(yīng)用程序利用的寄存器的列表作為輸入?yún)?shù)的非授權(quán)區(qū)域存儲(chǔ)棧命令(STMEA_TO_UA)。該S91與圖27的工序(3)對(duì)應(yīng)。接著,OS內(nèi)核60向處理器內(nèi)核11輸出將應(yīng)用程序利用的寄存器的列表作為輸入?yún)?shù)的寄存器釋放(RELEASE_REG)命令(S92)。這樣,指定的寄存器被釋放。該S93與圖27的工序(4)對(duì)應(yīng)。OS內(nèi)核60向處理器內(nèi)核11輸出將OS利用的寄存器的列表作為輸入?yún)?shù)的寄存器密封(SEAL_REG)命令(S93)。在S94中,當(dāng)這些命令的參數(shù)正確時(shí)(S94正常),這些命令由處理器內(nèi)核11執(zhí)行,前進(jìn)到S95。在不是這樣的情況(S94非法),前進(jìn)到S103。在S95中,OS內(nèi)核60將由主過程指定的區(qū)域大小的入口設(shè)定到頁(yè)表(S95)。在存在用于設(shè)定指定的大小的區(qū)域的抗攻擊區(qū)域的資源的情況(S96有),前進(jìn)到S97。在抗攻擊區(qū)域的資源不足的情況(S96不足),前進(jìn)到S103。在S97中,OS內(nèi)核60將GT許可、設(shè)定的地址、及頁(yè)區(qū)域設(shè)定到輸入寄存器,將訪問授權(quán)(AUTHORIZE)命令輸出到處理器內(nèi)核11。該S97與圖27的工序(2)對(duì)應(yīng)。處理器內(nèi)核11在正常地執(zhí)行命令的情況(S99正常),前進(jìn)到S100。在不能正常地執(zhí)行命令的情況(S99異常發(fā)生),前進(jìn)到S103。在S100中,OS內(nèi)核60將訪問授權(quán)(AUTHORIZE)命令的結(jié)果設(shè)定為返回?cái)?shù)據(jù)。此后,進(jìn)行圖27的工序(5),調(diào)用保護(hù)代碼模塊。接著,OS內(nèi)核60將寄存器釋放(RELEASE_REG)命令輸出到處理器內(nèi)核11,釋放OS使用的寄存器(S101)。最后,OS內(nèi)核60將被授權(quán)區(qū)域堆棧加載(LDMEA_FROM_UA)命令輸出到處理器內(nèi)核11,使筆記本和的數(shù)據(jù)加載到寄存器,返回到通常狀態(tài)。該S95與圖27的工序(7)對(duì)應(yīng)。在參數(shù)的非法、資源的不足和異常發(fā)生時(shí),在S103中,OS內(nèi)核60將出錯(cuò)內(nèi)容設(shè)定為返回?cái)?shù)據(jù),前進(jìn)到S101。(抗攻擊代碼的返回時(shí)的異常處理)當(dāng)由Call、Jump或Return等命令在執(zhí)行過程中使地址從一般的虛擬區(qū)域或抗攻擊區(qū)域移動(dòng)到代碼解密鑰匙Kc不同的抗攻擊區(qū)域時(shí),抗攻擊代碼返回異常發(fā)生。在該異常處理中,需要實(shí)施以下2個(gè)處理。(a)寄存器密封的確認(rèn)和寄存器釋放完畢的情況的密封的再設(shè)定。(b)抗攻擊段選擇程序的值的確認(rèn)和與需要相應(yīng)的再設(shè)定。GT10在保護(hù)代碼的寄存器密封之前,將解除·返回異常的起始地址設(shè)定在TRB。另外,保護(hù)代碼需要包含解除·返回異常處理,以防止在由來自外部的中斷釋放寄存器的狀態(tài)下繼續(xù)執(zhí)行,而使記錄于寄存器的秘密信息泄漏。在該解除·返回異常處理中,GT10再次確認(rèn)是否應(yīng)已密封的寄存器是否被密封,如寄存器未被密封,則必須重新密封或中止保護(hù)代碼的執(zhí)行。圖29示出用于防止由抗攻擊代碼返回異常處理進(jìn)行的密封寄存器非法訪問的順序例。圖29示出當(dāng)保護(hù)代碼由非法代碼一時(shí)中斷后返回時(shí)發(fā)生異常的情況。在圖29中,雖然在中斷保護(hù)代碼之前執(zhí)行寄存器密封(SEAL_REGr1)命令,但在非法代碼的執(zhí)行中由于執(zhí)行了寄存器釋放(RELEASE_REGr1)命令,所以,返回時(shí)應(yīng)已密封的寄存器未被密封。圖29所示抗攻擊代碼返回異常的順序的最初的3行如下。TSTRSSL.r1ss,r1ssBitBNEchk_segSEAL_REGr1該3行通過檢查與RSSL寄存器內(nèi)的寄存器r1對(duì)應(yīng)的位r1ss的值而確認(rèn)保護(hù)代碼利用的寄存器r1的密封狀態(tài),在r1未被密封的情況,表示重新密封r1的處理。另外,非法代碼由中斷等奪取過程,還存在將數(shù)據(jù)和堆棧的TRSS標(biāo)志設(shè)定為關(guān)閉(0)的可能性。即使TRSS標(biāo)志成為關(guān)閉,當(dāng)保護(hù)代碼繼續(xù)時(shí),保護(hù)數(shù)據(jù)寫入到一般虛擬區(qū)域,而不是抗攻擊區(qū)域。為了防止這樣的事態(tài),在抗攻擊代碼返回異常處理中,需要進(jìn)行ip(對(duì)于某些命令指針、CPU也稱為PC(程序計(jì)數(shù)器))所示各虛擬地址的抗攻擊數(shù)據(jù)/堆棧段選擇程序的再設(shè)定。圖29所示抗攻擊代碼返回異常的順序的第4行~第6行如下。Ch_segCMPip,trSegmentHeadBMIretORRtrdss,trdss,trBit該3行表示進(jìn)行ip所示的各虛擬地址的抗攻擊數(shù)據(jù)/堆棧段選擇程序的再設(shè)定的處理。當(dāng)抗攻擊代碼返回異常處理結(jié)束時(shí),過程返回到保護(hù)代碼。在圖29的順序的最后,由非法代碼再次中斷過程,非法代碼要將保護(hù)代碼利用的寄存器r1的內(nèi)容寫入到一般虛擬區(qū)域(MOVr1[unprotectedArea])。然而,在抗攻擊代碼返回異常處理中,由于寄存器r1重新密封,所以發(fā)生密封寄存器訪問故障(SEALED_REGISTER_ACCESS_FAULT_EXCEPTION)。這樣,由抗攻擊代碼返回異常的順序,GT10在返回時(shí)對(duì)保護(hù)代碼的秘密數(shù)據(jù)進(jìn)行保護(hù)。(保護(hù)上下文的轉(zhuǎn)換的管理)下面,設(shè)想從抗攻擊用戶過程向OS內(nèi)核過程的上下文轉(zhuǎn)換發(fā)生,所有寄存器保留到堆棧的情形。圖30示出由OS內(nèi)核進(jìn)行的保護(hù)上下文轉(zhuǎn)換時(shí)的順序的一例。在圖30中,假設(shè)從應(yīng)用程序1將保護(hù)上下文轉(zhuǎn)換到應(yīng)用程序2。最初,應(yīng)用程序1利用的寄存器r1被密封。此后,轉(zhuǎn)換保護(hù)上下文時(shí),OS內(nèi)核60執(zhí)行非授權(quán)區(qū)域存儲(chǔ)棧(STMEA_TO_UA)命令,這樣,寄存器r1的值由數(shù)據(jù)密碼·解密鑰匙Kd加密后保留。另外,形成堆棧的寄存器r1根據(jù)寄存器釋放(RELEASE_REG)命令清零。通過釋放寄存器r1,從而可由應(yīng)用程序2的過程利用寄存器r1。此后,當(dāng)保護(hù)上下文返回到原來的過程時(shí),OS內(nèi)核60通過執(zhí)行非授權(quán)區(qū)域堆棧加載(LDMEA_FROM_UA)命令,從而將保留的寄存器的值解密,返回到寄存器r1。此后,寄存器r1再次被密封。當(dāng)進(jìn)行上下文轉(zhuǎn)換時(shí),由這樣的保護(hù)上下文管理保障包含密封寄存器的寄存器的維持、返回,作為OS內(nèi)核60的處理。當(dāng)OS內(nèi)核60調(diào)用非保護(hù)系統(tǒng)調(diào)入時(shí),需要將SP轉(zhuǎn)換到一般虛擬空間的地址后調(diào)用等這樣的構(gòu)成。OS如過去那樣將系統(tǒng)調(diào)入的返回值記錄到一般虛擬區(qū)域即可。另一方面,OS內(nèi)核60調(diào)用保護(hù)系統(tǒng)調(diào)入時(shí),將用于共享存放返回值的堆棧區(qū)域的GT許可作為參數(shù)等轉(zhuǎn)移。OS通過將接受到的GT許可作為參數(shù)執(zhí)行AUTHORIZE命令,從而可與應(yīng)用程序過程共享抗攻擊堆棧區(qū)域。(保護(hù)數(shù)據(jù)區(qū)域的安全共享)在上述說明中,即使是抗攻擊空間內(nèi)的過程也不能在許可所有者不同的代碼和數(shù)據(jù)的區(qū)域間相互訪問。然而,通過使用以下的抗攻擊區(qū)域共享功能,可使得通過在由GT10保護(hù)、具有相互不同的代碼解密鑰匙Kc的軟件包、程序庫(kù)、目標(biāo)和過程等保護(hù)代碼模塊間安全地交換保護(hù)數(shù)據(jù)。圖31示出保護(hù)數(shù)據(jù)區(qū)域的共享的一例。圖31為說明播放過程和解碼器DRM過程在GT10上動(dòng)作的情況的圖。由解碼器DRM過程解碼后的數(shù)據(jù)被寫入到DRM過程用的虛擬頁(yè)。該解碼后的數(shù)據(jù)使用數(shù)據(jù)密鑰Kd加密后記錄到RAM17內(nèi)的共享物理頁(yè)。記錄到RAM17的共享物理頁(yè)的數(shù)據(jù)使用數(shù)據(jù)解密鑰匙Kd解密,寫入到DRM過程用的虛擬頁(yè)。播放(再現(xiàn)應(yīng)用程序)過程讀出該數(shù)據(jù)后再現(xiàn)。下面詳細(xì)說明設(shè)定這樣的保護(hù)數(shù)據(jù)的共享的工序。首先,為了共享保護(hù)數(shù)據(jù),假設(shè)生成共享的保護(hù)數(shù)據(jù)區(qū)域的生成主模塊和與生成主模塊共享該保護(hù)數(shù)據(jù)區(qū)域的共享目標(biāo)模塊生成主模塊和共享目標(biāo)模塊即使作為包不同(即Kc不同),為了使得共享目標(biāo)模塊可讀出生成主模塊的保護(hù)數(shù)據(jù)區(qū)域,如圖32所示那樣,生成主模塊必須認(rèn)證共享目標(biāo)模塊。在該認(rèn)證正常地結(jié)束后,必須在GT10內(nèi)部設(shè)定TLB和TRB,使得共享目標(biāo)模塊可利用生成主模塊的保護(hù)數(shù)據(jù)區(qū)域的密鑰Kd。下面,沿圖32說明模塊的認(rèn)證和保護(hù)數(shù)據(jù)解密鑰匙共享工序的設(shè)定工序。在圖32中,括弧內(nèi)的數(shù)字表示處理的次序,與以下的說明的工序的編號(hào)對(duì)應(yīng)。另外,圖32中的各符號(hào)的意義如下。RN生成主模塊臨時(shí)生成的隨機(jī)數(shù)KPacm面向軟件模塊的認(rèn)證站的路由公鑰Kacm面向軟件模塊的認(rèn)證站的路由私鑰Kdp共享目標(biāo)模塊的私鑰KPdp共享目標(biāo)模塊的公鑰C(KPdp,Kacm)共享目標(biāo)包的公開證書Kc1生成主模塊的代碼解密鑰匙Kc2共享目標(biāo)模塊的代碼解密鑰匙(1)生成目標(biāo)模塊將臨時(shí)生成的隨機(jī)數(shù)送到共享目標(biāo)模塊。(2)共享目標(biāo)模塊在連接由KPgt將自身的過程生成的虛擬區(qū)域的ID與Kc2加密后獲得的值與隨機(jī)數(shù)產(chǎn)生的數(shù)據(jù),附加該數(shù)據(jù)的數(shù)字簽名和對(duì)應(yīng)于用于簽名的私鑰的公鑰的證書。該證書必須為PKI程序庫(kù)用認(rèn)證站(CApki)、DRM用認(rèn)證站(CAdrm)或面向應(yīng)用程序的認(rèn)證站(CAap)等的可信賴的第三者發(fā)行的證書。在該說明中,在證書中,解密鑰匙Kc=”YYYYYY”用KPgt加密。(3)共享目標(biāo)模塊利用一般的數(shù)據(jù)共享/過程間通信等將由(2)生成的數(shù)據(jù)送到生成主模塊。(4)生成主模塊檢查簽名,在可確認(rèn)其正當(dāng)性的情況,將嵌入已受理的被授權(quán)代碼鑰匙authorizedcodekey、訪問權(quán)“PR”(抗攻擊模式讀出專用)、密碼·解密鑰匙Kd的GT許可、及指定虛擬區(qū)域作為參數(shù),執(zhí)行訪問授權(quán)命令(AUTHORIZE))。而且,在該說明中,密碼·解密鑰匙Kd=”AAAAAA”嵌入到GT許可。(5)執(zhí)行訪問授權(quán)命令的結(jié)果,在與共享目標(biāo)模塊的TLB連接的TRB內(nèi)的行設(shè)定GT許可的內(nèi)容。這樣,共享目標(biāo)模塊從共享保護(hù)區(qū)域讀出的數(shù)據(jù)在由鑰匙Kd正常解密的狀態(tài)下高速緩存。結(jié)果,按照?qǐng)D32所示例,在TLB的第4行設(shè)定對(duì)物理頁(yè)編號(hào)“002”的訪問權(quán)“PR”,在與該TLB內(nèi)的行對(duì)應(yīng)的TRB的第4行將數(shù)據(jù)鑰匙Kd=“AAAAAA”設(shè)定到Key字段。這樣,共享目標(biāo)模塊可使用數(shù)據(jù)鑰匙Kd=“AAAAAA”對(duì)生成主模塊的保護(hù)數(shù)據(jù)區(qū)域(與TLB的第2行對(duì)應(yīng))進(jìn)行解密而讀出。當(dāng)在不同模塊間進(jìn)行相互認(rèn)證時(shí),在工序(2)中,共享目標(biāo)模塊由生成主模塊的公鑰或利用公鑰加密了的對(duì)稱鑰匙加密法的鑰匙對(duì)生成的發(fā)送信息加密,送到生成主模塊即可。該信息在生成主模塊以外不能解密。在圖10所示TLB內(nèi),ID為2的行和ID為7的行以共享保護(hù)區(qū)域的情況為例加以示出。圖33示出調(diào)用抗攻擊區(qū)域共享系統(tǒng)調(diào)入時(shí)的處理的工序。該工序(S110~S123)除了系統(tǒng)調(diào)入時(shí)的輸入?yún)?shù)為區(qū)域的起始地址而不是區(qū)域大小外,其它與圖28所示工序(S90~S103)相同,所以,省略說明。內(nèi)容再現(xiàn)(播放)應(yīng)用程序也可使用上述本地?cái)?shù)據(jù)共享方式從媒體DRM40獲得數(shù)據(jù),對(duì)其進(jìn)行再現(xiàn),并進(jìn)一步編輯。在編輯和記錄該結(jié)果的情況,必須依照在GT許可中指定的訪問條件。另外,再現(xiàn)應(yīng)用程序必須將這些處理生成為GT保護(hù)代碼。為了在再現(xiàn)應(yīng)用程序中強(qiáng)制再現(xiàn)時(shí)間和期限的限制,需要安全定時(shí)器。安全定時(shí)器的構(gòu)造也可作為在GT10之外獨(dú)立的硬件TRM實(shí)現(xiàn)。或者,在GT10內(nèi)裝晶體發(fā)信機(jī)等的情況,也可使用上述定期中斷間隔設(shè)定命令作為抗攻擊軟件進(jìn)行構(gòu)造。在所有這些情況,當(dāng)設(shè)想定時(shí)器因?yàn)槟掣髟蛲V沟那闆r時(shí),需要具有與外部的可信安全定時(shí)器(TrustedSecureTimer)同步的功能。(DRM軟件構(gòu)造模型)下面說明DRM軟件模塊的構(gòu)造模型。解碼器DRM30、媒體DRM40、及這些DRM使用的PKI程序庫(kù)20內(nèi)的密碼·解密程序庫(kù)及需要TRM化的其它應(yīng)用程序作為在GT10上受到保護(hù)的GT保護(hù)代碼流通和執(zhí)行。這些模塊基本上以全文為暗文,從而在GT10受到保護(hù)。圖34示出DRM軟件模塊的構(gòu)造模型的一例。在該模型中,假設(shè)上述4個(gè)模塊由不同的開發(fā)商開發(fā),用不同的代碼密鑰key(Kc)加密。在圖34中,細(xì)黑箭頭表示加密了的許可鑰匙的交接,細(xì)白箭頭表示解密后的許可鑰匙的交接,粗黑箭頭表示加密后的內(nèi)容的交接,粗白箭頭表示復(fù)合的內(nèi)容的交接。括弧內(nèi)的數(shù)字表示工序的次序。下面根據(jù)圖34說明內(nèi)容和其許可鑰匙的下載、管理、再現(xiàn)工序。(1)從互聯(lián)網(wǎng)等網(wǎng)絡(luò)通過下載應(yīng)用程序在記錄媒體記錄加密許可鑰匙和加密內(nèi)容。(2)許可鑰匙在加密的狀態(tài)通過下載傳送到媒體DRM40。(3)在媒體DRM40內(nèi)被解密的許可鑰匙使用后述的方法安全地進(jìn)行管理,在加密的狀態(tài)下記錄到記錄媒體。許可鑰匙的再加密使用在GT10受到保護(hù)的PKI密碼程序庫(kù)20實(shí)施。(4)在存在用戶的再現(xiàn)要求的情況,媒體DRM40從記錄媒體取出許可鑰匙進(jìn)行解密。(5)媒體DRM40對(duì)解碼器DRM30進(jìn)行認(rèn)證,使用與解碼器DRM30共享的對(duì)話鑰匙將許可鑰匙加密,然后傳送到解碼器DRM30。關(guān)于該鑰匙的共享和工序(7)的保護(hù)數(shù)據(jù)的共享,在(保護(hù)數(shù)據(jù)區(qū)域的安全的共享)中說明。(6)解碼器DRM30將從記錄媒體取出的加密內(nèi)容和從媒體DRM40獲得的許可鑰匙作為參數(shù)將解密處理委托給PKI密碼程序庫(kù)20。(7)解密后的內(nèi)容通過共享保護(hù)數(shù)據(jù)區(qū)域送到再現(xiàn)應(yīng)用程序。(8)再現(xiàn)應(yīng)用程序?qū)?nèi)容進(jìn)行再現(xiàn)。下面,使用圖35~圖40更詳細(xì)地說明上述工序。首先,使用圖35和圖36說明由媒體DRM進(jìn)行的的處理。首先,媒體DRM40執(zhí)行抗攻擊權(quán)限設(shè)定(SET_TR_RIGHTS)命令和寄存器的密封(SEAL_REG)命令(S131和S132)。接著,媒體DRM40取出嵌入到自身的秘密信息(S133)。媒體DRM40判定與取出的秘密信息對(duì)應(yīng)的GT許可是否存放到記錄許可的許可DB(S134)。在已存放到許可DB的情況(S134有),前進(jìn)到S136,在還未存放到許可DB的情況(S134無),媒體DRM40將該GT許可設(shè)定到許可DB后(S135),前進(jìn)到S136。在S136,媒體DRM40生成許可管理用的抗攻擊數(shù)據(jù)區(qū)域。關(guān)于S136的處理,在后面根據(jù)圖36詳細(xì)說明。在可生成許可管理用的抗攻擊數(shù)據(jù)區(qū)域的情況(S137正常),前進(jìn)到S138,在不能生成許可管理用的抗攻擊數(shù)據(jù)區(qū)域的情況(S137出錯(cuò)),前進(jìn)到S142。在S138中,媒體DRM40將許可管理用的抗攻擊數(shù)據(jù)區(qū)域初始化(S138),等候許可接收要求、再現(xiàn)授權(quán)要求或結(jié)束要求。在接收到許可接收要求的情況((S139有),媒體DRM40接收許可(S143),返回到S139。在接收到再現(xiàn)授權(quán)要求的情況,媒體DRM40進(jìn)行再現(xiàn)授權(quán)(S144),返回到S139。在接收到結(jié)束要求的情況(S141有),執(zhí)行寄存器釋放(RELEASE_REG)命令(S145),結(jié)束處理。在許可管理用的抗攻擊數(shù)據(jù)區(qū)域的生成失敗的情況(S137出錯(cuò)),媒體DRM40將出錯(cuò)顯示輸出到輸出裝置(圖中未示出)(S142),前進(jìn)到S145。下面,根據(jù)圖36說明圖35的S136。當(dāng)生成許可管理用抗攻擊數(shù)據(jù)區(qū)域時(shí),首先,媒體DRM40使用代碼密鑰Kd生成訪問權(quán)PRW的GT許可(S151)。接著,媒體DRM40調(diào)用抗攻擊區(qū)域獲取系統(tǒng)調(diào)入(S152)。關(guān)于S152的處理,如上述相同。在獲取抗攻擊區(qū)域時(shí)如未產(chǎn)生錯(cuò)誤(S153無),則確認(rèn)途中生成的簽名(S154),如簽名正確(S155一致),則正常地返回到主流程。當(dāng)獲取抗攻擊區(qū)域時(shí)如產(chǎn)生錯(cuò)誤(S153有)或簽名不正確(S155不一致),則將錯(cuò)誤返回到主流程。下面,根據(jù)圖37~圖39說明由解碼器DRM進(jìn)行的處理。首先,解碼器DRM30執(zhí)行抗攻擊權(quán)限設(shè)定(SET_TR_RIGHTS)命令和寄存器密封(SEAL_REG)命令(S161和S162)。接著,媒體DRM40取出嵌入于自身的秘密信息(S163)。然后,解碼器DRM30生成解密后的內(nèi)容用的共享保護(hù)數(shù)據(jù)區(qū)域(S164)。關(guān)于該S164,在后面使用圖38詳細(xì)說明。在S164的處理正常進(jìn)行的情況(S165正常),解碼器DRM30在接收再現(xiàn)授權(quán)要求、再現(xiàn)要求、及結(jié)束要求中的任一個(gè)之前等候。在未正常進(jìn)行S164的處理的情況(S165出錯(cuò)),解碼器DRM30在輸出裝置(未圖示)顯示產(chǎn)生錯(cuò)誤這一情況(S169),前進(jìn)到S175。在接收到再現(xiàn)授權(quán)要求的情況(S166有),解碼器DRM30從媒體DRM40獲取內(nèi)容的許可鑰匙(S170),返回到S166。在接收到再現(xiàn)要求的情況(S167有),解碼器DRM30判定是否已獲取內(nèi)容的許可鑰匙(S171)。在已獲取內(nèi)容鑰匙的情況(S171已獲取),解碼器DRM30對(duì)加密塊進(jìn)行解密,進(jìn)行共享該情況的處理(S173)。關(guān)于S173將根據(jù)圖39在后面詳細(xì)說明。接著,解碼器DRM30將返回值通知到再現(xiàn)應(yīng)用程序(S174),返回到S166。在S171的判定中,當(dāng)未能獲取許可鑰匙時(shí)(S171無),在輸出裝置(圖中未示出)進(jìn)行出錯(cuò)顯示(S172),前進(jìn)到S175。在接收到結(jié)束要求的情況(S168有),前進(jìn)到S175,解碼器DRM30執(zhí)行寄存器釋放(RELEASE_REG)命令,結(jié)束處理。下面,根據(jù)圖38詳細(xì)說明圖37的S164。為了生成解密后的內(nèi)容用共享保護(hù)數(shù)據(jù)區(qū)域,首先,解碼器DRM30調(diào)用抗攻擊區(qū)域獲取系統(tǒng)調(diào)入,以獲取用于記錄由解碼器DRM30解碼后的內(nèi)容的抗攻擊區(qū)域(S181)。關(guān)于該處理已進(jìn)行了說明。在生成了抗攻擊區(qū)域的情況(S182正常),前進(jìn)到S184。在并非這樣的情況(S182出錯(cuò)),將出錯(cuò)表示輸出到輸出裝置(未圖示)(S183),返回到主流程。在S184中,解碼器DRM30使GT10對(duì)用于將加密了的內(nèi)容解密的PKI密碼程序庫(kù)進(jìn)行認(rèn)證。該認(rèn)證工序與在(保護(hù)數(shù)據(jù)區(qū)域的安全共享)中使用圖32說明的認(rèn)證工序相同。在正常地進(jìn)行了S184的認(rèn)證的情況(S185正常),前進(jìn)到S187。在未正常進(jìn)行S184的認(rèn)證的情況(S185出錯(cuò)),將出錯(cuò)顯示輸出到輸出裝置(未圖示)(S186),返回到主流程。在S187中,解碼器DRM30調(diào)用抗攻擊區(qū)域共享系統(tǒng)調(diào)入。在正常地進(jìn)行了S184的處理的情況(S188正常),返回到主流程。這樣,解碼器DRM30和PKI程序庫(kù)可共享寫入到抗攻擊區(qū)域的保護(hù)數(shù)據(jù)。在未正常進(jìn)行S184的處理的情況(S188出錯(cuò)),將出錯(cuò)顯示輸出到輸出裝置(未圖示),返回到主流程。下面,根據(jù)圖39更詳細(xì)地說明圖37的S173。首先,解碼器DRM30判定再現(xiàn)應(yīng)用程序是否已認(rèn)證(S191)。在已認(rèn)證的情況(S191已認(rèn)證),前進(jìn)到S196。在還未認(rèn)證的情況(S191)未認(rèn)證),進(jìn)行S192~S195。該處理由于與圖38的S184~S188相同,所以,省略說明。在S192~S195的處理中,當(dāng)已發(fā)生錯(cuò)誤時(shí)(在S193和S195中出錯(cuò)),將出錯(cuò)顯示輸出到輸出裝置(未圖示)(S198),返回到主流程。在S192~S195正常進(jìn)行的情況,再現(xiàn)應(yīng)用程序和解碼器DRM30共享抗攻擊區(qū)域,再現(xiàn)應(yīng)用程序可讀出由解碼器DRM30寫入到抗攻擊區(qū)域的內(nèi)容。在S196中,解碼器DRM30使用PKI程序庫(kù)20對(duì)加密了的內(nèi)容進(jìn)行解密。解密了的內(nèi)容被寫入到共享化的的抗攻擊區(qū)域。在已進(jìn)行解密的情況(S197正常),返回到主流程。在未正常進(jìn)行解密的情況(S197出錯(cuò)),前進(jìn)到S198。下面,根據(jù)圖40說明由再現(xiàn)應(yīng)用程序進(jìn)行的處理。首先,再現(xiàn)應(yīng)用程序執(zhí)行抗攻擊權(quán)限設(shè)定(SET_TR_RIGHTS)命令和寄存器的密封(SEAL_REG)命令(S201和S202)。接著,再現(xiàn)應(yīng)用程序取出嵌入到自身的秘密信息(S203)。接著,再現(xiàn)應(yīng)用程序?qū)獯a器DRM30要求認(rèn)證(S204)。根據(jù)該認(rèn)證要求進(jìn)行上述S192。在正常地進(jìn)行了認(rèn)證的情況(SS205正常),再現(xiàn)應(yīng)用程序等候接收再現(xiàn)要求等要求或結(jié)束要求。在未正常進(jìn)行認(rèn)證的情況(S205出錯(cuò)),再現(xiàn)應(yīng)用程序?qū)⒊鲥e(cuò)顯示輸出到輸出裝置(未圖示)(S214),前進(jìn)到S216。在接收到再現(xiàn)要求的情況(S206有),再現(xiàn)應(yīng)用程序?qū)獯a器DRM30要求對(duì)密碼塊進(jìn)行解密(S210)。在來自解碼器DRM30的返回值正常的情況(S211正常),再現(xiàn)應(yīng)用程序再現(xiàn)該塊(S212)。在內(nèi)容的再現(xiàn)結(jié)束之前(S214否),反復(fù)進(jìn)行S210~S212。當(dāng)內(nèi)容的再現(xiàn)結(jié)束時(shí)(S214是),返回到S206。當(dāng)接收再現(xiàn)要求以外的要求時(shí)(S207有),再現(xiàn)應(yīng)用程序執(zhí)行其要求(S208),返回到S206。當(dāng)接收結(jié)束要求時(shí)(S209有),再現(xiàn)應(yīng)用程序使GT10執(zhí)行寄存器釋放(RELEASE_REG)命令(S216),結(jié)束處理。(秘密信息的管理)圖41示出維持和管理與發(fā)行證書的公鑰密碼法的公鑰對(duì)應(yīng)的私鑰Kdrm等由DRM代碼包開發(fā)者生成的秘密信息。在圖41中,細(xì)箭頭示出數(shù)據(jù)流,粗白箭頭表示鑰匙等的嵌入。另外,括弧內(nèi)的數(shù)字表示處理的次序,與以下說明的工序的編號(hào)對(duì)應(yīng)。特別是與公鑰證書對(duì)應(yīng)的私鑰從在CRL的指定時(shí)等從僅停止特定的GT和特定的DRM的設(shè)置的必要性出發(fā),需要使用本方式。本方式的工序大體如下。(1)開發(fā)者生成的私鑰(Kdrm等)在類別·個(gè)別的情況都由開發(fā)者生成的對(duì)稱鑰匙加密法的鑰匙Kprd進(jìn)行加密,嵌入到包內(nèi)。(2)進(jìn)行了GT許可化后的Kprd和訪問條件“PR”以僅可按抗攻擊模式讀出的形式嵌入到保護(hù)代碼內(nèi)。(3)代碼全體由Kc加密,作為DRM進(jìn)行保護(hù)包化。(4)Kc由KPgt加密,作為DRM許可進(jìn)入到DRM包。(5)在執(zhí)行DRM時(shí),從VHTRM將該GT許可投入到GT10,在GT10內(nèi)部由Kprd讀出。(6)由Kprd將Kdrm解密、利用。這樣,開發(fā)者指定的GT上的指定過程以外的過程不能讀私鑰Kdrm。在特定的GT被破壞的情況,僅使被破壞的GT的公鑰密碼法的公鑰證書失效即可。因此,即使是面向相同DRM的情況,面向其它的GT的證書(Cdrm2)也可正當(dāng)?shù)乩?。本方式不僅可用作管理DRM的私鑰的方法,而且也可用作管理其它保護(hù)包的私鑰的方法。(UDAC許可管理)關(guān)于保護(hù)內(nèi)容和UDAC許可的一般信息的管理方式,也可繼續(xù)UDAC-MB和UDAC-LA的方式。圖42示出用于許可管理的存儲(chǔ)器訪問的方式。如圖42所示那樣,內(nèi)容解密鑰匙等的許可的秘密信息記錄于RAM17內(nèi)的保護(hù)數(shù)據(jù)區(qū)域受到管理。該保護(hù)數(shù)據(jù)區(qū)域內(nèi)的信息也可作為文件存儲(chǔ)到存儲(chǔ)器和快閃存儲(chǔ)器等。通過在記錄秘密信息時(shí)由數(shù)據(jù)密鑰Kd進(jìn)行加密,從而在CPU(GT10)的再起動(dòng)時(shí)也可在安全保護(hù)許可的秘密信息的狀態(tài)下利用。該數(shù)據(jù)密鑰Kd在由TRB密鑰Ktrb加密的狀態(tài)下作為加密鑰匙表的行保存到一般的外部存儲(chǔ)裝置。為了提高Ktrb和Ktlb的抗攻擊功能,需要隔一定的期間更新Ktrb和Ktlb的內(nèi)容。在更新之前,必須按抗攻擊過程生成的臨時(shí)鑰匙將所有許可信息加密后備份。在由更新改變Ktrb和Ktlb后,重建頁(yè)表和加密鑰匙表。只要將許可信息解密,在重建的抗攻擊區(qū)域列表即可。上述私鑰管理也可作為前提進(jìn)行CRL的管理。另外,各許可的CRL控制功能也可在上述許可管理功能內(nèi)具有。1個(gè)DRM包的證書以僅發(fā)行GT10具有的證書的數(shù)量為原則。在使DMR包自身失效的情況,僅為了用于該GT而發(fā)行的DRM包證書失效。在對(duì)程序內(nèi)容進(jìn)行超流通、處理UDAC許可的情況,也可不利用DRM軟件,而是作為簡(jiǎn)單版超流通功能直接利用GT許可。另外,也可使用在GT上構(gòu)筑的DRM軟件,作為UDAC-MB和PI許可處理。在使用DRM軟件的情況,僅UDAC-MB/PI許可中的基本訪問權(quán)(PR、X、PRW、PWX)在DRM內(nèi)變換成GT許可,使用CPU的訪問控制命令(AUTHORIZE)強(qiáng)制。關(guān)于其它訪問條件,在GT保護(hù)DRM內(nèi)進(jìn)行強(qiáng)制處理。當(dāng)然,不僅UDAC,而且使用當(dāng)今的軟件TRM的各公司的DRM也可通過GT保護(hù)化而具有硬件TRM級(jí)別的抗攻擊性。(變形例)以上GT許可作為不移動(dòng)的情形進(jìn)行了說明,但DRM間的許可移動(dòng)功能的實(shí)現(xiàn)也可能。在相同GT上執(zhí)行的2個(gè)DRM過程間的許可移動(dòng)·授權(quán)可通過由(保護(hù)數(shù)據(jù)的安全的共享)認(rèn)證的共享抗攻擊區(qū)域?qū)崿F(xiàn),也可利用UDAC-MB和UDAC-PI等協(xié)議實(shí)現(xiàn)。但是在安裝有許可的移動(dòng)功能的情況,為了防止再送攻擊進(jìn)行的非法復(fù)制,必須在TRM內(nèi)將許可管理用秘密信息存放到以下的UPL(UnreplicatablePrivateLocker不能復(fù)制的專用柜)。在希望僅由GT實(shí)現(xiàn)該UPL的情況,通過在TRB.uo(TRB內(nèi)的uo字段的值)和TRB.cl(TRB內(nèi)的cl字段的值)雙方都為on的抗攻擊區(qū)域存儲(chǔ)許可管理用秘密信息,從而使其成為可能。但是,對(duì)于在切斷GT的電源后也需要維持使用UPL管理的許可的情況,即使是存放許可管理用秘密信息的UPL的區(qū)域也需要成為非易失性存儲(chǔ)元件,成為PermanentUPL(半永久UPL)。關(guān)于將抗攻擊空間的一部分分配給PermanentUPL的方法,在這里不特別規(guī)定。為了在GT的外部實(shí)現(xiàn)TRM化的UPL,UPL需要在UPL內(nèi)安裝UDAC-MB等的TRM認(rèn)證協(xié)議。作為在外部實(shí)現(xiàn)的PermanentUPL,可利用安裝了UDAC的SecureMMC等。下面,說明第2實(shí)施形式。在第1實(shí)施形式中,代碼塊和數(shù)據(jù)塊為明文或暗文(ebim=0或1)。按照第2實(shí)施形式,塊也可為暗文和明文及其它信息的組合。下面,根據(jù)圖43說明實(shí)現(xiàn)第2實(shí)施形式的GT的CPU的構(gòu)成。在圖43中,省略與圖3所示第1實(shí)施形式同樣的部分。如圖43所示那樣,第2實(shí)施形式的GT100除了第1實(shí)施形式的構(gòu)成外,還具有保護(hù)塊選擇程序101和104、散列檢驗(yàn)程序102、及散列引擎103。保護(hù)塊選擇程序101根據(jù)ebim的值識(shí)別從高速緩存11或12輸出的加載塊或數(shù)據(jù)塊是否為應(yīng)保護(hù)的塊。在輸出的情況為應(yīng)保護(hù)的塊的情況,保護(hù)塊選擇程序101將該塊輸出到散列引擎103。散列引擎103生成該塊的散列,在生成散列后,密碼引擎16對(duì)該塊進(jìn)行加密,輸出到RAM17。另一方面,在從高速緩存11或12輸出的塊不為應(yīng)受到保護(hù)的塊的情況,保護(hù)塊選擇程序101將該塊輸出到RAM17。另外,保護(hù)塊選擇程序104識(shí)別從RAM17輸出的代碼塊或數(shù)據(jù)塊是為加密的塊還是為明文的塊。在輸出的塊為加密的塊即保護(hù)塊的情況,保護(hù)塊選擇程序104將該保護(hù)塊輸出到密碼引擎16。密碼引擎16將該保護(hù)塊解密,將解密后的塊輸出到散列引擎103。散列引擎生成該塊的散列,輸出到散列檢驗(yàn)程序102。散列檢驗(yàn)程序102確認(rèn)生成的散列,在確認(rèn)到散列正確的情況,將該塊輸出到高速緩存12或13。另一方面,在從RAM17輸出的塊不為保護(hù)塊的情況,保護(hù)塊選擇程序104將該塊輸出到高速緩存12或13。在圖43中,具有保護(hù)塊選擇程序101和104,但也可將保護(hù)塊選擇程序101和104構(gòu)成為1個(gè)保護(hù)塊選擇程序。這樣,可使回路小型化。下面,說明第2實(shí)施形式的TLB內(nèi)的字段。在圖5所示TLB中包含ebim字段。按照第1實(shí)施形式,該ebim的值為0或1。按照第2實(shí)施形式,作為該ebim可取的值,還追加2~7。下面說明與ebim的值相應(yīng)的塊的構(gòu)造。a)ebim=0的情況,僅明文(虛假許可,與第1實(shí)施形式相同)b)ebim=1的情況,暗文(與第1實(shí)施形式相同)c)ebim=2的情況,保護(hù)塊開始識(shí)別代碼使用d)ebim=3的情況,同上而且僅加密塊e)ebim=4的情況,僅帶簽名明文塊高速緩存加載時(shí)必須確認(rèn)簽名f)ebim=5的情況,僅帶散列的加密保護(hù)塊。解密后必須確認(rèn)散列g(shù))ebim=6的情況,保護(hù)塊開始識(shí)別代碼使用。必須確認(rèn)簽名/散列h)ebim=7的情況,同上而且僅加密塊。必須確認(rèn)散列即,本字段的各位具有以下那樣的意義。位0加密標(biāo)志。在該標(biāo)志打開的情況,表示塊被加密。位1保護(hù)塊開始識(shí)別代碼標(biāo)志。在該標(biāo)志為打開的情況,表示在塊附加有保護(hù)塊開始識(shí)別代碼。在該標(biāo)志為關(guān)閉的情況,GT10不需要識(shí)別保護(hù)塊開始識(shí)別代碼。位2散列附加·確認(rèn)標(biāo)志。在該標(biāo)志為打開的情況,當(dāng)將數(shù)據(jù)掃出到GT10外時(shí),GT10在該數(shù)據(jù)塊附加散列。另外,當(dāng)將代碼和數(shù)據(jù)取入到GT10內(nèi)時(shí),確認(rèn)附加于塊的散列值。在該標(biāo)志為關(guān)閉的情況,不需要在塊附加或確認(rèn)散列。這些ebim的值與第1實(shí)施形式相同,根據(jù)包含于GT許可的被授權(quán)代碼鑰匙ACgt內(nèi)的ebim字段的值設(shè)定。下面根據(jù)圖44說明第2實(shí)施形式的塊的構(gòu)造。根據(jù)GT10,也可使保護(hù)代碼塊與保護(hù)數(shù)據(jù)塊的構(gòu)造相同的形式。這樣,可提高CPU內(nèi)的回路資源的利用率。如圖44所示那樣,由開發(fā)者和創(chuàng)作者生成的塊包含隨機(jī)數(shù)、一般命令和數(shù)據(jù),在必要的情況還包含散列。在ebim為1或5的情況,通過將該塊加密,從而生成保護(hù)塊。在ebim為2、3、6或7的情況,將該塊加密后,按明文在起始部分附加保護(hù)塊標(biāo)題識(shí)別代碼,從而生成保護(hù)塊。保護(hù)塊標(biāo)題識(shí)別代碼包含表示塊是否為保護(hù)塊的加密標(biāo)志和表示是否在塊的最后附加散列的散列標(biāo)志。保護(hù)塊標(biāo)題識(shí)別代碼和加密的隨機(jī)數(shù)部分構(gòu)成保護(hù)塊開始命令。RAM17上的保護(hù)塊通過在GT10內(nèi)解密,從而獲得明文的一般命令和數(shù)據(jù)。在ebim為1或5的情況,隨機(jī)數(shù)部分和散列部分不使代碼和數(shù)據(jù)的地址改變地變換成NOP(NoOperation)命令后,加載到命令高速緩存12或數(shù)據(jù)高速緩存13。在ebim為1的情況,與第1實(shí)施形式相同。在ebim為2、3、6或7的情況,除了隨機(jī)數(shù)部分、散列部分外,保護(hù)塊標(biāo)題識(shí)別代碼也變換成NOP(無操作(NoOperation)),然后加載到高速緩存12或數(shù)據(jù)高速緩存13。將處理器內(nèi)核11上的作業(yè)數(shù)據(jù)等加密后的情況的保護(hù)塊構(gòu)造也為與對(duì)由開發(fā)者或創(chuàng)作者生成的塊進(jìn)行加密的情況的保護(hù)塊同樣的構(gòu)造。圖45示出ebim為4的情況的塊的構(gòu)造。如圖45所示那樣,當(dāng)ebim為4時(shí),RAM上的塊成為在明文的代碼或明文的數(shù)據(jù)附加了簽名的構(gòu)造。當(dāng)在命令高速緩存12或數(shù)據(jù)高速緩存13上加載塊時(shí),簽名變換成NOP命令。簽名也可為用密鑰Kc或Kd將代碼或數(shù)據(jù)的散列(SHA-1等)加密的值。Kc和Kd由GT許可指定,設(shè)定到TRB的密鑰字段(TRB.key)。下面,說明由第2實(shí)施形式的GT進(jìn)行的處理?;镜膭?dòng)作與第1實(shí)施形式和第2實(shí)施形式相同,所以,在以下的說明中,重點(diǎn)說明由進(jìn)一步附加的構(gòu)成進(jìn)行的處理。首先,根據(jù)圖46說明由保護(hù)塊選擇程序104進(jìn)行的處理。首先,保護(hù)塊選擇程序104等候從RAM17(外部存儲(chǔ)器)取出塊的加載要求(S221)。當(dāng)從RAM17發(fā)出塊的加載要求時(shí)(S221要求),保護(hù)塊選擇程序104從TLB讀入與預(yù)測(cè)的塊的地址對(duì)應(yīng)的行的ebim字段的值(S222)。保護(hù)塊選擇程序104判定ebim的第1位是否為打開(S223)。ebim的第1位表示是否在塊附加保護(hù)塊開始命令。在ebim的第1位為打開的情況(S223on),在該塊附加保護(hù)塊開始命令。保護(hù)塊選擇程序104讀出附加到該塊的起始部分的保護(hù)塊開始命令(S224),在該保護(hù)塊開始命令判定加密標(biāo)志是否為打開(S225)。加密標(biāo)志為加密標(biāo)志為打開的情況(S205on),前進(jìn)到S229。在S229中,保護(hù)塊選擇程序104將該塊輸出到密碼引擎16,返回到S201。在該情況,該塊在解密后被傳送到高速緩存12或13。在加密標(biāo)志為關(guān)閉的情況(S225off),保護(hù)塊選擇程序104還判定ebim的第2位是否為打開(S226)。ebim的第2位表示在傳送該塊時(shí)是否需要散列的確認(rèn)。在ebim的第2位為打開的情況(S226on),處理前進(jìn)到S209。在ebim的第2位為關(guān)閉的情況(S226off),保護(hù)塊選擇程序104將該塊傳送到高速緩存12或13(S227)。在S223的判定中,當(dāng)ebim的第2位為關(guān)閉時(shí)(S223off),保護(hù)塊選擇程序104進(jìn)一步判定ebim的第0位是否為打開(S228)。ebim的第0位表示是否需要將該塊加密。在ebim的第0位為打開的情況(S228on),處理前進(jìn)到S229。在ebim的第0位為關(guān)閉的情況(S228off),保護(hù)塊選擇程序104進(jìn)一步判定ebim的第2位是否為打開(S230)。在ebim的第2位為打開的情況(S230on),處理前進(jìn)到S229。在ebim的第2位為打開的情況(S230off),保護(hù)塊選擇程序104將該塊傳送到高速緩存12或13(S231),返回到S221。接著,根據(jù)圖47說明由散列引擎103進(jìn)行的處理。首先,散列引擎103等候散列要求的事件發(fā)生(S241)。當(dāng)事件發(fā)生時(shí),散列引擎103讀入進(jìn)行散列要求的塊(S242)。然后,散列引擎103讀入與該塊的地址對(duì)應(yīng)的ebim,判定該ebim的第2位是否為打開(S243)。在ebim的第2位為打開的情況(S243on),散列引擎103生成該塊的散列(S244),將該塊和生成的散列的內(nèi)容傳送到下一回路塊(S245),返回到S241。另一方面,ebim的第2位為關(guān)閉的情況(S243off),散列引擎103不生成散列,將該塊傳送到下一回路塊(S246),處理返回到S241。下面,根據(jù)圖48說明由散列檢驗(yàn)程序102進(jìn)行的處理。首先,散列檢驗(yàn)程序102等候散列要求事件發(fā)生(S251)。當(dāng)事件發(fā)生時(shí)散列檢驗(yàn)程序102讀入要求的塊(S252)。接著,散列檢驗(yàn)程序102讀入與該塊的地址對(duì)應(yīng)的ebim,判定該ebim的第2位是否為打開(S253)。在ebim的第2位為打開的情況(S253on),散列檢驗(yàn)程序102比較由散列引擎103生成的散列與附加到該塊的散列(S254)。進(jìn)行比較后,在2個(gè)散列不一致的情況(S254不一致),向處理器內(nèi)核11通知散列不一致異常發(fā)生(S255),返回到S251。在2個(gè)散列一致的情況(S254一致),散列檢驗(yàn)程序?qū)⒃搲K傳送到下一回路塊(S256),返回到S231。下面,說明第2實(shí)施形式的變形例。在第2實(shí)施形式中,根據(jù)ebim,保護(hù)塊選擇程序作為選擇塊的形式進(jìn)行說明。該方式以外的方式在以下加以例示。1.在執(zhí)行文件的標(biāo)題嵌入加密塊位圖的方法。保護(hù)塊選擇程序先讀入該位圖,判斷將塊輸出到一般線還是輸出到解密線。2.使代碼的起始部分為明文,在該起始的代碼中,指定在多少塊的明文之后出現(xiàn)多少塊的保護(hù)代碼,使其重復(fù),GT100最初執(zhí)行該代碼(命令)。該代碼也可在途中改變。按照該方式,可縮小保護(hù)代碼塊選擇程序的功能。如可按地址的下位的位選擇保護(hù)保護(hù)代碼,則可進(jìn)一步縮小選擇程序的功能。下面,說明第3實(shí)施形式。按照第1和第2實(shí)施形式,當(dāng)保護(hù)代碼和保護(hù)數(shù)據(jù)進(jìn)入到高速緩存內(nèi)時(shí),作為變換隨機(jī)數(shù)的結(jié)果獲得的NOP每隔高速緩存線長(zhǎng)度存在。這樣,產(chǎn)生無意義地使用高速緩存內(nèi)的資源的問題。第3實(shí)施形式涉及解決該問題的技術(shù)。按照第3實(shí)施形式,可由以下的方法1~3有效地利用高速緩存的資源。方法1)將在隨機(jī)數(shù)長(zhǎng)和塊數(shù)的積加上虛擬區(qū)域長(zhǎng)獲得的長(zhǎng)度設(shè)為物理區(qū)域長(zhǎng)(虛擬區(qū)域長(zhǎng)+隨機(jī)數(shù)長(zhǎng)×塊數(shù)=物理區(qū)域長(zhǎng))。通過在RAM17上具有伸出為虛擬頁(yè)的大小的部分,從而使得在高速緩存內(nèi)不記錄伸出的部分即變換隨機(jī)數(shù)的NOP。方法2)將具有等于隨機(jī)數(shù)長(zhǎng)與塊數(shù)的積的長(zhǎng)度的區(qū)域設(shè)定為NOP專用的物理區(qū)域。方法3)不在高速緩存內(nèi)記錄NOP。圖49示出按照本方法的NOP的處理。如圖49所示那樣,RAM17的保護(hù)代碼塊或保護(hù)數(shù)據(jù)塊被加密。根據(jù)情況,保護(hù)代碼塊或保護(hù)數(shù)據(jù)塊包含保護(hù)塊標(biāo)題識(shí)別代碼。當(dāng)該保護(hù)代碼塊或保護(hù)數(shù)據(jù)塊在GT10內(nèi)解密時(shí),可獲得一般命令(或一般數(shù)據(jù))、隨機(jī)數(shù)及散列的塊。在高速緩存內(nèi)記錄其中的一般命令或一般數(shù)據(jù),不記錄應(yīng)記錄NOP的虛擬地址的數(shù)據(jù)。在代碼訪問了NOP的虛擬地址的情況,將NOP返回到代碼??蓮腛S等讀取存儲(chǔ)于虛擬存儲(chǔ)器的NOP,也可不讀。下面,說明第4實(shí)施形式。第4實(shí)施形式涉及在具有2個(gè)或其以上的上述說明的GT10的CPU即多CPU中使保護(hù)過程動(dòng)作的情況。在由多CPU使保護(hù)過程動(dòng)作的情況,需要在以下那樣的情況設(shè)置。1.僅具有1個(gè)代碼解密鑰匙Kc的保護(hù)過程在多個(gè)CPU上平行地執(zhí)行多個(gè)線索的情況2.與按照窺探功能的保護(hù)代碼和保護(hù)數(shù)據(jù)等高速緩存內(nèi)容的自動(dòng)同步對(duì)應(yīng)。圖50示出具有GT10A和GT10B的多CPU的構(gòu)成。如圖50所示那樣,GT10A、GT10B、及RAM17通過總線連接。GT10A和GT10B分別具有高速緩存。在由GT10A和GT10B并行地執(zhí)行多個(gè)線索的情況,在執(zhí)行之前,GT10A和GT10B通過DCTP(數(shù)字傳送內(nèi)容保護(hù)(DigitalTransmissionContentProtection))的完全認(rèn)證(FullAuthentication)等的相互認(rèn)證而獲得對(duì)話鑰匙Ksnp。GT10A和GT10B在交換秘密信息、保護(hù)代碼和保護(hù)數(shù)據(jù)的情況,使用對(duì)話鑰匙Ksnp。這樣,GT10A和GT10B可安全地交換Ktrb和Kc、Kd等。GT10A和GT10B使用對(duì)話鑰匙Ksnp對(duì)高速緩存內(nèi)的數(shù)據(jù)進(jìn)行加密,相互同步傳送,從而實(shí)現(xiàn)高速緩存內(nèi)容的同步。下面說明第4實(shí)施形式。使用過去的編譯程序和匯編程序生成的程序代碼目標(biāo)不具有GT保護(hù)相關(guān)的信息。由圖51所示那樣的方式可將其變換成在GT的保護(hù)代碼執(zhí)行形式和SCDF(超流通內(nèi)容形式SuperContentDistributionFormat)。圖51示出從代碼目標(biāo)輸出保護(hù)代碼執(zhí)行形式的工具群的例。在圖51中,提出了這樣的例子,即,生成保護(hù)代碼執(zhí)行形式和許可,并為了超流通實(shí)施執(zhí)行形式而通過SCDF生成工具生成SCDF數(shù)據(jù)。如圖51所示那樣,SCDF生成工具具有連接程序前處理部、連接程序、保護(hù)代碼執(zhí)行形式生成部、及SCDF制作部。首先,代碼目標(biāo)由連接程序前處理部分成多個(gè)塊,在各塊追加NOP命令。接著,連接程序進(jìn)行地址解決。另外,連接程序后,保護(hù)代碼執(zhí)行形式生成部通過使用代碼密鑰對(duì)各塊進(jìn)行加密,從而生成保護(hù)代碼執(zhí)行形式。另一方面,GT許可生成部生成包含上述代碼密鑰,由與上述私鑰成對(duì)的公鑰加密的許可。下面,說明第5實(shí)施形式。為了實(shí)現(xiàn)由GT10進(jìn)行的保護(hù),需要GT10和由GT10保護(hù)的DRM軟件模塊。然而,當(dāng)初GT也不普及,OS也不支持GT10的功能,所以,需要用以下那樣的背景推進(jìn)普及。(1)當(dāng)初由軟件TRM開發(fā)CPU擴(kuò)充部分的硬件命令仿真程序,對(duì)過去的面向CPU的DRM軟件進(jìn)行仿真。這樣,即使是過去的面向CPU的DRM軟件也可在GT10中作為保護(hù)軟件運(yùn)行。(2)DMR部分流用現(xiàn)存的DRM模塊。(3)要由OS支持GT10的功能需要在OS包外具有抗攻擊空間管理、保護(hù)上下文轉(zhuǎn)換管理和DRM等。另外,當(dāng)初應(yīng)用程序和解碼器DRM形成1個(gè)包,Kc和Kd也可相同。下面,作為第6實(shí)施形式~第12實(shí)施形式說明在上述各實(shí)施形式中說明的GT應(yīng)用例。在GT應(yīng)用例中列舉了各種各樣的例子,但在這里,作為例子,可列舉出個(gè)人計(jì)算機(jī)、工作站、PDA(個(gè)人數(shù)字助理)、手機(jī)(包含簡(jiǎn)單型手機(jī))、智能卡等IC卡、RFID媒體、AV(視聽)設(shè)備、GRID計(jì)算、機(jī)器人等,下面對(duì)其進(jìn)行說明。首先,作為第6實(shí)施形式,說明GT在個(gè)人計(jì)算機(jī)和工作站的應(yīng)用。圖52示出將GT10或100安裝于個(gè)人計(jì)算機(jī)和工作站的情況的系統(tǒng)構(gòu)成例。如圖52所示那樣,在母板裝載GT10或100。在系統(tǒng)控制器內(nèi)裝USB(通用串行總線)控制器、IDE(綜合設(shè)備電路)控制器、IEEE1394控制器、視頻控制器、及音頻控制器等。在圖52中,將媒體DRM芯片嵌入到記錄數(shù)據(jù)內(nèi)容的存儲(chǔ)卡、IC卡、磁盤、磁光盤、數(shù)字多用途盤等記錄媒體。該媒體DRM芯片為在GT10或100上受到保護(hù)的模塊。通過這樣構(gòu)成,不特別裝入密碼·解密專用芯片,通過在計(jì)算機(jī)采用GT,從而可按與硬件TRM相同的強(qiáng)度保護(hù)數(shù)字內(nèi)容。在圖52中,作為系統(tǒng)控制器記載了NorthBridge,作為接口記載了USB和IDE,作為串行總線記載了IEEE1394,但不限定系統(tǒng)構(gòu)成。另外,僅通過軟件開發(fā)·追加,按與硬件TRM相同程序的強(qiáng)度的安全級(jí)別實(shí)現(xiàn)個(gè)人認(rèn)證、TCPA、電子錢包、個(gè)人信息保護(hù)、可信GRID計(jì)算(TrustedGRIDComputing)等。另外,通過在PC等加載作為GT保護(hù)軟件生成的電子投票軟件,從而可從PC進(jìn)行電子投票。另外,通過在PC等加載作為GT保護(hù)軟件生成的文件管理軟件,從而可構(gòu)成安全文件系統(tǒng)。下面,作為第7實(shí)施形式,說明在PDA和手機(jī)等移動(dòng)設(shè)備的應(yīng)用。對(duì)于PC的TCPA(可信計(jì)算平臺(tái)聯(lián)盟(TrustedComputingPlatformAlliance))功能,在過去方式中需要另行將特別的硬件裝置連接于PC,但如在PC裝載GT,則僅在該P(yáng)C上的軟件開發(fā)即可實(shí)現(xiàn)該功能。手機(jī)的終端認(rèn)證功能也可同樣按比過去方式強(qiáng)度高的安全強(qiáng)度實(shí)現(xiàn)。例如,交換手機(jī)的SIM(用戶身份模塊)卡的功能通過使用在安裝GT的手機(jī)間交換保護(hù)數(shù)據(jù)的軟件,從而更安全地實(shí)現(xiàn)。即使在將GT適用到手機(jī)和PDA(個(gè)人數(shù)字助理)等移動(dòng)產(chǎn)品的情況,不特別裝入密碼·解密專用芯片,也可實(shí)現(xiàn)硬件TRM級(jí)別的強(qiáng)有力的內(nèi)容保護(hù)。當(dāng)然,如追加軟件,則可將個(gè)人認(rèn)證功能、信用卡功能、專用卡功能、個(gè)人信息保護(hù)功能等提供給手機(jī)或PDA,這些功能可按與硬件TRM同等的強(qiáng)度的安全級(jí)別實(shí)現(xiàn)。下面,作為第8實(shí)施形式,說明在IC卡和RFID模塊等的安全卡和模塊的應(yīng)用。關(guān)于IC卡,在過去的方式中,每當(dāng)對(duì)IC卡內(nèi)的安全功能進(jìn)行定制時(shí),需要進(jìn)行實(shí)施了TRM化的個(gè)別的芯片生產(chǎn)。而且,需要對(duì)個(gè)別的芯片按照硬件TRM評(píng)價(jià)基準(zhǔn)進(jìn)行審查。然而,按照本實(shí)施形式,以后在GT作為軟件追加應(yīng)保護(hù)的安全功能,即可制作具有與硬件TRM同等級(jí)別的追加安全強(qiáng)度。即使關(guān)于IC卡的安全評(píng)價(jià),僅對(duì)在GT追加的固件實(shí)施即可。如在IC卡、RFID模塊等安全卡和模塊安裝GT10或100,則不需要對(duì)各定制的芯片實(shí)施TRM化,僅對(duì)CPU部分實(shí)施TRM化即可。為此,不特別裝入密碼·解密專用芯片等即可實(shí)現(xiàn)硬件TRM級(jí)別的強(qiáng)力的媒體DRM。也可僅通過追加軟件按硬件TRM級(jí)別的強(qiáng)力的安全實(shí)現(xiàn)個(gè)人認(rèn)證功能、信用卡功能、專用卡功能等。另外,在GT的壽命比CPU短的情況,也可僅更換GT的主存控制部分。GT主存控制指TRM、TLB等的部分。但是,在該情況,需要用超高速總線連接CPU與IC卡。下面,作為第9實(shí)施形式,說明在AV設(shè)備的應(yīng)用。在將GT裝載于AV設(shè)備的情況,不需要對(duì)各定制的芯片實(shí)施TRM化,僅對(duì)CPU部分實(shí)施即可。為此,不特別裝入密碼·解密專用芯片等即可實(shí)現(xiàn)具有與硬件TRM相等程度的強(qiáng)度的強(qiáng)力的DRM。另外,通過在AV設(shè)備除了GT外還追加軟件,由此也可使AV設(shè)各具有個(gè)人認(rèn)證、在線計(jì)費(fèi)功能等。這些功能也可按與硬件TRM相同程度的強(qiáng)度實(shí)現(xiàn)。下面,作為第10實(shí)施形式,說明在移動(dòng)代理保護(hù)的應(yīng)用。GT的代理可實(shí)現(xiàn)按移動(dòng)目標(biāo)抵抗非法地完成使命的保護(hù)功能。即,GT可作為抗攻擊代理相對(duì)VHTRM提供安全的移動(dòng)功能。通過使移動(dòng)代理抗攻擊化,從而可實(shí)現(xiàn)與適用到在第11實(shí)施形式中說明的GRID計(jì)算時(shí)同樣的安全功能。下面,說明作為第11實(shí)施形式,說明在GRID計(jì)算的應(yīng)用。在GRID計(jì)算和網(wǎng)絡(luò)代理中,過去存在以下問題。1.完整性(Integrity)在GRID計(jì)算的受委托方,不能確認(rèn)是否由委托的執(zhí)行代碼正確的CPU使用正確的數(shù)據(jù)正確地執(zhí)行。為此,即使受委托方用戶不論進(jìn)行了什么樣的非法動(dòng)作,即使改寫執(zhí)行代碼的病毒進(jìn)入到受委托方的計(jì)算機(jī),也沒有確實(shí)地確認(rèn)的手段。2.機(jī)密性(Confidentiality)在計(jì)算的受委托方,存在帶代碼和數(shù)據(jù)泄漏和非法復(fù)制的危險(xiǎn)。3.計(jì)費(fèi)(Accounting)在計(jì)算的受委托方,存在計(jì)費(fèi)處理的非法動(dòng)作和CPU利用量數(shù)據(jù)的篡改的危險(xiǎn),所以,需要保證計(jì)費(fèi)處理和計(jì)費(fèi)數(shù)據(jù)的完整性。4.當(dāng)為了解決上述問題而使用軟件TRM時(shí),處理大幅度變慢,所以,不符合重視處理速度的GRID計(jì)算的要求。而且,如具有關(guān)于計(jì)算機(jī)的特定知識(shí),則容易破解軟件TRM。由于存在這樣的問題,所以,作為GRID計(jì)算的受委托方,不能積極地利用一般的個(gè)人計(jì)算機(jī)和工作站。然而,作為在安裝了GT的CPU上運(yùn)行的保護(hù)代碼,通過開發(fā)在計(jì)算受委托方執(zhí)行的軟件,從而可實(shí)現(xiàn)以下內(nèi)容,所以,解決了上述問題。1.安全的CPU(GT)的認(rèn)證和執(zhí)行代碼篡改防止保護(hù)2.計(jì)算處理篡改防止功能3.安全計(jì)費(fèi)4.執(zhí)行代碼的非法復(fù)制、非法利用的防止5.計(jì)算被委托方的選擇的最佳化6.需要可靠性的情況可指定TRM的級(jí)別和證書生效日等。作為第12實(shí)施形式,說明在機(jī)器人的應(yīng)用。替代人和動(dòng)物的作業(yè)和動(dòng)作的自律型機(jī)器人的研究和其發(fā)表很多,關(guān)于其安全性的討論也進(jìn)一步變得重要。此前僅是作為信息處理裝置的計(jì)算機(jī)受到病毒等攻占的威脅,但現(xiàn)在需要設(shè)想物理地移動(dòng)、在其某些用途方面超過人力之上的機(jī)器人可能出現(xiàn)同樣的事態(tài)。然而,通過在機(jī)器人具有以下的機(jī)構(gòu),可解決這樣的問題。1.在機(jī)器人用的危險(xiǎn)部件的CPU全部安裝GT,裝入機(jī)器人認(rèn)定機(jī)關(guān)發(fā)行的證書。2.機(jī)器人用的CPU具有僅執(zhí)行可確認(rèn)的代碼的機(jī)構(gòu)。3.機(jī)器人用的CPU不與沒有證書的CPU交換安全級(jí)別高的信息。4.嵌入作為GT保護(hù)軟件實(shí)現(xiàn)“殺人·傷害禁止規(guī)則”、認(rèn)定機(jī)關(guān)發(fā)行的證書的私鑰。5.僅在根據(jù)規(guī)則利用“殺人·傷害禁止規(guī)則”實(shí)現(xiàn)軟件的應(yīng)用程序嵌入認(rèn)定機(jī)關(guān)發(fā)行的證書的私鑰。6.使得從所有的機(jī)器人全輸入處理和可能產(chǎn)生危害的動(dòng)作處理的程序代碼控制該規(guī)則引擎,對(duì)整體進(jìn)行GT保護(hù)化。7.在程序代碼一定預(yù)先附加數(shù)字簽名。在執(zhí)行代碼之前,進(jìn)行簽名檢驗(yàn),在沒有執(zhí)行授權(quán)的情況停止。8.對(duì)集成軟件整體進(jìn)行GT保護(hù)化。這樣,可對(duì)抗使機(jī)器人兇犯化的病毒和中央控制功能篡改等。下面,作為第13實(shí)施形式,說明在個(gè)人信息保護(hù)的應(yīng)用。當(dāng)今,“.NET”這樣的獲得了來自眾人的信賴的個(gè)人信息管理服務(wù)管理著許多個(gè)人信息,其它服務(wù)僅能獲得提供自身服務(wù)所必要的個(gè)人信息和其統(tǒng)計(jì)信息程度。因此,這些服務(wù)為了獲得營(yíng)業(yè)戰(zhàn)略上的顧客統(tǒng)計(jì)信息或提供廣告郵件服務(wù),需要利用特定的個(gè)人信息管理服務(wù)。這樣的狀況的安全上的問題如下。1.回收個(gè)人信息的服務(wù)存在不遵守提示給服務(wù)利用者的“個(gè)人信息保護(hù)方針”的可能性。通過使用P3P(隱私優(yōu)先的平臺(tái)(PlatformforPrivacyPreference)用于隱私控制的基礎(chǔ))等,即使更換了方針,也沒有對(duì)其進(jìn)行強(qiáng)制的技術(shù)。2.在處理個(gè)人信息的服務(wù)中,存在處理個(gè)人信息的工作人員自身非法泄漏個(gè)人信息的可能性。為了解決這些問題,按照本實(shí)施形式,在提供各服務(wù)的服務(wù)器的CPU安裝GT,在其上作為GT保護(hù)代碼將處理個(gè)人信息的服務(wù)器DRM軟件和服務(wù)器應(yīng)用程序包化。如上述那樣,在GT許可中可相對(duì)執(zhí)行軟件的過程設(shè)定訪問條件。因此,對(duì)于此前不能從外部強(qiáng)制訪問控制的服務(wù)器也可強(qiáng)制應(yīng)用程序操作中的訪問條件。這樣,可相對(duì)一般消費(fèi)者提供能夠信賴的個(gè)人信息管理服務(wù)。另外,可促進(jìn)個(gè)人信息向服務(wù)網(wǎng)站的積極的提供,進(jìn)行按照利用者的要求的場(chǎng)所間的積極的個(gè)人信息交換,從而可使廣告·營(yíng)業(yè)活動(dòng)和消費(fèi)活動(dòng)更活躍。下面,作為第14實(shí)施形式,說明在抗病毒手段的應(yīng)用。在過去的抗病毒手段中,并用軟件的數(shù)字簽名檢驗(yàn)功能和病毒檢驗(yàn)軟件。然而,在該方式中,相對(duì)最新的病毒在簽名檢驗(yàn)功能或查毒軟件起動(dòng)之前改寫動(dòng)作的執(zhí)行文件的攻擊無力對(duì)抗。如為具有代碼簽名逐次確認(rèn)功能的GT,則可對(duì)抗這樣的病毒。為此,在CPU裝載第2實(shí)施形式的GT,用GT保護(hù)用于安裝代碼檢驗(yàn)的軟件(代碼和數(shù)據(jù))。然后,在從引導(dǎo)程序起動(dòng)查毒軟件之前由GT(CPU)逐次確認(rèn)代碼簽名。而且,在按GT的抗攻擊模式執(zhí)行查毒軟件。查毒軟件在執(zhí)行各代碼之前計(jì)算代碼的散列,或確認(rèn)簽名。這樣,可破壞不能對(duì)抗新種類病毒的系統(tǒng)上的安全漏洞。關(guān)于代碼簽名檢驗(yàn)功能已進(jìn)行了說明。這樣,通過在抗病毒手段采用GT,與過去的方式相比,可實(shí)現(xiàn)強(qiáng)度非常高的抗病毒軟件。以上,說明了GT的各種各樣的應(yīng)用例。通過這樣采用裝載了GT的CPU,從而可促進(jìn)受到信息安全上的威脅抑制的各種尖端信息技術(shù)在社會(huì)基礎(chǔ)的適用。例如,可期待如下那樣的產(chǎn)業(yè)上的技術(shù)革新。1.使得過去由于內(nèi)容保護(hù)的強(qiáng)度和功能問題而未能積極地提供給PC的內(nèi)容積極地流入到互聯(lián)網(wǎng),另外,使用各種P2P(個(gè)人到個(gè)人)技術(shù)積極地促進(jìn)超流通。2.通過在利用者認(rèn)證、電子錢包等的應(yīng)用,僅利用一般的信息設(shè)備的購(gòu)物通過追加軟件即可安全實(shí)現(xiàn)。這樣,擔(dān)心通過互聯(lián)網(wǎng)購(gòu)物的利用者也可購(gòu)物。銷售側(cè)也可安心地在網(wǎng)站放置物品進(jìn)行銷售,市場(chǎng)變寬,促進(jìn)了全民辦的互聯(lián)網(wǎng)銷售業(yè)務(wù)。3.通過實(shí)現(xiàn)強(qiáng)力的個(gè)人信息保護(hù)功能,可實(shí)現(xiàn)安心地積極推銷個(gè)人信息實(shí)現(xiàn)的通過互聯(lián)網(wǎng)的廣告活動(dòng)和消費(fèi)活動(dòng)的進(jìn)一步的活躍。4.可積極地利用GRID計(jì)算,作為該GRID計(jì)算,過去害怕使用看不見、不知道的CPU,或無償借出CPU的不公平感使得不能積極地提供計(jì)算能力。這樣,一般的共享CPU的利用效率提高到10倍左右或其以上。因此,如單純進(jìn)行計(jì)算,則各計(jì)算機(jī)的處理速度與僅由本地的CPU計(jì)算時(shí)相比,平均可提高10倍左右或其以上的速度?;蛘撸稍诒匾挠?jì)算中集中世界的CPU。5.由強(qiáng)力的病毒對(duì)抗和模塊使用費(fèi)P2P計(jì)費(fèi)安全促進(jìn)軟件部件的“超流通”和以超越網(wǎng)絡(luò)的自律協(xié)調(diào)型分散開發(fā)為目標(biāo)的“超流用(Superappropriation)”。6.由GT實(shí)現(xiàn)的安全性的保障積極地促進(jìn)了強(qiáng)力的實(shí)用機(jī)器人在社會(huì)的滲透。另外,將來,GT作為在任何時(shí)間任何地點(diǎn)由任何人都可利用的安全的通用計(jì)算處理基礎(chǔ),成為高可信無處不在的計(jì)算(Trustedubiquitouscomputing)的基礎(chǔ)設(shè)施。以上說明了本發(fā)明的實(shí)施形式,但本發(fā)明不限于上述實(shí)施形式,可進(jìn)行其它各種各樣的變更。權(quán)利要求1.一種中央運(yùn)算裝置,為執(zhí)行程序的中央運(yùn)算裝置,其特征在于,具有進(jìn)行塊的加密和加密塊的解密的密碼單元,在上述中央運(yùn)算裝置中秘密地隱藏有第1私鑰,上述密碼單元通過使用上述第1私鑰對(duì)使用與上述第1私鑰成對(duì)的公鑰而被加密的第1程序的第1許可進(jìn)行解密,從而從上述第1許可獲得對(duì)構(gòu)成上述第1程序的加密塊進(jìn)行解密用的代碼解密鑰匙。2.根據(jù)權(quán)利要求1所述的中央運(yùn)算裝置,其特征在于,還具有高速緩存,上述密碼單元從存儲(chǔ)區(qū)域?qū)?gòu)成上述第1程序的加密塊輸出到上述高速緩存時(shí),按高速緩存單位對(duì)上述加密塊進(jìn)行解密。3.根據(jù)權(quán)利要求1或2所述的中央運(yùn)算裝置,其特征在于,還具有用戶不能參照或篡改的抗攻擊緩沖器,上述代碼解密鑰匙記錄于上述抗攻擊緩沖器中。4.根據(jù)權(quán)利要求3所述的中央運(yùn)算裝置,其特征在于,上述第1許可包含上述第1程序的執(zhí)行過程訪問存儲(chǔ)區(qū)域時(shí)的訪問條件,上述中央運(yùn)算裝置還具有記錄對(duì)構(gòu)成上述第1程序的加密塊進(jìn)行記錄的上述存儲(chǔ)區(qū)域的地址和對(duì)上述存儲(chǔ)區(qū)域的訪問條件的TLB(轉(zhuǎn)換后備緩沖器);存儲(chǔ)器管理單元;高速緩存;處理器內(nèi)核,上述TLB與上述抗攻擊緩沖器連接,上述存儲(chǔ)器管理單元根據(jù)記錄加密塊的存儲(chǔ)區(qū)域的地址而從上述TLB獲取對(duì)上述存儲(chǔ)區(qū)域的訪問條件,然后,從上述抗攻擊緩沖器獲取與上述存儲(chǔ)區(qū)域?qū)?yīng)的上述代碼解密鑰匙,上述處理器內(nèi)核根據(jù)上述存儲(chǔ)器管理單元獲取的上述訪問條件,判定是否允許執(zhí)行從上述執(zhí)行過程對(duì)上述存儲(chǔ)區(qū)域的訪問,在判定允許執(zhí)行對(duì)上述存儲(chǔ)區(qū)域的訪問的情況下,執(zhí)行從上述執(zhí)行過程對(duì)上述存儲(chǔ)區(qū)域的訪問,上述密碼單元使用上述存儲(chǔ)器管理單元獲取的上述代碼解密鑰匙對(duì)上述存儲(chǔ)區(qū)域內(nèi)的上述加密塊進(jìn)行解密,將由此獲得的代碼寫入到上述高速緩存中。5.根據(jù)權(quán)利要求4所述的中央運(yùn)算裝置,其特征在于,上述代碼解密鑰匙與對(duì)上述加密塊進(jìn)行加密時(shí)使用的密鑰為相同的鑰匙。6.根據(jù)權(quán)利要求4或5所述的中央運(yùn)算裝置,其特征在于,在從上述第1程序的執(zhí)行過程訪問的存儲(chǔ)區(qū)域從第1存儲(chǔ)區(qū)域轉(zhuǎn)換到第2存儲(chǔ)區(qū)域時(shí),上述存儲(chǔ)管理單元還判定從上述抗攻擊緩沖器獲取的與上述第1存儲(chǔ)區(qū)域?qū)?yīng)的代碼解密鑰匙和與上述第2存儲(chǔ)區(qū)域?qū)?yīng)的代碼解密鑰匙是否一致,在判定為一致的情況下,執(zhí)行從上述執(zhí)行過程對(duì)上述第2存儲(chǔ)區(qū)域的訪問,在判定為不一致的情況下,不執(zhí)行從上述執(zhí)行過程對(duì)上述第2存儲(chǔ)區(qū)域的訪問。7.根據(jù)權(quán)利要求1~6中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1許可嵌入到上述第1程序中。8.根據(jù)權(quán)利要求4~7中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,在上述抗攻擊緩沖器中針對(duì)上述每個(gè)代碼解密鑰匙記錄有不同的數(shù)據(jù)密鑰,上述密碼單元在將上述高速緩存內(nèi)的數(shù)據(jù)記錄到上述存儲(chǔ)區(qū)域時(shí),使用上述數(shù)據(jù)密鑰將上述數(shù)據(jù)加密后,通過上述TLB記錄到與上述數(shù)據(jù)密鑰建立對(duì)應(yīng)的上述存儲(chǔ)區(qū)域中,當(dāng)讀出上述存儲(chǔ)區(qū)域內(nèi)的加密了的數(shù)據(jù)時(shí),使用上述數(shù)據(jù)密鑰對(duì)讀出的上述數(shù)據(jù)進(jìn)行解密后,寫入到上述高速緩存中。9.根據(jù)權(quán)利要求8所述的中央運(yùn)算裝置,其特征在于,當(dāng)由第2代碼利用通過執(zhí)行第1代碼而獲得的數(shù)據(jù)時(shí),上述處理器內(nèi)核以將對(duì)記錄上述數(shù)據(jù)的存儲(chǔ)區(qū)域的訪問權(quán)提供給上述第2代碼的形式設(shè)定上述TLB,而且,以上述第2代碼從上述存儲(chǔ)區(qū)域讀出上述數(shù)據(jù)時(shí)使用對(duì)上述數(shù)據(jù)進(jìn)行加密用的數(shù)據(jù)密鑰的形式設(shè)定上述TLB和上述抗攻擊緩沖器。10.根據(jù)權(quán)利要求4~9中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,還具有寄存器和進(jìn)行對(duì)寄存器的訪問控制用的寄存器訪問控制表,上述處理器內(nèi)核使用上述寄存器訪問控制表內(nèi)的密封標(biāo)志,控制上述寄存器的密封和釋放。11.根據(jù)權(quán)利要求4~10中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,當(dāng)將TLB的內(nèi)容記錄到外部存儲(chǔ)裝置內(nèi)的頁(yè)表時(shí),上述密碼單元將簽名提供給記錄的內(nèi)容,在將上述頁(yè)表的內(nèi)容取入到上述TLB中之前,上述密碼單元確認(rèn)上述簽名是正確的。12.根據(jù)權(quán)利要求3~11中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,當(dāng)將上述抗攻擊緩沖器的內(nèi)容記錄到外部存儲(chǔ)裝置內(nèi)的加密鑰匙表時(shí),上述密碼單元對(duì)記錄的內(nèi)容進(jìn)行加密。13.根據(jù)權(quán)利要求1~12中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述中央運(yùn)算裝置與其它中央運(yùn)算裝置連接,上述中央運(yùn)算裝置通過與上述其它中央運(yùn)算裝置相互進(jìn)行認(rèn)證而獲得對(duì)話鑰匙,上述中央運(yùn)算裝置的上述密碼單元使用上述對(duì)話鑰匙將上述中央運(yùn)算裝置的上述高速緩存的內(nèi)容加密,同步傳送到上述其它的中央運(yùn)算裝置。14.根據(jù)權(quán)利要求1~13中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述密碼單元執(zhí)行上述第1程序之前,使用上述公鑰對(duì)附加于第2程序的上述第2許可進(jìn)行解密,從而獲取對(duì)第2私鑰進(jìn)行加密時(shí)使用的私鑰密鑰,然后,使用上述獲得的私鑰密鑰對(duì)上述第2私鑰進(jìn)行解密。15.根據(jù)權(quán)利要求14所述的中央運(yùn)算裝置,其特征在于,在上述第2許可中附加表示可僅從上述第1程序的執(zhí)行過程讀出的訪問條件,上述第2私鑰可僅從上述第1程序的執(zhí)行程序讀出。16.根據(jù)權(quán)利要求14或15所述的中央運(yùn)算裝置,其特征在于,上述第2私鑰由數(shù)據(jù)密鑰加密后記錄于存儲(chǔ)區(qū)域中。17.根據(jù)權(quán)利要求3~16中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述抗攻擊緩沖器還記錄有外部輸出禁止信息,其表示是否可將對(duì)應(yīng)的上述抗攻擊緩沖器內(nèi)的信息輸出到上述抗攻擊緩沖器外;高速緩存鎖定信息,其表示是否可將對(duì)應(yīng)的信息輸出到高速緩存外,根據(jù)上述外部輸出禁止信息和上述高速緩存鎖定信息,管理與第1程序和其它程序之間的上述第1許可的移動(dòng)。18.根據(jù)權(quán)利要求1~17中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1程序?yàn)榭尚庞?jì)算模塊。19.根據(jù)權(quán)利要求1~17中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1程序是使上述中央運(yùn)算裝置實(shí)現(xiàn)電子錢包的程序。20.根據(jù)權(quán)利要求1~17中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1程序?yàn)樘幚韨€(gè)人信息的程序。21.根據(jù)權(quán)利要求1~17中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1程序?yàn)樯鲜鲋醒脒\(yùn)算裝置的安裝代碼的查毒程序。22.根據(jù)權(quán)利要求1~17中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1程序?yàn)樵诙鄠€(gè)中央運(yùn)算裝置間移動(dòng)的移動(dòng)代理。23.根據(jù)權(quán)利要求1~22中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,構(gòu)成上述第1程序的塊包含表示上述塊的散列值的確認(rèn)是否需要的散列確認(rèn)要否信息,還具有散列單元,其根據(jù)上述散列確認(rèn)要否信息計(jì)算出上述塊的散列值,并附加于上述塊;散列確認(rèn)單元,其根據(jù)上述散列確認(rèn)要否信息確認(rèn)上述塊的上述散列值。24.根據(jù)權(quán)利要求1~23中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,構(gòu)成上述第1程序的塊包含表示上述塊是否需要保護(hù)的加密要否信息,還具有保護(hù)塊選擇單元,其根據(jù)上述加密要否信息判定將上述塊是輸出到上述密碼單元中,還是原樣輸出到高速緩存或存儲(chǔ)區(qū)域中。25.根據(jù)權(quán)利要求1~23中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1程序的執(zhí)行文件的標(biāo)題包含表示構(gòu)成上述第1程序的塊的構(gòu)成的加密塊位圖,還具有保護(hù)塊選擇單元,其根據(jù)上述加密塊位圖判定將上述塊是輸出到上述密碼單元中,還是原樣輸出到高速緩存或存儲(chǔ)區(qū)域中。26.根據(jù)權(quán)利要求1~23中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述第1程序的代碼的起始部分為如下的代碼,其指定構(gòu)成上述第1程序的多個(gè)塊為明文塊與加密塊的組合的重復(fù),且指定在上述組合中明文塊連續(xù)的數(shù)和加密塊連續(xù)的數(shù),通過執(zhí)行該代碼,上述處理器內(nèi)核判定將上述塊是輸出到上述密碼單元中,還是原樣輸出到高速緩存或存儲(chǔ)區(qū)域中。27.根據(jù)權(quán)利要求2~26中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述高速緩存與存儲(chǔ)器之間還具有通過上述密碼單元的高速緩存線;不通過上述密碼單元的高速緩存線。28.一種計(jì)算機(jī),其特征在于,具有權(quán)利要求1~27中任一項(xiàng)所述的中央運(yùn)算裝置。29.一種IC卡,其特征在于,具有權(quán)利要求1~27中任一項(xiàng)所述的中央運(yùn)算裝置。30.根據(jù)權(quán)利要求29所述的IC卡,其特征在于,上述第1程序?yàn)閷?shí)現(xiàn)上述IC卡的安全功能的程序。31.根據(jù)權(quán)利要求1~27中任一項(xiàng)所述的中央運(yùn)算裝置,其特征在于,上述中央運(yùn)算裝置裝載于機(jī)器人上,上述第1程序?yàn)榭刂粕鲜鰴C(jī)器人的控制程序。32.一種程序,進(jìn)行將執(zhí)行保護(hù)程序的授權(quán)提供給中央運(yùn)算裝置的控制,其特征在于,使上述中央運(yùn)算裝置執(zhí)行包含如下內(nèi)容的處理上述保護(hù)程序由代碼密鑰加密,并且存在有許可,該許可對(duì)應(yīng)于上述保護(hù)程序,包含上述代碼密鑰,而且由與秘密地設(shè)于上述中央運(yùn)算裝置中的私鑰成對(duì)的公鑰來加密,在上述中央運(yùn)算裝置執(zhí)行上述保護(hù)程序之前,將上述許可投入到上述中央運(yùn)算裝置中,在上述中央運(yùn)算裝置具有的密碼單元中,通過使用上述私鑰對(duì)上述許可進(jìn)行解密,從而從上述許可獲取上述代碼密鑰,在上述密碼單元中,使用上述代碼密鑰使上述保護(hù)程序解密。33.一種記錄程序的記錄裝置,該程序進(jìn)行將執(zhí)行保護(hù)程序的授權(quán)提供給中央運(yùn)算裝置的控制,其特征在于,該程序使上述中央運(yùn)算裝置執(zhí)行包含如下內(nèi)容的處理上述保護(hù)程序由代碼密鑰加密,并且存在有許可,該許可對(duì)應(yīng)于上述保護(hù)程序,包含上述代碼密鑰,而且由與秘密地設(shè)于上述中央運(yùn)算裝置中的私鑰成對(duì)的公鑰來加密,在上述中央運(yùn)算裝置執(zhí)行上述保護(hù)程序之前,將上述許可投入到上述中央運(yùn)算裝置中,在上述中央運(yùn)算裝置具有的密碼單元中,通過使用上述私鑰對(duì)上述許可進(jìn)行解密,從而從上述許可獲取上述代碼密鑰,在上述密碼單元中,使用上述代碼密鑰使上述保護(hù)程序解密。34.一種程序執(zhí)行授權(quán)方法,將執(zhí)行保護(hù)程序的授權(quán)提供給中央運(yùn)算裝置,其特征在于,包括上述保護(hù)程序由代碼密鑰加密,并且存在有許可,該許可對(duì)應(yīng)于上述保護(hù)程序,包含上述代碼密鑰,而且由與設(shè)于上述中央運(yùn)算裝置的私鑰成對(duì)的公鑰來加密,上述中央運(yùn)算裝置在執(zhí)行上述保護(hù)程序之前,獲取上述許可,上述中央運(yùn)算裝置通過使用上述私鑰對(duì)上述許可進(jìn)行解密,從而從上述許可獲取上述代碼密鑰,上述中央運(yùn)算裝置使用上述代碼密鑰對(duì)上述保護(hù)程序進(jìn)行解密。35.一種程序,為在計(jì)算機(jī)中執(zhí)行的程序代碼,其特征在于,上述程序代碼由代碼密鑰加密,存在有許可,該許可對(duì)應(yīng)于上述程序代碼,包含上述代碼密鑰,而且由與中央運(yùn)算裝置秘密具有的私鑰成對(duì)的公鑰來加密,該中央運(yùn)算裝置設(shè)于應(yīng)執(zhí)行上述程序代碼的計(jì)算機(jī)中,在執(zhí)行上述程序代碼之前,將上述許可投入到上述中央運(yùn)算裝置中,由上述中央運(yùn)算裝置使用上述私鑰將上述許可解密,上述程序代碼使用從上述許可獲取的上述代碼密鑰,由上述中央運(yùn)算裝置解密。36.一種記錄程序的記錄媒體,記錄在計(jì)算機(jī)中執(zhí)行的程序代碼,可由上述計(jì)算機(jī)讀取,其特征在于,上述程序代碼由代碼密鑰加密,存在有許可,該許可對(duì)應(yīng)于上述程序代碼,包含上述代碼密鑰,而且由與中央運(yùn)算裝置秘密具有的私鑰成對(duì)的公鑰來加密,該中央運(yùn)算裝置設(shè)于應(yīng)執(zhí)行上述程序代碼的計(jì)算機(jī)中,在執(zhí)行上述程序代碼之前,將上述許可投入到上述中央運(yùn)算裝置中,由上述中央運(yùn)算裝置使用上述私鑰將上述許可解密,上述程序代碼使用從上述許可獲取的上述代碼密鑰,由上述中央運(yùn)算裝置解密。37.一種軟件生成裝置,是生成在具有中央運(yùn)算裝置的計(jì)算機(jī)中執(zhí)行的程序的程序生成裝置,該中央運(yùn)算裝置具有秘密地隱藏的私鑰和進(jìn)行加密和解密的密碼單元;其特征在于,具有輸入單元,其輸入代碼目標(biāo);連接程序前處理單元,其將所輸入的上述代碼目標(biāo)分成多個(gè)塊,并將空操作命令追加到各塊中;連接程序單元,其進(jìn)行地址解決;保護(hù)代碼執(zhí)行形式生成單元,其通過使用代碼密鑰將各塊加密,從而生成保護(hù)代碼執(zhí)行形式;許可生成單元,其生成許可,該許可包含上述代碼密鑰,由與上述私鑰成對(duì)的公鑰加密,上述許可在上述計(jì)算機(jī)執(zhí)行上述保護(hù)代碼執(zhí)行形式之前投入到上述中央運(yùn)算裝置中,由上述密碼單元使用上述私鑰進(jìn)行解密,上述保護(hù)代碼執(zhí)行形式使用從上述許可獲取的上述代碼密鑰,由上述密碼單元進(jìn)行解密。全文摘要中央運(yùn)算裝置(GT)10秘密地具有私鑰和密碼引擎16。GT10在執(zhí)行軟件之前將附加于軟件的許可投入到GT10。許可包含以與私鑰成對(duì)的公鑰對(duì)軟件加密時(shí)使用的代碼密鑰進(jìn)行加密的信息。當(dāng)投入許可時(shí),密碼引擎16通過使用私鑰對(duì)許可進(jìn)行解密而獲取代碼密鑰,使用該代碼密鑰對(duì)軟件進(jìn)行解密。文檔編號(hào)G06F1/00GK1668990SQ0282958公開日2005年9月14日申請(qǐng)日期2002年7月9日優(yōu)先權(quán)日2002年7月9日發(fā)明者畠山卓久,丸山秀史,牛若惠一,長(zhǎng)谷部高行,前田直昭,須賀敦浩申請(qǐng)人:富士通株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
武宣县| 蓬莱市| 秀山| 揭东县| 旬阳县| 藁城市| 伊宁县| 宣化县| 伊川县| 长兴县| 安庆市| 濉溪县| 康平县| 古交市| 苗栗县| 沁水县| 溆浦县| 且末县| 新源县| 漠河县| 乐至县| 福安市| 和龙市| 凤阳县| 二连浩特市| 肃南| 二手房| 察隅县| 喀喇| 崇仁县| 年辖:市辖区| 邓州市| 木兰县| 徐闻县| 什邡市| 古丈县| 白银市| 东城区| 藁城市| 华池县| 西贡区|