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