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

加密指令處理設(shè)備的制作方法

文檔序號(hào):7622037閱讀:174來源:國(guó)知局
專利名稱:加密指令處理設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及加密指令處理設(shè)備,諸如結(jié)合到所謂的數(shù)字家用電器中的處理器,用于處理需要版權(quán)保護(hù)的數(shù)字?jǐn)?shù)據(jù),并執(zhí)行加密指令代碼。所謂的數(shù)字家用電器諸如數(shù)字AV(音頻視頻)裝置、蜂窩電話(移動(dòng)通信裝置)等。
背景技術(shù)
在數(shù)字AV裝置等中,對(duì)諸如商業(yè)視頻和音樂數(shù)據(jù)之類其版權(quán)必須要保護(hù)的數(shù)字?jǐn)?shù)據(jù)進(jìn)行處理。為了保護(hù)這樣的數(shù)字?jǐn)?shù)據(jù)免于未被授權(quán)的使用等,例如,已經(jīng)實(shí)際使用了一種技術(shù),即與諸如DVD(數(shù)字多功能光盤)和SD存儲(chǔ)卡(安全數(shù)字存儲(chǔ)卡)之類的記錄介質(zhì)的格式相關(guān)聯(lián),對(duì)數(shù)據(jù)進(jìn)行加密來保護(hù)。
然而,在其中通過執(zhí)行程序進(jìn)行對(duì)要保護(hù)的數(shù)據(jù)的加密和解密的情況下,如果程序執(zhí)行的處理過程被分析,則不能可靠地保護(hù)數(shù)據(jù)。因此,除了通過加密來保護(hù)要保護(hù)的數(shù)據(jù)之外,還必須保護(hù)加密/解密程序本身不被分析等處理。
作為一種用于保護(hù)程序不被分析等處理的技術(shù),已知有這樣的技術(shù),其中預(yù)先對(duì)程序進(jìn)行加密并存儲(chǔ)在ROM中,由部署于CPU和指令加密密鑰電路的外部的指令加密解密器對(duì)加密程序進(jìn)行解密,并且然后在CPU中執(zhí)行指令(例如,參見日本特許公開公布No.62-171031,圖1)。
此外,在另一種用于保護(hù)程序不被分析等處理的技術(shù)中,對(duì)具有機(jī)密性的程序部分進(jìn)行加密并存儲(chǔ)在外部存儲(chǔ)器中,以及部署用于裝載程序并解密程序的裝入程序(loader)和存儲(chǔ)管理部分。通過存儲(chǔ)管理部分的管理將解密程序?qū)懭氪鎯?chǔ)器中,并且然后僅當(dāng)CPU執(zhí)行指令時(shí),指令管理部分允許讀出解密部分,以及執(zhí)行存儲(chǔ)管理使得限制數(shù)據(jù)整個(gè)的讀出(例如,參見日本特許公開公布No.4-310128,圖1)。
另外,還有另一種技術(shù),其中使用通過虛擬存儲(chǔ)機(jī)制的存儲(chǔ)管理,以及對(duì)于虛擬存儲(chǔ)機(jī)制的每頁(多數(shù)處理器中4K字節(jié)的大小或更多),對(duì)其中具有高機(jī)密性的程序部分進(jìn)行加密并存儲(chǔ)在存儲(chǔ)器中,以及將指示加密部分是否存在的標(biāo)記添加到虛擬存儲(chǔ)機(jī)制的頁表中,從而控制對(duì)要執(zhí)行的指令的解密(例如,參見日本特許公開公布No.2001-230770,圖1)。
然而,在其中在部署于CPU外部的指令加密解密器中對(duì)加密程序進(jìn)行解密的配置中,當(dāng)把解密程序發(fā)送到CPU時(shí),容易不正當(dāng)?shù)刈x出程序。因此,不能保證保護(hù)程序免于被非法分析等。
以相同方式,在其中在部署于CPU外部的裝入程序中對(duì)加密程序進(jìn)行解密并存儲(chǔ)在由存儲(chǔ)管理部分管理的存儲(chǔ)器中的配置中,當(dāng)把程序從裝入程序發(fā)送到存儲(chǔ)器中時(shí)以及當(dāng)經(jīng)由管理部分把程序從存儲(chǔ)器發(fā)送到CPU時(shí),也容易不正當(dāng)?shù)刈x出解密的程序。因此,不能保證保護(hù)程序免于被非法分析等。此外,為了限制作為數(shù)據(jù)從存儲(chǔ)器讀出具有機(jī)密性的指令,存儲(chǔ)管理部分是必需的。因此,出現(xiàn)硬件規(guī)模和制作成本增加的問題。
此外,同樣在其中使用通過虛擬存儲(chǔ)機(jī)制的存儲(chǔ)管理的配置中,需要大的硬件規(guī)模。因此,如果對(duì)于由虛擬存儲(chǔ)機(jī)制管理的存儲(chǔ)器的每頁(多數(shù)處理器中4K字節(jié)或更多),判斷加密的部分是否存在,則不能實(shí)現(xiàn)對(duì)加密部分的存在與不存在的精確設(shè)置。因此,對(duì)不必加密的程序部分進(jìn)行了加密,從而由于這種不希望的加密,指令執(zhí)行速度往往降低。

發(fā)明內(nèi)容
鑒于上述問題,構(gòu)思了本發(fā)明,并因此本發(fā)明的目的在于提供一種加密指令處理設(shè)備,使得能夠可靠地防止對(duì)程序的非法分析,僅對(duì)需要保護(hù)的程序部分進(jìn)行加密,以便以簡(jiǎn)單的方式減少解密時(shí)間,并抑制硬件規(guī)模的增加。
為了解決上述問題,本發(fā)明提出了一種加密指令處理設(shè)備,用于執(zhí)行由包括加密指令代碼的多個(gè)指令代碼所形成的程序,并且該設(shè)備特征在于,包括讀入部分,用于在指令代碼中讀取指示各指令代碼是否加密的指令加密信息;以及指令解密部分,用于當(dāng)指令加密信息指示至少一個(gè)指令代碼加密時(shí),對(duì)加密指令代碼進(jìn)行解密。
因而,即使形成的程序包括加密指令代碼和未加密指令代碼二者,也根據(jù)指令加密信息對(duì)加密指令代碼進(jìn)行解密,并然后執(zhí)行。
此外,根據(jù)本發(fā)明的一個(gè)實(shí)施方式,該發(fā)明的加密指令設(shè)備還包括用于存儲(chǔ)多個(gè)解密密鑰的解密密鑰存儲(chǔ)部分,讀入部分形成為在指令代碼中讀取各指令代碼是否加密以及指示要用于解密的解密密鑰的指令加密信息,以及指令解密部分形成為利用由指令加密信息指示的解密密鑰之一對(duì)加密指令代碼進(jìn)行解密。
因而,能夠靈活地使用多種解密密鑰。也就是說,根據(jù)指令加密信息可選擇性地使用多種解密密鑰,以解密至少一個(gè)指令代碼以及執(zhí)行該加密代碼。
根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,本發(fā)明的加密指令設(shè)備形成為在解密密鑰存儲(chǔ)部分中存儲(chǔ)有彼此具有不同長(zhǎng)短的解密密鑰。
因而,能夠靈活地使用彼此具有不同長(zhǎng)短的解密密鑰。也就是說,根據(jù)指令加密信息可選擇性地使用彼此具有不同長(zhǎng)短的解密密鑰,以解密至少一個(gè)指令代碼以及執(zhí)行加密代碼。
根據(jù)本發(fā)明的又一個(gè)實(shí)施方式,在本發(fā)明的加密指令處理設(shè)備中,讀入部分形成為在指令代碼中讀取各指令代碼是否加密以及指示要用于解密的算法的指令加密信息,以及指令解密部分形成為利用由指令加密信息指示的算法對(duì)加密指令代碼進(jìn)行解密。
因而,能夠靈活地使用多種加密算法。也就是說,根據(jù)指令加密信息可選擇性地使用多種算法,以解密至少一個(gè)指令代碼以及執(zhí)行加密代碼。
根據(jù)另一實(shí)施方式,在本發(fā)明的加密指令處理設(shè)備中,指令代碼是加密AV處理指令代碼,用于進(jìn)行AV內(nèi)容的加密/解密和AV編碼/解碼,以及在程序中,對(duì)不需要實(shí)時(shí)處理且需要高度機(jī)密性的至少一個(gè)加密AV處理指令代碼進(jìn)行加密,以及需要實(shí)時(shí)處理和低級(jí)機(jī)密性的至少一個(gè)加密AV處理指令代碼處于未加密形式。
因而,能夠把指令代碼的解密范圍限制為不需要實(shí)時(shí)處理且需要高度機(jī)密性的至少一個(gè)指令代碼,從而減少用于指令代碼的解密處理時(shí)間。因此,能夠高速進(jìn)行加密AV內(nèi)容的加密/解密和AV編碼/解碼。


圖1是說明根據(jù)本發(fā)明的實(shí)施方式1的加密指令處理設(shè)備的配置的方框圖;圖2是說明在本發(fā)明的實(shí)施方式1的加密指令處理設(shè)備中使用的加密擴(kuò)展指令代碼的配置的示圖;圖3是說明由本發(fā)明的實(shí)施方式1的加密指令處理設(shè)備執(zhí)行的程序的加密的一個(gè)實(shí)施例的示圖;圖4是說明根據(jù)本發(fā)明的實(shí)施方式2的加密指令處理設(shè)備的配置的方框圖;圖5是說明在本發(fā)明的實(shí)施方式2的加密指令處理設(shè)備中使用的加密擴(kuò)展指令代碼的配置的示圖;圖6是說明由本發(fā)明的實(shí)施方式2的加密指令處理設(shè)備執(zhí)行的程序的加密的一個(gè)實(shí)施例的示圖;
圖7是說明根據(jù)本發(fā)明的實(shí)施方式3的加密指令處理設(shè)備的配置的方框圖;圖8是說明在本發(fā)明的實(shí)施方式3的加密指令處理設(shè)備中使用的加密擴(kuò)展指令代碼的配置的示圖;圖9是說明由本發(fā)明的實(shí)施方式3的加密指令處理設(shè)備執(zhí)行的程序的加密的一個(gè)實(shí)施例的示圖;圖10是說明根據(jù)本發(fā)明的實(shí)施方式4的加密指令處理設(shè)備的配置的方框圖;圖11是說明在本發(fā)明的實(shí)施方式4的加密指令處理設(shè)備中使用的加密擴(kuò)展指令代碼的配置的示圖;圖12是說明由本發(fā)明的實(shí)施方式4的加密指令處理設(shè)備執(zhí)行的程序的加密的一個(gè)實(shí)施例的示圖;圖13是說明由本發(fā)明的實(shí)施方式5的加密指令處理設(shè)備執(zhí)行的程序的加密的一個(gè)實(shí)施例的示圖。
具體實(shí)施例方式
以下,將參照附圖描述本發(fā)明的實(shí)施方式。
(實(shí)施方式1)-加密指令處理設(shè)備的配置-圖1是說明根據(jù)本發(fā)明的實(shí)施方式1的加密指令處理設(shè)備的配置的方框圖,并且外部存儲(chǔ)器300作為連接到加密指令處理設(shè)備100的存儲(chǔ)介質(zhì)。
例如,在外部存儲(chǔ)器300中,如圖2所示,存儲(chǔ)用于處理數(shù)據(jù)的程序等,其中該數(shù)據(jù)的版權(quán)要受到保護(hù)。該程序包括多個(gè)加密擴(kuò)展指令代碼310,每個(gè)具有指令加密標(biāo)識(shí)符311和指令代碼312。指令代碼312指示將由加密指令處理設(shè)備100實(shí)際執(zhí)行的指令。根據(jù)要處理的內(nèi)容的機(jī)密性程度,以指令代碼312為單位進(jìn)行加密。此外,指令加密標(biāo)識(shí)符311是指示指令代碼312是否加密的信息。例如,如果指令代碼312沒有加密,則指令加密標(biāo)識(shí)符311設(shè)置為0,以及如果指令代碼312加密,則指令加密標(biāo)識(shí)符311設(shè)置為1。在這種情況下,可以使用各種算法作為加密算法。在這種情況下使用的加密算法并不特別地受到限定,例如,可以使用在下列文獻(xiàn)中所描述的DES加密算法Shigeo Tujii and Masao Kasahara,Encryption andinformation security,Shoko-sha(ISBN4-7856-3057-2C3055P4326E)。
將具體描述用于執(zhí)行上述程序的加密指令處理設(shè)備100。
加密指令處理設(shè)備100包括外部總線控制單元110、指令寄存器120、指令加密判斷部分130、指令解密部分140、指令解碼器150和解密密鑰存儲(chǔ)單元400。
外部總線控制單元110經(jīng)由外部總線200連接到外部存儲(chǔ)器300。通過控制外部總線200和訪問外部存儲(chǔ)器300,外部總線控制單元110依次讀出存儲(chǔ)在外部存儲(chǔ)器300中的加密擴(kuò)展指令代碼310,并把加密擴(kuò)展指令代碼310輸出到指令寄存器120。
指令寄存器120保存加密擴(kuò)展指令代碼310,并把加密擴(kuò)展指令代碼310輸出到指令加密判斷部分130。
指令加密判斷部分130分析各加密擴(kuò)展指令代碼310的指令加密標(biāo)識(shí)符311,并按照指令代碼312是否加密,把信號(hào)(加密判斷信號(hào))輸出到解密密鑰存儲(chǔ)部分400。如果指令代碼312加密,則指令代碼312輸出到指令解密部分140,以及如果指令代碼312沒有加密,則指令代碼312輸出到指令解碼器150。
解密密鑰存儲(chǔ)部分400存儲(chǔ)用于解密加密的指令代碼312的解密密鑰401,并且根據(jù)加密判斷信號(hào),將解密密鑰401輸出到指令解密部分140。
指令解密部分140包括解密器141,對(duì)加密指令代碼312進(jìn)行解密,并將指令代碼312輸出到指令解碼器150。
根據(jù)從指令加密判斷部分130輸出的加密判斷信號(hào),指令解碼器150將由指令解密部分140解密的指令代碼312,或由指令加密判斷部分130輸出的、沒有加密的指令代碼312解碼成一個(gè)可由執(zhí)行部分(未示出)執(zhí)行的信號(hào),然后輸出該信號(hào)。
-加密指令處理設(shè)備的操作-接下來,將描述形成為具有上述配置的加密指令處理設(shè)備的操作。在這個(gè)實(shí)施方式中,將描述一種情況,其中存儲(chǔ)有一種程序,該程序包括這樣的加密擴(kuò)展指令代碼310,其中位于從(n+1)地址至(n+4)地址的指令代碼312沒有加密,以及這樣的加密擴(kuò)展指令代碼310,其中位于從(n+6)地址至(n+9)地址的指令代碼312加密。
當(dāng)開始執(zhí)行n地址時(shí),通過外部總線控制單元110依次讀出多個(gè)加密擴(kuò)展指令代碼310,存儲(chǔ)在指令寄存器120中并輸出到指令加密判斷部分130。在各加密擴(kuò)展指令代碼310中,指令加密標(biāo)識(shí)符311設(shè)置為0(即,沒有加密),并因而指令加密判斷部分130把指令代碼312輸出到指令解碼器150。然后,指令解碼器150對(duì)指令代碼312進(jìn)行解碼,并將解碼后的指令代碼312輸出到執(zhí)行部分。然后,執(zhí)行部分執(zhí)行解碼后的指令代碼312。
當(dāng)程序的執(zhí)行轉(zhuǎn)移到(n+5)地址時(shí),在(n+5)地址中的指令加密標(biāo)識(shí)符311設(shè)置為1。因而,指令加密判斷部分130向解密密鑰存儲(chǔ)部分400輸出指示指令代碼312加密的加密判斷信號(hào),以使解密密鑰存儲(chǔ)部分400輸出解密密鑰401,并且向指令解密部分140輸出指令代碼312。在指令解密部分140中,利用解密密鑰401,解密器141向指令解碼器150輸出解密后的指令代碼312。指令解碼器150對(duì)解密的指令代碼312進(jìn)行解碼,并向執(zhí)行部分(未示出)輸出解碼后的解密指令代碼312。然后,執(zhí)行部分執(zhí)行解碼后的指令代碼312。
如上所述,如果在加密指令處理設(shè)備的內(nèi)部進(jìn)行加密程序的解密和解密密鑰的管理,則不從外部讀取解密的程序、在信號(hào)處理期間的中間數(shù)據(jù)以及解密密鑰。因此,能夠防止程序的非法分析。此外,通過允許以程序的指令代碼為單位設(shè)置存在與不存在,能夠僅對(duì)需要保護(hù)的程序部分進(jìn)行加密。因而,即使當(dāng)解密器141花費(fèi)較長(zhǎng)時(shí)間來處理信號(hào)時(shí),也能抑制執(zhí)行速度的降低。
此外,僅通過分析預(yù)定邏輯值(指令加密標(biāo)識(shí)符311),就能夠判斷指令代碼312是否加密。因此,與其中判斷方法需要虛擬存儲(chǔ)機(jī)制和存儲(chǔ)管理功能的配置相比,能夠抑制硬件規(guī)模的增加。
(實(shí)施方式2)圖4是說明根據(jù)本發(fā)明的實(shí)施方式2的加密指令處理設(shè)備500的配置的方框圖。在這個(gè)實(shí)施方式中,具有與實(shí)施方式1中基本上相同功能的各部件由相同的參考標(biāo)記標(biāo)識(shí),并因此將省略其描述。
作為實(shí)施方式1的解密密鑰存儲(chǔ)部分400的代替,加密指令處理設(shè)備500包括圖4中所示的解密密鑰存儲(chǔ)部分600,以及還包括密鑰號(hào)碼判斷部分510。
根據(jù)從指令加密判斷部分130輸入的加密判斷信號(hào),密鑰號(hào)碼判斷部分510向解密密鑰存儲(chǔ)部分600輸出與密鑰號(hào)碼標(biāo)識(shí)符321對(duì)應(yīng)的信號(hào)(密鑰號(hào)碼識(shí)別信號(hào)),該密鑰號(hào)碼標(biāo)識(shí)符321包括在稍后將描述的加密擴(kuò)展指令代碼320中。
此外,解密密鑰存儲(chǔ)部分600存儲(chǔ)諸如解密密鑰1、2和3(即,解密密鑰401)的多個(gè)解密密鑰和解密密鑰表610。解密密鑰表610示出在密鑰號(hào)碼識(shí)別信號(hào)與指示解密密鑰1、2和3的存儲(chǔ)位置(例如,地址)的信息之間的對(duì)應(yīng)關(guān)系。對(duì)應(yīng)于密鑰號(hào)碼識(shí)別信號(hào)的解密密鑰1、2和3之一輸出到指令解密部分140。
如圖5所示,例如,將由加密指令處理設(shè)備500執(zhí)行的程序包括多個(gè)加密擴(kuò)展指令代碼320,每個(gè)具有密鑰號(hào)碼標(biāo)識(shí)符321、指令加密標(biāo)識(shí)符311和指令代碼312。當(dāng)需要按照機(jī)密性程度的加密保護(hù)時(shí),對(duì)各加密擴(kuò)展指令代碼320的指令代碼312進(jìn)行加密,使得可由三個(gè)解密密鑰401之一解密。對(duì)于密鑰號(hào)碼標(biāo)識(shí)符321設(shè)置信息,指示哪個(gè)解密密鑰用于解密指令代碼312。例如,當(dāng)指令代碼312由解密密鑰1解密時(shí),密鑰號(hào)碼標(biāo)識(shí)符321設(shè)置為01。當(dāng)指令代碼312由解密密鑰2解密時(shí),密鑰號(hào)碼標(biāo)識(shí)符321設(shè)置為10。以及當(dāng)指令代碼312由解密密鑰3解密時(shí),密鑰號(hào)碼標(biāo)識(shí)符321設(shè)置為11。
將描述形成為具有上述配置的加密指令處理設(shè)備500的操作。例如,如圖6所示,將描述一種情況,其中執(zhí)行一種程序,該程序包括這樣的加密擴(kuò)展指令代碼320,其中位于從(n+1)地址至(n+4)地址的指令代碼312沒有加密,以及這樣的加密擴(kuò)展指令代碼320,其中位于從(n+6)地址至(n+9)地址的指令代碼312這樣加密,使得可由解密密鑰1解密,以及這樣的加密擴(kuò)展指令代碼320,其中位于從(n+11)地址至(n+14)地址的指令代碼312這樣加密,使得可由解密密鑰2解密。
在(n+1)地址的指令代碼312沒有加密,并因此以與實(shí)施方式1中基本上相同的操作方式執(zhí)行。當(dāng)程序的執(zhí)行轉(zhuǎn)移到(n+5)地址時(shí),指令加密標(biāo)識(shí)符311在(n+5)地址中設(shè)置為1。因而,指令加密判斷部分130向指令解密部分140輸出指令代碼312,以及向密鑰號(hào)碼判斷部分510輸出密鑰號(hào)碼標(biāo)識(shí)符321。由于密鑰號(hào)碼標(biāo)識(shí)符設(shè)置為01,所以密鑰號(hào)碼判斷部分510向解密密鑰存儲(chǔ)部分600輸出與解密密鑰1對(duì)應(yīng)的密鑰號(hào)碼識(shí)別信號(hào)。
利用密鑰號(hào)碼識(shí)別信號(hào)和解密密鑰表610,解密密鑰存儲(chǔ)部分600獲得解密密鑰1存儲(chǔ)其中的地址,并將讀出的解密密鑰1的數(shù)據(jù)輸出到指令解密部分140。在指令解密部分140中,利用解密密鑰401,解密器141向指令解碼器150輸出解密的指令代碼312。指令解碼器150對(duì)解密的指令代碼進(jìn)行解碼,并向執(zhí)行部分輸出解碼后的指令代碼312。然后,執(zhí)行部分執(zhí)行解碼后的指令代碼312。
在(n+10)地址,使用解密密鑰2解密指令代碼312,該解密密鑰2對(duì)應(yīng)于其中密鑰號(hào)碼標(biāo)識(shí)符321為10的情況,從而以與(n+5)地址情況下相同的方式執(zhí)行由解密的指令代碼312所示的指令。
如上所述,在這個(gè)實(shí)施方式中,多個(gè)解密密鑰存儲(chǔ)在加密指令處理設(shè)備的內(nèi)部,并選擇性地用于各指令代碼。因而,與實(shí)施方式1相比,能夠?qū)崿F(xiàn)更高安全級(jí)的程序保護(hù)。
(實(shí)施方式3)
圖7是說明根據(jù)本發(fā)明實(shí)施方式3的加密指令處理設(shè)備700的配置的方框圖。
作為實(shí)施方式2的密鑰號(hào)碼判斷部分510的代替,加密指令處理設(shè)備700包括密鑰長(zhǎng)短判斷部分710,用于根據(jù)稍后將描述的密鑰長(zhǎng)短標(biāo)識(shí)符331的值,輸出用于識(shí)別解密密鑰的長(zhǎng)短的信號(hào)(密鑰長(zhǎng)短識(shí)別信號(hào))。解密密鑰存儲(chǔ)部分600保存彼此具有不同長(zhǎng)短的解密密鑰621,并向指令解密部分140輸出具有與密鑰長(zhǎng)短識(shí)別信號(hào)對(duì)應(yīng)長(zhǎng)短的解密密鑰621之一。例如,解密密鑰存儲(chǔ)部分600保存具有128位的長(zhǎng)短的解密密鑰1、具有192位的長(zhǎng)短的解密密鑰2和具有256位的長(zhǎng)短的解密密鑰3作為解密密鑰621。此外,在指令解密部分140中,提供有解密器142,該解密器142能夠利用具有不同長(zhǎng)短的解密密鑰1、2和3進(jìn)行解密。作為能使用具有不同長(zhǎng)短的解密密鑰的解密算法,例如,可以使用AES加密。然而,解密算法不限于此,也可以使用一些其他利用具有兩個(gè)或多個(gè)不同長(zhǎng)短的解密密鑰的算法。
如圖8所示,例如,由加密指令處理設(shè)備700執(zhí)行的程序包括多個(gè)加密擴(kuò)展指令代碼330,每個(gè)具有指令加密標(biāo)識(shí)符311、指令代碼312和密鑰長(zhǎng)短標(biāo)識(shí)符331,提供的該密鑰長(zhǎng)短標(biāo)識(shí)符331作為指示在對(duì)指令代碼進(jìn)行加密中使用的加密密鑰的長(zhǎng)短的信息(即,用于解密的解密密鑰的長(zhǎng)短)。也就是說,利用具有與機(jī)密性程度對(duì)應(yīng)的長(zhǎng)短的加密密鑰對(duì)各指令代碼312進(jìn)行加密。具體地,例如,當(dāng)使用解密密鑰1(128位)時(shí),密鑰長(zhǎng)短標(biāo)識(shí)符331設(shè)置為01,當(dāng)使用解密密鑰2(192位)時(shí),密鑰長(zhǎng)短標(biāo)識(shí)符331設(shè)置為10,以及當(dāng)使用解密密鑰3(256位)時(shí),密鑰長(zhǎng)短標(biāo)識(shí)符331設(shè)置為11。
如圖9所示,例如,包括上述加密擴(kuò)展指令代碼330的程序形成為包括這樣的加密擴(kuò)展指令代碼330,其中位于從(n+1)地址至(n+4)地址的指令代碼312沒有加密,以及這樣的加密擴(kuò)展指令代碼330,其中從(n+6)地址至(n+9)地址的指令代碼312由對(duì)應(yīng)于加密密鑰1(128位)的加密密鑰加密,以及這樣的加密擴(kuò)展指令代碼330,其中位于從(n+11)地址至(n+14)地址的指令代碼312由對(duì)應(yīng)于加密密鑰2(192位)的加密密鑰加密。
處理單元的操作基本上與實(shí)施方式2的處理單元的操作相同。具體地,如在實(shí)施方式2中對(duì)應(yīng)于密鑰號(hào)碼識(shí)別信號(hào)的解密密鑰從解密密鑰存儲(chǔ)部分600輸出那樣,具有與密鑰長(zhǎng)短識(shí)別信號(hào)對(duì)應(yīng)長(zhǎng)短的解密密鑰從解密密鑰存儲(chǔ)部分600輸出,并由解密器142進(jìn)行解密。
如上所述,可選擇性地使用彼此具有不同長(zhǎng)短的解密密鑰,從而,除了實(shí)施方式2的那些效果之外,還能以更簡(jiǎn)單的方式維持機(jī)密性和執(zhí)行速度這二者。
(實(shí)施方式4)如圖10所示,作為實(shí)施方式2中的密鑰號(hào)碼判斷部分510和指令解密部分140的代替,根據(jù)本發(fā)明的實(shí)施方式4的加密指令處理設(shè)備800包括加密算法判斷部分810和指令解密部分820。此外,作為解密密鑰表610的代替,解密密鑰存儲(chǔ)部分600包括解密密鑰表620。
根據(jù)包含在稍后將描述的加密擴(kuò)展指令代碼340中的加密算法標(biāo)識(shí)符341,加密算法判斷部分810向解密密鑰存儲(chǔ)部分600和指令解密部分820輸出用于識(shí)別加密算法的信號(hào)(加密算法標(biāo)識(shí)符信號(hào))。
指令解密部分820包括多個(gè)解密器821(例如,解密器1即DES加密解密器,解密器2即AES加密解密器,和解密器3即三重DES加密解密器)和解密器表822,該解密器表822指示了在各解密器821和加密算法標(biāo)識(shí)符信號(hào)之間的對(duì)應(yīng)關(guān)系。根據(jù)加密算法標(biāo)識(shí)符信號(hào),選擇多個(gè)解密器821之一,以解密指令代碼312,以及將解密的指令代碼312輸出到指令解碼器150。例如,作為用于各解密器的加密算法,可以使用下列算法Federal Information Processing StandardsPublication 197,November 26,2001,Announcing the ADVANCEDENCRYPTION STANDARD (AES),http//csrc.nist.gov/publications/fips/fips197/fips-197.pdf(September24,2003);和FIPS PUB46-3,F(xiàn)EDERAL INFORMATIONPROCESSING STANDARDS PUBLICATION,Reaffirmed October 25,1999,U.S.Department of Commerce/National Institute of Standards andTechnology,DATA ENCRYPTION STANDARD (DES),http//cs-www.ncsl.nist.gov/publications/fips/fips46-3/fips46-3.pdf(September 24,2003)。
此外,解密密鑰存儲(chǔ)部分600包括解密表620,該表類似于實(shí)施方式2的解密密鑰表610。解密密鑰存儲(chǔ)部分600向指令解密部分820輸出對(duì)應(yīng)于加密算法標(biāo)識(shí)符信號(hào)的多個(gè)解密密鑰1、2和3(解密密鑰401)之一。
如圖11所示,例如,由加密指令處理設(shè)備800執(zhí)行的程序包括多個(gè)加密擴(kuò)展指令代碼340,每個(gè)具有加密算法標(biāo)識(shí)符341、指令加密標(biāo)識(shí)符311和指令代碼312。根據(jù)程序的機(jī)密性程度對(duì)指令代碼312進(jìn)行加密,使得可以利用解密密鑰401之一,由多個(gè)解密器821之一解密各指令代碼312。
在加密算法標(biāo)識(shí)符341中存儲(chǔ)有這樣的信息,該信息指示通過哪個(gè)解密算法(解密器1、2和3)對(duì)指令代碼312進(jìn)行解密。例如,當(dāng)由解密器2對(duì)指令代碼312進(jìn)行解密時(shí),加密算法標(biāo)識(shí)符341設(shè)置為01,當(dāng)由解密器3對(duì)指令代碼312進(jìn)行解密時(shí),加密算法標(biāo)識(shí)符341設(shè)置為10,以及當(dāng)不對(duì)指令代碼312進(jìn)行解密時(shí),加密算法標(biāo)識(shí)符341設(shè)置為00。
如圖12所示,例如,包括加密擴(kuò)展指令代碼340的上述程序形成為包括這樣的加密擴(kuò)展指令代碼340,其中位于從(n+1)地址至(n+4)地址的指令代碼312沒有加密,以及這樣的加密擴(kuò)展指令代碼340,其中位于從(n+6)地址至(n+9)地址的指令代碼312由對(duì)應(yīng)于加密密鑰1的加密密鑰和解密器1(DES加密解密器)加密,以及這樣的加密擴(kuò)展指令代碼340,其中位于從(n+11)地址至(n+14)地址的指令代碼312由對(duì)應(yīng)于加密密鑰2的加密密鑰和解密器2(AES加密解密器)加密。
在根據(jù)實(shí)施方式4的加密指令處理設(shè)備中,利用根據(jù)加密算法標(biāo)識(shí)符信號(hào)從解密密鑰存儲(chǔ)部分600輸出的解密密鑰,根據(jù)加密算法標(biāo)識(shí)符信號(hào)選擇的解密器解密指令代碼312。
如上所述,在這個(gè)實(shí)施方式中,可選擇性地使用多個(gè)加密算法。因而,除了實(shí)施方式1的那些效果之外,還能以更簡(jiǎn)單的方式實(shí)現(xiàn)機(jī)密性和執(zhí)行速度。此外,如果特定加密算法萬一被不正當(dāng)?shù)胤治觯瑒t可以使用沒有被不正當(dāng)分析的另一種加密算法,從而,與其中僅使用單個(gè)加密算法的加密指令處理設(shè)備的情況相比,能實(shí)現(xiàn)具有較高操作性的程序保護(hù)。
(實(shí)施方式5)在實(shí)施方式1的加密指令處理設(shè)備100中,作為圖3的加密程序的代替,可執(zhí)行圖13的程序,用于進(jìn)行加密AV內(nèi)容的解密和解碼。用于進(jìn)行加密AV內(nèi)容的解密和解碼的圖13的程序包括多個(gè)加密擴(kuò)展指令代碼350,每個(gè)具有指令加密標(biāo)識(shí)符311和指令代碼312。
在加密AV內(nèi)容的解密和解碼中,指令代碼可分成兩種類型的指令代碼,即,第一類型的指令代碼,其不需要實(shí)時(shí)處理、需要高度機(jī)密性以及進(jìn)行加密AV內(nèi)容解密密鑰的設(shè)置,和第二類型的指令代碼,其需要實(shí)時(shí)處理、需要低級(jí)機(jī)密性以及執(zhí)行加密AV內(nèi)容的解密和AV解碼。在圖13所示的實(shí)施例中,對(duì)用于進(jìn)行加密AV內(nèi)容解密密鑰的設(shè)置的指令代碼進(jìn)行加密,并在外部存儲(chǔ)器300從n地址至(n+4)地址中存儲(chǔ)。此外,用于執(zhí)行加密AV內(nèi)容的解密和AV解碼的指令代碼沒有加密,并在外部存儲(chǔ)器300從(n+5)地址至(n+9)地址中存儲(chǔ)。
當(dāng)開始執(zhí)行圖13的程序中的n地址時(shí),在指令加密標(biāo)識(shí)符311在n地址中設(shè)置為1的情況下,指令加密判斷部分130向解密密鑰存儲(chǔ)部分400輸出指示指令代碼312加密的加密判斷信號(hào),以使解密密鑰存儲(chǔ)部分400輸出解密密鑰401。此外,指令加密判斷部分130向指令解密部分140輸出指令代碼312。在指令解密部分140中,使用解密密鑰401,解密器141向指令解碼器150輸出解密的指令代碼312。指令解碼器150對(duì)解密的指令代碼312進(jìn)行解碼,并將解碼后的指令代碼312輸出到執(zhí)行部分(未示出)。然后,執(zhí)行部分執(zhí)行解碼后的指令代碼312。在這種情況下,在指令解密部分140中的解密器141執(zhí)行處理,以使用解密密鑰401解密指令代碼312。因此,用于該處理的處理時(shí)間大于處理指令加密標(biāo)識(shí)符為0、沒有加密的指令代碼的處理時(shí)間。然而,作為設(shè)置用于加密AV內(nèi)容的解密密鑰的過程,上述處理不需要實(shí)時(shí)處理且執(zhí)行次數(shù)少。因此,對(duì)于加密AV內(nèi)容的解密和AV解碼的實(shí)時(shí)處理沒有施加影響。
當(dāng)開始執(zhí)行程序中的(n+5)地址時(shí),由外部總線控制單元110依次讀出加密擴(kuò)展指令代碼310。加密擴(kuò)展指令代碼310保存在指令寄存器120中,以及然后輸出到指令加密判斷部分130。在加密擴(kuò)展指令代碼310中,指令加密標(biāo)識(shí)符311設(shè)置為0(即,沒有加密),并因而指令加密判斷部分130向解碼器150輸出指令代碼312。指令解碼器150對(duì)指令代碼312進(jìn)行解碼并將解碼后的指令代碼312輸出到執(zhí)行部分(未示出)。然后,執(zhí)行部分執(zhí)行解碼后的指令代碼312。在這種情況下,沒有進(jìn)行由指令解密部分140中的解密器141對(duì)指令代碼312的解密。因此,可高速地執(zhí)行指令,并且加密AV內(nèi)容的解密和AV解碼的實(shí)時(shí)處理成為可能。
注意,加密、解密算法、指令加密標(biāo)識(shí)符和密鑰號(hào)碼標(biāo)識(shí)符的位數(shù)、在各設(shè)置值和由設(shè)置值表達(dá)的內(nèi)容(加密與否,或密鑰的區(qū)別)之間的對(duì)應(yīng)關(guān)系、指令代碼和加密擴(kuò)展指令代碼的位數(shù)、以及加密算法的種類數(shù),這些在上述實(shí)施方式中已進(jìn)行描述,但僅作為實(shí)施例,本發(fā)明并不限于這些實(shí)施例。
此外,在上述實(shí)施方式中,使用指令加密標(biāo)識(shí)符判斷指令代碼是否加密。然而,本發(fā)明并不限于此。如果密鑰號(hào)碼標(biāo)識(shí)符等的值設(shè)置為00,則可以判斷為指令代碼沒有加密。
在實(shí)施方式2、實(shí)施方式3和實(shí)施方式4中,描述了這樣的實(shí)施例,其中使用密鑰號(hào)碼標(biāo)識(shí)符信號(hào)、密鑰長(zhǎng)短標(biāo)識(shí)符信號(hào)等和諸如解密密鑰表610的表,選擇多個(gè)解密密鑰之一和解密器之一。然而,本發(fā)明不限于此,可以對(duì)密鑰號(hào)碼標(biāo)識(shí)符信號(hào)和密鑰號(hào)碼標(biāo)識(shí)符的值等進(jìn)行解碼,以選擇解密密鑰等。
此外,在實(shí)施方式3中,描述了這樣的實(shí)施例,其中解密密鑰的長(zhǎng)短彼此不同。然而,可以包括具有相同長(zhǎng)短的解密密鑰。
此外,在實(shí)施方式4中,描述了這樣的實(shí)施例,其中以與解密密鑰一對(duì)一的對(duì)應(yīng)關(guān)系選擇各解密器。然而,例如,可以獨(dú)立地選擇解密密鑰和解密器,使得根據(jù)加密擴(kuò)展指令代碼,通過分配密鑰號(hào)碼標(biāo)識(shí)符、密鑰長(zhǎng)短標(biāo)識(shí)符和加密算法標(biāo)識(shí)符,形成各種組合。
此外,所提供的解密器數(shù)目不必為復(fù)數(shù)(即,算法數(shù)目),且可以提供能夠根據(jù)算法標(biāo)識(shí)符信號(hào)使用多個(gè)不同算法進(jìn)行解密的解密器。
此外,實(shí)施方式5描述了這樣的實(shí)施例,其中作為存儲(chǔ)在外部存儲(chǔ)器300中的程序,使用了用于進(jìn)行加密AV內(nèi)容的解密和AV解碼的程序,并且該程序這樣配置,對(duì)不需要實(shí)時(shí)處理、需要高度機(jī)密性且進(jìn)行加密AV內(nèi)容解密密鑰的設(shè)置的指令代碼進(jìn)行加密,以及對(duì)需要實(shí)時(shí)處理和低級(jí)機(jī)密性且執(zhí)行加密AV內(nèi)容的解密和AV解碼的指令代碼不進(jìn)行加密。然而,例如,作為存儲(chǔ)在外部存儲(chǔ)器300中的程序,可以使用用于進(jìn)行AV內(nèi)容的編碼和加密的程序,且該程序可這樣配置,對(duì)不需要實(shí)時(shí)處理、需要高度機(jī)密性且進(jìn)行AV內(nèi)容的加密密鑰的設(shè)置的指令代碼進(jìn)行加密,以及對(duì)需要實(shí)時(shí)處理和低級(jí)機(jī)密性且執(zhí)行AV內(nèi)容的編碼和加密的指令代碼不進(jìn)行加密。
如上已描述,在根據(jù)本發(fā)明的加密指令處理設(shè)備中,僅對(duì)程序中需要保護(hù)的程序部分進(jìn)行加密。因而,加密指令處理設(shè)備具有防止程序被非法分析的效果、減少解密時(shí)間的效果和抑制硬件規(guī)模增加的效果。因此,作為諸如被結(jié)合到所謂的數(shù)字家用電器中并執(zhí)行加密指令代碼的處理器之類的加密指令處理設(shè)備等,本發(fā)明的加密指令處理設(shè)備是有用的,其中數(shù)字家用電器諸如數(shù)字AV(音頻視頻)裝置、蜂窩電話(移動(dòng)通信裝置)等。
權(quán)利要求
1.一種加密指令處理設(shè)備,用于執(zhí)行由包括加密指令代碼的多個(gè)指令代碼所形成的程序,該設(shè)備包括讀入部分,用于在所述指令代碼中讀取指示各所述指令代碼是否加密的指令加密信息;以及指令解密部分,用于當(dāng)所述指令加密信息指示至少一個(gè)所述指令代碼加密時(shí),解密所述加密的指令代碼。
2.根據(jù)權(quán)利要求1的加密指令設(shè)備,還包括解密密鑰存儲(chǔ)部分,用于存儲(chǔ)多個(gè)解密密鑰,其中所述讀入部分形成為在所述指令代碼中讀取各所述指令代碼是否加密以及指示要用于解密的解密密鑰的指令加密信息,以及其中所述指令解密部分形成為利用由所述指令加密信息指示的所述解密密鑰之一,解密所述加密的指令代碼。
3.根據(jù)權(quán)利要求2的加密指令設(shè)備,其中所述設(shè)備形成為在所述解密密鑰存儲(chǔ)部分中存儲(chǔ)有彼此具有不同長(zhǎng)短的解密密鑰。
4.根據(jù)權(quán)利要求1的加密指令設(shè)備,其中所述讀入部分形成為在所述指令代碼中讀取各所述指令代碼是否加密以及指示要用于解密的算法的指令加密信息,以及其中所述指令解密部分形成為使用由所述指令加密信息指示的所述算法,解密所述加密的指令代碼。
5.根據(jù)權(quán)利要求1的加密指令設(shè)備,其中所述指令代碼是加密AV處理指令代碼,用于進(jìn)行AV內(nèi)容的加密/解密和AV編碼/解碼,以及其中在所述程序中,對(duì)不需要實(shí)時(shí)處理且需要高度機(jī)密性的至少一個(gè)所述加密AV處理指令代碼進(jìn)行加密,以及需要實(shí)時(shí)處理和低級(jí)機(jī)密性的至少一個(gè)所述加密AV處理指令代碼處于未加密形式。
全文摘要
為了提供加密指令處理設(shè)備,使得可以可靠地防止程序的非法分析,僅加密需要保護(hù)的程序部分,以便以簡(jiǎn)單方式減少解密時(shí)間,并抑制硬件規(guī)模的增加,形成了這樣的加密指令處理設(shè)備,該設(shè)備包括指令解密部分和解密密鑰存儲(chǔ)部分,并且解密密鑰存儲(chǔ)在解密密鑰存儲(chǔ)部分中。要由加密指令處理設(shè)備處理的各加密擴(kuò)展指令代碼包括指令代碼和指示指令代碼是否加密的指令加密標(biāo)識(shí)符。根據(jù)各指令代碼的機(jī)密性程度對(duì)指令代碼進(jìn)行加密。在執(zhí)行程序中,根據(jù)指令加密標(biāo)識(shí)符的值,指令解密部分利用解密密鑰對(duì)指令代碼進(jìn)行解密。
文檔編號(hào)H04L27/00GK1737879SQ20051009098
公開日2006年2月22日 申請(qǐng)日期2005年8月22日 優(yōu)先權(quán)日2004年8月20日
發(fā)明者奧村康男, 府川幸太郎 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
礼泉县| 镇康县| 应用必备| 襄垣县| 安陆市| 如东县| 富阳市| 固安县| 墨脱县| 句容市| 铁岭县| 民和| 莒南县| 泽州县| 高邮市| 锦屏县| 张家港市| 利川市| 平度市| 永丰县| 余姚市| 乌苏市| 太白县| 桓台县| 临沧市| 拜城县| 朝阳市| 扶沟县| 西宁市| 岐山县| 敦煌市| 滦南县| 营口市| 安西县| 雷波县| 宁安市| 平定县| 赣榆县| 金沙县| 磴口县| 宝应县|