專利名稱:信息存儲(chǔ)器件、存儲(chǔ)器訪問控制方法以及計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息存儲(chǔ)器件、存儲(chǔ)器訪問控制方法以及計(jì)算機(jī)程序。更具體地說,本發(fā)明涉及一種信息存儲(chǔ)器件,用于根據(jù)從信息處理設(shè)備輸入的指令對(duì)存儲(chǔ)器進(jìn)行解鎖,并且當(dāng)信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),重新建立存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)并且基于重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制,本發(fā)明還涉及一種存儲(chǔ)器訪問控制方法和一種計(jì)算機(jī)程序。
背景技術(shù):
各種的信息處理設(shè)備如PC(Personal Computer,個(gè)人計(jì)算機(jī))、PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)、數(shù)碼相機(jī)、數(shù)據(jù)讀出器/記錄器和游戲機(jī)等使用不同的存儲(chǔ)介質(zhì)如硬盤、DVD、CD和存儲(chǔ)卡等對(duì)數(shù)據(jù)進(jìn)行讀和寫。
如今,每種小型卡式存儲(chǔ)器器件都包括存儲(chǔ)器如閃存存儲(chǔ)器等的和控制器如CPU等,被廣泛用作用于存儲(chǔ)各種類型的軟件數(shù)據(jù)(內(nèi)容),如音樂數(shù)據(jù)、圖像數(shù)據(jù)和程序等的存儲(chǔ)裝置。
通過將存儲(chǔ)器卡放置在具有存儲(chǔ)器卡接口的單元中并且通過該接口進(jìn)行數(shù)據(jù)傳輸,來完成對(duì)存儲(chǔ)在存儲(chǔ)器卡上的數(shù)據(jù)的讀取或者將數(shù)據(jù)寫到這種存儲(chǔ)器卡上。任何人都可以在未經(jīng)允許的情況下使用存儲(chǔ)器器件進(jìn)行數(shù)據(jù)的讀取和寫入。或者,通過例如設(shè)置密碼或者進(jìn)行加密從而僅允許特定用戶或者特定單元訪問該存儲(chǔ)器,而拒絕未經(jīng)允許的第三方用戶訪問該存儲(chǔ)器來實(shí)現(xiàn)所謂的訪問控制方案。
例如,生成只有允許訪問的用戶知道的密碼。將該密碼從用作信息讀出器的內(nèi)容使用單元傳送到內(nèi)容存儲(chǔ)單元如存儲(chǔ)器卡。存儲(chǔ)器卡的控制器(CPU等)對(duì)密碼進(jìn)行檢驗(yàn),只有當(dāng)檢驗(yàn)成功時(shí),才將內(nèi)容從內(nèi)容存儲(chǔ)單元如存儲(chǔ)器卡輸出到用作信息讀出器的內(nèi)容使用單元。或者,在用作信息讀出器的內(nèi)容使用單元與內(nèi)容存儲(chǔ)單元如存儲(chǔ)器卡之間進(jìn)行相互驗(yàn)證。只有當(dāng)相互驗(yàn)證成功時(shí),才將內(nèi)容從內(nèi)容存儲(chǔ)單元如存儲(chǔ)器卡輸出到用作信息讀出器的內(nèi)容使用單元。
發(fā)明內(nèi)容
有各種只有在對(duì)數(shù)據(jù)(內(nèi)容)使用許可進(jìn)行了檢驗(yàn)之后才允許進(jìn)行數(shù)據(jù)訪問的方式。
可以將數(shù)據(jù)存儲(chǔ)器件如存儲(chǔ)器卡放置在包括PC、PDA和數(shù)碼相機(jī)等的不同單元中。在許多情況下,這些單元共用一個(gè)存儲(chǔ)器卡。在這種數(shù)據(jù)使用方式中,當(dāng)要求進(jìn)行上述的密碼檢驗(yàn)或驗(yàn)證時(shí),每次都要將存儲(chǔ)器卡放置在這些單元中的一個(gè)單元中,這樣會(huì)在準(zhǔn)備好進(jìn)行讀數(shù)據(jù)或?qū)憯?shù)據(jù)之前占用時(shí)間。因此降低了處理效率。
考慮到上述問題,本發(fā)明的一個(gè)目的是提供一種信息存儲(chǔ)器件,用于響應(yīng)從信息處理設(shè)備輸入的指令對(duì)存儲(chǔ)器進(jìn)行解鎖,并且當(dāng)信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),重新建立存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)并且根據(jù)重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制,還提供一種存儲(chǔ)器訪問控制方法和一種計(jì)算機(jī)程序。
按照本發(fā)明的第一方面,提供了一種包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器和用于對(duì)存儲(chǔ)器進(jìn)行訪問控制的控制器的信息存儲(chǔ)器件。
控制器響應(yīng)從信息處理設(shè)備輸入的指令對(duì)存儲(chǔ)器進(jìn)行解鎖。
控制器將存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中,當(dāng)信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),控制器根據(jù)存儲(chǔ)在存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù)重新建立存儲(chǔ)器的加鎖狀態(tài)并且基于重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。
在本發(fā)明的信息存儲(chǔ)器件的一個(gè)模式中,信息存儲(chǔ)器件將用作信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在存儲(chǔ)裝置中??刂破鲗⒓渔i狀態(tài)信息存儲(chǔ)在用作第一存儲(chǔ)裝置的非易失存儲(chǔ)器(Non-Volatile Memory,NVM)中,即使在將信息存儲(chǔ)器件關(guān)閉之后,第一存儲(chǔ)裝置仍然保持在其中存儲(chǔ)的信息。
在本發(fā)明的信息存儲(chǔ)器件的一個(gè)模式中,控制器將存儲(chǔ)在非易失存儲(chǔ)器(NVM)中的加鎖狀態(tài)信息復(fù)制并且存儲(chǔ)到控制器中的存儲(chǔ)器中,該存儲(chǔ)器起第二存儲(chǔ)裝置的作用,在信息存儲(chǔ)器件被再次打開之后,控制器基于復(fù)制和存儲(chǔ)的信息進(jìn)行訪問控制。
在本發(fā)明的信息存儲(chǔ)器件的一個(gè)模式中,信息存儲(chǔ)器件將用作信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在存儲(chǔ)裝置中。加鎖狀態(tài)信息包括判斷信息,根據(jù)該判斷信息來判斷信息存儲(chǔ)器件被出口加鎖(Export-Locked,EL)還是被標(biāo)準(zhǔn)加鎖(Standard-Locked,SL),其中,在出口加鎖中,允許輸出可應(yīng)用于加鎖或解鎖的密鑰集,在標(biāo)準(zhǔn)加鎖中,禁止輸出可應(yīng)用于加鎖或解鎖的密鑰集。
在本發(fā)明的信息存儲(chǔ)器件的一個(gè)模式中,當(dāng)信息存儲(chǔ)器件被重新打開時(shí),控制器響應(yīng)來自信息處理設(shè)備的解鎖請(qǐng)求,根據(jù)重新建立的加鎖狀態(tài)進(jìn)行處理??刂破鲗?duì)包括已經(jīng)輸出了解鎖請(qǐng)求的信息處理設(shè)備的標(biāo)識(shí)符(Identifier,ID)的密鑰集進(jìn)行檢驗(yàn),假如檢驗(yàn)成功,則基于解鎖請(qǐng)求進(jìn)行解鎖。
在本發(fā)明的信息存儲(chǔ)器件的一個(gè)模式中,密鑰集是由信息處理設(shè)備所擁有的ID和與該ID相關(guān)的加鎖密鑰(lock key,LK)組成的密鑰集[ID,LK]。信息存儲(chǔ)器件具有可用于計(jì)算加鎖密鑰(LK)的加鎖主密鑰(Lock Master Lock,LMK),該加鎖密鑰是基于關(guān)系式LK=H(LMK,ID)的哈希(hash)值,該哈希值是通過應(yīng)用加鎖主密鑰(LMK)為ID計(jì)算的??刂破鞲鶕?jù)通過應(yīng)用加鎖主密鑰(LMK)計(jì)算哈希值而得到的加鎖密鑰(LK),對(duì)從信息處理設(shè)備輸入的由該信息處理設(shè)備所擁有的密鑰集進(jìn)行檢驗(yàn)。
在本發(fā)明的信息存儲(chǔ)器件的一個(gè)模式中,控制器生成隨機(jī)數(shù),從信息處理設(shè)備接收通過根據(jù)由信息處理設(shè)備所擁有的加鎖密鑰(LK)對(duì)隨機(jī)數(shù)(Random Number,Rms)進(jìn)行加密而生成的加密數(shù)據(jù)[E(LK,Rms)],并且進(jìn)行包括對(duì)照根據(jù)通過計(jì)算哈希值得到的加鎖密鑰(LK)計(jì)算的加密數(shù)據(jù)[E(LK,Rms)]來檢查接收到的加密數(shù)據(jù)的檢驗(yàn)。
按照本發(fā)明的第二方面,提供了一種用于包括存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器和用于對(duì)存儲(chǔ)器進(jìn)行訪問控制的控制器的信息存儲(chǔ)器件的存儲(chǔ)器訪問控制方法。該方法包括一個(gè)解鎖執(zhí)行步驟,用于響應(yīng)從信息處理設(shè)備輸入的指令對(duì)存儲(chǔ)器進(jìn)行解鎖;一個(gè)加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)步驟,用于將存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中;以及一個(gè)存儲(chǔ)器訪問控制步驟,用于當(dāng)信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),根據(jù)存儲(chǔ)在存儲(chǔ)裝置的加鎖狀態(tài)數(shù)據(jù)重新建立存儲(chǔ)器的加鎖狀態(tài),并且基于重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。
在本發(fā)明的存儲(chǔ)器訪問控制方法的一個(gè)模式中,加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)步驟包括將用作信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在用作第一存儲(chǔ)裝置的非易失存儲(chǔ)器(NVM)中的步驟,第一存儲(chǔ)裝置即使在信息存儲(chǔ)器件被關(guān)閉之后仍然保持存儲(chǔ)在其中的信息。
在本發(fā)明的存儲(chǔ)器訪問控制方法的一個(gè)模式中,存儲(chǔ)器訪問控制方法還包括在信息存儲(chǔ)器件被再次打開后,將存儲(chǔ)在非易失存儲(chǔ)器(NVM)中的加鎖狀態(tài)信息復(fù)制并且存儲(chǔ)到用作第二存儲(chǔ)裝置的控制器中的存儲(chǔ)器中的步驟。存儲(chǔ)器訪問控制步驟是一個(gè)基于復(fù)制和存儲(chǔ)的信息進(jìn)行訪問控制的步驟。
在本發(fā)明的存儲(chǔ)器訪問控制方法的一個(gè)模式中,加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)步驟是一個(gè)將用作信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)到存儲(chǔ)裝置中的步驟。加鎖狀態(tài)信息包括判斷信息,根據(jù)該判斷信息來判斷信息存儲(chǔ)器件被出口加鎖(Export-Locked,EL)還是被標(biāo)準(zhǔn)加鎖(Standard-Locked,SL),其中,在出口加鎖中,允許輸出可應(yīng)用于加鎖或解鎖的密鑰集,而在標(biāo)準(zhǔn)加鎖中,禁止輸出可應(yīng)用于加鎖或解鎖的密鑰集。存儲(chǔ)器訪問控制步驟是一個(gè)根據(jù)判斷信息重新建立存儲(chǔ)器的加鎖狀態(tài)并且基于重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制的步驟。
在本發(fā)明的存儲(chǔ)器訪問控制方法的一個(gè)模式中,存儲(chǔ)器訪問控制方法還包括一個(gè)解鎖請(qǐng)求相關(guān)處理步驟,用于根據(jù)當(dāng)信息存儲(chǔ)器件被再次打開時(shí)重新建立的加鎖狀態(tài),響應(yīng)來自信息處理設(shè)備的解鎖請(qǐng)求進(jìn)行處理。解鎖請(qǐng)求相關(guān)處理步驟包括一個(gè)檢驗(yàn)步驟,用于對(duì)包括已經(jīng)輸出了解鎖請(qǐng)求的信息處理設(shè)備的標(biāo)識(shí)符(ID)的密鑰集進(jìn)行檢驗(yàn);以及一個(gè)解鎖步驟,用于假如檢驗(yàn)成功,則基于解鎖請(qǐng)求進(jìn)行解鎖。
在本發(fā)明的存儲(chǔ)器訪問控制方法的一個(gè)模式中,密鑰集是由信息處理設(shè)備所擁有的ID和與ID相關(guān)的加鎖密鑰(LK)組成的密鑰集[ID,LK]。信息存儲(chǔ)器件具有可用于計(jì)算加鎖密鑰(LK)的加鎖主密鑰(LMK),該加鎖密鑰是基于關(guān)系式LK=H(LMK,ID)的哈希值,該哈希值是通過應(yīng)用加鎖主密鑰(LMK)為ID計(jì)算的。檢驗(yàn)步驟包括根據(jù)通過應(yīng)用加鎖主密鑰(LMK)計(jì)算哈希值而得到的加鎖密鑰(LK),對(duì)從信息處理設(shè)備輸入的由信息處理設(shè)備所擁有的密鑰集進(jìn)行檢驗(yàn)的步驟。
在本發(fā)明的存儲(chǔ)器訪問控制方法的一個(gè)模式中,存儲(chǔ)器訪問控制方法還包括一個(gè)用于生成隨機(jī)數(shù),并從信息處理設(shè)備接收通過根據(jù)由信息處理設(shè)備所擁有的加鎖密鑰(LK)對(duì)隨機(jī)數(shù)(Random Number,Rms)進(jìn)行加密而生成的加密數(shù)據(jù)[E(LK,Rms)]的步驟。檢驗(yàn)步驟包括一個(gè)進(jìn)行檢驗(yàn)的步驟,包括對(duì)照根據(jù)計(jì)算哈希值得到的加鎖密鑰(LK)計(jì)算的加密數(shù)據(jù)[E(LK,Rms)],來對(duì)接收到的加密數(shù)據(jù)進(jìn)行檢查。
按照本發(fā)明的第三方面,提供了一種計(jì)算機(jī)程序,用于對(duì)包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器和用于對(duì)存儲(chǔ)器進(jìn)行訪問控制的控制器的信息存儲(chǔ)器件進(jìn)行存儲(chǔ)器訪問控制。該程序包括一個(gè)解鎖執(zhí)行步驟,用于響應(yīng)從信息處理設(shè)備輸入的指令進(jìn)行存儲(chǔ)器的解鎖;一個(gè)加鎖狀態(tài)存儲(chǔ)步驟,用于將存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中;以及一個(gè)存儲(chǔ)器訪問控制步驟,用于當(dāng)信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),根據(jù)存儲(chǔ)在存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù)重新建立存儲(chǔ)器的加鎖狀態(tài),并且基于重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。
按照本發(fā)明的結(jié)構(gòu),信息存儲(chǔ)器件如存儲(chǔ)器卡響應(yīng)從信息處理設(shè)備輸入的指令進(jìn)行存儲(chǔ)器解鎖。信息存儲(chǔ)器件將存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中。當(dāng)信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),信息存儲(chǔ)器件根據(jù)存儲(chǔ)在存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù)重新建立存儲(chǔ)器的加鎖狀態(tài)并且基于重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。這樣可靠地防止了第三方用戶對(duì)丟失或被盜的信息存儲(chǔ)器件進(jìn)行存儲(chǔ)器訪問。
按照本發(fā)明的結(jié)構(gòu),將用作信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在用作第一存儲(chǔ)裝置的非易失存儲(chǔ)器(NVM)中,即使在信息存儲(chǔ)器件被關(guān)閉之后第一存儲(chǔ)裝置仍然保持存儲(chǔ)在其中的信息。當(dāng)信息存儲(chǔ)器件被再次打開時(shí),將加鎖狀態(tài)信息復(fù)制到控制器中的用作第二存儲(chǔ)裝置的存儲(chǔ)器中,由此進(jìn)行訪問控制。即使當(dāng)電源被關(guān)閉時(shí),仍然保持加鎖狀態(tài)。這樣就防止了由于刪除了加鎖信息而產(chǎn)生的存儲(chǔ)器訪問。
按照本發(fā)明的結(jié)構(gòu),根據(jù)包括判斷信息的加鎖狀態(tài)信息進(jìn)行訪問控制,根據(jù)該判斷信息來判斷信息存儲(chǔ)器件被出口加鎖(EL)還是被標(biāo)準(zhǔn)加鎖(SL),其中,在出口加鎖中,允許輸出可應(yīng)用于加鎖或解鎖的密鑰集,而在標(biāo)準(zhǔn)加鎖中,禁止輸出可應(yīng)用于加鎖或解鎖的密鑰集。可以以不同的模式進(jìn)行存儲(chǔ)器訪問控制。
按照本發(fā)明的結(jié)構(gòu),在重新建立的加鎖狀態(tài)中,對(duì)包括已經(jīng)輸出了解鎖請(qǐng)求的信息處理設(shè)備的標(biāo)識(shí)符(ID)的密鑰集進(jìn)行檢驗(yàn)。假如檢驗(yàn)成功,則基于解鎖請(qǐng)求進(jìn)行解鎖。如果從有效的主機(jī)設(shè)備輸出請(qǐng)求,則進(jìn)行安全的存儲(chǔ)器訪問控制。
本發(fā)明的計(jì)算機(jī)程序是可以提供在存儲(chǔ)介質(zhì)如CD、FD或MO或者通信介質(zhì)如網(wǎng)絡(luò)上的計(jì)算機(jī)程序,用于以計(jì)算機(jī)可讀的格式給能夠執(zhí)行各種程序代碼的普通計(jì)算機(jī)系統(tǒng)提供計(jì)算機(jī)程序。通過以計(jì)算機(jī)可讀格式提供這樣的程序,在計(jì)算機(jī)系統(tǒng)上進(jìn)行與程序一致的處理。
根據(jù)以下參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行的詳細(xì)描述,本發(fā)明的其他目的、特性和優(yōu)點(diǎn)將變得更加清楚。在本說明中詞“系統(tǒng)”指的是不必包含在一個(gè)外殼中的多個(gè)設(shè)備。
圖1為說明本發(fā)明的信息存儲(chǔ)器件的用途的示意圖。
圖2示出了使用信息存儲(chǔ)器件的主機(jī)設(shè)備的硬件配置的例子。
圖3示出了信息存儲(chǔ)器件的硬件配置的例子。
圖4說明了存儲(chǔ)在本發(fā)明的信息存儲(chǔ)器件中的數(shù)據(jù)和存儲(chǔ)在主機(jī)設(shè)備中的數(shù)據(jù)。
圖5說明了在對(duì)信息存儲(chǔ)器件進(jìn)行加鎖的過程中,在信息存儲(chǔ)器件與主機(jī)設(shè)備之間進(jìn)行的通信過程的順序。
圖6為說明了對(duì)信息存儲(chǔ)設(shè)備進(jìn)行加鎖的過程的流程圖。
圖7說明了在對(duì)信息存儲(chǔ)器件進(jìn)行解鎖的過程中,在信息存儲(chǔ)器件與主機(jī)設(shè)備之間進(jìn)行的通信過程的順序。
圖8為說明了對(duì)信息存儲(chǔ)設(shè)備進(jìn)行解鎖的過程的流程圖。
圖9說明了存儲(chǔ)在本發(fā)明的信息存儲(chǔ)器件中的數(shù)據(jù)和存儲(chǔ)在主機(jī)設(shè)備中的數(shù)據(jù)。
圖10說明了對(duì)本發(fā)明的信息存儲(chǔ)器件進(jìn)行加鎖的模式。
圖11說明了在通過應(yīng)用副密鑰集對(duì)信息存儲(chǔ)器件進(jìn)行加鎖的過程中,在信息存儲(chǔ)器件與主機(jī)設(shè)備之間進(jìn)行的通信過程的順序。
圖12為說明在通過應(yīng)用副密鑰集對(duì)信息存儲(chǔ)器件進(jìn)行加鎖的過程的流程圖。
圖13說明了在通過應(yīng)用副密鑰集進(jìn)行蓋印和對(duì)信息存儲(chǔ)器件進(jìn)行解鎖的過程中,在信息存儲(chǔ)器件與主機(jī)設(shè)備之間進(jìn)行的通信過程的順序。
圖14為說明在通過應(yīng)用副密鑰集進(jìn)行蓋印和對(duì)信息存儲(chǔ)器件進(jìn)行解鎖的過程的流程圖。
圖15為說明在通過應(yīng)用副密鑰集進(jìn)行蓋印和對(duì)信息存儲(chǔ)器件進(jìn)行解鎖的過程的流程圖。
圖16說明了在通過應(yīng)用副密鑰集進(jìn)行蓋印和對(duì)信息存儲(chǔ)器件進(jìn)行解鎖的過程中,在信息存儲(chǔ)器件與主機(jī)設(shè)備之間進(jìn)行的通信過程的順序。
圖17為說明在通過應(yīng)用副密鑰集進(jìn)行蓋印和對(duì)信息存儲(chǔ)器件進(jìn)行解鎖的過程中,更新加鎖狀態(tài)標(biāo)志的過程的流程圖。
圖18為說明在對(duì)信息存儲(chǔ)器件進(jìn)行解鎖的過程中涉及加鎖狀態(tài)標(biāo)志的過程的流程圖。
圖19說明了用作信息存儲(chǔ)器件的數(shù)據(jù)存儲(chǔ)格式的簇(cluster)結(jié)構(gòu)。
圖20為說明基于讀取特定數(shù)據(jù)區(qū)域(簇)的加鎖過程的流程圖。
圖21說明了用于對(duì)信息存儲(chǔ)器件進(jìn)行加鎖/解鎖的加鎖/解鎖單元的結(jié)構(gòu)。
圖22為說明主機(jī)設(shè)備讀取加鎖狀態(tài)的過程的流程圖。
圖23為說明當(dāng)對(duì)信息存儲(chǔ)器件進(jìn)行加鎖時(shí)由主機(jī)設(shè)備執(zhí)行的處理和指示器顯示處理的流程圖。
圖24為說明當(dāng)對(duì)信息存儲(chǔ)器件進(jìn)行解鎖時(shí)由主機(jī)設(shè)備執(zhí)行的處理和指示器顯示處理的流程圖。
具體實(shí)施例方式
以下將參照附圖對(duì)按照本發(fā)明實(shí)施例的信息存儲(chǔ)器件和存儲(chǔ)器訪問控制處理進(jìn)行詳細(xì)描述。
以下將參照?qǐng)D1對(duì)在應(yīng)用本發(fā)明的信息存儲(chǔ)器件的過程中的數(shù)據(jù)的用途進(jìn)行描述。例如,信息處理設(shè)備20包括例如PC(個(gè)人計(jì)算機(jī))21和22、PDA(個(gè)人數(shù)字助理)23、移動(dòng)通信終端24和數(shù)碼相機(jī)25等??梢詫⑿畔⒋鎯?chǔ)器件30放置在信息處理設(shè)備20中,信息處理設(shè)備20能夠使信息從信息存儲(chǔ)器件30中輸出。
例如,將具有非易失存儲(chǔ)器(NVM)如閃存存儲(chǔ)器的存儲(chǔ)器卡30放置在每個(gè)信息處理設(shè)備20中。每個(gè)信息處理設(shè)備20將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器卡30上或者讀取存儲(chǔ)在存儲(chǔ)器卡上的數(shù)據(jù)。
有這樣的情況,即,PC(個(gè)人計(jì)算機(jī))21和22、PDA(個(gè)人數(shù)字助理)23、移動(dòng)通信終端24以及數(shù)碼相機(jī)25共用一個(gè)存儲(chǔ)器卡30。例如,將數(shù)碼相機(jī)25捕獲的圖像數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器卡30上,隨后將存儲(chǔ)器卡30放置在PC 21中,以便顯示存儲(chǔ)的圖像或者對(duì)圖像進(jìn)行處理?;蛘撸琍C 21通過網(wǎng)絡(luò)如互聯(lián)網(wǎng)、或通過CD或DVD得到內(nèi)容如音樂數(shù)據(jù),并且將內(nèi)容存儲(chǔ)在存儲(chǔ)器卡30上,然后,將已經(jīng)將內(nèi)容存儲(chǔ)在其上的存儲(chǔ)器卡30放置在PDA 23中,從而能夠在遙遠(yuǎn)的地點(diǎn)利用PDA 23讀取內(nèi)容。
圖2示出了可以將信息存儲(chǔ)器件如存儲(chǔ)器卡放置在其中的信息處理設(shè)備的配置的例子。CPU(Central Processing Unit,中央處理單元)101是執(zhí)行各種應(yīng)用程序和OS(Operating System,操作系統(tǒng))的處理器。CPU 101對(duì)在對(duì)信息存儲(chǔ)器件進(jìn)行加鎖和解鎖的過程中的哈希值計(jì)算、包括生成隨機(jī)數(shù)的各種類型的加密以及指令發(fā)送和接收等進(jìn)行控制,在對(duì)信息存儲(chǔ)器件進(jìn)行加鎖和解鎖的過程中的哈希值計(jì)算用作在下面將詳細(xì)描述的對(duì)信息存儲(chǔ)器件的訪問控制。
ROM(Read Only Memory,只讀存儲(chǔ)器)102存儲(chǔ)由CPU 101執(zhí)行的程序和計(jì)算參數(shù)等固定數(shù)據(jù)。ROM 102存儲(chǔ)用于對(duì)信息存儲(chǔ)器件加鎖和解鎖的程序,這起到了下面將詳細(xì)描述的對(duì)信息存儲(chǔ)器件的訪問控制的作用。RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)103存儲(chǔ)應(yīng)用于由CPU 101執(zhí)行的程序的信息以及隨著程序的執(zhí)行而適當(dāng)變化的參數(shù)。
當(dāng)讀取已經(jīng)從信息存儲(chǔ)器件200如存儲(chǔ)器卡通過存儲(chǔ)器件I/F 113輸入的內(nèi)容時(shí),DSP(Digital Signal Processor,數(shù)字信號(hào)處理器)104進(jìn)行加密、均衡器調(diào)節(jié)(根據(jù)音頻信號(hào)的頻帶進(jìn)行增益調(diào)節(jié))和壓縮/解壓縮(編碼/解碼)等。
數(shù)/模轉(zhuǎn)換器電路105將經(jīng)過解密、解壓縮的內(nèi)容轉(zhuǎn)換為模擬音頻信號(hào),該模擬音頻信號(hào)被放大器電路106放大并且從音頻輸出單元107輸出。由顯示單元109如LCD通過顯示控制器108輸出圖像數(shù)據(jù)。通過輸入I/F 112,從外部信號(hào)源輸入數(shù)字信號(hào)或模擬信號(hào)。當(dāng)輸入模擬信號(hào)時(shí),對(duì)這個(gè)模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換。利用A/D轉(zhuǎn)換,將輸入信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。由SRC(SamplingRate Converter,采樣速率轉(zhuǎn)換器)將從外部信號(hào)源輸入的數(shù)字信號(hào)轉(zhuǎn)換為具有預(yù)定采樣頻率和預(yù)定量化比特?cái)?shù)(quantifying bit number)的數(shù)字信號(hào),并且輸入經(jīng)過轉(zhuǎn)換的信號(hào)。
輸入/輸出I/F 115是一個(gè)連接外部單元的接口。例如,輸入/輸出I/F 115和通過例如USB或IEEE 1394連接與其連接的單元進(jìn)行數(shù)據(jù)傳輸。
以下將參照?qǐng)D3對(duì)信息存儲(chǔ)器件200如具有非易失存儲(chǔ)器(NVM)如閃存存儲(chǔ)器的存儲(chǔ)器卡進(jìn)行描述。閃存存儲(chǔ)器是稱為EEPROM(ElectricallyErasable Programmable ROM,電可擦除可編程只讀存儲(chǔ)器)的電可重寫非易失存儲(chǔ)器中的一種。由于已知EEPROM的每一位包括兩個(gè)晶體管,因此每一位所占的面積較大。這樣就限制了每個(gè)芯片的元件數(shù)量的增加。而另一方面,利用全位(all-bits)刪除方案,閃存存儲(chǔ)器的每一位包括一個(gè)晶體管。
將具有這種閃存存儲(chǔ)器的信息存儲(chǔ)器件200放置在信息處理設(shè)備如PC、PDA或數(shù)碼相機(jī)中。從信息處理設(shè)備輸入的數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器220中,而存儲(chǔ)在存儲(chǔ)器220中的數(shù)據(jù)被輸出到信息處理設(shè)備中。
信息存儲(chǔ)器件200還包括控制器210。控制器210包括用作執(zhí)行各種程序的處理器的CPU(中央處理單元)211、存儲(chǔ)由CPU 211執(zhí)行的程序和計(jì)算參數(shù)等固定數(shù)據(jù)的ROM(只讀存儲(chǔ)器)212和存儲(chǔ)應(yīng)用于由CPU 211執(zhí)行的程序的信息以及隨著程序的執(zhí)行而適當(dāng)變化的參數(shù)的RAM(隨機(jī)存取存儲(chǔ)器)213。
RAM(隨機(jī)存取存儲(chǔ)器)213還被用作用于存儲(chǔ)表示信息存儲(chǔ)器件的加鎖狀態(tài)的狀態(tài)值數(shù)據(jù)的區(qū)域,該狀態(tài)值數(shù)據(jù)由于信息存儲(chǔ)器件的加鎖和解鎖而發(fā)生變化,這起到了后面將詳細(xì)描述的對(duì)信息存儲(chǔ)器件進(jìn)行訪問控制的作用。
控制器210還包括用作與信息處理設(shè)備的數(shù)據(jù)輸入/輸出接口的單元接口214和用作與存儲(chǔ)器220的數(shù)據(jù)輸入/輸出接口的存儲(chǔ)器接口216。
CPU 211對(duì)在信息存儲(chǔ)器件和信息處理設(shè)備之間進(jìn)行的加鎖和解鎖過程中的哈希值計(jì)算、包括隨機(jī)數(shù)生成的各種類型的加密以及指令發(fā)送和接收進(jìn)行控制,其中,在信息存儲(chǔ)器件和信息處理設(shè)備之間進(jìn)行的加鎖和解鎖過程起以下將詳細(xì)描述的訪問控制的作用。
作為對(duì)信息存儲(chǔ)器件進(jìn)行訪問控制的處理的一個(gè)例子,以下將描述通過應(yīng)用加鎖主密鑰(LMK)對(duì)信息存儲(chǔ)器件進(jìn)行加鎖和解鎖。下面將參照?qǐng)D4示意性地描述這個(gè)處理,即通過應(yīng)用加鎖主密鑰(LMK)進(jìn)行的處理,的一個(gè)例子。
加鎖是使對(duì)存儲(chǔ)器(圖3中的存儲(chǔ)器220)如閃存存儲(chǔ)器的訪問控制有效,存儲(chǔ)器是用于存儲(chǔ)信息存儲(chǔ)器件320如存儲(chǔ)器卡的數(shù)據(jù)如內(nèi)容的區(qū)域。解鎖是取消訪問控制。由主機(jī)設(shè)備310執(zhí)行加鎖和解鎖。
如已經(jīng)參照?qǐng)D1和2所描述的,主機(jī)設(shè)備310包括信息處理設(shè)備如PC、PDA、數(shù)碼相機(jī)和DSC(Digital Still Camera,數(shù)字靜止相機(jī)),它們中的每一個(gè)都具有用于與信息存儲(chǔ)器件320如存儲(chǔ)器卡進(jìn)行數(shù)據(jù)傳輸?shù)慕涌?,都將?shù)據(jù)寫到信息存儲(chǔ)器件320或者讀取和使用來自信息存儲(chǔ)器件320的數(shù)據(jù)。主機(jī)設(shè)備310還包括用作專門對(duì)信息存儲(chǔ)器件320如存儲(chǔ)器卡進(jìn)行加鎖/解鎖的加鎖/解鎖單元312。
加鎖/解鎖單元312包括用作用于執(zhí)行加鎖和解鎖算法的控制裝置的CPU、用作數(shù)據(jù)存儲(chǔ)存儲(chǔ)器的ROM和RAM以及在其中放置信息存儲(chǔ)器件320如存儲(chǔ)器卡并且通過其進(jìn)行數(shù)據(jù)傳輸?shù)慕涌?。加鎖/解鎖單元312是專門用于對(duì)信息存儲(chǔ)器件320進(jìn)行加鎖/解鎖的單元。
在下文中,將對(duì)信息存儲(chǔ)器件320進(jìn)行加鎖和解鎖的單元,即,包括PC、PDA和其他信息處理設(shè)備的單元以及加鎖/解鎖單元312,稱為主機(jī)設(shè)備。
主機(jī)設(shè)備中的存儲(chǔ)器315如ROM存儲(chǔ)用作每個(gè)主機(jī)設(shè)備所獨(dú)有的標(biāo)識(shí)符的ID(例如,16個(gè)字節(jié)的數(shù)據(jù))和用作應(yīng)用于對(duì)信息存儲(chǔ)器件320進(jìn)行加鎖和解鎖的密鑰數(shù)據(jù)的加鎖密鑰(LK)(例如,8個(gè)字節(jié)的數(shù)據(jù))。包括在主機(jī)設(shè)備中的由每個(gè)主機(jī)設(shè)備所獨(dú)有的標(biāo)識(shí)符(ID)和加鎖密鑰(LK)組成的集[ID,LK]被稱為密鑰集。
同時(shí),在信息存儲(chǔ)器件320如存儲(chǔ)器卡中的控制器中的存儲(chǔ)器325如ROM存儲(chǔ)加鎖主密鑰(LMK)。例如,這些信息在制造每個(gè)單元時(shí)被寫入每個(gè)單元并且不能被用戶重寫。
存儲(chǔ)在信息存儲(chǔ)器件320中的加鎖主密鑰(LMK)與存儲(chǔ)在主機(jī)設(shè)備中的ID和加鎖密鑰(LK)具有如下關(guān)系LK=H(LMK,ID)。
H(X,Y)表示通過應(yīng)用密鑰X為消息Y的哈希值的計(jì)算。換句話說,利用通過應(yīng)用加鎖主密鑰(LMK)為ID計(jì)算哈希值,計(jì)算與ID相關(guān)的加鎖密鑰(LK)。
哈希函數(shù)是一個(gè)單向函數(shù)并且非常難以倒推(reverse),即,已知輸出,非常難以計(jì)算輸入。在上述等式中,通過應(yīng)用作為密鑰的加鎖主密鑰(LMK),將單向函數(shù)應(yīng)用于每個(gè)主機(jī)設(shè)備所獨(dú)有的ID上,由此計(jì)算出一個(gè)輸出,就是一個(gè)與每個(gè)主機(jī)設(shè)備所獨(dú)有的ID相關(guān)的加鎖密鑰(LK)??梢詰?yīng)用如MD5或SHA的哈希算法。
(加鎖)以下將描述通過應(yīng)用上述的加鎖主密鑰(LMK)進(jìn)行的加鎖,即,使對(duì)信息存儲(chǔ)器件的訪問控制有效。
圖5示出了在加鎖處理中,在主機(jī)設(shè)備與信息存儲(chǔ)器件之間進(jìn)行的處理的順序。將主機(jī)設(shè)備與信息存儲(chǔ)器件相互連接,以便彼此進(jìn)行數(shù)據(jù)傳輸。主機(jī)設(shè)備向信息存儲(chǔ)器件輸出隨機(jī)數(shù)生成指令。當(dāng)接收到隨機(jī)數(shù)生成指令時(shí),信息存儲(chǔ)器件生成預(yù)定長(zhǎng)度如16字節(jié)的隨機(jī)數(shù)(Rms)并且將生成的隨機(jī)數(shù)發(fā)送到主機(jī)設(shè)備。信息存儲(chǔ)器件將生成的隨機(jī)數(shù)(Rms)存儲(chǔ)在信息存儲(chǔ)器件的控制器中的存儲(chǔ)器如RAM中。
當(dāng)接收到來自信息存儲(chǔ)器件的隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備利用作為加密密鑰存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中的加鎖密鑰(LK)對(duì)接收到的隨機(jī)數(shù)(Rms)進(jìn)行加密E(LK,Rms),其中,E(X,Y)表示通過應(yīng)用密鑰[X]對(duì)消息[Y]進(jìn)行的加密??梢詫⒏鞣N算法應(yīng)用為加密算法。例如,應(yīng)用DES加密算法。
主機(jī)設(shè)備利用作為加密密鑰的加鎖密鑰(LK)對(duì)接收到的隨機(jī)數(shù)(Rms)進(jìn)行加密E(LK,Rms),并且將結(jié)果數(shù)據(jù)[E(LK,Rms)]、由主機(jī)設(shè)備預(yù)先存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中的為主機(jī)設(shè)備所獨(dú)有的標(biāo)識(shí)符(ID)和加鎖指令發(fā)送到信息存儲(chǔ)器件。
當(dāng)接收到包括ID和E(LK,Rms)的數(shù)據(jù)時(shí),信息存儲(chǔ)器件通過應(yīng)用存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的加鎖主密鑰(LMK),為接收到的ID計(jì)算哈希值,由此計(jì)算與接收到的ID相關(guān)的加鎖密鑰(LK)。即,信息存儲(chǔ)器件計(jì)算與接收到的ID相關(guān)的加鎖密鑰(LK)LK=H(LMK,ID)。
接收到的ID被存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中。在解鎖處理中使用接收到的ID,這將在后面進(jìn)行描述。
信息存儲(chǔ)器件通過應(yīng)用由上述的哈希值計(jì)算計(jì)算出的加鎖密鑰(LK),對(duì)存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的隨機(jī)數(shù)Rms進(jìn)行加密E(LK,Rms)并且進(jìn)行檢查,看這個(gè)經(jīng)過加密的數(shù)據(jù)是否等于從主機(jī)設(shè)備接收到的加密數(shù)據(jù)E(LK,Rms)。可以應(yīng)用各種算法,只要它們與主機(jī)設(shè)備使用的算法相同即可。
當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LK,Rms)等于由信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LK,Rms)時(shí),證明指令是來自具有有效ID和LK的集數(shù)據(jù)的主機(jī)設(shè)備的加鎖請(qǐng)求。進(jìn)行加鎖,并且將加鎖完成報(bào)告發(fā)送到主機(jī)設(shè)備。信息存儲(chǔ)器件將已經(jīng)進(jìn)行了加鎖的主機(jī)設(shè)備的密鑰集[ID、LK]存儲(chǔ)在包括非易失存儲(chǔ)器(NVM)如閃存存儲(chǔ)器的存儲(chǔ)器220中。
當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LK,Rms)不等于由信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LK,Rms)時(shí),則判斷該主機(jī)設(shè)備不是具有有效ID和LK的集數(shù)據(jù)的主機(jī)設(shè)備,并且判斷該指令是來自一個(gè)未被授權(quán)的單元。不進(jìn)行加鎖并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
如果執(zhí)行了解鎖則由信息存儲(chǔ)器件進(jìn)行的加鎖允許訪問包括作為用于存儲(chǔ)數(shù)據(jù)如內(nèi)容的區(qū)域的閃存存儲(chǔ)器的存儲(chǔ)器(圖3中的存儲(chǔ)器),后面將對(duì)解鎖進(jìn)行描述。
以下將參照?qǐng)D6的流程圖對(duì)加鎖處理的步驟進(jìn)行描述。在步驟S101中,用作信息存儲(chǔ)器件的存儲(chǔ)器卡響應(yīng)從主機(jī)設(shè)備接收到的隨機(jī)數(shù)生成請(qǐng)求指令生成隨機(jī)數(shù)(Rms)。在步驟S102中,主機(jī)設(shè)備讀取生成的隨機(jī)數(shù)。在步驟S103中,除了加鎖指令以外,主機(jī)設(shè)備還向用作信息存儲(chǔ)器件的存儲(chǔ)器卡發(fā)送主機(jī)設(shè)備的ID以及通過使用主機(jī)設(shè)備的加鎖密鑰(LK)對(duì)隨機(jī)數(shù)(Rms)進(jìn)行加密而生成的加密數(shù)據(jù)E(LK,Rms)。
在步驟S104中,存儲(chǔ)器卡將接收到的ID和加密數(shù)據(jù)E(LK,Rms)寫入信息存儲(chǔ)器件中的存儲(chǔ)器中。在步驟S105中,存儲(chǔ)器卡通過應(yīng)用存儲(chǔ)在存儲(chǔ)器卡的存儲(chǔ)器中的加鎖主密鑰(LMK),為接收到的ID計(jì)算哈希值,即,計(jì)算與接收到的ID相關(guān)的加鎖密鑰(LK)H(LMK,ID)=LK。
根據(jù)計(jì)算的加鎖密鑰(LK),存儲(chǔ)器卡對(duì)在步驟S101中預(yù)先生成的隨機(jī)數(shù)(Rms)進(jìn)行加密并且計(jì)算用作檢查數(shù)據(jù)的加密數(shù)據(jù)E(LK,Rms)。
在步驟S106中,存儲(chǔ)器卡對(duì)在步驟S105中計(jì)算的加密數(shù)據(jù)E(LK,Rms)與在步驟S103中從主機(jī)設(shè)備接收的并且在步驟S104中存儲(chǔ)在存儲(chǔ)器中的除了加鎖指令以外的加密數(shù)據(jù)E(LK,Rms)進(jìn)行比較和檢查[E(LK,Rms)=E(LK,Rms)?],看這兩個(gè)數(shù)據(jù)是否相等。
當(dāng)通過比較和檢查判斷這兩個(gè)值相等時(shí),證明主機(jī)設(shè)備為具有有效且正確的ID和加鎖密鑰(LK)的集數(shù)據(jù)的有效單元。在步驟S107中,響應(yīng)加鎖指令進(jìn)行加鎖,因此,假如解鎖成功,則允許訪問存儲(chǔ)器,后面將對(duì)解鎖進(jìn)行描述。信息存儲(chǔ)器件將已經(jīng)進(jìn)行了加鎖的主機(jī)設(shè)備的密鑰集[ID,LK]存儲(chǔ)在包括非易失存儲(chǔ)器(NVM)如閃存存儲(chǔ)器的存儲(chǔ)器220中。
當(dāng)在步驟S106中通過比較和檢查判斷這兩個(gè)值不相等時(shí),在步驟S108中,判斷已經(jīng)發(fā)送了加鎖指令的主機(jī)設(shè)備是沒有正確的ID和加鎖密鑰(LK)的集數(shù)據(jù)的未被授權(quán)的單元。不進(jìn)行加鎖,并且向主機(jī)設(shè)備發(fā)送錯(cuò)誤報(bào)告。
(解鎖)下面將描述對(duì)通過應(yīng)用上述的加鎖主密鑰(LMK)進(jìn)行加鎖而設(shè)置的鎖進(jìn)行解鎖或釋放,即取消對(duì)信息存儲(chǔ)器件的訪問控制。
圖7示出了在解鎖處理中,在主機(jī)設(shè)備與信息存儲(chǔ)器件之間進(jìn)行的處理的順序。將主機(jī)設(shè)備與信息存儲(chǔ)器件相互連接,以便彼此進(jìn)行數(shù)據(jù)傳輸。主機(jī)設(shè)備向信息存儲(chǔ)器件輸出隨機(jī)數(shù)生成指令。當(dāng)接收到隨機(jī)數(shù)生成指令時(shí),信息存儲(chǔ)器件生成預(yù)定長(zhǎng)度如16字節(jié)的隨機(jī)數(shù)(Rms)并且將生成的隨機(jī)數(shù)(Rms)和在前面的加鎖處理中已經(jīng)存儲(chǔ)在存儲(chǔ)器中的主機(jī)設(shè)備的ID,即已經(jīng)進(jìn)行過加鎖的主機(jī)設(shè)備的ID,發(fā)送到主機(jī)設(shè)備。信息存儲(chǔ)器件將生成的隨機(jī)數(shù)(Rms)存儲(chǔ)在信息存儲(chǔ)器件的控制器中的存儲(chǔ)器如RAM中。
當(dāng)接收到來自信息存儲(chǔ)器件的隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備對(duì)照主機(jī)設(shè)備的ID對(duì)接收到的ID進(jìn)行檢查,看這兩個(gè)ID是否相等。當(dāng)兩個(gè)ID不相等時(shí),該鎖是另一個(gè)主機(jī)設(shè)備設(shè)置的并且不能被釋放。
當(dāng)接收到的ID和主機(jī)設(shè)備的ID相等時(shí),則該鎖是由這個(gè)主機(jī)設(shè)備設(shè)置的并且可以被釋放或解鎖。在這種情況下,主機(jī)設(shè)備利用作為加密密鑰存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中的加鎖密鑰(LK)對(duì)接收到的隨機(jī)數(shù)(Rms)進(jìn)行加密E(LK,Rms)并且除了解鎖指令以外還將結(jié)果數(shù)據(jù)發(fā)送到信息存儲(chǔ)器件。
當(dāng)接收到經(jīng)過加密的數(shù)據(jù)E(LK,Rms)時(shí),信息存儲(chǔ)器件讀取存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的主機(jī)設(shè)備ID,即已經(jīng)進(jìn)行過加鎖的主機(jī)設(shè)備的ID,并且通過應(yīng)用加鎖主密鑰(LMK)為讀取的ID計(jì)算哈希值,由此計(jì)算與經(jīng)過進(jìn)行過加鎖的主機(jī)設(shè)備的ID相關(guān)的加鎖密鑰(LK)。即,信息存儲(chǔ)器件計(jì)算與已經(jīng)進(jìn)行過加鎖的主機(jī)設(shè)備的ID相關(guān)的加鎖密鑰(LK)LK=H(LMK,ID)。
信息存儲(chǔ)器件通過應(yīng)用由上述的哈希值而計(jì)算出計(jì)算的加鎖密鑰(LK),對(duì)存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的隨機(jī)數(shù)Rms進(jìn)行加密E(LK,Rms),并且對(duì)照從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LK,Rms)對(duì)這個(gè)加密數(shù)據(jù)進(jìn)行檢查,看這兩個(gè)數(shù)據(jù)是否相等。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LK,Rms)與信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LK,Rms)相等時(shí),證明解鎖指令是來自具有有效ID和LK集數(shù)據(jù)的主機(jī)設(shè)備的解鎖請(qǐng)求。進(jìn)行解鎖并且將解鎖完成報(bào)告發(fā)送到主機(jī)設(shè)備。當(dāng)兩個(gè)數(shù)據(jù)不相等時(shí),判斷該主機(jī)設(shè)備不是具有有效ID和LK集數(shù)據(jù)的主機(jī)設(shè)備并且該解鎖指令是來自未被授權(quán)的單元的解鎖請(qǐng)求。不進(jìn)行解鎖并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
由信息存儲(chǔ)器件進(jìn)行解鎖的意思是釋放鎖,即,允許訪問包括作為用于存儲(chǔ)數(shù)據(jù)如內(nèi)容的區(qū)域的閃存存儲(chǔ)器等的存儲(chǔ)器(圖3中的存儲(chǔ)器220)。
下面將參照?qǐng)D8的流程圖對(duì)解鎖處理的步驟進(jìn)行描述。在步驟S201中,用作信息存儲(chǔ)器件的存儲(chǔ)器卡響應(yīng)從主機(jī)設(shè)備接收的隨機(jī)數(shù)生成請(qǐng)求指令生成隨機(jī)數(shù)(Rms)。在步驟S202中,主機(jī)設(shè)備除了讀取前面已經(jīng)進(jìn)行過加鎖的主機(jī)設(shè)備的ID以外,還讀取生成的隨機(jī)數(shù)。
當(dāng)從存儲(chǔ)器卡讀取的ID與主機(jī)設(shè)備的主機(jī)ID相等時(shí),主機(jī)設(shè)備判斷可以對(duì)該鎖進(jìn)行解鎖。在步驟S203中,主機(jī)設(shè)備除了向用作信息存儲(chǔ)器件的存儲(chǔ)器卡發(fā)送解鎖指令以外,還發(fā)送通過利用主機(jī)設(shè)備的加鎖密鑰(LK)對(duì)接收到的隨機(jī)數(shù)進(jìn)行加密而生成的加密數(shù)據(jù)E(LK,Rms)。
在步驟S204中,存儲(chǔ)器卡將接收到的加密數(shù)據(jù)E(LK,Rms)寫入信息存儲(chǔ)器件中的存儲(chǔ)器中。在步驟S205中,存儲(chǔ)器卡讀取在前面的加鎖處理中存儲(chǔ)在存儲(chǔ)器中的,已經(jīng)進(jìn)行過加鎖的主機(jī)設(shè)備的ID,并且通過應(yīng)用存儲(chǔ)在存儲(chǔ)器卡的存儲(chǔ)器中的加鎖主密鑰(LMK),為讀取的ID計(jì)算哈希值,由此計(jì)算與ID相關(guān)的加鎖密鑰(LK)H(LMK,ID)=LK。
根據(jù)計(jì)算的加鎖密鑰(LK),存儲(chǔ)器卡對(duì)前面在步驟S201中生成的隨機(jī)數(shù)(Rms)進(jìn)行加密并且生成用作檢查數(shù)據(jù)的加密數(shù)據(jù)E(LK,Rms)。
在步驟S206中,存儲(chǔ)器卡對(duì)在步驟S205中計(jì)算的加密數(shù)據(jù)E(LK,Rms)與在步驟S203中從主機(jī)設(shè)備接收的并且在步驟S204中存儲(chǔ)在存儲(chǔ)器中的除了解鎖指令以外的加密數(shù)據(jù)E(LK,Rms)進(jìn)行比較和檢查[E(LK,Rms)=E(LK,Rms)?],看這兩個(gè)數(shù)據(jù)是否相等。
當(dāng)通過比較和檢查判斷這兩個(gè)值相等時(shí),證明主機(jī)設(shè)備為具有有效且正確的ID和加鎖密鑰(LK)集數(shù)據(jù)的有效單元。在步驟S207中,響應(yīng)解鎖指令進(jìn)行解鎖,因此允許訪問存儲(chǔ)器。相反,當(dāng)在步驟S206中通過比較和檢查判斷這兩個(gè)值不相等時(shí),在步驟S208中,將已經(jīng)發(fā)送了解鎖指令的主機(jī)設(shè)備判斷為沒有應(yīng)用于加鎖的正確的ID和加鎖密鑰(LK)集數(shù)據(jù)的未被授權(quán)的單元。不進(jìn)行解鎖,即,不釋放鎖,并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
如上所述,按照本例的處理,只允許具有主機(jī)設(shè)備ID和與主機(jī)設(shè)備ID相關(guān)的加鎖密鑰(LK)的有效集數(shù)據(jù)的主機(jī)設(shè)備對(duì)信息存儲(chǔ)器件進(jìn)行加鎖。只允許已經(jīng)進(jìn)行過加鎖的主機(jī)設(shè)備對(duì)鎖進(jìn)行解鎖或釋放。在上述的加鎖和解鎖處理中,進(jìn)行僅是信息存儲(chǔ)器件對(duì)主機(jī)設(shè)備進(jìn)行驗(yàn)證的單邊驗(yàn)證。減輕了主機(jī)設(shè)備的處理負(fù)荷并且高效率地進(jìn)行處理。
在上述的加鎖和解鎖處理中,在信息存儲(chǔ)器件側(cè)應(yīng)用在每個(gè)處理中生成的隨機(jī)數(shù)。不能應(yīng)用在過去的處理中記錄的數(shù)據(jù),由此有效地防止了基于過去處理的軌跡的未被授權(quán)的處理。
上述的加鎖和解鎖處理是由每個(gè)主機(jī)設(shè)備對(duì)信息存儲(chǔ)器件進(jìn)行的。只能由已經(jīng)對(duì)信息存儲(chǔ)器件加鎖的主機(jī)設(shè)備對(duì)鎖進(jìn)行解鎖。在多個(gè)主機(jī)設(shè)備使用一個(gè)信息存儲(chǔ)器件(存儲(chǔ)器卡)的情況下,一個(gè)主機(jī)設(shè)備(單元A)在信息存儲(chǔ)器件(存儲(chǔ)器卡)上存儲(chǔ)數(shù)據(jù)并且對(duì)這個(gè)存儲(chǔ)器卡加鎖,而另一個(gè)主機(jī)設(shè)備(單元B)可能要使用這個(gè)信息存儲(chǔ)器件(存儲(chǔ)器卡)。
在這種情況下,除非主機(jī)設(shè)備(單元A)將鎖釋放,否則主機(jī)設(shè)備(單元B)不能將該鎖釋放。下面將描述用于解決這個(gè)問題的方法的例子。即,主機(jī)設(shè)備能夠單獨(dú)地對(duì)信息存儲(chǔ)器件進(jìn)行加鎖和解鎖。下面將參照?qǐng)D9示意性地描述該方法的例子。
加鎖是使對(duì)信息存儲(chǔ)器件520如存儲(chǔ)器卡的作為用于存儲(chǔ)數(shù)據(jù)如內(nèi)容的區(qū)域的存儲(chǔ)器(圖3中的存儲(chǔ)器220)如閃存存儲(chǔ)器的訪問控制有效。解鎖是取消訪問控制。這些與前面的處理的例子相同。由主機(jī)設(shè)備510進(jìn)行加鎖和解鎖。
如已經(jīng)參照?qǐng)D1和2進(jìn)行描述的,主機(jī)設(shè)備510包括信息處理設(shè)備如PC、PDA、數(shù)碼相機(jī)和DSC(數(shù)字靜止相機(jī)),它們中的每一個(gè)都具有用于與信息存儲(chǔ)器件520如存儲(chǔ)器卡進(jìn)行數(shù)據(jù)傳輸?shù)慕涌?,都將?shù)據(jù)寫到信息存儲(chǔ)器件520或者讀取和使用來自信息存儲(chǔ)器件520的數(shù)據(jù)。主機(jī)設(shè)備510還包括用作專門對(duì)信息存儲(chǔ)器件520如存儲(chǔ)器卡進(jìn)行加鎖/解鎖的單元的加鎖/解鎖單元512。
主機(jī)設(shè)備中的存儲(chǔ)器515如ROM存儲(chǔ)用作每個(gè)主機(jī)設(shè)備所獨(dú)有的標(biāo)識(shí)符的IDs(例如16字節(jié)數(shù)據(jù))和用作應(yīng)用于加鎖和解鎖的密鑰數(shù)據(jù)的加鎖密鑰(LKs)(例如,8個(gè)字節(jié)數(shù)據(jù))。如上所述,IDs和LKs是一組與該處理的前面的例子中的ID和LK對(duì)應(yīng)的數(shù)據(jù)集。與前面的處理相同,可以將IDs和LKs應(yīng)用于加鎖和解鎖。
該IDs是基本ID,LKs是基本加鎖密鑰。在制造每個(gè)主機(jī)設(shè)備時(shí),IDs和LKs被寫入每個(gè)主機(jī)設(shè)備中的存儲(chǔ)器如ROM并且不能被用戶重寫。與前面的在其中應(yīng)用LMK的處理的例子中相同,可以將基本ID(IDs)和基本加鎖密鑰(LKs)應(yīng)用于其中主機(jī)設(shè)備與信息存儲(chǔ)器件具有一對(duì)一關(guān)系的加鎖和解鎖。由每個(gè)主機(jī)設(shè)備獨(dú)有的基本ID和基本加鎖密鑰組成的密鑰集[IDs,LKs]被稱為基本密鑰集。
將通過應(yīng)用這個(gè)基本密鑰集[IDs,LKs]進(jìn)行的加鎖稱為標(biāo)準(zhǔn)加鎖。通過從用作主機(jī)設(shè)備的信息處理設(shè)備向信息存儲(chǔ)器件輸出標(biāo)準(zhǔn)加鎖指令,進(jìn)行標(biāo)準(zhǔn)加鎖。通過輸出解鎖指令,進(jìn)行解鎖。
在主機(jī)設(shè)備中的存儲(chǔ)器515如ROM至少可以存儲(chǔ)一個(gè)用作副ID和副加鎖密鑰的集數(shù)據(jù)的副密鑰集[IDen,LKen](n=1,2,...),副密鑰集用作可以復(fù)制和提供給另一個(gè)主機(jī)設(shè)備的密鑰集。
這個(gè)副密鑰集[IDen,LKen]是可以被普遍存儲(chǔ)在多個(gè)主機(jī)設(shè)備中的密鑰。利用以下描述的處理,可以通過信息存儲(chǔ)器件將存儲(chǔ)在另一個(gè)主機(jī)設(shè)備中的副密鑰集[IDen,LKen]復(fù)制并且存儲(chǔ)在再另一個(gè)主機(jī)設(shè)備中。
通過應(yīng)用可以通過信息存儲(chǔ)器件(存儲(chǔ)器卡)復(fù)制并且輸出到另一個(gè)主機(jī)設(shè)備的副密鑰集[IDen,LKen]對(duì)信息存儲(chǔ)器件(存儲(chǔ)器卡)進(jìn)行的加鎖稱為出口加鎖。
將通過應(yīng)用副密鑰集[IDen,LKen]進(jìn)行的加鎖稱為出口加鎖。通過從用作主機(jī)設(shè)備的信息處理設(shè)備向信息存儲(chǔ)器件輸出出口加鎖指令,進(jìn)行出口加鎖。通過輸出解鎖指令進(jìn)行解鎖。
可以將主機(jī)設(shè)備從經(jīng)過出口加鎖的信息存儲(chǔ)器件(存儲(chǔ)器卡)得到的副密鑰集[IDen,LKen]寫入主機(jī)設(shè)備中的存儲(chǔ)器。這種對(duì)副密鑰集的復(fù)制和寫入被稱為蓋印。通過蓋印,形成由具有相同副密鑰集[IDen,LKen]的多個(gè)主機(jī)設(shè)備組成的組。
因此,副密鑰集[IDen,LKen]是可應(yīng)用于其中能夠輸出副密鑰集[IDen,LKen]的加鎖即出口加鎖的密鑰集。通過給ID和LK加上[e]表示副密鑰集[IDen,LKen],其中,[en]中的n表示與定義的組的編號(hào)對(duì)應(yīng)的副密鑰集的編號(hào)。
每個(gè)主機(jī)設(shè)備可以存儲(chǔ)多個(gè)不同的副密鑰集。例如,將副密鑰集1[IDe1,LKe1]設(shè)置為在包括PC(個(gè)人計(jì)算機(jī))-a、PC-b和PDA(個(gè)人數(shù)字助理)-a的三個(gè)主機(jī)設(shè)備的組當(dāng)中共用的公共副密鑰集(sub 1);將副密鑰集2[IDe2,LKe2]設(shè)置為在包括PC-a、PDA-a和PDA-b的三個(gè)主機(jī)設(shè)備的組當(dāng)中共用的公共副密鑰集(sub 2)。在這種情況下,每個(gè)主機(jī)設(shè)備將相應(yīng)的包括基本ID(IDs)和基本加鎖密鑰(LKs)的基本密鑰集[IDs,LKs]存儲(chǔ)在存儲(chǔ)器中。此外,主機(jī)設(shè)備存儲(chǔ)下面的副密鑰集,每個(gè)副密鑰集包括副ID和副加鎖密鑰PC-a存儲(chǔ)[IDe1,LKe1]和[IDe2,LKe2];PC-b存儲(chǔ)[IDe1,LKe1];PDA-a存儲(chǔ)[IDe1,LKe1]和[IDe2,LKe2];以及PDA-b存儲(chǔ)[IDe2,LKe2]。
通過將由副ID和副加鎖密鑰的集數(shù)據(jù)組成的副密鑰集[IDen,LKen]寫入每個(gè)主機(jī)設(shè)備的存儲(chǔ)器515中,每個(gè)主機(jī)設(shè)備成為了包括至少一個(gè)主機(jī)設(shè)備的主機(jī)設(shè)備組n的一個(gè)成員。組n的每個(gè)成員應(yīng)用普遍存儲(chǔ)的副ID(IDn)和公共的副密鑰(LKn)對(duì)一個(gè)信息存儲(chǔ)器件(存儲(chǔ)器卡)進(jìn)行加鎖和解鎖。
相反,在信息存儲(chǔ)器件520如存儲(chǔ)器卡中的控制器中的存儲(chǔ)器525如ROM存儲(chǔ)加鎖主密鑰(LMK)。存儲(chǔ)在信息存儲(chǔ)器件520中的加鎖主密鑰(LMK)和存儲(chǔ)在主機(jī)設(shè)備中的ID(包括IDs和IDen)和加鎖密鑰(LK(包括LKs和LKen))具有如下關(guān)系LK=H(LMK,ID)。
加鎖主密鑰(LMK)與ID和LK的關(guān)系與前面描述的其中應(yīng)用了LMK的處理中的關(guān)系完全一樣。通過應(yīng)用加鎖主密鑰LMK為基本ID(IDs)計(jì)算哈希值,計(jì)算基本加鎖密鑰(LKs)。通過應(yīng)用加鎖主密鑰LMK為副ID(IDen)計(jì)算哈希值,計(jì)算副加鎖密鑰(LKen)。
以下將參照?qǐng)D10對(duì)使用基本密鑰集[IDs,LKs]和副密鑰集[IDen,LKen]的加鎖模式進(jìn)行描述。加鎖模式包括在圖10的部分(a)到(c)中示出的三種模式。
部分(a)示出了其中應(yīng)用了由每個(gè)主機(jī)設(shè)備510所獨(dú)有的基本ID(IDs)和基本加鎖密鑰(LKs)組成的基本密鑰集[IDs,LKs]531的標(biāo)準(zhǔn)加鎖。
通過從主機(jī)設(shè)備510向信息存儲(chǔ)器件520輸出標(biāo)準(zhǔn)加鎖指令進(jìn)行通過應(yīng)用基本密鑰集[IDs,LKs]531的標(biāo)準(zhǔn)加鎖。通過輸出解鎖指令,進(jìn)行解鎖。
當(dāng)信息存儲(chǔ)器件520被標(biāo)準(zhǔn)加鎖時(shí),將基本密鑰集[IDs,LKs]存儲(chǔ)在信息存儲(chǔ)器件(存儲(chǔ)器卡)520的存儲(chǔ)器(閃存存儲(chǔ)器)的標(biāo)準(zhǔn)加鎖密鑰集存儲(chǔ)區(qū)域541中。從經(jīng)過加鎖的信息存儲(chǔ)器件(存儲(chǔ)器卡)520不輸出應(yīng)用于標(biāo)準(zhǔn)加鎖的基本密鑰集[IDs,LKs]。只能由具有相同基本密鑰集[IDs,LKs]的主機(jī)設(shè)備,即已經(jīng)進(jìn)行過標(biāo)準(zhǔn)加鎖的主機(jī)設(shè)備,對(duì)信息存儲(chǔ)器件520進(jìn)行解鎖。
與其中應(yīng)用了LMK的前述處理相同,可以將由基本ID(IDs)和基本加鎖密鑰(LKs)組成的基本密鑰集[IDs,LKs]應(yīng)用于其中主機(jī)設(shè)備與信息存儲(chǔ)器件具有一對(duì)一關(guān)系的加鎖和解鎖??梢赃M(jìn)行加鎖和解鎖,它們與參照?qǐng)D5到圖8描述的加鎖和解鎖相似。
部分(b)示出了其中應(yīng)用了由在多個(gè)主機(jī)設(shè)備當(dāng)中共用的副ID(IDen)和副加鎖密鑰(LKen)的組成副密鑰集[IDen,LKen]532的出口加鎖。
通過從主機(jī)設(shè)備510向信息存儲(chǔ)器件520輸出出口加鎖指令進(jìn)行通過應(yīng)用副密鑰集[IDen,LKen]532的出口加鎖。通過輸出解鎖指令進(jìn)行解鎖。
當(dāng)信息存儲(chǔ)器件520被出口加鎖時(shí),將副密鑰集[IDen,LKen]存儲(chǔ)在信息存儲(chǔ)器件(存儲(chǔ)器卡)520的存儲(chǔ)器(閃存存儲(chǔ)器)的出口加鎖密鑰集存儲(chǔ)區(qū)域542中。當(dāng)進(jìn)行這種類型的加鎖時(shí),可以由另一個(gè)主機(jī)設(shè)備通過蓋印從經(jīng)過加鎖的信息存儲(chǔ)器件(存儲(chǔ)器卡)520得到應(yīng)用于出口加鎖的副密鑰集[IDen,LKen],后面將對(duì)此進(jìn)行詳細(xì)描述。
當(dāng)信息存儲(chǔ)器件520被出口加鎖時(shí),可以由已經(jīng)對(duì)信息存儲(chǔ)器件520進(jìn)行了加鎖的主機(jī)設(shè)備并且可以由已經(jīng)進(jìn)行過蓋印并且已經(jīng)得到了應(yīng)用于出口加鎖的副密鑰集[IDen,LKen]的主機(jī)設(shè)備對(duì)信息存儲(chǔ)器件520進(jìn)行解鎖。
部分(c)示出了其中應(yīng)用了可以由在多個(gè)主機(jī)設(shè)備510當(dāng)中共用的副ID(IDen)和副加鎖密鑰(LKen)組成的副密鑰集[IDen,LKen]532的標(biāo)準(zhǔn)加鎖。
將其稱之為組加鎖。
通過從主機(jī)設(shè)備510向信息存儲(chǔ)器件520輸出標(biāo)準(zhǔn)加鎖指令進(jìn)行通過應(yīng)用副密鑰集[IDen,LKen]532的標(biāo)準(zhǔn)加鎖,即組加鎖。通過輸出解鎖指令進(jìn)行解鎖。應(yīng)用于組加鎖的密鑰集是副密鑰集[IDen,LKen]532。
在本質(zhì)上,組加鎖與基本加鎖相似。應(yīng)用于組加鎖的密鑰集是副密鑰集[IDen,LKen]532。當(dāng)信息存儲(chǔ)器件520被組加鎖時(shí),將副密鑰集[IDen,LKen]存儲(chǔ)在信息存儲(chǔ)器件520的存儲(chǔ)器(閃存存儲(chǔ)器)的標(biāo)準(zhǔn)加鎖密鑰集存儲(chǔ)區(qū)域541中。當(dāng)進(jìn)行這種類型的加鎖時(shí),將應(yīng)用于組加鎖的副密鑰集[IDen,LKen]存儲(chǔ)在標(biāo)準(zhǔn)加鎖密鑰集存儲(chǔ)區(qū)域541中。因此,不從經(jīng)過加鎖的信息存儲(chǔ)器件(存儲(chǔ)器卡)520輸出副密鑰集[IDen,LKen]。
只能由具有相同副密鑰集[IDen,LKen]的主機(jī)設(shè)備對(duì)經(jīng)過組加鎖的信息存儲(chǔ)器件520進(jìn)行解鎖。在這種情況下,這些主機(jī)設(shè)備不僅包括已經(jīng)對(duì)信息存儲(chǔ)器件520進(jìn)行過組加鎖的主機(jī)設(shè)備,而且包括預(yù)先已經(jīng)得到了相同的副密鑰集[IDen,LKen]的主機(jī)設(shè)備。
例如,通過應(yīng)用相同的副密鑰集[IDen,LKen]預(yù)先進(jìn)行出口加鎖。在進(jìn)行出口加鎖的時(shí)候,主機(jī)設(shè)備進(jìn)行蓋印,得到相同的副密鑰集[IDen,LKen]并且將副密鑰集[IDen,LKen]存儲(chǔ)在存儲(chǔ)器中。這個(gè)主機(jī)設(shè)備能夠進(jìn)行解鎖。
在通過應(yīng)用副密鑰集[IDen,LKen]進(jìn)行標(biāo)準(zhǔn)加鎖即組加鎖處理中的加鎖和解鎖的順序與通過應(yīng)用LMK進(jìn)行的加鎖和解鎖的順序(見圖5到圖8)相似。區(qū)別僅在于,利用蓋印,多個(gè)主機(jī)設(shè)備可以進(jìn)行加鎖和解鎖。
以下將對(duì)通過應(yīng)用由可以在多個(gè)主機(jī)設(shè)備當(dāng)中共用的副ID(IDen)和副加鎖密鑰(LKen)組成的副密鑰集[IDen,LKen]進(jìn)行的加鎖、通過信息存儲(chǔ)器件(存儲(chǔ)器卡)將副密鑰集[IDen,LKen]復(fù)制和存儲(chǔ)到主機(jī)設(shè)備以及對(duì)經(jīng)過出口加鎖的信息存儲(chǔ)器件(存儲(chǔ)器卡)進(jìn)行解鎖或釋放等進(jìn)行描述。
(基于副密鑰集的加鎖)下面將詳細(xì)描述通過應(yīng)用由副ID(IDen)和副加鎖密鑰(LKen)組成的副密鑰集[IDen,LKen]對(duì)信息存儲(chǔ)器件(存儲(chǔ)器卡)進(jìn)行的加鎖。
如上所述,利用通過應(yīng)用副密鑰集[IDen,LKen]對(duì)信息存儲(chǔ)器件(存儲(chǔ)器卡)加鎖,將信息存儲(chǔ)器件(存儲(chǔ)器卡)出口加鎖,其中,通過信息存儲(chǔ)器件(存儲(chǔ)器卡)可以將應(yīng)用于加鎖的副密鑰集復(fù)制并且輸出到另一個(gè)主機(jī)設(shè)備。
圖11示出了在基于副密鑰集進(jìn)行加鎖處理的過程中,在主機(jī)設(shè)備與信息存儲(chǔ)器件之間進(jìn)行的處理的順序。將主機(jī)設(shè)備與信息存儲(chǔ)器件相互連接,以便彼此進(jìn)行數(shù)據(jù)傳輸。
信息存儲(chǔ)器件包括圖11中示出的加鎖狀態(tài)標(biāo)志551。加鎖狀態(tài)標(biāo)志551中的每一個(gè)保持一個(gè)表示信息存儲(chǔ)器件的加鎖狀態(tài)的值。上部中的NVM包括存儲(chǔ)在存儲(chǔ)器220如在圖3中示出的閃存存儲(chǔ)器的NVM(非易失存儲(chǔ)器)區(qū)域中的標(biāo)志。下部包括存儲(chǔ)在控制器210中的RAM 213中的標(biāo)志。當(dāng)關(guān)閉信息存儲(chǔ)器件時(shí),將RAM中的標(biāo)志刪除,而保持NVM中的標(biāo)志數(shù)據(jù)。當(dāng)將標(biāo)志重新寫入RAM時(shí),復(fù)制NVM中的標(biāo)志數(shù)據(jù)。當(dāng)電源被關(guān)閉然后被打開時(shí),將NVM中的標(biāo)志信息復(fù)制到RAM。SL表示標(biāo)準(zhǔn)加鎖;EL表示出口加鎖;1表示加鎖狀態(tài);0表示解鎖狀態(tài)。
標(biāo)準(zhǔn)加鎖是其中不能將應(yīng)用于加鎖的密鑰集[ID,LK]輸出的加鎖模式。出口加鎖是其中能將應(yīng)用于加鎖的密鑰集[ID,LK]輸出的加鎖模式。當(dāng)SL=1時(shí),信息存儲(chǔ)器件被標(biāo)準(zhǔn)加鎖。當(dāng)EL=1時(shí),信息存儲(chǔ)器件被出口加鎖。
信息存儲(chǔ)器件(存儲(chǔ)器卡)具有在存儲(chǔ)器(閃存存儲(chǔ)器(NVM))中的分別用于存儲(chǔ)應(yīng)用于標(biāo)準(zhǔn)加鎖的密鑰集和應(yīng)用于出口加鎖的密鑰集的數(shù)據(jù)存儲(chǔ)區(qū)域。
在初始狀態(tài)中,如圖所示,SL=0并且EL=0,其中既沒有進(jìn)行標(biāo)準(zhǔn)加鎖(SL)也沒有進(jìn)行出口加鎖(EL)。即,所有主機(jī)設(shè)備都可以訪問信息存儲(chǔ)器件的存儲(chǔ)器。
在初始狀態(tài)中,一個(gè)主機(jī)設(shè)備向信息存儲(chǔ)器件輸出隨機(jī)數(shù)生成指令。當(dāng)接收到隨機(jī)數(shù)生成指令時(shí),信息存儲(chǔ)器件生成預(yù)定長(zhǎng)度如16字節(jié)的隨機(jī)數(shù)(Rms),并且將生成的隨機(jī)數(shù)發(fā)送到主機(jī)設(shè)備。信息存儲(chǔ)器件將生成的隨機(jī)數(shù)(Rms)存儲(chǔ)在控制器中的存儲(chǔ)器如RAM中。
當(dāng)接收到來自信息存儲(chǔ)器件的隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備將預(yù)先已經(jīng)存儲(chǔ)在主機(jī)設(shè)備中的存儲(chǔ)器中的副加鎖密鑰(LKen)用作加密密鑰,對(duì)接收到的隨機(jī)數(shù)(Rms)進(jìn)行加密E(LKen,Rms)??梢詫⒏鞣N算法應(yīng)用為加密算法。例如,應(yīng)用DES加密算法。
主機(jī)設(shè)備將副加鎖密鑰(LKen)用作加密密鑰,對(duì)接收到的隨機(jī)數(shù)(Rms)進(jìn)行加密E(LKen,Rms)并且將結(jié)果數(shù)據(jù)E(LKen,Rms)、由主機(jī)設(shè)備預(yù)先存儲(chǔ)在主機(jī)設(shè)備中的存儲(chǔ)器中的用作與副加鎖密鑰(LKen)相關(guān)的集數(shù)據(jù)的副ID(IDen)以及加鎖指令發(fā)送到信息存儲(chǔ)器件。
當(dāng)接收到包括IDen和E(LKen,Rms)的數(shù)據(jù)時(shí),信息存儲(chǔ)器件通過應(yīng)用存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的加鎖主密鑰(LMK)為接收到的副ID(IDen)計(jì)算哈希值,由此計(jì)算與接收到的副ID(IDen)相關(guān)的副加鎖密鑰(LKen)。即,信息存儲(chǔ)器件計(jì)算與接收到的副ID(IDen)相關(guān)的副加鎖密鑰(LKen)LKen=H(LMK,IDen)。
接收到的副ID(IDen)被存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中。接收到的副ID(IDen)被用在解鎖處理中,后面將對(duì)此進(jìn)行描述。
通過應(yīng)用由上述的哈希值計(jì)算得到的副加鎖密鑰(LKen),信息存儲(chǔ)器件對(duì)存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的隨機(jī)數(shù)(Rms)進(jìn)行加密E(LKen,Rms),并且進(jìn)行檢查,看這個(gè)加密數(shù)據(jù)是否與從主機(jī)設(shè)備接收到的加密數(shù)據(jù)E(LKen,Rms)相等??梢詰?yīng)用各種算法,只要它們與主機(jī)設(shè)備使用的算法相同即可。
當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LKen,Rms)等于由信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKen,Rms)時(shí),證明指令是來自具有有效副ID(IDen)和副加鎖密鑰(LKen)集數(shù)據(jù)的主機(jī)設(shè)備的加鎖請(qǐng)求。進(jìn)行出口加鎖,并且將加鎖完成報(bào)告發(fā)送到主機(jī)設(shè)備。當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LKen,Rms)不等于由信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKen,Rms)時(shí),則判斷該主機(jī)設(shè)備不是具有有效副ID(IDen)和副加鎖密鑰(LKen)集數(shù)據(jù)的主機(jī)設(shè)備,并且判斷該指令是來自未被授權(quán)的單元的加鎖請(qǐng)求。不進(jìn)行出口加鎖并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
由信息存儲(chǔ)器件進(jìn)行的出口加鎖是指,假如通過應(yīng)用副ID和副加鎖密鑰進(jìn)行解鎖,則允許訪問包括作為用于存儲(chǔ)數(shù)據(jù)如內(nèi)容的閃存存儲(chǔ)器的存儲(chǔ)器(圖3中的存儲(chǔ)器220),后面將描述通過應(yīng)用副ID和副加鎖密鑰進(jìn)行解鎖。應(yīng)用于出口加鎖的出口密鑰集[IDen,LKen]被存儲(chǔ)在信息存儲(chǔ)器件(存儲(chǔ)器卡)的存儲(chǔ)器(閃存存儲(chǔ)器(NVM))中的出口加鎖密鑰集存儲(chǔ)區(qū)域中。重寫加鎖狀態(tài)標(biāo)志。
如圖所示,當(dāng)進(jìn)行出口加鎖時(shí),使加鎖狀態(tài)標(biāo)志變?yōu)楸硎境隹诩渔i有效的EL=1,并且將加鎖狀態(tài)標(biāo)志存儲(chǔ)在NVM和RAM中。通過對(duì)信息存儲(chǔ)器件中的控制器中的RAM 213(見圖3)設(shè)置EL=1并且隨后將EL=1復(fù)制到NVM(包括閃存存儲(chǔ)器等的存儲(chǔ)器220),使這些標(biāo)志改變。當(dāng)在這種狀態(tài)中關(guān)閉電源時(shí),將RAM中標(biāo)志信息刪除而保持NVM中的標(biāo)志信息。隨后,當(dāng)打開電源時(shí),將NVM(EL=1)中的標(biāo)志信息復(fù)制到RAM,并且控制器210(見圖3)基于RAM中的標(biāo)志信息(EL=1)進(jìn)行處理。
標(biāo)志信息EL=1表示信息存儲(chǔ)器件被出口加鎖。可以通過蓋印將存儲(chǔ)在信息存儲(chǔ)器件(存儲(chǔ)器卡)的NVM(包括閃存存儲(chǔ)器等的存儲(chǔ)器220)的出口加鎖密鑰集存儲(chǔ)區(qū)域中的副密鑰輸出到另一個(gè)主機(jī)設(shè)備,后面將對(duì)此進(jìn)行描述。
下面將參照?qǐng)D12的流程圖對(duì)出口加鎖處理的步驟進(jìn)行描述。在步驟S301中,用作信息存儲(chǔ)器件的存儲(chǔ)器卡響應(yīng)從主機(jī)設(shè)備接收的隨機(jī)數(shù)生成請(qǐng)求指令,生成隨機(jī)數(shù)(Rms)。在步驟S302中,主機(jī)設(shè)備讀取生成的隨機(jī)數(shù)。在步驟S303中,除了加鎖指令以外,主機(jī)設(shè)備還獲得已經(jīng)存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中的副ID(IDen),主機(jī)設(shè)備利用已經(jīng)存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中的副加鎖密鑰(LKen)對(duì)接收到的隨機(jī)數(shù)(Rms)加密從而生成數(shù)據(jù)E(LKen,Rms),并且將包括IDen和E(LKen,Rms)的這些相關(guān)數(shù)據(jù)發(fā)送到用作信息存儲(chǔ)器件的存儲(chǔ)器卡。
在步驟S304中,存儲(chǔ)器卡將接收到的副ID(IDen)和加密數(shù)據(jù)E(LKen,Rms)寫入信息存儲(chǔ)器件中的存儲(chǔ)器中。在步驟S305中,存儲(chǔ)器卡通過應(yīng)用存儲(chǔ)在存儲(chǔ)器卡的存儲(chǔ)器中的加鎖主密鑰(LMK)為接收到的副ID(IDen)計(jì)算哈希值,由此計(jì)算與接收到的副ID(IDen)相關(guān)的副加鎖密鑰(LKen)。即,信息存儲(chǔ)器件計(jì)算與接收到的副ID(IDen)相關(guān)的副加鎖密鑰(LKen)H(LMK,IDen)=LKen。
根據(jù)計(jì)算的副加鎖密鑰(LKen),存儲(chǔ)器卡對(duì)前面在步驟S301中生成的隨機(jī)數(shù)(Rms)加密,并且生成用作檢查數(shù)據(jù)的加密數(shù)據(jù)E(LKen,Rms)。
在步驟S306中,存儲(chǔ)器卡對(duì)在步驟S305中計(jì)算的加密數(shù)據(jù)E(LKen,Rms)與在步驟S303中從主機(jī)設(shè)備接收的并且在步驟304中存儲(chǔ)在存儲(chǔ)器中的除了加鎖指令以外的加密數(shù)據(jù)E(LKen,Rms)進(jìn)行比較和檢查[E(LKen,Rms)=E(LKen,Rms)?],看這兩個(gè)數(shù)據(jù)是否相等。
當(dāng)通過比較和檢查確認(rèn)這兩個(gè)值相等時(shí),證明主機(jī)設(shè)備為具有用作有效且正確的副ID(IDen)和加鎖密鑰(LKen)的集數(shù)據(jù)的副密鑰集[IDen,LKen]的有效單元。在步驟S307中,響應(yīng)加鎖指令進(jìn)行加鎖,因此,如果通過應(yīng)用副密鑰集[IDen,LKen]進(jìn)行解鎖或釋放成功,則允許訪問存儲(chǔ)器,后面將對(duì)此進(jìn)行描述。上述的加鎖狀態(tài)標(biāo)志被設(shè)置為EL=1。
當(dāng)在步驟S306中通過比較和檢查判斷E(LKen,Rms)=E(LKen,Rms)不成立時(shí),在步驟S308中,將已經(jīng)發(fā)送了加鎖指令的主機(jī)設(shè)備判斷為沒有正確的副ID(IDen)和副加鎖密鑰(LKen)的集數(shù)據(jù)的未被授權(quán)的單元。不進(jìn)行加鎖,并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
可以通過與前面在[基于加鎖主密鑰(LMK)的處理]中描述的解鎖相似的處理,由具有與在對(duì)信息存儲(chǔ)器件進(jìn)行加鎖的處理中使用的用作副ID(IDen)和副加鎖密鑰(LKen)的集數(shù)據(jù)相同的副密鑰集[IDen,LKen]的主機(jī)設(shè)備對(duì)已經(jīng)通過上述處理被出口加鎖的經(jīng)過出口加鎖的信息存儲(chǔ)器件進(jìn)行解鎖。即,通過用副ID(IDen)和副加鎖密鑰(LKen)代替ID和加鎖密鑰可以使信息存儲(chǔ)器件解鎖。
另一個(gè)沒有與在對(duì)信息存儲(chǔ)器件進(jìn)行加鎖的處理中使用的副密鑰集[IDen,LKen]相同的密鑰集的主機(jī)設(shè)備不能使信息存儲(chǔ)器件解鎖,即,除非這個(gè)主機(jī)設(shè)備得到應(yīng)用于對(duì)信息存儲(chǔ)器件進(jìn)行加鎖的副密鑰集[IDen,LKen],否則它就不能訪問信息存儲(chǔ)器件。
具有用作有效基本ID(IDs)和基本加鎖密鑰(LKs)的集數(shù)據(jù)的基本密鑰集[IDs,LKs]的主機(jī)設(shè)備可以從信息存儲(chǔ)器件獲得存儲(chǔ)在經(jīng)過出口加鎖的信息存儲(chǔ)器件中的副密鑰集[IDen,LKen]。這個(gè)主機(jī)設(shè)備可以通過應(yīng)用獲得的副密鑰集[IDen,LKen]使信息存儲(chǔ)器件解鎖。通過信息存儲(chǔ)器件得到副密鑰集[IDen,LKen]被稱為蓋印。
當(dāng)根據(jù)其中可以將副密鑰集[IDen,LKen]輸出到另一個(gè)主機(jī)設(shè)備的副密鑰集[IDen,LKen]對(duì)信息存儲(chǔ)器件加鎖時(shí),信息存儲(chǔ)器件被出口加鎖。
通過從經(jīng)過出口加鎖的信息存儲(chǔ)器件獲得(蓋印)應(yīng)用于出口加鎖的副密鑰集[IDen,LKen],主機(jī)設(shè)備成為由具有相同副密鑰集[IDen,LKen]的多個(gè)主機(jī)設(shè)備組成的組中的一員。隨后,這個(gè)主機(jī)設(shè)備可以應(yīng)用獲得的副密鑰集[IDen,LKen]使信息存儲(chǔ)器件解鎖。以下將對(duì)蓋印和解鎖進(jìn)行詳細(xì)描述。
(蓋印和解鎖)下面將對(duì)蓋印或由主機(jī)設(shè)備從經(jīng)過出口加鎖的信息存儲(chǔ)器件獲得由副加鎖密鑰(LKen)和副ID(IDen)組成的副密鑰集[IDen,LKen]以及使經(jīng)過出口加鎖的信息存儲(chǔ)器件解鎖進(jìn)行描述。
圖13示出了在主機(jī)設(shè)備與信息存儲(chǔ)器件之間進(jìn)行的蓋印和解鎖處理的順序。將主機(jī)設(shè)備與信息存儲(chǔ)器件相互連接,以便彼此進(jìn)行數(shù)據(jù)傳輸。如圖所示,將信息存儲(chǔ)器件的加鎖狀態(tài)標(biāo)志設(shè)置為表示出口加鎖有效的EL=1并且存儲(chǔ)在NVM和RAM中。
主機(jī)設(shè)備沒有由應(yīng)用于對(duì)信息存儲(chǔ)器件進(jìn)行出口加鎖的副ID(IDen)和副加鎖密鑰(LKen)組成的副密鑰集[IDen,LKen]。信息存儲(chǔ)器件將副密鑰集[IDen,LKen]存儲(chǔ)在出口密鑰存儲(chǔ)區(qū)域中。信息存儲(chǔ)器件處于所謂出口加鎖狀態(tài)。
主機(jī)設(shè)備向信息存儲(chǔ)器件輸出隨機(jī)數(shù)生成指令。當(dāng)接收到隨機(jī)數(shù)生成指令時(shí),信息存儲(chǔ)器件生成預(yù)定長(zhǎng)度如16字節(jié)的隨機(jī)數(shù)(Rms),并且將生成的隨機(jī)數(shù)(Rms)和在前面的出口加鎖處理中已經(jīng)存儲(chǔ)在存儲(chǔ)器中的副ID(IDen),即應(yīng)用于出口加鎖的副密鑰集[IDen,LKen]中的副ID(IDen),發(fā)送到主機(jī)設(shè)備。信息存儲(chǔ)器件將生成的隨機(jī)數(shù)(Rms)存儲(chǔ)在控制器中的存儲(chǔ)器如RAM中。
當(dāng)接收到來自信息存儲(chǔ)器件的副ID(IDen)和隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備對(duì)照主機(jī)設(shè)備的基本ID(IDs)檢查接收到的副ID(IDen),看兩個(gè)ID是否相等。當(dāng)兩個(gè)ID相等時(shí),可以通過應(yīng)用基本加鎖密鑰(LKs)使信息存儲(chǔ)器件解鎖,這與其中應(yīng)用LMK的上述處理相似(見圖7)。
當(dāng)接收到的副ID不等于主機(jī)設(shè)備的基本ID(IDs)時(shí),這意味著信息存儲(chǔ)器件是被另一個(gè)主機(jī)設(shè)備加鎖的。通過蓋印或獲得接收到的副ID(IDen)和副加鎖密鑰(LKen),該主機(jī)設(shè)備能夠像其它已經(jīng)通過應(yīng)用副密鑰集[IDen,LKen]進(jìn)行了出口加鎖的主機(jī)設(shè)備一樣加入同一個(gè)組。
即,主機(jī)設(shè)備進(jìn)行蓋印以便得到副ID(IDen)和副加鎖密鑰(LKen),并且將這些數(shù)據(jù)作為集數(shù)據(jù),即副密鑰集[IDen,LKen],存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中,由此加入組。通過應(yīng)用得到的副密鑰集[IDen,LKen],主機(jī)設(shè)備可以使經(jīng)過出口加鎖的信息存儲(chǔ)器件解鎖。當(dāng)進(jìn)行蓋印時(shí),主機(jī)設(shè)備將從信息存儲(chǔ)器件接收到的副ID(IDen)存儲(chǔ)在存儲(chǔ)器中。
進(jìn)行蓋印的主機(jī)設(shè)備將已經(jīng)存儲(chǔ)在主機(jī)設(shè)備中的存儲(chǔ)器中的基本加鎖密鑰(LKs)用作加密密鑰,對(duì)接收到的隨機(jī)數(shù)(Rms)進(jìn)行加密E(LKs,Rms)并且將結(jié)果數(shù)據(jù)、基本ID(IDs)和標(biāo)準(zhǔn)加鎖指令發(fā)送到信息存儲(chǔ)器件。由于這個(gè)加鎖處理是通過應(yīng)用基本加鎖密鑰(LKs),將標(biāo)準(zhǔn)加鎖添加到已經(jīng)通過應(yīng)用副加鎖密鑰(LKen)被出口加鎖的出口加鎖信息存儲(chǔ)器件,因此這個(gè)加鎖處理被稱為過加鎖。
當(dāng)接收到來自主機(jī)設(shè)備的基本ID(IDs)和加密數(shù)據(jù)E(LKs,Rms)時(shí),信息存儲(chǔ)器件通過應(yīng)用加鎖主密鑰(LMK)為接收到的基本ID(IDs)計(jì)算哈希值,由此計(jì)算與基本ID(IDs)相關(guān)的基本加鎖密鑰(LKs)。即,信息存儲(chǔ)器件計(jì)算與基本ID(IDs)相關(guān)的基本加鎖密鑰(LKs)LK=H(LMK,IDs)。
通過應(yīng)用由上述的哈希值計(jì)算計(jì)算的基本加鎖密鑰(LKs),信息存儲(chǔ)器件對(duì)存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的隨機(jī)數(shù)Rms進(jìn)行加密E(LKs,Rms),并且進(jìn)行檢查,看這個(gè)加密數(shù)據(jù)是否與從主機(jī)設(shè)備接收到的加密數(shù)據(jù)E(LKs,Rms)相等。
當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LKs,Rms)與信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKs,Rms)相等時(shí),證明該指令是來自具有用作有效基本ID(IDs)和基本加鎖密鑰(LKs)的集數(shù)據(jù)的基本密鑰集[IDs,LKs]的主機(jī)設(shè)備的過加鎖請(qǐng)求。進(jìn)行過加鎖,并且將過加鎖完成報(bào)告發(fā)送到主機(jī)設(shè)備。
當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LKs,Rms)與信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKs,Rms)不相等時(shí),判斷該主機(jī)設(shè)備不是具有用作有效基本ID(IDs)和基本加鎖密鑰(LKs)的集數(shù)據(jù)的基本密鑰集[IDs,LKs]的主機(jī)設(shè)備,并且該指令是來自未被授權(quán)的單元的過加鎖請(qǐng)求。不進(jìn)行過加鎖,并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
由信息存儲(chǔ)器件執(zhí)行的過加鎖是對(duì)經(jīng)過出口加鎖的信息存儲(chǔ)器件進(jìn)行標(biāo)準(zhǔn)加鎖。如圖所示,在NVM和RAM中的信息存儲(chǔ)器件的加鎖狀態(tài)標(biāo)志被設(shè)置為表示出口加鎖有效的EL=1。通過進(jìn)行過加鎖,將表示標(biāo)準(zhǔn)加鎖有效的SL=1設(shè)置在RAM中。在關(guān)閉電源之前,將在RAM中設(shè)置的標(biāo)志信息復(fù)制到NVM中。
當(dāng)接收到過加鎖完成報(bào)告時(shí),主機(jī)設(shè)備連續(xù)進(jìn)行蓋印和解鎖。主機(jī)設(shè)備再次向信息存儲(chǔ)器件發(fā)送隨機(jī)數(shù)生成指令。
當(dāng)接收到隨機(jī)數(shù)生成指令時(shí),信息存儲(chǔ)器件生成第二隨機(jī)數(shù)(Rms2)并且向信息存儲(chǔ)器件發(fā)送下列包括IDs、Rms2、IDen和E(LKs,LKen)的相關(guān)數(shù)據(jù),即生成的隨機(jī)數(shù)(Rms2);
已經(jīng)進(jìn)行過標(biāo)準(zhǔn)加鎖的主機(jī)設(shè)備的基本ID(IDs);應(yīng)用于出口加鎖的副ID(IDen);以及通過利用與基本ID(IDs)相關(guān)的基本加鎖密鑰(LKs)對(duì)與副ID(IDen)相關(guān)的副加鎖密鑰(LKen)進(jìn)行加密生成的加密數(shù)據(jù)E(LKs,LKen)。
信息存儲(chǔ)器件將生成的隨機(jī)數(shù)(Rms2)存儲(chǔ)在控制器中的存儲(chǔ)器如RAM中。
當(dāng)從信息存儲(chǔ)器件接收到包括IDs、Rms2、IDen和E(LKs,LKen)的數(shù)據(jù)時(shí),主機(jī)設(shè)備通過應(yīng)用存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中的基本加鎖密鑰(LKs)對(duì)加密數(shù)據(jù)E(LKs,LKen)進(jìn)行解密,從而獲得副加鎖密鑰(LKen)。這是一個(gè)與前面得到的副ID(IDen)相關(guān)的副加鎖密鑰(LKen)。將獲得的副密鑰集[IDen,LKen]存儲(chǔ)在存儲(chǔ)器中。通過進(jìn)行蓋印,主機(jī)設(shè)備加入編號(hào)為n的組。
接著,主機(jī)設(shè)備對(duì)信息存儲(chǔ)器件進(jìn)行解鎖。根據(jù)通過應(yīng)用基本加鎖密鑰(LKs)進(jìn)行解密得到的副加鎖密鑰(LKen)和從信息存儲(chǔ)器件接收到的加密數(shù)據(jù)E(LKs,LKen),主機(jī)設(shè)備對(duì)從信息存儲(chǔ)器件接收到的隨機(jī)數(shù)(Rms2)進(jìn)行加密并且生成加密數(shù)據(jù)E(LKen,Rms2)。主機(jī)設(shè)備將加密數(shù)據(jù)E(LKen,Rms2)和解鎖指令發(fā)送到信息存儲(chǔ)器件。
當(dāng)接收到來自主機(jī)設(shè)備的解鎖指令和加密數(shù)據(jù)E(LKen,Rms2)時(shí),信息存儲(chǔ)器件通過應(yīng)用加鎖主密鑰(LKs)為已經(jīng)存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的副ID(IDen)計(jì)算哈希值,由此計(jì)算與副ID(IDen)相關(guān)的副加鎖密鑰(LKen)。即,信息存儲(chǔ)器件計(jì)算與副ID(IDen)相關(guān)的副加鎖密鑰(LKen)LKen=H(LMK,IDen)。
信息存儲(chǔ)器件通過應(yīng)用由上述的哈希值計(jì)算計(jì)算的副加鎖密鑰(LKen),對(duì)存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的隨機(jī)數(shù)Rms2進(jìn)行加密E(LKen,Rms2),并且進(jìn)行檢查,看這個(gè)加密數(shù)據(jù)是否與從主機(jī)設(shè)備接收到的加密數(shù)據(jù)E(LKen,Rms2)相等。
當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LKen,Rms2)與信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)相等時(shí),證明該指令是來自具有有效副ID(IDen)和副加鎖密鑰(LKen)的集數(shù)據(jù)的主機(jī)設(shè)備的鎖釋放請(qǐng)求,即解鎖請(qǐng)求。進(jìn)行解鎖,并且將解鎖完成報(bào)告發(fā)送到主機(jī)設(shè)備。
當(dāng)從主機(jī)設(shè)備接收到的數(shù)據(jù)E(LKen,Rms2)與信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)不相等時(shí),判斷該主機(jī)設(shè)備不是具有用作包括有效副ID(IDen)和副加鎖密鑰(LKen)的集數(shù)據(jù)的副密鑰集[IDen,LKen]的主機(jī)設(shè)備,并且該指令是來自未被授權(quán)的單元的解鎖請(qǐng)求。不進(jìn)行解鎖,并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
通過對(duì)信息存儲(chǔ)器件解鎖,加鎖狀態(tài)標(biāo)志從EL=1變?yōu)镋L=0。還使用作對(duì)經(jīng)過出口加鎖的信息存儲(chǔ)器件進(jìn)行過加鎖的標(biāo)準(zhǔn)加鎖釋放,并且使SL=1變?yōu)镾L=0。即,根據(jù)對(duì)出口加鎖的釋放使標(biāo)準(zhǔn)加鎖釋放。
加鎖狀態(tài)標(biāo)志改變的順序如下。首先,對(duì)存儲(chǔ)在控制器中的RAM中的標(biāo)志進(jìn)行重寫。接著,例如在關(guān)閉電源之前,將RAM中的標(biāo)志信息適當(dāng)?shù)貜?fù)制到NVM中。當(dāng)再次打開電源時(shí),將NVM中的標(biāo)志信息復(fù)制到RAM中??刂破鞲鶕?jù)RAM中的標(biāo)志信息進(jìn)行訪問控制。
下面將參照?qǐng)D14和15的流程圖,對(duì)蓋印或者獲得由來自經(jīng)過出口加鎖的信息存儲(chǔ)器件的副加鎖密鑰(LKen)和副ID(IDen)組成的副密鑰集[IDen,LKen]的過程以及對(duì)經(jīng)過出口加鎖的信息存儲(chǔ)器件進(jìn)行解鎖的過程的步驟進(jìn)行描述。
在步驟S401中,用作信息存儲(chǔ)器件的存儲(chǔ)器卡響應(yīng)從主機(jī)設(shè)備接收的隨機(jī)數(shù)生成請(qǐng)求,生成隨機(jī)數(shù)(Rms)。在步驟S402中,主機(jī)設(shè)備讀取生成的隨機(jī)數(shù)和已經(jīng)從已經(jīng)對(duì)信息存儲(chǔ)器件進(jìn)行過出口加鎖的主機(jī)設(shè)備發(fā)送的并且已經(jīng)被存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器的出口加鎖密鑰集存儲(chǔ)區(qū)域中的副ID(IDen)。此時(shí),主機(jī)設(shè)備得到副密鑰集[IDen,LKen]的副ID(IDen)。
由于主機(jī)設(shè)備判斷從存儲(chǔ)器卡讀取的副ID(IDen)與主機(jī)設(shè)備的基本ID(IDs)不相等,因此主機(jī)設(shè)備判斷該信息存儲(chǔ)器件不是被標(biāo)準(zhǔn)加鎖而是被出口加鎖。在步驟S403中,除了標(biāo)準(zhǔn)加鎖指令(用作過加鎖)以外,主機(jī)設(shè)備還向用作信息存儲(chǔ)器件的存儲(chǔ)器卡發(fā)送通過利用主機(jī)設(shè)備的基本加鎖密鑰(LKs)和主機(jī)設(shè)備的基本ID(IDs)對(duì)接收到的隨機(jī)數(shù)(Rms)進(jìn)行加密生成的加密數(shù)據(jù)E(LKs,Rms)。
在步驟S404中,信息存儲(chǔ)器件(存儲(chǔ)器卡)將從主機(jī)設(shè)備接收的基本ID(IDs)和加密數(shù)據(jù)E(LKs,Rms)寫入信息存儲(chǔ)器件的存儲(chǔ)器中。在步驟S405中,存儲(chǔ)器卡通過應(yīng)用存儲(chǔ)在存儲(chǔ)器卡的存儲(chǔ)器中的加鎖主密鑰(LMK)為接收到的基本ID(IDs)計(jì)算哈希值,由此計(jì)算與基本ID(IDs)相關(guān)的基本加鎖密鑰(LKs)。即,存儲(chǔ)器卡計(jì)算與基本ID(IDs)相關(guān)的基本加鎖密鑰(LKs)H(LMK,IDs)=LKs。
根據(jù)計(jì)算的基本加鎖密鑰(LKs),存儲(chǔ)器卡對(duì)前面在步驟S401中生成的隨機(jī)數(shù)(Rms)進(jìn)行加密,生成用作檢查數(shù)據(jù)的加密數(shù)據(jù)E(LKs,Rms)。
在步驟S406中,存儲(chǔ)器卡對(duì)在步驟S405中計(jì)算的加密數(shù)據(jù)E(LKs,Rms)與在步驟S403中從主機(jī)設(shè)備接收的并且在步驟S404中存儲(chǔ)在存儲(chǔ)器中的除了標(biāo)準(zhǔn)加鎖指令以外的加密數(shù)據(jù)E(LKs,Rms)進(jìn)行比較和檢查[E(LKs,Rms)=E(LKs,Rms)?],看這兩個(gè)數(shù)據(jù)是否相等。
當(dāng)通過比較和檢查判斷這兩個(gè)值相等時(shí),證明主機(jī)設(shè)備為具有用作包括有效且正確的基本ID(IDs)和基本加鎖密鑰(LKs)的集數(shù)據(jù)的基本密鑰集[IDs,LKs]的有效單元。在步驟S407中,響應(yīng)標(biāo)準(zhǔn)加鎖指令進(jìn)行標(biāo)準(zhǔn)加鎖。這對(duì)應(yīng)于其中對(duì)經(jīng)過出口加鎖的信息存儲(chǔ)器件進(jìn)行標(biāo)準(zhǔn)加鎖的過加鎖。在RAM中的信息存儲(chǔ)器件的加鎖狀態(tài)標(biāo)志被設(shè)置為表示出口加鎖和標(biāo)準(zhǔn)加鎖都有效的EL=1和SL=1。
當(dāng)在步驟S406中通過比較和檢查判斷這兩個(gè)值不相等時(shí),在步驟S408中,將已經(jīng)發(fā)送了標(biāo)準(zhǔn)加鎖指令的主機(jī)設(shè)備判斷為沒有用作包括有效基本ID(IDs)和基本加鎖密鑰(LKs)的集數(shù)據(jù)的基本密鑰集[IDs,LKs]的主機(jī)設(shè)備。不進(jìn)行過加鎖,并且將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
當(dāng)在步驟S407中執(zhí)行用作過加鎖的標(biāo)準(zhǔn)加鎖時(shí),程序進(jìn)行到圖15的當(dāng)要進(jìn)行蓋印和解鎖時(shí)的步驟S501。
當(dāng)接收到過加鎖完成報(bào)告時(shí),主機(jī)設(shè)備再次向信息存儲(chǔ)器件發(fā)送隨機(jī)數(shù)生成指令。當(dāng)接收到隨機(jī)數(shù)生成指令時(shí),在步驟S501中,信息存儲(chǔ)器件生成第二隨機(jī)數(shù)(Rms2)。在步驟S502中,主機(jī)設(shè)備讀取來自信息存儲(chǔ)器件的下列相關(guān)數(shù)據(jù)[IDs、Rms2、IDen和E(LKs,LKen)]生成的隨機(jī)數(shù)(Rms2);已經(jīng)進(jìn)行過標(biāo)準(zhǔn)加鎖的主機(jī)設(shè)備的基本ID(IDs);副ID(IDen);以及通過利用與基本ID(IDs)相關(guān)的集數(shù)據(jù)的基本加鎖密鑰(LKs)對(duì)與副ID(IDen)相關(guān)的集數(shù)據(jù)的副加鎖密鑰(LKen)進(jìn)行加密而生成的加密數(shù)據(jù)E(LKs,LKen)。
在步驟S503中,主機(jī)設(shè)備向信息存儲(chǔ)器件發(fā)送鎖釋放請(qǐng)求或解鎖指令。除了加密數(shù)據(jù)E(LKen,Rms2)以外,主機(jī)設(shè)備還發(fā)送這個(gè)解鎖指令。
通過下列步驟生成加密數(shù)據(jù)E(LKen,Rms2)。在步驟S502中,主機(jī)設(shè)備讀取來自信息存儲(chǔ)器件的包括IDs、Rms2、IDen和E(LKs,LKen)的數(shù)據(jù)。主機(jī)設(shè)備通過應(yīng)用存儲(chǔ)在主機(jī)設(shè)備的存儲(chǔ)器中的基本加鎖密鑰(LKs)對(duì)加密數(shù)據(jù)E(LKs,LKen)進(jìn)行解密,從而得到副加鎖密鑰(LKen)。這是與前面得到的副ID(IDen)相關(guān)的副加鎖密鑰(LKen)。根據(jù)副加鎖密鑰(LKen),主機(jī)設(shè)備對(duì)從信息存儲(chǔ)器件接收到的隨機(jī)數(shù)(Rms2)進(jìn)行加密,從而生成加密數(shù)據(jù)E(LKen,Rms2)。
主機(jī)設(shè)備將得到的副密鑰集[IDen,LKen]存儲(chǔ)在存儲(chǔ)器中,并且由此完成蓋印。換句話說,主機(jī)設(shè)備進(jìn)行蓋印以便加入編號(hào)為n的組。
在步驟S504中,已經(jīng)從主機(jī)設(shè)備接收到加密數(shù)據(jù)E(LKen,Rms2)的信息存儲(chǔ)器件將接收到的加密數(shù)據(jù)E(LKen,Rms2)寫入存儲(chǔ)器。在步驟S505中,信息存儲(chǔ)器件計(jì)算檢查數(shù)據(jù)。
通過下列步驟計(jì)算檢查數(shù)據(jù)。通過應(yīng)用加鎖主密鑰(LMK)為存儲(chǔ)在信息存儲(chǔ)器件的存儲(chǔ)器中的副ID(IDen)計(jì)算哈希值,由此計(jì)算與副ID相關(guān)的副加鎖密鑰(LKen)。即,計(jì)算與副ID相關(guān)的副加鎖密鑰(LKen)LKen=H(LMK,IDen)。
信息存儲(chǔ)器件通過應(yīng)用由上述的哈希值計(jì)算計(jì)算的副加鎖密鑰(LKen),對(duì)在步驟S501中生成的并且被存儲(chǔ)在存儲(chǔ)器中的隨機(jī)數(shù)Rms2進(jìn)行加密E(LKen,Rms2),由此生成檢查數(shù)據(jù)。
在步驟S506中,信息存儲(chǔ)器件將檢查數(shù)據(jù)E(LKen,Rms2)與從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LKen,Rms2)進(jìn)行比較,以檢查它們是否相等。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms2)與由信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)相等時(shí),判斷該指令是來自具有用作包括有效副ID(IDen)和副加鎖密鑰(LKen)的集數(shù)據(jù)的副密鑰集[IDen,LKen]的主機(jī)設(shè)備的鎖釋放請(qǐng)求,即,解鎖請(qǐng)求。在步驟S507中,進(jìn)行解鎖并且將解鎖完成報(bào)告發(fā)送到主機(jī)設(shè)備。當(dāng)兩個(gè)數(shù)據(jù)不相等時(shí),判斷該主機(jī)設(shè)備不是具有有效副密鑰集[IDen,LKen]的主機(jī)設(shè)備并且該指令是來自未被授權(quán)的單元的解鎖請(qǐng)求。不進(jìn)行解鎖。在步驟S508中,將錯(cuò)誤報(bào)告發(fā)送到主機(jī)設(shè)備。
按照這個(gè)處理的例子,多個(gè)主機(jī)設(shè)備具有公共的副密鑰集[IDen,LKen]并且能夠?qū)σ粋€(gè)信息存儲(chǔ)器件(存儲(chǔ)器卡)進(jìn)行加鎖和解鎖。當(dāng)信息存儲(chǔ)器件被出口加鎖時(shí),可以通過信息存儲(chǔ)器件將副密鑰集[IDen,LKen]復(fù)制并且存儲(chǔ)在另一個(gè)主機(jī)設(shè)備中。因此,能夠以靈活的方式形成組。假如主機(jī)設(shè)備具有有效的基本ID(IDs)和基本加鎖密鑰(LKs)并且主機(jī)設(shè)備能夠進(jìn)行過加鎖,則可以在主機(jī)設(shè)備中進(jìn)行對(duì)副密鑰集[IDen,LKen]的復(fù)制或蓋印。這樣就防止了將副密鑰集[IDen,LKen]復(fù)制到未被授權(quán)的單元。
與已經(jīng)參照?qǐng)D10(c)進(jìn)行的描述相同,通過應(yīng)用副密鑰集[IDen,LKen]進(jìn)行標(biāo)準(zhǔn)加鎖(=組加鎖)也是可以實(shí)現(xiàn)的。當(dāng)進(jìn)行組加鎖時(shí),副密鑰集[IDen,LKen]被存儲(chǔ)在信息存儲(chǔ)器件的標(biāo)準(zhǔn)加鎖密鑰存儲(chǔ)區(qū)域中(見圖10)并且不能被復(fù)制或輸出到另一個(gè)主機(jī)設(shè)備。換句話說,只有已經(jīng)獲得了相同的副密鑰集[IDen,LKen]的主機(jī)設(shè)備能夠通過進(jìn)行不包含蓋印的正常解鎖訪問信息存儲(chǔ)器件。
在上述的[按照單元組加鎖]中,當(dāng)對(duì)經(jīng)過出口加鎖的信息存儲(chǔ)器件進(jìn)行解鎖時(shí),使所有加鎖狀態(tài)標(biāo)志復(fù)位,即,在NVM和RAM中設(shè)置表示出口加鎖被釋放的EL=0和表示標(biāo)準(zhǔn)加鎖被釋放的SL=0。在設(shè)置EL=0和SL=0的同時(shí),當(dāng)電源被關(guān)閉然后被打開時(shí),由于已經(jīng)在NVM中設(shè)置了EL=0和SL=0,因此,也在控制器的RAM中設(shè)置EL=0和SL=0。所有加鎖狀態(tài)被釋放,并且每個(gè)主機(jī)設(shè)備都可以在不進(jìn)行驗(yàn)證的情況下訪問存儲(chǔ)器。
當(dāng)這種被解鎖的信息存儲(chǔ)器件被盜或者丟失并且落入未被授權(quán)的第三方用戶的黑手時(shí),這個(gè)未被授權(quán)的第三方用戶可以在不進(jìn)行驗(yàn)證的情況下訪問存儲(chǔ)器。當(dāng)存儲(chǔ)了機(jī)密信息時(shí),這種情況是很不利的。
考慮到上述問題,下面將對(duì)以下例子進(jìn)行描述。即使當(dāng)經(jīng)過出口加鎖的信息存儲(chǔ)器件被主機(jī)設(shè)備解鎖然后被關(guān)閉時(shí),信息存儲(chǔ)器件仍然維持出口加鎖。當(dāng)再次打開電源時(shí),假如出口加鎖被釋放,則允許對(duì)信息存儲(chǔ)器件進(jìn)行存儲(chǔ)器訪問。
在本例中,與前面參照?qǐng)D9對(duì)[按照單元組加鎖]進(jìn)行的描述相同,將由基本ID(IDs)和基本加鎖密鑰(LKs)組成的基本密鑰集[IDs,LKs]存儲(chǔ)在主機(jī)設(shè)備中的存儲(chǔ)器如ROM中。至少可以將一個(gè)用作包括可以應(yīng)用于出口加鎖的副ID和副加鎖密鑰的集數(shù)據(jù)的副密鑰集[IDen,LKen]存儲(chǔ)在主機(jī)設(shè)備中的存儲(chǔ)器如ROM中。加鎖主密鑰(LMK)被存儲(chǔ)在信息存儲(chǔ)器件中的控制器中的存儲(chǔ)器如ROM中。存儲(chǔ)在信息存儲(chǔ)器件中的加鎖主密鑰(LMK)與存儲(chǔ)在主機(jī)設(shè)備中的ID(包括IDs和IDen)和加鎖密鑰(LK(包括LKs和LKen))具有如下關(guān)系
LK=H(LMK,ID)。
由主機(jī)設(shè)備按照與在前面描述的[基于加鎖主密鑰(LMK)的處理]中描述的順序相似的順序,基于基本ID(IDs)和基本加鎖密鑰(LKs)進(jìn)行加鎖和解鎖。按照與在前面描述的[按照單元組加鎖]中描述的順序相似的順序,基于副ID(IDen)和副加鎖密鑰(LKen)進(jìn)行加鎖。下面將對(duì)在這個(gè)處理的例子中,在蓋印和解鎖處理中保持加鎖狀態(tài)標(biāo)志進(jìn)行描述。
(在蓋印和解鎖處理中保持加鎖狀態(tài)標(biāo)志)以下將參照?qǐng)D16等,對(duì)由主機(jī)設(shè)備進(jìn)行蓋印或者從經(jīng)過出口加鎖的信息存儲(chǔ)器件獲得由副加鎖密鑰(LKen)和副ID(IDen)組成的副密鑰集[IDen,LKen]、對(duì)經(jīng)過出口加鎖的信息存儲(chǔ)器件進(jìn)行解鎖以及由信息存儲(chǔ)器件保持加鎖狀態(tài)標(biāo)志等進(jìn)行描述。
在圖16中示出的順序圖與參照示出了在主機(jī)設(shè)備與信息存儲(chǔ)器件之間進(jìn)行的蓋印和使經(jīng)過出口加鎖的信息存儲(chǔ)器件解鎖的處理的圖13所描述的順序圖基本相同。處理的步驟也相同。
圖16中示出的順序圖與圖13中示出的順序圖的不同之處在于,在順序圖的最后步驟中,在發(fā)送了解鎖完成報(bào)告之后,信息存儲(chǔ)器件在NVM中設(shè)置標(biāo)志。具體地說,在前面描述的[按照單元組加鎖]中描述的處理中,當(dāng)經(jīng)過出口加鎖的信息存儲(chǔ)器件被解鎖時(shí),在NVM和RAM中設(shè)置表示出口加鎖被釋放的EL=0和表示標(biāo)準(zhǔn)加鎖被釋放的SL=0。相反,按照本處理,在NVM中設(shè)置表示信息存儲(chǔ)器件被出口加鎖和標(biāo)準(zhǔn)加鎖的EL=1和SL=1。
下面將參照?qǐng)D17對(duì)在NVM中設(shè)置加鎖狀態(tài)標(biāo)志的處理進(jìn)行詳細(xì)描述。圖17中示出的處理流程是說明在圖16(與圖13相似)中示出的順序圖中,在接收到鎖釋放請(qǐng)求(解鎖指令)之后,由信息存儲(chǔ)器件執(zhí)行的處理步驟的流程。
在步驟S601中,信息存儲(chǔ)器件(存儲(chǔ)器卡)接收鎖釋放請(qǐng)求(解鎖指令)。信息存儲(chǔ)器件判斷是否執(zhí)行解鎖指令。在步驟S602中,信息存儲(chǔ)器件對(duì)照由信息存儲(chǔ)器件生成的加密數(shù)據(jù)E(LKen,Rms2),檢查從主機(jī)設(shè)備接收的除了解鎖指令以外的加密數(shù)據(jù)E(LKen,Rms2)。這與在[按照單元組加鎖]中描述的相似。
當(dāng)從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LKen,Rms2)與由信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)不相等時(shí),在步驟S607中,向主機(jī)設(shè)備發(fā)送錯(cuò)誤報(bào)告。處理結(jié)束。
相反,當(dāng)從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LKen,Rms2)與由信息存儲(chǔ)器件計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)相等時(shí),判斷該指令是來自具有有效副密鑰集[IDen,LKen]的主機(jī)設(shè)備的解鎖請(qǐng)求。在步驟S603中,進(jìn)行解鎖,并且將解鎖完成報(bào)告發(fā)送到主機(jī)設(shè)備。
在步驟S604中,信息存儲(chǔ)器件(存儲(chǔ)器卡)將存儲(chǔ)在控制器中的RAM中的加鎖狀態(tài)標(biāo)志(SL=1和EL=1)復(fù)制到NVM,并且將NVM中的加鎖狀態(tài)標(biāo)志設(shè)置為SL=1和EL=1,其中,SL=1表示信息存儲(chǔ)器件被標(biāo)準(zhǔn)加鎖,EL=1表示信息存儲(chǔ)器件被出口加鎖。
在步驟S604中完成了復(fù)制標(biāo)志之后,在步驟S605中,使控制器中的RAM中的加鎖狀態(tài)標(biāo)志(SL=1和EL=1)復(fù)位,即,將RAM中的加鎖狀態(tài)標(biāo)志設(shè)置為SL=0和EL=0,其中,SL=0表示信息存儲(chǔ)器件沒有被標(biāo)準(zhǔn)加鎖,EL=0表示信息存儲(chǔ)器件沒有被出口加鎖。
在這種情況下,即,當(dāng)加鎖狀態(tài)標(biāo)志被設(shè)置為SL=0和EL=0時(shí),存儲(chǔ)器訪問不受限制,即,已經(jīng)將信息存儲(chǔ)器件解鎖的主機(jī)設(shè)備可以訪問信息存儲(chǔ)器件中的存儲(chǔ)器(圖3中的存儲(chǔ)器220)。
當(dāng)使信息存儲(chǔ)器件(存儲(chǔ)器卡)離開主機(jī)設(shè)備并且關(guān)閉信息存儲(chǔ)器件(存儲(chǔ)器卡)的電源時(shí),并且當(dāng)再次將電源打開時(shí),將NVM中設(shè)置的加鎖狀態(tài)標(biāo)志(SL=1和EL=1)裝入控制器中的RAM??刂破骰谠赗AM中設(shè)置的加鎖狀態(tài)標(biāo)志(SL=1和EL=1)進(jìn)行處理。下面將參照?qǐng)D18的處理流程,對(duì)信息存儲(chǔ)器件被再次打開以后進(jìn)行的處理進(jìn)行描述。
圖18中示出的處理流程示出了當(dāng)信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí)進(jìn)行的處理。
在步驟S701中,將信息存儲(chǔ)器件(存儲(chǔ)器卡)放置在主機(jī)設(shè)備中并且從電源關(guān)閉狀態(tài)變?yōu)殡娫创蜷_狀態(tài)。在步驟S702中,信息存儲(chǔ)器件將存儲(chǔ)在NVM中的加鎖狀態(tài)標(biāo)志(SL和EL)復(fù)制到控制器中的RAM中?;赗AM中的狀態(tài)標(biāo)志,控制器進(jìn)行控制。
在步驟S703中,信息存儲(chǔ)器件接收來自所連接的主機(jī)設(shè)備的存儲(chǔ)器訪問請(qǐng)求或解鎖指令。信息存儲(chǔ)器件的控制器查詢RAM中的加鎖狀態(tài)標(biāo)志。
在步驟S704中,當(dāng)確定RAM中的狀態(tài)標(biāo)志為EL=1時(shí),在步驟S705中,進(jìn)行解鎖(見圖13到15)。當(dāng)主機(jī)設(shè)備沒有應(yīng)用于信息存儲(chǔ)器件的出口加鎖的副密鑰集[IDen,LKen]時(shí),該主機(jī)設(shè)備必須進(jìn)行蓋印。當(dāng)通過參照?qǐng)D13到15描述的驗(yàn)證,判斷指令是來自有效主機(jī)設(shè)備的解鎖請(qǐng)求時(shí),進(jìn)行解鎖(步驟S708中Yes)。在步驟S709中,允許進(jìn)行存儲(chǔ)器訪問。當(dāng)通過驗(yàn)證判斷指令是來自未被授權(quán)的主機(jī)設(shè)備的解鎖請(qǐng)求時(shí),不進(jìn)行解鎖(步驟S708中No),并且發(fā)送錯(cuò)誤報(bào)告(S710)。
當(dāng)在步驟S704中判斷RAM中的狀態(tài)標(biāo)志為EL=0時(shí),在步驟S706中,判斷RAM中的狀態(tài)標(biāo)志是否是SL=1。當(dāng)判斷RAM中的狀態(tài)標(biāo)志是SL=1時(shí),在步驟S707中,使標(biāo)準(zhǔn)加鎖釋放(見圖7和8)。當(dāng)通過參照?qǐng)D7和8描述的驗(yàn)證,判斷指令是來自有效主機(jī)設(shè)備的解鎖請(qǐng)求時(shí),進(jìn)行解鎖(步驟S708中的是)。在步驟S709中,允許進(jìn)行存儲(chǔ)器訪問。當(dāng)通過驗(yàn)證判斷指令是來自未被授權(quán)的主機(jī)設(shè)備的解鎖請(qǐng)求時(shí),不進(jìn)行解鎖(步驟S708中的否),并且發(fā)送錯(cuò)誤報(bào)告(S710)。
當(dāng)在步驟S704中判斷RAM中的狀態(tài)標(biāo)志為EL=0,并且在步驟S706中判斷RAM中的狀態(tài)標(biāo)志為SL=0時(shí),信息存儲(chǔ)器件未被加鎖。在步驟S709中,允許進(jìn)行存儲(chǔ)器訪問。
如已經(jīng)參照?qǐng)D16和17進(jìn)行描述的,當(dāng)經(jīng)過出口加鎖的信息存儲(chǔ)器件被主機(jī)設(shè)備解鎖然后信息存儲(chǔ)器件被關(guān)閉時(shí),NVM中的加鎖狀態(tài)標(biāo)志被設(shè)置為SL=1和EL=1。當(dāng)隨后打開電源時(shí),將RAM中的加鎖狀態(tài)標(biāo)志設(shè)置為SL=1和EL=1。因此,在圖18的處理流程的步驟S704中的判斷(EL=?)為Yes。進(jìn)行步驟S705中的處理。即,假如經(jīng)過出口加鎖的信息存儲(chǔ)器件被解鎖,則允許進(jìn)行存儲(chǔ)器訪問(見圖13到15)。
如上所述,按照這個(gè)處理的例子,將解鎖之前的加鎖狀態(tài)標(biāo)志存儲(chǔ)在NVM中,加鎖狀態(tài)標(biāo)志包括狀態(tài)信息,根據(jù)這個(gè)狀態(tài)信息判斷信息存儲(chǔ)器件被出口加鎖(EL)還是被標(biāo)準(zhǔn)加鎖(SL),在出口加鎖中,能夠輸出可應(yīng)用于加鎖或解鎖的密鑰集,在標(biāo)準(zhǔn)加鎖中,不能輸出可應(yīng)用于加鎖或解鎖的密鑰集。當(dāng)將信息存儲(chǔ)器件關(guān)閉然后打開時(shí),根據(jù)存儲(chǔ)在NVM中的標(biāo)志,如實(shí)地重新建立解鎖之前的加鎖狀態(tài)。
按照這個(gè)處理的例子,舉例來說,即使當(dāng)經(jīng)過出口加鎖的信息存儲(chǔ)器件被主機(jī)設(shè)備解鎖時(shí),仍然能夠保持出口加鎖狀態(tài)。當(dāng)將信息存儲(chǔ)器件關(guān)閉然后打開時(shí),假如進(jìn)行了解鎖,則允許存儲(chǔ)器訪問。只有當(dāng)具有有效基本密鑰集[IDs,LKs]的主機(jī)設(shè)備進(jìn)行包括上述的過加鎖的預(yù)定處理時(shí),才能夠進(jìn)行解鎖。防止了來自未被授權(quán)的單元的訪問。
以下將對(duì)一個(gè)處理的例子進(jìn)行描述,在這個(gè)處理中,由信息存儲(chǔ)器件的控制器對(duì)主機(jī)設(shè)備從信息存儲(chǔ)器件(存儲(chǔ)器卡)讀取數(shù)據(jù)進(jìn)行監(jiān)控并且響應(yīng)一個(gè)觸發(fā)信號(hào),即對(duì)一個(gè)預(yù)定數(shù)據(jù)區(qū)域的讀取(例如,一個(gè)特定簇),進(jìn)行加鎖。
例如,由根據(jù)存儲(chǔ)的數(shù)據(jù)生成的重放管理文件(PBLIST)對(duì)讀取存儲(chǔ)在信息存儲(chǔ)器件(存儲(chǔ)器卡)的存儲(chǔ)器(圖2的存儲(chǔ)器220)中的數(shù)據(jù)進(jìn)行管理。根據(jù)重放管理文件,控制器從存儲(chǔ)器(圖2的存儲(chǔ)器220)讀取數(shù)據(jù)并且將數(shù)據(jù)輸出到主機(jī)設(shè)備。
當(dāng)讀取數(shù)據(jù)時(shí),信息存儲(chǔ)器件的控制器可以監(jiān)控正在被讀取的數(shù)據(jù)。例如,可以按照預(yù)定的單元,如用作正在被讀取的數(shù)據(jù)的單元的簇,對(duì)以ATRAC3格式壓縮的音頻數(shù)據(jù)進(jìn)行監(jiān)控。
如圖19所示,按照ATRAC3格式壓縮的音頻數(shù)據(jù)包括多個(gè)部分,每個(gè)部分包括多個(gè)簇,每個(gè)簇包括多個(gè)用作最小數(shù)據(jù)單元的SU(sound unit,聲音單元)。每個(gè)SU(聲音單元)包括數(shù)百個(gè)字節(jié)的數(shù)據(jù),它是通過按照44.1kHz的采樣頻率獲得的1024個(gè)音頻數(shù)據(jù)采樣(1024×16比特×2信道)的音頻數(shù)據(jù)壓縮到大約十分之一而產(chǎn)生的。每個(gè)簇包括由多個(gè)SU組成的數(shù)據(jù)(例如42個(gè)SU)。一個(gè)由42個(gè)SU組成的簇代表大約持續(xù)一秒鐘的聲音。
給每個(gè)簇一個(gè)唯一的邏輯編號(hào),并且通過這個(gè)邏輯編號(hào)對(duì)每個(gè)簇進(jìn)行管理。信息存儲(chǔ)器件的控制器210(見圖3)根據(jù)邏輯編號(hào)檢查是否讀取了指定的簇。例如,當(dāng)輸出的數(shù)據(jù)是音樂內(nèi)容時(shí),至少將一個(gè)與音樂內(nèi)容的序曲(introduction)或重復(fù)(refrain)對(duì)應(yīng)的簇的邏輯編號(hào)提取為與內(nèi)容相關(guān)的加鎖相關(guān)簇。被提取的簇的邏輯編號(hào)被設(shè)置為與內(nèi)容相關(guān)的注冊(cè)信息并且被存儲(chǔ)在用于存儲(chǔ)內(nèi)容的存儲(chǔ)器(閃存存儲(chǔ)器)中。
當(dāng)讀取內(nèi)容時(shí),將注冊(cè)信息暫時(shí)存儲(chǔ)在信息存儲(chǔ)器件的控制器中的存儲(chǔ)器(RAM)中??刂破鲗?duì)照加鎖相關(guān)簇,對(duì)讀取內(nèi)容的每個(gè)簇進(jìn)行檢查。當(dāng)讀取內(nèi)容的簇對(duì)應(yīng)于加鎖相關(guān)簇的邏輯編號(hào)時(shí),進(jìn)行加鎖??梢栽诓煌臅r(shí)刻進(jìn)行加鎖,如在讀取加鎖相關(guān)簇開始時(shí)、在讀取加鎖相關(guān)簇結(jié)束時(shí)或者在讀取包括加鎖相關(guān)簇的全部?jī)?nèi)容結(jié)束時(shí)。按照設(shè)置進(jìn)行檢測(cè),并且根據(jù)對(duì)控制設(shè)置的檢測(cè)進(jìn)行加鎖。當(dāng)進(jìn)行加鎖時(shí),假如進(jìn)行解鎖,則必須進(jìn)行重讀。
下面將參照?qǐng)D20,對(duì)假如從存儲(chǔ)器220(見圖3)中讀取了特定數(shù)據(jù)區(qū)域(例如指定簇),由信息存儲(chǔ)器件的控制器210進(jìn)行的加鎖處理進(jìn)行描述。
盡管為了簡(jiǎn)化說明,圖20的處理流程僅包括標(biāo)準(zhǔn)加鎖(SL),但是在出口加鎖(EL)的情況下可以進(jìn)行相似的處理。
在步驟S801中,將信息存儲(chǔ)器件打開。在步驟S802中,將存儲(chǔ)在NVM中的加鎖狀態(tài)標(biāo)志復(fù)制并且存儲(chǔ)在控制器210(見圖3)的RAM 213中??刂破靼凑誖AM 213中的狀態(tài)標(biāo)志進(jìn)行控制。
在步驟S803中,判斷信息存儲(chǔ)器件是否被標(biāo)準(zhǔn)加鎖(SL=1)。當(dāng)SL=1時(shí),在步驟S804中,使信息存儲(chǔ)器件解鎖。例如,解鎖與參照?qǐng)D7和8描述的解鎖相似。
當(dāng)通過由信息存儲(chǔ)器件進(jìn)行驗(yàn)證判斷主機(jī)設(shè)備具有有效基本ID和基本加鎖密鑰,并且當(dāng)解鎖成功時(shí)(S805中的Yes),過程進(jìn)行到步驟S806。當(dāng)解鎖失敗時(shí),在步驟S810中,向主機(jī)設(shè)備發(fā)送錯(cuò)誤報(bào)告并且結(jié)束處理。
假如解鎖成功,在步驟S806中,更新在RAM和NVM中的加鎖狀態(tài)標(biāo)志,即將加鎖狀態(tài)標(biāo)志設(shè)置為表示鎖被釋放的SL=0。
當(dāng)主機(jī)設(shè)備開始讀取數(shù)據(jù)時(shí),在步驟S807中,信息存儲(chǔ)器件的控制器對(duì)是否讀取了預(yù)定的加鎖相關(guān)簇進(jìn)行監(jiān)控。當(dāng)檢測(cè)到讀取了來自加鎖相關(guān)簇的數(shù)據(jù)時(shí),在步驟S808中,將控制器213(見圖3)的RAM中的加鎖狀態(tài)標(biāo)志設(shè)置為加鎖狀態(tài)(SL=1)。在步驟S809中,將NVM中的加鎖狀態(tài)標(biāo)志設(shè)置為加鎖狀態(tài)(SL=1)。
通過讀取預(yù)定的簇,使信息存儲(chǔ)器件加鎖。當(dāng)以后進(jìn)行重讀時(shí),必須進(jìn)行解鎖。只能由具有與在對(duì)信息存儲(chǔ)器件進(jìn)行加鎖的過程中使用的基本ID(IDs)和基本加鎖密鑰(LKs)相同的基本ID(IDs)和相同的基本加鎖密鑰(LKs)的主機(jī)設(shè)備進(jìn)行解鎖。這樣就防止了無限制地使用經(jīng)過加鎖的信息存儲(chǔ)器件(存儲(chǔ)器卡)。
當(dāng)關(guān)閉信息存儲(chǔ)器件時(shí),可以將加鎖信息設(shè)置為釋放?;蛘?,如上所述,即使關(guān)閉電源時(shí),仍然將加鎖狀態(tài)標(biāo)志保持在NVM中。當(dāng)再次打開電源時(shí),將NVM中的加鎖狀態(tài)標(biāo)志復(fù)制到控制器中的RAM中,由此保持并且重新建立電源關(guān)閉之前的加鎖狀態(tài)標(biāo)志。
按照這個(gè)處理的例子,當(dāng)解鎖之后讀取數(shù)據(jù)時(shí),實(shí)施只允許讀取一次的所謂讀取一次訪問控制。
在圖20的處理的例子中,僅示出了標(biāo)準(zhǔn)加鎖。但是,在出口加鎖的情況下可以進(jìn)行相似的處理。即,可以響應(yīng)一個(gè)觸發(fā)信號(hào),即讀取預(yù)定數(shù)據(jù)區(qū)域,對(duì)信息存儲(chǔ)器件進(jìn)行出口加鎖。
以下將描述在用于對(duì)可以處在不同加鎖狀態(tài)中信息存儲(chǔ)器件進(jìn)行訪問的主機(jī)設(shè)備中,用于檢測(cè)信息存儲(chǔ)器件的加鎖狀態(tài)的顯示結(jié)構(gòu)和過程。
圖21示出了具有加鎖狀態(tài)顯示指示器和各種處理開關(guān)的加鎖/解鎖單元的結(jié)構(gòu)的例子。具有通過它可以與用作信息存儲(chǔ)器件的存儲(chǔ)器卡710進(jìn)行數(shù)據(jù)傳輸?shù)慕涌诘募渔i/解鎖單元720具有下列加鎖狀態(tài)指示器一個(gè)解鎖指示器721,用于表示解鎖狀態(tài);一個(gè)加鎖指示器722,用于表示加鎖狀態(tài);一個(gè)E加鎖指示器723,用于表示出口加鎖狀態(tài);以及一個(gè)ERR加鎖指示器724,用于表示錯(cuò)誤報(bào)告。
各種處理請(qǐng)求開關(guān)包括一個(gè)解鎖開關(guān)731,用作解鎖請(qǐng)求開關(guān);一個(gè)P加鎖開關(guān)732,用作請(qǐng)求使用基本密鑰集的標(biāo)準(zhǔn)加鎖的開關(guān);一個(gè)G加鎖開關(guān)733,用作請(qǐng)求使用副密鑰集的標(biāo)準(zhǔn)加鎖(組加鎖)的開關(guān);以及一個(gè)E加鎖開關(guān)734,用作請(qǐng)求使用副密鑰集的出口加鎖的開關(guān)。
除了上述開關(guān)以外,在圖21(b)中示出的加鎖/解鎖單元的例子還包括蓋印開關(guān)735,用作專門請(qǐng)求蓋印的開關(guān),蓋印是將由存儲(chǔ)在經(jīng)過出口加鎖的信息存儲(chǔ)器件中的副ID(IDen)和副加鎖密鑰(LKen)組成的副密鑰集[IDen,LKen]存儲(chǔ)在主機(jī)設(shè)備中。
在圖21中,示出了加鎖/解鎖單元的指示器和處理請(qǐng)求開關(guān)。如上所述,主機(jī)設(shè)備包括各種單元,這些單元包括信息處理設(shè)備如PC和PDA等;數(shù)碼相機(jī)如DSC;以及移動(dòng)通信終端。這些單元中的每一個(gè)可以通過其輸入裝置將指令發(fā)送到信息存儲(chǔ)器件(存儲(chǔ)器卡)??梢栽谶@些單元中的每一個(gè)的LCD等上顯示加鎖狀態(tài)或者可以通過聲音或警告信號(hào)等報(bào)告加鎖狀態(tài)。
以下將參照?qǐng)D22等對(duì)主機(jī)設(shè)備顯示加鎖狀態(tài)以及將指令從主機(jī)設(shè)備發(fā)送到信息存儲(chǔ)器件(存儲(chǔ)器卡)的處理進(jìn)行描述。
圖22示出了例如當(dāng)信息存儲(chǔ)器件(存儲(chǔ)器卡)與主機(jī)設(shè)備連接時(shí),讀取加鎖狀態(tài)的處理的流程。可以響應(yīng)從用戶輸入的指令進(jìn)行加鎖狀態(tài)讀取處理或者當(dāng)信息存儲(chǔ)器件(存儲(chǔ)器卡)與主機(jī)設(shè)備連接時(shí)可以自動(dòng)進(jìn)行加鎖狀態(tài)讀取處理。
在步驟S901中,從信息存儲(chǔ)器件讀取加鎖狀態(tài)。這個(gè)狀態(tài)信息是基于存儲(chǔ)在信息存儲(chǔ)器件的控制器210的RAM 213(見圖3)中的加鎖狀態(tài)標(biāo)志的。在步驟S902中,根據(jù)讀取的加鎖狀態(tài)信息,開啟指示器721到724中與該加鎖狀態(tài)有關(guān)的一個(gè)指示器。換句話說,當(dāng)信息存儲(chǔ)器件被標(biāo)準(zhǔn)加鎖或組加鎖時(shí),顯示(開啟)表示加鎖狀態(tài)的加鎖指示器722。當(dāng)信息存儲(chǔ)器件被出口加鎖時(shí),顯示(開啟)表示出口加鎖狀態(tài)的E加鎖指示器723。當(dāng)信息存儲(chǔ)器件沒有被加鎖時(shí),顯示(開啟)表示解鎖狀態(tài)的加鎖指示器721。
下面將參照?qǐng)D23對(duì)根據(jù)加鎖請(qǐng)求使指示器顯示的過程以及進(jìn)行加鎖的處理進(jìn)行描述。根據(jù)來自圖21示出的處理請(qǐng)求開關(guān)732到734中的一個(gè)開關(guān)的輸入進(jìn)行加鎖。
由來自S加鎖開關(guān)732的輸入提出應(yīng)用由基本ID(IDs)和基本加鎖密鑰(LKs)組成的密鑰集[IDs,LKs]的標(biāo)準(zhǔn)加鎖的請(qǐng)求。由來自E加鎖開關(guān)734的輸入提出應(yīng)用由副ID(IDen)和副加鎖密鑰(LKen)組成的副密鑰集[IDen,LKen]的出口加鎖的請(qǐng)求。由來自G加鎖開關(guān)733的輸入提出通過應(yīng)用副密鑰集[IDen,LKen]的標(biāo)準(zhǔn)加鎖即組加鎖的請(qǐng)求。
當(dāng)接收到這些輸入中的任何一個(gè)時(shí),在步驟S911中,檢測(cè)信息存儲(chǔ)器件(存儲(chǔ)器卡)的加鎖狀態(tài)。當(dāng)信息存儲(chǔ)器件沒有被解鎖時(shí),在步驟S914中,使錯(cuò)誤(ERR)指示器顯示。當(dāng)信息存儲(chǔ)器件被解鎖時(shí),在步驟S912中,進(jìn)行標(biāo)準(zhǔn)加鎖、出口加鎖和組加鎖中的任何一個(gè)。在完成加鎖之后,顯示與主機(jī)設(shè)備的相關(guān)的加鎖指示器,即顯示表示加鎖狀態(tài)的加鎖指示器722或者表示出口加鎖狀態(tài)的E加鎖指示器723。
下面將參照?qǐng)D24對(duì)當(dāng)使信息存儲(chǔ)器件解鎖并且使指示器顯示時(shí)主機(jī)設(shè)備的操作進(jìn)行描述。
通過按下圖21的解鎖請(qǐng)求開關(guān)731進(jìn)行解鎖。通過按下解鎖請(qǐng)求開關(guān),檢測(cè)信息存儲(chǔ)器件的加鎖狀態(tài)。根據(jù)上述存儲(chǔ)在控制器中的RAM中的加鎖狀態(tài)標(biāo)志進(jìn)行狀態(tài)檢測(cè)。當(dāng)信息存儲(chǔ)器件被解鎖時(shí)(在步驟S921中的No),在步驟S923中,使錯(cuò)誤(ERR)指示器724顯示。
在讀取加鎖狀態(tài)的步驟S922中,判斷信息存儲(chǔ)器件被出口加鎖還是被標(biāo)準(zhǔn)加鎖。根據(jù)上述的加鎖狀態(tài)標(biāo)志,判斷信息存儲(chǔ)器件被出口加鎖還是被標(biāo)準(zhǔn)加鎖。根據(jù)判斷結(jié)果,開啟在圖21中示出的指示器721到724中與加鎖狀態(tài)有關(guān)的一個(gè)指示器。
當(dāng)信息存儲(chǔ)器件被出口加鎖時(shí)(在步驟S924中的Yes),進(jìn)行已經(jīng)參照?qǐng)D16到18描述過的蓋印和解鎖。即,在步驟S925中,通過應(yīng)用基本ID(IDs)和基本加鎖(LKs)進(jìn)行過加鎖。在步驟S926中,對(duì)副ID(IDen)和副加鎖密鑰(LKen)進(jìn)行蓋印(接收和存儲(chǔ))。在步驟S927中,通過應(yīng)用副ID(IDen)和副加鎖密鑰(LKen)進(jìn)行解鎖。已經(jīng)參照?qǐng)D16到18對(duì)這些過程進(jìn)行過詳細(xì)描述。在步驟S928中,顯示解鎖指示器721。
當(dāng)在步驟S924中判斷加鎖狀態(tài)不是出口加鎖,即,加鎖狀態(tài)表示標(biāo)準(zhǔn)加鎖時(shí),在步驟S929中,判斷信息存儲(chǔ)器件是否被標(biāo)準(zhǔn)加鎖。當(dāng)信息存儲(chǔ)器件被標(biāo)準(zhǔn)加鎖時(shí),在步驟S930中進(jìn)行解鎖。應(yīng)用于解鎖的密鑰集是基本密鑰集[IDs,LKs],或者,在組加鎖的情況下,為副密鑰集[IDen,LKen]。當(dāng)鎖被釋放時(shí),在步驟S928中,顯示解鎖指示器721。
當(dāng)在步驟S924中判斷加鎖狀態(tài)不是出口加鎖,并且當(dāng)在步驟S929中判斷信息存儲(chǔ)器件不是被標(biāo)準(zhǔn)加鎖時(shí),在步驟S931中,顯示錯(cuò)誤(ERR)指示器724。
盡管已經(jīng)參照特定實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)描述,但很明顯,本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的范圍的情況下進(jìn)行修改和替換。換句話說,已經(jīng)利用例子描述了本發(fā)明,并且不應(yīng)該按照限制性的意義理解本發(fā)明。本發(fā)明的范圍僅由在開始時(shí)描述的權(quán)利要求加以限定。
可以由硬件或軟件或者二者一起進(jìn)行在說明書中描述的一系列處理。當(dāng)由軟件進(jìn)行處理時(shí),將記錄了處理順序的程序安裝在包括在專用硬件中的內(nèi)置計(jì)算機(jī)中的存儲(chǔ)器中并且執(zhí)行該程序。或者,可以將程序安裝在能夠進(jìn)行各種處理的普通計(jì)算機(jī)上并且執(zhí)行該程序。
例如,可以將程序預(yù)先記錄在用作記錄介質(zhì)的硬盤或ROM(只讀存儲(chǔ)器)上。或者,將該程序暫時(shí)或永久存儲(chǔ)(記錄)在可移動(dòng)記錄介質(zhì)上,如軟盤、CD-ROM(光盤只讀存儲(chǔ)器)、MO(磁光盤)盤、DVD(數(shù)字多用盤)、磁盤或半導(dǎo)體存儲(chǔ)器等。可以按照所謂的封裝軟件提供這樣的可移動(dòng)記錄介質(zhì)。
除了將程序從上述的可移動(dòng)記錄介質(zhì)安裝到計(jì)算機(jī)上以外,可以將程序從下載站點(diǎn)無線傳送到計(jì)算機(jī),或者通過網(wǎng)絡(luò)如互聯(lián)網(wǎng)有線傳送到計(jì)算機(jī)。計(jì)算機(jī)接收傳送的程序并且將程序安裝在內(nèi)置記錄介質(zhì)上如硬盤。
本說明中描述的各種處理不僅可以按照基于描述的時(shí)間序列的方式進(jìn)行,而且可以根據(jù)設(shè)備進(jìn)行處理的整體情況或者需要,按照并行或單獨(dú)方式進(jìn)行。在本說明中的詞“系統(tǒng)”指的是不必包含在一個(gè)外殼中多個(gè)設(shè)備的邏輯組合。
工業(yè)適用性如上所述,按照本發(fā)明的結(jié)構(gòu),信息存儲(chǔ)器件如存儲(chǔ)器卡響應(yīng)從信息處理設(shè)備輸入的指令對(duì)存儲(chǔ)器進(jìn)行解鎖。信息存儲(chǔ)器件將存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中。當(dāng)將信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),信息存儲(chǔ)器件根據(jù)存儲(chǔ)在存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù)重新建立存儲(chǔ)器的加鎖狀態(tài)并且根據(jù)重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。這樣就可靠地防止了第三方用戶對(duì)丟失或被盜的信息存儲(chǔ)器件進(jìn)行存儲(chǔ)器訪問。
按照本發(fā)明的結(jié)構(gòu),將用作信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在用作第一存儲(chǔ)裝置的非易失存儲(chǔ)器(NVM)中,即使在信息存儲(chǔ)器件被關(guān)閉之后仍然保持存儲(chǔ)在其中的信息。當(dāng)再次打開信息存儲(chǔ)器件時(shí),將加鎖狀態(tài)信息復(fù)制到控制器中的用作第二存儲(chǔ)裝置的存儲(chǔ)器中,由此進(jìn)行訪問控制。即使當(dāng)電源被關(guān)閉時(shí),仍然保持加鎖狀態(tài)。這樣就防止了由于刪除了加鎖信息而導(dǎo)致的存儲(chǔ)器訪問。
按照本發(fā)明的結(jié)構(gòu),根據(jù)包括判斷信息的加鎖狀態(tài)信息進(jìn)行訪問控制,根據(jù)加鎖狀態(tài)信息,判斷信息存儲(chǔ)器件被出口加鎖(EL)還是被標(biāo)準(zhǔn)加鎖(SL),在出口加鎖中,允許輸出可應(yīng)用于加鎖或解鎖的密鑰集,在標(biāo)準(zhǔn)加鎖中禁止輸出這樣的密鑰集??梢园凑詹煌姆绞竭M(jìn)行存儲(chǔ)器訪問控制。
按照本發(fā)明的結(jié)構(gòu),在重新建立加鎖狀態(tài)的過程中,對(duì)包括已經(jīng)輸出了解鎖請(qǐng)求的信息處理設(shè)備的標(biāo)識(shí)符(ID)的密鑰集進(jìn)行驗(yàn)證。假如驗(yàn)證成功,則基于解鎖請(qǐng)求進(jìn)行解鎖。假如從有效的主機(jī)設(shè)備輸出該請(qǐng)求,則進(jìn)行安全的存儲(chǔ)器訪問控制。
權(quán)利要求
1.一種信息存儲(chǔ)器件,該器件包括一個(gè)用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器和一個(gè)用于對(duì)該存儲(chǔ)器進(jìn)行訪問控制的控制器,其中所述控制器響應(yīng)從信息處理設(shè)備輸入的指令對(duì)所述存儲(chǔ)器進(jìn)行解鎖,并且所述控制器將所述存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中,并且當(dāng)所述信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),所述控制器根據(jù)存儲(chǔ)在所述存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù)重新建立加鎖狀態(tài),并且根據(jù)重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。
2.如權(quán)利要求1所述的信息存儲(chǔ)器件,其中,所述信息存儲(chǔ)器件將用作所述信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在所述存儲(chǔ)裝置中,并且所述控制器將加鎖狀態(tài)信息存儲(chǔ)在用作第一存儲(chǔ)裝置的非易失存儲(chǔ)器(NVM)中,以便即使在所述信息存儲(chǔ)器件被關(guān)閉之后,仍然保持存儲(chǔ)在其中的信息。
3.如權(quán)利要求2所述的信息存儲(chǔ)器件,其中,在所述信息存儲(chǔ)器件被再次打開之后,所述控制器將存儲(chǔ)在非易失存儲(chǔ)器(NVM)中的加鎖狀態(tài)信息復(fù)制并且存儲(chǔ)在用作第二存儲(chǔ)裝置的所述控制器中的存儲(chǔ)器中,并且根據(jù)所述復(fù)制和存儲(chǔ)的信息進(jìn)行訪問控制。
4.如權(quán)利要求1所述的信息存儲(chǔ)器件,其中,所述信息存儲(chǔ)器件將用作所述信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在所述存儲(chǔ)裝置中,加鎖狀態(tài)信息包括判斷信息,根據(jù)該判斷信息判斷所述信息存儲(chǔ)器件被出口加鎖(EL),其中允許輸出可應(yīng)用于加鎖或解鎖的密鑰集,還是所述信息存儲(chǔ)器件被標(biāo)準(zhǔn)加鎖(SL),其中禁止輸出可應(yīng)用于加鎖或解鎖的密鑰集,并且所述控制器根據(jù)判斷信息進(jìn)行存儲(chǔ)器訪問控制。
5.如權(quán)利要求1所述的信息存儲(chǔ)器件,其中,當(dāng)再次打開所述信息存儲(chǔ)器件時(shí),所述控制器根據(jù)重新建立的加鎖狀態(tài),響應(yīng)來自信息處理設(shè)備的解鎖請(qǐng)求進(jìn)行處理,并且所述控制器對(duì)包括已經(jīng)輸出了解鎖請(qǐng)求的信息處理設(shè)備的標(biāo)識(shí)符(ID)的密鑰集進(jìn)行驗(yàn)證,假如驗(yàn)證成功則基于解鎖請(qǐng)求進(jìn)行解鎖。
6.如權(quán)利要求5所述的信息存儲(chǔ)器件,其中,所述密鑰集是由信息處理設(shè)備所擁有的ID和與該ID相關(guān)的加鎖密鑰(LK)組成的密鑰集[ID,LK],所述信息存儲(chǔ)器件具有可應(yīng)用于計(jì)算加鎖密鑰(LK)的加鎖主密鑰(LMK),加鎖密鑰(LK)是基于關(guān)系式LK=H(LMK,ID)的哈希值,該哈希值是通過應(yīng)用加鎖主密鑰(LMK)為ID計(jì)算的,并且所述控制器根據(jù)通過應(yīng)用加鎖主密鑰(LMK)計(jì)算哈希值而得到的加鎖密鑰(LK),對(duì)從信息處理設(shè)備輸入的由信息處理設(shè)備所擁有的密鑰集進(jìn)行檢驗(yàn)。
7.如權(quán)利要求6所述的信息存儲(chǔ)器件,其中,所述控制器生成一個(gè)隨機(jī)數(shù),接收來自信息處理設(shè)備的,根據(jù)由信息處理設(shè)備所擁有的加鎖密鑰(LK)對(duì)該隨機(jī)數(shù)(Rms)加密而生成的加密數(shù)據(jù)[E(LK,Rms)],并且所述控制器進(jìn)行驗(yàn)證,該驗(yàn)證包括對(duì)照根據(jù)通過計(jì)算哈希值得到的加鎖密鑰(LK)而計(jì)算的加密數(shù)據(jù)[E(LK,Rms)],對(duì)接收到的加密數(shù)據(jù)進(jìn)行檢查。
8.一種用于信息存儲(chǔ)器件的存儲(chǔ)器訪問控制方法,該信息存儲(chǔ)器件包括一個(gè)用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器和一個(gè)用于對(duì)該存儲(chǔ)器進(jìn)行訪問控制的控制器,所述方法包括一個(gè)解鎖執(zhí)行步驟,用于響應(yīng)從信息處理設(shè)備輸入的指令對(duì)所述存儲(chǔ)器進(jìn)行解鎖;一個(gè)加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)步驟,用于將所述存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中;以及一個(gè)存儲(chǔ)器訪問控制步驟,用于當(dāng)所述信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),根據(jù)存儲(chǔ)在所述存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù),重新建立所述存儲(chǔ)器的加鎖狀態(tài),并且根據(jù)重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。
9.如權(quán)利要求8所述的存儲(chǔ)器訪問控制方法,其中,加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)步驟包括將用作所述信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在用作第一存儲(chǔ)裝置的非易失存儲(chǔ)器(NVM)中的步驟,以便即使在所述信息存儲(chǔ)器件被關(guān)閉之后,仍然保持存儲(chǔ)在其中的信息。
10.如權(quán)利要求9所述的存儲(chǔ)器訪問控制方法,還包括在所述信息存儲(chǔ)器件被再次打開之后,將存儲(chǔ)在非易失存儲(chǔ)器(NVM)中的加鎖狀態(tài)信息復(fù)制并且存儲(chǔ)到所述控制器中的用作第二存儲(chǔ)裝置的存儲(chǔ)器中的步驟,其中,存儲(chǔ)器訪問控制步驟是根據(jù)復(fù)制和存儲(chǔ)的信息進(jìn)行訪問控制的步驟。
11.如權(quán)利要求8所述的存儲(chǔ)器訪問控制方法,其中,加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)步驟是將用作所述信息存儲(chǔ)器件的加鎖狀態(tài)數(shù)據(jù)的加鎖狀態(tài)信息存儲(chǔ)在所述存儲(chǔ)裝置中的步驟,加鎖狀態(tài)信息包括判斷信息,根據(jù)該判斷信息判斷,所述信息存儲(chǔ)器件被出口加鎖(EL),其中允許輸出可應(yīng)用于加鎖或解鎖的密鑰集,還是所述信息存儲(chǔ)器件被標(biāo)準(zhǔn)加鎖(SL),其中禁止輸出可應(yīng)用于加鎖或解鎖的密鑰集,并且存儲(chǔ)器訪問控制步驟是一個(gè)根據(jù)該判斷信息重新建立存儲(chǔ)器的加鎖狀態(tài)并且根據(jù)重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制的步驟。
12.如權(quán)利要求8所述的存儲(chǔ)器訪問控制方法,還包括一個(gè)解鎖請(qǐng)求相關(guān)處理步驟,用于當(dāng)所述信息存儲(chǔ)器件被再次打開時(shí),根據(jù)重新建立的加鎖狀態(tài),響應(yīng)來自信息處理設(shè)備的解鎖請(qǐng)求進(jìn)行處理,其中,解鎖請(qǐng)求相關(guān)處理步驟包括一個(gè)驗(yàn)證步驟,用于對(duì)包括已經(jīng)輸出了解鎖請(qǐng)求的信息處理設(shè)備的標(biāo)識(shí)符(ID)的密鑰集進(jìn)行驗(yàn)證;以及一個(gè)解鎖步驟,用于假如驗(yàn)證成功,則基于解鎖請(qǐng)求進(jìn)行解鎖。
13.如權(quán)利要求12所述的存儲(chǔ)器訪問控制方法,其中,所述密鑰集是由信息處理設(shè)備所擁有的ID和與該ID相關(guān)的加鎖密鑰(LK)組成的密鑰集[ID,LK],所述信息存儲(chǔ)器件具有可應(yīng)用于計(jì)算加鎖密鑰(LK)的加鎖主密鑰(LMK),該加鎖密鑰(LK)是基于關(guān)系式LK=H(LMK,ID)的哈希值,該哈希值是通過應(yīng)用加鎖主密鑰(LMK)為ID計(jì)算的,并且所述驗(yàn)證步驟包括根據(jù)通過應(yīng)用加鎖主密鑰(LMK)計(jì)算哈希值而得到的加鎖密鑰(LK),對(duì)從信息處理設(shè)備輸入的由信息處理設(shè)備所擁有的密鑰集進(jìn)行驗(yàn)證的步驟。
14.如權(quán)利要求13所述的存儲(chǔ)器訪問控制方法,還包括生成一個(gè)隨機(jī)數(shù),接收來自信息處理設(shè)備的,通過根據(jù)由信息處理設(shè)備所擁有的加鎖密鑰(LK)對(duì)該隨機(jī)數(shù)(Rms)加密而生成的加密數(shù)據(jù)[E(LK,Rms)]的步驟,其中,所述驗(yàn)證步驟包括對(duì)照根據(jù)通過計(jì)算哈希值得到的加鎖密鑰(LK)而計(jì)算的加密數(shù)據(jù)[E(LK,Rms)],對(duì)接收到的加密數(shù)據(jù)進(jìn)行檢查的步驟。
15.一種計(jì)算機(jī)程序,用于對(duì)包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器和用于對(duì)該存儲(chǔ)器進(jìn)行訪問控制的控制器的信息存儲(chǔ)器件進(jìn)行存儲(chǔ)器訪問控制,該程序包括一個(gè)解鎖執(zhí)行步驟,用于響應(yīng)從信息處理設(shè)備輸入的指令對(duì)存儲(chǔ)器進(jìn)行解鎖;一個(gè)加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)步驟,用于將所述存儲(chǔ)器被解鎖之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置中;以及一個(gè)存儲(chǔ)器訪問控制步驟,用于當(dāng)所述信息存儲(chǔ)器件被關(guān)閉然后被打開時(shí),根據(jù)存儲(chǔ)在所述存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù),重新建立存儲(chǔ)器的加鎖狀態(tài),并且根據(jù)重新建立的加鎖狀態(tài)進(jìn)行存儲(chǔ)器訪問控制。
全文摘要
提供了一種器件和一種方法,其中在執(zhí)行作為存儲(chǔ)器鎖釋放處理的解鎖處理之前,保持加鎖狀態(tài)并在再次打開電源之后重新建立加鎖狀態(tài)。響應(yīng)通過信息處理單元輸入的指令,作為存儲(chǔ)器鎖釋放處理對(duì)信息存儲(chǔ)器件如存儲(chǔ)器卡進(jìn)行解鎖處理,并且將解鎖處理之前的加鎖狀態(tài)數(shù)據(jù)存儲(chǔ)在非易失存儲(chǔ)器(NVM)中。當(dāng)被關(guān)閉的信息存儲(chǔ)器件被再次打開時(shí),基于存儲(chǔ)在存儲(chǔ)裝置中的加鎖狀態(tài)數(shù)據(jù)重新建立存儲(chǔ)器的加鎖狀態(tài)并且基于重新建立的加鎖狀態(tài)執(zhí)行存儲(chǔ)器訪問控制。
文檔編號(hào)G06K17/00GK1556954SQ0380108
公開日2004年12月22日 申請(qǐng)日期2003年6月19日 優(yōu)先權(quán)日2002年6月25日
發(fā)明者岡上拓已, 中西健一, 田代淳, 大久保英明, 一, 英明 申請(qǐng)人:索尼株式會(huì)社