專利名稱:能夠不重疊地存儲多個歷史信息項的數(shù)據(jù)存儲設備的制作方法
技術領域:
本發(fā)明涉及一種能夠安全地進行分類數(shù)據(jù)的讀和寫處理的數(shù)據(jù)存儲設備,更具體地,涉及一種數(shù)據(jù)存儲設備,存儲了用于解密和再現(xiàn)由能夠進行版權保護的數(shù)據(jù)分配系統(tǒng)所獲得的已加密數(shù)據(jù),允許多路存取,特別是能夠確保被拷貝信息的版權保護。
背景技術:
由于近年來在諸如因特網等數(shù)字通信網中的發(fā)展,用戶能夠利用蜂窩電話等,通過面向個人的終端容易地訪問網絡信息。
在這樣的數(shù)字信息通信網中,以數(shù)字信號來傳送信息。甚至當個人用戶能夠拷貝通過前述的信息通信網傳送來的音樂或視頻數(shù)據(jù)時,現(xiàn)在也能夠獲得被拷貝的數(shù)據(jù),而不會使音頻和/或圖像質量發(fā)生實質上惡化。
因此,如果當在數(shù)字信息通信網上傳送諸如音樂數(shù)據(jù)或圖像數(shù)據(jù)等受版權保護內容時,沒有采用適當?shù)拇胧﹣磉M行版權保護,則版權擁有者的權利可能會受到顯著地侵犯。
然而,如果給版權保護提供了頂級的優(yōu)先級,則可能變得不能夠在快速增長的數(shù)字信息通信網上分配內容數(shù)據(jù)。這削弱了版權擁有者的興趣,版權擁有者實質上能夠收取分配受版權保護的數(shù)據(jù)的拷貝的預定版權使用費。
在上述情況下,需要禁止一旦通過數(shù)字信息通信網發(fā)送到公眾的諸如擁有版權的音樂數(shù)據(jù)或圖像數(shù)據(jù)等內容數(shù)據(jù)的未授權的進一步拷貝。
已經提出了以下數(shù)據(jù)分配系統(tǒng),擁有已加密內容數(shù)據(jù)的分配服務器將已加密內容數(shù)據(jù)通過終端設備分配給附加到諸如蜂窩電話等終端設備上的存儲卡上。在該數(shù)據(jù)分配系統(tǒng)中,當請求分配已加密的內容數(shù)據(jù)時,將已經通過認證授權認證過的存儲卡的公用加密密鑰及其證書傳送到分配服務器。在分配服務器確認接收到已認證的證書之后,將已加密的內容數(shù)據(jù)和用于解密已加密內容數(shù)據(jù)的許可證傳送到存儲卡。所述許可證包括用于解密已加密內容數(shù)據(jù)的解密密鑰(此后將被稱為“內容密鑰”)、用于識別許可證的許可證ID、用于限制許可證等的使用的控制信息。當項存儲卡分配許可證時,分配服務器和存儲卡分別生成產生密鑰,并且在分配服務器和存儲卡之間交換這些密鑰,從而形成加密通信路徑,并且所述分配服務器通過這樣形成的加密通信路徑向存儲卡傳送該許可證。在該操作中,所述存儲卡將所接收到的已加密內容數(shù)據(jù)和許可證存儲在內部存儲器中。
當要再現(xiàn)在存儲卡中所存儲的已加密內容數(shù)據(jù)時,將存儲卡附加到蜂窩電話上。除了電話的普通語音通信功能之外,蜂窩電話具有專用電路,用于從存儲卡中讀出已加密內容數(shù)據(jù)和內容密鑰,解密已加密內容數(shù)據(jù)并再現(xiàn)其以便外部輸出。為了讀取許可證密鑰,在存儲卡和專用電路之間形成了加密通信路徑,并將許可證密鑰通過該加密通信路徑從存儲卡傳送到專用電路。
所述存儲卡具有轉移(shift)或拷貝針對另一存儲卡的許可證的功能。在這種情況下,類似于從分配服務器傳送許可證的情況,傳送所述許可證,從而同時利用發(fā)送側和接收側上的存儲卡的功能來形成加密通信路徑,并且從發(fā)送側上的存儲卡向接收側上的存儲卡傳送所述許可證。所述許可證包含確定是否要對許可證進行轉移或拷貝的控制信息。
所述存儲卡還具有執(zhí)行以下操作的功能。當由于發(fā)送或接收操作的偶然中斷而導致許可證丟失時,可以恢復該操作,并且記錄了與許可證的輸入/輸出相關的最近歷史信息以防止許可證的雙重傳輸,以及當需要時可以輸出所述信息。分配服務器或發(fā)送側上的存儲卡從接收側上的存儲卡中獲取所述歷史信息,并根據(jù)該歷史信息來確定許可證發(fā)送/接收的恢復。該歷史信息包括許可證ID和表示發(fā)送和接收的狀態(tài)信息。
如上所述,蜂窩電話的用戶通過蜂窩電話網絡從分配服務器中接收已加密內容數(shù)據(jù)和許可證,并將其存儲在存儲卡中。然后,該用戶可以再現(xiàn)存儲卡中所存儲的已加密內容數(shù)據(jù),并且可以將其轉移到另一存儲卡。另外,可以保護版權擁有者的權利。
然而,傳統(tǒng)存儲卡僅保存最近歷史信息,并且當在中斷后執(zhí)行另一許可證的發(fā)送或接收時,與最近中斷有關的歷史信息將會丟失。與此結合,為了提高用戶的便利性,可以存儲多個歷史信息項。
隨著對存儲單元的存取速度和存儲單元的容量已經得到增加,可以假定對多個許可證的發(fā)送/接收的并行執(zhí)行的請求將會發(fā)生。針對這樣的情況,需要存儲至少與并行執(zhí)行的處理有關的歷史信息。
如果將存儲卡配置來存儲多個歷史信息項以實現(xiàn)上述目的,可以將由存儲卡所接收到的許可證轉移到另一存儲卡中。這引起了與相同許可證ID相對應地存儲具有不同狀態(tài)的歷史信息的問題。
發(fā)明內容
因此,本發(fā)明的目的是提出一種數(shù)據(jù)存儲設備,其可以結合許可證來保護版權,并且能夠不重疊地存儲多個歷史信息項,允許許可證發(fā)送/接收的恢復。
本發(fā)明并不局限于針對內容數(shù)據(jù)的許可證,并且可以廣泛地應用于在保密的各種分類數(shù)據(jù)。
因此,根據(jù)本發(fā)明,一種數(shù)據(jù)存儲設備,用于根據(jù)恒定過程來進行分類數(shù)據(jù)的輸入/輸出,存儲所述分類數(shù)據(jù),并且操作用于存儲歷史信息或根據(jù)所述恒定過程在適當?shù)亩〞r處更新所述歷史信息,包括接口部分,用于數(shù)據(jù)的外部輸入/輸出;數(shù)據(jù)存儲部分,用于存儲所述多個分類數(shù)據(jù);日志存儲部分,用于存儲與所述分類數(shù)據(jù)的輸入/輸出有關的多個歷史信息項;以及控制部分,用于控制所述分類數(shù)據(jù)的輸入/輸出。所述日志存儲部分設置為循環(huán)地利用每一個均存儲了一項所述歷史信息的兩個或多個區(qū)域的環(huán)形緩沖器。存儲在所述日志存儲部分中的多個所述歷史信息項的每一個均包括標識信息,用于識別存儲了歷史信息且正要被輸入/輸出的分類數(shù)據(jù)。所述控制部分接收用于識別要根據(jù)所述分類數(shù)據(jù)的輸入/輸出處理的開始來輸入/輸出的分類數(shù)據(jù)的標識信息;按照預定次序搜索所述存儲部分(253)中的多個區(qū)域;確定存儲了所述日志存儲部分中所存儲的歷史信息的最早項的區(qū)域,作為最早區(qū)域,并且將與包括所述接收到的標識信息的所述分類數(shù)據(jù)的輸入/輸出處理有關的歷史信息重新存儲在所確定的最早區(qū)域中。
優(yōu)選地,在響應針對歷史信息的輸出請求而輸出歷史信息的一部分或全部的歷史信息輸出處理中,所述控制部分通過所述接口接收要輸入/輸出的分類數(shù)據(jù)的標識信息,根據(jù)預定序列搜索所述日志存儲部分中的多個區(qū)域;確定所述最早區(qū)域、以及存儲了包括所述接收到的標識信息的最新歷史信息的區(qū)域,作為最新區(qū)域,并且通過所述接口輸出所述最新區(qū)域中所存儲的歷史信息的一部分或全部。
優(yōu)選地,在包括歷史信息的輸出的所述分類數(shù)據(jù)的輸入處理中,所述控制部分通過所述接口接收要輸入/輸出的分類數(shù)據(jù)的標識信息,按照預定序列搜索所述日志存儲部分中的多個區(qū)域;確定所述最早區(qū)域、存儲了包括所述接收到的標識信息的最新歷史信息的最新區(qū)域,并且將所確定的最新區(qū)域中所存儲的歷史信息的一部分或全部拷貝到所確定的最早區(qū)域中,以便將所拷貝的歷史信息存儲為與所述分類數(shù)據(jù)的輸入處理有關的新歷史信息,并且通過所述接口輸出所確定的最早區(qū)域中所存儲的歷史信息的一部分或全部。
優(yōu)選地,在包括由另一設備根據(jù)所述恒定過程的進展輸入所記錄的歷史信息的一個附加項的所述分類數(shù)據(jù)的重新輸出處理中,所述控制部分通過所述接口確定要輸入/輸出的分類數(shù)據(jù)的標識信息和所述歷史信息的所述一個附加項,確定所述最早區(qū)域和所述最新區(qū)域,并且根據(jù)所確定的最早區(qū)域中所存儲的歷史信息和歷史信息中的所述接收到的一個附加項,確定是否輸出所述分類數(shù)據(jù)。
優(yōu)選地,在包括由另一設備根據(jù)所述恒定過程的進展輸入所記錄的歷史信息的一個附加項的所述分類數(shù)據(jù)的輸出處理中,所述控制部分通過所述接口確定要輸入/輸出的分類數(shù)據(jù)的標識信息和所述歷史信息的所述一個附加項,確定所述最早區(qū)域和所述最新區(qū)域,將存儲在所確定的最新區(qū)域中的歷史信息的一部分或全部拷貝到所確定的最早區(qū)域中,以存儲所拷貝的歷史信息,作為與所述分類數(shù)據(jù)的輸出處理有關的新歷史信息,并且根據(jù)所確定的最早區(qū)域中所存儲的歷史信息和歷史信息中的所述接收到的一個附加項,確定是否輸出所述分類數(shù)據(jù)。
優(yōu)選地,在確定所述最早區(qū)域之后,所述控制部分根據(jù)結束之前的恒定過程的進展或所述輸入/輸出處理中的恒定過程的中斷,在適當?shù)臅r候更新所確定的最早區(qū)域中所存儲的歷史信息。
優(yōu)選地,多個所述歷史信息項的每一個還包括用于識別所述日志存儲部分中所存儲的序列的管理號;以及根據(jù)在連續(xù)設置在所述日志存儲部分中的兩個區(qū)域中所存儲的兩個歷史信息項中分別包括的管理號,來檢測存儲最早信息的所述最早區(qū)域。
優(yōu)選地,所述日志存儲部分由循環(huán)地利用數(shù)量為N(N是大于1的自然數(shù))的區(qū)域的環(huán)形存儲器形成,以及所述管理號是M的殘數(shù)系統(tǒng)(M是滿足(N<M的自然數(shù))。
優(yōu)選地,所述控制部分獲取分別包括在連續(xù)設置在日志存儲部分的兩個區(qū)域中所存儲的兩個歷史信息項分別包括的管理號的每一個,根據(jù)所獲得的兩個管理號之間的差值,確定包括所述兩個管理號的兩個歷史信息項是否被連續(xù)地存儲;并且當所述兩個歷史信息項被不連續(xù)地存儲,則檢測所述兩個連續(xù)區(qū)域之間的隨后的區(qū)域,作為所述最早區(qū)域。
根據(jù)本發(fā)明,因此,該設備可以保護分類的數(shù)據(jù),并且可以不重疊地存儲與分類數(shù)據(jù)的輸入/輸出處理有關的多個歷史信息項,用于輸出或參考其。
圖1是示出了數(shù)據(jù)分配系統(tǒng)的概念的示意圖。
圖2示出了圖1所示的數(shù)據(jù)分配系統(tǒng)中所發(fā)送和接收的數(shù)據(jù)、信息等的特性。
圖3示出了用于圖1所示的數(shù)據(jù)分配系統(tǒng)中的密碼通信的密鑰、信息等的特性。
圖4是示出了圖1所示的許可證提供設備的結構的示意方框圖。
圖5是示出了圖1所示的終端設備的結構的示意方框圖。
圖6是示出了附加到圖1所示的終端設備上的硬盤的結構的示意方框圖。
圖7示出了在圖6所示的硬盤中的安全數(shù)據(jù)存儲部分的存儲器結構。
圖8示出了圖6所示的硬盤中的一般數(shù)據(jù)存儲部分的結構;圖9是示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中的分配處理的第一實施例中的第一流程圖。
圖10是示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中的分配處理的第一實施例中的第二流程圖。
圖11是示出了圖9中的步驟S20的特定操作的流程圖。
圖12是示出了圖11中的步驟S20a的特定操作的流程圖。
圖13是示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中,在分配處理期間的重寫處理的第一實施例中的第一流程圖。
圖14是示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中,在分配處理期間的重寫處理的第一實施例中的第二流程圖。
圖15是示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中,在分配處理期間的重寫處理的第一實施例中的第三流程圖。
圖16是示出了圖13所示的步驟S112a中的特定操作的流程圖。
圖17是示出了進行拷貝/轉移處理的系統(tǒng)結構的概念的示意圖。
圖18是示出了圖17所示的系統(tǒng)中的拷貝或轉移處理的第一實施例中的第一流程圖。
圖19是示出了圖17所示的系統(tǒng)中的拷貝或轉移處理的第一實施例中的第二流程圖。
圖20是示出了圖18所示的步驟S218的特定操作的流程圖。
圖21是示出了在圖17所示的系統(tǒng)中,在拷貝或轉移處理期間的重寫處理的第一實施例中的第一流程圖。
圖22是示出了在圖17所示的系統(tǒng)中,在拷貝或轉移處理期間的重寫處理的第一實施例中的第二流程圖。
圖23是示出了在圖17所示的系統(tǒng)中,在拷貝或轉移處理期間的重寫處理的第一實施例中的第三流程圖。
圖24是示出了針對圖5所示的終端設備的使用許可處理的流程圖。
圖25是示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中的分配處理的第五實施例中的第一流程圖。
圖26是示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中的分配處理的第五實施例中的第二流程圖。
圖27是示出了圖25所示的步驟S16a的特定操作的流程圖。
圖28是示出了圖17所示的系統(tǒng)中的拷貝或轉移操作的第五實施例中的第一流程圖。
圖29是示出了圖17所示的系統(tǒng)中的拷貝或轉移操作的第五實施例中的第二流程圖。
圖30是示出了圖28所示的步驟S208的特定操作的流程圖。
具體實施例方式
現(xiàn)在將參考附圖來描述本發(fā)明的實施例。相同或相似的部件或部分在附圖中具有相同參考數(shù)字,并且不再重復對其的描述。
圖1是示出了數(shù)據(jù)分配系統(tǒng)的整個結構的概念的示意圖,其中,根據(jù)本發(fā)明的數(shù)據(jù)存儲設備獲得已加密的內容數(shù)據(jù)和用于解密已加密內容數(shù)據(jù)的許可證。
將通過數(shù)據(jù)分配系統(tǒng)的示例來給出以下描述,其中,終端設備10接收在數(shù)字廣播網上分配的圖片數(shù)據(jù),并且將數(shù)據(jù)存儲在數(shù)據(jù)存儲設備,即附加到終端設備10上的硬盤驅動器20。此外,終端設備10通過雙向網絡30從與終端設備10相連的許可證提供設備40中接收用于對已加密圖片數(shù)據(jù)進行解密的許可證,并且將其存儲在硬盤驅動器20上,以便由配置在終端設備10內的專用再現(xiàn)電路(未示出)來再現(xiàn)已加密的圖片數(shù)據(jù)。如將從以下描述中顯而易見,本發(fā)明并不局限于以上情況,并且可應用于以下情況系統(tǒng)處理其他種類的具有版權的材料,例如,內容數(shù)據(jù)、圖像數(shù)據(jù)、音樂數(shù)據(jù)、教育數(shù)據(jù)、閱讀或朗誦數(shù)據(jù)、書籍數(shù)據(jù)、或游戲程序。同樣,數(shù)據(jù)存儲設備并不局限于硬盤,并且可以應用于諸如存儲卡等其他數(shù)據(jù)存儲設備。
參考圖1,終端設備10通過天線11,接收在數(shù)字廣播網上分配的已加密圖片數(shù)據(jù),并且將其存儲在硬盤20上,該圖片數(shù)據(jù)也可以被稱為“內容數(shù)據(jù)”,并且將其存儲在硬盤20上。用于管理和分配包括用于解密已加密內容數(shù)據(jù)的內容密鑰的許可證的許可證提供設備40執(zhí)行認證處理,以便確定附加到對其進行訪問以請求許可證分配的終端設備10上的硬盤20是否具有有效的認證數(shù)據(jù),并且因此硬盤20是否為具有許可證管理功能的常規(guī)數(shù)據(jù)存儲設備。僅當硬盤20是常規(guī)數(shù)據(jù)存儲設備時,許可證提供設備40將按照僅允許在硬盤20上解密的預定加密方式已加密的許可證傳送到終端設備10。當終端設備10從與網絡30相連的調制解調器接收到已加密許可證時,終端設備10向附加在其上的硬盤20傳送已加密的許可證。
例如,圖1中的硬盤20可從終端設備10上拆卸。附加在終端設備10上的硬盤20接收由終端設備10所接收到的已加密許可證,對為保護版權而加密的許可證進行解密,并且將許可證存儲在硬盤20上。為了再現(xiàn)與許可證相對應的已解密內容數(shù)據(jù),向終端設備10提供包括在許可證中的內容密鑰和所述已加密內容數(shù)據(jù)。
終端設備10的用戶可以再現(xiàn)內容數(shù)據(jù),可以利用終端設備10中的內容密鑰對該內容數(shù)據(jù)進行解密。
根據(jù)上述結構,已接收并存儲已加密內容數(shù)據(jù)的終端設備10的用戶可以接收許可證,因此,僅當終端設備10使用具有許可證管理功能并且包括常規(guī)認證數(shù)據(jù)的硬盤20時,才可以再現(xiàn)該內容數(shù)據(jù)。
在前述數(shù)據(jù)分配系統(tǒng)中,已加密內容數(shù)據(jù)的提供者是數(shù)字廣播公司等的廣播服務器。然而,提供者可以是管理許可證的許可證提供設備40,或者可以是除了許可證提供設備40之外的、通過因特網或另一數(shù)字通信網連接的分配服務器。此外,其可以是來自另一用戶的拷貝。因此,已加密內容數(shù)據(jù)自身可以是從任何發(fā)送側發(fā)送的,并且可以是在任何接收側上接收到的??偠灾?,僅需要嚴格管理允許對已加密內容數(shù)據(jù)進行加密的許可證,由此,可以保護所述內容數(shù)據(jù)的版權。
根據(jù)本發(fā)明的實施例,再現(xiàn)已加密內容數(shù)據(jù)所需的許可證的提供商在處理許可證在硬盤20、終端設備10和許可證提供設備40之間傳送和接收數(shù)據(jù)的處理時,對接收側進行認證和檢查,由此,防止了許可證被輸出給未授權設備。當在許可證的發(fā)送/接收處理期間出現(xiàn)異常或故障時,系統(tǒng)通過確定或指定重新處理所需的許可證來防止許可證的重疊或雙重存在,由此,可以在實現(xiàn)內容數(shù)據(jù)的版權保護的同時恢復異常中斷的發(fā)送/接收處理?,F(xiàn)在將描述實現(xiàn)這樣的恢復和版權保護的系統(tǒng)結構。
圖2示出了用于圖1所示的數(shù)據(jù)分配系統(tǒng)中發(fā)送和接收到的數(shù)據(jù)、信息等的特性。
數(shù)據(jù)Dc是內容數(shù)據(jù),在該示例中,是圖片數(shù)據(jù)。將數(shù)據(jù)Dc加密為允許利用內容密鑰Kc進行解密的形式。將加密為允許利用內容密鑰Kc來解密的形式的已加密內容數(shù)據(jù)E(Kc,Dc)通過數(shù)字廣播網分配給終端設備10的用戶,同時保持該形式。
在以下描述中,表達“E(X,Y)”表示將數(shù)據(jù)Y加密為允許利用解密密鑰X進行解密的形式。與數(shù)據(jù)Dc一起,將附加信息Di分配為諸如與內容數(shù)據(jù)的版權或服務器接入有關的明文信息。
通過終端設備10,在許可證提供設備40和硬盤20之間傳送作為用于指定許可證的分配和指定每一個許可證的管理代碼的許可證ID(LID)。許可證還包括作為識別數(shù)據(jù)Dc和內容密鑰Kc的代碼的數(shù)據(jù)ID(DID),以及控制信息AC,所述控制信息涉及對在數(shù)據(jù)存儲設備中處理許可證和再現(xiàn)的限制,更具體地,涉及根據(jù)用戶側的指定所確定的許可證數(shù)量、功能限制等。
在以下描述中,內容密鑰Kc、控制信息AC、DID和LID將統(tǒng)稱為許可證LIC。DID是分配給一對數(shù)據(jù)Dc和內容密鑰Kc的標識信息,因此,DID是用于識別已加密數(shù)據(jù)E(Kc,Dc)的標識信息。除了許可證LIC之外,DID也包括在附加信息Di中,總是按照允許對其進行參考的方式,將所述附加信息Di與已加密數(shù)據(jù)E(Kc,Dc)一起進行處理。
圖3示出了在圖1所示的數(shù)據(jù)分配系統(tǒng)中使用的用于認證的數(shù)據(jù)、信息等的特性。
在諸如硬盤20的數(shù)據(jù)存儲設備以及終端設備10中設置的再現(xiàn)電路分別配備有其所特定的類(class)公用密鑰KPcmy和KPcpy。可以分別利用數(shù)據(jù)存儲設備所特定的類專用密鑰Kcmy和再現(xiàn)電路所特定的類專用密鑰Kcpy對類公用密鑰KPcmy和KPcpy進行解密。這些類公用密鑰和類專用密鑰具有取決于再現(xiàn)電路和數(shù)據(jù)存儲設備的類型的數(shù)值。這些類公用密鑰和類專用密鑰由被稱為“類”的單元所共享。字符“y”表示用于識別類的標識符。所述類取決于制造商、產品種類、生產批量等。
采用Cmy作為數(shù)據(jù)存儲設備的類證書。采用Cpy作為再現(xiàn)電路的類證書。這些類證書具有取決于數(shù)據(jù)存儲設備和再現(xiàn)電路的類的信息。
在出貨時,數(shù)據(jù)存儲設備按照Kpcmy//Icmy//E(Ka,H(KPcmy//Icmy)的形式來存儲其類證書Cmy。在出貨時,再現(xiàn)電路按照KPcpy//Icpy//E(Ka,H(KPcpy//Icpy))的形式存儲其類證書Cpy?!癤//Y”的表達表示在X和Y之間的連接,并且“H(X)”表示由散列函數(shù)所計算出的數(shù)據(jù)X的散列值。主密鑰Ka是用于準備這些類證書的專用加密密鑰。主密鑰Ka由整個數(shù)據(jù)分配系統(tǒng)所共享,并且由認證授權安全地管理和操作。類信息Icmy和Icpy是包含與每一個類中的設備和類公用密鑰相關的信息的信息數(shù)據(jù)。
E(Ka,H(KPcmy//Icmy))和E(Ka,H(KPcpy//Icpy))是通過分別將電子簽名附加到KPcmy//Icmy和KPcpy//Icpy上而準備的已簽名數(shù)據(jù)。
認證授權是準備簽名數(shù)據(jù)的公共第三組織,并且產生簽名數(shù)據(jù)E(Ka,H(KPcmy//Icmy))和E(Ka,H(KPcpy//Icpy))。
作為向數(shù)據(jù)存儲設備安全并可靠地發(fā)送許可證LIC的密鑰,該系統(tǒng)采用了與每一個介質即每一個數(shù)據(jù)存儲設備相對應地設置的個人公用密鑰KPomz,以及允許對利用個人公用密鑰KPomz加密的數(shù)據(jù)進行解密的個人專用密鑰Komz。在該表達中的字符“z”是用于單獨地識別數(shù)據(jù)存儲設備的標識符。
每一次當進行數(shù)據(jù)傳輸時,數(shù)據(jù)分配系統(tǒng)使用由許可證提供設備40、數(shù)據(jù)存儲設備(硬盤20)和終端設備10所產生的會話密鑰Ks1x和Ks2x。
會話密鑰Ks1x和Ks2x是針對每一個“會話”,即,許可證提供設備40、數(shù)據(jù)存儲設備(硬盤20)和再現(xiàn)電路之間的通信單元,或者對其進行訪問的單元而產生的個人對稱密鑰。所述“會話”包括用于將許可證從許可證提供設備40分配到數(shù)據(jù)存儲設備(硬盤20)的“分配會話”,用于在數(shù)據(jù)存儲設備之間拷貝或轉移許可證的“拷貝/轉移會話”、以及從數(shù)據(jù)存儲設備(硬盤20)向終端設備10的再現(xiàn)電路輸出許可證的“使用許可會話”。
會話密鑰Ks1x和Ks2x具有每一個會話所特定的數(shù)值,從而由許可證提供設備40、數(shù)據(jù)存儲設備(硬盤20)和終端設備10中的再現(xiàn)電路來管理這些密鑰。更具體地,當要發(fā)送或接收許可證時,由許可證的發(fā)送側針對每一個會話產生會話密鑰Ks1x,并且由許可證的接收側針對每一個會話產生會話密鑰Ks2x。字符“x”是識別會話中的一系列處理的標識符。在每一個會話中,在設備之間相互傳送這些會話密鑰。每一個設備接收由其他設備所產生的會話密鑰,并且利用所接收到的會話密鑰來進行加密。然后,該設備發(fā)送包括內容密鑰的許可證LIC或許可證LIC的一部分,從而可以改善會話中的安全度。
圖4是示出了圖1所示的許可證提供設備40的結構的示意方框圖。
許可證提供設備40包括內容數(shù)據(jù)庫(DB)402,保存了要管理的許可證;日志數(shù)據(jù)庫404,存儲了用于在適當時間處分配許可證的分配會話中的所有通信記錄;數(shù)據(jù)處理部分410,通過總線BS1,向和從內容數(shù)據(jù)庫402和日志數(shù)據(jù)庫404傳送數(shù)據(jù),并對數(shù)據(jù)施加預定的處理;以及通信設備450,用于通過網絡30在終端設備10和數(shù)據(jù)處理部分410之間傳送數(shù)據(jù)。
數(shù)據(jù)處理部分410包括分配控制部分412,用于根據(jù)總線BS1上的數(shù)據(jù)來控制數(shù)據(jù)處理部分410的操作;會話密鑰產生部分404,用于在分配控制部分412的控制下,在分配會話中產生會話密鑰Ks1x;以及KPa保存部分416,用于保存硬盤20的認證密鑰KPa,所述認證密鑰KPa用于解密從終端設備10傳送來的硬盤20的類證書Cmy中所包括的已簽名數(shù)據(jù)E(Ka,H(KPcmy//Icmy)。數(shù)據(jù)處理部分410還包括認證部分418,用于通過通信設備450和總線BS1接收從數(shù)據(jù)存儲設備傳送來的類證書Cmy,利用從KPa保存部分416中接收達到的認證密鑰KPa,對包括在類證書Cmy中的簽名數(shù)據(jù)E(Ka,H(KPcmy//Icmy))進行解密處理,對包括在類證書Cmy中的KPcmy//Icmy的散列值進行計算,并且通過比較和檢查上述解密處理和計算的結果來認證類證書Cmy。數(shù)據(jù)處理部分410還包括加密處理部分420,操作在每一個分配會話中,以便利用由認證部分418從類證書Cmy中提取出的類公用密鑰KPcmy對由會話密鑰產生部分414所產生的會話密鑰Ks1x進行加密,并且將其輸出到總線BS1;以及解密處理部分422,用于對利用會話密鑰Ks1x加密的數(shù)據(jù)進行接收和解密,并通過總線BS1來傳送。
數(shù)據(jù)處理部分410還包括加密處理部分424,用于利用個人公用密鑰KPomz對從分配控制部分412所施加的許可證LIC進行加密,所述個人公用密鑰KPomz是數(shù)據(jù)存儲設備所特有的,并且從解密處理部分422中獲得;以及加密處理部分426,利用從解密處理部分422所施加的會話密鑰Ks2x對加密處理部分424的輸出進一步加密,并將其提供給總線BS1。
此外,在利用會話密鑰Ks1x進行加密之后,從終端設備10中提供個人公用密鑰KPomz和會話密鑰Ks2x。解密處理部分422對其進行解密,以獲得個人公用密鑰KPomz。
稍后將參考流程圖詳細描述在分配會話中許可證提供設備40的操作。
圖5是示出了圖1所示的終端設備10的結構的示意方框圖。
終端設備10包括天線102,接收通過數(shù)字廣播網發(fā)送的信號;接收部分104,操作用于通過解調將從天線102接收到的信號轉換為數(shù)據(jù),或者操作用于調制要從天線102發(fā)送的數(shù)據(jù)并將其施加到天線102上;調制解調器106,用于使終端設備10與網絡30相連;總線BS2,用于在終端設備10中的各個部分之間傳送數(shù)據(jù);控制器108,用于通過總線BS2來控制終端設備10的操作;以及硬盤接口部分110,用于硬盤20和總線BS2之間的數(shù)據(jù)傳輸。
終端設備10還包括認證數(shù)據(jù)保存部分1502,用于保存已經描述的類證書Cpy。假定表示終端設備10的類的標識符y等于三(y=3)。
終端設備10還包括Kcp保存部分1504,用于保存作為該類所特定的解密密鑰的類專用密鑰Kcp3;以及解密處理部分1506,用于利用類專用密鑰Kcp3來解密從總線BS2中接收到的數(shù)據(jù)以獲得由硬盤20所產生的會話密鑰Ks1x。
終端設備10還包括會話密鑰產生部分1508,用于產生會話密鑰Ks2x,所述會話密鑰Ks2x用于根據(jù)用于再現(xiàn)硬盤20上所存儲的內容數(shù)據(jù)的使用許可會話中的隨機數(shù)等來加密向和從硬盤20傳送的數(shù)據(jù);加密處理部分1510,進行以下操作接收來自硬盤20的內容密鑰Kc以利用從解密處理部分1506所獲得的會話密鑰Ks1x對由會話密鑰產生部分1508所產生的會話密鑰Ks2x進行加密,并且將其提供到總線BS2上;解密處理部分1512,利用會話密鑰Ks2x對總線BS2上的數(shù)據(jù)進行解密;解密處理部分1514,用于從總線BS2中接收已加密的內容數(shù)據(jù)E(Kc,Dc),并且利用從解密處理部分1512中發(fā)送的內容密鑰Kc對其進行解密,以便向再現(xiàn)部分1516提供數(shù)據(jù)Dc;再現(xiàn)部分1516,用于接收解密處理部分1514的輸出并再現(xiàn)這些內容;D/A轉換器1518,用于將再現(xiàn)部分1516的輸出從數(shù)字信號轉換為模擬信號;以及終端1520,用于將D/A轉換器1518的輸出提供給外部輸出設備(未示出),例如顯示監(jiān)視器。
在圖5中,由虛線所圍住的區(qū)域定義了再現(xiàn)電路50,所述再現(xiàn)電路是通過解密已加密內容數(shù)據(jù)來再現(xiàn)圖片數(shù)據(jù)的專用電路。為了提高安全性,優(yōu)選地,再現(xiàn)電路150由單芯片結構的半導體器件形成。此外,優(yōu)選地,再現(xiàn)電路150由反篡改(anti-tamper)模塊形成,其可以有效地防止可能在外部執(zhí)行的分析。
下面將參考流程圖來詳細描述終端設備10的各個組件的相應會話中的操作。
圖6是示出了圖1所示的硬盤20的結構的示意方框圖。
如已經描述的那樣,將一對類公用密鑰KPcmy和類專用密鑰Kcmy以及一對個人公用密鑰KPomz和個人專用密鑰Komz用于數(shù)據(jù)存儲設備,即硬盤20。在硬盤20中,識別其的標識符y等于1,而標識符z等于2(z=2)。
硬盤20包括認證數(shù)據(jù)保存部分202,用于保存認證數(shù)據(jù)Kpcm1//Icm1//E(Ka,H(KPcm1//Icm1)作為類證書Cm1;Kcm保存部分204,用于保存類專用密鑰Kcm1;Kom保存部分206,用于保存?zhèn)€人專用密鑰Kom2;以及KPom保存部分208,用于保存允許利用個人專用密鑰Kom2進行解密的個人公用密鑰KPom2。
如上所述,由于提供了數(shù)據(jù)存儲設備即硬盤20的加密密鑰,可以對每一個數(shù)據(jù)存儲設備的已分配內容數(shù)據(jù)和已加密內容密鑰進行管理,獨立于針對其他數(shù)據(jù)存儲設備的已分配內容數(shù)據(jù)和已加密內容密鑰,如下面將會描述的那樣。
硬盤20還包括ATA(AT附件)接口部分212,用于通過終端設備10和終端20的硬盤接口部分110來傳送信號;總線BS3,充當硬盤20中的數(shù)據(jù)傳輸路徑;解密處理部分216,用于利用從Kom保存部分206提供來的個人專用密鑰Kom2,解密通過控制器214從ATA接口部分212提供到總線BS3上的數(shù)據(jù),并且將從許可證提供設備40分配的許可證LIC提供給安全數(shù)據(jù)存儲部分250;認證部分220,用于從KPa保存部分218中接收認證密鑰KPa,并且利用認證密鑰KPa對提供到總線BS3上的數(shù)據(jù)進行解密,以便向控制器214提供解密結果;以及加密處理部分224,用于利用由選擇器開關260選擇性施加的會話密鑰Ks1x或Ks2x,對通過選擇器開關262選擇性施加的數(shù)據(jù)進行加密,并且將其提供到總線BS3上。
硬盤20還包括會話密鑰產生部分226,用于在每一個分配、拷貝/轉移和使用許可會話中產生會話密鑰Ks1x和Ks2x;加密處理部分222,用于利用由認證部分220所獲得的終端設備10的再現(xiàn)電路150的類公用密鑰KPcpy、或利用另一數(shù)據(jù)存儲設備(在該示例中為硬盤21)的類公用密鑰KPcmy,對由會話密鑰產生部分226所產生的會話密鑰Ks1x進行加密;以及解密處理部分228,用于接收利用從總線BS3提供的會話密鑰Ks2x加密的數(shù)據(jù),并且利用從會話密鑰產生部分226中所獲得的會話密鑰Ks1x或Ks2x對其進行解密。
硬盤20還包括解密處理部分230,用于利用與類公用密鑰KPcm1配對的類專用密鑰Kcm1對總線BS3上的數(shù)據(jù)進行解密;以及加密處理部分232,當輸出許可證LIC以便將其從硬盤20轉移或拷貝到硬盤21上時,利用從接收側上的硬盤2 1中接收到的個人公用密鑰KPomz(z≠2)對許可證LIC進行加密。
硬盤20還包括安全數(shù)據(jù)存儲部分250,用于從總線BS3上接收用于再現(xiàn)已加密內容數(shù)據(jù)E(Kc,Dc)的許可證LIC、以及作為由硬盤20所處理的會話的處理記錄的日志,并存儲其。將許可證LIC存儲在安全數(shù)據(jù)存儲部分250的許可證區(qū)域中,并且將日志存儲在安全數(shù)據(jù)存儲部分250的日志存儲器中。安全數(shù)據(jù)存儲部分250由諸如半導體存儲器形成。
圖7示出了在安全數(shù)據(jù)存儲部分250中的存儲結構。
參考圖7,安全數(shù)據(jù)存儲部分250包括許可證區(qū)域251、有效性標記區(qū)域252和日志存儲器253。
許可證區(qū)域251由數(shù)量為L(L自然數(shù))的區(qū)域2511-251L形成,并且在每一個區(qū)域2511-2511中存儲一個許可證(內容密鑰Kc、控制信息AC、許可證ID(LID)和數(shù)據(jù)ID(DID))。
根據(jù)此后將被稱為“LBA”或“邏輯塊地址”的地址來管理存儲在區(qū)域2511-2511中的每一個許可證。由LBA來指定各個會話中所存儲或讀取的所有許可證LIC。
假定maxLBA+1-maxLBA+L的LBA分別分配給區(qū)域2511-251L。例如,maxLBA+3的LBA指定區(qū)域2513中所存儲的許可證LIC。在這種情況下,0-maxLBA的LBA分配給一般數(shù)據(jù)存儲區(qū)域270,稍后將詳細描述。
已經聲明了許可證區(qū)域251具有分配給一般數(shù)據(jù)存儲區(qū)域270的0-maxLBA的LBA之后的maxLBA+1-maxLBA+L的LBA。假如分配給許可證區(qū)域251的數(shù)量為L的LBA可以指定區(qū)域2511-251L,則分配給許可證區(qū)域251的LBA可以取一些其他值。此外,分配給許可證區(qū)域251的值可以與分配給一般數(shù)據(jù)存儲區(qū)域270的LBA重疊,或者可以獨立于其。
與指定了安全數(shù)據(jù)存儲部分250上的存儲位置的LBA相對應地提供有效性標記區(qū)域252,并且存儲表示由相應LBA所指定的位置中所存儲的許可證的有效性的標記。
有效性標記區(qū)域252由2511-251L形成,其中分別存儲了在相應區(qū)域2511-251L中所存儲的許可證LIC的“有效”或“無效”。
當有效性標記區(qū)域252存儲了標記“有效”時,可以使用由對應于該標記的LBA所指定的、安全數(shù)據(jù)存儲部分250上的存儲位置中所存儲的許可證LIC,并且用戶可以根據(jù)用于解密已加密內容數(shù)據(jù)并再現(xiàn)內容數(shù)據(jù)的使用許可來讀取該許可證LIC中的內容密鑰Kc。此外,用戶可以將該許可證LIC轉移或拷貝到另一數(shù)據(jù)存儲設備。
當有效性標記區(qū)域252存儲了標記“無效”時,不能夠使用由對應于該標記的LBA所指定的、安全數(shù)據(jù)存儲部分250上的存儲位置中所存儲的許可證LIC,并且硬盤20的控制器214拒絕從該LBA提供的許可證LIC。該狀態(tài)與擦除狀態(tài)相同。因此,用戶不能夠再現(xiàn)與該許可證LIC相對應的內容數(shù)據(jù)。響應該許可證的新存儲,有效性標記區(qū)域252中的標記變?yōu)椤坝行А保憫撛S可證的轉移,有效性標記區(qū)域252中的標記變?yōu)椤盁o效”。
日志存儲器253是由數(shù)量為N(N是自然數(shù))的區(qū)域2531-253N形成的環(huán)形存儲器,每一個存儲了向或從硬盤20的許可證輸入/輸出相關的一項歷史信息,之后將被稱為“日志”。區(qū)域2531-253N分別命名為用于指定這些區(qū)域的存儲體0-(N-1)。因此,存儲體n(n是N的殘數(shù)系統(tǒng))表示日志存儲器上的區(qū)域253(n-1)。
日志存儲器253按照環(huán)形的方式存儲了多個日志。更具體地,日志存儲器253從由存儲體0所指定的區(qū)域2531開始存儲日志。在日志存儲器253將該日志存儲在由存儲體(N-1)所指定的區(qū)域253N之后,日志存儲器253向由存儲體0所指定的區(qū)域2531返回目的地,以便存儲這些日志。
在日志存儲器253中的每一個區(qū)域2531-253N中所存儲的日志包括管理號區(qū)域2541、許可證ID(LID)區(qū)域2542、Ks2x區(qū)域2543、ST1區(qū)域2544、ST2區(qū)域2545、KPcmy區(qū)域2546和LBA區(qū)域2547。
管理號區(qū)域2541存儲了表示分別將日志存儲在存儲體0-(N-1)中的存儲順序的管理號。管理號是M的殘數(shù)系統(tǒng)(residual system)(M是大于N的自然數(shù)(M>N)),并且按照升序分配。由于管理號的存儲,能夠檢索存儲了最新日志或最早日志的存儲體。更具體地,假定將管理號的日志首先存儲在存儲體0中,該日志的管理號區(qū)域2541存儲該管理號“1”。每一次當根據(jù)許可證的輸入/輸出來存儲新日志時,連續(xù)地使用從存儲體2開始的存儲體,并且新日志的管理號區(qū)域2541存儲通過將存儲在緊挨在用于存儲新日志的存儲體之前的存儲體中所存儲的最新日志的管理號區(qū)域2541中的管理號遞增一、而準備的管理號。由此,通過從區(qū)域2531-253N中所存儲的日志的管理號區(qū)域2541中讀取管理號,能夠根據(jù)管理號來確定所討論的日志是新的還是舊的。按照如下方式執(zhí)行該確定。當連續(xù)兩個存儲體n和n+1(n是N的殘數(shù)系統(tǒng))保存了不連續(xù)的管理號時,存儲體n保存最新日志,而存儲體(n+1)保存最早日志。這將在稍后詳細描述。
在與管理號有關的表達式和算數(shù)運算的以下描述中,如果未另外指定,則指定日志存儲器253的2531-253N的存儲體的號處于殘數(shù)系統(tǒng)中。
許可證ID區(qū)域2542存儲了將許可證LIC指定為會話目標的許可證ID(LID)。Ks2x區(qū)域2543存儲了由會話中的許可證LIC的接收側上的數(shù)據(jù)存儲設備所產生的會話密鑰Ks2x。
ST1區(qū)域2544存儲了正在執(zhí)行的會話中的處理狀態(tài)的狀態(tài)ST1。ST2區(qū)域2545存儲了表示與許可證ID區(qū)域2542中所存儲的許可證ID相對應的許可證存儲狀態(tài)的狀態(tài)ST2。
在通過轉移或拷貝來輸出許可證的操作中,KPcmy區(qū)域2546在發(fā)送側的數(shù)據(jù)存儲設備中操作以存儲接收側上的數(shù)據(jù)存儲設備的類公用密鑰KPcmx。LBA區(qū)域2547存儲了為了讀取或存儲每一個會話中的許可證LIC而表示的LBA。
根據(jù)一系列會話的處理進展,更新或參考上述各個區(qū)域中的數(shù)據(jù)。狀態(tài)ST1表示以下四個狀態(tài)之一“等待接收”、“已接收”、“等待發(fā)送”和“已發(fā)送”,并且狀態(tài)ST2表示三個狀態(tài)“數(shù)據(jù)存在”、“沒有數(shù)據(jù)”和“已轉移”之一。
當由于在會話期間出現(xiàn)的意外故障而中斷了會話時,根據(jù)日志存儲器253的許可證ID區(qū)域2541中所存儲的許可證ID、以及在LBA區(qū)域2547中所存儲的LBA,確定在中斷的會話中正在傳送或接收的許可證LIC的存儲狀態(tài),并且根據(jù)該確定的結果來更新狀態(tài)ST2。在中斷的會話中的許可證的發(fā)送側接收在許可證接收機側的日志存儲器253中所存儲的許可證LIC、會話密鑰Ks2x和狀態(tài)ST1和ST2,并且檢查在發(fā)送側上所記錄的日志的內容、和所接收到的許可證LIC、會話密鑰Ks2x和狀態(tài)ST1和ST2。由此,確定是否允許許可證的重新傳輸。
存儲會話密鑰Ks2x,用于指定每一個會話,并且共享會話密鑰Ks2x的事實表示共享了要傳送的許可證的指定及其處理。
當輸出該輸出日志時,根據(jù)在日志存儲器253中所存儲的許可證ID(LID)以及LBA,將安全數(shù)據(jù)存儲部分250中的許可證的存儲狀態(tài)存儲在狀態(tài)ST2中,由此,使輸出日志具體化。
將參考示出了各個會話的流程圖來描述具體細節(jié)。
再次參考圖6,現(xiàn)在將描述硬盤20中的數(shù)據(jù)存儲部分。硬盤20還包括一般數(shù)據(jù)存儲部分270,用于存儲已加密內容數(shù)據(jù)。一般數(shù)據(jù)存儲部分270包括盤類磁記錄介質2701,用于存儲數(shù)據(jù);電動機2702,用于旋轉磁記錄介質270 1;伺服控制器2703,用于控制電動機2702;搜索控制部分2704,用于控制在磁記錄介質2701上的磁頭位置;以及記錄/再現(xiàn)處理部分2705,用于指示磁頭記錄或再現(xiàn)數(shù)據(jù)。
硬盤20還包括控制器214,用于控制硬盤20中的操作,例如,通過ATA接口部分212的數(shù)據(jù)的外部傳輸和接收;與基于控制信息AC的許可證輸出有關的確定;以及安全數(shù)據(jù)存儲部分250的管理。
在反篡改模塊區(qū)域中形成除了一般數(shù)據(jù)存儲部分270、ATA接口部分212和終端210之外的結構。
參考圖8,一般數(shù)據(jù)存儲部分270具有與已知的通用硬盤相同的結構,并且包括數(shù)據(jù)存儲部分2700。數(shù)據(jù)存儲部分2700將已加密內容數(shù)據(jù)、屬于已加密內容數(shù)據(jù)的數(shù)據(jù)、許可證表等存儲在每一個區(qū)域2800-280A中(A是等于maxLBA的自然數(shù))。將0-maxLBA的LBA分配給區(qū)域2800-280A,從而區(qū)域2800-280A可以分別由0-maxLBA的LBA來指定。向或從指定的區(qū)域2800-2800A提供諸如已加密內容數(shù)據(jù)等數(shù)據(jù)。
所述許可證表是表示已加密內容數(shù)據(jù)和許可證之間的關系的信息表。通過參考許可證表,能夠指定與已加密內容數(shù)據(jù)和LBA相對應的許可證,其中存儲了許可證。因此,當存儲或刪除已加密內容數(shù)據(jù)時,或當存儲、取消或刪除許可證時,變更許可證表的內容。
因此,在硬盤20中,可以向和從由0-maxLBA的LBA所指定的一般數(shù)據(jù)存儲部分270、以及由隨后的maxLBA+1-maxLBA+L的LBA所指定的安全數(shù)據(jù)存儲部分250(更具體地,許可證存儲器251)提供數(shù)據(jù)和許可證。
在一般數(shù)據(jù)存儲區(qū)域270和許可證區(qū)域251中的LBA的值并不局限于該實施例中的值。
安全數(shù)據(jù)存儲部分250具有反纂改結構,例如,通過采用用于防止可能經由ATA接口部分212利用普通存取命令從外部嘗試的直接存取的裝置,確保要被確保的反纂改屬性。
已經聲明了硬盤20的安全數(shù)據(jù)存儲部分250整個由半導體存儲器形成。然而,假如確保了反纂改屬性,則安全數(shù)據(jù)存儲部分250的一部分或全部可以配置來在磁記錄介質2701上存儲數(shù)據(jù)。
現(xiàn)在將描述圖1所示的數(shù)據(jù)分配系統(tǒng)的各個會話的操作。
首先,將描述在圖1所示的數(shù)據(jù)分配系統(tǒng)中,將許可證從許可證提供設備40分配到附加到終端設備10上的硬盤20的操作。
圖9和10是分別示出了圖1所示的數(shù)據(jù)分配系統(tǒng)的處理(分配會話)的第一和第二流程圖。更具體地,這些流程圖表示了以下處理,其中,終端設備10的用戶通過用戶的終端設備10請求已加密內容數(shù)據(jù)的許可證分配,由此,從許可證提供設備40將許可證分配到附加到終端設備10上的硬盤20上,并且存儲在硬盤20上。
在開始圖9中的處理之前,終端設備10的用戶通過調制解調器106,使終端設備10與網絡30相連,由此,使終端設備10通過網絡30與許可證提供設備40相連。以下描述基于已經進行了上述操作的前提。
參考圖9,當終端設備10的用戶請求分配所需內容數(shù)據(jù)的許可證時,終端設備10的控制器108通過BS2和硬盤接口部分110向硬盤20提供對類證書的輸出請求(步驟S1)。當硬盤20的控制器214通過終端210和ATA接口部分212接受了對類證書的輸出請求時(步驟S2),該控制器讀取通過總線BS3,從認證數(shù)據(jù)保存部分202中讀取類證書Cm1=Kpcm1//Icm1//E(Ka,H(KPcm1//Icm1),并且通過ATA接口部分212和終端210將類證書Cm1提供給終端設備10(步驟S3)。
當終端設備10的控制器108通過硬盤接口部分110和總線BS2接受從硬盤20發(fā)送來的類證書Cm1時(步驟S4),該控制器通過調制解調器106和網絡30將這樣接受的類證書Cm1傳送到許可證提供設備40(步驟S5)。
當許可證提供設備40從終端設備10中接收到類證書Cm1時(步驟S6),其認證所接收到的類證書Cm1是否正確(步驟S7)。按照如下方式來進行認證處理。
當許可證接收設備40接受類證書Cm1=Kpcm1//Icm1//E(Ka,H(KPcm1//Icm1),認證部分418利用認證密鑰KPa,對在從硬盤20中所提供的類證書Cm1中所包括的簽名數(shù)據(jù)E(Ka,H(KPcm1//Icm1)進行解密以提取散列值H(KPcm1//Icm1)。此外,認證部分418計算在類證書Cm1中所包括的KPcm1//Icm1的散列值,并且將其與從類證書Cm1中所提取出的散列值進行比較。當分配控制部分412根據(jù)由認證部分418的解密結果,確定了進行了前述解密,并且兩個散列值的值彼此相匹配時,則分配控制部分412認證了從硬盤20中所接受的類證書Cm1是正確證書。
當在步驟S7中認證了類證書Cm1時,分配控制部分412批準了類證書Cm1,并且接受類公用密鑰KPcm1(步驟S8)。然后,在步驟S9中執(zhí)行接下來的處理。當未認證類證書時,分配控制部分412不接受類證書Cm1,并且向終端設備10提供錯誤通知(圖10中的步驟S44)。當終端設備10接受了錯誤通知(圖10中的步驟S45),該分配會話結束。
當在步驟S8中接受了類公用密鑰KPcm1時,分配控制部分412產生許可證ID(LID)(步驟S9),并且進一步產生了控制信息AC(步驟S10)。會話密鑰產生部分414產生用于分配的會話密鑰Ks1a(步驟S11)。加密處理部分420利用與硬盤20相對應的、并且由認證處理部分420所獲得的類公用密鑰KPcm1對會話密鑰Ks1a進行加密,由此,產生了已加密數(shù)據(jù)E(KPcm1/Ks1a)(步驟S12)。
分配控制部分412將許可證ID(LID)和已加密會話密鑰Ks1a處理為一個數(shù)據(jù)串LID//E(KPcm1//Ks1a),并且通過總線BS1和通信設備450向終端設備10提供其(步驟S13)。
當終端設備10通過網絡30接收到LID//E(KPcm1//Ks1a)時(步驟S14),該終端設備10將所接收到的LID//E(KPcm1//Ks1a)提供給硬盤20(步驟S15)。硬盤20的控制器214通過終端210和ATA接口部分212接受LID//E(KPcm1//Ks1a)(步驟S16)。控制器214通過BS1向解密處理部分230提供所接受的E(KPcm1//Ks1a)。解密處理部分230利用在Kcm保存部分204中所保存的、硬盤20所特定的類專用密鑰Kcm1,來進行解密處理,以便獲得和接受會話密鑰Ks1a(步驟S17)。
當硬盤20的控制器214確認接受了由許可證提供設備40所產生的會話密鑰Ks1a時,該控制器214通過ATA接口部分212和終端210向終端設備10通知該接受。當終端設備10的控制器108通過硬盤接口部分110和總線BS2接受了關于硬盤20接受了會話密鑰Ks1a的通知時,其通過總線BS2和硬盤接口部分110向硬盤20提供通知,該通知請求產生會話密鑰(步驟S18)。當硬盤20的控制器214通過終端210和ATA控制器212接受了對會話密鑰產生的請求通知時,控制器214指示會話密鑰產生部分226產生會話密鑰。會話密鑰產生部分226產生會話密鑰Ks2a(步驟S19)。
控制器214檢索安全數(shù)據(jù)存儲部分250的日志存儲器253中存儲最早日志的存儲體,并將新管理號、在步驟S16中所接受的許可證ID、在步驟S19中所產生的會話密鑰Ks2a、以及“等待接收”存儲在這樣檢索到的存儲體(0≤n≤N-1)中的管理號區(qū)域2541、許可證ID區(qū)域2542、Ks2a區(qū)域2543和ST1區(qū)域2544中。因此存儲體n中所存儲的日志變?yōu)樽钚氯罩?。在該狀態(tài)下,形成日志的其他區(qū)域中的所有內容可以設置為“0”,或可以不變。
參考圖11,現(xiàn)在將描述步驟S20中的特定操作。圖11是示出了步驟S20中的特定操作的流程圖。在步驟S19之后,控制器214指定與在日志存儲器253中存儲最新日志的日志區(qū)域相對應的存儲體(n-1),并且獲得在由存儲體(n-1)所指定的日志區(qū)域中所包括的歷史信息中所包括的管理號(步驟S20a)。
參考圖12,現(xiàn)在將描述步驟S20a的特定操作。圖12是更詳細地示出了步驟S20的流程圖。在步驟S19之后,控制器214將表示區(qū)域2532的存儲體1的存儲體號1分配給變量n(步驟S20c),獲得存儲體0中所存儲的管理號,并將其替代到變量m中(步驟S20d)。控制器214獲得日志存儲器253中所存儲的管理號,并將其替代到變量ma中(步驟S20e)。在計算(ma-m)之后,確定該計算的經過是否為“1”(步驟S20f)。如果該計算的結果是“1”,則控制器214通過加1所獲得的(n+1)替代到變量n中(步驟S20g),并且將替代到變量ma中的管理號替代到變量m中(步驟S20g)。之后,重復步驟S20e-S20h。
如果計算結果不等于“1”,則控制器214確定存儲體(n-1)是承載最新日志的區(qū)域并結束最新管理號m的獲取。由此,操作移動到圖11中的步驟S20b。在這種情況下,將最早日志存儲在存儲體n中。
如果在步驟S20f中確定計算結果是“1”,則連續(xù)地執(zhí)行步驟S20g、S20h、S20e和S20f。這表示以下事實如果計算結果是“1”,則分別替代到變量m和ma中的管理號m和ma是連續(xù)的,并且存儲體(n-1)和n連續(xù)地存儲日志。因此,由于在循環(huán)地根據(jù)存儲體號來使用日志存儲器253中的區(qū)域、并且還在M的殘數(shù)系統(tǒng)中循環(huán)地使用管理號的情況下,存儲在連續(xù)存儲體中的管理號之間的差值等于“1”,因此,實現(xiàn)了上述事實。因此,確定了存儲體(n-1)并未存儲最新日志。存儲體n的情形是不清楚的。然后,該確定作用于下一區(qū)域,并且確定存儲體n中所存儲的日志。更具體地,根據(jù)存儲體n中所存儲的日志的管理號和下一區(qū)域即存儲體(n+1)所存儲的日志的管理號來執(zhí)行該確定。根據(jù)流程圖,在步驟S20g中,將(n+1)替代到n中,從而將該確定作用于下一區(qū)域。
按照該方式,重復由步驟S20f、S20g和S20e所形成的循環(huán)。由此,確定從存儲體0到存儲體(N-1)的連續(xù)區(qū)域中所存儲的管理號是否為連續(xù)的。這是將存儲體(N-1)與其相比較的存儲體0的號。如上所述,在N的殘數(shù)系統(tǒng)中執(zhí)行與存儲體的號有關的計算。因此,當確定存儲體(N-1)時,(n-1=N-1)和(n=0)的關系是存在的。
當在步驟S20f中的計算結果不為“1”時,確定存儲體(n-1)中所存儲的日志是最新日志。這是由于存儲體(n-1)和n中所存儲的兩個日志的管理號并非連續(xù)的。因此,這些連續(xù)日志分別具有連續(xù)的管理號,如已經描述的。相反,具有非連續(xù)的管理號的日志不是連續(xù)的。
根據(jù)圖12,為了指定存儲體(n-1),包括預定管理號的日志必須通過硬盤20出貨之前對日志存儲器253進行初始化,存儲在日志存儲器253的所有區(qū)域2531-253N中,即存儲體0-(N-1)中。將具有相同值的管理號的日志存儲在所有存儲體中,或者將具有連續(xù)值(在一點處非連續(xù))的管理號的日志分別存儲在連續(xù)存儲體中。在日志的其他區(qū)域中的值并未受到限制。
再次參考圖11,在按照前述方式獲得存儲最新歷史信息(日志)的存儲體(n-1)以及存儲體(n-1)中所存儲的管理號m之后,控制器214將管理號(m+1)、步驟S16中所接受的許可證ID和步驟S19中所接受的會話密鑰Ks2a存儲在存儲體n中,并且將ST1區(qū)域2544的狀態(tài)ST1設置為“等待接收”(步驟S20b)。由此,圖9所示的步驟S20中的操作結束,并且操作移到步驟S21。
再次參考圖9,加密處理部分224利用通過選擇器開關260的觸點Pb從解密處理部分230中施加的會話密鑰Ks1a,對通過連續(xù)地選擇選擇器開關262的觸點Pd和Pf而施加的、由會話密鑰Ks2a和個人公用密鑰KPom2所形成的一個數(shù)據(jù)串進行加密,從而產生E(Ks1a,Ks2a//KPom2)(步驟S21)。加密處理部分224將E(Ks1a,Ks2a//KPom2)提供到總線BS3上??刂破?14接受提供到總線BS3上的已加密數(shù)據(jù)E(Ks1a,Ks2a//KPom2),并且將作為由接受數(shù)據(jù)和許可證ID(LID)所形成的一個數(shù)據(jù)串的數(shù)據(jù)LID//E(Ks1a,Ks2a//KPom2))通過ATA接口部分212和終端210提供給終端設備10(步驟S22)。
當終端設備10從硬盤20中接受數(shù)據(jù)LID//E(Ks1a,Ks2a//KPom2)時(步驟S23)時,該終端設備10通過網絡30將所接受的數(shù)據(jù)提供給許可證提供設備40(步驟S24)。
當許可證提供設備40接收到數(shù)據(jù)LID//E(Ks1a,Ks2a//KPom2))時(步驟S25),解密處理部分422利用會話密鑰Ks1a來執(zhí)行解密處理,并且接受由硬盤20所產生的會話密鑰Ks2a和硬盤20的個人公用密鑰KPom2(步驟S26)。
分配控制部分412獲得與來自內容數(shù)據(jù)庫402中的許可證ID(LID)相對應的數(shù)據(jù)ID(DID)和內容數(shù)據(jù)Kc(步驟S27),并且產生作為由數(shù)據(jù)ID(LID)和這樣獲得的內容密鑰Kc以及許可證ID(LID)和控制信息AC所形成的一個數(shù)據(jù)串的許可證LIC=Kc//AC//DID//LID。
分配控制部分412將這樣產生的許可證LIC提供給加密處理部分424。加密處理部分424利用由解密處理部分422所獲得的硬盤20的個人公用密鑰KPom2對許可證LIC進行加密,由此,產生了已加密數(shù)據(jù)E(KPom2,LIC)(步驟S28)。加密處理部分426利用從解密處理部分422中接收到的會話密鑰Ks2a,對從加密處理部分424中接收到的已加密數(shù)據(jù)E(KPom2,LIC)進行加密,以產生已加密數(shù)據(jù)E(Ks2a,E(KPom2,LIC))(步驟S29)。
參考圖10,分配控制部分412通過總線BS1和通信設備450向終端設備10提供已加密數(shù)據(jù)E(Ks2a,E(KPom2,LIC))(步驟S30)。當終端設備10通過網絡30接受了已加密數(shù)據(jù)E(Ks2a,E(KPom2,LIC))時(步驟S31),其將這樣接受的已加密數(shù)據(jù)提供給硬盤20(步驟S32)。
硬盤20的控制器214通過終端210和ATA接口部分212,接受已加密數(shù)據(jù)E(Ks2a,E(KPom2,LIC))(步驟S33),并且將其提供到總線BS3上。解密處理部分228利用從會話密鑰產生部分226中提供的會話密鑰Ks2a,對提供到總線BS3上的數(shù)據(jù)E(Ks2a,E(KPom2,LIC))進行解密,并且硬盤20接受通過利用個人公用密鑰KPom2來加密許可證LIC所準備的已加密許可證E(KPom2,LIC)(步驟S34)。解密處理部分228將已加密許可證E(KPom2,LIC)提供到總線BS3上。
根據(jù)控制器214的指示,解密處理部分216利用個人專用密鑰Kom,對已加密許可證E(KPom2,LIC)進行解密,以接受許可證LIC(步驟S35)。
當硬盤20的控制器214確認了許可證LIC的接受時,其通過ATA接口部分212和終端210向終端設備10通知該接受。當終端設備10的控制器108通過硬盤接口部分110和總線BS2接受了硬盤20接受了許可證LIC被硬盤20接受的通知時,控制器108通過總線BS2和硬盤接口部分110,向硬盤20提供在其上將接收到的許可證LIC存儲在硬盤20的安全數(shù)據(jù)存儲部分250中的LBA(即存儲LBA)(步驟S36)。硬盤20的控制器214通過終端210和ATA接口部分212接受許可證LIC的目的地的存儲LBA(步驟S37),并且將所接受的存儲LBA存儲在日志存儲器253的存儲體n中所存儲的日志的LBA區(qū)域2547中(步驟S38)。
控制器214將在所接受的許可證LIC中所包括的許可證ID(LID)與在步驟S16中所接受的許可證LID(LID)進行比較,并且確定這些許可證ID是否相互匹配(步驟S39)。當確認為相匹配時,控制器214確定所接受的許可證LIC是正確的,并且將從終端設備10中接收到的LBA處的所接受的許可證LIC存儲在安全數(shù)據(jù)存儲部分250中(步驟S40)。
當控制器214存儲了在指定LBA處的許可證LIC時,該控制器214將與有效性標記區(qū)域252的該LBA相對應的標記設置為“有效”(步驟S41)??刂破?14還將日志存儲器253的存儲體n中的ST1區(qū)域2544中的狀態(tài)ST1設置為“已接收”(步驟S42),并且向終端設備10通知在分配會話中的一系列處理結束的事實。
當終端設備10接受了從硬盤20提供的處理結束的通知時,在數(shù)據(jù)分配系統(tǒng)中的分配會話正常結束。
當控制器214在步驟S39中確定了發(fā)生了LID的不匹配,以及所接受的LIC不正確時,該控制器214向終端設備10提供錯誤通知(步驟S43),并且由終端設備10接收該錯誤通知(步驟S45),從而處理結束。
在圖9和10所示的分配處理中,許可證提供設備40記錄日志,盡管未對其進行描述。然而,結合于此,如圖4所示,許可證提供設備40配備有具有足夠存儲容量的日志數(shù)據(jù)庫404,并且存儲了在分配會話中的各種步驟的日志。日志數(shù)據(jù)庫404還存儲與許可證的傳送相關的記帳信息。
在圖9和10所示的分配處理的一系列步驟中,在步驟S25和S44的處理期間可能會發(fā)生故障,從而可能會中斷處理。在這種情況下,可以進行重寫處理。例如,由于各種原因,諸如在處理期間終端設備10的掉電、在許可證提供設備40側的故障、或者在終端設備10和許可證提供設備40之間的通信中的故障,均可能會發(fā)生中斷。當在從步驟S22的結束到步驟S44的時間段期間發(fā)生處理中斷時,其中存儲了除了在日志存儲器253中所存儲的狀態(tài)ST2之外的輸出日志的所有內容,可以通過執(zhí)行重寫處理向硬盤20提供許可證。由于配置了前述的處理來根據(jù)終端設備10的確定來進行重寫處理,因此,當除了在從步驟S22到步驟S24的時間段中的處理之外,在從步驟S25到步驟S44的處理期間發(fā)生了中斷時,要進行重寫處理,其間終端設備10可以確定處理的進展。當在除了上述步驟之外的其他步驟中發(fā)生了中斷時,則確定許可證提供設備40還未提供許可證,并且根據(jù)圖9和10的流程圖來進行從初始步驟開始的處理。
同樣,如果能夠指定其中發(fā)生了處理中斷的步驟,則從步驟S25到步驟S30在許可證提供設備40中所進行的處理,在其之前許可證提供設備40輸出了許可證,并不被作為重寫處理的目標情況來處理,由此,將其處理為其中要根據(jù)圖9和10的流程圖來進行從初始步驟開始的處理的情況。
圖13到15是示出了當在圖9和10所示的分配處理中從步驟S25到S44的處理期間發(fā)生了故障時,所執(zhí)行的重寫處理的第一到第三流程圖。圖16是示出了在圖13中的步驟S112a中所執(zhí)行的特定操作的流程圖。
參考圖13,當終端設備10確定在從步驟S25到步驟S44的處理期間發(fā)生了故障時,該終端設備10通過網絡30向許可證提供設備40提供了對LID//重寫許可證LIC的請求(步驟S101)。當分配控制部分412通過通信設備450和總線BS1接受了LID//重寫請求時(步驟S102),其指示會話密鑰產生部分414產生會話密鑰。接收到該指示的會話密鑰產生部分414產生用于重寫處理的會話密鑰Ks1b(步驟103)。分配控制部分412從用于存儲該會話中向和從硬盤20傳送的日志的日志數(shù)據(jù)庫404中,獲得與硬盤20相對應的公用密鑰KPcm1(步驟S104),并且將其提供給加密處理部分420。接受到類公用密鑰KPcm1的加密處理部分420利用會話密鑰Ks1b對類公用密鑰KPcm1進行加密以產生E(KPcm1,Ks1b)(步驟S105)。分配控制部分412通過總線BS1和通信設備450向終端設備10提供LID//E(KPcm1,Ks1b)(步驟S106)。
當終端設備10通過網絡30接受了LID//E(KPcm1,Ks1b)時(步驟S107),該終端設備10將所接受的LID//E(KPcm1,Ks1b)提供給硬盤20(步驟S108)。硬盤20的控制器214通過終端210和ATA接口部分212接受LID//E(KPcm1,Ks1b)(步驟S109)??刂破?14通過總線BS3向解密處理部分230提供已接受的E(KPcm1,Ks1b)。解密處理部分230利用由Kcm保存部分204所保存的、并且硬盤20所特定的類專用密鑰Kcm1來對其進行解密,以提供會話密鑰Ks1b,從而接受會話密鑰Ks1b(步驟S110)。
當硬盤20的控制器214確認了由許可證提供設備40所產生的會話密鑰Ks1b的接受時,控制器214通過ATA接口部分212和終端210向終端設備10提供接受通知。當終端設備10的控制器108通過硬盤接口部分110和總線BS2接受了硬盤20接受了會話密鑰Ks1b的通知時,該控制器108通過總線BS2和硬盤接口部分110向硬盤20提供針對日志的輸出請求(步驟S111)。
當硬盤20的控制器214通過終端210和ATA控制器212接受了針對日志的輸出請求通知時(步驟S112),控制器214指定日志的拷貝(步驟S112a)。
參考圖16,現(xiàn)在將描述步驟S112a中的特定操作??刂破?14指定在日志存儲器中存儲最新日志的存儲體(n-1),并且獲取存儲體(n-1)中所存儲的日志的管理號m(步驟S112b)。在步驟S112b中,根據(jù)圖11和12的流程圖來執(zhí)行特定的操作。
在步驟S112b之后,控制器214將“1”替代到變量k中(k是滿足(1≤k≤N)的自然數(shù)),并且將“假”替代到變量ERR中(步驟S112c),并且確定存儲體(n-k)中所存儲的許可證ID(LID)是否與步驟S109中所接受的許可證ID(LID)相匹配。更具體地,控制器214確定在步驟S112b中所檢測到的最新日志中所存儲的許可證ID(LID)是否與步驟S109中所接受的許可證ID(LID)相匹配。
當兩個許可證ID(LID)不匹配時,控制器214確定k是否小于N(N存儲體的總數(shù))(步驟S112e)。當k等于或大于N時,完成了與所有存儲體有關的確認,因此,確認了未存儲存儲了與所接受的許可證ID(LID)相匹配的LID的日志。因此,在步驟S1 12h中執(zhí)行下一操作,并且將“真”替代到變量ERR中(步驟S112h)。該操作返回到圖13的步驟S113A中,并且確定變量ERR。
再次參考圖13,控制器214確定變量ERR(步驟S113a)。如果從圖16中的步驟S112h中返回該處理,則變量ERR是“真”,并且表示存儲了所討論的許可證ID的日志并未存儲在日志存儲器253中。因此,不再可以繼續(xù)該處理。因此,該操作移到圖15所示的步驟S160,并且將錯誤通知發(fā)布到終端設備10(步驟S160)。終端設備10接受錯誤通知(步驟S161),從而拒絕寫入,并且一系列操作結束。
參考圖16,當控制器214在步驟S112e中確定k小于N時,不完成對所有存儲體的檢查,從而將(k-1)替代到變量k中,用于確定比最后確定的日志早一個的日志(步驟S112f),并且操作移到步驟S112d??刂破?14確定存儲體(n-k)所存儲的許可證ID(LID)是否與步驟S109中所接受的許可證ID(LID)相匹配。在這種情況下,變量k是“2”,從而控制器214確定存儲體(n-2)中所存儲的日志的許可證ID(LID)是否與步驟S109中所接受的許可證ID(LID)相匹配。當兩個許可證ID(LID)不彼此匹配時,執(zhí)行步驟S112e、S112f和S112d的處理。
如上所述,控制器214確定在變更存儲體以從最新日志向最早日志進行確定的同時,每一個存儲體中所存儲的許可證ID(LID)是否與步驟S109中所接受的許可證ID(LID)相匹配。重復步驟S112e、S112f和S112d的這些操作,直到檢測到與步驟S109中所接受的許可證ID(LID)相匹配的許可證ID(LID)為止,或者直到完成了對所有存儲體的檢查為止。由于存儲體號處于N的殘數(shù)系統(tǒng)中,因此按照存儲體(n-1)(k=1)、(n-2)(k=2)、……、1(k=n-1)、0(k=n)、(N-1)(k=n+1)、……、以及n(k=N)的次序來執(zhí)行許可證ID的檢查。
當在步驟S112d中,兩個許可證ID(LID)相匹配時,控制器214獲得存儲體(n-k)中所存儲的日志,并且在將所獲得的日志的管理號m變更為(m+1)之后,將這樣獲得的日志存儲在存儲體n中(步驟S112g)。因此,在日志存儲器253存儲了包括與從許可證提供設備40傳送來的許可證ID(LID)相匹配的許可證ID的日志的情況下,控制器214將該日志(如果存在兩個或多個匹配日志,則最新日志)拷貝到存儲最早日志的存儲體n中。在這種情況下,僅拷貝管理號,并且記錄通過對最后存儲體(n-1)中所存儲的日志的管理號加一所獲得的值,從而可以將所拷貝的日志作為新日志進行處理。因此,檢測到最早日志,并且存儲將與正在執(zhí)行的重新處理相對應的新日志,替代已刪除的日志。
之后,操作移到圖13所示的步驟S113a。
再次參考圖13,控制器214存儲變量ERR(步驟S133a)。當操作從圖16所示的步驟S112a轉移時,變量ERR為“假”,并且確定存儲了所討論的許可證ID的日志拷貝到存儲體n,從而控制器214確定該處理可以繼續(xù),并且在步驟S113執(zhí)行下一處理,以確定記錄在日志存儲器253的存儲體n中所存儲的存儲LBA中的許可證LIC的許可證ID(LID)是否與日志存儲器253中所存儲的許可證ID(LID)相匹配(步驟S113)。
當控制器214確定了兩個許可證ID(LID)彼此相匹配時,進行分配處理,直到從許可證提供設備40接收到許可證LIC為止,并且識別硬盤20已經接受了許可證LIC。由此,控制器214檢查與日志存儲器253的存儲體n中所存儲的LBA所指定的區(qū)域中所存儲的許可證相對應的、有效性標記存儲器252中所存儲的標記,并且檢查許可證的有效性(步驟S114)。
當控制器214確定了該許可證有效時,該控制器214將日志存儲器253的存儲體n中所存儲的日志的狀態(tài)ST2改變?yōu)椤皵?shù)據(jù)存在”,然后進行下一處理(步驟S118)。當控制器214在步驟S114中確定了許可證無效時,其將日志存儲器253的存儲體n中所存儲的日志的狀態(tài)ST2變更為“已轉移”,然后在步驟S118中進行新的處理。
在步驟S113,當控制器214確定了所比較的許可證ID(LID)并不彼此相匹配時,其將日志存儲器253的存儲體n中所存儲的日志的狀態(tài)ST2變更為“沒有數(shù)據(jù)”(步驟S117)。
當進行處理以改變狀態(tài)ST2時,控制器214從日志存儲器253中獲得了許可證ID(LID)、狀態(tài)ST1和ST2、以及會話密鑰Ks2c(步驟S118)。在這種情況下,由于根據(jù)圖9和10的流程圖結合分配會話的終端來執(zhí)行該處理,因此將會話密鑰Ks2a存儲在日志存儲器253的存儲體n中。然而,為了描述的目的,示出了從日志存儲器253的存儲體n中所獲得的會話密鑰Ks2c。控制器214通過總線BS3將這樣獲得的會話密鑰Ks2c提供給加密處理部分224。
加密處理部分224利用通過選擇器開關260的觸點Pb從解密處理部分230中所施加的會話密鑰Ks1b,對從總線BS3中所獲得的會話密鑰Ks2c進行加密,并且產生了E(Ks1b,Ks2c)(步驟S119)。加密處理部分224將這樣產生的E(Ks1b,Ks2c)提供到總線BS3上??刂破?14接受在總線BS3上的E(Ks1b,Ks2c),與步驟S118所獲得的數(shù)據(jù)一起,從E(ks1b,Ks2c)中產生一個數(shù)據(jù)串LID//E(Ks1b,Ks2c)//ST1//ST2,并且利用散列函數(shù)來產生散列值H(LID//E(Ks1b,Ks2c)//ST1//ST2)(步驟S120)??刂破?14通過總線BS3向加密處理部分224提供散列值H(LID//E(Ks1b,Ks2c)//ST1//ST2)。
加密處理部分224利用通過選擇器開關260的觸點Pb從解密處理部分230中所施加的會話密鑰Ks1b,對從總線BS3中所獲得的散列值H(LID//E(Ks1b,Ks2c)//ST1//ST2)進行加密,以產生E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))(步驟S121)。加密處理部分224將這樣產生的E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))提供給總線BS3。數(shù)據(jù)串LID//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))將被稱為“接收日志”,并且E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2)是通過利用會話密鑰Ks1b將電子簽名作用于接收日志上所準備的已簽名數(shù)據(jù)。利用會話密鑰Ks1b來加密在日志存儲器253中所存儲的會話密鑰Ks2c的目的是消除由于會話密鑰Ks2c的泄漏而造成的許可證的“流出”的可能性。
當控制器214接受了從總線BS3中傳送來的簽名數(shù)據(jù)時,其利用在步驟S118中所獲得的接收日志,來產生已簽名接受日志LID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2)),并且通過ATA接口部分212和終端210將其提供給終端設備10(步驟S122)。
當終端設備10接受了從硬盤20傳送來的已簽名接收日志LID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))(步驟S123),其通過網絡30將所接受的數(shù)據(jù)提供給許可證提供設備40(步驟S124)。許可證提供設備40通過網絡30接收已簽名接收日志LID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))(步驟S125)。
參考圖14,許可證提供設備40對這樣接收到的已簽名接收日志LID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))進行認證(步驟S126)。按照如下方式來進行認證處理。
當分配控制部分412接受了該已簽名接收日志時,其將該已簽名接收日志的第二半,即,簽名數(shù)據(jù)E(Ks1b,H(LID//E(Ks 1b,Ks2c)//ST1//ST2)提供給解密處理部分422。此外,分配控制部分412指示會話密鑰Ks1b的產生。解密處理部分422利用會話密鑰Ks1b對簽名數(shù)據(jù)E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2)進行解密,并且提取由硬盤20計算出的散列值。分配控制部分412計算該已簽名接收日志的第一半,即接收日志LID//E(Ks1b,Ks2c)//ST1//ST2的散列值,并且將其與由解密處理部分422解密之后由硬盤20計算出的散列值進行比較。當分配控制部分412確定了這兩個散列值彼此相匹配時,許可證提供設備40認證了從硬盤20中所接收到的數(shù)據(jù)串包括正確的數(shù)據(jù)。
當在步驟S126中認證了從硬盤20接收到的已簽名接收日志時,分配控制部分412根據(jù)所接受的許可證ID(LID)來搜索日志數(shù)據(jù)庫404(步驟S127)。當分配控制部分412確定了所接受的許可證ID(LID)存儲在日志數(shù)據(jù)庫404中,并且其確實為提供給硬盤20的許可證時,該分配控制部分412檢查所接受的狀態(tài)ST1和ST2的內容(步驟S128)。
當狀態(tài)ST1為“等待接收”,并且狀態(tài)ST2為“沒有數(shù)據(jù)”時,分配控制部分412確定由于特定故障,硬盤20還未接受要發(fā)送到硬盤20的許可證LIC。由此,分配控制部分412將在所接收到的數(shù)據(jù)串中所包括的已加密數(shù)據(jù)E(Ks1b,Ks2c)提供給解密處理部分422,并且解密處理部分422利用會話密鑰Ks1b對其進行解密以獲得會話密鑰Ks2c。將已解密會話密鑰Ks2c通過總線BS1提供給分配控制部分412,并且由分配控制部分412接受(步驟S129)。
分配控制部分412將當發(fā)生故障時正在處理的會話密鑰Ks2a與當前所接受的會話密鑰Ks2c進行比較(步驟S130)。當分配控制部分412確定了會話密鑰Ks2a與會話密鑰Ks2c相匹配時,該分配控制部分412提供了用于將許可證LIC重寫到終端設備10的許可通知(步驟S133)。
與以上所述相反,在步驟S126中可能未認證從硬盤20接收到的數(shù)據(jù)串。此外,在步驟S127中,從硬盤20中接收到的許可證ID(LID)可能并未存儲在日志數(shù)據(jù)庫404中,并且不能夠確定為提供給硬盤20的許可證的ID。在步驟S128,可以確定在硬盤20中接受了許可證LIC。在步驟S130,可以確定會話密鑰Ks2a和Ks2c彼此不相匹配。在這些情況下,分配控制部分412確定許可證的重傳是不可能的,通過總線BS1和通信設備450向終端設備10發(fā)出錯誤通知(步驟S131)。當終端設備10通過網絡30接受了錯誤通知時(步驟S132),該處理結束。因此,許可證提供設備40拒絕許可證的重寫,并且處理結束。
當在步驟S134,終端設備10的控制器108接受了在步驟S133由許可證提供設備40所發(fā)出的許可通知時,該控制器108通過總線BS2和硬盤接口部分110向硬盤20發(fā)出對產生針對硬盤20的會話密鑰的請求通知(步驟S135)。
當硬盤20根據(jù)從許可證提供設備40所提供的重寫處理許可通知,接受了從終端設備10發(fā)出的、對產生會話密鑰的請求通知時,其產生新的會話密鑰Ks2b(步驟S136),并且用會話密鑰Ks2b來替代日志存儲器253的存儲體n的日志中所記錄的會話密鑰Ks2c(=Ks2a)。此外,其將日志的狀態(tài)ST1變更為“等待接收”(步驟S137)。
除了在圖9和10所示的從步驟S21的處理到處理結束的一系列處理中,新產生和使用該會話密鑰Ks2b來替代會話密鑰Ks2a之外,與圖9和10所示的處理類似地執(zhí)行步驟S138處和步驟S138之后的處理。因此,不將重復描述從步驟S138開始的一系列處理。
當在圖13到115的流程圖中所示的許可證分配期間的重寫處理中發(fā)生了中斷時,進行如下處理。當在步驟S101-S131、S133和S142-S160任一個中發(fā)生了中斷時,可以根據(jù)圖13到15的流程圖來進行重寫處理。當在步驟S134-S141的任一個中發(fā)生了中斷時,則從初始步驟重新開始圖8和圖9的流程圖所示的許可證分配處理,從而可以恢復該處理。
如上所述,確認附加到終端設備10上的硬盤20保存了正確的類證書Cm1。在該確認之后,利用與包括其的類證書Cm1一起發(fā)送的類公用密鑰KPcm1,相互傳送分別由許可證提供設備40和硬盤20所產生的加密密鑰(會話密鑰)。每一側均利用所接收到的加密密鑰來執(zhí)行加密,并且將已加密數(shù)據(jù)發(fā)送到相對方,從而實際上在相對方之間傳送已加密數(shù)據(jù)的處理中進行相互認證。由此,能夠禁止向硬盤未授權地分配許可證,并且可以提高數(shù)據(jù)分配系統(tǒng)的安全性。
此外,即使當中斷了許可證分配處理時,也將在作為接收機側上的數(shù)據(jù)存儲設備的硬盤20上的接收日志傳送到許可證提供設備40,從而可以安全地進行許可證的重傳,而不會進行許可證的雙重分配。
圖17是示出了進行拷貝/轉移處理的系統(tǒng)結構的概念的示意圖。參考圖17,可以將兩個數(shù)據(jù)存儲設備,即,兩個硬盤20和21附加到終端設備10上,并且能夠通過終端設備10來進行從硬盤20到硬盤21的拷貝和轉移。
由于硬盤21是不同于硬盤20的數(shù)據(jù)存儲設備,其保存與硬盤20不同的個人公用密鑰KPom5和個人專用密鑰Kom5。在這種情況下,硬盤21的標識符在等于5(z=5),并且因此不同于等于2的硬盤20的z。在以下的描述中,硬盤21的類等于硬盤20的類,并且因而等于一(y=1)。因此,每一個硬盤20和21保存了類證書Cm1=KPcm1//Icm1//E(Ka,KPcm1//Icm1)和類專用密鑰Kcm1。然而,如果硬盤21的類不同于硬盤20的類(即,y≠1),則類證書和類專用密鑰不同于硬盤21的情況,與個人公用密鑰和個人專用密鑰類似。
圖18和19是分別示出了圖17所示的允許許可證拷貝/轉移的系統(tǒng)的處理(拷貝/轉移會話)的第一和第二流程圖。在所示的處理中,終端設備10的用戶從終端設備10中請求已加密數(shù)據(jù)的許可證的拷貝或轉移,從而通過終端設備10,將許可證從附加到終端設備10上的硬盤20拷貝或轉移到硬盤21上。
參考圖18,當終端設備10的用戶請求針對所需內容數(shù)據(jù)進行許可證拷貝和轉移時,終端設備10的控制器108通過總線BS2和硬盤接口部分110向硬盤21發(fā)出對類證書的輸出請求(步驟S201)。當硬盤21的控制器214通過終端210和ATA接口部分212接受了對類證書的輸出請求時(步驟S202),該控制器214從認證數(shù)據(jù)保存部分202中讀取類證書Cm1=KPcm1//Icm1//E(Ka,H(KPcm1//Icm1)),并且通過ATA接口部分212和終端210向終端設備10提供類證書Cm1(步驟S203)。
當終端設備10從硬盤21接收到類證書Cm1時(步驟S204),其向硬盤20傳送類證書Cm1(步驟S205)。
當硬盤20從終端設備10接收到硬盤21的類證書Cm1時(步驟S206),該硬盤20認證所接受的硬盤21的類證書Cm1是否為正確的類證書(步驟S207)。該認證處理與步驟S207中所示的許可證提供設備40的處理相同,因此,不再重復對其的詳細描述。
當控制器214在步驟S207中確定了其不是硬盤21的正確類證書時,控制器214向終端設備10發(fā)出錯誤通知,而不批準和接受硬盤21的類證書Cm1(圖19中的步驟S252)。當終端設備10接受了錯誤通知時(圖19中的S253),該分配會話結束。
當在步驟S207中確定了硬盤21的類證書Cm1是正確的類證書時,硬盤20的控制器214批準硬盤21的類證書Cm1,并控制會話密鑰產生部分226以產生會話密鑰Ks1a,從而會話密鑰產生部分226產生會話密鑰Ks1a(步驟S209)。
加密處理部分222利用由認證部分220所獲得的硬盤21的類公用密鑰KPcm1,對會話密鑰Ks1a進行加密,以產生已加密數(shù)據(jù)E(KPcm1//Ks1a)(步驟S210)。
控制器214通過ATA接口部分212和終端210,將已加密數(shù)據(jù)E(KPcm1//Ks1a)提供給終端設備10(步驟S211)。
當終端設備10接受了E(KPcm1//Ks1a)時(步驟S212),該終端設備10向硬盤21提供所接受的已加密數(shù)據(jù)E(KPcm1//Ks1a)(步驟S213)。終端設備10已經通過提前參考管理文件獲得了許可證ID(LID)。管理文件是用于存儲管理數(shù)據(jù)的數(shù)據(jù)文件,所述管理數(shù)據(jù)用于管理已加密內容數(shù)據(jù)和硬盤20上所存儲的許可證之間的關系,并且將其存儲在一般數(shù)據(jù)存儲部分270上。相應已加密內容數(shù)據(jù)的記錄或擦除以及許可證的寫入、轉移和擦除來更新管理文件的內容。
硬盤21的控制器214通過終端210和ATA接口部分212來接受LID//E(KPcm1,Ks1a)。然后,控制器214通過總線BS3將E(KPcm1//Ks1a)提供給解密處理部分230。解密處理部分230利用由Kcm保存部分204所保存的、并且硬盤21所特定的類專用密鑰Kcm1,對其進行解密,以獲得并接受會話密鑰Ks1a(步驟S215)。
當硬盤21的控制器214確認接受了由硬盤20所產生的會話密鑰Ks1a時,該控制器214通過ATA接口部分212和終端210向終端設備10通知該接受。當終端設備10接受了硬盤21接受了會話密鑰Ks1a的通知時,終端設備10向硬盤21發(fā)出對會話密鑰的產生請求的通知(步驟S216)。當硬盤21的控制器214通過終端210和ATA控制器212,接受了對會話密鑰的產生請求的通知時,其指示會話密鑰產生部分226產生會話密鑰。會話密鑰產生部分226產生會話密鑰Ks2a(步驟S217)。
會話密鑰產生部分226通過總線BS3向控制器214提供由此產生的會話密鑰Ks2a,并且控制器214接收會話密鑰Ks2a??刂破?14搜索存儲了最早日志的存儲體,并重新存儲針對正在被處理的會話的日志(步驟S218)。根據(jù)圖11和12的流程圖來執(zhí)行步驟S218中的特定操作。然而,假定存儲體na存儲了用于將硬盤21中的處理與硬盤20中的類似處理的結果進行區(qū)分的最早日志。因此,僅用變量na來替代圖11和12的流程圖中的變量n。
因此,將通過將存儲體(na-1)中所存儲的日志的管理號加一所獲得的新管理號、以及步驟S214中所接受的許可證ID(LID)和會話密鑰Ks2a存儲在日志存儲器253的存儲體na中,并且將狀態(tài)ST1設置為“等待接收”。
隨后,硬盤21的加密處理部分224利用通過選擇器開關260的觸點Pb從解密處理部分230所施加的會話密鑰Ks1a,對通過連續(xù)地在觸點Pd和Pf之間切換選擇器開關所施加的、由會話密鑰Ks2a和個人公用密鑰Kpom5所形成的一個數(shù)據(jù)串進行加密,由此,產生了E(Ks1a,Ks2a//KPom5)(步驟S219)。加密處理部分224將E(Ks1a,Ks2a//KPom5)提供到總線BS3上??刂破?14接受提供到總線BS3上的已加密數(shù)據(jù)E(Ks1a,Ks2a//KPom5),并通過ATA接口部分212和終端210,將由所接受的已加密數(shù)據(jù)和許可證ID(LID)所產生的一個數(shù)據(jù)串LID//E(Ks1a,Ks2a//KPom5)提供給終端設備10。
當終端設備10從硬盤21接受了LID//E(Ks1a,Ks2a//KPom5)時(步驟S221),其向硬盤20輸出所接受的數(shù)據(jù)(步驟S222)。
當硬盤20通過終端210和ATA接口部分110接受了數(shù)據(jù)LID//E(Ks1a,Ks2a//KPom5)時(步驟S223),解密處理部分228利用會話密鑰Ks1a來進行解密處理,以提取和接受由硬盤21所產生的會話數(shù)據(jù)Ks2a、以及硬盤21的個人公用密鑰KPom5(步驟S224)。解密處理部分228通過總線BS3向控制器214提供已解密會話密鑰Ks2a,并且控制器214接收會話密鑰Ks2a??刂破?14將正在被處理的會話的日志存儲在用于存儲最早日志的存儲體中(步驟S225)。根據(jù)圖20的流程圖來執(zhí)行步驟S225中的特定操作。參考圖20,步驟S225包括步驟S225a,其中指定了在日志存儲器253中存儲最新日志的存儲體(n-1),并且獲得存儲體(n-1)中所存儲的管理號m;以及步驟S225b,其中在存儲體n中存儲了管理號(m+1)、許可證ID(LID)、會話密鑰Ks2a和類公用密鑰KPcmy,并且將狀態(tài)區(qū)域設置為“等待傳輸”。根據(jù)圖12的流程圖來執(zhí)行步驟S225a中的特定操作。因此,根據(jù)圖20和12的流程圖,控制器214將在步驟S223中所接受的許可證ID(LID)和步驟S224所接受的會話密鑰Ks2a存儲在存儲體n中,并且將狀態(tài)ST1設置為“等待傳輸”。
當在步驟S225中的處理結束時,硬盤20的控制器214通過ATA接口部分212和終端210向終端設備10通知該結束。當終端設備10的控制器108通過硬盤接口部分110和總線BS2接受了從硬盤20發(fā)送來的通知時,其通過總線BS2和硬盤接口部分110,向硬盤20提供在其上存儲了要從硬盤20發(fā)送到硬盤21的許可證LIC的、硬盤20的安全數(shù)據(jù)存儲部分250中的LBA(存儲LBA)(步驟S226)。當硬盤20的控制器214通過終端210和ATA接口部分212接受了要發(fā)送的許可證LIC的存儲LBA的LBA時(步驟S227),該控制器214將所接受的LBA存儲在安全數(shù)據(jù)存儲部分250的日志存儲器253中(步驟S228)。
控制器214確定在存儲在所接受的存儲LBA處的許可證LIC相對應的有效性標記存儲器252中的標記是“有效”還是“無效”(步驟S229)。當有效性標記是“有效”時,控制器2 14獲得要存儲在存儲LBA處的許可證LIC(步驟S230)。
參考圖19,當控制器214獲得了目標許可證LIC時,其將包括在許可證LIC中的許可證ID(LID)與在步驟S223中所接受的、且存儲在日志存儲器253的存儲體na中所存儲的日志中的許可證ID(LID)進行比較,并且檢查這些ID分配相互匹配(步驟S231)。當控制器214確認了該匹配時,其確定在所獲得的許可證LIC中所包括的控制信息AC,并且檢查是否對使用施加了限制(步驟S232)。
當控制器214確定了控制信息AC并未禁止許可證LIC的使用時,該控制器214將所獲得的許可證LIC施加到加密處理部分232。加密處理部分232利用由解密處理部分228所獲得的硬盤21的個人公用密鑰KPom5對許可證LIC進行加密,以產生已加密數(shù)據(jù)E(KPom5,LIC)(步驟S233)。加密處理部分232通過選擇器開關Pc,將已加密數(shù)據(jù)E(KPom5,LIC)提供給加密處理部分224,并且加密處理部分224利用從解密處理部分228中所接收到的會話密鑰Ks2a,對從加密處理部分232中接收到的已加密數(shù)據(jù)進行加密,以產生已加密數(shù)據(jù)E(Ks2a,E(KPom5,LIC))(步驟S234)。
根據(jù)在目標許可證LIC中所包括的控制信息AC,然后,控制器214確定從硬盤20到硬盤21的許可證LIC的傳送是“轉移”還是“拷貝”(步驟S235)。當控制器214確定了其是“轉移”時,該控制器214將與目標許可證LIC(即存儲LBA)相對應的有效性標記存儲器252中的標記設置為“無效”(步驟S236)。當控制器214確定了其為“拷貝”時,可以將所討論的許可證留在硬盤20上,從而其在步驟S237中開始接下來的處理,而無需改變有效性標記存儲器252中的標記。
當有效性標記存儲器252中的處理結束時,控制器214將日志存儲器253的存儲體n中所存儲的狀態(tài)ST1改變?yōu)椤耙寻l(fā)送”(步驟S237),并且通過ATA接口部分212和終端210向終端設備10傳送已加密數(shù)據(jù)E(Ks2a,E(KPom5,LIC))(步驟S238)。
在一些情況下,即,當與在步驟S229中所接受的LBA相對應的有效性標記存儲器252中的標記是“無效”時,當在步驟S231中并未發(fā)生許可證ID(LID)的匹配時,或者當在所獲得的許可證LIC中所包括的控制信息AC禁止使用在步驟S232中所獲得的許可證LIC時,控制器214向終端設備10發(fā)出錯誤通知(步驟S252)。當終端設備10接受了錯誤通知時(步驟S253),則處理結束。
當終端設備10接受了在步驟S238從硬盤20中提供的已加密數(shù)據(jù)E(Ks2a,E(KPom5,LIC))時(步驟S239),該終端設備10將這樣接受的已加密數(shù)據(jù)提供給硬盤21(步驟S240)。
硬盤21的控制器214通過終端210和ATA接口部分212接受了已加密數(shù)據(jù)E(Ks2a,E(KPom5,LIC))(步驟S241),并且將其提供到總線BS3上。解密處理部分228利用從會話密鑰產生部分226中所提供的會話密鑰Ks2a,對提供到總線BS3上的數(shù)據(jù)E(Ks2a,E(KPom5,LIC))進行解密,并且硬盤21接受通過利用個人公用密鑰KPom5對許可證LIC進行加密所準備的已加密許可證E(KPom5,LIC)(步驟S242)。解密處理部分228將已加密的許可證E(KPom5,LIC)提供到總線BS3上。
根據(jù)控制器214的指示,解密處理部分215利用個人專用密鑰Kom5對已加密許可證E(KPom5,LIC)進行解密,并硬盤21接受了許可證LIC(步驟S243)。
當控制器214確認許可證LIC的接受,其通過ATA接口部分212和終端210向終端設備10通知該接受。當終端設備10的控制器108通過硬盤接口部分110和總線BS2,接收硬盤21接受了許可證LIC的通知時,該控制器108通過硬盤接口部分110,向硬盤21提供在其上要將接收到的許可證LIC存儲在硬盤21的安全數(shù)據(jù)存儲部分250中的LBA(即存儲LBA)(步驟S244)。當硬盤21的控制器214通過終端210和ATA接口部分212接受了用于存儲許可證LIC的存儲LBA時(步驟S245),該控制器214將所接受的存儲LBA存儲在日志存儲器253的存儲體n中所存儲的日志的LBA區(qū)域2544中(步驟S246)。
控制器214將在所接受的許可證LIC中所包括的許可證ID(LID)與在步驟S214中接受的許可證ID(LID)進行比較,并且確定這些ID是否彼此相匹配(步驟S247)。當這些ID彼此相匹配時,控制器214確定了所接受的許可證LIC是正確的,并且將所接受的LIC存儲在安全數(shù)據(jù)存儲部分250中的、與從終端設備10接收到的存儲LBA相對應的區(qū)域中(步驟S248)。
當控制器214將許可證LIC存儲在指定存儲LBA處時,該控制器214將在許可證標記存儲器252中與該存儲LBA相對應的標記設置為“有效(步驟S249)??刂破?14將日志存儲器253的存儲體n中所存儲的日志的狀態(tài)ST1設置為“已接收”(步驟S250),并且通過ATA接口部分212和終端210,向終端設備10通知關于在拷貝/轉移會話中的一系列處理結束的事實。
當終端設備10接受了從硬盤21發(fā)送的處理結束通知時,從硬盤20到硬盤21的拷貝/轉移會話正常結束。
當在步驟S247中,在這些ID之間發(fā)生了不匹配時,控制器214確定了所接受的許可證LIC是不正確的,并且通過ATA接口部分212和終端210向終端設備10發(fā)出錯誤通知(步驟S251)。當終端設備10接受了該錯誤通知時(步驟S253),從硬盤20到硬盤21的拷貝/轉移的會話異常地結束。
與分配會話類似,當由于在從步驟S227到S252的處理期間的故障,在圖18和19所示的拷貝/轉移會話的一系列處理中發(fā)生了中斷時,要進行重寫處理。
在圖18和19所示的拷貝/轉移會話中,當出于以下理由,在從步驟S227到步驟S235的處理期間發(fā)生了中斷時,要進行重寫處理。從步驟S227到步驟S235的一系列處理是內部處理,并且不能夠指定在從步驟S227到步驟S238的步驟中終端設備10的處理發(fā)生了故障的步驟。因此,假定執(zhí)行步驟S236以使許可證在所有的情況下均無效,因此,要按如上所述來進行重寫處理。
出于以下理由,當從步驟S236到步驟S247的處理期間發(fā)生中斷時,進行重寫處理。在轉移處理中,在步驟S236中,使硬盤20上的許可證無效,并且有效許可證將在上述時間段內未存在于硬盤21上。因此,如果在上述時間段內中斷了該處理,則目標許可證丟失。
當出于以下理由,從步驟S248到步驟S250的處理期間發(fā)生中斷時,也進行重寫處理。在步驟S248中寫入許可證之后,進行步驟S249和S250,因此,在這些步驟之前,主要處理已經完成。然而,終端設備10不能夠確定步驟S248的結束,從而假定步驟S248還未結束,并且對其進行配置以進行針對步驟S248到步驟S250的重寫處理。當在步驟S248結束之后進行重寫處理時,將在重寫處理中拒絕重寫。
當出于以下理由,在步驟S251中的處理期間發(fā)生中斷時,也進行重寫處理。在步驟S51中的處理主要僅在極其特殊的情況下中斷,但是不能夠確定關于在步驟S251中處理已中斷的事實。因此,配置該系統(tǒng)以進行與步驟S251相關的重寫處理。
當在終端設備10中確定了會話是如上所述的許可證拷貝時,或者當能夠在步驟S227-S235和步驟S249-S251中,指定處理已中斷的步驟時,不一定需要該重寫處理,而僅需要再次執(zhí)行圖18和19所示的拷貝/轉移會話。
圖21到23分別是第一到第三流程圖。這些流程圖示出了當在圖18和19所示的拷貝/轉移會話的處理流程中從步驟S227到步驟S252的處理期間發(fā)生了故障時,所進行的重寫處理。
參考圖21,當終端設備10確定了在從步驟S227到步驟S252的處理期間發(fā)生了故障時,該終端設備10向硬盤20提供許可證ID(LID)、以及對重傳許可證LIC的請求,作為數(shù)據(jù)串LID//(重傳請求)(步驟S301)。硬盤20的控制器214通過終端210和ATA接口部分212接受了LID//(重傳請求)(步驟S301a),并拷貝該日志(301b)。在該拷貝處理中,確定日志存儲器253是否存儲了包括步驟S301a中所接受的LID的日志。如果已存儲,則將包括步驟S301a中所接受的LID的日志拷貝到在日志存儲器253中存儲了最早日志的存儲體n中,并且將變量ERR設置為“假”。如果日志存儲器253并未存儲包括步驟S301a中所接受的LID的日志,則將變量ERR設置為“真”。根據(jù)圖16的流程圖來執(zhí)行該拷貝處理中的特定操作。
控制器214確定步驟S301a中的處理結果,因此,確定變量ERR是為“真”還是“假”(步驟S301b)。如果為“真”,則這表示包括所接受的LID的日志已被拷貝到存儲體n中。因此,該處理移到下一步驟S302,以便響應重傳請求開始處理。如果為“假”,則這表示包括所接受的LID的日志并未存儲在日志存儲器253中,因此,在硬盤20中不執(zhí)行由所接受的LID所指定的許可證LIC的輸入/輸出處理。因此,確定不能夠響應該重傳請求,并且在圖23的步驟S372中執(zhí)行下一處理以向終端設備10發(fā)布錯誤通知。當終端設備10接受了該錯誤通知時(步驟S373),該處理結束。
在硬盤20中,當在步驟S301b中確定了變量ERR為“假”時,控制器214確定在拷貝和存儲到日志存儲器253的存儲體n中的日志的狀態(tài)ST1的狀態(tài)(步驟S302)。當狀態(tài)ST1既不是“等待發(fā)送”又不是“已發(fā)送”時,即,當其在拷貝/轉移會話中未處于許可證LIC的發(fā)送機側時,控制器214執(zhí)行在圖23的步驟S371中執(zhí)行下一處理。
當狀態(tài)ST1是“等待發(fā)送”或“已發(fā)送”時,硬盤20的控制器214指示會話密鑰產生部分226產生會話密鑰,并且會話密鑰產生部分226產生會話密鑰Ks1b(步驟S303)。當產生了會話密鑰Ks1b時,控制器214從日志存儲器253的存儲體n中所存儲的日志中,獲得作為轉移/拷貝許可證LIC的目的地、且在中斷之前所接受的硬盤21的類公用密鑰KPcm1(步驟S304)。在以上處理中,使用日志中所存儲的類公用密鑰KPcm1,而無需再次從硬盤21即轉移/拷貝的目的地中接受類證書Imc1。這樣做的目的在于防止由于重寫處理中的欺騙性攻擊而造成的許可證LIC的泄漏。為了再次接受類證書Imc1,需要確定已中斷處理中所接受的類證書是否與重寫處理中所接受的類證書相同。例如,將在重寫處理中所接受的類證書Imc1中所包括的類公用密鑰與日志中所記錄的類公用密鑰進行比較,由此,確定是否要執(zhí)行該重寫處理。
在硬盤21中,加密處理部分222利用類公用密鑰KPcm1來加密會話密鑰Ks1b,以產生已加密數(shù)據(jù)E(KPcm1,Ks1b)(步驟S305)。控制器214通過ATA接口部分212和終端210,將這樣產生的已加密數(shù)據(jù)(KPcm1,Ks1b)提供給終端設備10,作為數(shù)據(jù)串LID//E(KPcm1,Ks1b)(步驟S306)。
終端設備10接受已加密數(shù)據(jù)LID//E(KPcm1,Ks1b)(步驟S307),并且將所接受的LID//E(KPcm1,Ks1b)提供給硬盤21(步驟S308)。
硬盤21的控制器214通過終端210和ATA接口部分212接受LID//E(KPcm1,Ks1b)(步驟S309),并且通過總線BS3,將E(KPcm1,Ks1b)提供給解密處理部分230。解密處理部分230利用硬盤21所特定的、并且由Kcm保存部分204所保存的類專用密鑰Kcm1進行解密,以獲得并接受會話密鑰Ks1b(步驟S310)。
當硬盤21的控制器214確認接受了由硬盤20所產生的會話密鑰Ks1b時,該控制器214通過ATA接口部分212和終端210向終端設備10通知該接受。當終端設備10的控制器108通過硬盤接口部分110和總線BS2接受了從硬盤21發(fā)送來的該通知時,其通過總線BS2和硬盤接口部分110,向硬盤21發(fā)送用于請求向硬盤20輸出在硬盤21中的日志存儲器253中所存儲的日志的請求(步驟S311)。硬盤21的控制器214通過終端210和ATA控制器212接受對日志的輸出請求(步驟S312)。與硬盤20中的步驟S301a類似,執(zhí)行日志的拷貝(步驟S213a)。在該拷貝操作中,確定日志存儲器253是否已經存儲了包括步驟S309中所接受的LID的日志。如果已存儲,則將所存儲的包括LID的日志拷貝到在日志存儲器253中存儲最早日志的存儲體na,并且將變量ERRa設置為“假”。如果日志存儲器253還未存儲包括在步驟S309中所接受的的LID的日志,則將變量ERRa設置為“真”。根據(jù)圖16的流程圖來執(zhí)行步驟S312a中的特定操作。為了將硬盤21中的處理與硬盤20中的類似處理的結果區(qū)別,變量n表示為變量na,并且變量ERR表示為變量ERRa。因此,在與圖16的步驟S112b相對應的圖12的流程圖中,用變量na替換變量n,并且用變量ERRa替代ERR。
控制器214確定步驟S312a中的處理結果,因此,確定ERRa是“真”還是“假”(步驟S3212b)。如果結果為“假”,這表示包括所接受的LID的日志被拷貝到存儲體na中從而操作移到下一步驟S313,以便響應重傳請求來開始處理。如果結果為“真”,這表示包括所接受的LID的日志并未存儲在日志存儲器253中,因此硬盤21并不執(zhí)行由步驟S313中所接受的LID指定的許可證LIC的輸入/輸出處理。因此,確定了不能夠對重傳請求作出響應,并在圖23的步驟S371中執(zhí)行下一步驟,以向終端設備10發(fā)出錯誤通知。當在終端設備10中接受了錯誤通知時(步驟S373),該處理結束。
在硬盤21中,當在步驟S312b中確定ERRa為“假”時,控制器214確定存儲在與日志存儲器253的存儲體na中所存儲的日志的存儲LBA相對應的區(qū)域中所存儲的許可證LIC的許可證ID(LID)是否與日志存儲器253的存儲體na中所存儲的日志的許可證ID(LID)相匹配(步驟S313)。
當這些許可證ID(LID)彼此相匹配時,控制器214還檢查與在日志存儲器253的存儲體na中所存儲的日志的存儲LBA相對應的、有效性標記存儲器252中的標記,并且確定許可證LIC是有效還是無效(步驟S314)。當在有效性標記存儲器252中的標記是“有效”時,控制器214將日志存儲器253的存儲體na中所存儲的日志的狀態(tài)ST2變更為“數(shù)據(jù)存在”(步驟S315),并且在步驟S318中開始接下來的步驟。當在有效性標記存儲器252中的標記為“無效”時,控制器214將日志存儲器253的存儲體na中所存儲的日志的狀態(tài)ST2變更為“已發(fā)送”(步驟S316),并且在步驟S318中開始接下來的步驟。
當在步驟S313中,這些許可證ID(LID)不匹配時,控制器214將日志存儲器253的存儲體na中所存儲的日志的狀態(tài)ST2變更為“沒有數(shù)據(jù)”(步驟S317)。
當狀態(tài)ST2變更時,控制器214從日志存儲器253的存儲體na中獲得許可證ID(LID)、狀態(tài)ST1和ST2、會話密鑰Ks2c、以及存儲LBA(步驟S318)。在這種情況下,由于根據(jù)圖9和圖10的流程圖,結合分配會話的中斷來執(zhí)行當前處理,將會話密鑰Ks2a存儲在硬盤21的日志存儲器253中所存儲的當前處理的日志中,但是出于描述的原因,示出了從日志存儲器253的存儲體n中所獲得的會話密鑰Ks2c??刂破?14通過總線BS3,將這樣獲得的會話密鑰Ks2c提供給加密處理部分224。
加密處理部分224利用通過選擇器開關260的觸點Pb從解密處理部分230中施加的會話密鑰Ks1b,對會話密鑰Ks2c進行加密,并且產生了E(Ks1b,Ks2c)(步驟S319)。加密處理部分224將這樣產生的E(Ks1b,Ks2c)提供到總線BS3上??刂破?14接受總線BS3上的E(Ks1b,Ks2c),根據(jù)E(Ks1b,Ks2c)和在步驟S318中所獲得的數(shù)據(jù),產生一個接收日志LID//E(Ks1b,Ks2c)//ST1//ST2,并且產生散列值H(LID//E(Ks1b,Ks2c)//ST1//ST2)(步驟S320)??刂破?14通過總線BS3將散列值H(LID//E(Ks1b,Ks2c)//ST1//ST2)提供給加密處理部分224。
加密處理部分224利用通過選擇器開關260的觸點Pb從解密處理部分230中施加的會話密鑰Ks1b,對從總線BS3中獲得的散列值H(LID//E(Ks1b,Ks2c)//ST1//ST2)進行加密,以產生簽名數(shù)據(jù)E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))(步驟S321)。加密處理部分224將這樣產生的E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))提供到總線BS3上。
當控制器214從總線BS3中獲得了該簽名數(shù)據(jù)時,其利用在步驟S318中所獲得的接收日志,產生已簽名接受日志LID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2)),并且通過ATA接口部分212和終端210,將其和存儲LBA提供給終端設備10(步驟S322)。
參考圖22,當終端設備10從硬盤21接受已簽名接收日志LID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))和存儲LBA時(步驟S323),其將所接受的數(shù)據(jù)提供給硬盤20(步驟S324)。
當硬盤20接受了已簽名接收日志LID//E(Ks1b,Ks2c)//ST1//ST2//E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))時(步驟S325),該硬盤20認證這樣接受的已簽名接收日志(步驟S326)。按照如下方式來進行認證操作。
當硬盤20的控制器214接受了該已簽名接收日志時,其將這樣接受的已簽名接收日志的后一半,即,簽名數(shù)據(jù)E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))提供給解密處理部分228,并且指示會話密鑰產生部分226產生會話密鑰Ks1b。解密處理部分228利用所產生的會話密鑰Ks1b,對簽名數(shù)據(jù)E(Ks1b,H(LID//E(Ks1b,Ks2c)//ST1//ST2))進行解密。硬盤20的控制器214計算已簽名接收日志的前一半,即,接收日志LID//E(Ks1b,Ks2c)//ST1//ST2的散列值,并且將其與由解密處理部分228所提取的散列值進行比較。當硬盤20的控制器214據(jù)此確定了這兩個散列值相匹配時,硬盤20的控制器214認證了從硬盤21接收到的接收日志包括正確的數(shù)據(jù)。
當在步驟S326中認證了接收日志時,硬盤20的控制器214將在步驟S325中已認證的接收日志中所包括的許可證ID(LID)與日志存儲器253的存儲體中所存儲的許可證ID(LID)進行比較(S327)。
當這些許可證ID(LID)彼此相匹配時,控制器214將在接收日志中所包括的已加密數(shù)據(jù)E(Ks1b,Ks2c)提供給解密處理部分228,并且解密處理部分228利用從會話密鑰產生部分中接收到的會話密鑰Ks1b對其進行解密,以接受會話密鑰Ks2c(步驟S328)。將通過解密獲得的會話密鑰Ks2c通過總線BS3提供給控制器214。然后,控制器214將當發(fā)生故障時正在使用、并因而記錄在存儲體n的日志中的會話密鑰Ks2a與包括在當前所批準的接收日志中的當前會話密鑰Ks2c進行比較(步驟S329)。當控制器214確定了在會話密鑰Ks2a和Ks2c之間發(fā)生了匹配時,其檢查所接受的狀態(tài)ST1和ST2的內容(步驟S330)。
當接收到的接收日志的狀態(tài)ST1為“等待接收”,并且接收日志的狀態(tài)ST2是“沒有數(shù)據(jù)”時,硬盤20的控制器214確定由于特定的故障,被發(fā)送到硬盤21的許可證LIC并未由硬盤21所接受。由此,硬盤20的控制器214進一步確定在日志存儲器253的存儲體n中所存儲的日志的存儲LBA中所存儲的許可證LIC的許可證ID(LID)是否與日志存儲器253的存儲體n中所存儲的日志的許可證ID(LID)相匹配(步驟S331)。當這些許可證ID(LID)彼此相匹配時,硬盤20的控制器214檢查與日志存儲器253的存儲體n中所存儲的日志的存儲LBA相對應的有效性標記區(qū)域252中的標記,并且確定許可證LIC是否有效(步驟S332)。當有效性標記區(qū)域252中的標記為“無效”時,控制器214將有效性標記區(qū)域252中的標記變更為“有效”(步驟S333)。當有效性標記區(qū)域252中的標記為“有效”時,控制器214開始在步驟S334中接下來的步驟。控制器214通過ATA接口部分212和終端210,將日志存儲器253的存儲體n中的日志的存儲LBA以及使用許可提供給終端設備10(步驟S334)。
當終端設備10的控制器108通過硬盤接口部分110和總線BS2,從硬盤20接收到在其上要存儲目標許可證LIC的存儲LBA時(步驟S335),控制器108通過總線BS2和硬盤接口部分110,向硬盤21發(fā)出關于產生會話密鑰的請求通知(步驟S336)。
當硬盤21從終端設備10接受了針對會話密鑰的產生請求通知時,其產生會話密鑰Ks2b(步驟S337),并且將日志存儲器253的存儲體na的日志中所存儲的會話密鑰Ks2c(Ks2a)變更為會話密鑰Ks2b。此外,其將日志的狀態(tài)ST1變更為“等待接收”(步驟S338)。
除了新產生并使用會話密鑰Ks2b來替代會話密鑰Ks2a之外,與圖18和19所示的從步驟S219到結束的一系列處理類似地進行從步驟S339開始的一系列處理。因此,將不再描述在步驟S339之后的一系列處理。
然而,處理可能在步驟S335之后結束,以將許可證留在硬盤20上。在這種情況下,可以根據(jù)圖18和19的流程圖來再次轉移許可證。
與在根據(jù)圖21-23的流程圖的許可證的轉移或寫入期間的重寫處理的中斷相關,當在步驟S301-S344和步驟S347-S371的任一個中中斷了該處理時,可以再次根據(jù)圖21-23的流程圖來進行重寫處理。當在步驟S325-S346的任一個中中斷了該處理時,可以通過根據(jù)圖18和19的流程圖從初始步驟開始處理,可以進行用于轉移或拷貝許可證的處理,由此,可以恢復該處理。
按照該方式,與附加到終端設備10上的多個硬盤之間的許可證的拷貝或轉移相關,通過從硬盤21接收到的類證書Cm1,即轉移或拷貝的目的地是有效的,來進行處理,并且由各個硬盤產生加密密鑰(會話密鑰),并且在各個硬盤之間傳送該加密密鑰,在各個硬盤之間,利用與包含其的類證書Cm1一起發(fā)送的類專用密鑰KPcm1來進行許可證的拷貝或轉移。每一個硬盤利用這樣接收到的加密密鑰來進行加密,并且將已加密數(shù)據(jù)發(fā)送到相對方。由此,能夠禁止將許可證未授權地拷貝和轉移到硬盤。此外,實際上,可以在傳送已加密數(shù)據(jù)的處理中進行相互認證。由此,能夠保護許可證免于目的地的欺騙,并且可以提高系統(tǒng)的安全性。
此外,當在許可證的拷貝/轉移會話中發(fā)生了中斷時,與分配會話中的情況類似地進行處理,因此,進行如下處理。將硬盤21即接收機側的數(shù)據(jù)存儲設備中的、要由拷貝/轉移會話處理的許可證LIC的接收日志發(fā)送到硬盤20,即,發(fā)送機側的數(shù)據(jù)存儲設備,并且在硬盤20中進行處理,以便將硬盤的日志存儲器253中所存儲的日志的內容與安全數(shù)據(jù)存儲部分250所存儲的、并且由該日志所存儲的LBA所指定的許可證LIC進行比較。此外,查閱在有效性標記區(qū)域252中所存儲的標記。由此,在所中斷的拷貝/轉移會話是轉移許可證的處理的情況下,可以安全地進行重寫處理,而不允許可能在兩個數(shù)據(jù)存儲設備即硬盤20和21中使用的許可證的雙重存在。
如上所述,本發(fā)明提供了數(shù)據(jù)存儲設備和處理方式和進程,能夠進行快速的處理,同時避免了由于拷貝/轉移會話的中斷而造成的許可證LIC的丟失,并且還提供了數(shù)據(jù)存儲設備和處理方式或過程,即使當要進行重寫處理時,也能夠實現(xiàn)安全處理和可靠的版權保護。
圖18-23中的硬盤21的處理步驟S202、S203、S214、S215、S217-S220、S241-S243、S245-S251、S309、S310、S312-S322、S337-S340、S361-S363和S365-S371分別與圖9、10、13-15中的硬盤20的處理步驟S2、S3、S16、S17、S19-S22、S33-S35、S37-S43、S109、S110、S112-S122、S136-S139、S150-S152和S154-S160相同。因此,用于轉移或拷貝許可證的硬盤21的處理與用于分配許可證的硬盤20的處理相同。均在數(shù)據(jù)存儲設備即硬盤20和21中進行這些種類的處理,作為將許可證寫入數(shù)據(jù)存儲設備的處理。
再次參考圖5,將充當數(shù)據(jù)存儲設備的硬盤20附加到配備有用于再現(xiàn)內容數(shù)據(jù)的再現(xiàn)電路150的終端設備10上,并且硬盤20將內容數(shù)據(jù)的使用許可提供給終端設備10中的再現(xiàn)電路150。
圖24是示出了處理(使用許可會話)處理的流程圖,其中,終端設備10的用戶從終端設備10提供了對已加密內容數(shù)據(jù)的再現(xiàn)請求,由此,附加到終端設備10上的硬盤20將使用許可提供給終端設備10中的再現(xiàn)電路150。
參考圖24,當終端設備10的用戶請求再現(xiàn)所需內容數(shù)據(jù)時,終端設備10的控制器108通過總線BS2,向再現(xiàn)電路150發(fā)出對類證書的輸出請求(步驟S401)。當再現(xiàn)電路150中的認證數(shù)據(jù)保存部分1502從總線BS2中接收到對類證書的輸出請求時(步驟S402),其將這樣保存的類證書Cp3=KPcp3//Icp3//E(Ka,H(KPcp3//Icp3)提供到總線BS2上(步驟S403)。
控制器108接收從總線BS2發(fā)送來的類證書Cp3(步驟S404),并且通過總線BS2和硬盤接口部分110,將所接受的類證書Cp3提供給硬盤20(步驟405)。
硬盤20接收從終端設備10發(fā)送來的類證書Cp3(步驟S406),并且認證所接受的類證書Cp3是否正確(步驟S407)。按照已經結合在拷貝/轉移會話中的步驟S207描述的相同的方式來進行認證處理,因此,不重復對其的描述。
當在步驟S407確定了類證書Cp3是正確的,控制器214批準類證書Cp3,并且接受在類證書Cp3中所包括的類專用密鑰KPcp3(步驟S408)。然后,在步驟S409中進行接下來的處理。當類證書Cp3不正確時,控制器214不批準類證書Cp3,并且向終端設備10發(fā)出錯誤通知,而不接受類證書Cp3(步驟S435)。當終端設備10接受了錯誤通知時(步驟S436),使用許可會話結束。
當在步驟S408中接受了類公用密鑰KPcp3時,硬盤20的會話密鑰產生部分226產生會話密鑰Ks1d(步驟S409)。加密處理部分222利用所接受的類公用密鑰KPcp3對會話密鑰Ks1d進行加密,以產生已加密數(shù)據(jù)E(KPcp3,Ks1d)(步驟S410)。
控制器214通過總線BS3從加密處理部分222中接收已加密數(shù)據(jù)E(KPcp3,Ks1d),并且通過ATA接口部分212和終端210將其提供給終端設備10(步驟S411)。
在終端設備10中,控制器108通過硬盤接口部分110和總線BS2接受已加密數(shù)據(jù)E(KPcp3,Ks1d)(步驟S412),并且控制器108將這樣接受的已加密數(shù)據(jù)E(KPcp3,Ks1d)通過總線BS2提供給再現(xiàn)電路150(步驟S413)。再現(xiàn)電路150的解密處理部分1506從總線BS2中接受已加密數(shù)據(jù)E(KPcp3,Ks1d)(步驟S414),并且利用由Kcp保存部分1504所保存的、再現(xiàn)電路150所特定的類專用密鑰Kcp3,來進行解密,以產生和接受會話密鑰Ks1d(步驟S415)。
當接受了會話密鑰Ks1d時,會話密鑰產生部分1508產生會話密鑰Ks2d(步驟S416),并且將這樣產生的會話密鑰Ks2d提供給加密處理部分1510。加密處理部分1510利用會話密鑰Ks2d,對從解密處理部分1506中接收到的會話密鑰Ks1d進行解密,以產生已加密數(shù)據(jù)E(Ks1d,Ks2d)(步驟S417)。加密處理部分1510將已加密數(shù)據(jù)E(Ks1d,Ks2d)提供到總線BS2上(步驟S418)。
控制器108從總線BS2中接受已加密數(shù)據(jù)E(Ks1d,Ks2d)(步驟S419),并且通過總線BS2和硬盤接口部分110,將所接受的數(shù)據(jù)提供給硬盤20(步驟S420)。
硬盤20的控制器214通過終端210和ATA接口部分212接受已加密數(shù)據(jù)E(Ks1d,Ks2d)(步驟S421),并且將所接受的數(shù)據(jù)提供到總線BS3上。解密處理部分228利用從會話密鑰產生部分226中施加的會話密鑰Ks1d,對提供到總線BS3上的已加密數(shù)據(jù)E(Ks1d,Ks2d)進行解密,并且在硬盤20中接受會話密鑰Ks2d(步驟S422)。當接受了會話密鑰Ks2d時,控制器214通過ATA接口部分212和終端210向終端設備10發(fā)出接受通知。
當終端設備10的控制器108通過硬盤接口部分110和總線BS2接收到關于在硬盤20中接受了會話密鑰Ks2d的通知時,其通過總線BS2和硬盤接口部分110,向硬盤20提供在其上安全數(shù)據(jù)存儲部分250存儲了與所請求的內容數(shù)據(jù)相對應的目標許可證LIC的LBA。
當硬盤20的控制器214通過終端210和ATA接口部分212接受了目標許可證LIC的LBA時(步驟S424),其確定在與所接受的LBA處所存儲的許可證LIC相對應的有效性標記區(qū)域252中的標記是“有效”還是“無效”(步驟S425)。
當有效性標記存儲器250C中的標記是“有效”時,控制器214根據(jù)所接受的LBA,從安全數(shù)據(jù)存儲部分250中獲得目標許可證LIC(步驟S426)??刂破?14確定在所獲得的許可證LIC中所包括的控制信息AC的內容(步驟S427)。如果控制信息AC指定了容許使用次數(shù)的數(shù)量,則控制器214將容許使用次數(shù)遞增1,并且在步驟S429中執(zhí)行新的處理。如果控制信息AC并未限制再現(xiàn)次數(shù),則控制器214將所獲得的許可證LIC中所包括的內容密鑰Kc提供到總線BS3上。
加密處理部分224利用從解密處理部分228中接收到的會話密鑰Ks2d,對提供到總線BS3上的內容密鑰Kc進行加密,以產生已加密數(shù)據(jù)E(Ks2d,Kc)(步驟S429),并且將這樣產生的數(shù)據(jù)提供到總線BS3上??刂破?14通過ATA接口部分212和終端210,將已加密數(shù)據(jù)E(Ks2d,Kc)從總線BS3提供到終端設備10(步驟S430)。
終端設備10的控制器108通過硬盤接口部分110和總線BS2接受已加密數(shù)據(jù)E(Ks2d,Kc)(步驟S431),并且將所接受的數(shù)據(jù)提供到總線BS2上(步驟S432)。
當再現(xiàn)電路150的解密處理部分1512從總線BS2中接受了已加密數(shù)據(jù)E(Ks2d,Kc)時(步驟S433),其利用從會話密鑰產生部分1508中施加的會話密鑰Ks2d,對已加密數(shù)據(jù)E(Ks2d,Kc)進行解密。由此,再現(xiàn)電路150接受內容密鑰Kc(步驟S434),并且使用許可會話的一系列處理正常結束。
當在步驟S425中有效性標記區(qū)域252的標記為“無效”時,或者當在步驟S427中不能夠再現(xiàn)控制信息AC中的內容時,控制器214向終端設備10發(fā)出錯誤通知(步驟S435),并且終端設備10接受該錯誤通知(步驟S436),從而使用許可會話結束。
如上所述,與從數(shù)據(jù)存儲設備即硬盤20提供到終端設備10中的再現(xiàn)電路150的使用許可相關,在確認再現(xiàn)電路150保存了正確的類證書Cp3,并且與包括其的類證書Cp3一起發(fā)送的類公用密鑰KPcp3有效之后,同樣將內容密鑰Kc發(fā)送到再現(xiàn)電路150。由此,可以禁止對內容數(shù)據(jù)的未授權再現(xiàn)。
盡管在流程圖中未示出,當允許再現(xiàn)電路150再現(xiàn)內容,并且接受了內容密鑰Kc時,解密處理部分1514對從硬盤20提供的已加密數(shù)據(jù)E(Kc,Dc)進行解密,并且由再現(xiàn)部分1516再現(xiàn)由解密處理部分1514所獲得的數(shù)據(jù)Dc,從而D/A轉換器1518進行數(shù)字模擬轉換,以便將再現(xiàn)信號提供給與監(jiān)視器或揚聲器相連的終端1520。
如上所述,通過在安全保護許可證免于泄漏的同時執(zhí)行輸入/輸出管理的密碼技術,硬盤20實現(xiàn)以下五種處理(1)接收和存儲從另一設備提供的許可證的寫處理(許可證提供設備或另一硬盤)(即,圖9和10中的硬盤20的處理,以及圖21-23中的硬盤21的處理)。
(2)通過恢復已中斷寫處理執(zhí)行的重寫處理(即,圖13-15中的硬盤處理,以及圖21到圖23的硬盤21的處理)。
(3)將許可證轉移或拷貝到另一硬盤的提供處理(即,圖16-18中的硬盤20的處理)。
(4)在中斷提供處理之后通過恢復轉移/拷貝處理所執(zhí)行的重新提供處理(作為許可證的提供者的重寫處理,以及圖21-23中的硬盤20的處理)。
(5)為了解密已加密內容數(shù)據(jù)的目的向再現(xiàn)電路提供內容密鑰Kc的使用許可處理(即,圖24中的硬盤20的處理)。
已經給出的所有描述涉及內容數(shù)據(jù)的許可證。然而,目標并不局限于前述許可證,并且可以擴展到一般分類數(shù)據(jù)以在保密狀態(tài)下進行處理。這是由于前述裝置和方式可以保護數(shù)據(jù)的保密性,并且可以實現(xiàn)與指定數(shù)據(jù)存儲設備中的分類數(shù)據(jù)有關的本發(fā)明的目的。
在已經描述的第一實施例中,這些操作執(zhí)行如下。在硬盤20開始圖13-15所示的重寫處理、以及由圖21-23的流程圖所示的重新提供處理之前,硬盤20檢索針對要在重寫/重新提供處理中處理的許可證的最后日志,用于確定是否允許該處理。當檢索到相應的日志時,將檢索到的日志拷貝到日志存儲器253的存儲體n中,并且根據(jù)后續(xù)處理的處理過程來更新存儲體n中這樣存儲的日志。
然而,在重寫處理中,將拷貝的日志輸出到許可證提供側,作為針對最后處理的日志,然后,將在圖14的步驟S137中重寫日志的內容。由于諸如按照從存儲舊日志的存儲體向存儲較新日志的存儲體的次序循環(huán)地使用這些日志的、日志存儲器253的特性,執(zhí)行對日志的拷貝,并且拷貝該日志的目的是要將與針對更長持續(xù)時間的重寫處理相對應的日志保存在日志存儲器253中,即使在重寫處理最初中斷的時候(在圖14的步驟S136中或之前)。
因此,在配備有具有相當大容量的日志存儲器253的硬盤中,可以配置重寫處理以從存儲器的存儲體中直接輸出所檢索到的日志,而無需拷貝所檢索到的日志。在這種情況下,將狀態(tài)ST2的變更(步驟S115、S116和S117)作用于所討論的存儲體的日志上,從而在步驟S118中從所討論的存儲體中獲得要輸出的日志。
由于未拷貝該日志,在圖14的步驟S137中確保了用于存儲與重寫處理相對應的日志的存儲體。因此,將步驟S137變更為“將新日志存儲在用于在日志存儲器中存儲最早日志的存儲體na中”。
類似地,可以改變硬盤21中的處理。所有其他處理與第一實施例相同。在處理上的上述改變不會引起證書的安全性上的任何改變,并且可以實現(xiàn)與第一實施例類似的效果。
與許可證的重寫處理類似,能夠在許可證的重新提供處理中,通過直接從存儲其的存儲體中讀取所檢索到的日志而不拷貝所檢索到的日志,確定是否允許該重新提供。這可以通過變更處理來實現(xiàn),所述處理為諸如不執(zhí)行圖21中的步驟S301a中的拷貝,并且直接從存儲其的存儲體中獲得圖21的步驟S302中所檢索到的日志和圖22中的步驟S329、S331和S332。除了以上情況之外的其他處理與第一實施例相同。
處理中的該變更不會引起許可證的安全性上的任何變化,并且可以實現(xiàn)與第一實施例相同的效果。此外,這可以與第二實施例結合。
為了減少硬盤20中的處理,需要在一般寫處理和重寫處理之間實現(xiàn)較高程度的通用性。因此,在第一實施例的“會話密鑰請求”中和之后的硬盤20的處理之間提供通用性,即,一般寫處理(圖9中的步驟S19-S22,以及圖10中的步驟S33-S35和S38-S43)和重寫處理(圖14中的步驟S136-S139,以及圖15中的步驟S150-S152和S154-S160)。在這種情況下,通過在圖9的步驟S20和圖14的步驟S137中采用相同的處理,可以容易地實現(xiàn)通用性。
在這種情況下,在步驟S137和S20中執(zhí)行相同處理,以便“將新日志存儲在用于在日志存儲器中存儲最早日志的存儲體nb中”。根據(jù)圖11和12的流程圖來執(zhí)行特定操作,除了用變量nb替換變量n之外。用變量nb替換變量n的目的是將該變量與在圖13和14中的步驟S137之中和之前的處理中的變量n進行區(qū)分。由此,在圖14和15的步驟S137之后的步驟S154、S155和S159中用存儲體nb來替代每一個存儲體n。
同樣,在轉移/拷貝會話中,在圖21-23的流程圖中的步驟S342之中和之后的處理與圖16-18的流程圖中的步驟S222之中和之后的處理的不同之處僅在于日志的記錄(僅在于圖23中的步驟S345和圖18中的步驟S225)。由于圖23中的步驟S345的處理與圖18中的步驟S225中相同,這便于硬盤20的實現(xiàn)。在這種情況下,在步驟S345中執(zhí)行與步驟S20相同的處理,以“將新日志存儲在用于在日志存儲器中存儲最早日志的存儲體nb中”??梢愿鶕?jù)圖20和12的流程圖來執(zhí)行特定處理,盡管變量n被變量nb替代。用變量nb來替代變量n的目的是將該變量在圖21和22的步驟S245之中和之前的變量n進行區(qū)別。因此,在圖23的步驟S345之后的所有步驟S348和S57中,用存儲體nb來替代每一個存儲體n。
除了以上情況之外的處理與第一實施例相同。處理中的變更不會引起許可證的安全性的任何變化,并且可以實現(xiàn)與第一實施例相同的效果。此外,類似地,可以改變硬盤21的處理。
通過在一般寫處理和重寫處理之間提供通用性,能夠減小所實現(xiàn)的處理的量,同時實現(xiàn)與第一實施例相類似的許可證的安全管理。
現(xiàn)在將對第五實施例進行描述。為了簡化日志的記錄開始時間,將第五實施例配置為在所有處理中,在相對于硬盤的外部來接受許可證ID(LID),從而在日志存儲器253中確保一個存儲體,并且其中記錄了用于該處理的日志。
現(xiàn)在將描述第五實施例中的許可證的分配操作。
在第五實施例中,許可證提供設備40根據(jù)圖25和26的流程圖將許可證分配給硬盤20。圖25和26的流程圖與圖9和10相同,除了在圖9和10的步驟S16和S17之間插入了步驟S16a,并且用步驟S201a來替代步驟20。
根據(jù)圖27的流程圖來執(zhí)行步驟S16a中的特定操作。參考圖27,硬盤20的控制器214在步驟S16之后,指定存儲了最新日志的存儲體(n-1),并且獲得存儲體n中所存儲的管理號(步驟S16b)。根據(jù)圖12的流程圖來執(zhí)行步驟S16b中的特定操作。
在步驟S16b之后,控制器214將步驟S16中接受的管理號(m+1)和許可證ID(LID)存儲在存儲體n中,并且將存儲體n中所存儲的日志的ST1區(qū)域2544設置為“等待接收”(步驟S16c)。由此,圖25所示的步驟S16a中的操作結束。
在步驟S19之后,控制器214將步驟S19所接受的會話密鑰Ks2a存儲在日志存儲器253的存儲體n中所存儲的日志的Ks2x區(qū)域2543中(步驟S201a)。
除了上述操作之外的其他操作與已經描述的第一實施例的操作相同。
在第五實施例中,當中斷了許可證分配時重寫許可證,并且根據(jù)圖13-15的流程圖來執(zhí)行該重寫操作。這些特定操作與已經結合第一實施例所描述的操作相同。
圖28和29是用于示出了圖17所示且可以執(zhí)行許可證的轉移/拷貝的系統(tǒng)中所執(zhí)行的第五實施例中的處理(拷貝/轉移會話)的第一和第二流程圖。在該處理中,終端設備10的用戶請求從終端設備拷貝或轉移已加密內容數(shù)據(jù)的許可證,由此,通過終端設備10,將許可證從附加到終端設備10上的硬盤20拷貝或轉移到硬盤21中。
圖28和29的流程圖與圖18和19的流程圖相同,除了在步驟S207和S209之間插入了步驟S208,在步驟S214和S215之間插入了步驟S214a,用步驟S218a替代步驟S218,以及用步驟S225a替代步驟S225之外。
參考圖28,當硬盤20的控制器214批準在步驟S207從硬盤21提供的證書Cm1時,其將新日志存儲在日志存儲器253中存儲最早日志的存儲體n中(步驟S208)。根據(jù)圖30的流程圖來執(zhí)行步驟S208中的特定操作。
參考圖30,步驟S208包括步驟S208a,其中在硬盤20中指定了在日志存儲器253中存儲最新日志的存儲體(n-1),并且獲得存儲在存儲體(n-1)中的管理號m;以及步驟S208b,其中將管理號(m+1)、許可證ID(LID)和類公用密鑰KPcmy存儲在存儲體n中,并且將ST1區(qū)域2544中的狀態(tài)ST1設置為“已發(fā)送”。根據(jù)圖12的流程圖來執(zhí)行步驟S208a中的特定操作。因此,控制器214根據(jù)圖12和30的流程圖來操作,由此,將其中存儲了步驟S206中所接受的許可證ID(LID)、硬盤21的類公用密鑰KPcm1和設置為“等待發(fā)送”的狀態(tài)ST1存儲在存儲體n中。
在步驟S214之后,硬盤21的控制器214將新日志存儲在用于存儲最早日志的存儲體na中(步驟S214a)。根據(jù)已經描述過的圖12和27的流程圖來執(zhí)行步驟S214a中的特定操作,盡管用變量na替換了變量n。
因此,根據(jù)圖12和27的流程圖,硬盤21的控制器214將步驟S214中所接受的許可證ID(LID)和存儲了設置為“等待接收”的狀態(tài)ST1的新日志存儲在用于在日志存儲器254中存儲最早日志的存儲體na中(步驟S214a)。
另外,在步驟S217之后,硬盤21的控制器214將步驟S217中所產生的會話密鑰Ks2a存儲在日志存儲器253的存儲體na中(步驟S218a)。
另外,在步驟S224之后,硬盤20的控制器214將步驟S224中所接受的會話密鑰Ks2a存儲在日志存儲器253的存儲體n中(步驟S225a)。
除了以上操作之外的其他操作與結合第一實施例已經描述的操作相同。
在第五實施例中,當中斷了將許可證從硬盤21轉移或拷貝到硬盤20的會話時,根據(jù)圖21到23的流程圖來執(zhí)行重寫許可證的操作。因此,用于重寫的特定操作與已經描述的第一實施例中的操作相同。
第五實施例實現(xiàn)了與第一實施例類似地重寫和提供許可證的安全處理,并且闡明了各種處理中的日志產生的定時。此外,與第三實施例類似,通過提供一般寫處理和重寫處理之間的通用性,第五實施例可以減小所實現(xiàn)的處理的量??梢灶愃频馗淖冇脖P21的處理。
盡管已經詳細描述和示出了本發(fā)明,但是應該清楚地理解,該描述是說明性和示例性的,并且其不是用作對本發(fā)明的限制,而僅由所附權利要求的各項來限定本發(fā)明的精神和范圍。
工業(yè)應用性本發(fā)明可以應用于數(shù)據(jù)存儲設備,其中可以不重疊地存儲了與分類數(shù)據(jù)的輸入/輸出有關的多個歷史信息項。
權利要求
1.一種數(shù)據(jù)存儲設備(20),用于根據(jù)恒定過程來進行分類數(shù)據(jù)的輸入/輸出,存儲所述分類數(shù)據(jù),并且進行操作,以存儲歷史信息或根據(jù)所述恒定過程在適當?shù)亩〞r處更新所述歷史信息,所述數(shù)據(jù)存儲設備包括接口部分(212),用于執(zhí)行數(shù)據(jù)的外部輸入/輸出;數(shù)據(jù)存儲部分(270),用于存儲所述多個分類數(shù)據(jù);日志存儲部分(253),用于存儲與所述分類數(shù)據(jù)的輸入/輸出有關的多個歷史信息項;以及控制部分(214),用于控制所述分類數(shù)據(jù)的輸入/輸出;其中,將所述日志存儲部分(253)設置為循環(huán)地利用每一個均存儲了一項所述歷史信息的兩個或多個區(qū)域的環(huán)形緩沖器;存儲在所述日志存儲部分(253)中的多個所述歷史信息項的每一個均包括標識信息,用于識別存儲了歷史信息且正要被輸入/輸出的分類數(shù)據(jù);以及所述控制部分(214)接收用于識別要根據(jù)所述分類數(shù)據(jù)的輸入/輸出處理的開始來輸入/輸出的分類數(shù)據(jù)的標識信息,按照預定次序搜索所述存儲部分(253)中的多個區(qū)域(2531-253N),確定存儲了所述日志存儲部分(253)中所存儲的歷史信息的最早項的區(qū)域,作為最早區(qū)域,并且將與包括所述接收到的標識信息的所述分類數(shù)據(jù)的輸入/輸出處理有關的歷史信息重新存儲在所確定的最早區(qū)域中。
2.根據(jù)權利要求1所述的數(shù)據(jù)存儲設備,其特征在于在響應針對歷史信息的輸出請求而輸出歷史信息的一部分或全部的歷史信息輸出處理中,所述控制部分(214)通過所述接口(212)接收要輸入/輸出的分類數(shù)據(jù)的標識信息,根據(jù)預定序列搜索所述日志存儲部分(253)中的多個區(qū)域(2531-253N);確定所述最早區(qū)域、以及存儲了包括所述接收到的標識信息的最新歷史信息的區(qū)域,作為最新區(qū)域,并且通過所述接口(212)輸出所述最新區(qū)域中所存儲的歷史信息的一部分或全部。
3.根據(jù)權利要求1所述的數(shù)據(jù)存儲設備,其特征在于在包括歷史信息的輸出的所述分類數(shù)據(jù)的輸入處理中,所述控制部分(214)通過所述接口(212)接收要輸入/輸出的分類數(shù)據(jù)的標識信息,按照預定序列搜索所述日志存儲部分(253)中的多個區(qū)域(2531-253N);確定所述最早區(qū)域、存儲了包括所述接收到的標識信息的最新歷史信息的最新區(qū)域,并且將所確定的最新區(qū)域中所存儲的歷史信息的一部分或全部拷貝到所確定的最早區(qū)域中,以便將所拷貝的歷史信息存儲為與所述分類數(shù)據(jù)的輸入處理有關的新歷史信息,并且通過所述接口(212)輸出所確定的最早區(qū)域中所存儲的歷史信息的一部分或全部。
4.根據(jù)權利要求2或3所述的數(shù)據(jù)存儲設備,其特征在于在包括由另一設備根據(jù)所述恒定過程的進展輸入所記錄的歷史信息的一個附加項的所述分類數(shù)據(jù)的重新輸出處理中,所述控制部分(214)通過所述接口(212)確定要輸入/輸出的分類數(shù)據(jù)的標識信息和所述歷史信息的所述一個附加項,確定所述最早區(qū)域和所述最新區(qū)域,并且根據(jù)所確定的最早區(qū)域中所存儲的歷史信息和歷史信息中的所述接收到的一個附加項,確定是否輸出所述分類數(shù)據(jù)。
5.根據(jù)權利要求2或3所述的數(shù)據(jù)存儲設備,其特征在于在包括由另一設備根據(jù)所述恒定過程的進展輸入所記錄的歷史信息的一個附加項的所述分類數(shù)據(jù)的輸出處理中,所述控制部分(214)通過所述接口(212)確定要輸入/輸出的分類數(shù)據(jù)的標識信息和所述歷史信息的所述一個附加項,確定所述最早區(qū)域和所述最新區(qū)域,將存儲在所確定的最新區(qū)域中的歷史信息的一部分或全部拷貝到所確定的最早區(qū)域中,以存儲所拷貝的歷史信息,作為與所述分類數(shù)據(jù)的輸出處理有關的新歷史信息,并且根據(jù)所確定的最早區(qū)域中所存儲的歷史信息和歷史信息中的所述接收到的一個附加項,確定是否輸出所述分類數(shù)據(jù)。
6.根據(jù)權利要求1所述的數(shù)據(jù)存儲設備,其特征在于在確定所述最早區(qū)域之后,所述控制部分(214)根據(jù)結束之前的恒定過程的進展或所述輸入/輸出處理中的恒定過程的中斷,在適當?shù)臅r候更新所確定的最早區(qū)域中所存儲的歷史信息。
7.根據(jù)權利要求1所述的數(shù)據(jù)存儲設備,其特征在于多個所述歷史信息項的每一個還包括用于識別所述日志存儲部分(253)中所存儲的序列的管理號(2541);以及根據(jù)在連續(xù)設置在所述日志存儲部分(253)中的兩個區(qū)域中所存儲的兩個歷史信息項中分別包括的管理號(2541),來檢測存儲最早信息的所述最早區(qū)域。
8.根據(jù)權利要求7所述的數(shù)據(jù)存儲設備,其特征在于所述日志存儲部分(253)由循環(huán)地利用數(shù)量為N(N是大于1的自然數(shù))的區(qū)域(2531-253N)的環(huán)形存儲器形成,以及所述管理號(2541)是M的殘數(shù)系統(tǒng)(M是滿足(N<M的自然數(shù))。
9.根據(jù)權利要求8所述的數(shù)據(jù)存儲設備,其特征在于所述控制部分(214)獲取分別包括在連續(xù)設置在日志存儲部分(253)的兩個區(qū)域中所存儲的兩個歷史信息項分別包括的管理號的每一個(2541),根據(jù)所獲得的兩個管理號(2541)之間的差值,確定包括所述兩個管理號(2541)的兩個歷史信息項是否被連續(xù)地存儲;并且當所述兩個歷史信息項被不連續(xù)地存儲時,檢測所述兩個連續(xù)區(qū)域之間的隨后的區(qū)域,作為所述最早區(qū)域。
全文摘要
一種數(shù)據(jù)存儲設備包括安全數(shù)據(jù)存儲部分(250),所述安全數(shù)據(jù)存儲部分(250)包括日志存儲器(253)。所述日志存儲器(253)由多個存儲體(2531-253N)形成,并且將歷史信息以環(huán)狀方式存儲在多個存儲體(2531-253N)中。分別由地址(0-(N-1))來指定多個存儲體(2531-253N)。分別存儲在存儲體(2531-253N)中的每一歷史信息項包括管理號區(qū)域(2541)、許可證ID(LID)區(qū)域(2542)、Ks2x區(qū)域(2543)、ST1區(qū)域(2544)、ST2區(qū)域(2545)、KPcmy區(qū)域(2546)和LBA區(qū)域(2547)。
文檔編號G11B20/10GK1672137SQ0381737
公開日2005年9月21日 申請日期2003年7月24日 優(yōu)先權日2002年7月25日
發(fā)明者堀吉宏, 多田謙一郎, 平井達哉, 津留雅文, 長谷部高行 申請人:三洋電機株式會社, 日本先鋒公司, 株式會社日立制作所, 鳳凰科技株式會社, 富士通株式會社