專利名稱:信息存儲設(shè)備、存儲器存取控制方法和計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息存儲設(shè)備(device)、存儲器存取(access)控制方法和計(jì)算機(jī)程序。更具體地,本發(fā)明涉及一種諸如存儲卡(memory card)的信息存儲設(shè)備、存儲器存取控制方法和計(jì)算機(jī)程序,上述信息存儲設(shè)備通過基于從中讀取存儲在信息存儲設(shè)備中的數(shù)據(jù)的數(shù)據(jù)區(qū)(data region)來鎖定信息存儲設(shè)備的存儲器,從而實(shí)現(xiàn)存取控制。
背景技術(shù):
各種信息處理裝置,諸如PC(個(gè)人計(jì)算機(jī))、PDA(個(gè)人數(shù)字助理)、數(shù)碼相機(jī)、數(shù)據(jù)讀取器/寫入器和游戲機(jī),使用諸如硬盤、DVD、CD和存儲卡的各種存儲介質(zhì)來讀取和寫入數(shù)據(jù)。
現(xiàn)在,小的卡型(card type)存儲器設(shè)備被廣泛用作存儲諸如音樂數(shù)據(jù)、圖像數(shù)據(jù)和程序的各種軟件數(shù)據(jù)(內(nèi)容)的存儲工具,上述卡型存儲器設(shè)備的每一個(gè)都包含諸如閃存等的存儲器和諸如CPU等的控制器。
通過將該卡放置在具有存儲卡接口的單元中,并經(jīng)該接口傳送數(shù)據(jù),從而完成對存貯在存儲卡等上的數(shù)據(jù)的讀取或?qū)?shù)據(jù)寫入到這樣一個(gè)存儲卡中。任何人都可以未經(jīng)許可完成使用存儲器設(shè)備進(jìn)行的數(shù)據(jù)讀取和寫入。或者,通過例如設(shè)置密碼或執(zhí)行加密,以便只允許特定用戶或特定單元來存取存儲器,而沒有獲得許可的第三方用戶不能存取該存儲器,來實(shí)現(xiàn)所謂的存取控制機(jī)制。
例如,生成僅為具有存取許可的用戶所知的密碼。將該密碼從用作信息讀取器的內(nèi)容使用單元傳送到諸如存儲卡的內(nèi)容存儲單元。存儲卡的控制器(CPU等)驗(yàn)證該密碼,并且,僅當(dāng)驗(yàn)證(verification)成功時(shí),才將內(nèi)容從諸如存儲卡的內(nèi)容存儲單元輸出到用作信息讀取器的內(nèi)容使用單元?;蛘?,在用作信息讀取器的內(nèi)容使用單元和諸如存儲卡的內(nèi)容存儲單元之間進(jìn)行相互認(rèn)證(authentication)。僅當(dāng)相互認(rèn)證成功時(shí),才將內(nèi)容從諸如存儲卡的內(nèi)容存儲單元輸出到用作信息讀取器的內(nèi)容使用單元。
發(fā)明內(nèi)容
存在各種體系結(jié)構(gòu),它們僅在進(jìn)行數(shù)據(jù)(內(nèi)容)使用許可的驗(yàn)證之后,才允許數(shù)據(jù)存取。
可以將諸如存儲卡的數(shù)據(jù)存儲設(shè)備放置在包含PC、PDA和數(shù)碼相機(jī)的各種單元中。在很多情況下,這些單元共享一個(gè)存儲卡。在這樣一個(gè)數(shù)據(jù)使用體系結(jié)構(gòu)中,當(dāng)每次將存儲卡放置在這些單元之一中時(shí),都要求進(jìn)行上述密碼驗(yàn)證或認(rèn)證時(shí),直到預(yù)備讀取或?qū)懭霐?shù)據(jù)時(shí)就很費(fèi)時(shí)。這樣就降低了處理效率。
考慮到上述問題,本發(fā)明的一個(gè)目的是提供一種諸如存儲卡的信息存儲設(shè)備、存儲器存取控制方法和計(jì)算機(jī)程序,上述信息存儲設(shè)備通過基于從中讀取存儲在信息存儲設(shè)備中的數(shù)據(jù)的數(shù)據(jù)區(qū)來鎖定信息存儲設(shè)備的存儲器,從而實(shí)現(xiàn)存取控制。
根據(jù)本發(fā)明的第一方面,提供了一種信息存儲設(shè)備,其包含用于存儲數(shù)據(jù)的存儲器和用于執(zhí)行對存儲器的存取控制的控制器。
控制器對響應(yīng)于來自被連接到信息存儲設(shè)備的主機(jī)設(shè)備的請求而從存儲器讀取數(shù)據(jù)進(jìn)行控制。
控制器確定包含從存儲器讀取的數(shù)據(jù)的數(shù)據(jù)區(qū)是否是預(yù)定的鎖定相關(guān)(locking-associated)數(shù)據(jù)區(qū),并且假若確定讀取該鎖定相關(guān)數(shù)據(jù)區(qū),就鎖定該存儲器。
在本發(fā)明的信息存儲設(shè)備的一個(gè)模式下,控制器基于用作存儲在存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號,執(zhí)行數(shù)據(jù)區(qū)的確定。控制器將與預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)相關(guān)的簇的邏輯號和正被讀取的簇的邏輯號進(jìn)行核對。
在本發(fā)明的信息存儲設(shè)備的一個(gè)模式下,控制器基于用作存儲在存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號,執(zhí)行數(shù)據(jù)區(qū)的確定,并且假若確定與多個(gè)連續(xù)的簇邏輯號相關(guān)的數(shù)據(jù)區(qū)被讀取,鎖定該存儲器。
在本發(fā)明的信息存儲設(shè)備的一個(gè)模式下,信息存儲設(shè)備具有用作信息存儲設(shè)備的鎖定狀態(tài)數(shù)據(jù)的鎖定狀態(tài)信息??刂破魍ㄟ^更新鎖定狀態(tài)信息,來執(zhí)行鎖定。
在本發(fā)明的信息存儲設(shè)備的一個(gè)模式下,將鎖定狀態(tài)信息存儲于非易失存儲器(NVM),該存儲器即使在關(guān)閉電源之后,也可以保持存儲在其中的信息。在再次打開信息存儲設(shè)備之后,控制器基于該鎖定狀態(tài)信息,對存儲器執(zhí)行存取控制。
在本發(fā)明的信息存儲設(shè)備的一個(gè)模式下,假若檢測到開始讀取鎖定相關(guān)數(shù)據(jù)區(qū)、結(jié)束讀取鎖定相關(guān)數(shù)據(jù)區(qū)和結(jié)束讀取包含鎖定相關(guān)數(shù)據(jù)區(qū)的整個(gè)內(nèi)容中的任一個(gè),就執(zhí)行鎖定。
根據(jù)本發(fā)明的第二方面,提供了用于信息存儲設(shè)備的存儲器存取控制方法,該信息存儲設(shè)備包含用于存儲數(shù)據(jù)的存儲器和用于對存儲器執(zhí)行存取控制的控制器。該方法包含響應(yīng)于來自被連接到信息存儲設(shè)備的主機(jī)設(shè)備的請求,從存儲器讀取數(shù)據(jù)的步驟;確定包含從存儲器讀取的數(shù)據(jù)的數(shù)據(jù)區(qū)是否是預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)的確定步驟;和假若確定鎖定相關(guān)數(shù)據(jù)區(qū)被讀取,就鎖定存儲器的鎖定步驟。
在本發(fā)明的存儲器存取控制方法的一個(gè)模式下,確定步驟是基于用作存儲在存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號來執(zhí)行數(shù)據(jù)區(qū)的確定的步驟。確定步驟包含將與預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)相關(guān)的簇的邏輯號和正被讀取的簇的邏輯號進(jìn)行核對。
在本發(fā)明的存儲器存取控制方法的一個(gè)模式下,確定步驟基于用作存儲在存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號,來執(zhí)行數(shù)據(jù)區(qū)的確定。假若確定與多個(gè)連續(xù)的簇邏輯號相關(guān)的數(shù)據(jù)區(qū)被讀取,鎖定步驟就鎖定存儲器。
在本發(fā)明的存儲器存取控制方法的一個(gè)模式下,鎖定步驟包含更新用作信息存儲設(shè)備的鎖定狀態(tài)數(shù)據(jù)的鎖定狀態(tài)信息的步驟。
在本發(fā)明的存儲器存取控制方法的一個(gè)模式下,存儲器存取控制方法還包含將鎖定狀態(tài)信息存儲于非易失存儲器(NVM)的步驟,該存儲器即使在關(guān)閉電源之后,也可以保持存儲在其中的信息。鎖定步驟包含步驟,其在再次打開信息存儲設(shè)備之后,基于該鎖定狀態(tài)信息對存儲器執(zhí)行存取控制。
在本發(fā)明的存儲器存取控制方法的一個(gè)模式下,假若檢測到開始讀取鎖定相關(guān)數(shù)據(jù)區(qū)、結(jié)束讀取鎖定相關(guān)數(shù)據(jù)區(qū)和結(jié)束讀取包含鎖定相關(guān)數(shù)據(jù)區(qū)的整個(gè)內(nèi)容中的任一個(gè),就執(zhí)行鎖定步驟。
根據(jù)本發(fā)明的第三方面,提供了一種用于對信息存儲設(shè)備執(zhí)行存儲器存取控制的計(jì)算機(jī)程序,該信息存儲設(shè)備包含用于存儲數(shù)據(jù)的存儲器和用于對存儲器執(zhí)行存取控制的控制器。該程序包含響應(yīng)于來自被連接到信息存儲設(shè)備的主機(jī)設(shè)備的請求,從存儲器讀取數(shù)據(jù)的步驟;確定包含從存儲器讀取的數(shù)據(jù)的數(shù)據(jù)區(qū)是否是預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)的確定步驟;和假若確定鎖定相關(guān)數(shù)據(jù)區(qū)被讀取,就鎖定存儲器的鎖定步驟。
根據(jù)本發(fā)明的結(jié)構(gòu),當(dāng)響應(yīng)于來自被連接到信息存儲設(shè)備的主機(jī)設(shè)備的請求而從存儲器讀取數(shù)據(jù)時(shí),諸如存儲卡的信息存儲設(shè)備確定從中讀取數(shù)據(jù)的數(shù)據(jù)區(qū)是否是鎖定相關(guān)數(shù)據(jù)區(qū)。假若確定鎖定相關(guān)數(shù)據(jù)區(qū)被讀取,就鎖定存儲器。這防止了從諸如存儲卡的信息存儲設(shè)備中多次讀取數(shù)據(jù),從而實(shí)現(xiàn)了所謂的一次讀取存取控制(read-once access control)。
根據(jù)本發(fā)明的結(jié)構(gòu),基于用作存儲在存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號來確定從中讀取數(shù)據(jù)的數(shù)據(jù)區(qū)。假若確定與單個(gè)或多個(gè)連續(xù)的簇邏輯號相關(guān)的數(shù)據(jù)區(qū)的讀取被執(zhí)行,就鎖定存儲器。因此,實(shí)現(xiàn)了一次讀取存取控制,其中任意設(shè)置各種數(shù)據(jù)區(qū),諸如音樂數(shù)據(jù)的介紹。
根據(jù)本發(fā)明的結(jié)構(gòu),將鎖定狀態(tài)信息存儲于非易失存儲器(NVM),該存儲器即使在關(guān)閉電源之后,也可以保持存儲在其中的信息。在再次打開信息存儲設(shè)備時(shí),基于該鎖定狀態(tài)信息對存儲器執(zhí)行存取控制。
本發(fā)明的計(jì)算機(jī)程序是可以提供在諸如CD、FD、或MO的存儲介質(zhì)上的或諸如網(wǎng)絡(luò)的通信介質(zhì)上的計(jì)算機(jī)程序,用于以計(jì)算機(jī)可讀形式給可以執(zhí)行各種程序代碼的通用計(jì)算機(jī)系統(tǒng)提供計(jì)算機(jī)程序。通過提供計(jì)算機(jī)可讀形式的這樣一種程序,來在計(jì)算機(jī)系統(tǒng)中執(zhí)行與該程序相一致的過程。
通過下面結(jié)合附圖對本發(fā)明的實(shí)施例的詳細(xì)描述,本發(fā)明的其他目的、特點(diǎn)和優(yōu)點(diǎn)將會(huì)變得更加清楚。本說明書中的詞語“系統(tǒng)”指的是多個(gè)設(shè)備的邏輯組合,這些設(shè)備不必包含在單個(gè)機(jī)殼中。
圖1是描述本發(fā)明的信息存儲設(shè)備的使用的示意圖;圖2是示出了使用信息存儲設(shè)備的主機(jī)設(shè)備的硬件配置示例的圖;圖3是示出了信息存儲設(shè)備的硬件配置示例的圖;圖4是描述存儲在本發(fā)明的信息存儲設(shè)備中的數(shù)據(jù)和存儲在主機(jī)設(shè)備中的數(shù)據(jù)的示意圖;圖5是描述鎖定信息存儲設(shè)備的過程中在信息存儲設(shè)備和主機(jī)設(shè)備之間進(jìn)行的通信過程的時(shí)序的示意圖;圖6是描述鎖定信息存儲設(shè)備的過程的流程圖;圖7是描述解鎖信息存儲設(shè)備的過程中在信息存儲設(shè)備和主機(jī)設(shè)備之間進(jìn)行的通信過程的時(shí)序的示意圖;圖8是描述解鎖信息存儲設(shè)備的過程的流程圖;圖9是描述存儲在本發(fā)明的信息存儲設(shè)備中的數(shù)據(jù)和存儲在主機(jī)設(shè)備中的數(shù)據(jù)的示意圖;圖10是描述鎖定本發(fā)明的信息存儲設(shè)備的模式的示意圖;圖11是描述通過使用輔密鑰組(a sub key set)來鎖定信息存儲設(shè)備的過程中在信息存儲設(shè)備和主機(jī)設(shè)備之間進(jìn)行的通信過程的時(shí)序的示意圖;圖12是描述通過使用輔密鑰組來鎖定信息存儲設(shè)備的過程的流程圖;圖13是描述通過使用輔密鑰組來印記(imprint)和解鎖信息存儲設(shè)備的過程中在信息存儲設(shè)備和主機(jī)設(shè)備之間進(jìn)行的通信過程的時(shí)序的示意圖;圖14是描述通過使用輔密鑰組來印記和解鎖信息存儲設(shè)備的過程的流程圖;圖15是描述通過使用輔密鑰組來印記和解鎖信息存儲設(shè)備的過程的流程圖;圖16是描述通過使用輔密鑰組來執(zhí)行印記和解鎖信息存儲設(shè)備的過程中在信息存儲設(shè)備和主機(jī)設(shè)備之間進(jìn)行的通信過程的時(shí)序的示意圖;圖17是描述在通過使用輔密鑰組來執(zhí)行印記和解鎖信息存儲設(shè)備的過程中更新鎖定狀態(tài)標(biāo)志的過程的流程圖;圖18是描述在解鎖信息存儲設(shè)備的過程中參考(refer to)鎖定狀態(tài)標(biāo)志的過程的流程圖;圖19是描述用作信息存儲設(shè)備的數(shù)據(jù)存儲格式的簇結(jié)構(gòu)的示意圖;圖20是描述基于特定數(shù)據(jù)區(qū)(簇)的讀取的鎖定過程的流程圖;圖21是描述用于鎖定/解鎖信息存儲設(shè)備的鎖定/解鎖單元的結(jié)構(gòu)的示意圖;圖22是描述由主機(jī)設(shè)備讀取鎖定狀態(tài)的過程的流程圖;圖23是描述當(dāng)鎖定信息存儲設(shè)備時(shí)由主機(jī)設(shè)備所執(zhí)行的過程和指示器(indicator)顯示過程的流程圖;圖24是描述當(dāng)解鎖信息存儲設(shè)備時(shí)由主機(jī)設(shè)備所執(zhí)行的過程和指示器顯示過程的流程圖。
具體實(shí)施例方式
參照附圖來詳細(xì)描述根據(jù)本發(fā)明的實(shí)施例的信息存儲設(shè)備和存儲器存取控制過程。
參照圖1,將描述應(yīng)用本發(fā)明的信息存儲設(shè)備的數(shù)據(jù)的使用。信息處理裝置20包含,例如,PC(個(gè)人計(jì)算機(jī))21、PDA(個(gè)人數(shù)字助理)22、移動(dòng)通信終端23、數(shù)碼相機(jī)24等??梢詫⑿畔⒋鎯υO(shè)備30置于這些信息處理裝置20中,并且信息處理裝置20可以通過信息處理設(shè)備30輸出信息。
例如,具有諸如閃存的非易失存儲器(NVM)的存儲卡30,被置于信息處理裝置20的每一個(gè)中。信息處理裝置20的每一個(gè)在存儲卡30上存儲數(shù)據(jù),或讀取存儲在存儲卡上的數(shù)據(jù)。
有一種情況,其中PC(個(gè)人計(jì)算機(jī))21和22、PDA(個(gè)人數(shù)字助理)23、移動(dòng)通信終端24和數(shù)碼相機(jī)25共享一個(gè)存儲卡30。例如,由數(shù)碼相機(jī)25捕獲的圖像數(shù)據(jù)被存儲在存儲卡30上,并且,隨后,將存儲卡30置于PC21中以顯示所存儲的圖像數(shù)據(jù)或者處理該圖像?;蛘?,PC21經(jīng)諸如Internet的網(wǎng)絡(luò)或經(jīng)CD或DVD獲得諸如音樂數(shù)據(jù)的內(nèi)容,并將該內(nèi)容存儲在存儲卡30上,并且,隨后,具有存儲于其上的內(nèi)容的存儲卡30被置于PDA22中,從而允許使用PDA23來讀取在遠(yuǎn)處站點(diǎn)的內(nèi)容。
圖2示出了其中能夠置入諸如存儲卡的信息存儲設(shè)備的信息處理裝置的配置示例。CPU(中央處理單元)101是執(zhí)行各種應(yīng)用程序和OS(操作系統(tǒng))的處理器。CPU101控制鎖定和解鎖信息存儲設(shè)備過程中的散列值計(jì)算、包含隨機(jī)數(shù)生成的各種類型的加密以及命令發(fā)送和接收,上述鎖定和解鎖用作下面詳細(xì)描述的對信息存儲設(shè)備的存取控制。
ROM(只讀存儲器)102存儲由CPU101執(zhí)行的程序的固定數(shù)據(jù)和計(jì)算參數(shù)。ROM102存儲用于鎖定和解鎖信息存儲設(shè)備的程序,其用作下面詳細(xì)描述的對信息存儲設(shè)備的存取控制。RAM(隨機(jī)存取存儲器)103存儲應(yīng)用于由CPU101執(zhí)行的程序的信息和隨著程序的執(zhí)行而適當(dāng)變化的參數(shù)。
當(dāng)讀取經(jīng)存儲設(shè)備I/F113從諸如存儲卡的信息存儲設(shè)備200中輸入的內(nèi)容時(shí),DSP(數(shù)字信號處理器)104執(zhí)行加密、均衡器調(diào)整(根據(jù)音頻信號的頻段而進(jìn)行的增益調(diào)整)、壓縮/解壓縮(編碼/解碼)等。
通過數(shù)字/模擬轉(zhuǎn)換器電路105將解密、解壓縮的內(nèi)容轉(zhuǎn)換成模擬音頻信號,并且該模擬音頻信號由放大器電路106放大,并從音頻輸出單元107輸出。圖像數(shù)據(jù)經(jīng)顯示控制器108由諸如LCD的顯示單元109輸出。數(shù)字信號或模擬信號經(jīng)輸入I/F112從外部源輸入。當(dāng)輸入模擬信號時(shí),對該模擬信號進(jìn)行A/D轉(zhuǎn)換。通過A/D轉(zhuǎn)換,該輸入信號被轉(zhuǎn)換成數(shù)字信號。由SRC(抽樣速率轉(zhuǎn)換器)將從外部源輸入的數(shù)字信號轉(zhuǎn)換成具有預(yù)定抽樣頻率和預(yù)定量化比特?cái)?shù)的數(shù)字信號,并輸入該轉(zhuǎn)換后的信號。
輸入/輸出I/F115是與外部單元相連的接口。例如,輸入/輸出I/F115使用與其相連的單元,例如USB或IEEE1394連接,來執(zhí)行數(shù)據(jù)傳送。
參照圖3,將描述信息存儲設(shè)備200的配置示例,諸如具有諸如閃存的非易失存儲器(NVM)的存儲卡。閃存是被稱為EEPROM(電可擦可編程ROM)的電可重寫非易失存儲器的一種類型。由于已知的EEPROM具有由兩個(gè)晶體管組成的每個(gè)比特,所以每比特占用的面積大。存在對提高每芯片元件數(shù)的限制。另一方面,通過使用所有比特刪除方案,閃存包含由一個(gè)晶體管構(gòu)成的每個(gè)比特。
將具有這樣一個(gè)閃存的信息存儲設(shè)備200置于諸如PC、PDA或數(shù)碼相機(jī)的信息處理裝置中。將從該信息處理裝置輸入的數(shù)據(jù)存儲在存儲器220上,并且存儲在存儲器220上的數(shù)據(jù)被輸出到信息處理裝置。
信息存儲設(shè)備200還包含控制器210??刂破?10包含用作執(zhí)行各種程序的處理器的CPU(中央處理單元)211,存儲由CPU211執(zhí)行的程序的固定數(shù)據(jù)和計(jì)算參數(shù)的ROM(只讀存儲器)212,和存儲應(yīng)用于由CPU211執(zhí)行的程序的信息和隨著程序的執(zhí)行而適當(dāng)變化的參數(shù)的RAM(隨機(jī)存取存儲器)213。
也將RAM(隨機(jī)存取存儲器)213用作存儲指示信息存儲設(shè)備的鎖定狀態(tài)的狀態(tài)值數(shù)據(jù)的區(qū)域,該狀態(tài)值數(shù)據(jù)由于信息存儲設(shè)備的鎖定和解鎖而發(fā)生變化,上述鎖定和解鎖用作下面詳細(xì)描述的對信息存儲設(shè)備的存取控制。
控制器210還包含用作與信息處理裝置之間的數(shù)據(jù)輸入/輸出接口的單元接口214和用作與存儲器220之間的數(shù)據(jù)輸入/輸出接口的存儲器接口216。
CPU211控制在信息存儲設(shè)備和信息處理裝置之間進(jìn)行的鎖定和解鎖過程中的散列值計(jì)算、包含隨機(jī)數(shù)生成的各種類型的加密以及命令發(fā)送和接收,上述鎖定和解鎖用作下面詳細(xì)描述的對信息存儲設(shè)備的存取控制。
現(xiàn)在,描述通過使用鎖定主密鑰(LMK)而進(jìn)行的信息存儲設(shè)備的鎖定和解鎖,以用作對信息存儲設(shè)備進(jìn)行存取控制過程的一個(gè)示例。參照圖4,將概要地描述該過程的一個(gè)示例,即,通過應(yīng)用鎖定主密鑰(LMK)而執(zhí)行的過程。
鎖定是為了對諸如閃存的存儲器(圖3中的存儲器220)的存取控制進(jìn)行證實(shí),該存儲器是用于存儲諸如存儲卡的信息存儲設(shè)備320的諸如內(nèi)容的數(shù)據(jù)的區(qū)域。解鎖是為了清除存取控制。鎖定和解鎖是由主機(jī)設(shè)備310執(zhí)行的。
如已經(jīng)參照圖1和2所述,主機(jī)設(shè)備310包含信息處理裝置,諸如PC、PDA、數(shù)碼相機(jī)、和DSC(靜態(tài)數(shù)碼相機(jī)),每一個(gè)都有用于與諸如存儲卡的信息存儲設(shè)備320進(jìn)行數(shù)據(jù)傳送的接口,并且每一個(gè)都將數(shù)據(jù)寫入到信息存儲設(shè)備320中,或者讀取并使用來自信息存儲設(shè)備320的數(shù)據(jù)。主機(jī)設(shè)備310還包含鎖定/解鎖單元312,其用作專用于鎖定/解鎖諸如存儲卡的信息存儲設(shè)備320的單元。
鎖定/解鎖單元312包含用作控制裝置的CPU,用于執(zhí)行鎖定和解鎖算法;用作數(shù)據(jù)存儲存儲器的ROM和RAM以及接口,在該接口中放置了諸如存儲卡的信息存儲設(shè)備320,并通過該接口進(jìn)行數(shù)據(jù)傳送。鎖定/解鎖單元312是專用于鎖定和解鎖信息存儲設(shè)備320的單元。
在下文中,鎖定和解鎖信息存儲設(shè)備320的單元,即,包含PC、PDA、其他信息處理裝置和鎖定/解鎖單元312的單元,被稱為主機(jī)設(shè)備。
主機(jī)設(shè)備中的存儲器315,諸如ROM,存儲用作對每個(gè)主機(jī)設(shè)備唯一的標(biāo)識符的ID(例如16字節(jié)數(shù)據(jù))和用作用于鎖定和解鎖信息存儲設(shè)備320的密鑰數(shù)據(jù)的鎖定密鑰(LK)(例如8字節(jié)數(shù)據(jù))。對每個(gè)主機(jī)設(shè)備唯一的標(biāo)識符(ID)和鎖定密鑰(LK)的一個(gè)組合[ID,LK]被稱為密鑰組,其被包含在主機(jī)設(shè)備中。
同時(shí),諸如存儲卡的信息存儲設(shè)備320中的控制器中的存儲器325,諸如ROM,存儲鎖定主密鑰(LMK)。例如,在制造每個(gè)單元時(shí),將這些信息寫入到每個(gè)單元中,并且不能由用戶重寫。
存儲在信息存儲設(shè)備320中的鎖定主密鑰(LMK)以及存儲在主機(jī)設(shè)備中的ID和鎖定密鑰(LK)有下列關(guān)系
LK=H(LMK,ID)H(X,Y)表示通過使用密鑰X來計(jì)算消息Y的散列值。換言之,通過使用鎖定主密鑰(LMK)來計(jì)算ID的散列值,從而計(jì)算與ID相關(guān)的鎖定密鑰(LK)。
散列函數(shù)是單向函數(shù),并且很難進(jìn)行逆向運(yùn)算。也就是說,給出輸出,很難計(jì)算輸入。在上述等式中,通過將鎖定主密鑰(LMK)用作一個(gè)密鑰,將單向函數(shù)應(yīng)用于對每個(gè)主機(jī)設(shè)備唯一的ID,從而計(jì)算輸出,這就是與對每個(gè)主機(jī)設(shè)備唯一的ID相關(guān)的鎖定密鑰(LK)??梢詰?yīng)用諸如MD5或SHA等散列算法。
(鎖定)現(xiàn)在描述通過使用上述鎖定主密鑰(LMK)而進(jìn)行的鎖定,即,對信息存儲設(shè)備的存取控制進(jìn)行證實(shí)。
圖5示出了鎖定過程中在主機(jī)設(shè)備和信息存儲設(shè)備之間進(jìn)行的過程時(shí)序。主機(jī)設(shè)備和信息存儲設(shè)備互連,從而彼此之間傳送數(shù)據(jù)。主機(jī)設(shè)備向信息存儲設(shè)備輸出隨機(jī)數(shù)生成命令。當(dāng)收到隨機(jī)數(shù)生成命令時(shí),信息存儲設(shè)備生成具有預(yù)定長度,例如16字節(jié)的隨機(jī)數(shù)(Rms),并將所生成的隨機(jī)數(shù)傳送給主機(jī)設(shè)備。信息存儲設(shè)備將所生成的隨機(jī)數(shù)(Rms)存儲在信息存儲設(shè)備控制器中的存儲器,諸如RAM中。
當(dāng)從信息存儲設(shè)備接收到隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備通過將在主機(jī)設(shè)備的存儲器中存儲的鎖定密鑰(LK)用作加密密鑰,來執(zhí)行所接收的隨機(jī)數(shù)(Rms)的加密E(LK,Rms),其中E(X,Y)表示通過使用密鑰[X]來進(jìn)行消息[Y]的加密。各種算法可以用作加密算法。例如,使用DES加密算法。
主機(jī)設(shè)備通過將鎖定密鑰(LK)用作加密密鑰來執(zhí)行所接收的隨機(jī)數(shù)(Rms)的加密E(LK,Rms),并將結(jié)果數(shù)據(jù)[E(LK,Rms)]、對主機(jī)設(shè)備唯一的標(biāo)識符(ID)和鎖定命令傳送給信息存儲設(shè)備,其中標(biāo)識符(ID)由主機(jī)設(shè)備預(yù)先存儲在主機(jī)設(shè)備的存儲器中。
當(dāng)接收到包含ID和E(LK,Rms)的數(shù)據(jù)時(shí),信息存儲設(shè)備通過使用存儲在信息存儲設(shè)備的存儲器中的鎖定主密鑰(LMK),來計(jì)算所接收的ID的散列值,從而計(jì)算與所接收的ID相關(guān)的鎖定密鑰(LK)。也就是說,信息存儲設(shè)備計(jì)算與所接收的ID相關(guān)的鎖定密鑰(LK)
LK=H(LMK,ID)所接收的ID被存儲在信息存儲設(shè)備的存儲器中。所接收的ID被用于解鎖,其將隨后描述。
信息存儲設(shè)備通過使用由上述散列值計(jì)算所計(jì)算出的鎖定密鑰(LK),來執(zhí)行隨機(jī)數(shù)Rms的加密E(LK,Rms),該隨機(jī)數(shù)Rms被存儲在信息存儲設(shè)備的存儲器中,并且檢查該加密數(shù)據(jù)是否等于從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LK,Rms)。各種算法都可以應(yīng)用,只要它們與主機(jī)設(shè)備所使用的算法相同。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LK,Rms)等于信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LK,Rms)時(shí),就驗(yàn)證了命令是來自于具有有效的ID和LK的組數(shù)據(jù)的主機(jī)設(shè)備的鎖定請求。鎖定被執(zhí)行,并且將鎖定完成通知傳送到主機(jī)設(shè)備。信息存儲設(shè)備在包含諸如閃存的非易失存儲器(NVM)的存儲器220中,存儲已執(zhí)行了鎖定的主機(jī)設(shè)備的密鑰組[ID,LK]。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LK,Rms)不等于信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LK,Rms)時(shí),就確定該主機(jī)設(shè)備不是具有有效的ID和LK的組數(shù)據(jù)的主機(jī)設(shè)備,并且該命令是來自于未認(rèn)證單元的鎖定請求。不執(zhí)行鎖定,并且將錯(cuò)誤通知傳送給主機(jī)設(shè)備。
假若執(zhí)行了隨后描述的解鎖,由信息存儲設(shè)備執(zhí)行的鎖定允許對包含閃存的存儲器(圖3中的存儲器220)的存取,該存儲器是用于存儲諸如內(nèi)容的數(shù)據(jù)的區(qū)域。
參照圖6,現(xiàn)在將描述鎖定過程的步驟。在步驟S101中,響應(yīng)于來自主機(jī)設(shè)備的隨機(jī)數(shù)生成請求命令的接收,用作信息存儲設(shè)備的存儲卡生成隨機(jī)數(shù)(Rms)。在步驟S102中,所生成的隨機(jī)數(shù)由主機(jī)設(shè)備讀取。在步驟103中,主機(jī)設(shè)備將包含鎖定命令、主機(jī)設(shè)備的ID和通過使用主機(jī)設(shè)備的鎖定密鑰(LK)來加密隨機(jī)數(shù)(Rms)而生成的加密數(shù)據(jù)E(LK,Rms)發(fā)送給用作信息存儲設(shè)備的存儲卡。
在步驟S104中,存儲卡將接收的ID和加密數(shù)據(jù)E(LK,Rms)寫入到信息存儲設(shè)備中的存儲器中。在步驟S105中,存儲卡通過使用在存儲卡的存儲器中存儲的鎖定主密鑰(LMK),來計(jì)算所接收的ID的散列值,也就是說,計(jì)算與所接收的ID相關(guān)的鎖定密鑰(LK)H(LMK,ID)=LK基于所計(jì)算的鎖定密鑰(LK),存儲卡加密在步驟S101中預(yù)先生成的隨機(jī)數(shù)(Rms),并且計(jì)算用作校驗(yàn)數(shù)據(jù)的加密數(shù)據(jù)E(LK,Rms)。
在步驟S106中,存儲卡對在步驟S105中計(jì)算的加密數(shù)據(jù)E(LK,Rms)和在步驟S103中除了鎖定命令之外從主機(jī)設(shè)備接收的并在步驟S104中存儲在存儲器中的加密數(shù)據(jù)E(LK,Rms)進(jìn)行比較和檢查(E(LK,Rms)=E(LK,Rms)?),以查看兩個(gè)數(shù)據(jù)是否相同。
當(dāng)通過比較和檢查確定這兩個(gè)值相同時(shí),就驗(yàn)證了主機(jī)設(shè)備為具有有效正確的ID和鎖定密鑰(LK)的組數(shù)據(jù)的有效單元。在步驟S107中,響應(yīng)于鎖定命令來執(zhí)行鎖定,從而若是隨后描述的解鎖成功,就允許對存儲器的存取。信息存儲設(shè)備在包含諸如閃存的非易失存儲器(NVM)的存儲器220中,存儲已執(zhí)行了鎖定的主機(jī)設(shè)備的密鑰組[ID,LK]。
當(dāng)在步驟S106中通過比較和檢查確定這兩個(gè)值不相等時(shí),在步驟S108中,將已發(fā)送了鎖定命令的主機(jī)設(shè)備確定為沒有正確的ID和鎖定密鑰(LK)的組數(shù)據(jù)的未認(rèn)證單元。不執(zhí)行鎖定,并將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備。
(解鎖)現(xiàn)在將描述解鎖或釋放如上所述通過使用鎖定主密鑰(LMK)來進(jìn)行鎖定而設(shè)置的鎖定,即,清除對信息存儲設(shè)備的存取控制。
圖7示出了解鎖過程中在主機(jī)設(shè)備和信息存儲設(shè)備之間執(zhí)行的過程時(shí)序。主機(jī)設(shè)備和信息存儲設(shè)備互連,從而彼此之間傳送數(shù)據(jù)。主機(jī)設(shè)備向信息存儲設(shè)備輸出隨機(jī)數(shù)生成命令。當(dāng)收到隨機(jī)數(shù)生成命令時(shí),信息存儲設(shè)備生成具有預(yù)定長度例如16字節(jié)的隨機(jī)數(shù)(Rms),并將所生成的隨機(jī)數(shù)(Rms)和主機(jī)設(shè)備的ID傳送給主機(jī)設(shè)備,該ID已經(jīng)在先前的鎖定過程中存儲在存儲器中,即,已執(zhí)行鎖定的主機(jī)設(shè)備的ID。信息存儲設(shè)備在信息存儲設(shè)備的控制器中的存儲器,諸如RAM中,存儲所生成的隨機(jī)數(shù)(Rms)。
當(dāng)從信息存儲設(shè)備接收到ID和隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備核對所接收的ID和主機(jī)設(shè)備的ID,以查看這兩個(gè)ID是否相同。當(dāng)這兩個(gè)ID不相同時(shí),該鎖定是由另一主機(jī)設(shè)備設(shè)置的,并且不能被釋放。
當(dāng)這接收的ID與主機(jī)設(shè)備的ID相同時(shí),該鎖定由該主機(jī)設(shè)備設(shè)置,并且可以被釋放或被解鎖。在此情況下,主機(jī)設(shè)備通過將在主機(jī)設(shè)備中的存儲器中存儲的鎖定密鑰(LK)用作加密密鑰來執(zhí)行對接收的隨機(jī)數(shù)(Rms)的加密,并將所得數(shù)據(jù)以及解鎖命令發(fā)送給信息存儲設(shè)備。
當(dāng)接收到加密數(shù)據(jù)E(LK,Rms)時(shí),信息存儲設(shè)備讀取在信息存儲設(shè)備的存儲器中存儲的主機(jī)設(shè)備ID,即,已執(zhí)行鎖定的主機(jī)設(shè)備的ID,并通過使用鎖定主密鑰(LMK)來計(jì)算所讀取的ID的散列值,從而計(jì)算與已執(zhí)行鎖定的主機(jī)設(shè)備的ID相關(guān)的鎖定密鑰(LK)。也就是說,信息存儲設(shè)備計(jì)算與已執(zhí)行鎖定的主機(jī)設(shè)備的ID相關(guān)的鎖定密鑰(LK)LK=H(LMK,ID)信息存儲設(shè)備通過使用由上述散列值計(jì)算計(jì)算出的鎖定密鑰(LK),來執(zhí)行對存儲在信息存儲設(shè)備的存儲器中的隨機(jī)數(shù)Rms的加密E(LK,Rms),并核對該加密數(shù)據(jù)和從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LK,Rms),以查看這兩個(gè)數(shù)據(jù)是否相同。
當(dāng)從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LK,Rms)等于由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LK,Rms)時(shí),就驗(yàn)證了該解鎖命令是來自具有有效的ID和LK的組數(shù)據(jù)的主機(jī)設(shè)備的解鎖請求。執(zhí)行解鎖,并將解鎖完成通知發(fā)送給主機(jī)設(shè)備。當(dāng)兩個(gè)數(shù)據(jù)不相同時(shí),確定該主機(jī)設(shè)備不是具有有效的ID和LK的組數(shù)據(jù)的主機(jī)設(shè)備,并且解鎖命令是來自未認(rèn)證單元的解鎖請求。不執(zhí)行解鎖,并將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備。
由信息存儲設(shè)備執(zhí)行的解鎖意味著釋放鎖定,即,允許對包含閃存等的存儲器(圖3中的存儲器220)的存取,該存儲器是用于存儲諸如內(nèi)容的數(shù)據(jù)的區(qū)域。
現(xiàn)在將參照圖8的流程圖,描述解鎖過程的步驟。在步驟S201中,響應(yīng)于來自主機(jī)設(shè)備的隨機(jī)數(shù)生成請求命令的接收,用作信息存儲設(shè)備的存儲卡生成隨機(jī)數(shù)(Rms)。在步驟S202中,主機(jī)設(shè)備讀取所生成的隨機(jī)數(shù),以及先前執(zhí)行鎖定的主機(jī)設(shè)備的ID。
當(dāng)從存儲卡讀取的ID等于主機(jī)設(shè)備的主機(jī)ID時(shí),主機(jī)設(shè)備確定可以解鎖該鎖定。在步驟203中,主機(jī)設(shè)備將解鎖命令以及通過使用主機(jī)設(shè)備的鎖定密鑰(LK)來加密所接收的隨機(jī)數(shù)(Rms)而生成的加密后的數(shù)據(jù)E(LK,Rms)發(fā)送給用作信息存儲設(shè)備的存儲卡。
在步驟S204中,存儲卡將接收的加密數(shù)據(jù)E(LK,Rms)寫入到信息存儲設(shè)備的存儲器中。在步驟S205中,存儲卡讀取已執(zhí)行鎖定的主機(jī)設(shè)備的ID,該ID在先前的鎖定過程中被存儲在存儲器中,并計(jì)算通過使用存儲在存儲卡的存儲器中的鎖定主密鑰(LMK),來計(jì)算所讀取的ID的散列值,從而計(jì)算與該ID相關(guān)的鎖定密鑰(LK)H(LMK,ID)=LK基于所計(jì)算的鎖定密鑰(LK),存儲卡加密在步驟S201中預(yù)先生成的隨機(jī)數(shù)(Rms),并且生成用作校驗(yàn)數(shù)據(jù)的加密數(shù)據(jù)E(LK,Rms)。
在步驟S206中,存儲卡對在步驟S205中計(jì)算的加密數(shù)據(jù)E(LK,Rms)和在步驟S203中除了解鎖命令之外從主機(jī)設(shè)備接收的并在步驟S204中存儲在存儲器中的加密數(shù)據(jù)E(LK,Rms)進(jìn)行比較和檢查(E(LK,Rms)=E(LK,Rms)?),以查看兩個(gè)數(shù)據(jù)是否相同。
當(dāng)通過比較和檢查確定這兩個(gè)值相同時(shí),就驗(yàn)證了主機(jī)設(shè)備為具有有效正確的ID和鎖定密鑰(LK)的組數(shù)據(jù)的有效單元。在步驟S207中,響應(yīng)于解鎖命令來執(zhí)行解鎖,從而允許對存儲器的存取。相反,當(dāng)在步驟S206中通過比較和檢查確定這兩個(gè)值不相等時(shí),在步驟S208中,將已發(fā)送了解鎖命令的主機(jī)設(shè)備確定為沒有被應(yīng)用于鎖定的正確的ID和鎖定密鑰(LK)的組數(shù)據(jù)的未認(rèn)證單元。不執(zhí)行解鎖,即不釋放該鎖定,并將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備。
如上所述,根據(jù)過程的該示例,僅允許具有主機(jī)設(shè)備ID和與該主機(jī)設(shè)備ID相關(guān)的鎖定密鑰(LK)的有效組數(shù)據(jù)的主機(jī)設(shè)備來鎖定信息存儲設(shè)備。僅由已執(zhí)行鎖定的主機(jī)設(shè)備來執(zhí)行解鎖或釋放該鎖定。在上述鎖定和解鎖過程中,執(zhí)行單方認(rèn)證(one-sided authentication),其中僅由信息存儲設(shè)備執(zhí)行對主機(jī)設(shè)備的認(rèn)證。減少了主機(jī)設(shè)備的處理負(fù)擔(dān),并且有效地執(zhí)行了該過程。
在上述鎖定和解鎖過程中,在信息存儲設(shè)備處使用在每個(gè)過程中生成的隨機(jī)數(shù)。不能使用在以前過程中記錄的數(shù)據(jù),從而基于對以前處理的跟蹤,有效地防止了未認(rèn)證過程。
由每個(gè)主機(jī)設(shè)備對信息存儲設(shè)備執(zhí)行上述鎖定和解鎖過程。僅由鎖定信息存儲設(shè)備的主機(jī)設(shè)備來解鎖該鎖定。在多個(gè)主機(jī)設(shè)備使用一個(gè)信息存儲設(shè)備(存儲卡)的情況下,主機(jī)設(shè)備(單元A)存儲有關(guān)信息存儲設(shè)備(存儲卡)的數(shù)據(jù)并鎖定該存儲卡,而另一主機(jī)設(shè)備(單元B)可以想要使用該信息存儲設(shè)備(存儲卡)。
在這種情況下,鎖定不能由主機(jī)設(shè)備(單元B)釋放,除非該鎖定由主機(jī)設(shè)備(單元A)釋放。下文中,將描述用于解決該問題的過程示例。即,使得主機(jī)設(shè)備可以單獨(dú)鎖定和解鎖該信息存儲設(shè)備。參照圖9,現(xiàn)在概要地描述該過程的示例。
鎖定是為了對諸如閃存的存儲器(圖3中的存儲器220)的存取控制進(jìn)行證實(shí),該存儲器是用于存儲諸如存儲卡的信息存儲設(shè)備320的諸如內(nèi)容的數(shù)據(jù)的區(qū)域。解鎖是為了清除存取控制。存在與在該過程的先前示例中的那些相同的部分。鎖定和解鎖是由主機(jī)設(shè)備510執(zhí)行的。
如已經(jīng)參照圖1和2所述,主機(jī)設(shè)備510包含信息處理裝置,諸如PC、PDA、數(shù)碼相機(jī)和DSC(靜態(tài)數(shù)碼相機(jī)),每一個(gè)都有用于與諸如存儲卡的信息存儲設(shè)備320進(jìn)行數(shù)據(jù)傳送的接口,并且每一個(gè)都將數(shù)據(jù)寫入到信息存儲設(shè)備520或者讀取和使用來自信息存儲設(shè)備520的數(shù)據(jù)。主機(jī)設(shè)備510還包含鎖定/解鎖單元512,其用作專用于鎖定/解鎖諸如存儲卡的信息存儲設(shè)備520的單元。
主機(jī)設(shè)備中的存儲器515,諸如ROM,存儲用作對每個(gè)主機(jī)設(shè)備唯一的標(biāo)識符的ID(例如,16字節(jié)數(shù)據(jù))和用作用于鎖定和解鎖的密鑰數(shù)據(jù)的鎖定密鑰(LK)(例如,8字節(jié)數(shù)據(jù))。如上所述,ID和LK是與在該過程的先前示例中的ID和LK相對應(yīng)的一組數(shù)據(jù)。與先前過程中相同,ID和LK可用于鎖定和解鎖。
該ID是主ID,且LK是主鎖定密鑰。在制造每個(gè)主機(jī)設(shè)備時(shí),該ID和LK被寫入到每個(gè)主機(jī)設(shè)備中的諸如ROM的存儲器中,并且不能被用戶重寫。與在使用了LMK的過程的先前示例中相同,主ID(ID)和主鎖定密鑰(LK)可應(yīng)用于鎖定和解鎖,其中主機(jī)設(shè)備與信息存儲設(shè)備具有一一對應(yīng)關(guān)系。由對每個(gè)主機(jī)設(shè)備唯一的主ID和主鎖定密鑰構(gòu)成的密鑰組[ID,LK],被稱為主密鑰組。
通過使用該主密鑰組[ID,LK]進(jìn)行的鎖定被稱為標(biāo)準(zhǔn)鎖定。通過將來自用作主機(jī)設(shè)備的信息處理裝置的標(biāo)準(zhǔn)鎖定命令輸出給信息存儲設(shè)備,來執(zhí)行標(biāo)準(zhǔn)鎖定。通過輸出解鎖命令,來執(zhí)行解鎖。
主機(jī)設(shè)備中的存儲器515,諸如ROM,可以存儲用作輔ID和輔鎖定密鑰的組數(shù)據(jù)的至少一個(gè)輔密鑰組[IDen,LKen](n=1,2,…),其用作可以被復(fù)制并且被提供給另一主機(jī)設(shè)備的密鑰組。
該輔密鑰組[IDen,LKen]是一個(gè)可以被共同地存儲在多個(gè)主機(jī)設(shè)備中的密鑰。使用下述過程,在另一主機(jī)設(shè)備中存儲的輔密鑰組[IDen,LKen],可以經(jīng)信息存儲設(shè)備在再一個(gè)主機(jī)設(shè)備中被復(fù)制和存儲。
通過使用該輔密鑰組[IDen,LKen]來鎖定信息存儲設(shè)備(存儲卡)被稱為導(dǎo)出鎖定(export locking),上述輔密鑰組[IDen,LKen]可以被復(fù)制并經(jīng)信息存儲設(shè)備(存儲卡)輸出到另一主機(jī)設(shè)備。
通過使用該輔密鑰組[IDen,LKen]而進(jìn)行的鎖定被稱為導(dǎo)出鎖定。通過將導(dǎo)出鎖定命令從用作主機(jī)設(shè)備的信息處理裝置輸出到信息存儲設(shè)備,來執(zhí)行導(dǎo)出鎖定。通過輸出解鎖命令來執(zhí)行解鎖。
主機(jī)設(shè)備從被導(dǎo)出鎖定的信息存儲設(shè)備(存儲卡)獲得的輔密鑰組[IDen,LKen],可以被寫入到主機(jī)設(shè)備的存儲器中。輔密鑰組的該復(fù)制和寫入被稱為印記(imprinting)。通過印記,形成了由多個(gè)具有相同輔密鑰組[IDen,LKen]的主機(jī)設(shè)備構(gòu)成的一個(gè)組群(group)。
因此,輔密鑰組[IDen,LKen]是可應(yīng)用于鎖定的密鑰組,在該鎖定中可以輸出輔密鑰組[IDen,LKen],即,導(dǎo)出鎖定。通過將[e]添加到ID和LK中來表示輔密鑰組[IDen,LKen],其中[en]的n指示與所定義的組群號相對應(yīng)的輔密鑰組號。
每個(gè)主機(jī)設(shè)備都可以存儲多個(gè)不同的輔密鑰組。例如,將輔密鑰組1[IDe1,LKe1]設(shè)置為在由PC(個(gè)人計(jì)算機(jī))-a、PC-b和PDA(個(gè)人數(shù)字助理)-a組成的三個(gè)主機(jī)設(shè)備的組群中共享的公共輔密鑰組(輔1);將輔密鑰組2[IDe2,LKe2]設(shè)置為在由PC-a、PDA-a和PDA-b組成的組群中共享的輔密鑰組(輔2)。在這種情況下,每個(gè)主機(jī)設(shè)備在存儲器中存儲包含主ID(ID)和主鎖定密鑰(LK)的相應(yīng)的主密鑰組[ID,LK]。此外,主機(jī)設(shè)備存儲下列輔密鑰組,每一個(gè)由輔ID和輔鎖定密鑰構(gòu)成PC-a存儲[IDe1,LKe1]和[IDe2,LKe2];PC-b存儲[IDe1,LKe1];PDA-a存儲[IDe1,LKe1]和[IDe2,LKe2];和PDA-b存儲[IDe2,LKe2]。
通過將由輔ID和輔鎖定密鑰的組數(shù)據(jù)構(gòu)成的輔密鑰組[IDen,LKen]寫入到每個(gè)主機(jī)設(shè)備的存儲器515中,每個(gè)主機(jī)設(shè)備就變成了包含至少一個(gè)主機(jī)設(shè)備的主機(jī)設(shè)備組群-n的成員。該組群n的每個(gè)成員使用共同存儲的輔ID(IDn)和公共輔鎖定密鑰(LKn),來鎖定和解鎖一個(gè)信息存儲設(shè)備(存儲卡)。
相反,在諸如存儲卡的信息存儲設(shè)備520的控制器中的存儲器525,諸如ROM,存儲鎖定主密鑰(LMK)。在信息存儲設(shè)備520中存儲的鎖定主密鑰(LMK)和在主機(jī)設(shè)備中存儲的ID(包含ID和IDen)和鎖定密鑰LK(包含LK和LKen)有下列關(guān)系LK=H(LMK,ID)鎖定主密鑰(LMK)與ID和LK的關(guān)系,與在使用LMK的前述過程中的完全相同。通過使用鎖定主密鑰LMK來計(jì)算主ID(ID)的散列值,來計(jì)算主鎖定密鑰(LK)。通過使用鎖定主密鑰LMK來計(jì)算輔ID(IDen)的散列值,來計(jì)算輔鎖定密鑰(LKen)。
參照圖10,現(xiàn)在描述使用主密鑰組[ID,LK]和輔密鑰組[IDen,LKen]的鎖定模式。鎖定模式包含在圖10的部分(a)到(c)中示出的3個(gè)模式。
部分(a)示出了標(biāo)準(zhǔn)鎖定,其中使用了由對每個(gè)主機(jī)設(shè)備510唯一的主ID(ID)和主鎖定密鑰(LK)構(gòu)成的主密鑰組[ID,LK]531。
通過將標(biāo)準(zhǔn)鎖定命令從主機(jī)設(shè)備510輸出到信息存儲設(shè)備520,來執(zhí)行通過應(yīng)用主密鑰組[ID,LK]進(jìn)行的標(biāo)準(zhǔn)鎖定。通過輸出解鎖命令,來執(zhí)行解鎖。
當(dāng)信息存儲設(shè)備520被標(biāo)準(zhǔn)鎖定時(shí),主密鑰組[ID,LK]被存儲于信息存儲設(shè)備(存儲卡)520的存儲器(閃存)的標(biāo)準(zhǔn)鎖定密鑰組存儲區(qū)541中。應(yīng)用于標(biāo)準(zhǔn)鎖定的主密鑰組[ID,LK],沒有從被鎖定的信息存儲設(shè)備(存儲卡)520中輸出。僅由具有相同主密鑰組[ID,LK]的主機(jī)設(shè)備,即執(zhí)行標(biāo)準(zhǔn)鎖定的主機(jī)設(shè)備,來解鎖信息存儲設(shè)備520。
與使用LMK的上述過程中的相同,可以將由主ID(ID)和主鎖定密鑰(LK)構(gòu)成的主密鑰組[ID,LK]應(yīng)用于鎖定和解鎖,其中主機(jī)設(shè)備與信息存儲設(shè)備具有一一對應(yīng)關(guān)系??梢詧?zhí)行與參照圖5到圖8所述的那些類似的鎖定和解鎖。
部分(b)示出了導(dǎo)出鎖定,其中使用了由輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]532,該輔密鑰組[IDen,LKen]532可以在多個(gè)主機(jī)設(shè)備中共享。
通過將導(dǎo)出鎖定命令從主機(jī)設(shè)備510輸出到信息存儲設(shè)備520,來執(zhí)行應(yīng)用輔密鑰組[IDen,LKen]進(jìn)行的導(dǎo)出鎖定。通過輸出解鎖命令,來執(zhí)行解鎖。
當(dāng)信息存儲設(shè)備520被導(dǎo)出鎖定時(shí),輔密鑰組[IDen,LKen]被存儲于被鎖定的信息存儲設(shè)備(存儲卡)520的存儲器(閃存)的導(dǎo)出鎖定密鑰組存儲區(qū)542中。當(dāng)執(zhí)行這類鎖定時(shí),另一個(gè)主機(jī)設(shè)備可以通過下文中詳細(xì)描述的印記,從被鎖定的信息存儲設(shè)備(存儲卡)520中獲得應(yīng)用于導(dǎo)出鎖定的輔密鑰組[IDen,LKen]。
當(dāng)信息存儲設(shè)備520被導(dǎo)出鎖定時(shí),信息存儲設(shè)備520可以由鎖定信息存儲設(shè)備520的主機(jī)設(shè)備以及由執(zhí)行印記并且獲得應(yīng)用于導(dǎo)出鎖定的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備解鎖。
部分(c)示出了標(biāo)準(zhǔn)鎖定,其中使用了由輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]532,該輔密鑰組[IDen,LKen]532可以由多個(gè)主機(jī)設(shè)備510共享。這被稱為組群鎖定(group locking)。
通過將標(biāo)準(zhǔn)鎖定命令從主機(jī)設(shè)備510輸出到信息存儲設(shè)備520,來執(zhí)行使用輔密鑰組[IDen,LKen]532的標(biāo)準(zhǔn)鎖定,即,組群鎖定。通過輸出解鎖命令來執(zhí)行解鎖。應(yīng)用于組群鎖定的密鑰組是輔密鑰組[IDen,LKen]532。
基本上,組群鎖定類似于標(biāo)準(zhǔn)鎖定。應(yīng)用于組群鎖定的密鑰組是輔密鑰組[IDen,LKen]532。當(dāng)信息存儲設(shè)備520被組群鎖定時(shí),輔密鑰組[IDen,LKen]被存儲在信息存儲設(shè)備520的存儲器(閃存)的標(biāo)準(zhǔn)鎖定密鑰組存儲區(qū)541中。當(dāng)執(zhí)行這類鎖定時(shí),應(yīng)用于組群鎖定的輔密鑰組[IDen,LKen]被存儲在標(biāo)準(zhǔn)鎖定密鑰組存儲區(qū)541中。因此,輔密鑰組[IDen,LKen]沒有從被鎖定的信息存儲設(shè)備(存儲卡)520中輸出。
被組群鎖定的信息存儲設(shè)備520僅由具有相同的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備解鎖。在此情況下,這些主機(jī)設(shè)備不僅包含將信息存儲設(shè)備520組群鎖定的主機(jī)設(shè)備,還包含預(yù)先獲得相同的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備。
例如,通過使用相同的輔密鑰組[IDen,LKen]來預(yù)先執(zhí)行導(dǎo)出鎖定。在執(zhí)行導(dǎo)出鎖定時(shí),主機(jī)設(shè)備執(zhí)行印記,獲得相同的輔密鑰組[IDen,LKen],并將該輔密鑰組[IDen,LKen]存儲在存儲器中。該主機(jī)設(shè)備可以執(zhí)行解鎖。
通過使用輔密鑰組[IDen,LKen]而進(jìn)行標(biāo)準(zhǔn)鎖定中的鎖定和解鎖的時(shí)序,即組群鎖定,類似于通過使用LMK而進(jìn)行的鎖定和解鎖時(shí)序(參照圖5到圖8)。不同之處僅在于使用印記,多個(gè)主機(jī)設(shè)備可以執(zhí)行鎖定和解鎖。
現(xiàn)在,在下文中將描述通過使用可以在多個(gè)主機(jī)設(shè)備中共享的、由輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]進(jìn)行的鎖定,經(jīng)信息存儲設(shè)備(存儲卡)將輔密鑰組[IDen,LKen]復(fù)制和存儲在主機(jī)設(shè)備中,以及解鎖或釋放被導(dǎo)出鎖定的信息存儲設(shè)備(存儲卡)。
(基于輔密鑰組的鎖定)
現(xiàn)在將詳細(xì)描述通過使用由輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]進(jìn)行的信息存儲設(shè)備(存儲卡)的鎖定。
如上所述,通過使用輔密鑰組[IDen,LKen]來鎖定信息存儲設(shè)備(存儲卡),信息存儲設(shè)備(存儲卡)被導(dǎo)出鎖定,其中,應(yīng)用于鎖定的輔密鑰組可以被復(fù)制,并經(jīng)信息存儲設(shè)備(存儲卡)被輸出到另一主機(jī)設(shè)備。
圖11示出了基于輔密鑰組的鎖定過程中在主機(jī)設(shè)備和信息存儲設(shè)備之間進(jìn)行的過程時(shí)序。主機(jī)設(shè)備和信息存儲設(shè)備互連,從而彼此之間傳送數(shù)據(jù)。
信息存儲設(shè)備包含圖11中示出的鎖定狀態(tài)標(biāo)志551。每個(gè)鎖定狀態(tài)標(biāo)志551都保持一個(gè)指示信息存儲設(shè)備的鎖定狀態(tài)的值。上部分中的NVM包含存儲在存儲器220的NVM(非易失存儲器)區(qū)域,諸如圖3中示出的閃存中的標(biāo)志。下部分包含存儲在控制器210的RAM213中的標(biāo)志。通過關(guān)閉信息存儲設(shè)備,可刪除RAM中的標(biāo)志,但是NVM中的標(biāo)志數(shù)據(jù)仍被保持。通過在RAM中重寫標(biāo)志,可復(fù)制NVM中的標(biāo)志數(shù)據(jù)。當(dāng)電源關(guān)閉然后再打開時(shí),NVM中的標(biāo)志信息被復(fù)制到RAM中。SL表示標(biāo)準(zhǔn)鎖定;EL表示導(dǎo)出鎖定;1表示鎖定狀態(tài);而0表示解鎖狀態(tài)。
標(biāo)準(zhǔn)鎖定是這樣一種鎖定模式,其中不能輸出應(yīng)用于鎖定的密鑰組[ID,LK]。導(dǎo)出鎖定是這樣一種鎖定模式,其中可以輸出應(yīng)用于鎖定的密鑰組[ID,LK]。當(dāng)SL=1時(shí),信息存儲設(shè)備被標(biāo)準(zhǔn)鎖定。當(dāng)EL=1時(shí),信息存儲設(shè)備被導(dǎo)出鎖定。
信息存儲設(shè)備(存儲卡)具有分別用于存儲應(yīng)用于標(biāo)準(zhǔn)鎖定的密鑰組和應(yīng)用于導(dǎo)出鎖定的密鑰組的數(shù)據(jù)存儲區(qū),它們都在存儲器(閃存(NVM))中。
如圖所示,在初始狀態(tài)下,SL=0且EL=0,其中既不執(zhí)行標(biāo)準(zhǔn)鎖定(SL),也不執(zhí)行導(dǎo)出鎖定(EL)。也就是說,所有主機(jī)設(shè)備都可以存取信息存儲設(shè)備的存儲器。
在初始狀態(tài)下,一個(gè)主機(jī)設(shè)備將隨機(jī)數(shù)生成命令輸出到信息存儲設(shè)備。當(dāng)接收到隨機(jī)數(shù)生成命令時(shí),信息存儲設(shè)備生成具有預(yù)定長度例如16字節(jié)的隨機(jī)數(shù)(Rms),并將所生成的隨機(jī)數(shù)發(fā)送給主機(jī)設(shè)備。該信息存儲設(shè)備將所生成的隨機(jī)數(shù)(Rms)存儲在控制器的存儲器中,諸如RAM。
當(dāng)從信息存儲設(shè)備接收到隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備通過將預(yù)先存儲在主機(jī)設(shè)備的存儲器中的輔鎖定密鑰(LKen)用作加密密鑰,來執(zhí)行對所接收的隨機(jī)數(shù)(Rms)的加密E(LKen,Rms)??蓪⒏鞣N算法用作加密算法。例如,使用DES加密算法。
主機(jī)設(shè)備通過將輔鎖定密鑰(LKen)用作加密密鑰,來執(zhí)行對所接收的隨機(jī)數(shù)(Rms)的加密E(LKen,Rms),并將結(jié)果數(shù)據(jù)[E(LKen,Rms)]、用作與輔鎖定密鑰(LKen)相關(guān)的組數(shù)據(jù)的輔ID(IDen)和鎖定命令發(fā)送給信息存儲設(shè)備,上述輔ID(IDen)由主機(jī)設(shè)備預(yù)先存儲在主機(jī)設(shè)備的存儲器中。
當(dāng)接收到包含IDen和E(LKen,Rms)的數(shù)據(jù)時(shí),信息存儲設(shè)備通過使用在信息存儲設(shè)備的存儲器中存儲的鎖定主密鑰LMK,計(jì)算所接收的輔ID(IDen)的散列值,從而計(jì)算與所接收的輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)。也就是說,信息存儲設(shè)備計(jì)算與所接收的輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)LKen=H(LMK,IDen)所接收的輔ID(IDen)被存儲在信息存儲設(shè)備的存儲器中。所接收的輔ID(IDen)用于隨后描述的解鎖。
信息存儲設(shè)備通過使用由上述散列值計(jì)算所計(jì)算出的輔鎖定密鑰(LKen)來執(zhí)行隨機(jī)數(shù)(Rms)的加密E(LKen,Rms),該隨機(jī)數(shù)存儲于信息存儲設(shè)備的存儲器中,并且檢查該加密數(shù)據(jù)是否等于從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LKen,Rms)。各種算法都可以應(yīng)用,只要它們與主機(jī)設(shè)備所使用的算法相同。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms)等于由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LKen,Rms)時(shí),就驗(yàn)證了該命令是來自于具有有效的輔ID(IDen)和輔鎖定密鑰(LKen)的組數(shù)據(jù)的主機(jī)設(shè)備的鎖定請求。導(dǎo)出鎖定被執(zhí)行,并且將鎖定完成通知傳送到主機(jī)設(shè)備。當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms)不等于信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LKen,Rms)時(shí),就確定該主機(jī)設(shè)備不是具有有效的輔ID(IDen)和輔鎖定密鑰(LKen)的組數(shù)據(jù)的主機(jī)設(shè)備,并且該命令是來自于未認(rèn)證單元的鎖定請求。不執(zhí)行導(dǎo)出鎖定,并且將錯(cuò)誤通知傳送給主機(jī)設(shè)備。
由信息存儲設(shè)備執(zhí)行的導(dǎo)出鎖定是為了在執(zhí)行隨后描述的、通過使用輔ID和輔鎖定密鑰而進(jìn)行解鎖的情況下,允許對包含閃存的存儲器(圖3中的存儲器220)進(jìn)行存取,該存儲器是用于存儲諸如內(nèi)容的數(shù)據(jù)的區(qū)域。用于導(dǎo)出鎖定的導(dǎo)出密鑰組[IDen,LKen]被存儲在信息存儲設(shè)備(存儲卡)的存儲器(閃存(NVM))中的導(dǎo)出鎖定密鑰組存儲區(qū)中。鎖定狀態(tài)標(biāo)志被重寫。
如附圖所示,當(dāng)導(dǎo)出鎖定被執(zhí)行時(shí),鎖定狀態(tài)標(biāo)志被改變?yōu)橹甘緦?dǎo)出鎖定有效的EL=1,且被存儲在NVM和RAM中。通過將EL=1設(shè)置到信息存儲設(shè)備的控制器中的RAM213(見圖3),并隨后將EL=1復(fù)制到NVM(包含閃存等的存儲器220),來改變這些標(biāo)志。當(dāng)在該狀態(tài)下電源被關(guān)閉時(shí),RAM中的標(biāo)志信息被刪除,但是NVM中的標(biāo)志信息被保持。隨后,當(dāng)電源被打開時(shí),NVM中的標(biāo)志信息(EL=1)被復(fù)制到RAM,并且控制器210(見圖3)基于RAM中的標(biāo)志信息(EL=1)執(zhí)行過程。
標(biāo)志信息EL=1指示信息存儲設(shè)備被導(dǎo)出鎖定。通過印記,可以將存儲在信息存儲設(shè)備(存儲卡)的NVM(包含閃存等的存儲器220)的導(dǎo)出鎖定密鑰組存儲區(qū)中的輔密鑰輸出到另一個(gè)主機(jī)設(shè)備,隨后將對此進(jìn)行描述。
參照圖12的流程圖,現(xiàn)在將描述導(dǎo)出鎖定過程的步驟。在步驟S301中,響應(yīng)于來自于主機(jī)設(shè)備的隨機(jī)數(shù)生成請求命令的接收,用作信息存儲設(shè)備的存儲卡生成隨機(jī)數(shù)(Rms)。在步驟S302中,主機(jī)設(shè)備讀取所生成的隨機(jī)數(shù)。在步驟S303中,除鎖定命令之外,主機(jī)設(shè)備還獲得已經(jīng)存儲在主機(jī)設(shè)備的存儲器中的輔ID(IDen),通過使用已經(jīng)存儲在主機(jī)設(shè)備的存儲器中的輔鎖定密鑰(LKen)來加密所接收的隨機(jī)數(shù)(Rms),以生成數(shù)據(jù)E(LKen,Rms),并將包含IDen和E(LKen,Rms)的這些相關(guān)數(shù)據(jù)發(fā)送給用作信息存儲設(shè)備的存儲卡。
在步驟S304中,存儲卡將所接收的輔ID(IDen)和加密數(shù)據(jù)E(LKen,Rms)寫入到信息存儲設(shè)備的存儲器中。在步驟S305中,存儲卡通過使用存儲在存儲卡的存儲器中的鎖定主密鑰(LMK),來計(jì)算所接收的輔ID(IDen)的散列值,從而計(jì)算與所接收的輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)。也就是說,信息存儲設(shè)備計(jì)算與所接收的輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)H(LMK,IDen)=LKen基于所計(jì)算的輔鎖定密鑰(LKen),存儲卡加密在步驟S301中預(yù)先生成的隨機(jī)數(shù)(Rms),并生成用作校驗(yàn)數(shù)據(jù)的加密數(shù)據(jù)E(LKen,Rms)。
在步驟S306中,存儲卡對在步驟S305中計(jì)算的加密數(shù)據(jù)E(LKen,Rms)和在步驟S303中除了鎖定命令之外從主機(jī)設(shè)備接收的并在步驟S304中存儲在存儲器中的加密數(shù)據(jù)E(LKen,Rms)進(jìn)行比較和檢查[E(LKen,Rms)=E(LKen,Rms)?],以查看兩個(gè)數(shù)據(jù)是否相同。
當(dāng)通過比較和檢查確定這兩個(gè)值相同時(shí),就驗(yàn)證了該主機(jī)設(shè)備為具有用作有效正確的輔ID(IDen)和輔鎖定密鑰(LKen)的組數(shù)據(jù)的輔密鑰組[IDen,LKen]的有效單元。在步驟S307中,響應(yīng)于鎖定命令來執(zhí)行鎖定,從而若是隨后描述的通過使用輔密鑰組[IDen,LKen]而進(jìn)行的解鎖或釋放鎖定成功,就允許對存儲器進(jìn)行存取。上述鎖定狀態(tài)標(biāo)志被設(shè)為EL=1。
當(dāng)在步驟S306中通過比較和檢查確定E(LKen,Rms)=E(LKen,Rms)不保持為“真”時(shí),在步驟S308中,將已發(fā)送了鎖定命令的主機(jī)設(shè)備確定為沒有正確的輔ID(IDen)和輔鎖定密鑰(LKen)的組數(shù)據(jù)的未認(rèn)證單元。不執(zhí)行鎖定,并將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備。
通過與主機(jī)設(shè)備執(zhí)行的前述解鎖[基于鎖定主密鑰(LMK)的過程]類似的過程,可以解鎖通過上述過程導(dǎo)出鎖定的被導(dǎo)出鎖定的信息存儲設(shè)備,上述主機(jī)設(shè)備具有在鎖定信息存儲設(shè)備中使用的、用作輔ID(IDen)和輔鎖定密鑰(LKen)的組數(shù)據(jù)的相同輔密鑰組[IDen,LKen]。即,通過用輔ID(IDen)和輔鎖定密鑰(LKen)來替代要使用的ID和鎖定密鑰,可以解鎖信息存儲設(shè)備。
沒有與在鎖定信息存儲設(shè)備中使用的輔密鑰組[IDen,LKen]相同的密鑰組的另一個(gè)主機(jī)設(shè)備,不能解鎖信息存儲設(shè)備,即,不能存取信息存儲設(shè)備,除非該主機(jī)設(shè)備獲得了用于鎖定該信息存儲設(shè)備的輔密鑰組[IDen,LKen]。
具有用作有效的主ID(ID)和主鎖定密鑰(LK)的組數(shù)據(jù)的主密鑰組[ID,LK]的主機(jī)設(shè)備,可以從信息存儲設(shè)備獲得存儲在被導(dǎo)出鎖定的信息存儲設(shè)備中的輔密鑰組[IDen,LKen]。通過使用所獲得的輔密鑰組[IDen,LKen],該主機(jī)設(shè)備可以解鎖該信息存儲設(shè)備。經(jīng)信息存儲設(shè)備獲得輔密鑰組[IDen,LKen]被稱為印記。
當(dāng)基于輔密鑰組[IDen,LKen]來鎖定信息存儲設(shè)備時(shí),其中該輔密鑰組[IDen,LKen]可以被輸出到另一個(gè)主機(jī)設(shè)備,該信息存儲設(shè)備被導(dǎo)出鎖定。
通過從被導(dǎo)出鎖定的信息存儲設(shè)備獲得(印記)用于導(dǎo)出鎖定的輔密鑰組[IDen,LKen],主機(jī)設(shè)備就變成了由多個(gè)具有相同的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備構(gòu)成的組群的成員。隨后,該主機(jī)設(shè)備使用所獲得的輔密鑰組[IDen,LKen]來解鎖信息存儲設(shè)備。在下文中,將詳細(xì)描述印記和解鎖。
(印記和解鎖)現(xiàn)在將描述由主機(jī)設(shè)備從被導(dǎo)出鎖定的信息存儲設(shè)備印記或獲得由輔鎖定密鑰(LKen)和輔ID(IDen)構(gòu)成的輔密鑰組[IDen,LKen],以及解鎖該被導(dǎo)出鎖定的信息存儲設(shè)備。
圖13示出了在主機(jī)設(shè)備和信息存儲設(shè)備之間進(jìn)行的印記和解鎖過程時(shí)序。主機(jī)設(shè)備和信息存儲設(shè)備互連,從而彼此之間傳送數(shù)據(jù)。如附圖所示,信息存儲設(shè)備的鎖定狀態(tài)標(biāo)志被設(shè)為指示導(dǎo)出鎖定有效的EL=1,并被存儲在NVM和RAM中。
主機(jī)設(shè)備沒有用于導(dǎo)出鎖定信息存儲設(shè)備的、由輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]。信息存儲設(shè)備在導(dǎo)出密鑰存儲區(qū)中存儲該輔密鑰組[IDen,LKen]。該信息存儲設(shè)備處于所謂的導(dǎo)出鎖定狀態(tài)中。
主機(jī)設(shè)備向信息存儲設(shè)備輸出隨機(jī)數(shù)生成命令。當(dāng)收到隨機(jī)數(shù)生成命令時(shí),信息存儲設(shè)備生成具有預(yù)定長度例如16字節(jié)的隨機(jī)數(shù)(Rms),并將所生成的隨機(jī)數(shù)(Rms)和輔ID(IDen)傳送給主機(jī)設(shè)備,該輔ID已經(jīng)在先前的導(dǎo)出鎖定過程中存儲在存儲器中,也就是,用于導(dǎo)出鎖定的輔密鑰組[IDen,LKen]的輔ID(IDen)。信息存儲設(shè)備在控制器中的存儲器諸如RAM中,存儲所生成的隨機(jī)數(shù)(Rms)。
當(dāng)從信息存儲設(shè)備接收到輔ID(IDen)和隨機(jī)數(shù)(Rms)時(shí),主機(jī)設(shè)備核對所接收的輔ID(IDen)和主機(jī)設(shè)備的主ID(ID),以查看這兩個(gè)ID是否相同。當(dāng)這兩個(gè)ID相同時(shí),通過使用主鎖定密鑰(LK),可以解鎖該信息存儲設(shè)備,這類似于使用了LMK的上述過程(見圖7)。
當(dāng)所接收的輔ID(IDen)和主機(jī)設(shè)備的主ID(ID)不相同時(shí),這意味著信息存儲設(shè)備是由另一主機(jī)設(shè)備鎖定的。通過對所接收的輔ID(IDen)和輔鎖定密鑰(LKen)進(jìn)行印記或獲得,主機(jī)設(shè)備可以加入到與使用輔密鑰組[IDen,LKen]執(zhí)行導(dǎo)出鎖定的其他主機(jī)設(shè)備相同的組群中。
也就是說,主機(jī)設(shè)備執(zhí)行印記以獲得輔ID(IDen)和輔鎖定密鑰(LKen),并將這些個(gè)數(shù)據(jù)作為組數(shù)據(jù),即輔密鑰組[IDen,LKen],存儲在主機(jī)設(shè)備的存儲器中,從而加入到組群中。通過使用所獲得的輔密鑰組[IDen,LKen],主機(jī)設(shè)備可以解鎖被導(dǎo)出鎖定的信息存儲設(shè)備。當(dāng)執(zhí)行印記時(shí),主機(jī)設(shè)備在存儲器中存儲從信息存儲設(shè)備接收的輔ID(IDen)。
執(zhí)行印記的主機(jī)設(shè)備通過將已經(jīng)存儲在主機(jī)設(shè)備中的存儲器中的主鎖定密鑰(LK)用作加密密鑰,來執(zhí)行所接收的隨機(jī)數(shù)(Rms)的加密E(LK,Rms),并將結(jié)果數(shù)據(jù)、主ID(ID)和標(biāo)準(zhǔn)鎖定命令發(fā)送給信息存儲設(shè)備。由于該鎖定過程是為了通過使用該主鎖定密鑰(LK)來將標(biāo)準(zhǔn)鎖定添加到通過使用輔鎖定密鑰(LKen)而被導(dǎo)出鎖定的被導(dǎo)出鎖定的信息存儲設(shè)備,所以該鎖定過程被稱為重鎖(overlocking)。
當(dāng)從主機(jī)設(shè)備接收到主ID(ID)和加密數(shù)據(jù)E(LK,Rms)時(shí),信息存儲設(shè)備通過使用鎖定主密鑰(LMK)來計(jì)算所接收的主ID(ID)的散列值,從而計(jì)算與主ID(ID)相關(guān)的主鎖定密鑰(LK)。也就是說,信息存儲設(shè)備計(jì)算與主ID(ID)相關(guān)的主鎖定密鑰(LK)LK=H(LMK,ID)信息存儲設(shè)備通過使用由上述散列值計(jì)算所計(jì)算出的主鎖定密鑰(LK),來執(zhí)行對存儲在信息存儲設(shè)備的存儲器中的隨機(jī)數(shù)Rms的加密E(LK,Rms),并檢查該加密數(shù)據(jù)是否等于從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LK,Rms)。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LK,Rms)等于由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LK,Rms)時(shí),就驗(yàn)證了該命令是來自于具有用作有效的主ID(ID)和主鎖定密鑰(LK)的組數(shù)據(jù)的主密鑰組[ID,LK]的主機(jī)設(shè)備的重鎖請求。執(zhí)行重鎖,并將重鎖完成通知發(fā)送給主機(jī)設(shè)備。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LK,Rms)不等于由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LK,Rms)時(shí),確定該主機(jī)設(shè)備不是具有用作有效的主ID(ID)和主鎖定密鑰(LK)的組數(shù)據(jù)的主密鑰組[ID,LK]的主機(jī)設(shè)備,并且該命令是來自于未認(rèn)證單元的重鎖請求。不執(zhí)行重鎖,并將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備。
由信息存儲設(shè)備執(zhí)行的重鎖是為了標(biāo)準(zhǔn)鎖定已被導(dǎo)出鎖定的信息存儲設(shè)備。如附圖所示,NVM和RAM中的信息存儲設(shè)備的鎖定狀態(tài)標(biāo)志被設(shè)置為EL=1,其指示導(dǎo)出鎖定有效。通過執(zhí)行重鎖,將指示標(biāo)準(zhǔn)鎖定有效的SL=1設(shè)置到RAM。在電源關(guān)閉之前,在RAM中設(shè)置的標(biāo)志信息被復(fù)制到NVM。
當(dāng)接收到重鎖完成通知時(shí),主機(jī)設(shè)備依次執(zhí)行印記和解鎖。主機(jī)設(shè)備再次將隨機(jī)數(shù)生成命令發(fā)送到信息存儲設(shè)備。
當(dāng)接收到隨機(jī)數(shù)生成命令時(shí),信息存儲設(shè)備生成第二隨機(jī)數(shù)(Rms2),并將下列相關(guān)數(shù)據(jù)發(fā)送到主機(jī)設(shè)備包含ID、Rms2、IDen和E(LK,LKen),即所生成的隨機(jī)數(shù)(Rms2);已執(zhí)行了標(biāo)準(zhǔn)鎖定的主機(jī)設(shè)備的主ID(ID);用于導(dǎo)出鎖定的輔ID(IDen);和通過使用與主ID(ID)相關(guān)的主鎖定密鑰(LK)來加密與輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)所生成的加密數(shù)據(jù)E(LK,LKen)。
信息存儲設(shè)備在控制器中的存儲器諸如RAM中,存儲所生成的隨機(jī)數(shù)(Rms2)。
當(dāng)從信息存儲設(shè)備接收到包含ID、Rms2、IDen和E(LK,LKen)的數(shù)據(jù)時(shí),主機(jī)設(shè)備通過使用在主機(jī)設(shè)備的存儲器中存儲的主鎖定密鑰(LK)來解密加密數(shù)據(jù)E(LK,LKen),以便獲得輔鎖定密鑰(LKen)。其是與先前獲得的輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)。所獲得的輔密鑰組[IDen,LKen]被存儲在存儲器中。通過執(zhí)行印記,主機(jī)設(shè)備加入到第n個(gè)組群中。
接著,主機(jī)設(shè)備解鎖信息存儲設(shè)備。主機(jī)設(shè)備基于通過使用主鎖定密鑰(LK)對從信息存儲設(shè)備接收的加密數(shù)據(jù)E(LK,LKen)進(jìn)行解密而獲得的輔鎖定密鑰(LKen),來加密從信息存儲設(shè)備接收的隨機(jī)數(shù)(Rms2),并生成加密數(shù)據(jù)E(LKen,Rms2)。主機(jī)設(shè)備將該加密數(shù)據(jù)E(LKen,Rms2)和解鎖命令發(fā)送給信息存儲設(shè)備。
當(dāng)從主機(jī)設(shè)備接收到解鎖命令和加密后的數(shù)據(jù)E(LKen,Rms2)時(shí),信息存儲設(shè)備通過使用鎖定主密鑰(LMK),計(jì)算已經(jīng)被存儲在信息存儲設(shè)備的存儲器中的輔ID(IDen)的散列值,從而計(jì)算與輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)。也就是說,信息存儲設(shè)備計(jì)算與輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)LKen=H(LMK,IDen)信息存儲設(shè)備通過使用由上述散列值計(jì)算所計(jì)算出的輔鎖定密鑰(LKen),來執(zhí)行隨機(jī)數(shù)Rms2的加密E(LKen,Rms2),該隨機(jī)數(shù)Rms2被存儲在信息存儲設(shè)備的存儲器中,并檢查該加密數(shù)據(jù)是否與從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LKen,Rms2)相同。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms2)等于由信息存儲設(shè)備計(jì)算的加密后的數(shù)據(jù)E(LKen,Rms2)時(shí),驗(yàn)證了該命令是來自于具有有效輔ID(IDen)和輔鎖定密鑰(LKen)組數(shù)據(jù)的主機(jī)設(shè)備的鎖定釋放請求,即解鎖請求。執(zhí)行解鎖,并將解鎖完成通知發(fā)送給主機(jī)設(shè)備。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms2)不等于由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)時(shí),就確定該主機(jī)設(shè)備不是具有用作有效的輔ID(IDen)和輔鎖定密鑰(LKen)的組數(shù)據(jù)的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備,并且該命令是來自于未認(rèn)證單元的解鎖請求。不執(zhí)行解鎖,并將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備。
通過解鎖信息存儲設(shè)備,將鎖定狀態(tài)標(biāo)志從EL=1變?yōu)镋L=0。用作被導(dǎo)出鎖定的信息存儲設(shè)備進(jìn)行重鎖的標(biāo)準(zhǔn)鎖定也被釋放,并且將SL=1變?yōu)镾L=0。也就是說,根據(jù)導(dǎo)出鎖定的釋放,來釋放標(biāo)準(zhǔn)鎖定。
改變鎖定狀態(tài)標(biāo)志的時(shí)序如下首先,存儲在控制器的RAM中的標(biāo)志被重寫。隨后,例如,在關(guān)閉電源之前,將RAM中的標(biāo)志信息適當(dāng)?shù)貜?fù)制到NVM中。當(dāng)再次打開電源時(shí),NVM中的標(biāo)志信息被復(fù)制到RAM中。控制器基于RAM中的標(biāo)志信息,執(zhí)行存取控制。
參照圖14和15的流程圖,現(xiàn)在將描述從被導(dǎo)出鎖定的信息存儲設(shè)備中印記或獲得由輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]以及解鎖被導(dǎo)出鎖定的信息存儲設(shè)備的過程的步驟。
在步驟S401中,響應(yīng)于來自于主機(jī)設(shè)備的隨機(jī)數(shù)生成請求命令的接收,用作信息存儲設(shè)備的存儲卡生成隨機(jī)數(shù)(Rms)。在步驟S402中,由主機(jī)設(shè)備讀取所生成的隨機(jī)數(shù)和輔ID(IDen),該輔ID(IDen)已經(jīng)被從執(zhí)行導(dǎo)出鎖定的主機(jī)設(shè)備發(fā)送到信息存儲設(shè)備,并被存儲在信息存儲設(shè)備的存儲器的導(dǎo)出鎖定密鑰組存儲區(qū)中。此時(shí),主機(jī)設(shè)備獲得輔密鑰組[IDen,LKen]的輔ID(IDen)。
由于主機(jī)設(shè)備確定從存儲卡讀取的輔ID(IDen)與主機(jī)設(shè)備的主ID(ID)不同,所以主機(jī)設(shè)備確定信息存儲設(shè)備未被標(biāo)準(zhǔn)鎖定,而是被導(dǎo)出鎖定。在步驟S403中,除了標(biāo)準(zhǔn)鎖定命令(用作重鎖)之外,主機(jī)設(shè)備還將加密數(shù)據(jù)E(LK,Rms)發(fā)送給用作信息存儲設(shè)備的存儲卡,上述加密數(shù)據(jù)E(LK,Rms)是通過使用主機(jī)設(shè)備的主鎖定密鑰(LK)和主機(jī)設(shè)備的主ID(ID)來加密所接收的隨機(jī)數(shù)(Rms)而生成的。
在步驟S404中,信息存儲設(shè)備(存儲卡)將從主機(jī)設(shè)備接收的主ID(ID)和加密數(shù)據(jù)E(LK,Rms)寫入到信息存儲設(shè)備的存儲器中。在步驟S405中,存儲卡通過使用在存儲卡的存儲器中存儲的鎖定主密鑰(LMK)來計(jì)算所接收的主ID(ID)的散列值,從而計(jì)算與主ID(ID)相關(guān)的主鎖定密鑰(LK)。也就是說,存儲卡計(jì)算與主ID(ID)相關(guān)的主鎖定密鑰(LK)H(LMK,ID)=LK基于所計(jì)算的主鎖定密鑰(LK),存儲卡加密在步驟S401中預(yù)先生成的隨機(jī)數(shù)(Rms),并生成用作校驗(yàn)數(shù)據(jù)的加密數(shù)據(jù)E(LK,Rms)。
在步驟S406中,存儲卡對在步驟S405中計(jì)算的加密數(shù)據(jù)E(LK,Rms)和在步驟S403中除了標(biāo)準(zhǔn)鎖定命令之外從主機(jī)設(shè)備接收的并在步驟S404中存儲在存儲器中的加密數(shù)據(jù)E(LK,Rms)進(jìn)行比較和檢查(E(LK,Rms)=E(LK,Rms)?),以查看兩個(gè)數(shù)據(jù)是否相同。
當(dāng)通過比較和檢查確定這兩個(gè)值相同時(shí),就驗(yàn)證了該主機(jī)設(shè)備為具有用作有效正確的主ID(ID)和主鎖定密鑰(LK)的組數(shù)據(jù)的主密鑰組[ID,LK]的有效單元。在步驟S407中,響應(yīng)于標(biāo)準(zhǔn)鎖定命令來執(zhí)行標(biāo)準(zhǔn)鎖定。這對應(yīng)于重鎖,其中標(biāo)準(zhǔn)鎖定已經(jīng)被導(dǎo)出鎖定的信息存儲設(shè)備。RAM中的信息存儲設(shè)備的鎖定狀態(tài)標(biāo)志被設(shè)為EL=1且SL=1,其指示導(dǎo)出鎖定和標(biāo)準(zhǔn)鎖定都有效。
當(dāng)在步驟S406中通過比較和檢查確定兩個(gè)值不相同時(shí),在步驟S408中,確定已發(fā)送了標(biāo)準(zhǔn)鎖定命令的主機(jī)設(shè)備不是具有用作有效的主ID(ID)和主鎖定密鑰(LK)的組數(shù)據(jù)的主密鑰組[ID,LK]的主機(jī)設(shè)備。不執(zhí)行重鎖,并將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備。
當(dāng)在步驟S407中執(zhí)行用作重鎖的標(biāo)準(zhǔn)鎖定時(shí),在執(zhí)行印記和解鎖時(shí),過程前進(jìn)到圖15的步驟S501。
當(dāng)接收到重鎖完成通知時(shí),主機(jī)設(shè)備再次給信息存儲設(shè)備發(fā)送隨機(jī)數(shù)生成命令。當(dāng)接收到隨機(jī)數(shù)生成命令時(shí),在步驟S501中,信息存儲設(shè)備生成第二隨機(jī)數(shù)(Rms2)。在步驟S502中,主機(jī)設(shè)備從信息存儲設(shè)備讀取下列相關(guān)數(shù)據(jù)[ID,Rms2,IDen和E(LK,LKen)]所生成的隨機(jī)數(shù)(Rms2);已執(zhí)行了標(biāo)準(zhǔn)鎖定的主機(jī)設(shè)備的主ID(ID);輔ID(IDen);和通過使用與主ID(ID)相關(guān)的組數(shù)據(jù)的主鎖定密鑰(LK)來加密與輔ID(IDen)相關(guān)的組數(shù)據(jù)的輔鎖定密鑰(LKen)從而生成的加密數(shù)據(jù)E(LK,LKen)。
在步驟S503中,主機(jī)設(shè)備向信息存儲設(shè)備發(fā)送鎖定釋放請求或解鎖命令。主機(jī)設(shè)備除了發(fā)送加密數(shù)據(jù)E(LKen,Rms)之外,還發(fā)送該解鎖命令。
通過下列步驟生成加密數(shù)據(jù)E(LKen,Rms2)。在步驟S502中,主機(jī)設(shè)備從信息存儲設(shè)備讀取包含ID、Rms2、IDen和E(LK,LKen)的數(shù)據(jù)。該主機(jī)設(shè)備通過使用存儲在主機(jī)設(shè)備的存儲器中的主鎖定密鑰(LK),來解密加密數(shù)據(jù)E(LK,LKen),以獲得輔鎖定密鑰(LKen)。這是與先前獲得的輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)?;谠撦o鎖定密鑰(LKen),主機(jī)設(shè)備加密從信息存儲設(shè)備接收的隨機(jī)數(shù)(Rms2),以生成加密數(shù)據(jù)E(LKen,Rms2)。
主機(jī)設(shè)備將所獲得的輔密鑰組[IDen,LKen]存儲在存儲器中,從而完成了印記。換言之,主機(jī)設(shè)備執(zhí)行印記以加入到第n個(gè)組群中。
在步驟S504中,從主機(jī)設(shè)備接收加密數(shù)據(jù)E(LKen,Rms2)的信息存儲設(shè)備將接收的數(shù)據(jù)(LKen,Rms2)寫入到存儲器中。在步驟S505中,信息存儲設(shè)備計(jì)算校驗(yàn)數(shù)據(jù)。
通過下列步驟來計(jì)算校驗(yàn)數(shù)據(jù)。通過使用鎖定主密鑰(LMK)來計(jì)算存儲在信息存儲設(shè)備的存儲器中的輔ID(IDen)的散列值,從而計(jì)算與該輔ID相關(guān)的輔鎖定密鑰(LKen)。也就是說,計(jì)算與該輔ID(IDen)相關(guān)的輔鎖定密鑰(LKen)LKen=H(LMK,IDen)信息存儲設(shè)備通過使用由上述散列值計(jì)算所計(jì)算出的輔鎖定密鑰(LKen),執(zhí)行對在步驟S501中生成的并被存儲在存儲器中的隨機(jī)數(shù)Rms2的加密E(LKen,Rms2),從而生成校驗(yàn)數(shù)據(jù)。
在步驟S506中,信息存儲設(shè)備比較校驗(yàn)數(shù)據(jù)E(LKen,Rms2)和從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LKen,Rms2),以檢查它們是否相同。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms2)等于由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)時(shí),確定該命令是來自于具有用作有效的輔ID(IDen)和輔鎖定密鑰(LKen)的組數(shù)據(jù)的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備的鎖定釋放請求,即,解鎖請求。在步驟S507中,解鎖被執(zhí)行,并且將解鎖完成通知傳送到主機(jī)設(shè)備。當(dāng)這兩個(gè)數(shù)據(jù)不相同時(shí),確定該主機(jī)設(shè)備不是具有有效的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備,且該命令是來自于未認(rèn)證單元的解鎖請求。不執(zhí)行解鎖。在步驟S508中,將錯(cuò)誤通知發(fā)送到主機(jī)設(shè)備。
根據(jù)該過程的該示例,多個(gè)主機(jī)設(shè)備具有公共的輔密鑰組[IDen,LKen],并且可以鎖定和解鎖一個(gè)信息存儲設(shè)備(存儲卡)。當(dāng)信息存儲設(shè)備被導(dǎo)出鎖定時(shí),可以經(jīng)信息存儲設(shè)備復(fù)制輔密鑰組[IDen,LKen],并將其存儲在另一個(gè)主機(jī)設(shè)備中。因此,可以以靈活的方式形成組群。假若主機(jī)設(shè)備具有有效的主ID(ID)和主鎖定密鑰(LK),并且主機(jī)設(shè)備可以執(zhí)行重鎖,就可以在該主機(jī)設(shè)備中執(zhí)行輔密鑰組[IDen,LKen]的復(fù)制或印記。這防止了將輔密鑰組[IDen,LKen]復(fù)制(印記)到未認(rèn)證單元。
如參照圖10(c)所述,通過使用輔密鑰組[IDen,LKen]而進(jìn)行的標(biāo)準(zhǔn)鎖定(=組群鎖定)也是可以實(shí)現(xiàn)的。當(dāng)執(zhí)行組群鎖定時(shí),輔密鑰組[IDen,LKen]被存儲在信息存儲設(shè)備的標(biāo)準(zhǔn)鎖定密鑰存儲區(qū)中(見圖10),并且不能將其復(fù)制或輸出到另一個(gè)主機(jī)設(shè)備。換言之,只有已經(jīng)獲得相同的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備,才可以通過執(zhí)行不包含印記的常規(guī)解鎖,來存取信息存儲設(shè)備。
在上述[通過單元組群進(jìn)行的鎖定]中,當(dāng)被導(dǎo)出鎖定的信息存儲設(shè)備被解鎖時(shí),重新設(shè)置所有的鎖定狀態(tài)標(biāo)志,即,在NVM和RAM中設(shè)置指示導(dǎo)出鎖定被釋放的EL=0和指示標(biāo)準(zhǔn)鎖定被釋放的SL=0。在設(shè)置EL=0且SL=0的同時(shí),當(dāng)電源被關(guān)閉,然后被打開時(shí),由于在NVM中設(shè)置了EL=0且SL=0,所以在控制器中的RAM中也設(shè)置了EL=0且SL=0。所有的鎖定狀態(tài)被釋放,并且每個(gè)主機(jī)設(shè)備都可以存取存儲器,而不用認(rèn)證。
當(dāng)這樣一個(gè)未鎖定的信息存儲設(shè)備被竊取或丟失,并且其落入未認(rèn)證的第三方用戶的不正當(dāng)手中時(shí),該未認(rèn)證的第三方用戶可以不經(jīng)認(rèn)證而存取存儲器。當(dāng)存儲了秘密信息時(shí),這種情況是不利的。
考慮到前述問題,現(xiàn)在描述下面的示例。即使當(dāng)主機(jī)設(shè)備解鎖了被導(dǎo)出鎖定的信息存儲設(shè)備,然后將其關(guān)閉時(shí),信息存儲設(shè)備仍然保持被導(dǎo)出鎖定。當(dāng)電源再次被打開時(shí),在導(dǎo)出鎖定被釋放的情況下,允許對信息存儲設(shè)備進(jìn)行存儲器存取。
在該示例中,與在前面參照圖9所述的[通過單元組群進(jìn)行的鎖定]中相同,將由主ID(ID)和主鎖定密鑰(LK)構(gòu)成的主密鑰組[ID,LK]存儲在主機(jī)設(shè)備的諸如ROM的存儲器中??捎糜趯?dǎo)出鎖定的用作輔ID和輔鎖定密鑰的組數(shù)據(jù)的至少一個(gè)輔密鑰組[IDen,LKen],可以被存儲在主機(jī)設(shè)備的諸如ROM的存儲器中。將鎖定主密鑰(LMK)存儲在信息存儲設(shè)備的控制器中的諸如ROM的存儲器中。存儲在信息存儲設(shè)備中的鎖定主密鑰(LMK)和存儲在主機(jī)設(shè)備中的ID(包含ID和IDen)和鎖定密鑰(LK(包含LK和LKen))有下列關(guān)系LK=H(LMK,ID)以與前述的[基于鎖定主密鑰(LMK)的過程]中描述的時(shí)序類似的時(shí)序,來執(zhí)行由主機(jī)設(shè)備基于主ID(ID)和主鎖定密鑰(LK)進(jìn)行的鎖定和解鎖。以與前述的[通過單元組群進(jìn)行的鎖定]中描述的時(shí)序類似的時(shí)序,來執(zhí)行基于輔ID(IDen)和輔鎖定密鑰(LKen)進(jìn)行的鎖定。現(xiàn)在將描述該過程示例中,在印記和解鎖過程中的鎖定狀態(tài)標(biāo)志的保持。
(在印記和解鎖過程中保持鎖定狀態(tài)標(biāo)志)現(xiàn)在將參照圖16等,描述主機(jī)設(shè)備從被導(dǎo)出鎖定的信息存儲設(shè)備印記或獲得由輔鎖定密鑰(LKen)和輔ID(IDen)構(gòu)成的輔密鑰組[IDen,LKen],解鎖被導(dǎo)出鎖定的信息存儲設(shè)備,以及信息存儲設(shè)備保持鎖定狀態(tài)標(biāo)志。
圖16中示出的時(shí)序圖基本上與參照圖13描述的相同,上述圖13示出了在主機(jī)設(shè)備和信息存儲設(shè)備之間執(zhí)行的印記及解鎖被導(dǎo)出鎖定的信息存儲設(shè)備的過程。過程的步驟也相同。
圖16中示出的時(shí)序圖與參照圖13中示出的時(shí)序圖的不同之處在于在該時(shí)序圖的最后步驟中,在發(fā)送解鎖完成通知之后,信息存儲設(shè)備在NVM中設(shè)置標(biāo)志。具體地,在前述的[通過單元組群進(jìn)行的鎖定]中描述的過程中,當(dāng)被導(dǎo)出鎖定的信息存儲設(shè)備被解鎖時(shí),在NVM和RAM中設(shè)置指示導(dǎo)出鎖定被釋放的EL=0和指示標(biāo)準(zhǔn)鎖定被釋放的SL=0。相反,根據(jù)該過程,在NVM中設(shè)置指示信息存儲設(shè)備被導(dǎo)出鎖定并且被標(biāo)準(zhǔn)鎖定的EL=1和SL=1。
參照圖17,現(xiàn)在將詳細(xì)描述在NVM中設(shè)置鎖定狀態(tài)標(biāo)志的過程。圖17中示出的過程的流程是這樣的流程,其描述在圖16(類似于圖13)中示出的時(shí)序圖中,在接收到鎖定釋放請求(解鎖命令)之后,由信息存儲設(shè)備執(zhí)行的過程的步驟。
在步驟S601中,信息存儲設(shè)備(存儲卡)接收鎖定釋放請求(解鎖命令)。信息存儲設(shè)備確定是否執(zhí)行解鎖命令。在步驟S602中,信息存儲設(shè)備核對除解鎖命令之外從主機(jī)設(shè)備接收的加密數(shù)據(jù)E(LKen,Rms2)和由信息存儲設(shè)備生成的加密數(shù)據(jù)E(LKen,Rms2)。這與在[通過單元組群進(jìn)行的鎖定]中描述的類似。
當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms2)與由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)不同時(shí),在步驟S607中,將錯(cuò)誤通知發(fā)送到主機(jī)設(shè)備。終止該過程。
相反,當(dāng)從主機(jī)設(shè)備接收的數(shù)據(jù)E(LKen,Rms2)與由信息存儲設(shè)備計(jì)算的加密數(shù)據(jù)E(LKen,Rms2)相同時(shí),確定該命令是來自于具有有效的輔密鑰組[IDen,LKen]的主機(jī)設(shè)備的解鎖請求。在步驟S603中,執(zhí)行解鎖,并將解鎖完成通知發(fā)送給主機(jī)設(shè)備。
在步驟S604中,信息存儲設(shè)備(存儲卡)將存儲在控制器的RAM中的鎖定狀態(tài)標(biāo)志(SL=1和EL=1)復(fù)制到NVM,并將NVM中的鎖定狀態(tài)標(biāo)志設(shè)置為SL=1和EL=1,其中EL=1指示信息存儲設(shè)備被導(dǎo)出鎖定,而SL=1指示信息存儲設(shè)備被標(biāo)準(zhǔn)鎖定。
在完成步驟S604中的復(fù)制標(biāo)志之后,在步驟S605中,重新設(shè)置在控制器的RAM中的鎖定狀態(tài)標(biāo)志(SL=1且EL=1),也就是,RAM中的鎖定狀態(tài)標(biāo)志被設(shè)置為SL=0和EL=0,其中,SL=0指示信息存儲設(shè)備未被標(biāo)準(zhǔn)鎖定,而EL=0指示信息存儲設(shè)備未被導(dǎo)出鎖定。
在此狀態(tài)下,也就是,當(dāng)RAM中的鎖定狀態(tài)標(biāo)志被設(shè)置為SL=0和EL=0時(shí),存儲器存取就可自由使用,也就是,對信息存儲設(shè)備中的存儲器(圖3的存儲器220)的存取,變成對解鎖信息存儲設(shè)備的主機(jī)設(shè)備可用。
當(dāng)從主機(jī)設(shè)備中移除信息存儲設(shè)備(存儲卡)并停止供給信息存儲設(shè)備電源時(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)執(zhí)行一個(gè)過程。參照圖18中的處理流程,現(xiàn)在將描述在再次打開信息存儲設(shè)備之后執(zhí)行的過程。
圖18中示出的處理流程示出了在關(guān)閉信息存儲設(shè)備然后再打開時(shí)執(zhí)行的過程。
在步驟S701中,信息存儲設(shè)備(存儲卡)被置于主機(jī)設(shè)備中,并從電源關(guān)閉狀態(tài)變?yōu)殡娫创蜷_狀態(tài)。在步驟S702中,信息存儲設(shè)備將NVM中存儲的鎖定狀態(tài)標(biāo)志(SL和EL)復(fù)制到控制器的RAM中??刂破骰谠赗AM中的狀態(tài)標(biāo)志進(jìn)行控制。
在步驟S703中,信息存儲設(shè)備從相連的主機(jī)設(shè)備接收存儲器存取請求或解鎖命令。信息存儲設(shè)備的控制器參照RAM中的鎖定狀態(tài)。
當(dāng)在步驟S704中確定RAM中的狀態(tài)標(biāo)志是EL=1時(shí),在步驟S705中執(zhí)行解鎖(見圖13至15)。當(dāng)主機(jī)設(shè)備沒有用于信息存儲設(shè)備的導(dǎo)出鎖定的輔密鑰組[IDen,LKen]時(shí),主機(jī)設(shè)備必須執(zhí)行印記。當(dāng)通過參照圖13至15描述的驗(yàn)證確定該命令是來自于有效的主機(jī)設(shè)備的解鎖請求時(shí),執(zhí)行解鎖(步驟S708中的“是”)。在步驟S709中,允許存儲器存取。當(dāng)通過驗(yàn)證確定該命令是來自于未認(rèn)證的主機(jī)設(shè)備的解鎖請求時(shí),不執(zhí)行解鎖(步驟S708中的“否”),并發(fā)送錯(cuò)誤通知(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)通過參照圖7和8描述的驗(yàn)證確定該命令是來自于有效的主機(jī)設(shè)備的解鎖請求時(shí),執(zhí)行解鎖(步驟S708中的“是”)。在步驟S709中,允許存儲器存取。當(dāng)通過驗(yàn)證確定該命令是來自于未認(rèn)證的主機(jī)設(shè)備的解鎖請求時(shí),不執(zhí)行解鎖(步驟S708中的“否”),并發(fā)送錯(cuò)誤通知(S710)。
當(dāng)在步驟S704中確定RAM中的狀態(tài)標(biāo)志是EL=0時(shí),并且當(dāng)在步驟S706中確定RAM中的狀態(tài)標(biāo)志是SL=0時(shí),不鎖定信息存儲設(shè)備。在步驟S709中,允許存儲器存取。
如參照圖16和圖17所述,當(dāng)主機(jī)設(shè)備解鎖被導(dǎo)出鎖定的信息存儲設(shè)備,然后關(guān)閉信息存儲設(shè)備時(shí),NVM中的鎖定狀態(tài)標(biāo)志被設(shè)為SL=1和EL=1。當(dāng)隨后電源開啟,RAM中的鎖定狀態(tài)標(biāo)志被設(shè)為SL=1和EL=1。因此,圖18的處理流程的步驟S704中的確定(EL=1?)為“是”。步驟S705中的處理被執(zhí)行。也就是,假若被導(dǎo)出鎖定的信息處理設(shè)備被解鎖(見圖13至圖15),允許存儲器存取。
如上所述,根據(jù)該過程的該示例,在NVM中存儲解鎖之前的鎖定狀態(tài)標(biāo)志,其包含狀態(tài)信息,基于該狀態(tài)信息來確定信息存儲設(shè)備是否被導(dǎo)出鎖定(EL)或者被標(biāo)準(zhǔn)鎖定(SL),在被導(dǎo)出鎖定的情況下可以輸出用于鎖定或解鎖的密鑰組,而在被標(biāo)準(zhǔn)鎖定的情況下不可以輸出用于鎖定或解鎖的密鑰組。當(dāng)信息存儲設(shè)備被關(guān)閉,然后打開時(shí),基于NVM中存儲的標(biāo)志可靠地復(fù)制解鎖之前的鎖定狀態(tài)。
根據(jù)該過程的示例,例如,即使當(dāng)被導(dǎo)出鎖定的信息存儲設(shè)備被主機(jī)設(shè)備解鎖時(shí),仍然保持導(dǎo)出鎖定狀態(tài)。當(dāng)信息存儲設(shè)備被關(guān)閉然后再打開時(shí),在執(zhí)行解鎖的情況下,允許存儲器存取。僅當(dāng)具有有效的主密鑰組[ID,LK]的主機(jī)設(shè)備執(zhí)行包含上述重鎖的預(yù)定過程時(shí),才可以執(zhí)行解鎖。這就防止了未認(rèn)證單元進(jìn)行存取。
現(xiàn)在將描述一個(gè)過程的示例,其中由信息存儲設(shè)備的控制器監(jiān)測主機(jī)設(shè)備從信息存儲設(shè)備(存儲卡)中讀取數(shù)據(jù),并且響應(yīng)于觸發(fā)(trigger),即,對預(yù)定數(shù)據(jù)區(qū)(例如,特定簇)的讀取,而執(zhí)行鎖定。
信息存儲設(shè)備(存儲卡)的存儲器(圖2的存儲器220)中存儲的數(shù)據(jù)的讀取,由例如根據(jù)存儲的數(shù)據(jù)所生成的重放管理文件(PBLIST)來管理。根據(jù)該重放管理文件,控制器從存儲器(圖2的存儲器220)讀取數(shù)據(jù),并將數(shù)據(jù)輸出到主機(jī)設(shè)備。
當(dāng)讀取數(shù)據(jù)時(shí),信息存儲設(shè)備的控制器可以監(jiān)測正在被讀取的數(shù)據(jù)。例如,可以以預(yù)定單位,諸如用作正在被讀取的數(shù)據(jù)單位的簇,來監(jiān)測以ATRAC3壓縮的音頻數(shù)據(jù)。
如圖19所示,以ATRAC3壓縮的音頻數(shù)據(jù)包含多個(gè)部分,每個(gè)部分包含多個(gè)簇,每個(gè)簇包含多個(gè)SU(聲音單位),其用作最小數(shù)據(jù)單位。每個(gè)SU(聲音單位)包含幾百字節(jié)的數(shù)據(jù),其是通過將以44.1kHz的采樣頻率獲得的1024采樣(1024×16比特×2信道)的音頻數(shù)據(jù)壓縮到大約1/10而生成的。每個(gè)簇包含由多個(gè)SU(例如,42個(gè)SU)構(gòu)成的數(shù)據(jù)。包含42個(gè)SU的一個(gè)簇代表持續(xù)大約1秒的聲音。
給每個(gè)簇一個(gè)唯一的邏輯號,并通過該邏輯號來管理簇。信息存儲設(shè)備的控制器210(見圖3)基于邏輯號檢查是否讀取了特定簇。例如,當(dāng)輸出數(shù)據(jù)是音樂內(nèi)容時(shí),與音樂內(nèi)容的介紹或副歌(refrain)相對應(yīng)的至少一個(gè)簇的邏輯號被提取,作為與內(nèi)容相關(guān)的鎖定相關(guān)簇。所提取的簇邏輯號被設(shè)置為與內(nèi)容相關(guān)的注冊信息,并被存儲在用于存儲內(nèi)容的存儲器(閃存)中。
當(dāng)讀取內(nèi)容時(shí),在信息存儲設(shè)備的控制器中的存儲器(RAM)中臨時(shí)存儲注冊信息??刂破鲗λx取內(nèi)容的每個(gè)簇與鎖定相關(guān)簇進(jìn)行核對。當(dāng)所讀取內(nèi)容的簇對應(yīng)于鎖定相關(guān)簇的邏輯號時(shí),執(zhí)行鎖定??梢栽诟鱾€(gè)時(shí)間,諸如開始讀取鎖定相關(guān)簇的時(shí)間,結(jié)束讀取鎖定相關(guān)簇的時(shí)間,或者結(jié)束讀取包含鎖定相關(guān)簇的整個(gè)內(nèi)容的時(shí)間,執(zhí)行鎖定。執(zhí)行根據(jù)設(shè)置進(jìn)行的檢測,基于控制設(shè)置的檢測來執(zhí)行鎖定。當(dāng)執(zhí)行鎖定時(shí),在執(zhí)行了解鎖的情況下,必須執(zhí)行重新讀取。
參照圖20,現(xiàn)在將描述在從存儲器220(見圖3)中讀取特定數(shù)據(jù)區(qū)(例如,特定簇)的情況下,信息存儲設(shè)備的控制器210執(zhí)行的鎖定過程。
雖然為了簡化描述,圖20的處理流程僅包含標(biāo)準(zhǔn)鎖定(SL),但是在導(dǎo)出鎖定(EL)的情況下也可以執(zhí)行類似過程。
在步驟S801中,打開信息存儲設(shè)備。在步驟S802中,將NVM中存儲的鎖定狀態(tài)標(biāo)志復(fù)制并存儲到控制器210的RAM213(見圖3)中。控制器根據(jù)RAM213中的狀態(tài)標(biāo)志,執(zhí)行控制。
在步驟S803中,確定信息存儲設(shè)備是否被標(biāo)準(zhǔn)鎖定(SL=1)。當(dāng)SL=1時(shí),在步驟S804中,信息存儲設(shè)備被解鎖。例如,解鎖類似于參照圖7和8描述的解鎖。
當(dāng)信息存儲設(shè)備通過驗(yàn)證確定主機(jī)設(shè)備具有有效的主ID和主鎖定密鑰時(shí),并且當(dāng)解鎖成功時(shí)(S805中的“是”),過程前進(jìn)到步驟S806。當(dāng)解鎖失敗時(shí),在步驟S810中,將錯(cuò)誤通知發(fā)送給主機(jī)設(shè)備,并終止該過程。
在解鎖成功的情況下,在步驟S806中,更新RAM和NVM中的鎖定狀態(tài)標(biāo)志,即,鎖定狀態(tài)標(biāo)志被設(shè)為SL=0,其指示鎖定被釋放。
當(dāng)信息存儲設(shè)備開始讀取數(shù)據(jù)時(shí),在步驟S807中,信息存儲設(shè)備的控制器監(jiān)測是否讀取了預(yù)定的鎖定相關(guān)簇。當(dāng)檢測到從該鎖定相關(guān)簇讀取數(shù)據(jù)時(shí),在步驟S808中,控制器210的RAM213(見圖3)中的鎖定狀態(tài)標(biāo)志被設(shè)置為鎖定狀態(tài)(SL=1)。在步驟S809中,NVM中的鎖定狀態(tài)標(biāo)志被設(shè)置為鎖定狀態(tài)(SL=1)。
通過讀取預(yù)定簇,信息存儲設(shè)備被鎖定。當(dāng)后來執(zhí)行重新讀取時(shí),必須執(zhí)行解鎖。只有具有與在鎖定信息存儲設(shè)備中使用的那些相同的主ID(ID)和主鎖定密鑰(LK)的主機(jī)設(shè)備才可以執(zhí)行解鎖。這防止了被鎖定的信息存儲設(shè)備(存儲卡)的無限制使用。
當(dāng)信息存儲設(shè)備被關(guān)閉時(shí),可以將鎖定信息設(shè)置為釋放?;蛘撸缟纤觯词乖陔娫搓P(guān)閉時(shí),也在NVM中保存鎖定狀態(tài)信息。當(dāng)電源再次打開時(shí),NVM中的鎖定狀態(tài)標(biāo)志被復(fù)制到控制器的RAM中,從而在電源關(guān)閉之前保持并復(fù)制了鎖定狀態(tài)。
根據(jù)該過程的該示例,當(dāng)解鎖之后讀取數(shù)據(jù)時(shí),實(shí)施所謂的一次讀取存取控制,其中僅允許讀取一次。
在圖20的過程示例中,僅示出了標(biāo)準(zhǔn)鎖定。但是,在導(dǎo)出鎖定情況下可以執(zhí)行類似過程。即,響應(yīng)于觸發(fā),即對預(yù)定數(shù)據(jù)區(qū)的讀取,導(dǎo)出鎖定信息存儲設(shè)備。
現(xiàn)在將描述用于存取可以處于各種鎖定狀態(tài)的信息存儲設(shè)備的主機(jī)設(shè)備中,用于檢測信息存儲設(shè)備的鎖定狀態(tài)的顯示結(jié)構(gòu)和過程。
圖21示出了具有鎖定狀態(tài)顯示指示器和各種過程開關(guān)的鎖定/解鎖單元的結(jié)構(gòu)的示例。具有接口的鎖定/解鎖單元720具有下列鎖定狀態(tài)指示器,通過上述接口可以與用作信息存儲設(shè)備的存儲卡710傳送數(shù)據(jù)
指示解鎖狀態(tài)的解鎖指示器721;指示鎖定狀態(tài)的鎖定指示器722;指示導(dǎo)出解鎖狀態(tài)的E-鎖定指示器723;和指示錯(cuò)誤通知的ERR指示器724。
各種過程請求開關(guān)包含用作解鎖請求開關(guān)的解鎖開關(guān)731;用作請求使用主密鑰組進(jìn)行標(biāo)準(zhǔn)鎖定的開關(guān)的P-鎖定開關(guān)732;用作請求使用輔密鑰組進(jìn)行標(biāo)準(zhǔn)鎖定(組群鎖定)的開關(guān)的G-鎖定開關(guān)733;和用作請求使用輔密鑰組進(jìn)行導(dǎo)出鎖定的開關(guān)的E-鎖定開關(guān)734。
圖21(b)示出的鎖定/解鎖單元的示例除了包含上述開關(guān)之外,還包含用作專用于請求印記的開關(guān)的印記開關(guān)735,其在主機(jī)設(shè)備中存儲由存儲在被導(dǎo)出鎖定的信息存儲設(shè)備中的輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]。
在圖21中,示出了鎖定/解鎖單元的指示器和過程請求開關(guān)。如上所述,主機(jī)設(shè)備包含各種單元,其包含信息處理裝置,諸如PC、PDA等;數(shù)碼相機(jī),諸如DSC;和移動(dòng)通信終端。這些單元的每一個(gè)都可以經(jīng)其輸入裝置,將命令發(fā)送到信息存儲設(shè)備(存儲卡)??梢栽谶@些單元的每一個(gè)的LCD等上顯示鎖定狀態(tài),或者通過聲音、告警等來報(bào)告鎖定狀態(tài)。
現(xiàn)在將參照圖22等,描述主機(jī)設(shè)備顯示鎖定狀態(tài)以及將命令從主機(jī)設(shè)備發(fā)送到信息存儲設(shè)備(存儲卡)的過程。
圖22示出了描述在例如信息存儲設(shè)備(存儲卡)與主機(jī)設(shè)備相連時(shí),讀取鎖定狀態(tài)的過程的流程??梢皂憫?yīng)于用戶的輸入命令來執(zhí)行鎖定狀態(tài)讀取過程,或者在信息存儲設(shè)備(存儲卡)與主機(jī)設(shè)備相連時(shí),自動(dòng)執(zhí)行鎖定狀態(tài)讀取過程。
在步驟S901中,從信息存儲設(shè)備中讀取鎖定狀態(tài)。該狀態(tài)信息基于在信息存儲設(shè)備的控制器210的RAM213(見圖3)中存儲的鎖定狀態(tài)標(biāo)志。在步驟S902中,基于該讀取的鎖定狀態(tài)信息,打開與鎖定狀態(tài)相關(guān)的指示器721到724之一。換言之,當(dāng)信息存儲設(shè)備被標(biāo)準(zhǔn)鎖定或被組群鎖定時(shí),顯示(打開)指示鎖定狀態(tài)的鎖定指示器722。當(dāng)信息存儲設(shè)備被導(dǎo)出鎖定時(shí),顯示(打開)指示導(dǎo)出鎖定狀態(tài)的E-鎖定指示器723。當(dāng)信息存儲設(shè)備未被鎖定時(shí),顯示(打開)指示解鎖狀態(tài)的解鎖指示器721。
現(xiàn)在將參照圖23,描述基于鎖定請求和鎖定執(zhí)行來顯示指示器的過程?;趤碜杂趫D21中所示的過程請求開關(guān)732到734之一的輸入,來執(zhí)行鎖定。
通過來自于S-鎖定開關(guān)732的輸入,來進(jìn)行對標(biāo)準(zhǔn)鎖定的請求,該標(biāo)準(zhǔn)鎖定使用由主ID(ID)和主鎖定密鑰(LK)構(gòu)成的主密鑰組[ID,LK]。通過來自于E-鎖定開關(guān)734的輸入,來進(jìn)行對導(dǎo)出鎖定的請求,該導(dǎo)出鎖定使用由輔ID(IDen)和輔鎖定密鑰(LKen)構(gòu)成的輔密鑰組[IDen,LKen]。通過來自于G-鎖定開關(guān)733的輸入,來進(jìn)行對使用輔密鑰組[IDen,LKen]的標(biāo)準(zhǔn)鎖定,即組群鎖定的請求。
當(dāng)接收到這些輸入中的任一個(gè)時(shí),在步驟S911中,檢測信息存儲設(shè)備(存儲卡)的鎖定狀態(tài)。當(dāng)信息存儲設(shè)備未被鎖定時(shí),在步驟S914中,顯示錯(cuò)誤(ERR)指示器。當(dāng)信息存儲設(shè)備被解鎖時(shí),在步驟S912中,執(zhí)行標(biāo)準(zhǔn)鎖定、導(dǎo)出鎖定和組群鎖定中的任一個(gè)。在鎖定完成之后,顯示主機(jī)設(shè)備的相關(guān)鎖定指示器,即,指示鎖定狀態(tài)的鎖定指示器722或指示導(dǎo)出鎖定的E-鎖定指示器723。
現(xiàn)在將參照圖24,描述在解鎖信息存儲設(shè)備和顯示指示時(shí)主機(jī)設(shè)備的操作。
通過按下圖21的解鎖請求開關(guān)731來執(zhí)行解鎖。通過按下解鎖請求開關(guān),檢測信息存儲設(shè)備的鎖定狀態(tài)?;诳刂破鞯腞AM中的上述鎖定狀態(tài)標(biāo)志,來執(zhí)行狀態(tài)檢測。當(dāng)信息存儲設(shè)備被解鎖時(shí)(步驟S921中的“否”),在步驟S923中,顯示錯(cuò)誤(ERR)指示器724。
在讀取鎖定狀態(tài)的步驟S922中,確定是否導(dǎo)出鎖定或標(biāo)準(zhǔn)鎖定了信息存儲設(shè)備?;谏鲜鲦i定狀態(tài)標(biāo)志,確定是否導(dǎo)出鎖定或標(biāo)準(zhǔn)鎖定了信息存儲設(shè)備?;诖_定結(jié)果,打開圖21中示出的與鎖定狀態(tài)相關(guān)的指示器721至724中的一個(gè)。
當(dāng)導(dǎo)出鎖定信息存儲設(shè)備時(shí)(步驟S924中的“是”),執(zhí)行參照圖16至圖18描述的印記和解鎖。也就是,在步驟S925中,通過使用主ID(ID)和主鎖定密鑰(LK),來執(zhí)行重鎖。在步驟S926中,執(zhí)行輔ID(IDen)和輔鎖定密鑰(LKen)的印記(接收和存儲)。在步驟S927中,通過使用輔ID(IDen)和輔鎖定密鑰(LKen)來執(zhí)行解鎖。已經(jīng)參照圖16至18詳細(xì)描述了這些過程。于是,鎖定被釋放。在步驟S928中,顯示解鎖指示器721。
當(dāng)在步驟S924中確定鎖定狀態(tài)不同于導(dǎo)出鎖定,即鎖定狀態(tài)指示標(biāo)準(zhǔn)鎖定時(shí),在步驟S929中,確定是否標(biāo)準(zhǔn)鎖定了信息存儲設(shè)備。當(dāng)信息存儲設(shè)備被標(biāo)準(zhǔn)鎖定時(shí),在步驟S930中,執(zhí)行解鎖。應(yīng)用于解鎖的密鑰組是主密鑰組[ID,LK],或者在組群鎖定的情況下,是輔密鑰組[IDen,LKen]。當(dāng)鎖定被釋放時(shí),在步驟S928中,顯示解鎖指示器721。
當(dāng)在步驟S924中確定鎖定狀態(tài)不同于導(dǎo)出鎖定時(shí),并且在步驟S929中確定信息存儲設(shè)備未被標(biāo)準(zhǔn)鎖定時(shí),在步驟S931中,顯示錯(cuò)誤(ERR)指示器724。
雖然已經(jīng)參照具體實(shí)施例詳細(xì)描述了本發(fā)明,但是很清楚本領(lǐng)域技術(shù)人員可以做修改或替換,而不背離本發(fā)明的范圍。換言之,已經(jīng)通過示例描述了本發(fā)明,并且不應(yīng)從限制的方面來解釋本發(fā)明。僅通過本文開始處描述的權(quán)利要求來確定本發(fā)明的范圍。
可以通過硬件或軟加或二者來執(zhí)行說明書中描述的一系列過程。當(dāng)通過軟件來執(zhí)行過程時(shí),記錄過程時(shí)序的程序被安裝到包含在專用硬件中的嵌入式計(jì)算機(jī)的存儲器中,并被執(zhí)行?;蛘?,程序可被安裝到能夠執(zhí)行各種過程的通用計(jì)算機(jī)中,并被執(zhí)行。
例如,可以預(yù)先將程序記錄在用作記錄介質(zhì)的硬盤或ROM(只讀存儲器)上。或者,可以將程序臨時(shí)或永久存儲(記錄)在可移動(dòng)記錄介質(zhì)上,諸如軟盤、CD-ROM(光盤只讀存儲器)、MO(磁光)盤、DVD(數(shù)字化多功能盤)、磁盤或半導(dǎo)體存儲器上。這樣的可移動(dòng)記錄介質(zhì)可作為所謂的封裝軟件提供。
除了將程序從上述可移動(dòng)記錄介質(zhì)安裝到計(jì)算機(jī)上之外,也可以將程序從下載站點(diǎn)無線傳送到計(jì)算機(jī),或者經(jīng)網(wǎng)絡(luò)例如Internet有線傳送到計(jì)算機(jī)。計(jì)算機(jī)接收傳送的程序,并將該程序安裝到諸如硬盤的嵌入式記錄介質(zhì)中。
不僅可以以基于上面描述的時(shí)間序列模式,執(zhí)行說明書中描述的各種過程,而且也可以以并行或單個(gè)模式來執(zhí)行,這依賴于執(zhí)行這些過程的設(shè)備的性能或需要。本說明書中的詞語“系統(tǒng)”指的是多個(gè)設(shè)備的邏輯組合,這些設(shè)備不必包含在單個(gè)機(jī)殼中。
產(chǎn)業(yè)上的可利用性如上所述,根據(jù)本發(fā)明的結(jié)構(gòu),在響應(yīng)于來自被連接到信息存儲設(shè)備的主機(jī)設(shè)備的請求而讀取數(shù)據(jù)時(shí),諸如存儲卡的信息存儲設(shè)備確定從中讀取數(shù)據(jù)的數(shù)據(jù)區(qū)是否是鎖定相關(guān)數(shù)據(jù)區(qū)。在確定讀取了鎖定相關(guān)數(shù)據(jù)區(qū)的情況下,鎖定該存儲器。這防止了從諸如存儲卡的信息存儲設(shè)備多次讀取數(shù)據(jù),從而實(shí)現(xiàn)了所謂的一次讀取存取控制。
根據(jù)本發(fā)明的結(jié)構(gòu),基于用作存儲在存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號,確定從中讀取數(shù)據(jù)的數(shù)據(jù)區(qū)。在確定執(zhí)行了對與單個(gè)或多個(gè)連續(xù)的簇邏輯號相關(guān)的數(shù)據(jù)區(qū)的讀取的情況下,鎖定存儲器。因此,實(shí)現(xiàn)了一次讀取存取控制,其中任意設(shè)置各種數(shù)據(jù)區(qū),諸如音樂數(shù)據(jù)的介紹。
根據(jù)本發(fā)明的結(jié)構(gòu),在非易失存儲器(NVM)中存儲鎖定狀態(tài)信息,該NVM即使在關(guān)閉電源之后,也保持存儲在其中的信息。當(dāng)信息存儲設(shè)備被再次打開時(shí),基于鎖定狀態(tài)信息執(zhí)行對存儲器的存取控制。
權(quán)利要求
1.一種信息存儲設(shè)備,包括用于存儲數(shù)據(jù)的存儲器和用于對所述存儲器執(zhí)行存取控制的控制器,其中所述控制器對響應(yīng)于來自被連接到所述信息存儲設(shè)備的主機(jī)設(shè)備的請求而從所述存儲器讀取數(shù)據(jù)進(jìn)行控制,并且所述控制器確定包含從所述存儲器讀取的數(shù)據(jù)的數(shù)據(jù)區(qū)是否是預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū),并且假若確定所述鎖定相關(guān)數(shù)據(jù)區(qū)被讀取,就鎖定所述存儲器。
2.如權(quán)利要求1所述的信息存儲設(shè)備,其中所述控制器基于用作存儲在所述存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號,執(zhí)行所述數(shù)據(jù)區(qū)的確定,并且所述控制器對與預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)相關(guān)的簇的邏輯號和正被讀取的簇的邏輯號進(jìn)行核對。
3.如權(quán)利要求1所述的信息存儲設(shè)備,其中所述控制器基于用作存儲在所述存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號,執(zhí)行所述數(shù)據(jù)區(qū)的確定,并且假若確定與多個(gè)連續(xù)的簇邏輯號相關(guān)的數(shù)據(jù)區(qū)被讀取,就鎖定所述存儲器。
4.如權(quán)利要求1所述的信息存儲設(shè)備,其中所述信息存儲設(shè)備具有用作所述信息存儲設(shè)備的鎖定狀態(tài)數(shù)據(jù)的鎖定狀態(tài)信息,并且所述控制器通過更新所述鎖定狀態(tài)信息,來執(zhí)行鎖定。
5.如權(quán)利要求4所述的信息存儲設(shè)備,其中所述鎖定狀態(tài)信息被存儲在非易失存儲器(NVM)中,所述非易失存儲器即使在關(guān)閉電源之后,也可以保持存儲在其中的信息,和在再次打開所述信息存儲設(shè)備之后,所述控制器基于所述鎖定狀態(tài)信息,對所述存儲器執(zhí)行存取控制。
6.如權(quán)利要求1所述的信息存儲設(shè)備,其中假若檢測到開始讀取所述鎖定相關(guān)數(shù)據(jù)區(qū)、結(jié)束讀取所述鎖定相關(guān)數(shù)據(jù)區(qū)和結(jié)束讀取包含所述鎖定相關(guān)數(shù)據(jù)區(qū)的全部內(nèi)容中的任何一項(xiàng),就執(zhí)行鎖定。
7.一種信息存儲設(shè)備的存儲器存取控制方法,所述信息存儲設(shè)備包含用于存儲數(shù)據(jù)的存儲器和用于對所述存儲器執(zhí)行存取控制的控制器,所述方法包括響應(yīng)于來自被連接到所述信息存儲設(shè)備的主機(jī)設(shè)備的請求,從所述存儲器讀取數(shù)據(jù)的步驟;確定包含從所述存儲器讀取的數(shù)據(jù)的數(shù)據(jù)區(qū)是否是預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)的確定步驟;和假若確定所述鎖定相關(guān)數(shù)據(jù)區(qū)被讀取,就鎖定所述存儲器的鎖定步驟。
8.如權(quán)利要求7所述的存儲器存取控制方法,其中,所述確定步驟是基于用作存儲在所述存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號來執(zhí)行所述數(shù)據(jù)區(qū)的確定的步驟,并且所述確定步驟包含對與預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)相關(guān)的簇的邏輯號和正被讀取的簇的邏輯號進(jìn)行核對的步驟。
9.如權(quán)利要求7所述的存儲器存取控制方法,其中,所述確定步驟基于用作存儲在所述存儲器中的數(shù)據(jù)的區(qū)域信息的簇邏輯號來執(zhí)行所述數(shù)據(jù)區(qū)的確定,并且假若確定與多個(gè)連續(xù)的簇邏輯號相關(guān)的數(shù)據(jù)區(qū)被讀取,所述鎖定步驟就鎖定所述存儲器。
10.如權(quán)利要求7所述的存儲器存取控制方法,其中,所述鎖定步驟包含更新用作所述信息存儲設(shè)備的鎖定狀態(tài)數(shù)據(jù)的鎖定狀態(tài)信息的步驟。
11.如權(quán)利要求10所述的存儲器存取控制方法,還包括將所述鎖定狀態(tài)信息存儲在非易失存儲器(NVM)中的步驟,所述非易失存儲器即使在關(guān)閉電源之后,也可以保持存儲在其中的信息,其中所述鎖定步驟包含步驟在再次打開所述信息存儲設(shè)備之后,基于所述鎖定狀態(tài)信息,對所述存儲器執(zhí)行存取控制。
12.如權(quán)利要求7所述的存儲器存取控制方法,其中,假若檢測到開始讀取所述鎖定相關(guān)數(shù)據(jù)區(qū)、結(jié)束讀取所述鎖定相關(guān)數(shù)據(jù)區(qū)和結(jié)束讀取包含所述鎖定相關(guān)數(shù)據(jù)區(qū)的全部內(nèi)容中的任何一項(xiàng),就執(zhí)行所述鎖定步驟。
13.一種用于對信息存儲設(shè)備執(zhí)行存儲器存取控制的計(jì)算機(jī)程序,所述信息存儲設(shè)備包含用于存儲數(shù)據(jù)的存儲器和用于對所述存儲器執(zhí)行存取控制的控制器,所述程序包括響應(yīng)于來自被連接到所述信息存儲設(shè)備的主機(jī)設(shè)備的請求,從所述存儲器讀取數(shù)據(jù)的步驟;確定包含從所述存儲器讀取的數(shù)據(jù)的數(shù)據(jù)區(qū)是否是預(yù)定的鎖定相關(guān)數(shù)據(jù)區(qū)的確定步驟;和假若確定所述鎖定相關(guān)數(shù)據(jù)區(qū)被讀取,就鎖定所述存儲器的鎖定步驟。
全文摘要
一種設(shè)備和方法,其根據(jù)是否從存儲器中的預(yù)定數(shù)據(jù)區(qū)中讀取所存儲的數(shù)據(jù)來鎖定存儲器。當(dāng)響應(yīng)于來自被連接到信息存儲設(shè)備的主機(jī)設(shè)備的請求,從諸如存儲卡的信息存儲設(shè)備的存儲器中讀取數(shù)據(jù)時(shí),基于例如簇的邏輯號,確定從中讀取數(shù)據(jù)的數(shù)據(jù)區(qū)是否是預(yù)定的鎖定適合(lock-adapted)數(shù)據(jù)區(qū)。根據(jù)從鎖定適合數(shù)據(jù)區(qū)讀取數(shù)據(jù)的確定結(jié)果,來執(zhí)行存儲器鎖定過程。該配置防止了從諸如存儲卡的信息存儲設(shè)備中多次讀取數(shù)據(jù),并使所謂的一次讀取存取控制成為可能。
文檔編號G06K19/07GK1564981SQ0380113
公開日2005年1月12日 申請日期2003年6月19日 優(yōu)先權(quán)日2002年6月25日
發(fā)明者岡上拓已, 中西健一, 田代淳, 大久保英明 申請人:索尼株式會(huì)社