專利名稱:信息處理裝置、程序加載和更新方法、介質(zhì)及電路設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于信息處理裝置的程序更新。特別是,涉及一種信息處理裝置,程序加載方法,一種記錄介質(zhì),一種程序更新方法和一個(gè)電路設(shè)備,其中,通過在程序更新或加載期間防止程序泄漏,可禁止程序被篡改。
由于DVD-ROM可無損耗的記錄數(shù)字?jǐn)?shù)據(jù),因此可提供幾種保護(hù)功能以避免未授權(quán)的復(fù)制或未授權(quán)地使用其上記錄的數(shù)字?jǐn)?shù)據(jù)。
再現(xiàn)DVD-ROM時(shí)的典型保護(hù)功能是通過RC(區(qū)域碼)進(jìn)行的再現(xiàn)限制。該區(qū)域碼是一個(gè)與六個(gè)全球區(qū)域之一相一致的數(shù)字。例如,US的區(qū)域碼是“1”,而日本的區(qū)域碼是“2”。
該區(qū)域碼被記錄到每個(gè)DVD-ROM以及一個(gè)DVD-ROM驅(qū)動(dòng)器或DVD再現(xiàn)應(yīng)用中,使得一個(gè)給定的DVD-ROM不能被再現(xiàn),除非它們各自的區(qū)域碼一致。例如,由于區(qū)域碼“2”被記錄在日本制造的DVD-ROM驅(qū)動(dòng)器上,這樣的驅(qū)動(dòng)器就不能再現(xiàn)區(qū)域碼為“1”的美國(guó)生產(chǎn)的DVD-ROM。這是一種保護(hù)性功能,用于保護(hù)內(nèi)容例如電影的制作者。
另一方面,DVD-ROM還具有禁止數(shù)字復(fù)制的保護(hù)性功能或系統(tǒng)。這被稱為CSS(內(nèi)容加擾系統(tǒng)),其禁止數(shù)字復(fù)制的方法是,雖然一個(gè)文件本身可被復(fù)制在例如硬盤上,但該文件代表加密的數(shù)據(jù),從而MPEG(運(yùn)動(dòng)圖像專家組)數(shù)據(jù)不能被解密。
通過對(duì)復(fù)制施加限制,DVD-ROM還具有禁止輸出模擬數(shù)據(jù)的復(fù)制的保護(hù)性功能,和管理數(shù)字?jǐn)?shù)據(jù)在數(shù)字設(shè)備中復(fù)制的代次的保護(hù)性功能。
這種保護(hù)功能是通過一種被寫在DVD-ROM驅(qū)動(dòng)器中的預(yù)置ROM中的被稱為固件的程序來實(shí)現(xiàn)的。該固件是一種軟件,可直接控制硬件,被寫在ROM中并被裝入硬件中。
通過寫在DVD-ROM驅(qū)動(dòng)器的預(yù)置ROM中用于執(zhí)行保護(hù)功能的固件,就有可能消除不正當(dāng)制備的DVD-視頻。
通常很難重寫或修改這種固件。但是,在與例如PC(個(gè)人計(jì)算機(jī))相連從而可在其控制下被驅(qū)動(dòng)的DVD-ROM驅(qū)動(dòng)器中,在更新PC(個(gè)人計(jì)算機(jī))的OS(操作系統(tǒng))的情況下,結(jié)果必然出現(xiàn)了更新固件的需要。從而,在這種DVD-ROM中,該固件被設(shè)置為可被更新。
并且,若PC在連接DVD-ROM驅(qū)動(dòng)器的操作時(shí)不能夠充分兼容,這種連接的不兼容可通過更新該DVD-ROM驅(qū)動(dòng)器的固件而被改善。
為了實(shí)現(xiàn)對(duì)固件的更新,一種所謂閃速存儲(chǔ)器被用作存儲(chǔ)固件的ROM,該閃速存儲(chǔ)器,例如EEPROM(電可擦除的只讀存儲(chǔ)器),是一種可編程ROM,其允許電子數(shù)據(jù)的擦除。
但是,當(dāng)此固件將被更新時(shí),該固件可以很容易地通過因特網(wǎng)從DVD-ROM驅(qū)動(dòng)器制造商提供的主頁上被下載,用戶能夠非常容易地得到該固件。
所獲得的固件可能被用戶篡改并存儲(chǔ)在DVD-ROM驅(qū)動(dòng)器的一個(gè)預(yù)置閃速存儲(chǔ)器中,從而使上述DVD-ROM驅(qū)動(dòng)器的保護(hù)功能被無效,這也是一個(gè)問題。
程序被篡改是一個(gè)裝置在需要進(jìn)行通常包含固件的程序傳遞時(shí)所固有的問題。使用了被篡改的程序的裝置會(huì)遇到這樣的問題,其會(huì)執(zhí)行一個(gè)與所希望的操作不同的操作,在最壞的情況下,還易于陷入混亂狀態(tài)。
在一方面,本發(fā)明提供一種信息處理裝置,包括加密程序數(shù)據(jù)接收裝置,用于接收通過使用預(yù)定的加密密鑰對(duì)預(yù)定程序加密而得到的加密程序數(shù)據(jù),解密裝置,用于解密加密程序數(shù)據(jù),利用一個(gè)預(yù)定的解碼密鑰,將從加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)解密為預(yù)定的程序,存儲(chǔ)裝置,用于存儲(chǔ)加密程序數(shù)據(jù)通過解密裝置解密后的預(yù)定程序,程序讀出裝置,用于讀出存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序,和控制裝置,用于根據(jù)讀出裝置讀出的預(yù)定程序而控制信息處理裝置的預(yù)定操作。
在另一方面,本發(fā)明提供一種程序加載方法,用于對(duì)信息處理裝置加載一個(gè)預(yù)定程序以控制信息處理裝置的預(yù)定操作,包括加密程序數(shù)據(jù)接收步驟,用于接收以預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),解密步驟,用于對(duì)加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)利用一個(gè)預(yù)定的解密密鑰進(jìn)行解密,和存儲(chǔ)步驟,用于將解密步驟中對(duì)加密程序數(shù)據(jù)解密后的預(yù)定程序存儲(chǔ)在存儲(chǔ)裝置中。
在又一方面,本發(fā)明提供一種記錄介質(zhì),其上記錄有一個(gè)預(yù)定程序,用于對(duì)信息處理裝置加載一個(gè)用于控制信息處理裝置的一個(gè)預(yù)定操作的預(yù)定程序,其中該程序包含一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)預(yù)定程序加密后得到的加密程序數(shù)據(jù),一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解碼密鑰,對(duì)加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)解密為預(yù)定程序,和一個(gè)存儲(chǔ)步驟,用于存儲(chǔ)加密程序數(shù)據(jù)由解密步驟解密后的預(yù)定程序。
在又一方面,本發(fā)明提供一種包含一控制單元的信息處理裝置,該控制單元包括,存儲(chǔ)有一個(gè)第一程序的存儲(chǔ)裝置,和控制裝置,用于讀出存儲(chǔ)在存儲(chǔ)裝置中的第一程序并根據(jù)讀出的第一程序來控制信息處理裝置的預(yù)定操作,其中該信息處理裝置包括加密程序數(shù)據(jù)接收裝置,用于接收加密程序數(shù)據(jù),該加密程序數(shù)據(jù)是利用一個(gè)預(yù)定的加密密鑰加密后的第二程序,解碼裝置,用于利用一個(gè)預(yù)定的解碼密鑰,對(duì)由加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)進(jìn)行解碼,和程序傳送裝置,用于將加密程序數(shù)據(jù)被解密裝置解密后的第二程序傳送至控制單元。該控制單元包括程序接收裝置,用于接收由傳送裝置傳送的第二程序,和程序?qū)懭胙b置,用于將程序接收裝置接收的第二程序?qū)懭氪鎯?chǔ)裝置。
在又一方面,本發(fā)明提供一種用于信息處理裝置的程序更新方法,該信息處理裝置具有一控制單元,該控制單元包括存儲(chǔ)有一個(gè)第一程序的存儲(chǔ)裝置,和控制裝置,用于讀出存儲(chǔ)在存儲(chǔ)裝置中的第一程序并根據(jù)讀出的第一程序來控制信息處理裝置的預(yù)定操作,其中該方法包括一個(gè)加密程序數(shù)據(jù)接收步驟,用于響應(yīng)請(qǐng)求更新第一程序的程序更新請(qǐng)求而接收加密程序數(shù)據(jù),該加密程序數(shù)據(jù)是利用一個(gè)預(yù)定的加密密鑰加密后的第二程序,一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解密密鑰,將加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)解密為第二程序,一個(gè)程序傳送步驟,用于傳送加密程序數(shù)據(jù)在解密步驟解密后的第二程序,一個(gè)程序接收步驟,用于接收由程序傳送步驟傳送至控制單元的第二程序,一個(gè)程序?qū)懭氩襟E,用于將程序接收步驟接收的第二程序?qū)懭氪鎯?chǔ)裝置。
在又一方面,本發(fā)明提供一種具有一數(shù)據(jù)處理單元的信息處理裝置,該數(shù)據(jù)處理單元用于執(zhí)行預(yù)定的數(shù)據(jù)處理,其中該數(shù)據(jù)處理單元包括加密程序數(shù)據(jù)接收裝置,用于接收通過使用預(yù)定的加密密鑰對(duì)預(yù)定程序加密而得到的加密程序數(shù)據(jù),解碼裝置,用于利用一個(gè)預(yù)定的解密密鑰,將從加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)解碼為預(yù)定的程序,存儲(chǔ)裝置,用于存儲(chǔ)加密程序數(shù)據(jù)通過解密裝置解密后的預(yù)定程序,程序讀出裝置,用于讀出存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序,第一控制裝置,用于根據(jù)程序讀出裝置讀出的預(yù)定程序而控制數(shù)據(jù)處理單元中的預(yù)定數(shù)據(jù)處理操作,和輸出限制裝置,用于限制由解密裝置解密的預(yù)定程序和存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序自外部設(shè)備的輸出。
在又一方面,本發(fā)明提供一種用于信息處理裝置中的數(shù)據(jù)處理單元中的程序加載方法,該數(shù)據(jù)處理單元可執(zhí)行預(yù)定數(shù)據(jù)處理,其中該方法包括一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),該預(yù)定程序是一個(gè)在數(shù)據(jù)處理單元中用于執(zhí)行預(yù)定數(shù)據(jù)處理的程序,一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解密密鑰,將從加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)解密為預(yù)定的程序,一個(gè)輸出限制步驟,用于限制解密的預(yù)定程序自外部設(shè)備的輸出,和存儲(chǔ)步驟,用于將加密程序數(shù)據(jù)經(jīng)解密步驟解密后的預(yù)定程序存儲(chǔ)在存儲(chǔ)裝置中。
在又一方面,本發(fā)明提供一種記錄介質(zhì),其上記錄有一個(gè)程序,用于在信息處理裝置中的數(shù)據(jù)處理單元中加載一個(gè)預(yù)定的程序,該數(shù)據(jù)處理單元可執(zhí)行預(yù)定的數(shù)據(jù)處理,其中存儲(chǔ)在記錄介質(zhì)中的程序包括,一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),該預(yù)定程序是一個(gè)在數(shù)據(jù)處理單元中用于執(zhí)行預(yù)定數(shù)據(jù)處理操作的程序,一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解密密鑰,將從加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)解密為預(yù)定的程序,一個(gè)輸出限制步驟,用于限制解密的預(yù)定程序自外部設(shè)備的輸出,和存儲(chǔ)步驟,用于將加密程序數(shù)據(jù)由解密步驟解密后的預(yù)定程序存儲(chǔ)在存儲(chǔ)裝置中。
在又一方面,本發(fā)明提供一種電路設(shè)備,其是信息處理裝置中的數(shù)據(jù)處理裝置的一個(gè)集成,適于執(zhí)行預(yù)定數(shù)據(jù)處理,以集成的形式包括,加密程序數(shù)據(jù)接收裝置,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),解密裝置,用于利用一個(gè)預(yù)定的解密密鑰,將從加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)解密為預(yù)定的程序,存儲(chǔ)裝置,用于存儲(chǔ)加密程序數(shù)據(jù)由解密裝置解密后的預(yù)定程序,程序讀出裝置,用于讀出存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序,和輸出限制裝置,用于限制由解密裝置解密的預(yù)定程序和存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序的輸出。
在根據(jù)本發(fā)明的上述信息處理裝置中,加密程序數(shù)據(jù)是通過解密裝置利用一個(gè)預(yù)定的解密密鑰而實(shí)現(xiàn)解密的,該解密后的程序被存儲(chǔ)在存儲(chǔ)裝置中,該存儲(chǔ)的程序被讀出,并且該信息處理裝置的預(yù)定操作由控制裝置根據(jù)讀出的程序而進(jìn)行控制,以防止程序加載期間程序數(shù)據(jù)被泄漏出去,這樣做有可能禁止使用在程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
根據(jù)本發(fā)明的程序加載方法,其中加密程序數(shù)據(jù)是利用一個(gè)預(yù)定的解密密鑰,通過解密步驟被解密為一個(gè)程序的,該解密后的程序被存儲(chǔ)在存儲(chǔ)裝置中,從而可能禁止在程序加載期間的程序數(shù)據(jù)泄漏,以避免使用在程序加載期間泄漏出去的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
在根據(jù)本發(fā)明的記錄介質(zhì)中,其上記錄的程序包括,利用一個(gè)預(yù)定的解密密鑰將加密程序數(shù)據(jù)解密為一個(gè)程序,并將該解密后的程序存儲(chǔ)在存儲(chǔ)裝置中,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
在根據(jù)本發(fā)明的信息處理裝置中,其中利用一個(gè)預(yù)定的加密密鑰對(duì)第二程序加密而得到的加密程序數(shù)據(jù),在控制單元的解密裝置中,響應(yīng)于一個(gè)程序更新請(qǐng)求,利用一個(gè)預(yù)定的加密密鑰,被解密為一個(gè)第二程序,該解密的第二程序是被程序?qū)懭胙b置寫入在存儲(chǔ)裝置中,以更新第一程序,其中通過解密裝置解密的第二程序和寫在存儲(chǔ)裝置中的第二程序自外部設(shè)備的輸出被輸出限制裝置進(jìn)行限制,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
本發(fā)明的信息處理裝置制造并不昂貴,因?yàn)槠洳恍枰匦陆⒁粋€(gè)控制單元體系。
并且,本發(fā)明的信息處理裝置僅僅在程序更新時(shí)實(shí)現(xiàn)控制單元中的解密處理,在正常操作期間的處理操作不易降低。
根據(jù)本發(fā)明的程序更新方法,其中利用一個(gè)預(yù)定的加密密鑰對(duì)第二程序加密而得到的加密程序數(shù)據(jù),在解密步驟中,響應(yīng)于一個(gè)程序更新請(qǐng)求,利用一個(gè)預(yù)定的解密密鑰,被解密為第二程序,該解碼的第二程序在程序?qū)懭氩襟E被寫入存儲(chǔ)裝置中,以更新第一程序,其中通過解密步驟解密的第二程序和寫在存儲(chǔ)裝置中的第二程序自外部設(shè)備的輸出在輸出限制步驟被限制,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
并且在本發(fā)明的程序更新方法中,其中加密/解密僅僅在更新第一程序時(shí)才在控制單元中被執(zhí)行,在正常操作期間控制單元中的處理操作不易降低。
在本發(fā)明的記錄介質(zhì)中,其上記錄的程序包括,利用一個(gè)預(yù)定的加密密鑰對(duì)第二程序加密而得到的加密程序數(shù)據(jù),在解密步驟中,響應(yīng)于一個(gè)程序更新請(qǐng)求,利用一個(gè)預(yù)定的解密密鑰,被解密為第二程序,該解密的第二程序在程序?qū)懭氩襟E被寫入存儲(chǔ)裝置中,以更新第一程序,其中通過解密步驟解密的第二程序和寫在存儲(chǔ)裝置中的第二程序自外部設(shè)備的輸出在輸出限制步驟被限制,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
并且,在本發(fā)明的記錄介質(zhì)上記錄的程序中,其中加密/解密僅僅在更新第一程序時(shí)才在控制單元中被執(zhí)行,在正常操作期間控制單元中的處理操作不易降低。
在根據(jù)本發(fā)明的電路設(shè)備中,其中利用一個(gè)預(yù)定的加密密鑰進(jìn)行加密而得到的加密程序數(shù)據(jù),在解密步驟中,響應(yīng)于一個(gè)程序更新請(qǐng)求,利用一個(gè)預(yù)定的解密密鑰,在集成的解密裝置中,被解密為第二程序,該解密的第二程序被程序?qū)懭胙b置寫入存儲(chǔ)裝置中,以更新第一程序,其中通過解密步驟解密的第二程序和寫在存儲(chǔ)裝置中的第二程序自外部設(shè)備的輸出在輸出限制步驟被限制,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
并且,在本發(fā)明的電路設(shè)備中,其中加密/解密僅僅在更新第一程序時(shí)才在控制單元中被執(zhí)行,在正常操作期間控制單元中的處理操作不易降低。
在根據(jù)本發(fā)明的信息處理裝置中,其中利用一個(gè)預(yù)定的加密密鑰進(jìn)行加密得到的加密程序數(shù)據(jù),響應(yīng)于一個(gè)程序更新請(qǐng)求,利用一個(gè)預(yù)定的解密密鑰,在數(shù)據(jù)處理單元中的解密裝置中,被解密為第二程序,并被傳送至控制單元,在控制單元中的程序?qū)懭胙b置中該解密的第二程序被寫入控制單元中的存儲(chǔ)裝置中,以更新第一程序,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
在根據(jù)本發(fā)明的程序更新方法中,其中對(duì)應(yīng)于利用一個(gè)預(yù)定的加密密鑰對(duì)第二程序加密得到的加密程序數(shù)據(jù),響應(yīng)于一個(gè)程序更新請(qǐng)求,利用一個(gè)預(yù)定的解密密鑰,在解密步驟中,被解密為第二程序,并被傳送至控制單元,其中在程序?qū)懭氩襟E中該被解密的第二程序被寫入控制單元中的存儲(chǔ)裝置中,以更新第一程序,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
在根據(jù)本發(fā)明的記錄介質(zhì)中,其上記錄有一個(gè)程序,其中對(duì)應(yīng)于利用一個(gè)預(yù)定的加密密鑰對(duì)第二程序加密得到的加密程序數(shù)據(jù),響應(yīng)于一個(gè)程序更新請(qǐng)求,利用一個(gè)預(yù)定的解密密鑰,在解密步驟中,被解密為第二程序,并被傳送至控制單元,其中在程序?qū)懭氩襟E中該被解密的第二程序被寫入控制單元中的存儲(chǔ)裝置中,以更新第一程序,從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
例如,有可能禁止這樣的不正當(dāng)行為,例如在DVD-ROM驅(qū)動(dòng)器的固件更新而引起的固件數(shù)據(jù)泄漏時(shí)可能會(huì)出現(xiàn)的區(qū)域碼(RC)造成的再現(xiàn)限制無效,和未授權(quán)的復(fù)制DVD-ROM或使DVD-ROM的再現(xiàn)限制無效。
在根據(jù)本發(fā)明的信息處理裝置中,其中對(duì)應(yīng)于利用一個(gè)預(yù)定的加密密鑰數(shù)據(jù)對(duì)一個(gè)預(yù)定程序加密得到的加密程序數(shù)據(jù),被數(shù)據(jù)處理單元中的解密裝置解密為預(yù)定程序,這樣解密的程序被存儲(chǔ)在數(shù)據(jù)處理單元中的存儲(chǔ)裝置中,其中通過解密裝置被解密的預(yù)定程序和存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序自外部設(shè)備的輸出被輸出限制裝置進(jìn)行限制,以防止程序加載期間程序數(shù)據(jù)被泄漏出去,從而防止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
在根據(jù)本發(fā)明的程序加載方法中,其中對(duì)應(yīng)于利用一個(gè)預(yù)定的加密密鑰數(shù)據(jù)對(duì)一個(gè)預(yù)定程序加密得到的加密程序數(shù)據(jù),在解密步驟解密為預(yù)定程序,這樣該解密的程序被存儲(chǔ)在數(shù)據(jù)處理單元中的存儲(chǔ)裝置中,其中通過解密步驟被解密的預(yù)定程序和存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序自外部設(shè)備的輸出,在輸出限制步驟進(jìn)行限制,以防止程序加載期間程序數(shù)據(jù)被泄漏出去,從而防止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
在根據(jù)本發(fā)明的記錄介質(zhì)中,其上記錄有一個(gè)程序,其中對(duì)應(yīng)于利用一個(gè)預(yù)定的加密密鑰數(shù)據(jù)對(duì)一個(gè)預(yù)定程序加密得到的加密程序數(shù)據(jù),在解密步驟解密為預(yù)定程序,這樣該解密的程序被存儲(chǔ)在數(shù)據(jù)處理單元中的存儲(chǔ)裝置中,其中通過解密步驟被解密的預(yù)定程序和存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序自外部設(shè)備的輸出,在輸出限制步驟進(jìn)行限制,以防止程序加載期間程序數(shù)據(jù)被泄漏出去,從而避免不正當(dāng)使用程序加載時(shí)泄漏的程序數(shù)據(jù)。從而有可能禁止使用程序加載期間泄漏的程序數(shù)據(jù)的不正當(dāng)行為。
在根據(jù)本發(fā)明的電路設(shè)備中,其中對(duì)應(yīng)于利用一個(gè)預(yù)定的加密密鑰數(shù)據(jù)對(duì)一個(gè)預(yù)定程序加密得到的加密程序數(shù)據(jù),被解密裝置解密為預(yù)定程序,這樣該解密的程序被存儲(chǔ)在存儲(chǔ)裝置中,其中通過解密裝置被解密的預(yù)定程序和存儲(chǔ)在存儲(chǔ)裝置中的預(yù)定程序自外部設(shè)備的輸出被輸出限制裝置進(jìn)行限制,從而有可能防止程序加載期間程序數(shù)據(jù)被泄漏出去,從而避免不正當(dāng)使用程序加載時(shí)泄漏的程序數(shù)據(jù)。
本發(fā)明的其他方面,特征和優(yōu)點(diǎn)在閱讀了通過附圖示出的實(shí)施例之后將會(huì)更加明顯。
圖2示出了編碼過程。
圖3示出了實(shí)現(xiàn)本發(fā)明的DVD-ROM驅(qū)動(dòng)器中更新固件的操作流程圖。
圖4示出了DVD-ROM驅(qū)動(dòng)器中通過更新功能更新固件的操作的第一流程圖。
圖5示出了DVD-ROM驅(qū)動(dòng)器中通過更新功能更新固件的操作的第二流程圖。
圖6示出了在固件更新處理后確認(rèn)該更新是否成功的操作的流程圖。
圖7示出了該DVD-ROM驅(qū)動(dòng)器的CPU的可選擇配置的方框圖。
圖8示出了作為本發(fā)明的第二實(shí)施例的DVD-ROM驅(qū)動(dòng)器的結(jié)構(gòu)的方框圖。
圖9示出了該DVD-ROM驅(qū)動(dòng)器的解密單元的結(jié)構(gòu)。
圖10示出了該DVD-ROM驅(qū)動(dòng)器的加密單元的結(jié)構(gòu)。
圖11示出了該DVD-ROM驅(qū)動(dòng)器中通過更新功能進(jìn)行固件更新操作的第一流程圖。
圖12示出了該DVD-ROM驅(qū)動(dòng)器中通過更新功能進(jìn)行固件更新操作的第二流程圖。
圖13示出了該DVD-ROM驅(qū)動(dòng)器中,在固件更新處理后確認(rèn)該更新是否成功的操作的流程圖。
圖14示出了作為本發(fā)明的第三實(shí)施例的DVD-ROM驅(qū)動(dòng)器的結(jié)構(gòu)的方框圖。
圖15示出了該DVD-ROM驅(qū)動(dòng)器的解密單元的結(jié)構(gòu)。
圖16示出了該DVD-ROM驅(qū)動(dòng)器中加載微程序的操作的流程圖。
圖17示出了產(chǎn)生一個(gè)加密程序的操作的流程圖,該加密程序已經(jīng)被附加了一個(gè)用于防止篡改的檢驗(yàn)程序。
圖18示出了該DVD-ROM驅(qū)動(dòng)器用于執(zhí)行該加密程序的操作的流程圖,該加密程序已經(jīng)被附加了檢驗(yàn)程序。
圖19示出了該檢驗(yàn)程序的運(yùn)行的流程圖。
圖20示出了已經(jīng)附加上檢驗(yàn)程序和檢驗(yàn)數(shù)據(jù)的一個(gè)程序主體。
圖21示出了該散列函數(shù)。
圖22示出了對(duì)已經(jīng)附加上檢驗(yàn)程序和檢驗(yàn)數(shù)據(jù)的程序主體進(jìn)行加密的樣式。
圖23示出了校驗(yàn)和數(shù)據(jù)已被附加在加密數(shù)據(jù)上的樣式。
圖1示出了本發(fā)明第一實(shí)施例的DVD-ROM驅(qū)動(dòng)器的結(jié)構(gòu)。
該DVD-ROM驅(qū)動(dòng)器用于再現(xiàn)加載在該驅(qū)動(dòng)器某一位置上的DVD-ROM1。該DVD-ROM驅(qū)動(dòng)器與一個(gè)人計(jì)算機(jī)(PC)10連接,從而利用該連接的PC10控制DVD-ROM1的多種操作。
該DVD驅(qū)動(dòng)器包括一光學(xué)拾取單元2,一個(gè)軸電機(jī)3,一個(gè)讀處理器4,一個(gè)光學(xué)拾取單元驅(qū)動(dòng)器5,一個(gè)軸電機(jī)驅(qū)動(dòng)器6,一個(gè)DVD解碼器7,一個(gè)緩沖存儲(chǔ)器8和一個(gè)CPU9,但這些部件并未特別示出。
該光學(xué)拾取單元2包括一個(gè)用于發(fā)射預(yù)定波長(zhǎng)的激光的激光二極管,一個(gè)用于發(fā)射該激光二極管發(fā)射的預(yù)定波長(zhǎng)的激光的物鏡,從而使該激光匯聚在DVD-ROM1的數(shù)據(jù)記錄表面上,一個(gè)用于激勵(lì)該裝于其上的物鏡根據(jù)預(yù)定的控制信號(hào)實(shí)現(xiàn)聚焦和跟蹤調(diào)節(jié)的雙軸激勵(lì)器,一個(gè)用于接收從DVD-ROM1的數(shù)據(jù)記錄表面反射回來的光,并將該光轉(zhuǎn)化為電信號(hào),從而檢測(cè)數(shù)據(jù)記錄表面上是否出現(xiàn)凹坑的光電探測(cè)器。該光電探測(cè)器檢測(cè)到的電信號(hào)通常被稱為RF(射頻信號(hào))。
該光學(xué)拾取單元2包括一個(gè)用于沿DVD-ROM1的徑向驅(qū)動(dòng)該光學(xué)拾取單元2的滑動(dòng)電機(jī)。
另外,若DVD-ROM驅(qū)動(dòng)器包括一個(gè)未示出的用于將DVD-ROM1設(shè)定在加載的光盤托架上的機(jī)構(gòu),則該光學(xué)拾取單元2上具有一個(gè)用于激勵(lì)該光盤托架的加載電機(jī)。
該軸電機(jī)3是一個(gè)旋轉(zhuǎn)驅(qū)動(dòng)加載位置的DVD-ROM1的電機(jī)。
該讀處理器4根據(jù)光學(xué)拾取單元2上的光電探測(cè)器檢測(cè)到的RF信號(hào),產(chǎn)生用于DVD讀出的EFM+(8-14位調(diào)制+)信號(hào),用于跟蹤伺服的聚焦誤差(FE)信號(hào),以及同步引入信號(hào)(pull-in signals),并將這些產(chǎn)生的信號(hào)發(fā)送到伺服控制單元12。
光學(xué)拾取單元驅(qū)動(dòng)器5為一驅(qū)動(dòng)器IC(集成電路),它根據(jù)預(yù)定的控制信號(hào)激勵(lì)光學(xué)拾取單元2的未示出的雙軸激勵(lì)器、滑動(dòng)電機(jī)和加載電機(jī)。
軸電機(jī)驅(qū)動(dòng)器6為一驅(qū)動(dòng)器IC,它根據(jù)預(yù)定的控制信號(hào)激勵(lì)前面所述的軸電機(jī)3。
DVD解碼器7包括一DVD信號(hào)處理器11,伺服控制單元12,光盤驅(qū)動(dòng)單元13,存儲(chǔ)器控制器14,一ATAPI(具有封裝接口的AT附加裝置)15以及CPUI/F16。
該DVD信號(hào)處理器11包括一RS-PC解碼器,一ID處理8/16轉(zhuǎn)換電路和一用于判斷介質(zhì)是否可記錄的擺動(dòng)檢測(cè)器。
伺服控制電路12根據(jù)例如讀處理器4發(fā)射的FE信號(hào)、TE信號(hào)或同步引入信號(hào),產(chǎn)生用于驅(qū)動(dòng)控制光學(xué)拾取單元2的雙軸激勵(lì)器或滑動(dòng)電機(jī)的控制信號(hào),并將該產(chǎn)生的控制信號(hào)發(fā)送到光學(xué)拾取單元驅(qū)動(dòng)器5。
該光盤驅(qū)動(dòng)單元13產(chǎn)生用于控制已經(jīng)加載入DVD-ROM1的軸電機(jī)3的旋轉(zhuǎn)的控制信號(hào),并將該產(chǎn)生的控制信號(hào)發(fā)送至軸電機(jī)驅(qū)動(dòng)器6。
存儲(chǔ)器控制器14控制緩沖存儲(chǔ)器8的數(shù)據(jù)寫入和數(shù)據(jù)讀出。
ATAPI15為PC10和DVD-ROM驅(qū)動(dòng)器之間進(jìn)行相互連接和交換數(shù)據(jù)的接口。
這種用于連接PC10的接口可以為SCCI(小型計(jì)算機(jī)系統(tǒng)接口),USB(通用串行總線)或IEEE(電氣和電子工程師協(xié)會(huì))1394,以替換該ATAPI15。
CPUI/F16為DVD解碼器7和CPU9相互連接的接口,用于使CPU9控制DVD解碼器7。該CPUI/F16讀出存儲(chǔ)在緩沖存儲(chǔ)器8中的數(shù)據(jù)或在其中寫入數(shù)據(jù)。
該緩沖存儲(chǔ)器8為一隨機(jī)可存取存儲(chǔ)器,例如DRAM(動(dòng)態(tài)隨機(jī)可存取存儲(chǔ)器),用于暫時(shí)保存DVD信號(hào)處理器11或CPU9發(fā)送的數(shù)據(jù)。
該CPU9通過CPUI/F16與DVD解碼器7連接,從而全面控制DVD-ROM驅(qū)動(dòng)器的功能。下面將詳細(xì)說明該CPU9的結(jié)構(gòu)和功能。
PC10通過例如DVD解碼器7的ATAPI15與DVD-ROM驅(qū)動(dòng)器連接,從而通過輸入一預(yù)定命令控制DVD-ROM驅(qū)動(dòng)器的操作,例如再現(xiàn)、停止或數(shù)據(jù)恢復(fù)。用戶可通過PC10使用DVD-ROM1的各種數(shù)據(jù)。
下面將說明CPU9的結(jié)構(gòu)。
該CPU9包括一CPU核心20、一啟動(dòng)ROM21、一閃存ROM22、一RAM23、一輸入/輸出端口24、一寫入計(jì)時(shí)控制計(jì)時(shí)器25、一中斷控制電路26、一串行通信電路27、一32位總線28、一16位總線29、一橋電路30和一外部總線控制器31。
該CPU核心20表示CPU9的核心部分,包括用于執(zhí)行算術(shù)操作或比較判斷的一算術(shù)邏輯電路、一加法器或一計(jì)數(shù)寄存器。
該啟動(dòng)ROM21為一所謂的閃存存儲(chǔ)器,例如EEPROM(電可擦除可編程只讀存儲(chǔ)器),它是可進(jìn)行電數(shù)據(jù)擦除的可編程ROM。
該啟動(dòng)ROM21存儲(chǔ)有啟動(dòng)程序,當(dāng)更新存儲(chǔ)在閃存ROM22中的程序時(shí),啟動(dòng)該程序。在啟動(dòng)該啟動(dòng)程序時(shí),向例如CPU9上的接線端提供預(yù)定的電壓。當(dāng)向CPU9上的接線端提供預(yù)定電壓時(shí),從引導(dǎo)地址的開始處讀出該啟動(dòng)程序以執(zhí)行啟動(dòng)程序。
該啟動(dòng)ROM21還包括一加密處理單元21a,在其中存儲(chǔ)有作為一個(gè)程序的用于解密通過加密傳輸?shù)墓碳耐ㄓ妹荑€,以及用于利用該通用密鑰對(duì)被加密的固件進(jìn)行解碼的解密算法。
與啟動(dòng)ROM21相似,該閃存ROM22也為一所謂的閃存存儲(chǔ)器,例如EEPROM,它是電可擦除可編程ROM。
該閃存存儲(chǔ)器22中存儲(chǔ)有一固件,該固件為用于對(duì)DVD-ROM驅(qū)動(dòng)器施加再現(xiàn)限制的程序。存儲(chǔ)在閃存ROM22中的固件為用于執(zhí)行DVD-ROM驅(qū)動(dòng)器的預(yù)定操作的程序,例如DVD-ROM1的再現(xiàn)限制或數(shù)字復(fù)制的限制。
利用一TMR(磁致電阻隧道效應(yīng))裝置,也可使用一MRAM(磁隨機(jī)存取存儲(chǔ)器)來替換閃存ROM22。該MRAM為磁性存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器,因此可防止數(shù)據(jù)重寫。這樣,在更新該固件時(shí),就不再需要擦除存儲(chǔ)在MRAM中的數(shù)據(jù)的操作。即,不再需要對(duì)該固件進(jìn)行預(yù)更新擦除操作。
參照?qǐng)D2,說明該通用密鑰。
在圖2中,在對(duì)純文本數(shù)據(jù)加密中,利用該預(yù)定的加密密鑰,將該數(shù)據(jù)轉(zhuǎn)換為加密的數(shù)據(jù)。在對(duì)加密后的數(shù)據(jù)解密中,利用預(yù)定的解密密鑰將其轉(zhuǎn)換為該純文本數(shù)據(jù)。
不同的是,該加密密鑰用于對(duì)純文本數(shù)據(jù)或信息進(jìn)行加密,該解密密鑰用于將該被加密的數(shù)據(jù)或信息轉(zhuǎn)換為原始的純文本數(shù)據(jù)或信息。
該通用密鑰是指通用于加密上述數(shù)據(jù)的加密密鑰,和用于解密該被加密數(shù)據(jù)的解密密鑰。由于對(duì)該通用密鑰的信息進(jìn)行保密而沒有公開,該通用密鑰也稱為秘密密鑰。
雖然啟動(dòng)ROM21和閃存ROM22作為兩個(gè)不同閃存ROM來表示,但也可將他們合成為一個(gè)單獨(dú)的閃存ROM,可將它的存儲(chǔ)區(qū)域分為一啟動(dòng)區(qū)域和一程序區(qū)域。
該RAM23為例如一不需要用于保持存儲(chǔ)的內(nèi)容的刷新操作的SRAM(靜態(tài)隨機(jī)可存取存儲(chǔ)器),它可快速的進(jìn)行存取。該RAM23表示當(dāng)更新存儲(chǔ)在閃存ROM22中的固件時(shí),在其中打開數(shù)據(jù)和更新程序的區(qū)域。
通常,閃存存儲(chǔ)器不能自己執(zhí)行更新存儲(chǔ)其中數(shù)據(jù)的程序。因此,在更新該固件時(shí),更新函數(shù)與緩沖存儲(chǔ)器8發(fā)送的固件數(shù)據(jù)一起,從啟動(dòng)ROM21復(fù)制到RAM23中。
該輸入/輸出端口24作為CPU9的數(shù)據(jù)寫入端口和數(shù)據(jù)讀出端口。
當(dāng)更新閃存ROM22的固件時(shí),該寫入計(jì)時(shí)控制計(jì)時(shí)器25控制寫入計(jì)時(shí)。
中斷控制電路26根據(jù)允許執(zhí)行中斷程序的預(yù)定中斷的產(chǎn)生,執(zhí)行控制以中斷當(dāng)前正在執(zhí)行的處理。
串行通信電路27為串行數(shù)據(jù)發(fā)送/接收的接口。
32位總線28為可一次發(fā)送/接收32位數(shù)據(jù)的總線。
16位總線29為可一次發(fā)送/接收16位數(shù)據(jù)的總線。
橋電路30將該32位總線28和16位總線29連接。
外部總線控制器31監(jiān)視CPU9和作為外部設(shè)備的DVD解碼器7之間傳輸?shù)臄?shù)據(jù),并控制DVD解碼器7的數(shù)據(jù)輸入/輸出。該外部總線控制器31還具有保護(hù)功能,從而使用戶級(jí)不能訪問RAM23和存儲(chǔ)在啟動(dòng)ROM21和閃存ROM22中的程序。這考慮到可從CPU9中讀出通用密鑰、加密處理單元21a和解密固件加以限制。
參照?qǐng)D3的流程圖,下面說明更新存儲(chǔ)在閃存ROM22中的固件的操作。
首先,在步驟S1中,如果施加到啟動(dòng)接線端的電壓很高,則CPU9的CPU核心20執(zhí)行步驟S2。如果該電壓低,則CPU核心執(zhí)行步驟S4。
步驟S2的處理是對(duì)存儲(chǔ)在閃存ROM22中的程序執(zhí)行處理,步驟S4的處理是啟動(dòng)存儲(chǔ)在啟動(dòng)ROM21中的啟動(dòng)程序以更新固件的處理。
在步驟S2中,CPU核心20從例如存儲(chǔ)該固件的程序區(qū)域的引導(dǎo)地址開始,訪問閃存ROM22的程序。
在步驟S3中,CPU核心20根據(jù)存儲(chǔ)在該被訪問的閃存ROM22的程序區(qū)域中的程序,執(zhí)行常規(guī)處理,例如DVD-ROM1的再現(xiàn)或數(shù)據(jù)恢復(fù)。
在步驟S4中,根據(jù)施加到啟動(dòng)接線端的低電壓,將存儲(chǔ)有啟動(dòng)ROM21的啟動(dòng)程序的啟動(dòng)區(qū)域的引導(dǎo)地址讀入CPU核心20,從而啟動(dòng)該啟動(dòng)程序。
在步驟S5中,CPU核心20對(duì)DVD-ROM驅(qū)動(dòng)器的全部端口進(jìn)行初始化。從而防止了該DVD-ROM驅(qū)動(dòng)器的機(jī)械和電路系統(tǒng)被破壞。
在步驟S6中,該CPU核心20檢驗(yàn)PC10是否已經(jīng)輸入可在未就緒狀態(tài)下執(zhí)行的命令。該未就緒狀態(tài)這里是指DVD-ROM1沒有加載入DVD-ROM驅(qū)動(dòng)器上的位置的狀態(tài)或該DVD-ROM1沒有被CPU9識(shí)別的狀態(tài),該在未就緒狀態(tài)中可執(zhí)行的命令是指即使當(dāng)DVD-ROM1沒有被識(shí)別時(shí)也可執(zhí)行的命令。例如,從DVD-ROM1中讀出預(yù)定數(shù)據(jù)的命令就是不能在未就緒狀態(tài)執(zhí)行的命令。
如果輸入在未就緒狀態(tài)可執(zhí)行的命令,則CPU核心執(zhí)行步驟S8。如果輸入不能在未就緒狀態(tài)執(zhí)行的命令,則CPU核心執(zhí)行步驟S7。
在步驟S7中,該CPU核心20響應(yīng)不能在未就緒狀態(tài)執(zhí)行的命令的輸入,完成校驗(yàn)條件狀態(tài)下的命令從而返回到步驟S6。
在步驟S8中,如果PC10發(fā)出不同于指令更新閃存ROM22的程序的寫入緩沖命令的命令,則該CPU核心20執(zhí)行步驟S9。如果發(fā)出該寫入緩沖命令,則CPU核心20執(zhí)行步驟S10。
在步驟S9中,CPU核心20響應(yīng)于不同于寫入緩沖命令的輸入,執(zhí)行輸入命令。
在向DVD-ROM驅(qū)動(dòng)器發(fā)出寫入緩沖命令后,PC10將加密后的固件數(shù)據(jù)發(fā)送到DVD-ROM驅(qū)動(dòng)器,該加密后的固件數(shù)據(jù)是利用通用密鑰對(duì)將被更新為二進(jìn)制文件形式的固件加密所得到的。
在步驟S10,該CPU核心20響應(yīng)于接收到的寫入緩沖命令,獲得緩沖存儲(chǔ)器8的數(shù)據(jù)存儲(chǔ)區(qū)域的一個(gè)2×MKB的區(qū)域,該區(qū)域從地址N開始,其中M為自然數(shù),從而使PC10發(fā)送的二進(jìn)制文件存儲(chǔ)在該獲得的數(shù)據(jù)存儲(chǔ)區(qū)域中。
當(dāng)接收該二進(jìn)制文件時(shí),CPU核心20累加二進(jìn)制數(shù)據(jù)的總數(shù),產(chǎn)生校驗(yàn)和數(shù)據(jù),該數(shù)據(jù)與二進(jìn)制文件一起存儲(chǔ)在緩沖存儲(chǔ)器8中。該校驗(yàn)和數(shù)據(jù)是將數(shù)據(jù)的總數(shù)累加在一起而獲得的,該校驗(yàn)和數(shù)據(jù)是用于確認(rèn)發(fā)送的程序已經(jīng)被無誤差的接收的數(shù)據(jù)。
在步驟S11中,CPU核心20檢驗(yàn)在步驟S10中存儲(chǔ)在緩沖存儲(chǔ)器8中的校驗(yàn)和數(shù)據(jù),從而檢查發(fā)送的固件數(shù)據(jù)是否已經(jīng)被正確的接收。如果數(shù)據(jù)已經(jīng)被正確的接收,則CPU核心20執(zhí)行步驟S13,如果相反,則CPU核心20執(zhí)行步驟S12。
在步驟S12中,當(dāng)從步驟S11的校驗(yàn)和數(shù)據(jù)的檢驗(yàn)結(jié)果得到確認(rèn),CPU核心20通過完成校驗(yàn)條件狀態(tài)命令通知PC10該二進(jìn)制數(shù)據(jù)已經(jīng)被正確的發(fā)送。然后CPU核心20轉(zhuǎn)到步驟S6。
在步驟S13中,CPU核心20將更新固件中使用的更新函數(shù)從啟動(dòng)ROM21復(fù)制到RAM23中,該更新函數(shù)當(dāng)前存儲(chǔ)在啟動(dòng)ROM21中。
該更新函數(shù)被復(fù)制到RAM23,并在其中展開,從而作為更新程序操作更新固件到閃存ROM22中。
現(xiàn)在利用圖4所示的流程圖說明更新函數(shù)的處理操作。
在步驟S21中,CPU核心20訪問存儲(chǔ)在RAM23中的更新函數(shù)的引導(dǎo)地址,從而利用該更新函數(shù)開始更新固件到閃存ROM22中。
在步驟S22中,CPU核心20控制中斷控制電路26完全禁止中斷程序的執(zhí)行,同時(shí)禁止異常的處理的執(zhí)行。
CPU核心20響應(yīng)于PC10輸入的寫入緩沖命令的接收,擦除存儲(chǔ)在閃存ROM22的固件存儲(chǔ)區(qū)域中的數(shù)據(jù)。
同時(shí),如果使用前述的MRAM替換閃存ROM22,則不需要擦除該存儲(chǔ)的固件,因?yàn)镸RAM允許數(shù)據(jù)重寫。
在步驟S23中,CPU核心20啟動(dòng)寫入計(jì)時(shí)控制計(jì)時(shí)器25,該計(jì)時(shí)器25用于控制閃存ROM22中的寫入計(jì)時(shí)。
根據(jù)寫入計(jì)時(shí)控制計(jì)時(shí)器25的計(jì)時(shí)控制,隨后在閃存ROM22中寫入數(shù)據(jù)。
在步驟S24中,CPU核心20訪問緩沖存儲(chǔ)器8的地址數(shù)N和閃存ROM22的地址數(shù)0,該地址數(shù)N中存儲(chǔ)有加密的固件數(shù)據(jù)的二進(jìn)制文件,地址數(shù)0中存儲(chǔ)有固件。
在步驟S25中,CPU核心20從緩沖存儲(chǔ)器8的地址數(shù)N中讀出2KB數(shù)據(jù),將讀出的數(shù)據(jù)復(fù)制到RAM23中。
在步驟S26中,CPU核心20每隔8字節(jié)的讀出已復(fù)制到RAM23中的2KB數(shù)據(jù),并利用啟動(dòng)ROM21中的通用密鑰和存儲(chǔ)在加密處理單元21a中的解密算法對(duì)該數(shù)據(jù)解密。該CPU核心20使該解密的2KB數(shù)據(jù),即解密的固件數(shù)據(jù),重新存儲(chǔ)在RAM23中并在其中展開。
在步驟S27中,CPU核心20從RAM23中讀出存儲(chǔ)在RAM23中的2KB固件數(shù)據(jù),并將其寫入閃存ROM22中,從地址數(shù)0開始。
如果在步驟S28中,存儲(chǔ)在閃存ROM22中的固件數(shù)據(jù)的最后地址數(shù)為2×M,M為自然數(shù),則CPU核心20執(zhí)行步驟S30。如果相反,則CPU核心20執(zhí)行步驟S29。
在步驟S29中,CPU核心20訪問緩沖存儲(chǔ)器8的地址數(shù)加2KB所得的地址和閃存ROM22加2KB得到的地址數(shù)。當(dāng)該步驟結(jié)束后,CPU核心轉(zhuǎn)到步驟S25。
在步驟S30中,CPU核心20停止寫入計(jì)時(shí)控制計(jì)時(shí)器25,該計(jì)時(shí)器控制對(duì)閃存ROM22的寫入計(jì)時(shí)。
在步驟S31中,作為步驟S28中的存儲(chǔ)在閃存ROM22的固件數(shù)據(jù)的最后地址數(shù)為2×M,M為自然數(shù)的判斷的結(jié)果,以及步驟S30中停止了寫入計(jì)時(shí)控制計(jì)時(shí)器25的結(jié)果,對(duì)閃存ROM22的固件的更新結(jié)束。
在步驟S32中,CPU核心20響應(yīng)于步驟S31中結(jié)束的固件更新,訪問閃存ROM22的程序區(qū)域的引導(dǎo)地址。
在步驟S33中,CPU核心20響應(yīng)于存儲(chǔ)在閃存ROM22的被訪問的程序區(qū)域中的程序,即被更新的固件,執(zhí)行通常的操作,例如再現(xiàn)或數(shù)據(jù)恢復(fù)。
根據(jù)本發(fā)明,在DVD-ROM驅(qū)動(dòng)器中在更新存儲(chǔ)在閃存ROM22中的固件時(shí),利用通用密鑰,CPU9中的啟動(dòng)ROM21中的加密處理單元對(duì)來自PC10的被加密的固件數(shù)據(jù)進(jìn)行解密,并將該固件數(shù)據(jù)寫入閃存ROM22中,從而防止固件數(shù)據(jù)向外界泄漏。
在圖4所示的流程圖中,示出了從PC10接收加密的固件數(shù)據(jù)和解密該接收到的加密的固件數(shù)據(jù)以將其寫入閃存ROM22中的技術(shù)。如果PC10輸出未加密的數(shù)據(jù),則圖4中的步驟S25-S27的處理可變?yōu)椴襟ES25a的處理,即如圖5所示,直接從緩沖存儲(chǔ)器8寫入閃存ROM22。
參照?qǐng)D6的流程圖,現(xiàn)在說明PC10檢驗(yàn)閃存ROM22的固件更新結(jié)果的處理操作。
在步驟S41中,PC10發(fā)出一讀緩沖命令,要求存儲(chǔ)在閃存ROM22中的固件轉(zhuǎn)移到DVD-ROM驅(qū)動(dòng)器中。
在步驟S42中,CPU核心20響應(yīng)于從PC10發(fā)出的讀緩沖命令的接收,從閃存ROM22的引導(dǎo)地址開始,讀出存儲(chǔ)在閃存ROM22中的固件的2KB數(shù)據(jù)。
在步驟S43中,CPU核心20將該讀出的2KB數(shù)據(jù)記錄和存儲(chǔ)在RAM23的寄存器或CPU核心20中。
在步驟S44中,CPU核心20控制啟動(dòng)ROM21的加密處理單元21a,利用通用密鑰,根據(jù)存儲(chǔ)在加密處理單元21a中的解密算法,讀出并加密該存儲(chǔ)在RAM23或CPU核心20中的2KB的固件數(shù)據(jù)。
在步驟S45中,CPU核心20將該加密的2KB固件數(shù)據(jù)轉(zhuǎn)移到用于存儲(chǔ)的緩沖存儲(chǔ)器8中。
在步驟S46中,CPU核心20檢測(cè)存儲(chǔ)在閃存ROM22中的固件數(shù)據(jù)是否已經(jīng)全部被讀出。如果全部固件數(shù)據(jù)都已經(jīng)被讀出,則CPU核心20執(zhí)行步驟S47,如果沒有全部讀出固件數(shù)據(jù),則CPU核心執(zhí)行步驟S42。
在步驟S47中,如果存儲(chǔ)在閃存ROM22中的固件數(shù)據(jù)全部都被讀出并加密存儲(chǔ)在緩沖存儲(chǔ)器8中,則CPU核心20將存儲(chǔ)在緩沖存儲(chǔ)器8中的加密后的固件數(shù)據(jù)轉(zhuǎn)移到PC10。
該加密狀態(tài)的已經(jīng)被轉(zhuǎn)移的加密固件數(shù)據(jù)在PC單元中與原始數(shù)據(jù)相比較,以檢測(cè)一致性。
以這種方式,PC10可以檢驗(yàn)固件是否已經(jīng)在DVD-ROM驅(qū)動(dòng)器的閃存ROM22中可靠的更新。由于該固件在CPU9中被加密,且以此狀態(tài)傳輸?shù)絇C10,因此該純文本固件不可能在傳輸路線的中途中獲得,從而可能防止該固件被分析或篡改。
在DVD-ROM驅(qū)動(dòng)器的CPU9中,如圖1所示,存儲(chǔ)在啟動(dòng)ROM21中的解密算法的程序?qū)υ摷用芎蟮墓碳?shù)據(jù)解密??蛇x擇的是,如圖7所示,可通過重新構(gòu)造CPU9,將該加密處理單元作為程序形成在作為通用密鑰加密處理單元32的硬件中。
該具有通用密鑰加密處理單元32的CPU9執(zhí)行高速加密處理,從而可更快的更新該固件。由于與結(jié)合圖3、4說明的操作相類似,因此這里的更新處理不再說明。
在上述說明中,從CPU10輸出的加密后的固件由CPU9自身進(jìn)行解密,并上載到CPU9中的閃存ROM22中。該CPU9包括作為解密該加密后固件的加密處理單元的啟動(dòng)ROM21。
以這種方式,用于解密該加密后固件的加密處理單元,例如CPU9的啟動(dòng)ROM21,可以被加載入圖1中所示的DVD解碼器7中。將該DVD解碼器7定制為例如加載入該加密處理單元更為實(shí)際。
下面說明圖8中第二實(shí)施例所示的包括DVD解碼器和一用于解密該加密后固件的解密單元17的DVD-ROM驅(qū)動(dòng)器。
如圖8所示,DVD-ROM驅(qū)動(dòng)器中的DVD解碼器207由圖1所示的DVD解碼器7組成,一用于解密PC10輸入的加密后固件的解密單元217和一用于在PC10檢驗(yàn)純文本固件中加密存儲(chǔ)在閃存ROM28中的純文本固件的加密單元218與之相連。DVD-ROM驅(qū)動(dòng)器在其它方面與圖1所示DVD-ROM驅(qū)動(dòng)器相同。
該解碼器217和加密單元218可以分析利用一稱為密鑰流(偽隨機(jī)數(shù)字)的隨機(jī)數(shù)字作為加密密鑰來加密純文本的數(shù)據(jù)流加密程序,該加密程序是一種通用密鑰加密技術(shù)。數(shù)據(jù)流加密系統(tǒng)的加密和解密是以一個(gè)很小的數(shù)據(jù)塊為單位順序執(zhí)行的,該單位可為例如每位或每幾個(gè)位,例如每一個(gè)字節(jié)。
如果用于執(zhí)行數(shù)據(jù)流加密,如圖9所示,該解碼器217包括一SEED數(shù)據(jù)存儲(chǔ)單元217a,一隨機(jī)數(shù)字產(chǎn)生單元217b和一異或單元217c。
該SEED數(shù)據(jù)存儲(chǔ)單元217a已經(jīng)存儲(chǔ)有SEED數(shù)據(jù),該數(shù)據(jù)為隨機(jī)數(shù)字產(chǎn)生單元217b的初始輸入值,該數(shù)據(jù)對(duì)應(yīng)于通用密鑰,SEED數(shù)據(jù)存儲(chǔ)單元根據(jù)CPU核心36的命令將該存儲(chǔ)的SEED數(shù)據(jù)輸出到隨機(jī)數(shù)字產(chǎn)生單元217b。
該存儲(chǔ)在SEED數(shù)據(jù)存儲(chǔ)單元217a中的SEED數(shù)據(jù)可為一預(yù)存儲(chǔ)的固定值,或可由CPU核心36選擇性的設(shè)定。
該隨機(jī)數(shù)字產(chǎn)生單元217b響應(yīng)于SEED數(shù)據(jù)存儲(chǔ)單元217a的SEED數(shù)據(jù)輸入,根據(jù)預(yù)定的算法產(chǎn)生隨機(jī)數(shù)字,并將該產(chǎn)生的隨機(jī)數(shù)字輸出到異或單元217c。
該異或單元217c利用解密該固件數(shù)據(jù)的方法,將從緩沖存儲(chǔ)器8中讀出的加密后的固件數(shù)據(jù)以一預(yù)定數(shù)據(jù)長(zhǎng)度為單位進(jìn)行異或處理,并對(duì)隨機(jī)數(shù)字產(chǎn)生單元217b輸出的隨機(jī)數(shù)字進(jìn)行異或處理,并將解密后的純文本固件數(shù)據(jù)輸出到CPU35中的閃存ROM38中。
如果用于執(zhí)行數(shù)據(jù)流加密,則如圖10所示,該加密單元218包括一SEED數(shù)據(jù)存儲(chǔ)單元218a,一隨機(jī)數(shù)字產(chǎn)生單元218b和一異或單元218c。
該SEED數(shù)據(jù)存儲(chǔ)單元218a已經(jīng)存儲(chǔ)有SEED數(shù)據(jù),該數(shù)據(jù)為隨機(jī)數(shù)產(chǎn)生單元218b的初始輸入值,該數(shù)據(jù)對(duì)應(yīng)于通用密鑰,SEED數(shù)據(jù)存儲(chǔ)單元根據(jù)CPU核心36的命令將該存儲(chǔ)的SEED數(shù)據(jù)輸出到隨機(jī)數(shù)字產(chǎn)生單元218b。
該存儲(chǔ)在SEED數(shù)據(jù)存儲(chǔ)單元218a中的SEED數(shù)據(jù)可為一預(yù)存儲(chǔ)的固定值,或可由CPU核心36選擇性的設(shè)定。
同時(shí),由SEED數(shù)據(jù)存儲(chǔ)單元218a輸入到隨機(jī)數(shù)字產(chǎn)生單元218b的SEED數(shù)據(jù)與由SEED數(shù)據(jù)存儲(chǔ)單元217a輸入到解碼器217的隨機(jī)數(shù)字產(chǎn)生單元217b中的SEED數(shù)據(jù)相同。
該隨機(jī)數(shù)字產(chǎn)生單元218b響應(yīng)于SEED數(shù)據(jù)存儲(chǔ)單元218a的SEED數(shù)據(jù)輸入,根據(jù)預(yù)定的算法產(chǎn)生隨機(jī)數(shù)字,并將該產(chǎn)生的隨機(jī)數(shù)字輸出到異或單元218c。
隨機(jī)數(shù)字產(chǎn)生單元218b中使用的算法與解碼器217的隨機(jī)數(shù)字產(chǎn)生單元217b中產(chǎn)生隨機(jī)數(shù)字的算法相同。
該異或單元218c利用加密該固件數(shù)據(jù)的方法,將從閃存ROM38中以一預(yù)定數(shù)據(jù)長(zhǎng)度為單位讀出的純文本的固件數(shù)據(jù)和隨機(jī)數(shù)字產(chǎn)生單元218b輸出的隨機(jī)數(shù)字進(jìn)行異或處理,并將加密后的純文本固件數(shù)據(jù)輸出到緩沖存儲(chǔ)器8中。
該CPU35包括一CPU核心36、一RAM37和一閃存ROM38。該CPU35通過一CPUI/F216與DVD解碼器207連接。
該CPU核心36與圖1所示的CPU核心20相似,表示CPU35的核心部分,包括一算術(shù)邏輯電路、一加法器或一寄存器,用于執(zhí)行算術(shù)運(yùn)算或比較判斷。
該RAM37與圖1所示的RAM23相似,為例如一SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器),不需要刷新操作以保持存儲(chǔ)的內(nèi)容,其存取速度很快。該RAM 37表示當(dāng)更新存儲(chǔ)在閃存ROM38中的固件時(shí)展開數(shù)據(jù)和更新程序的區(qū)域。
該閃存ROM38為所謂的閃存存儲(chǔ)器,例如EEPROM,是可電擦除可編程ROM。該閃存ROM38與圖1所示的閃存ROM22相似,其中存儲(chǔ)有一固件,該固件是一個(gè)用于對(duì)DVD-ROM驅(qū)動(dòng)器施加再現(xiàn)限制的程序。
DVD解碼器207的解密單元217解密的純文本固件數(shù)據(jù)通過CPUI/F216輸出到CPU35中的閃存ROM38中。
該閃存ROM38與圖1所示的DVD-ROM驅(qū)動(dòng)器的CPU9中的閃存ROM22相似,可為MRAM,使用一TMR裝置。
在圖8所示的DVD-ROM驅(qū)動(dòng)器中,DVD解碼器207解碼的純文本固件數(shù)據(jù)以純文本狀態(tài)被傳輸?shù)紺PU35。因此,在傳輸過程中風(fēng)險(xiǎn)很大,也就是按照此配線,純文本固件數(shù)據(jù)可被偷看。
這樣,需要在CPU35和DVD解碼器207之間提供作為多層基片的內(nèi)層的流過該純文本固件數(shù)據(jù)的配線,或需要將半導(dǎo)體包裝設(shè)計(jì)為沒有針狀突出的球狀柵格陣列。
同時(shí),不同于DVD-ROM驅(qū)動(dòng)器的CPU35和DVD解碼器207的功能單元與圖1所示的DVD-ROM驅(qū)動(dòng)器上的功能單元相同,因此不再贅述。
現(xiàn)在利用圖11和12的流程圖,說明更新存儲(chǔ)在閃存ROM38中的固件的操作。首先,利用圖11所示的流程圖,說明直到將更新函數(shù)讀入RAM37的操作。
在步驟S101中,CPU核心36檢查從PC10發(fā)出并被接收的命令是否為一寫入緩沖命令。如果該命令不是寫入緩沖命令,則CPU核心執(zhí)行步驟S102,如果該命令為寫入緩沖命令,則CPU核心36執(zhí)行步驟S103。
在步驟S102中,CPU核心36檢查指令更新存儲(chǔ)在閃存ROM38中的固件的參數(shù)是否已經(jīng)被加入到PC10發(fā)來的寫入緩沖命令中。如果該參數(shù)沒有加入到該命令中,則CPU核心36執(zhí)行步驟S103,如果該參數(shù)已經(jīng)加入到命令中,則CPU核心36執(zhí)行步驟S104。
在步驟S103中,CPU核心36響應(yīng)于PC10的命令不是寫入緩沖命令以執(zhí)行該已發(fā)送的命令。該CPU核心36還響應(yīng)于PC10發(fā)出的命令是寫入緩沖命令,但是固件更新指令參數(shù)沒有加入該命令,而執(zhí)行對(duì)寫入數(shù)據(jù)而不是緩沖存儲(chǔ)器8中的從PC10發(fā)送來的固件進(jìn)行控制。當(dāng)步驟103的處理結(jié)束時(shí),CPU核心36回到步驟S101。
當(dāng)將寫入緩沖命令發(fā)送到DVD-ROM驅(qū)動(dòng)器后,PC10將對(duì)應(yīng)于用于更新的固件的根據(jù)數(shù)據(jù)流加密系統(tǒng)被加密的二進(jìn)制文件形式的用于更新的加密后的固件數(shù)據(jù)發(fā)送到DVD-ROM驅(qū)動(dòng)器中。
在步驟S104中,CPU核心36響應(yīng)于寫入緩沖命令的接收,從地址N開始獲取緩沖存儲(chǔ)器8的數(shù)據(jù)存儲(chǔ)區(qū)域的一個(gè)M字節(jié)的區(qū)域,M為自然數(shù),從而將PC10發(fā)送來的二進(jìn)制文件存儲(chǔ)在該獲取的數(shù)據(jù)存儲(chǔ)區(qū)域中。
在步驟S105中,CPU核心36確認(rèn)傳輸?shù)亩M(jìn)制文件的校驗(yàn)和。該校驗(yàn)和數(shù)據(jù)加入到該傳輸?shù)亩M(jìn)制文件中。CPU核心36將該加入的校驗(yàn)和數(shù)據(jù)與傳輸?shù)亩M(jìn)制文件的二進(jìn)制數(shù)據(jù)的總和值進(jìn)行比較,如果二者相同,則假定二進(jìn)制文件已經(jīng)被正確的傳輸。該CPU核心36然后執(zhí)行步驟S107。如果二者不同,則假定二進(jìn)制文件的傳輸失敗,CPU核心36執(zhí)行步驟S106。
在步驟S106中,CPU核心36通知PC10該二進(jìn)制文件沒有被正確的傳輸,然后轉(zhuǎn)到步驟S101,該情況可通過終止校驗(yàn)條件狀態(tài)的命令,由校驗(yàn)和數(shù)據(jù)的檢驗(yàn)結(jié)果證明。
在步驟S107中,CPU核心36可將更新存儲(chǔ)在閃存ROM38中的閃存ROM38的固件的更新函數(shù)復(fù)制到RAM37中,從而可在RAM37執(zhí)行CPU核心36的程序。
該CPU核心36然后清除存儲(chǔ)在閃存ROM38的固件存儲(chǔ)區(qū)域中的數(shù)據(jù),該數(shù)據(jù)為預(yù)更新固件。同時(shí),如果該閃存ROM38為可重寫的MRAM,則該清除操作可省略。
利用圖12的流程圖,說明更新函數(shù)的處理操作。
在步驟S111中,CPU核心36訪問存儲(chǔ)在RAM37中的更新函數(shù)的引導(dǎo)地址,從而利用該更新函數(shù)開始將該固件更新到該固件的閃存ROM38中。
在步驟S112中,CPU核心36控制一未示出的中斷控制電路,禁止中斷程序整體上的執(zhí)行,以及禁止其異常處理的執(zhí)行。
在步驟S113中,CPU核心36啟動(dòng)未示出的寫入計(jì)時(shí)控制計(jì)時(shí)器,該計(jì)時(shí)器控制閃存ROM38的寫入計(jì)時(shí)。然后,在寫入計(jì)時(shí)控制計(jì)時(shí)器的計(jì)時(shí)控制下,執(zhí)行在閃存ROM38中寫入數(shù)據(jù)。
在步驟S114中,CPU核心36訪問存儲(chǔ)有加密的固件數(shù)據(jù)的緩沖存儲(chǔ)器8中的地址數(shù)N,以及存儲(chǔ)有固件的閃存ROM38的地址數(shù)0。
在步驟S115中,CPU核心36以一個(gè)便于解碼的數(shù)據(jù)量為單位,例如每個(gè)字節(jié),從緩沖存儲(chǔ)器8的地址數(shù)N開始讀出數(shù)據(jù),并在解密單元17中將這些數(shù)據(jù)解密為純文本。該CPU核心36使解密后的純文本固件數(shù)據(jù)存儲(chǔ)在CPU核心36中的寄存器中或RAM37中。
該CPU核心36讀出存儲(chǔ)在CPU核心36的寄存器或RAM37中的固件數(shù)據(jù),將讀出的數(shù)據(jù)從閃存ROM38的地址數(shù)0開始寫入到閃存ROM38中。
在步驟S116中,CPU核心36檢查固件數(shù)據(jù)是否已經(jīng)整體上寫入到閃存ROM38中。如果地址數(shù)不是M,則CPU核心36執(zhí)行步驟S117,如果地址數(shù)為M,則CPU核心36執(zhí)行步驟S118。
在步驟S117中,CPU核心36訪問緩沖存儲(chǔ)器8的地址數(shù)加一個(gè)字節(jié)所得的地址和閃存ROM38的地址數(shù)加一個(gè)字節(jié)所得的地址。當(dāng)該步驟結(jié)束時(shí),CPU核心20轉(zhuǎn)向步驟S115,從緩沖存儲(chǔ)器8的可訪問的地址數(shù)中讀出加密后的固件數(shù)據(jù),同時(shí)將該解密后的純文本固件數(shù)據(jù)寫入到閃存ROM38中的可訪問地址數(shù)中。
在步驟S118中,CPU核心36停止控制閃存ROM38的寫入計(jì)時(shí)的寫入計(jì)時(shí)控制計(jì)時(shí)器。
在步驟S119中,由于步驟S116中判斷結(jié)果為存儲(chǔ)在閃存ROM38中的固件數(shù)據(jù)的最后地址數(shù)為M,M為自然數(shù),以及由于步驟S118中寫入計(jì)時(shí)控制計(jì)時(shí)器25被停止,因此閃存ROM38中的固件更新完成。從而完成了閃存ROM38的固件更新。
因此,在圖8所示的本發(fā)明的DVD-ROM驅(qū)動(dòng)器中,當(dāng)更新存儲(chǔ)在閃存ROM38中的固件時(shí),根據(jù)PC10中的數(shù)據(jù)流加密系統(tǒng)加密的固件數(shù)據(jù)在DVD解碼器207中的解碼器217中解密,并被寫入到CPU35中的閃存ROM38中。
在DVD解碼器207和CPU35之間的數(shù)據(jù)交換中,傳輸純文本固件數(shù)據(jù)。此時(shí),可利用安裝級(jí)別方法防止固件數(shù)據(jù)的泄漏,例如不允許半導(dǎo)體包裝接線端部分外露或適當(dāng)?shù)牟季€。
現(xiàn)在利用圖13所示的流程圖說明PC10檢驗(yàn)更新閃存ROM38的固件的結(jié)果的處理。
在步驟S121中,檢查PC10發(fā)出并被接收的命令是否為讀緩沖命令。如果該命令不是讀緩沖命令,則CPU核心執(zhí)行步驟S123,如果該命令是讀緩沖命令,則CPU核心36執(zhí)行步驟S122。
在步驟S122中,CPU核心36檢測(cè)指令讀出存儲(chǔ)在閃存ROM38中的固件的參數(shù)是否已經(jīng)被加入到PC10發(fā)出的讀緩沖命令中。如果該參數(shù)沒有被加入,則CPU核心執(zhí)行步驟S123,如果該參數(shù)已經(jīng)被加入,則CPU核心36執(zhí)行步驟S124。
在步驟S123中,CPU核心36響應(yīng)于PC10不是讀緩沖命令的命令而執(zhí)行傳輸?shù)拿睢T揅PU核心36還響應(yīng)于傳輸?shù)拿顬樽x緩沖命令但該固件更新指令參數(shù)沒有加入到該命令中,而控制從緩沖存儲(chǔ)器8中讀出不是固件的數(shù)據(jù)。當(dāng)步驟S123的處理結(jié)束時(shí),該處理完成。
當(dāng)將讀緩沖命令傳送到DVD-ROM驅(qū)動(dòng)器后,PC10將二進(jìn)制文件的加密后的固件數(shù)據(jù)發(fā)送到DVD-ROM驅(qū)動(dòng)器,該加密后的固件數(shù)據(jù)為用于更新的固件數(shù)據(jù),根據(jù)數(shù)據(jù)流加密系統(tǒng)加密。
在步驟S124中,CPU核心36訪問緩沖存儲(chǔ)器8的地址數(shù)N和固件存儲(chǔ)的閃存ROM38的地址數(shù)0。
在步驟S125中,CPU核心36以一個(gè)便于解碼的數(shù)據(jù)量為單位,例如每個(gè)字節(jié),從用于存儲(chǔ)的閃存ROM38中的地址數(shù)0開始讀出數(shù)據(jù),并存儲(chǔ)在CPU核心36的寄存器或RAM37中。
該CPU核心36讀出存儲(chǔ)在CPU核心36的寄存器或RAM37中的純文本固件數(shù)據(jù),并在DVD解碼器207的加密單元218中將該讀出的數(shù)據(jù)加密為加密后的固件數(shù)據(jù)。該CPU核心36將該加密后的固件數(shù)據(jù)寫入到從緩沖存儲(chǔ)器8的地址數(shù)N開始的區(qū)域中。
在步驟S126中,CPU核心36檢驗(yàn)固件數(shù)據(jù)是否已經(jīng)全部從閃存ROM38中讀出。如果地址數(shù)不是M,則CPU核心36執(zhí)行步驟S127,如果地址數(shù)為M,則CPU核心36執(zhí)行步驟S128。
在步驟S127中,CPU核心36訪問緩沖存儲(chǔ)器8的地址數(shù)加一個(gè)字節(jié)所得的地址和閃存ROM38的地址數(shù)加一個(gè)字節(jié)所得的地址。當(dāng)該步驟結(jié)束時(shí),CPU核心36執(zhí)行步驟S125,從閃存ROM38的可訪問的地址數(shù)開始讀出固件數(shù)據(jù),將該加密后的固件數(shù)據(jù)寫入到緩沖存儲(chǔ)器8中的可訪問地址數(shù)中。
在步驟S128中,CPU核心36響應(yīng)于已經(jīng)從閃存ROM38中讀出并存儲(chǔ)在緩沖存儲(chǔ)器8中的全部固件數(shù)據(jù),將該存儲(chǔ)在緩沖存儲(chǔ)器8中的加密后的固件數(shù)據(jù)傳送到PC10。
該被傳輸?shù)募用芎蟮墓碳?shù)據(jù)在加密狀態(tài)下與PC10的原始數(shù)據(jù)比較,以檢查二者是否相同。
這樣,PC10可以檢查固件是否已在DVD-ROM驅(qū)動(dòng)器的閃存ROM38中被可靠的更新。
在DVD解碼器207和CPU35之間的數(shù)據(jù)交換中,傳輸純文本固件數(shù)據(jù)。此時(shí),可利用安裝級(jí)別方法防止固件數(shù)據(jù)的泄漏,例如不允許半導(dǎo)體包裝接線端部分外露或適當(dāng)?shù)牟季€。
應(yīng)當(dāng)注意,通常在例如PC(個(gè)人計(jì)算機(jī))上執(zhí)行的程序存儲(chǔ)在輔助的存儲(chǔ)裝置,如硬盤(HD)中,并在PC工作時(shí)被載入主內(nèi)存裝置,例如RAM(隨機(jī)存取存儲(chǔ)器)中。CPU讀出載入主內(nèi)存裝置中的程序以執(zhí)行該程序。
因此,當(dāng)CPU執(zhí)行的程序被載入主內(nèi)存裝置時(shí),可使用駐留在CPU核心中的IPL(初始程序加載器)或從HD初始化讀入。
在參照?qǐng)D1的第一實(shí)施例的DVD-ROM驅(qū)動(dòng)器和參照?qǐng)D8的第二實(shí)施例的DVD-ROM中,存在DVD解碼器中由CPU的情況。此時(shí),DVD解碼器上的該CPU的操作與上述的PC相似,從而將存儲(chǔ)在外部存儲(chǔ)裝置中的程序讀到RAM中,執(zhí)行該讀出到RAM中的程序,以執(zhí)行預(yù)定的處理,例如DVD解碼。
因此,存儲(chǔ)在外部存儲(chǔ)裝置中的程序當(dāng)讀出到DVD解碼器中的RAM中時(shí),易于被偷看,從而引起程序分析或篡改,因此該程序需要以加密的狀態(tài)存儲(chǔ)。
在下面的說明中,DVD解碼器上的CPU執(zhí)行的程序稱為微程序,該加密狀態(tài)的微程序數(shù)據(jù)稱為加密的微程序數(shù)據(jù)。
圖14所示的第三實(shí)施例的DVD-ROM驅(qū)動(dòng)器包括一對(duì)應(yīng)于圖1所示的DVD解碼器7的DVD解碼器307,該解碼器307具有一CPU核心341、一SRAM342和一解碼器343。該DVD-ROM驅(qū)動(dòng)器在其它方面與圖1所示的DVD-ROM驅(qū)動(dòng)器的結(jié)構(gòu)相同。該內(nèi)部核心341、SRAM342和解碼器343通過內(nèi)部總線與存儲(chǔ)器控制器314和CPUI/F316連接。圖14所示的DVD-ROM驅(qū)動(dòng)器包括一外部CPU45、一閃存ROM46,其中存儲(chǔ)有將被讀入到DVD解碼器307中的加密的微程序數(shù)據(jù)。
該內(nèi)部CPU核心341為一用于控制DVD解碼器307的微控制器。該內(nèi)部CPU核心341存儲(chǔ)有IPL,該IPL是一程序,用于允許內(nèi)部CPU核心執(zhí)行的微程序被讀入到SRAM342中。該IPL在DVD-ROM驅(qū)動(dòng)器加電時(shí)啟動(dòng)。
該SRAM342為內(nèi)部CPU核心341的主存儲(chǔ)裝置,其中存儲(chǔ)有內(nèi)部CPU核心341執(zhí)行的微程序數(shù)據(jù)。在SRAM342中,IPL從閃存ROM46中讀出的加密的微程序數(shù)據(jù)由解碼器343解碼并存儲(chǔ)。
該解碼器343為一解碼電路,用于解碼加密存儲(chǔ)在閃存ROM46中的微程序數(shù)據(jù)(加密的微程序數(shù)據(jù)),將該解密的數(shù)據(jù)傳輸?shù)絊RAM342的程序區(qū)域中。該解碼器343對(duì)根據(jù)通用密鑰加密系統(tǒng)(塊加密或數(shù)據(jù)流加密系統(tǒng))加密的微程序數(shù)據(jù)解碼。
當(dāng)使用數(shù)據(jù)流加密時(shí),如圖15所示,該解碼器343包括一SEED數(shù)據(jù)存儲(chǔ)單元343a、一隨機(jī)數(shù)字產(chǎn)生單元343b和一異或單元343c。
該SEED數(shù)據(jù)存儲(chǔ)單元343a已經(jīng)存儲(chǔ)有SEED數(shù)據(jù),該數(shù)據(jù)為隨機(jī)數(shù)字產(chǎn)生單元343b的初始輸入值,該數(shù)據(jù)對(duì)應(yīng)于通用密鑰,SEED數(shù)據(jù)存儲(chǔ)單元根據(jù)內(nèi)部CPU核心341的命令將該存儲(chǔ)的SEED數(shù)據(jù)輸出到隨機(jī)數(shù)字產(chǎn)生單元343b。
該存儲(chǔ)在SEED數(shù)據(jù)存儲(chǔ)單元343a中的SEED數(shù)據(jù)可為一預(yù)存儲(chǔ)的固定值,或可由內(nèi)部CPU核心341選擇性地設(shè)定。
該隨機(jī)數(shù)字產(chǎn)生單元343b響應(yīng)于自SEED數(shù)據(jù)存儲(chǔ)單元343a的SEED數(shù)據(jù)輸入,根據(jù)預(yù)定的算法產(chǎn)生隨機(jī)數(shù)字,并將該產(chǎn)生的隨機(jī)數(shù)字輸出到異或單元343c。
異或單元343c利用解密微程序數(shù)據(jù)的方法,將以一預(yù)定數(shù)據(jù)長(zhǎng)度為單位從閃存ROM46中讀出的加密的微程序數(shù)據(jù)與從隨機(jī)數(shù)字產(chǎn)生單元343b輸出的隨機(jī)數(shù)字進(jìn)行異或處理,并將解密后的純文本微程序數(shù)據(jù)通過內(nèi)部CPU總線輸出到DVD解碼器307中的SRAM342中。
DVD解碼器307的CPUI/F316還具有保護(hù)功能,使得存儲(chǔ)在DVD解碼器307的SRAM342中的微程序數(shù)據(jù)、存儲(chǔ)在解碼器343的SEED數(shù)據(jù)存儲(chǔ)單元343a中的SEED數(shù)據(jù)或隨機(jī)數(shù)字產(chǎn)生單元343b的隨機(jī)數(shù)字產(chǎn)生算法不能由用戶級(jí)查閱。從而對(duì)取出解密后的純文本微程序數(shù)據(jù)或解密加密后的微程序數(shù)據(jù)的解密函數(shù)進(jìn)行限制。
該外部CPU45為全面控制DVD-ROM驅(qū)動(dòng)器的控制器,包括一算術(shù)邏輯電路、一加法器或一寄存器,用于執(zhí)行算術(shù)運(yùn)算或比較判斷。
閃存ROM46為所謂的閃存存儲(chǔ)器,例如可電擦除可編程ROM的EEPROM。該閃存ROM46中存儲(chǔ)有加密后的微程序數(shù)據(jù),該數(shù)據(jù)為內(nèi)部CPU核心341的加密后的程序。
下面利用圖16的流程圖說明圖14中表示的啟動(dòng)DVD-ROM驅(qū)動(dòng)器的操作。
在步驟S131中,駐留在內(nèi)部CPU核心341中的IPL在電源加電或復(fù)位時(shí)啟動(dòng)。與IPL的啟動(dòng)同時(shí)發(fā)生的是,接收到SEED數(shù)據(jù)的隨機(jī)數(shù)字產(chǎn)生單元343b對(duì)解碼器343初始化。
在步驟S132中,通過在內(nèi)部CPU核心341上執(zhí)行IPL,從閃存ROM46的引導(dǎo)地址開始,讀出存儲(chǔ)在閃存ROM46中的加密后的微程序數(shù)據(jù)。該加密后的微程序數(shù)據(jù)在讀出時(shí)被輸入到解碼器343中,并與隨機(jī)數(shù)字產(chǎn)生單元343b的輸出數(shù)據(jù)進(jìn)行異或,從而被解碼為純文本微程序數(shù)據(jù)。該解碼后的微程序數(shù)據(jù)被寫入到SRAM342中。
在步驟S133中,通過內(nèi)部CPU核心341上執(zhí)行的IPL檢驗(yàn)是否已經(jīng)讀出存儲(chǔ)在閃存ROM46中的被加密的微程序數(shù)據(jù)的預(yù)定量。當(dāng)已經(jīng)讀出加密后微程序數(shù)據(jù)的預(yù)定量時(shí),該內(nèi)部CPU核心341執(zhí)行步驟S134。當(dāng)沒有讀出加密后微程序數(shù)據(jù)的預(yù)定量時(shí),執(zhí)行自閃存ROM46的讀出,在解碼器343中的解密和在SRAM342中的寫入。
如果在步驟S134中,利用內(nèi)部CPU核心341上執(zhí)行IPL從閃存ROM46中的讀出已經(jīng)結(jié)束時(shí),內(nèi)部CPU核心341將純文本微程序數(shù)據(jù)寫入到SRAM342中,結(jié)束的程序計(jì)數(shù)器的值作為SRAM342的引導(dǎo)地址。
因此,當(dāng)圖14所示的DVD-ROM驅(qū)動(dòng)器被啟動(dòng)時(shí),存儲(chǔ)在閃存ROM46中的加密的微程序數(shù)據(jù),可由IPL讀出,在DVD解碼器307中解密,并寫入到SRAM342中。因此,通過由DVD解碼器307的內(nèi)部CPU核心341執(zhí)行的該微程序,由于在DVD解碼器307中執(zhí)行解密,因此可以防止程序分析或篡改。
因此,在更新DVD-ROM驅(qū)動(dòng)器的固件時(shí),該固件被加密并從PC10傳送到DVD-ROM驅(qū)動(dòng)器,在圖1所示的CPU9或圖8所示的DVD解碼器207中被解密,以便在CPU中的閃存ROM中被更新,從而防止了在更新過程中被分析和篡改??蛇x擇的是,在啟動(dòng)如圖14所示的DVD-ROM驅(qū)動(dòng)器時(shí)將載入的程序以加密的狀態(tài)讀出到解碼電路中,并在該電路中解密,從而防止在加載過程中程序被分析和篡改。
同時(shí),在圖14所示的DVD-ROM驅(qū)動(dòng)器中,通過總線從與DVD解碼器307連接的閃存ROM46提供存儲(chǔ)在SRAM342中的微程序。該微程序可以例如為一只讀存儲(chǔ)器(ROM)、一盤形記錄介質(zhì)或一可移動(dòng)半導(dǎo)體存儲(chǔ)器。
在圖14所示的DVD-ROM驅(qū)動(dòng)器中,通過解密單元343從閃存ROM46將微程序讀出到SRAM342的處理可由封裝在DVD解碼器307中的內(nèi)部CPU核心341上的IPL來執(zhí)行??蛇x擇的是,該處理可在DVD解碼器307外部的CPU的控制下執(zhí)行,例如通過外部CPU45。
但是,可以預(yù)期,如果可以禁止加密程序解密后的程序泄漏,則加密的程序可被篡改。
例如,如果在圖1所示的DVD-ROM驅(qū)動(dòng)器中,加密的固件被篡改,則被篡改的數(shù)據(jù)存儲(chǔ)在閃存ROM22中,從而可能引起非法內(nèi)容復(fù)制或驅(qū)動(dòng)故障。
為了克服這種問題,可采取這樣的技術(shù),在將要更新的程序主體上加入用于檢驗(yàn)程序篡改事實(shí)的程序,將該產(chǎn)生的程序主體發(fā)送到DVD-ROM驅(qū)動(dòng)器。該檢驗(yàn)程序被加入到將被更新的程序主體上,DVD-ROM驅(qū)動(dòng)器執(zhí)行該更新的程序,該加在該程序主體上的檢驗(yàn)程序首先啟動(dòng)以判斷該更新的程序是否已經(jīng)被篡改。
利用圖17-19所示的流程圖,說明禁止加密的數(shù)據(jù)被篡改的程序的更新操作。應(yīng)當(dāng)注意圖8所示的DVD-ROM驅(qū)動(dòng)器用作程序更新驅(qū)動(dòng)器只是為了說明。
首先,利用圖17所示的流程圖,一直說明到具有附加的檢驗(yàn)程序的程序主體運(yùn)行到DVD-ROM驅(qū)動(dòng)時(shí)的操作。
在步驟S141中,用于傳送到DVD-ROM驅(qū)動(dòng)器的程序由例如驅(qū)動(dòng)器制造商預(yù)先準(zhǔn)備。在該準(zhǔn)備的程序主體上附加上述用于檢驗(yàn)程序篡改的檢驗(yàn)程序。
在步驟S142,驅(qū)動(dòng)器制造商由一個(gè)程序產(chǎn)生檢驗(yàn)數(shù)據(jù),該程序被分配為其上附加有該已產(chǎn)生的檢驗(yàn)數(shù)據(jù),如圖20所示。
此檢驗(yàn)數(shù)據(jù)是利用散列函數(shù)通過執(zhí)行對(duì)該程序主體的處理而得到的一個(gè)散列值。例如,標(biāo)準(zhǔn)化組織NIST所提供的,屬于US商業(yè)部的,由SHA進(jìn)一步改進(jìn)的SHA(安全散列算法)-1,也可以被作為此散列函數(shù)使用,如圖21所示。此SHA-1是一種用于根據(jù)小于264的數(shù)據(jù)長(zhǎng)度而產(chǎn)生160比特長(zhǎng)度的散列值(檢驗(yàn)數(shù)據(jù))的算法。
在步驟S143,驅(qū)動(dòng)器制造商對(duì)加上了檢驗(yàn)數(shù)據(jù)的程序進(jìn)行加密,以包含該檢驗(yàn)數(shù)據(jù),如圖22所示。
在步驟S144,驅(qū)動(dòng)器制造商根據(jù)加密的程序計(jì)算校驗(yàn)和數(shù)據(jù),以附加這樣計(jì)算的校驗(yàn)和數(shù)據(jù),如圖23所示。該附加數(shù)據(jù)也可以是由散列函數(shù)建立的散列值,來代替校驗(yàn)和數(shù)據(jù)。這樣加上了校驗(yàn)和數(shù)據(jù)的程序就變成了允許傳送的數(shù)據(jù)。
該允許傳送的數(shù)據(jù),利用例如ROM介質(zhì),被發(fā)送至用戶(PC10)。
在步驟S145,PC10向DVD-ROM驅(qū)動(dòng)器傳送現(xiàn)在允許傳輸?shù)臄?shù)據(jù)(程序)。
利用圖18所示的流程圖,可以說明DVD-ROM驅(qū)動(dòng)器接收該程序的操作,其中采取了防止傳送到PC10的加密數(shù)據(jù)被篡改的措施。
在步驟S151,在接收到同寫緩沖命令一起從PC10傳送來的程序之后,DVD-ROM驅(qū)動(dòng)器比較該程序附加的校驗(yàn)和數(shù)據(jù),和傳送的加密程序數(shù)據(jù)的和值。若兩個(gè)值相互不一致,則DVD-ROM驅(qū)動(dòng)器進(jìn)行到步驟S152,否則,DVD-ROM驅(qū)動(dòng)器進(jìn)行到步驟S153。
在步驟S152,DVD-ROM驅(qū)動(dòng)器,通過終止校驗(yàn)條件狀態(tài)的命令,通知PC10加密的程序數(shù)據(jù)未被正確傳送的事實(shí),如同校驗(yàn)和數(shù)據(jù)的比較結(jié)果所示。然后DVD-ROM驅(qū)動(dòng)器返回步驟S151。
在步驟S153,解密單元17對(duì)加密的微程序數(shù)據(jù)進(jìn)行解密。該檢驗(yàn)數(shù)據(jù)被附加在解密的數(shù)據(jù)上,同時(shí)該檢驗(yàn)程序位于該程序主體上。
在步驟S154中,被解密的程序數(shù)據(jù)被存儲(chǔ)在閃存ROM38中。
在步驟S155中,當(dāng)啟動(dòng)存儲(chǔ)在閃存ROM38中的程序時(shí),首先執(zhí)行該檢驗(yàn)程序。
利用圖19所示出的流程圖,可說明檢驗(yàn)程序的操作。
在步驟S161,啟動(dòng)的檢驗(yàn)程序通過散列函數(shù)計(jì)算程序主體的散列值。
在步驟S162,檢驗(yàn)程序比較程序主體所附加的檢驗(yàn)數(shù)據(jù)和所計(jì)算的散列值。若兩個(gè)值相互一致,則檢驗(yàn)程序進(jìn)行到步驟S163。若兩個(gè)值相互不一致,則檢驗(yàn)程序進(jìn)行到步驟S164。
在步驟S163,響應(yīng)于存儲(chǔ)在閃存ROM 38中的程序未被篡改的判斷,即附加的檢驗(yàn)數(shù)據(jù)與計(jì)算的散列值相一致,DVD-ROM驅(qū)動(dòng)器執(zhí)行存儲(chǔ)在閃存ROM38中的程序主體。
在步驟S164,響應(yīng)于存儲(chǔ)在閃存ROM38中的程序被篡改的判斷,即附加的檢驗(yàn)數(shù)據(jù)與計(jì)算的散列值不一致,DVD-ROM驅(qū)動(dòng)器進(jìn)入一種未就緒狀態(tài),或處于一種穩(wěn)定的非操作狀態(tài)。
通過對(duì)被傳送的程序主體附加通過散列函數(shù)計(jì)算的檢驗(yàn)數(shù)據(jù),并傳送由此得到的程序主體,即使在加密的數(shù)據(jù)本身已被篡改的情況下,DVD-ROM驅(qū)動(dòng)器也能夠檢驗(yàn)篡改事實(shí)。
在根據(jù)本發(fā)明的上述第一和第二實(shí)施例的DVD-ROM驅(qū)動(dòng)器中,將被更新的固件被傳送至PC10??蛇x擇的是,該固件可以被記錄在例如DVD-ROM驅(qū)動(dòng)器上可再現(xiàn)的DVD-ROM1上。通過在DVD-ROM1中存儲(chǔ)該加密的固件數(shù)據(jù)作為一個(gè)文件,DVD-ROM驅(qū)動(dòng)器能夠再現(xiàn)此DVD-ROM1,以獲得將被更新的固件。
在類似的方式中,根據(jù)本發(fā)明第三實(shí)施例的DVD-ROM驅(qū)動(dòng)器,記錄有作為一個(gè)文件的加密微程序數(shù)據(jù)的DVD-ROM1可以被再現(xiàn)以加載該微程序。
同時(shí),在更新被寫入DVD-ROM驅(qū)動(dòng)器的啟動(dòng)ROM21中的固件時(shí)所啟動(dòng)的程序,如本發(fā)明第一實(shí)施例所示,可以被寫入在DVD-ROM1中。該固件可以被再現(xiàn)DVD-ROM1的DVD-ROM驅(qū)動(dòng)器所更新。
在類似的方式中,根據(jù)本發(fā)明的第二實(shí)施例,在更新DVD-ROM驅(qū)動(dòng)器上的固件時(shí)被啟動(dòng)的程序,可以被寫入在DVD-ROM1中。該固件可以被再現(xiàn)上述DVD-ROM1的DVD-ROM驅(qū)動(dòng)器所更新。
在類似的方式中,根據(jù)本發(fā)明的第三實(shí)施例,在對(duì)DVD-ROM驅(qū)動(dòng)器上加載微程序時(shí)啟動(dòng)的程序,可以被寫入DVD-ROM1中。該微程序可以被再現(xiàn)上述DVD-ROM1的DVD-ROM驅(qū)動(dòng)器所加載。
并且,在DVD-ROM驅(qū)動(dòng)器中,如本發(fā)明的第一或第二實(shí)施例所示,可以提供一個(gè)與半導(dǎo)體存儲(chǔ)器,例如存儲(chǔ)棒(注冊(cè)商標(biāo)),相關(guān)的,用于半導(dǎo)體存儲(chǔ)器的槽,并且加密的固件數(shù)據(jù)可以被記錄在代替DVD-ROM1的該半導(dǎo)體存儲(chǔ)器中,以更新該固件。
在類似的方式中,根據(jù)本發(fā)明的第三實(shí)施例的DVD-ROM驅(qū)動(dòng)器中,加密的微程序數(shù)據(jù)可以被記錄在可移動(dòng)半導(dǎo)體存儲(chǔ)器中以加載該微程序。
在根據(jù)本發(fā)明的第一至第三實(shí)施例中,使用了DVD-ROM驅(qū)動(dòng)器。但本發(fā)明并不局限于這種結(jié)構(gòu),而是可以應(yīng)用于能夠記錄和/或再現(xiàn)其上記錄有數(shù)據(jù)的CD-ROM,CD-R,CD-RW,DVD-RAM,DVD-R/RW或DVD+R/RW的任何光盤裝置。
雖然在本發(fā)明的第一至第三實(shí)施例中,使用了DVD-ROM驅(qū)動(dòng)器,但本發(fā)明并不局限于這種結(jié)構(gòu),而是可以應(yīng)用于通常需要某種或其他安全性的任何處理裝置。
雖然使用一個(gè)共同密鑰的加密技術(shù)被作為用于加密或解密該固件或微程序的一種技術(shù),但本發(fā)明并不局限于這種方法。例如,公共密鑰系統(tǒng)或其他加密算法都可被使用。
并且,雖然在本發(fā)明的第一至第三實(shí)施例中,DVD-ROM驅(qū)動(dòng)器被用于處理固件或微程序,但其也可是被處理的數(shù)據(jù),也就是說,該數(shù)據(jù)可以是例如可被更新或設(shè)定的任何數(shù)據(jù),例如可重寫寄存器或DVD-ROM驅(qū)動(dòng)器中的存儲(chǔ)器的設(shè)定值。
權(quán)利要求
1.一種信息處理裝置,包括加密程序數(shù)據(jù)接收裝置,用于接收通過使用預(yù)定的加密密鑰對(duì)預(yù)定程序加密而得到的加密程序數(shù)據(jù),解密裝置,用于利用一個(gè)預(yù)定的解碼密鑰,將從所述加密程序數(shù)據(jù)接收裝置接收的所述加密程序數(shù)據(jù)解密為預(yù)定的程序,存儲(chǔ)裝置,用于存儲(chǔ)通過所述解密裝置由所述加密程序數(shù)據(jù)解密后的所述預(yù)定程序,程序讀出裝置,用于讀出存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序,和控制裝置,用于根據(jù)所述讀出裝置讀出的所述預(yù)定程序而控制信息處理裝置的一個(gè)預(yù)定操作。
2.根據(jù)權(quán)利要求1的信息處理裝置,其中所述加密程序數(shù)據(jù)接收裝置接收從一個(gè)外部設(shè)備傳送過來的加密程序數(shù)據(jù)。
3.根據(jù)權(quán)利要求1的信息處理裝置,進(jìn)一步包括再現(xiàn)裝置,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密后的加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收裝置接收被所述再現(xiàn)裝置再現(xiàn)的加密程序數(shù)據(jù)。
4.根據(jù)權(quán)利要求1的信息處理裝置,進(jìn)一步包括加密程序數(shù)據(jù)存儲(chǔ)裝置,其上存儲(chǔ)有所述加密程序數(shù)據(jù);和加密程序數(shù)據(jù)讀出裝置,用于讀出存儲(chǔ)在所述加密程序數(shù)據(jù)存儲(chǔ)裝置中的所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收裝置接收通過所述加密程序數(shù)據(jù)讀出裝置讀出的加密程序數(shù)據(jù)。
5.根據(jù)權(quán)利要求1的信息處理裝置,其中通過所述加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)包括,用所述預(yù)定的加密密鑰對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述預(yù)定程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)用于執(zhí)行所述預(yù)定運(yùn)算的檢驗(yàn)程序,和一個(gè)加密檢驗(yàn)程序。
6.根據(jù)權(quán)利要求5的信息處理裝置,其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密裝置利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序分別解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述存儲(chǔ)裝置存儲(chǔ)通過所述解密裝置解密的所述第一檢驗(yàn)數(shù)據(jù)和檢驗(yàn)程序;所述控制裝置在執(zhí)行所述預(yù)定程序之前,根據(jù)所述檢驗(yàn)程序,由存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序的程序數(shù)據(jù)計(jì)算第二檢驗(yàn)數(shù)據(jù),并比較該計(jì)算的第二檢驗(yàn)數(shù)據(jù)和存儲(chǔ)在所述存儲(chǔ)裝置中的第一檢驗(yàn)數(shù)據(jù);所述讀出裝置響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述控制裝置的相互比較的一致性,讀出存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序。
7.根據(jù)權(quán)利要求1的信息處理裝置,其中該裝置包括所述控制裝置,所述加密程序數(shù)據(jù)接收裝置,所述解密裝置,所述存儲(chǔ)裝置和一個(gè)控制單元中的程序讀出裝置,其中所述控制單元包括輸出控制裝置,用于限制通過所述解密裝置解密的所述預(yù)定程序和存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序自外部設(shè)備的輸出。
8.一種程序加載方法,用于對(duì)所述信息處理裝置加載一個(gè)預(yù)定程序以控制該信息處理裝置的一個(gè)預(yù)定操作,包括一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收以預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密后的加密程序數(shù)據(jù),一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解密密鑰對(duì)所述加密程序數(shù)據(jù)接收步驟接收的所述加密程序數(shù)據(jù)進(jìn)行解密,和存儲(chǔ)步驟,用于將所述解密步驟中對(duì)所述加密程序數(shù)據(jù)解密后的所述預(yù)定程序存儲(chǔ)在存儲(chǔ)裝置中。
9.根據(jù)權(quán)利要求8的程序加載方法,其中所述加密程序數(shù)據(jù)接收步驟接收從一個(gè)外部設(shè)備傳送過來的所述加密程序數(shù)據(jù)。
10.根據(jù)權(quán)利要求8的程序加載方法,進(jìn)一步包括一個(gè)再現(xiàn)步驟,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有利用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密后的加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收步驟接收在所述再現(xiàn)步驟中再現(xiàn)的所述加密程序數(shù)據(jù)。
11.根據(jù)權(quán)利要求8的程序加載方法,進(jìn)一步包括一個(gè)加密程序數(shù)據(jù)讀出步驟,用于從存儲(chǔ)有所述加密程序數(shù)據(jù)的所述信息處理裝置的所述加密程序數(shù)據(jù)存儲(chǔ)裝置中讀出所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收步驟接收通過所述加密程序數(shù)據(jù)讀出步驟讀出的所述加密程序數(shù)據(jù)。
12.根據(jù)權(quán)利要求8的程序加載方法,其中所述加密程序數(shù)據(jù)接收步驟接收的所述加密程序數(shù)據(jù)包括,利用所述預(yù)定的加密密鑰對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述預(yù)定程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)用于執(zhí)行所述預(yù)定運(yùn)算的檢驗(yàn)程序,和一個(gè)加密檢驗(yàn)程序。
13.根據(jù)權(quán)利要求12的程序加載方法,其中所述解密步驟在解密所述加密程序數(shù)據(jù)時(shí),所述解密步驟利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述存儲(chǔ)步驟將通過所述解密步驟解密的所述第一檢驗(yàn)數(shù)據(jù)和檢驗(yàn)程序存儲(chǔ)在所述存儲(chǔ)介質(zhì)上;所述控制步驟包括一個(gè)檢驗(yàn)數(shù)據(jù)計(jì)算步驟,用于在執(zhí)行所述預(yù)定程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)步驟中存儲(chǔ)的所述預(yù)定程序的程序數(shù)據(jù)計(jì)算第二檢驗(yàn)數(shù)據(jù),和一個(gè)檢驗(yàn)數(shù)據(jù)比較步驟,用于比較該計(jì)算的第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)步驟中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);所述讀出步驟響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述檢驗(yàn)數(shù)據(jù)比較步驟相互比較的一致性,讀出在所述存儲(chǔ)步驟中存儲(chǔ)的所述預(yù)定程序。
14.根據(jù)權(quán)利要求8的程序加載方法,進(jìn)一步包括一個(gè)輸出限制步驟,用于限制所述解密的預(yù)定程序自所述外部設(shè)備的輸出。
15.一種記錄介質(zhì),其上記錄有一個(gè)程序,用于對(duì)信息處理裝置加載一個(gè)用于控制信息處理裝置的一個(gè)預(yù)定操作的一個(gè)預(yù)定程序,其中該程序包含一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密后得到的加密程序數(shù)據(jù);一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解碼密鑰,將所述加密程序數(shù)據(jù)接收步驟接收的所述加密程序數(shù)據(jù)解密為所述預(yù)定程序;和一個(gè)存儲(chǔ)步驟,用于存儲(chǔ)所述加密程序數(shù)據(jù)由所述解密步驟解密后的所述預(yù)定程序。
16.根據(jù)權(quán)利要求15的其上記錄有一個(gè)程序的記錄介質(zhì),其中所述加密程序數(shù)據(jù)接收步驟接收從一個(gè)外部設(shè)備傳送過來的加密程序數(shù)據(jù)。
17.根據(jù)權(quán)利要求15的其上記錄有一個(gè)程序的記錄介質(zhì),進(jìn)一步包括一個(gè)再現(xiàn)步驟,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密得到的加密程序數(shù)據(jù),和一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收通過所述再現(xiàn)步驟而再現(xiàn)的加密程序數(shù)據(jù)。
18.根據(jù)權(quán)利要求15的其上記錄有一個(gè)程序的記錄介質(zhì),進(jìn)一步包括一個(gè)加密程序數(shù)據(jù)讀出步驟,用于從存儲(chǔ)有所述加密程序數(shù)據(jù)的所述信息處理裝置的所述加密程序數(shù)據(jù)存儲(chǔ)裝置中讀出所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收步驟接收通過所述加密程序數(shù)據(jù)讀出步驟讀出的所述加密程序數(shù)據(jù)。
19.根據(jù)權(quán)利要求15的其上記錄有一個(gè)程序的記錄介質(zhì),其中所述加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)包括,用所述預(yù)定的加密密鑰對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述預(yù)定程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)用于執(zhí)行所述預(yù)定運(yùn)算的檢驗(yàn)程序,和一個(gè)加密檢驗(yàn)程序。
20.根據(jù)權(quán)利要求19的其上記錄有一個(gè)程序的記錄介質(zhì),其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密步驟利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述存儲(chǔ)步驟將通過所述解密步驟解密的第一檢驗(yàn)數(shù)據(jù)和檢驗(yàn)程序存儲(chǔ)在所述存儲(chǔ)裝置中;所述控制步驟包括一個(gè)檢驗(yàn)數(shù)據(jù)計(jì)算步驟,用于在執(zhí)行所述預(yù)定程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序的程序數(shù)據(jù)計(jì)算第二檢驗(yàn)數(shù)據(jù);一個(gè)檢驗(yàn)數(shù)據(jù)比較步驟,用于比較在所述檢驗(yàn)數(shù)據(jù)計(jì)算步驟中計(jì)算的所述第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)裝置中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);所述讀出步驟響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述檢驗(yàn)數(shù)據(jù)比較步驟相互比較的一致性,讀出在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序。
21.根據(jù)權(quán)利要求15的記錄介質(zhì),其中記錄在所述記錄介質(zhì)上的程序,進(jìn)一步包括一個(gè)輸出限制步驟,用于限制所述解密的預(yù)定程序自外部設(shè)備的輸出。
22.根據(jù)權(quán)利要求15的記錄介質(zhì),其中該信息處理裝置在控制單元中包括,所述存儲(chǔ)裝置和控制裝置,用于根據(jù)所述存儲(chǔ)裝置中存儲(chǔ)的程序而控制所述信息處理裝置的預(yù)定操作;記錄在所述記錄介質(zhì)上的所述程序還包括一個(gè)程序傳送步驟,用于將通過所述解密步驟解密的所述預(yù)定程序傳送到控制單元,一個(gè)程序接收步驟,用于接收通過所述程序傳送步驟傳送到所述控制單元的所述預(yù)定程序,和一個(gè)程序?qū)懭氩襟E,用于將通過所述程序接收步驟接收的所述預(yù)定程序?qū)懭氲剿龃鎯?chǔ)裝置中。
23.一個(gè)具有一控制單元的信息處理裝置,該控制單元包括,存儲(chǔ)有第一程序的存儲(chǔ)裝置,和控制裝置,用于讀出存儲(chǔ)在存儲(chǔ)裝置中的第一程序并根據(jù)讀出的第一程序來控制信息處理裝置的預(yù)定操作,該信息處理裝置包括加密程序數(shù)據(jù)接收裝置,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)第二程序加密后的加密程序數(shù)據(jù),解碼裝置,用于利用一個(gè)預(yù)定的解碼密鑰,對(duì)由加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)進(jìn)行解碼,和程序傳送裝置,用于將加密程序數(shù)據(jù)被解密裝置解密后的第二程序傳送至控制單元;所述控制單元包括程序接收裝置,用于接收由傳送裝置傳送的第二程序,和程序?qū)懭胙b置,用于將程序接收裝置接收的第二程序?qū)懭氪鎯?chǔ)裝置。
24.根據(jù)權(quán)利要求23的信息處理裝置,其中所述加密程序數(shù)據(jù)接收裝置可接收從一個(gè)外部設(shè)備傳送過來的所述加密程序數(shù)據(jù)。
25.根據(jù)權(quán)利要求23的信息處理裝置,進(jìn)一步包括再現(xiàn)裝置,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述第二程序加密得到的加密程序數(shù)據(jù);所述控制裝置控制所述再現(xiàn)裝置,從而響應(yīng)于一個(gè)程序更新請(qǐng)求而再現(xiàn)所述記錄介質(zhì);所述加密程序數(shù)據(jù)接收裝置可接收被所述再現(xiàn)裝置再現(xiàn)的加密程序數(shù)據(jù)。
26.根據(jù)權(quán)利要求23的信息處理裝置,其中在多層基片的內(nèi)層上提供一個(gè)相互連接所述程序傳送裝置和所述程序接收裝置的配線。
27.根據(jù)權(quán)利要求23的信息處理裝置,其中所述控制單元是一個(gè)球狀柵格陣列。
28.根據(jù)權(quán)利要求23的信息處理裝置,其中通過所述加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)包括,對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述第二程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)檢驗(yàn)程序,其是一個(gè)利用所述預(yù)定的加密密鑰執(zhí)行所述預(yù)定運(yùn)算的程序,和一個(gè)加密檢驗(yàn)程序。
29.根據(jù)權(quán)利要求28的信息處理裝置,其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密裝置利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述程序?qū)懭胙b置,用于將所述解密裝置解密的所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序?qū)懭氲剿龃鎯?chǔ)裝置中;所述控制裝置,用于在執(zhí)行所述第二程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)裝置中存儲(chǔ)的所述第二程序的程序數(shù)據(jù),計(jì)算第二檢驗(yàn)數(shù)據(jù);并比較計(jì)算的第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)裝置中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);所述控制裝置響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)相互比較的一致性,讀出在所述存儲(chǔ)裝置中存儲(chǔ)的所述第二程序。
30.一種用于信息處理裝置的程序更新方法,該信息處理裝置具有一控制單元,該控制單元包括存儲(chǔ)有第一程序的存儲(chǔ)裝置,和控制裝置,用于讀出存儲(chǔ)在所述存儲(chǔ)裝置中的所述第一程序并根據(jù)讀出的第一程序來控制所述信息處理裝置的一個(gè)預(yù)定操作,該程序更新方法包括一個(gè)加密程序數(shù)據(jù)接收步驟,用于響應(yīng)一個(gè)請(qǐng)求更新所述第一程序的程序更新請(qǐng)求而接收加密程序數(shù)據(jù),該加密程序數(shù)據(jù)是利用一個(gè)預(yù)定的加密密鑰加密后的第二程序,一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解密密鑰,將加密程序數(shù)據(jù)接收步驟接收的所述加密程序數(shù)據(jù)解密為所述第二程序,一個(gè)程序傳送步驟,用于傳送所述加密程序數(shù)據(jù)在所述解密步驟解密后的所述第二程序,一個(gè)程序接收步驟,用于接收由所述程序傳送步驟傳送至所述控制單元的第二程序,和一個(gè)程序?qū)懭氩襟E,用于將所述程序接收步驟接收的所述第二程序?qū)懭胨龃鎯?chǔ)裝置。
31.根據(jù)權(quán)利要求30的程序更新方法,其中所述加密程序數(shù)據(jù)接收步驟接收從一個(gè)外部設(shè)備傳送過來的加密程序數(shù)據(jù)。
32.根據(jù)權(quán)利要求30的程序更新方法,進(jìn)一步包括一個(gè)再現(xiàn)步驟,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述第二程序加密得到的加密程序數(shù)據(jù);所述再現(xiàn)步驟,響應(yīng)于所述程序更新請(qǐng)求的接收而再現(xiàn)所述記錄介質(zhì);所述加密程序數(shù)據(jù)接收步驟接收在所述再現(xiàn)步驟再現(xiàn)的所述加密程序數(shù)據(jù)。
33.根據(jù)權(quán)利要求30的程序更新方法,其中所述加密程序數(shù)據(jù)接收裝置接收的所述加密程序數(shù)據(jù)包括,對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述第二程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)檢驗(yàn)程序,其是一個(gè)利用所述預(yù)定的加密密鑰,用于執(zhí)行所述預(yù)定運(yùn)算的程序,和一個(gè)加密檢驗(yàn)程序。
34.根據(jù)權(quán)利要求33的程序更新方法,其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密步驟利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述程序?qū)懭氩襟E將通過解密步驟解密的所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序?qū)懭胨龃鎯?chǔ)裝置中;所述方法進(jìn)一步包括一個(gè)檢驗(yàn)數(shù)據(jù)計(jì)算步驟,用于在執(zhí)行所述第二程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)裝置中存儲(chǔ)的所述第二程序的程序數(shù)據(jù),計(jì)算第二檢驗(yàn)數(shù)據(jù);一個(gè)檢驗(yàn)數(shù)據(jù)比較步驟,用于比較在所述檢驗(yàn)數(shù)據(jù)計(jì)算步驟中計(jì)算的所述第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)裝置中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);一個(gè)程序讀出步驟,用于響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述檢驗(yàn)數(shù)據(jù)比較步驟相互比較的一致性,讀出在所述存儲(chǔ)裝置中存儲(chǔ)的所述第二程序。
35.一種具有一數(shù)據(jù)處理單元的信息處理裝置,該數(shù)據(jù)處理單元用于執(zhí)行預(yù)定的數(shù)據(jù)處理;所述該數(shù)據(jù)處理單元包括加密程序數(shù)據(jù)接收裝置,用于接收通過使用預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),解碼裝置,用于利用一個(gè)預(yù)定的解密密鑰,將從加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)解碼為所述預(yù)定的程序,存儲(chǔ)裝置,用于存儲(chǔ)所述加密程序數(shù)據(jù)通過所述解密裝置解密后的所述預(yù)定程序,程序讀出裝置,用于讀出存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序,第一控制裝置,用于根據(jù)所述程序讀出裝置讀出的所述預(yù)定程序而控制所述數(shù)據(jù)處理單元中的預(yù)定數(shù)據(jù)處理操作,和輸出限制裝置,用于限制由所述解密裝置解密的所述預(yù)定程序和存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序自一個(gè)外部設(shè)備的輸出。
36.根據(jù)權(quán)利要求35的信息處理裝置,進(jìn)一步包括加密程序數(shù)據(jù)存儲(chǔ)裝置,其中存儲(chǔ)有所述加密程序數(shù)據(jù);所述第一控制裝置,用于讀出存儲(chǔ)在所述加密程序數(shù)據(jù)存儲(chǔ)裝置中的所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收裝置,用于接收由所述第一控制裝置讀出的所述加密程序數(shù)據(jù)。
37.根據(jù)權(quán)利要求35的信息處理裝置,進(jìn)一步包括第二控制裝置,用于讀出存儲(chǔ)在所述加密程序數(shù)據(jù)存儲(chǔ)裝置中的所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收裝置,用于接收由所述第二控制裝置讀出的所述加密程序數(shù)據(jù)。
38.根據(jù)權(quán)利要求35的信息處理裝置,其中所述加密程序數(shù)據(jù)接收裝置接收從一個(gè)外部設(shè)備傳送過來的加密程序數(shù)據(jù)。
39.根據(jù)權(quán)利要求35的信息處理裝置,進(jìn)一步包括再現(xiàn)裝置,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密后的加密程序數(shù)據(jù);所述第一控制裝置控制所述再現(xiàn)裝置,以再現(xiàn)所述記錄介質(zhì);所述加密程序數(shù)據(jù)接收裝置可接收被所述再現(xiàn)裝置再現(xiàn)的加密程序數(shù)據(jù)。
40.根據(jù)權(quán)利要求35的信息處理裝置,其中所述加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)包括,對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述預(yù)定程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)檢驗(yàn)程序,其是一個(gè)利用所述預(yù)定的加密密鑰,用于執(zhí)行所述預(yù)定運(yùn)算的程序,和一個(gè)加密檢驗(yàn)程序。
41.根據(jù)權(quán)利要求40的信息處理裝置,其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密裝置利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述存儲(chǔ)裝置,用于存儲(chǔ)通過所述解密裝置解密的所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述第一控制裝置,用于在執(zhí)行所述預(yù)定程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序的程序數(shù)據(jù),計(jì)算第二檢驗(yàn)數(shù)據(jù),并比較該計(jì)算的第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)裝置中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);所述程序讀出裝置,用于響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述第一控制裝置相互比較的一致性,讀出在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序。
42.一種用于信息處理裝置中的數(shù)據(jù)處理單元中的程序加載方法,所述數(shù)據(jù)處理單元執(zhí)行預(yù)定的數(shù)據(jù)處理,所述方法包括一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),所述預(yù)定程序是一個(gè)在數(shù)據(jù)處理單元中用于執(zhí)行預(yù)定數(shù)據(jù)處理的程序,一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解密密鑰,將從加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)解密為預(yù)定的程序,一個(gè)輸出限制步驟,用于限制所述解密的預(yù)定程序自一個(gè)外部設(shè)備的輸出,和一個(gè)存儲(chǔ)步驟,用于將所述加密程序數(shù)據(jù)由所述解密步驟解密后的所述預(yù)定程序存儲(chǔ)在存儲(chǔ)裝置中。
43.根據(jù)權(quán)利要求42的程序加載方法,其中所述控制步驟從存儲(chǔ)有所述加密程序數(shù)據(jù)的信息處理裝置中的所述加密程序數(shù)據(jù)存儲(chǔ)裝置中讀出所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收步驟接收所讀出的所述加密程序數(shù)據(jù)。
44.根據(jù)權(quán)利要求42的程序加載方法,其中所述加密程序數(shù)據(jù)接收步驟可接收從所述外部設(shè)備傳送過來的加密程序數(shù)據(jù)。
45.根據(jù)權(quán)利要求42的程序加載方法,進(jìn)一步包括一個(gè)再現(xiàn)步驟,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密得到的加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收步驟可接收在所述再現(xiàn)步驟再現(xiàn)的所述加密程序數(shù)據(jù)。
46.根據(jù)權(quán)利要求42的程序加載方法,其中所述加密程序數(shù)據(jù)接收步驟接收的所述加密程序數(shù)據(jù)包括,對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述預(yù)定程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)檢驗(yàn)程序,其是一個(gè)利用所述預(yù)定的加密密鑰,用于執(zhí)行所述預(yù)定運(yùn)算的程序,和一個(gè)加密檢驗(yàn)程序。
47.根據(jù)權(quán)利要求46的程序加載方法,其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密步驟利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述存儲(chǔ)步驟將通過解密步驟解密的所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序存儲(chǔ)在所述存儲(chǔ)裝置中;在所述控制步驟中的一個(gè)檢驗(yàn)數(shù)據(jù)計(jì)算步驟,用于在執(zhí)行所述預(yù)定程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序的程序數(shù)據(jù),計(jì)算第二檢驗(yàn)數(shù)據(jù);在所述控制步驟中的一個(gè)檢驗(yàn)數(shù)據(jù)比較步驟,用于比較在所述檢驗(yàn)數(shù)據(jù)計(jì)算步驟中計(jì)算的所述第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)步驟中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);所述程序讀出步驟,用于響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述檢驗(yàn)數(shù)據(jù)比較步驟相互比較的一致性,讀出在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序。
48.一種記錄介質(zhì),其上記錄有一個(gè)程序,用于在信息處理裝置中的數(shù)據(jù)處理單元中加載一個(gè)預(yù)定的程序,所述數(shù)據(jù)處理單元執(zhí)行預(yù)定的數(shù)據(jù)處理;該存儲(chǔ)在所述記錄介質(zhì)中的程序包括,一個(gè)加密程序數(shù)據(jù)接收步驟,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),所述預(yù)定程序是一個(gè)在所述數(shù)據(jù)處理單元中用于執(zhí)行預(yù)定數(shù)據(jù)處理操作的程序,一個(gè)解密步驟,用于利用一個(gè)預(yù)定的解密密鑰,將從加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)解密為所述預(yù)定的程序,一個(gè)輸出限制步驟,用于限制所述解密的預(yù)定程序自一個(gè)外部設(shè)備的輸出,和一個(gè)存儲(chǔ)步驟,用于將所述加密程序數(shù)據(jù)由所述解密步驟解密后的所述預(yù)定程序存儲(chǔ)在存儲(chǔ)裝置中。
49.根據(jù)權(quán)利要求48的記錄介質(zhì),其中所述控制步驟從存儲(chǔ)有所述加密程序數(shù)據(jù)的信息處理裝置中的所述加密程序數(shù)據(jù)存儲(chǔ)裝置中讀出所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收步驟接收通過所述控制步驟讀出的所述加密程序數(shù)據(jù)。
50.根據(jù)權(quán)利要求48的其上記錄有一個(gè)程序的記錄介質(zhì),其中所述加密程序數(shù)據(jù)接收步驟接收從外部設(shè)備傳送過來的加密程序數(shù)據(jù)。
51.根據(jù)權(quán)利要求48的其上記錄有一個(gè)程序的記錄介質(zhì),進(jìn)一步包括一個(gè)再現(xiàn)步驟,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密得到的加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收步驟可接收在所述再現(xiàn)步驟再現(xiàn)的加密程序數(shù)據(jù)。
52.根據(jù)權(quán)利要求48的程序加載方法,其中所述加密程序數(shù)據(jù)接收步驟接收的加密程序數(shù)據(jù)包括,對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述預(yù)定程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)檢驗(yàn)程序,其是一個(gè)利用所述預(yù)定的加密密鑰,用于執(zhí)行所述預(yù)定運(yùn)算的程序,和一個(gè)加密檢驗(yàn)程序。
53.根據(jù)權(quán)利要求52的記錄介質(zhì),其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密步驟利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述存儲(chǔ)步驟將通過解密步驟解密的所述第一檢驗(yàn)數(shù)據(jù)和檢驗(yàn)程序存儲(chǔ)在所述存儲(chǔ)裝置中;在所述控制步驟中的一個(gè)檢驗(yàn)數(shù)據(jù)計(jì)算步驟,用于在執(zhí)行所述預(yù)定程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序的程序數(shù)據(jù),計(jì)算第二檢驗(yàn)數(shù)據(jù);在所述控制步驟中的一個(gè)檢驗(yàn)數(shù)據(jù)比較步驟,用于比較在所述檢驗(yàn)數(shù)據(jù)計(jì)算步驟中計(jì)算的所述第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)步驟中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);所述程序讀出步驟,用于響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述檢驗(yàn)數(shù)據(jù)比較步驟相互比較的一致性,讀出在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序。
54.一種電路設(shè)備,其是適于執(zhí)行預(yù)定數(shù)據(jù)處理的信息處理裝置中的數(shù)據(jù)處理裝置的一個(gè)集成,包括,以集成的形式加密程序數(shù)據(jù)接收裝置,用于接收利用一個(gè)預(yù)定的加密密鑰對(duì)預(yù)定程序加密后的加密程序數(shù)據(jù),解密裝置,用于利用一個(gè)預(yù)定的解密密鑰,將從所述加密程序數(shù)據(jù)接收裝置接收的所述加密程序數(shù)據(jù)解密為所述預(yù)定的程序,存儲(chǔ)裝置,用于存儲(chǔ)所述加密程序數(shù)據(jù)由所述解密裝置解密后的所述預(yù)定程序,程序讀出裝置,用于讀出存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序,和輸出限制裝置,用于限制由解密裝置解密的所述預(yù)定程序和存儲(chǔ)在所述存儲(chǔ)裝置中的所述預(yù)定程序的輸出。
55.根據(jù)權(quán)利要求54的電路設(shè)備,進(jìn)一步包括控制裝置,用于根據(jù)所述程序讀出裝置讀出的所述預(yù)定程序而控制所述數(shù)據(jù)處理裝置中的預(yù)定數(shù)據(jù)處理操作。
56.根據(jù)權(quán)利要求54的一個(gè)信息處理裝置中提供的電路設(shè)備,包括加密程序數(shù)據(jù)存儲(chǔ)裝置,其中存儲(chǔ)有所述加密程序數(shù)據(jù);所述控制裝置讀出所述加密程序數(shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)的所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收裝置接收由所述控制裝置讀出的所述加密程序數(shù)據(jù)。
57.根據(jù)權(quán)利要求54的一個(gè)信息處理裝置中提供的電路設(shè)備,包括加密程序數(shù)據(jù)存儲(chǔ)裝置,其中存儲(chǔ)有所述加密程序數(shù)據(jù),和第二控制裝置;所述第二控制裝置讀出所述加密程序數(shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)的所述加密程序數(shù)據(jù);所述加密程序數(shù)據(jù)接收裝置接收由所述第二控制裝置讀出的所述加密程序數(shù)據(jù)。
58.根據(jù)權(quán)利要求54的電路設(shè)備,其中所述加密程序數(shù)據(jù)接收裝置接收從一個(gè)外部設(shè)備傳送過來的加密程序數(shù)據(jù)。
59.根據(jù)權(quán)利要求54的一個(gè)信息處理裝置中提供的電路設(shè)備,包括再現(xiàn)裝置,用于再現(xiàn)一個(gè)記錄介質(zhì),該記錄介質(zhì)上記錄有用一個(gè)預(yù)定的加密密鑰對(duì)所述預(yù)定程序加密得到的加密程序數(shù)據(jù);所述控制裝置控制所述再現(xiàn)裝置以再現(xiàn)所述記錄介質(zhì);所述加密程序數(shù)據(jù)接收裝置可接收所述再現(xiàn)裝置再現(xiàn)的加密程序數(shù)據(jù)。
60.根據(jù)權(quán)利要求54的電路設(shè)備,其中所述加密程序數(shù)據(jù)接收裝置接收的加密程序數(shù)據(jù)包括,對(duì)第一檢驗(yàn)數(shù)據(jù)加密得到的加密檢驗(yàn)數(shù)據(jù),該第一檢驗(yàn)數(shù)據(jù)是通過預(yù)定運(yùn)算對(duì)所述預(yù)定程序的程序數(shù)據(jù)計(jì)算得到的,和一個(gè)檢驗(yàn)程序,其是一個(gè)利用所述預(yù)定的加密密鑰,用于執(zhí)行所述預(yù)定運(yùn)算的程序,和一個(gè)加密檢驗(yàn)程序。
61.根據(jù)權(quán)利要求60的電路設(shè)備,其中在解密所述加密程序數(shù)據(jù)時(shí),所述解密裝置利用所述預(yù)定的解密密鑰,將所述加密檢驗(yàn)數(shù)據(jù)和加密檢驗(yàn)程序分別解密為所述第一檢驗(yàn)數(shù)據(jù)和所述檢驗(yàn)程序;所述存儲(chǔ)裝置,用于存儲(chǔ)通過所述解密裝置解密的所述第一檢驗(yàn)數(shù)據(jù)和檢驗(yàn)程序;所述控制裝置,用于在執(zhí)行所述預(yù)定程序之前,根據(jù)所述檢驗(yàn)程序,由在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序的程序數(shù)據(jù),計(jì)算第二檢驗(yàn)數(shù)據(jù),并比較所計(jì)算的第二檢驗(yàn)數(shù)據(jù)和在所述存儲(chǔ)裝置中存儲(chǔ)的第一檢驗(yàn)數(shù)據(jù);所述程序讀出裝置,用于響應(yīng)于該第一檢驗(yàn)數(shù)據(jù)和第二檢驗(yàn)數(shù)據(jù)通過所述第一控制裝置的相互比較的一致性,讀出在所述存儲(chǔ)裝置中存儲(chǔ)的所述預(yù)定程序。
全文摘要
在更新一個(gè)程序時(shí),需要禁止所出現(xiàn)的程序數(shù)據(jù)泄漏。為此,一個(gè)控制單元,包括一個(gè)加密程序數(shù)據(jù)接收單元,用于響應(yīng)于對(duì)第一程序的一個(gè)更新請(qǐng)求,接收通過使用預(yù)定的加密密鑰對(duì)第二程序加密而得到的加密程序數(shù)據(jù),一個(gè)解密單元,用于利用一個(gè)預(yù)定的解碼密鑰,將從加密程序數(shù)據(jù)接收單元接收的加密程序數(shù)據(jù)解密為預(yù)定的程序,一個(gè)程序?qū)懭雴卧?,用于寫入加密程序?shù)據(jù)通過解密單元解密后的第二程序,和一個(gè)輸出限制單元,用于限制寫在存儲(chǔ)單元中的第二程序自一個(gè)外部設(shè)備的輸出。
文檔編號(hào)G06F21/00GK1461003SQ0312504
公開日2003年12月10日 申請(qǐng)日期2003年3月20日 優(yōu)先權(quán)日2002年5月20日
發(fā)明者木谷聰, 盛一宗利 申請(qǐng)人:索尼公司