專利名稱:把應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)輸入輸出技術(shù),特別是涉及在存儲裝置和主機(jī)裝置之間把應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的技術(shù)。
背景技術(shù):
近年,存儲元件的小型化、集成化、批量生產(chǎn)化飛躍發(fā)展,記錄媒體的小型化、大容量化、低價化不斷進(jìn)展。在這樣的狀況下,本申請人為了實現(xiàn)方便性高的記錄媒體,考慮到通過使以往一般固定連接在一個主機(jī)裝置上使用的大容量硬盤對于主機(jī)裝置可自由插拔,作為能在多個主機(jī)裝置中共享數(shù)據(jù)的可移動媒體處理。能把小型并且大容量、訪問速度比較高速的硬盤作為可移動媒體利用,其價值大。
特開2000-173158號公報發(fā)明內(nèi)容(發(fā)明要解決的課題)如果考慮用戶的方便性,希望在任意主機(jī)裝置中能讀寫移動硬盤,但是相反,用任意的主機(jī)裝置能讀寫就意味著存在對第三者泄漏數(shù)據(jù)的危險性。在音樂或圖象等數(shù)字內(nèi)容的流通引人注目的現(xiàn)在,為了恰當(dāng)?shù)乇Wo(hù)著作權(quán),防止數(shù)字內(nèi)容的流出,開發(fā)能恰當(dāng)?shù)乇Wo(hù)應(yīng)該隱藏的數(shù)據(jù)的技術(shù)是重要的。
本發(fā)明是鑒于所述狀況而提出的,其目的在于提供提高存儲裝置和主機(jī)裝置之間把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出時的處理效率的技術(shù)。
(解決課題的手段)本發(fā)明的某形態(tài)涉及主機(jī)裝置。該主機(jī)裝置與存儲數(shù)據(jù)的存儲裝置之間,輸入輸出數(shù)據(jù),包括把對應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的一系列加密輸入輸出處理分割為多個步驟,對存儲裝置發(fā)行用于使存儲裝置執(zhí)行該步驟中應(yīng)該在存儲裝置一側(cè)執(zhí)行的步驟的命令的控制器;控制器在發(fā)行所述命令前,從存儲裝置取得用于推測命令的執(zhí)行所需的時間的信息,根據(jù)取得的信息,設(shè)定各命令的待機(jī)時間,對存儲裝置發(fā)行命令后,存儲裝置待機(jī)對命令設(shè)定的待機(jī)時間后,對存儲裝置發(fā)行下一步驟的命令。
通過把加密輸入輸出處理分割為多個步驟,把命令細(xì)化,高效釋放總線,在進(jìn)行加密、譯碼、雜亂演算、產(chǎn)生隨機(jī)數(shù)、日志檢索等比較需要時間的處理時,能發(fā)行其他命令。當(dāng)發(fā)行屬于加密輸入輸出處理的命令后,在發(fā)行后續(xù)命令之前,多次對存儲裝置查詢上次的命令執(zhí)行是否結(jié)束在效率上差,所以只待機(jī)推測為命令的執(zhí)行所需時間后,發(fā)行后續(xù)的命令。
用于推測的信息包含執(zhí)行命令所需的典型的處理時間、平均處理時間、或最大處理時間。用于推測的信息也可以包含為了執(zhí)行命令而使用的加密演算、譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算及日志檢索中的至少一個基本處理所需的典型的處理時間、平均處理時間、或最大處理時間。根據(jù)這些基本處理所需的時間,可以推測執(zhí)行命令所需的時間。
本發(fā)明的其他形態(tài)涉及存儲裝置。該存儲裝置包括存儲數(shù)據(jù)的存儲媒體;存儲媒體與主機(jī)裝置之間,進(jìn)行用于把應(yīng)該加密的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理時,從主機(jī)裝置接收把該加密輸入輸出處理分割為多個步驟而發(fā)行的命令的控制器;執(zhí)行命令的加密處理部;控制器按照來自主機(jī)裝置的要求,加密處理部提供主機(jī)裝置用于推測命令的執(zhí)行所需的時間的信息。
加密輸入輸出處理沿著該處理的步驟,分割為以下任意的處理單位從主機(jī)裝置接收數(shù)據(jù)的輸入,按照必要,用加密處理部進(jìn)行加密或譯碼的處理;為了向主機(jī)裝置輸出數(shù)據(jù),由加密處理部進(jìn)行加密、譯碼或署名的處理;向主機(jī)裝置輸出數(shù)據(jù)的處理;命令按分割的各處理單位發(fā)行。
用于推測的信息包含執(zhí)行命令所需的典型的處理時間、平均處理時間、或最大處理時間。用于推測的信息包含為了執(zhí)行命令而使用的加密演算、譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算及日志檢索中的至少一個基本處理所需的典型的處理時間、平均處理時間、或最大處理時間。
本發(fā)明的其他形態(tài)涉及數(shù)據(jù)輸入輸出方法。該方法在存儲數(shù)據(jù)的存儲裝置和主機(jī)裝置之間,把應(yīng)該加密的數(shù)據(jù)加密,輸入輸出的一系列加密輸入輸出處理,包括把加密輸入輸出處理分割為多個步驟,主機(jī)裝置執(zhí)行該步驟中應(yīng)該在所述主機(jī)裝置一側(cè)執(zhí)行的步驟的步驟;為了使存儲裝置執(zhí)行應(yīng)該在存儲裝置一側(cè)執(zhí)行的步驟,主機(jī)裝置對存儲裝置發(fā)行命令;存儲裝置接收命令的步驟;存儲裝置執(zhí)行命令的步驟;主機(jī)裝置在發(fā)行所述命令前,從存儲裝置取得該存儲裝置用于推測命令的執(zhí)行所需的時間的信息,把命令對所述存儲裝置發(fā)行后,待機(jī)推測為命令的執(zhí)行所需的時間后,發(fā)行下一步驟的命令。
須指出的是,把以上的構(gòu)成要素的任意組合、本發(fā)明的表現(xiàn)在方法、裝置、系統(tǒng)、記錄媒體、計算機(jī)程序等之間變換時,作為本發(fā)明的形態(tài)也是有效的。
下面簡要說明附圖。
圖1是表示實施方式1的數(shù)據(jù)管理系統(tǒng)的全體結(jié)構(gòu)的圖。
圖2是表示實施方式1的記錄裝置的內(nèi)部結(jié)構(gòu)的圖。
圖3是表示實施方式1的再現(xiàn)裝置的內(nèi)部結(jié)構(gòu)的圖。
圖4是表示實施方式1的存儲設(shè)備的內(nèi)部結(jié)構(gòu)的圖。
圖5是表示圖2所示的記錄裝置的加密引擎的內(nèi)部結(jié)構(gòu)的圖。
圖6是表示圖3所示的再現(xiàn)裝置的加密引擎的內(nèi)部結(jié)構(gòu)的圖。
圖7是表示圖4所示的存儲設(shè)備的加密引擎的內(nèi)部結(jié)構(gòu)的圖。
圖8是表示主機(jī)裝置從存儲設(shè)備取得用于推測存儲設(shè)備中的命令執(zhí)行所需的時間的信息的步驟的圖。
圖9是表示記錄裝置對存儲設(shè)備記錄許可證數(shù)據(jù)之前的步驟的圖。
圖10是表示記錄裝置對存儲設(shè)備記錄許可證數(shù)據(jù)之前的步驟的圖。
圖11是表示記錄裝置對存儲設(shè)備記錄許可證數(shù)據(jù)之前的步驟的圖。
圖12是表示記錄裝置對存儲設(shè)備記錄許可證數(shù)據(jù)之前的ATA接口上的步驟的圖。
圖13是表示再現(xiàn)裝置從存儲設(shè)備讀出許可證數(shù)據(jù)之前的步驟的圖。
圖14是表示再現(xiàn)裝置從存儲設(shè)備讀出許可證數(shù)據(jù)之前的步驟的圖。
圖15是表示再現(xiàn)裝置從存儲設(shè)備讀出許可證數(shù)據(jù)之前的步驟的圖。
圖16是表示記錄裝置對存儲設(shè)備發(fā)行安全命令的樣子的圖。
圖17是表示實施方式2的數(shù)據(jù)關(guān)系系統(tǒng)的全體結(jié)構(gòu)的圖。
圖18是表示實施方式2的記錄再現(xiàn)裝置的內(nèi)部結(jié)構(gòu)的圖。
圖19是表示實施方式3的記錄裝置的內(nèi)部結(jié)構(gòu)的圖。
圖20是表示實施方式4的終端裝置的內(nèi)部結(jié)構(gòu)的圖。
符號說明10-數(shù)據(jù)管理系統(tǒng);100-記錄裝置;101-控制器;102-存儲器接口;103-加密引擎;104-加密器;105-內(nèi)容編碼器;110-數(shù)據(jù)總線;120-認(rèn)證部;121-第一加密部;122-隨機(jī)數(shù)發(fā)生部;123-譯碼部;124-第二加密部;125-日志存儲器;130-局域總線;150-發(fā)送服務(wù)器;151-控制器;152-通信裝置;153-內(nèi)容數(shù)據(jù)庫;154-許可證數(shù)據(jù)庫;155-用戶數(shù)據(jù)庫;156-數(shù)據(jù)總線;160-終端裝置;162-通信裝置;166-數(shù)據(jù)總線;200-存儲設(shè)備;201-控制器;202-存儲器接口;203-加密引擎;204-通常數(shù)據(jù)存儲部;205-機(jī)密數(shù)據(jù)存儲部;210-數(shù)據(jù)總線;220-數(shù)據(jù)寄存器;221-狀態(tài)寄存器;222-控制部;224-隨機(jī)數(shù)發(fā)生部;225-證明書輸出部;226-認(rèn)證部;227-第一譯碼部;228-第一加密部;229-第二譯碼部;230-第二加密部;231-日志存儲器;240-局域總線;300-再現(xiàn)裝置;301-控制器;302-存儲器接口;303-加密引擎;304-譯碼器;305-內(nèi)容解碼器;310-數(shù)據(jù)總線;320-證明書輸出部;321-第一譯碼部;322-加密部;323-隨機(jī)數(shù)發(fā)生部;324-第二譯碼部;330-局域總線;400-記錄再現(xiàn)裝置;401-控制器;402-存儲器接口;410-數(shù)據(jù)總線。
具體實施例方式
(實施方式1)圖1表示實施方式1的數(shù)據(jù)管理系統(tǒng)10的全體結(jié)構(gòu)。數(shù)據(jù)管理系統(tǒng)10具有控制對存儲設(shè)備200記錄數(shù)據(jù)的記錄裝置100、控制記錄在存儲設(shè)備200中的數(shù)據(jù)的再現(xiàn)的再現(xiàn)裝置300及存儲保持?jǐn)?shù)據(jù)的存儲設(shè)備200。本實施方式的存儲設(shè)備200不僅是保持?jǐn)?shù)據(jù)的存儲媒體,是具有控制存儲設(shè)備100或再現(xiàn)裝置300等主機(jī)裝置和存儲媒體之間的數(shù)據(jù)輸入輸出的控制器等結(jié)構(gòu)的驅(qū)動一體型的存儲裝置。在本實施方式中,作為存儲設(shè)備200,以硬盤驅(qū)動器為例進(jìn)行說明。
以往的硬盤一般固定連接在一個主機(jī)裝置上使用,但是本實施方式的存儲設(shè)備200對于記錄裝置100和再現(xiàn)裝置300等主機(jī)裝置可自由插拔。即本實施方式的存儲設(shè)備200能與CD或DVD等同樣,從主機(jī)裝置取出、運輸,是在記錄裝置100、再現(xiàn)裝置300、能進(jìn)行記錄和再現(xiàn)的記錄再現(xiàn)裝置等多個主機(jī)裝置間能公用的存儲裝置。
這樣,本實施方式的存儲設(shè)備200以連接在多個主機(jī)裝置上為前提,例如連接在所有者以外的第三者的主機(jī)裝置上,有可能讀出記錄在內(nèi)部的數(shù)據(jù)。當(dāng)假定在該存儲設(shè)備200中記錄音樂和圖象等應(yīng)該由著作權(quán)保護(hù)的內(nèi)容、企業(yè)或個人的機(jī)密信息等應(yīng)該保密的數(shù)據(jù)時,為了防止這些保密數(shù)據(jù)泄漏到外部,在存儲設(shè)備200自身上設(shè)置用于恰當(dāng)保護(hù)數(shù)據(jù)的結(jié)構(gòu),使其具有充分的耐篡改功能。從該觀點出發(fā),本實施方式的存儲設(shè)備200當(dāng)與主機(jī)裝置之間輸入輸出保密數(shù)據(jù)時,具有用于把保密數(shù)據(jù)加密、交換的結(jié)構(gòu)。此外,為了存儲保密數(shù)據(jù),設(shè)置與通常的記錄區(qū)域不同的機(jī)密數(shù)據(jù)存儲區(qū)域,該機(jī)密數(shù)據(jù)存儲區(qū)域的結(jié)構(gòu)為如果不通過設(shè)置在存儲設(shè)備200內(nèi)的加密引擎,就無法訪問。加密引擎只對認(rèn)證為具有正當(dāng)權(quán)限的主機(jī)裝置輸出保密數(shù)據(jù)。以下,把這樣的數(shù)據(jù)保護(hù)功能稱作“安全功能”。根據(jù)所述結(jié)構(gòu)和功能,能恰當(dāng)保護(hù)記錄在存儲設(shè)備200中的保密數(shù)據(jù)。
為了最大限度利用存儲設(shè)備200的作為可移動媒體的特征,關(guān)于通常的數(shù)據(jù),希望用不是對應(yīng)安全功能的主機(jī)裝置也能輸入輸出。因此,本實施方式的存儲設(shè)備200為了保持與以往的硬盤的互換性,對應(yīng)于ANSI(American National Standards Institute)的標(biāo)準(zhǔn)規(guī)格ATA(AT attachment),上述的安全功能作為ATA的擴(kuò)展命令實現(xiàn)。ATA采用單命令接口,如果發(fā)行一個命令,則在命令結(jié)束之前占有總線,無法執(zhí)行下一命令。可是,如上所述,在存儲設(shè)備200一側(cè)設(shè)置用于加密通信的結(jié)構(gòu),如果把保密數(shù)據(jù)加密輸入輸出,則在加密和譯碼等處理中需要較長時間,所以保密數(shù)據(jù)的輸入輸出命令所需的時間比通常數(shù)據(jù)的輸入輸出命令所需的時間長。例如從存儲設(shè)備200讀出保密數(shù)據(jù)時,如果對存儲設(shè)備200發(fā)行讀出命令,則存儲設(shè)備200通過自身的加密引擎從機(jī)密數(shù)據(jù)存儲區(qū)域讀出相應(yīng)的保密數(shù)據(jù),在與主機(jī)裝置之間交換為了向主機(jī)裝置發(fā)送該保密數(shù)據(jù)而使用的密鑰后,用該密鑰把保密數(shù)據(jù)加密后,向總線輸出。這時,在執(zhí)行加密和譯碼等處理時,盡管實際上不使用總線,處于由該命令占有的狀態(tài)。
在本實施方式中,為了極力節(jié)省這樣無用的對總線的占有,高效利用總線,謀求處理的高速化,把用于保密數(shù)據(jù)的輸入輸出的一系列加密輸入輸出處理分割為多個步驟,把命令細(xì)化、發(fā)行。而且,在加密或譯碼等不使用總線的處理時,盡可能釋放總線,以便能發(fā)行其他命令。
可是,當(dāng)把用于輸入輸出保密數(shù)據(jù)的加密輸入輸出處理分割為多個步驟時,如果這些步驟的執(zhí)行順序顛倒,就有可能發(fā)生安全漏洞。因此,在本實施方式中,存儲設(shè)備200的加密引擎管理保密數(shù)據(jù)的輸入輸出中的步驟的執(zhí)行順序,當(dāng)接收到非法的順序的命令時,拒絕該命令的執(zhí)行,發(fā)回出錯響應(yīng)。
當(dāng)記錄裝置100或再現(xiàn)裝置300等主機(jī)裝置對存儲設(shè)備200發(fā)行關(guān)于加密輸入輸出處理的命令,接著,發(fā)行按順序的下一命令時,存儲設(shè)備200一側(cè)正在執(zhí)行前面的命令時,不受理下一命令。主機(jī)裝置胡亂對存儲設(shè)備200繼續(xù)發(fā)行命令是沒有效率的。因此,在本實施方式中,主機(jī)裝置預(yù)先從存儲設(shè)備200取得用于推測命令的執(zhí)行所需的時間的信息,在發(fā)行命令后,只待機(jī)推測為該命令的執(zhí)行所需的時間后,發(fā)行下一命令。據(jù)此,能把無用命令的發(fā)行抑制在最小限度。
下面,作為保密數(shù)據(jù)的輸入輸出的例子,說明記錄再現(xiàn)圖象或音樂等數(shù)字內(nèi)容時的情形。可以把內(nèi)容自身作為保密數(shù)據(jù)處理,但是在本實施方式中,把內(nèi)容加密,把加密的內(nèi)容自身作為通常的數(shù)據(jù)進(jìn)行輸入輸出。而且,把包含用于把加密的內(nèi)容譯碼的密鑰(稱作內(nèi)容密鑰)的內(nèi)容的譯碼和利用所必要的數(shù)據(jù)(稱作許可證數(shù)據(jù))作為保密數(shù)據(jù),使用上述的安全功能,進(jìn)行輸入輸出。據(jù)此,不但能維持充分的耐篡改性,而且能簡化數(shù)據(jù)的輸入輸出,謀求處理的高速化和耗電的降低。這里,許可證數(shù)據(jù)除了內(nèi)容密鑰,還包含關(guān)于許可證的利用、移動、復(fù)制的信息、用于確定許可證數(shù)據(jù)的許可證ID等。以下,在記錄裝置100、再現(xiàn)裝置300等主機(jī)裝置對存儲設(shè)備200發(fā)行的命令中,把用于安全功能的命令稱作“安全命令”,把其他命令稱作“通常命令”。
圖2表示實施方式的記錄裝置100的內(nèi)部結(jié)構(gòu)。該結(jié)構(gòu)在硬件上,能用任意的計算機(jī)的CPU、存儲器、其他LSI等實現(xiàn),在軟件上能由加載到存儲器中的具有記錄控制控制的程序等實現(xiàn),但是這里描繪通過它們的聯(lián)合而實現(xiàn)的功能塊。因此,對于業(yè)內(nèi)人士來講,能理解這些功能塊能只由硬件、只由軟件或由它們的組合,以各種形式實現(xiàn)。記錄裝置100主要具有控制器101、存儲器接口102、加密引擎103、加密器104、內(nèi)容編碼器105、電連接它們的數(shù)據(jù)總線110。
內(nèi)容編碼器105把由在線或脫線取得的內(nèi)容編碼為給定形式。例如,把通過網(wǎng)絡(luò)取得的圖象數(shù)據(jù)編碼為JPEG形式,可以把從廣播波取得的圖象數(shù)據(jù)編碼為MPEG形式。加密器104把編碼的內(nèi)容加密,發(fā)行用于把加密的內(nèi)容譯碼的內(nèi)容密鑰。加密的內(nèi)容通過數(shù)據(jù)總線110和存儲器接口102記錄到存儲設(shè)備200中。把內(nèi)容密鑰通知加密引擎103,加密引擎103為了把包含內(nèi)容密鑰的許可證數(shù)據(jù)輸入存儲設(shè)備200中,與存儲設(shè)備200之間進(jìn)行加密通信的控制。存儲器接口102控制與存儲設(shè)備200的數(shù)據(jù)的輸入輸出??刂破?01統(tǒng)一控制記錄裝置100的構(gòu)成要素。
圖3表示實施方式的再現(xiàn)裝置300的內(nèi)容結(jié)構(gòu)。這些功能塊能只由硬件、只由軟件或由它們的組合,以各種形式實現(xiàn)。再現(xiàn)裝置300主要具有控制器301、存儲器接口302、加密引擎303、譯碼器304、內(nèi)容譯碼器305、電連接它們的數(shù)據(jù)總線310。
存儲器接口302控制與存儲設(shè)備200的數(shù)據(jù)的輸入輸出。加密引擎303為了從存儲設(shè)備200接收包含內(nèi)容密鑰的許可證數(shù)據(jù),在與存儲設(shè)備200之間進(jìn)行加密通信的控制。譯碼器304根據(jù)從存儲設(shè)備200取得的許可證數(shù)據(jù)中包含的內(nèi)容密鑰,把從存儲設(shè)備200讀出的加密的內(nèi)容譯碼。內(nèi)容譯碼器305把由譯碼器304譯碼的內(nèi)容解碼、輸出。例如,如果是圖象數(shù)據(jù),就向未圖示的顯示裝置輸出,如果是聲音數(shù)據(jù),就向未圖示的揚聲器輸出??刂破?01統(tǒng)一控制再現(xiàn)裝置300的構(gòu)成要素。
圖4表示實施方式的存儲設(shè)備200的內(nèi)容結(jié)構(gòu)。存儲設(shè)備200主要具有控制器201、存儲器接口202、加密引擎203、通常數(shù)據(jù)存儲部204、機(jī)密數(shù)據(jù)存儲部205以及電連接它們的數(shù)據(jù)總線210。
存儲器接口202控制與記錄裝置100以及再現(xiàn)裝置300的數(shù)據(jù)的輸入輸出。加密引擎203進(jìn)行用于與記錄裝置100以及再現(xiàn)裝置300之間輸入輸出包含內(nèi)容密鑰的許可證數(shù)據(jù)等保密數(shù)據(jù)的加密通信的控制。通常數(shù)據(jù)存儲部204記錄加密的內(nèi)容或通常的數(shù)據(jù)等。機(jī)密數(shù)據(jù)存儲部205記錄包含內(nèi)容密鑰的許可證數(shù)據(jù)等保密數(shù)據(jù)??刂破?01統(tǒng)一控制存儲設(shè)備200的構(gòu)成要素。通常數(shù)據(jù)存儲部204從外部直接進(jìn)行訪問(數(shù)據(jù)的輸入輸出),但是機(jī)密數(shù)據(jù)存儲部205的結(jié)構(gòu)為無法進(jìn)行不通過加密引擎203的訪問(數(shù)據(jù)的輸入輸出)。
圖5表示圖2所示的記錄裝置100的加密引擎103的內(nèi)部結(jié)構(gòu)。加密引擎103具有認(rèn)證部120、第一加密部121、隨機(jī)數(shù)發(fā)生部122、譯碼部123、第二加密部124、日志存儲器125、電連接這些構(gòu)成要素的至少一部分的局域總線130。
認(rèn)證部120認(rèn)證從存儲設(shè)備200取得的證明書。證明書由包含公開鍵平文的信息(稱作“證明書主體”)、對證明書主體付與的電子署名構(gòu)成。該電子署名是通過第三者機(jī)關(guān)的認(rèn)證局(未圖示)的進(jìn)路鍵Kpa把對證明書主體進(jìn)行基于雜亂函數(shù)的演算(把該演算處理稱作“雜亂演算”)的結(jié)果加密的數(shù)據(jù)。進(jìn)路鍵Kpa是由認(rèn)證局嚴(yán)格管理的非公開的鍵,成為認(rèn)證局的密鑰。認(rèn)證部120保持有與該進(jìn)路鍵Kpa成為的認(rèn)證鍵KPa。該是認(rèn)證鍵KPa驗證證明書的正當(dāng)性的公開鍵。證明書的正當(dāng)性的驗證是比較雜亂函數(shù)對于應(yīng)該驗證的證明書的證明書主體的演算結(jié)果和用認(rèn)證鍵KPa把電子署名譯碼的結(jié)果的處理,當(dāng)兩者一致時,判斷為正當(dāng)。把判斷證明書的正當(dāng)性,承認(rèn)正當(dāng)?shù)淖C明書的處理稱作認(rèn)證。認(rèn)證部120如果認(rèn)證成功,就取出存儲設(shè)備200的公開鍵KPc,傳遞給第一加密部121,如果認(rèn)證失敗,就輸出出錯通知。
隨機(jī)數(shù)發(fā)生部122產(chǎn)生為了與存儲設(shè)備200之間進(jìn)行加密通信而暫時使用的挑戰(zhàn)鍵Ks1。每次進(jìn)行加密通信時,通過根據(jù)隨機(jī)數(shù)產(chǎn)生挑戰(zhàn)鍵Ks1,能把識破挑戰(zhàn)鍵Ks1的可能性抑制在最小限度。生成的挑戰(zhàn)鍵Ks1傳遞給第一加密部121和譯碼部123。第一加密部121為了向存儲設(shè)備200通知挑戰(zhàn)鍵Ks1,用由認(rèn)證部120取出的存儲設(shè)備200的公開鍵KPc把挑戰(zhàn)鍵Ks1加密,生成加密公共鍵E(KPc、Ks1)。這里,函數(shù)E表示加密,E(KPc、Ks1)表示用KPc把Ks1加密。
譯碼部123把由挑戰(zhàn)鍵Ks1加密的數(shù)據(jù)譯碼。由存儲設(shè)備200發(fā)行的對話鍵Ks2通過挑戰(zhàn)鍵Ks1加密,從存儲設(shè)備200提供,所以譯碼部123取得隨機(jī)數(shù)發(fā)生部122產(chǎn)生的挑戰(zhàn)鍵Ks1,把對話鍵Ks2譯碼。把譯碼的對話鍵Ks2傳遞給第二加密部124。第二加密部124取得包含加密器104把內(nèi)容加密時發(fā)行的內(nèi)容密鑰的許可證數(shù)據(jù),把該許可證數(shù)據(jù)通過由存儲設(shè)備200發(fā)行的對話鍵Ks2加密。日志存儲器125保持一系列的加密輸入輸出處理的處理日志。
在圖5中,加密引擎103的構(gòu)成要素中,認(rèn)證部120、第一加密部121、譯碼部123、第二加密部124、日志存儲器125通過局域總線130電連接,通過局域總線130連接在記錄裝置100的數(shù)據(jù)總線110上。在連接各構(gòu)成要素的形態(tài)上考慮到各種變更例,但是在本實施方式中,產(chǎn)生挑戰(zhàn)鍵的隨機(jī)數(shù)發(fā)生部122不直接連接在數(shù)據(jù)總線110上。據(jù)此,防止加密引擎103內(nèi)使用的各鍵通過記錄裝置100的其他構(gòu)成要素泄漏到外部,能提高安全性。
圖6表示圖3所示的再現(xiàn)裝置300的加密引擎303的內(nèi)部結(jié)構(gòu)。加密引擎303具有證明書輸出部320、第一譯碼部321、加密部322、隨機(jī)數(shù)發(fā)生部323、第二譯碼部324及電連接這些構(gòu)成要素的至少一部分的局域總線330。
證明書輸出部320輸出再現(xiàn)裝置300的證明書。證明書可以由證明書輸出部320保持,也可以保持在未圖示的證明書保持部中,讀出它。證明書由包含再現(xiàn)裝置300的公開鍵KPb的證明書主體、對證明書主體付與的電子署名構(gòu)成。電子署名與存儲設(shè)備200的證明書同樣,由認(rèn)證局的進(jìn)路鍵Kpa加密。第一譯碼部321用密鑰Kpb把由公開鍵KPb加密的數(shù)據(jù)譯碼。由存儲設(shè)備200發(fā)行的挑戰(zhàn)鍵Ks3由再現(xiàn)裝置300的公開鍵KPb加密,從存儲設(shè)備200提供,所以第一譯碼部321通過自身的密鑰Kpb譯碼,取出挑戰(zhàn)鍵Ks3。把取出的挑戰(zhàn)鍵Ks3傳遞給加密部322。隨機(jī)數(shù)發(fā)生部323產(chǎn)生為了與存儲設(shè)備200之間進(jìn)行加密通信而暫時使用的對話鍵Ks4。把生成的對話鍵Ks4傳遞給加密部322及第二譯碼部324。
加密部322為了對存儲設(shè)備200通知對話鍵Ks4,用由第一譯碼部321取出的挑戰(zhàn)鍵Ks3把對話鍵Ks4加密。第二譯碼部324把由對話鍵Ks4加密的數(shù)據(jù)譯碼。許可證數(shù)據(jù)由對話鍵Ks4加密,從存儲設(shè)備200提供,所以第二譯碼部324通過隨機(jī)數(shù)發(fā)生部323產(chǎn)生的對話鍵Ks4譯碼,取出許可證數(shù)據(jù)。把取出的許可證數(shù)據(jù)傳遞給譯碼器304,譯碼器304使用該許可證數(shù)據(jù)中包含的內(nèi)容密鑰,把加密的內(nèi)容譯碼。
在圖6所示的加密引擎303中,在連接各構(gòu)成要素的形態(tài)上考慮到各種變更例,但是在本實施方式中,通過采用產(chǎn)生挑戰(zhàn)鍵的隨機(jī)數(shù)發(fā)生部323不直接連接在數(shù)據(jù)總線310上的結(jié)構(gòu),能防止加密引擎303內(nèi)使用的密鑰泄漏到外部。
圖7表示圖4所示的存儲設(shè)備200的加密引擎203的內(nèi)部結(jié)構(gòu)。這些功能塊能只由硬件、只由軟件或由它們的組合,以各種形式實現(xiàn)。加密引擎203具有數(shù)據(jù)寄存器220、狀態(tài)寄存器221、控制部222、隨機(jī)數(shù)發(fā)生部224、證明書輸出部225、認(rèn)證部226、第一譯碼部227、第一加密部228、第二譯碼部229、第二加密部230、日志存儲器231、電連接這些構(gòu)成要素的至少一部分的局域總線240。
數(shù)據(jù)寄存器220是用于數(shù)據(jù)的輸入輸出的寄存器,是與加密引擎203的外部結(jié)構(gòu)之間進(jìn)行數(shù)據(jù)輸入輸出的中介。狀態(tài)寄存器221保持用于對加密引擎203指示控制器201從記錄裝置100或再現(xiàn)裝置300接收的安全命令的執(zhí)行的執(zhí)行指示、加密引擎203用于把安全命令的處理狀態(tài)或處理結(jié)果等通知控制器201的狀態(tài)信息等。
存儲設(shè)備200的控制器201如果從記錄裝置100或再現(xiàn)裝置300接收安全命令,就在狀態(tài)寄存器221中存儲該命令的執(zhí)行指示(開始指示)。例如,對安全命令按執(zhí)行順序分別付與編號,通過把控制器201接收的安全命令的編號存儲在狀態(tài)寄存器221中,對于加密引擎203指示該命令的執(zhí)行??刂撇?22如果在狀態(tài)寄存器221中存儲新的執(zhí)行指示,就開始該處理。
控制部222把從控制器201通知的命令的處理狀態(tài)和處理結(jié)果存儲到狀態(tài)寄存器221中。處理狀態(tài)例如能以表示正在執(zhí)行處理的狀態(tài)“Busy”、表示未在執(zhí)行處理的狀態(tài)“Ready”等兩個狀態(tài)表現(xiàn),處理結(jié)果能以表示處理正常結(jié)束的“Normal”、表示處理異常結(jié)束的“Error”等2個狀態(tài)表現(xiàn)??刂撇?22如果通過加密引擎203開始安全命令的執(zhí)行,就把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”,如果安全命令的執(zhí)行結(jié)束,就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,并且把命令的結(jié)束理由反映到處理結(jié)果中。
隨機(jī)數(shù)發(fā)生部224產(chǎn)生與記錄裝置100或再現(xiàn)裝置300之間的加密通信中暫時使用的對話鍵Ks2或挑戰(zhàn)鍵Ks3。這時,隨機(jī)數(shù)發(fā)生部224進(jìn)行隨機(jī)數(shù)演算。日志存儲器231保持一系列的加密輸入輸出處理的處理日志。
證明書輸出部225輸出存儲設(shè)備200的證明書。證明書可以由證明書輸出部225保持,也可以在存儲設(shè)備200的給定存儲區(qū)域例如機(jī)密數(shù)據(jù)存儲區(qū)域205中保持,讀出它。證明書由包含存儲設(shè)備200的公開鍵KPc的證明書主體、對證明書主體付與的電子署名。電子署名由認(rèn)證局的進(jìn)路鍵Kpa加密。認(rèn)證部226認(rèn)證從再現(xiàn)裝置300取得的證明書。認(rèn)證部226根據(jù)認(rèn)證鍵KPa驗證從外部提供的證明書的正當(dāng)性。如果認(rèn)證成功,認(rèn)證部226就取出證明書中包含的再現(xiàn)裝置300的公開鍵KPb,存儲到數(shù)據(jù)寄存器220中,如果認(rèn)證失敗,就對控制部222輸出出錯通知。認(rèn)證部226當(dāng)認(rèn)證證明書時,進(jìn)行把由公開鍵加密方式的公開鍵加密的數(shù)據(jù)譯碼的譯碼演算及對于證明書主體的雜亂演算。
第一譯碼部227進(jìn)行用于把由公開鍵加密方式的公開鍵加密的數(shù)據(jù)譯碼的譯碼演算。具體而言,用自身的密鑰Kpc把由自身的公開鍵KPc加密的數(shù)據(jù)譯碼。第一譯碼部228進(jìn)行用于以公開鍵加密方式的公開鍵加密數(shù)據(jù)的加密演算。具體而言,用從再現(xiàn)裝置300取得的再現(xiàn)裝置300的公開鍵KPb,把隨機(jī)數(shù)發(fā)生部224發(fā)行的挑戰(zhàn)鍵Ks3加密。第二譯碼部229進(jìn)行用于把以公共鍵加密方式的密鑰加密的數(shù)據(jù)譯碼的譯碼演算。具體而言,把用隨機(jī)數(shù)發(fā)生部224發(fā)行的對話鍵Ks2或挑戰(zhàn)鍵Ks3加密的數(shù)據(jù)分別以對話鍵Ks2或挑戰(zhàn)鍵Ks3譯碼。第二加密部230進(jìn)行以公共鍵加密方式把數(shù)據(jù)加密的加密演算。具體而言,用記錄裝置100發(fā)行的挑戰(zhàn)鍵Ks1或再現(xiàn)裝置300發(fā)行的對話鍵Ks4把由隨機(jī)數(shù)發(fā)生部224發(fā)行的對話鍵Ks2或許可證數(shù)據(jù)分別加密。
圖8表示從存儲設(shè)備取得表示存儲設(shè)備是否支持安全命令組的信息,當(dāng)與安全命令對應(yīng)時,取得用于推測安全命令的執(zhí)行所必要的信息。如果存儲設(shè)備200連接在記錄裝置100上,記錄裝置100的控制器101就對存儲設(shè)備200發(fā)行設(shè)備信息輸出命令(S400)。存儲設(shè)備200的控制器201如果從記錄裝置100的控制器101收到設(shè)備信息輸出命令(S402),就輸出設(shè)備信息(S404)。作為設(shè)備信息,例如,通知硬盤的種類、通常數(shù)據(jù)的記錄容量、接口的條件、支持的命令組等信息??刂破?01如果收到存儲設(shè)備200的設(shè)備信息(S406),就判斷存儲設(shè)備200是否支持安全命令組(S408),如果不支持(S408的N),就作為不是對應(yīng)于安全命令的硬盤處理。
如果存儲設(shè)備200支持安全命令(S408的Y),接著,控制器101發(fā)行安全信息輸出命令(S410)。控制器201如果收到安全信息輸出命令(S412),就輸出安全信息(S414)。當(dāng)存儲設(shè)備200接收到安全命令時,作為安全信息,通知用于推測執(zhí)行該命令所需的時間的信息即例如為了執(zhí)行安全命令而使用的基本處理即公開鍵方式加密演算、公共鍵方式加密演算、公開鍵方式譯碼演算、公共鍵方式譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算、日志檢索處理等各基本處理所需的典型時間(Typical Time)。典型時間是指如果發(fā)行100次同一安全命令,就意味著其中99次在該時間內(nèi)結(jié)束的除去例外的處理時間??刂破?01如果收到存儲設(shè)備200的安全信息(S416),就根據(jù)接收的信息,決定發(fā)行各安全命令時的等待時間(S418)。
作為用于推測執(zhí)行命令所需時間的信息,代替各基本處理所需的典型的處理時間,可以輸出平均處理時間或最大處理時間,也可以組合它們輸出。在任何時候,控制器101取得存儲設(shè)備200輸出的基本處理所需的處理時間,根據(jù)各安全命令執(zhí)行的基本處理,推測各安全命令所需的時間。此外,代替基本處理所需的時間,可以輸出各安全命令的執(zhí)行所需的典型的處理時間、平均處理時間、或最大處理時間,也可以組合它們輸出。在任何時候,控制器101從存儲設(shè)備200輸出的用于推測的信息推測各安全命令的發(fā)行后到發(fā)行下一安全命令前的等待時間。在圖8中,說明了記錄裝置100作為主機(jī)裝置起作用的例子,但是再現(xiàn)裝置300作為主機(jī)裝置起作用時也同樣。
圖9、圖10、圖11表示記錄裝置100向存儲設(shè)備200記錄許可證數(shù)據(jù)之前的步驟。首先,記錄裝置100的控制器101對存儲設(shè)備200發(fā)行證明書輸出命令(S102)??刂破?01如果正常受理證明書輸出命令,就對加密引擎203指示證明書的輸出。在圖16中詳細(xì)描述安全命令的發(fā)行和受理的細(xì)節(jié)??刂撇?22把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S300),證明書輸出部225把證明書存儲到數(shù)據(jù)寄存器220(S302)中。如果處理結(jié)束,則控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S304)??刂破?01從數(shù)據(jù)寄存器220讀出證明書,向記錄裝置100輸出(S106)。
控制器101如果從存儲設(shè)備200取得證明書,就把它發(fā)送給記錄裝置100的加密引擎103(S108)。加密引擎103如果收到存儲設(shè)備200的證明書(S110),認(rèn)證部120就用認(rèn)證鍵KPa認(rèn)證證明書的正當(dāng)性(S112)。當(dāng)未承認(rèn)證明書的正當(dāng)性時(S112的N),認(rèn)證部120就對控制器101發(fā)送出錯通知(S190)。控制器101如果收到出錯通知(S192),就異常結(jié)束處理。當(dāng)認(rèn)證了證明書時(S112的Y),加密引擎103就通過隨機(jī)數(shù)發(fā)生部122產(chǎn)生挑戰(zhàn)鍵Ks1(S114),通過加密部121,用存儲設(shè)備200的公開鍵KPc把生成的挑戰(zhàn)鍵Ks1加密,生成加密公共鍵E(KPc、Ks1),向控制器101發(fā)送(S16)。
控制器101如果收到加密公共鍵E(KPc、Ks1)(S118),就對存儲設(shè)備200發(fā)行挑戰(zhàn)鍵輸入命令(S120)??刂破?01如果正常受理挑戰(zhàn)鍵輸入命令,就對記錄裝置100輸出加密公共鍵E(KPc、Ks1)的輸入要求(S122)。控制器101按照該輸入要求,把加密公共鍵E(KPc、Ks1)向存儲設(shè)備200輸出(S124)??刂破?01如果受理加密公共鍵E(KPc、Ks1)(S126),就把它存儲在數(shù)據(jù)寄存器220中(S128),把受理通知發(fā)送給控制器101(S130)。然后,對加密引擎203指示挑戰(zhàn)鍵的受理。
控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S310),從數(shù)據(jù)寄存器220取出加密公共鍵(KPc、Ks1),提供給第一譯碼部227。第一譯碼部227把由存儲設(shè)備200的密鑰Kpc提供的加密公共鍵E(KPc、Ks1)譯碼,取出挑戰(zhàn)鍵Ks1(S312),向控制部222輸出(S314)??刂撇?22如果取得挑戰(zhàn)鍵Ks1,就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S316)。
而控制器101如果結(jié)束加密公共鍵E(KPc、Ks1)的輸入,存儲設(shè)備200就待機(jī)推測為挑戰(zhàn)鍵輸入命令的執(zhí)行所需的時間(S131)。由挑戰(zhàn)鍵輸入命令執(zhí)行的處理是把加密公共鍵E(KPc、Ks1)譯碼,取出公共鍵Ks1,保持它的處理,所以可以只待機(jī)公開鍵方式的譯碼處理所需的時間。這時,通常命令的發(fā)行成為可能,控制器101按照必要發(fā)行通常命令。如果經(jīng)過推測為挑戰(zhàn)鍵輸入命令的執(zhí)行所需的時間,控制器101就對存儲設(shè)備200發(fā)行對話鍵準(zhǔn)備命令(S132)。如后所述,如果挑戰(zhàn)鍵輸入命令的執(zhí)行未結(jié)束,控制器201就不受理對話鍵準(zhǔn)備命令,但是如果命令的執(zhí)行結(jié)束,則控制器201受理對話鍵準(zhǔn)備命令。
控制器201如果正常受理對話鍵準(zhǔn)備命令,就向記錄裝置100輸出許可證ID的輸入要求(S133)。該許可證ID是通過圖9到圖11所示的一系列加密輸入輸出處理向存儲設(shè)備200寫入的許可證數(shù)據(jù)的ID,用于處理日志的記錄、輸入的許可證數(shù)據(jù)的確認(rèn)。控制器101按照該輸入要求,把許可證ID向存儲設(shè)備200輸出(S134)??刂破?01如果受理許可證ID(S136),就把它存儲到數(shù)據(jù)寄存器220中(S138),把受理通知發(fā)送給控制器101(S140)。
控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S320)。隨機(jī)數(shù)發(fā)生部224產(chǎn)生對話鍵Ks2,向控制部222輸出(S322)。而且,控制部222對日志存儲器231記錄作為處理日志的許可證ID、生成的對話鍵Ks2和作為狀態(tài)信息的RP(Receive Prepare/準(zhǔn)備接收)(S326),把對話鍵Ks2和挑戰(zhàn)鍵Ks1提供給第二加密部230。第二加密部230用挑戰(zhàn)鍵Ks1把對話鍵Ks2加密,生成加密鍵(Ks1、Ks2),存儲到數(shù)據(jù)寄存器220(328)。如果處理結(jié)束,控制部222就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S329)。
而控制器101如果收到對話鍵準(zhǔn)備命令的受理通知,存儲設(shè)備200就待機(jī)推測為對話鍵準(zhǔn)備命令的執(zhí)行所需的時間(S141)。由對話鍵準(zhǔn)備命令執(zhí)行的處理是產(chǎn)生對話鍵Ks2,用Ks1把Ks2加密的處理,所以可以只待機(jī)隨機(jī)數(shù)發(fā)生處理和公共鍵方式的加密處理所需的時間。如果經(jīng)過推測為對話鍵準(zhǔn)備命令的執(zhí)行所需的時間,控制器101就對存儲設(shè)備200發(fā)行對話鍵輸出命令,控制器201受理對話鍵輸出命令(S142)。如后所述,如果對話鍵準(zhǔn)備命令未結(jié)束,就不受理對話鍵輸出命令,但是,如果命令的執(zhí)行結(jié)束,就受理。如果受理命令,控制器201就從數(shù)據(jù)寄存器220讀出加密鍵E(Ks1、Ks2),向控制器101輸出(S146)。
控制器101如果從存儲設(shè)備200收到加密鍵E(Ks1、Ks2),就把它發(fā)送給加密引擎103(S148)。加密引擎103如果從控制器101收到加密鍵E(Ks1、Ks2)(S150),譯碼器123就用挑戰(zhàn)鍵Ks1把加密鍵E(Ks1、Ks2)譯碼,取出對話鍵Ks2(S152)。接著,加密引擎103通過第二加密部124把加密器104發(fā)行的包含內(nèi)容的內(nèi)容密鑰和許可證ID的許可證數(shù)據(jù)用存儲設(shè)備200發(fā)行的對話鍵Ks2加密,生成加密許可證數(shù)據(jù),發(fā)送給控制器101(S154)。
控制器101如果收到加密許可證數(shù)據(jù)(S156),就對存儲設(shè)備200發(fā)行許可證數(shù)據(jù)輸入命令(S158)。許可證輸入命令伴隨著對存儲設(shè)備200寫入許可證數(shù)據(jù)的地址的指定??刂破?01如果正常受理許可證數(shù)據(jù)輸入命令,控制器201就向記錄裝置100輸出加密許可證數(shù)據(jù)的輸入要求(S160)。控制器101按照數(shù)據(jù)的輸入要求,把加密許可證數(shù)據(jù)向存儲設(shè)備200輸出(S162)??刂破?01如果受理加密許可證數(shù)據(jù)(S164),就把它存儲在數(shù)據(jù)寄存器220中(S166)。然后,把數(shù)據(jù)的受理通知對記錄裝置100輸出,同時指示加密引擎203受理許可證數(shù)據(jù)(S167)。
控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S330),從數(shù)據(jù)寄存器220取得加密許可證數(shù)據(jù),與對話鍵Ks2一起提供給第二譯碼部229。第二譯碼部229用對話鍵Ks2把加密許可證數(shù)據(jù)譯碼,取出許可證數(shù)據(jù),把取得的許可證數(shù)據(jù)提供給控制部222(S332)??刂撇?22如果收到許可證數(shù)據(jù),就比較許可證數(shù)據(jù)內(nèi)的許可證ID和處理日志內(nèi)的許可證ID(S334)。當(dāng)兩個許可證ID不同時(S334的N),控制部222就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Error”(S336)。
當(dāng)兩個許可證ID一致時(S334的Y),控制部222在處理日志中記錄指定地址,把處理日志內(nèi)的狀態(tài)信息從RP變更為RL(Receive License/受理許可證)(S338)。然后,進(jìn)行把許可證數(shù)據(jù)存儲到機(jī)密數(shù)據(jù)存儲部205的指定地址中的存儲處理(S340)。如果數(shù)據(jù)的存儲由于任意的理由而未正常結(jié)束,就失去許可證數(shù)據(jù),所以確認(rèn)存儲處理是否正常結(jié)束(S342)。如果未記錄數(shù)據(jù),就結(jié)束存儲處理時(S342的N),控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Error”(S344)。當(dāng)正常存儲數(shù)據(jù)時(S342的Y),就把日志存儲器231的處理日志內(nèi)的狀態(tài)信息從RL變更為RC(Receive Completed/接收結(jié)束)(S346)。如果處理日志的變更結(jié)束,控制部222就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S348)。
而如果控制器101收到數(shù)據(jù)的受理通知,存儲設(shè)備200就待機(jī)推測為許可證數(shù)據(jù)輸入命令的執(zhí)行所需的時間(S168)。由許可證數(shù)據(jù)輸入命令執(zhí)行的處理是用對話鍵Ks2把輸入的加密許可證數(shù)據(jù)譯碼的處理、把輸入的許可證數(shù)據(jù)記錄到機(jī)密數(shù)據(jù)存儲部205中的處理,所以可以只待機(jī)把公共鍵方式的譯碼處理所需的時間和記錄所需時間相加的時間。如果經(jīng)過推測為許可證數(shù)據(jù)輸入命令的執(zhí)行所需的時間,控制器101對存儲設(shè)備200為了確認(rèn)許可證數(shù)據(jù)的存儲,就發(fā)行結(jié)束確認(rèn)命令,如果許可證數(shù)據(jù)輸入命令的執(zhí)行結(jié)束,控制器201就受理結(jié)束確認(rèn)命令(S170)。控制部222參照狀態(tài)寄存器的處理結(jié)果,把剛才的命令即許可證數(shù)據(jù)輸入命令的處理結(jié)果發(fā)送給控制器101(S172)??刂破?01如果從控制器201收到許可證輸入命令的處理結(jié)果(S174),就參照收到的處理結(jié)果,確認(rèn)許可證輸入命令是否正常結(jié)束(S176)。當(dāng)許可證數(shù)據(jù)存儲到存儲設(shè)備200中時(S176的Y),控制器101正常結(jié)束處理。當(dāng)存儲失敗是(S176的N),控制器101就異常結(jié)束處理。這時,控制器101再度嘗試許可證數(shù)據(jù)的記錄。
根據(jù)以上的步驟,把用于對內(nèi)容譯碼的許可證數(shù)據(jù)記錄到存儲設(shè)備200中。加密內(nèi)容是通常數(shù)據(jù),所以由存儲設(shè)備200的通常命令直接寫入,所以這里省略說明。
圖12是表示接通電源后,在存儲設(shè)備200中記錄許可證數(shù)據(jù)前的ATA接口上的一系列的步驟的序列圖。圖8所示的步驟、圖9~圖11所示的記錄裝置100向存儲設(shè)備200記錄許可證數(shù)據(jù)之前的步驟是處理正常進(jìn)行時的例子。
“Host ATA-IF”相當(dāng)于記錄裝置100的存儲器接口102,“StorageATA-IF”相當(dāng)于存儲設(shè)備200的存儲器接口202。在由兩個ATA-IF夾著的中央部分記載有安全命令。記載在命令名之后的(W)、(R)、(S)表示命令的特性,(W)表示伴隨著數(shù)據(jù)列的輸入的命令,即命令受理后從存儲設(shè)備200有數(shù)據(jù)要求的命令,(R)表示伴隨著數(shù)據(jù)列的輸出的命令,(S)表示不伴隨著數(shù)據(jù)列的輸入輸出的命令。
此外,命令“IDENTIFY_DEVICE”、“GET_SECURITY_FEATURE”、“GET_CERTIFICATE”、“PUT_CHALLENGE_KEY”、“CREATE_SESSION_KEY”、“GET_SESSION_KEY”、“PUT_LICENSE”、“GET_COMPLETION_STATUS”分別相當(dāng)于設(shè)備信息輸出命令、安全信息輸出命令、證明書輸出命令、挑戰(zhàn)鍵輸入命令、對話鍵準(zhǔn)備命令、挑戰(zhàn)鍵輸出命令、許可證輸入命令、結(jié)束確認(rèn)命令。此外,11對應(yīng)于S110、S112、S114、S116的處理,12對應(yīng)于S150、S152、S154的處理和記錄裝置100的日志記錄處理,21對應(yīng)于S128、S312的處理,22對應(yīng)于S138、S322、S326、S328的處理,23對應(yīng)于S172、S332、S334、S338、S340、S346的處理,在圖12中,未表示內(nèi)部的詳細(xì)處理。
該序列劃分為取得存儲設(shè)備200的信息的“Initialization STEP(初始化步驟)”、存儲設(shè)備200取得挑戰(zhàn)鍵Ks1之前的“Authentication STEP”、傳輸寫入許可證之前的“Transmission STEP”?!癟ransmission STEP”結(jié)束后,回到“Transmission STEP”的開始的箭頭表示接著許可證數(shù)據(jù)存儲到存儲設(shè)備200中時,可以共享“Initialization STEP”和“AuthenticationSTEP”。通過省略“Initialization STEP”和“Authentication STEP”,對于許可證數(shù)據(jù)的安全性不會下降。此外,“Transmission STEP”結(jié)束后,回到“Authentication STEP”的開始的箭頭表示在全部步驟中,“InitializationSTEP”可以是公共的。
圖13、圖14、圖15表示再現(xiàn)裝置300從存儲設(shè)備200讀出許可證數(shù)據(jù)之前的步驟。首先,再現(xiàn)裝置300的加密引擎303通過證明書輸出部320向控制器301發(fā)送證明書(S202)。控制器301如果從加密引擎303收到證明書(S204),就對存儲設(shè)備200發(fā)行證明書輸入命令(S206)??刂破?01如果正常受理證明書輸入命令,就把證明書的輸入要求向控制器301輸出(S208)??刂破?01按照該輸入要求,向控制器201輸出證明書(S210)。控制器201如果受理證明書(S212),就把它存儲到數(shù)據(jù)存儲器220中(S213),把受理通知發(fā)送給控制器301(S214)。
控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S400),認(rèn)證部226用認(rèn)證鍵KPa驗證證明書的正當(dāng)性(S402)。當(dāng)未承認(rèn)證明書的正當(dāng)性時(S402的N),認(rèn)證部402就輸出出錯通知(S408),控制器201把該出錯通知向控制器301輸出(S290)。控制器301如果收到出錯通知(S292),就異常結(jié)束處理。當(dāng)承認(rèn)證明書的正當(dāng)性時(S402的Y),認(rèn)證部226把從證明書取出的公開鍵KPb存儲到數(shù)據(jù)寄存器220中(S404),控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S406)。
而控制器301如果收到證明書的受理通知,存儲設(shè)備200就待機(jī)推測為證明書輸入命令的執(zhí)行所需的時間(S216)。如果經(jīng)過推測為證明書輸入命令的執(zhí)行所需的時間,控制器301就對存儲設(shè)備200發(fā)行挑戰(zhàn)鍵準(zhǔn)備命令(S218)??刂破?01如果受理挑戰(zhàn)鍵準(zhǔn)備命令,就把挑戰(zhàn)鍵準(zhǔn)備命令的受理通知發(fā)送給控制器301(S220)??刂撇?22把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S410),隨機(jī)數(shù)發(fā)生部224產(chǎn)生挑戰(zhàn)鍵Ks3(S412),第一加密部228用公開鍵KPb把挑戰(zhàn)鍵Ks3加密,生成加密鍵E(KPb、Ks3),暫時存儲在數(shù)據(jù)寄存器220中(S414)。如果處理結(jié)束,控制部222就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S416)。
而控制器301如果收到挑戰(zhàn)鍵準(zhǔn)備命令的受理通知,存儲設(shè)備200就待機(jī)推測為挑戰(zhàn)鍵準(zhǔn)備命令的執(zhí)行所需的時間(S222)。如果經(jīng)過推測為挑戰(zhàn)鍵準(zhǔn)備命令的執(zhí)行所需的時間,控制器301就對存儲設(shè)備200發(fā)行挑戰(zhàn)鍵輸出命令(S224)??刂破?01如果受理挑戰(zhàn)鍵輸出命令,就從數(shù)據(jù)寄存器220讀出加密鍵E(KPb、Ks3),發(fā)送給控制器301(S226)。
控制器301如果收到加密公共鍵E(KPb、Ks3),就把它發(fā)送給加密引擎303(S228)。加密引擎303如果收到加密公共鍵E(KPb、Ks3)(S230),則第一譯碼部321用自身的密鑰Kpb把加密公共鍵E(KPb、Ks3)譯碼,取出挑戰(zhàn)鍵Ks3(S232)。接著,加密引擎303通過隨機(jī)數(shù)發(fā)生部323產(chǎn)生對話鍵Ks4(S234),通過加密部322用挑戰(zhàn)鍵Ks3把對話鍵Ks4加密,生成加密公共鍵E(Ks3、Ks4),向控制器301發(fā)送(S236)??刂破?01如果收到加密公共鍵E(Ks3、Ks4)(S238),就對存儲設(shè)備200發(fā)行對話鍵輸入命令(S239)。
控制器201如果正常受理對話鍵輸入命令,就把加密鍵E(Ks3、Ks4)的輸入要求向控制器301輸出(S240)??刂破?01按照該輸入要求,對控制器201輸出加密鍵E(Ks3、Ks4)(S242)??刂破?01如果受理加密鍵(S244),就把它存儲在數(shù)據(jù)寄存器220中(S246),把受理通知發(fā)送給控制器301(S248)??刂撇?22把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S420),從數(shù)據(jù)寄存器220讀出挑戰(zhàn)鍵Ks3,對第二譯碼部229提供接收的加密公共鍵E(Ks3、Ks4)和挑戰(zhàn)鍵Ks3。第二譯碼部229用挑戰(zhàn)鍵Ks3把加密公共鍵E(Ks3、Ks4)譯碼,取出對話鍵Ks4(S422),把對話鍵Ks4存儲到數(shù)據(jù)寄存器220中(S424)??刂撇?22如果結(jié)束處理,就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S426)。
控制器301如果收到對話鍵輸入命令的受理通知,則存儲設(shè)備200待機(jī)推測為對話鍵輸入命令的執(zhí)行所需的時間(S250)。如果經(jīng)過推測為對話鍵輸入命令的執(zhí)行所需的時間,控制器301就對存儲設(shè)備200發(fā)行許可證讀出命令(S252)。這時,指定應(yīng)該讀出的許可證數(shù)據(jù)的地址??刂破?01如果正常受理許可證讀出命令,就把許可證讀出命令的受理通知發(fā)送給控制器301(S254)??刂撇?22將狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S430),從機(jī)密數(shù)據(jù)存儲部205的指定的地址讀出許可證數(shù)據(jù),保持在數(shù)據(jù)存儲器220中(S432)??刂撇?22如果結(jié)束處理,就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S434)。
控制器301如果收到許可證讀出命令的受理通知,存儲設(shè)備200就待機(jī)推測為許可證讀出命令的執(zhí)行所需的時間(S256)。如果經(jīng)過推測為許可證讀出命令的執(zhí)行所需的時間,控制器301就對存儲設(shè)備200發(fā)行許可證準(zhǔn)備命令(S258)??刂破?01如果正常受理許可證準(zhǔn)備命令,就對控制器301發(fā)送許可證準(zhǔn)備命令的受理通知(S260)??刂撇?22把狀態(tài)寄存器221的處理狀態(tài)變更為“Busy”(S440),第二加密部230用對話鍵Ks4把許可證數(shù)據(jù)加密,保持在數(shù)據(jù)寄存器220中(S442)??刂撇?22如果結(jié)束處理,就把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Normal”(S444)。
控制器301如果收到許可證準(zhǔn)備命令的受理通知,存儲設(shè)備200就待機(jī)推測為許可證準(zhǔn)備命令的執(zhí)行所需的時間(S262)。如果經(jīng)過推測為許可證準(zhǔn)備命令的執(zhí)行所需的時間,控制器301就對存儲設(shè)備200發(fā)行許可證輸出命令(S264)??刂破?01如果正常受理許可證輸出命令,就從數(shù)據(jù)寄存器220讀出加密許可證數(shù)據(jù),對控制器301輸出(S266)??刂破?01如果取得加密許可證數(shù)據(jù),就把它發(fā)送給加密引擎303(S268)。加密引擎303如果收到加密許可證數(shù)據(jù)(S270),第二譯碼部324就用對話鍵Ks4把加密許可證數(shù)據(jù)譯碼(S272)。把取得的許可證數(shù)據(jù)發(fā)送給譯碼器304,在譯碼器304把內(nèi)容譯碼時使用。通過以上的捕捉,由再現(xiàn)裝置300讀出用于把內(nèi)容譯碼的許可證數(shù)據(jù)。
在上述一系列加密引擎203對于安全命令的處理中,只說明了作為處理結(jié)果,發(fā)回“Normal”的情形,但是在對于安全命令的處理中,發(fā)生任何問題,處理未正常結(jié)束時,控制部222把狀態(tài)寄存器221的處理狀態(tài)變更為“Ready”,把處理結(jié)果變更為“Error”。在加密輸入輸出處理的途中,當(dāng)發(fā)生任意的錯誤,處理被中斷時,作為用于復(fù)原加密輸入輸出處理中的步驟方法,記錄處理日志。參照處理日志,確認(rèn)處理進(jìn)行到了哪個步驟,從出錯的步驟再度執(zhí)行。這時的處理日志的輸入輸出利用安全功能進(jìn)行。因此,伴隨著處理日志的輸入輸出而發(fā)行的命令也相當(dāng)于“安全命令”。因為從日志存儲器125或231檢索必要的處理日志的處理比較需要時間,所以當(dāng)記錄裝置100對存儲設(shè)備200發(fā)行處理日志的輸出命令時,希望考慮存儲設(shè)備200從日志存儲器231檢索處理日志時所需的時間,設(shè)定等待時間。
圖16表示記錄裝置100對存儲設(shè)備200發(fā)行安全命令,存儲設(shè)備200受理的樣子。圖9~圖11中的S102、S120、S132、S142、S158、S170、圖12~圖15的S206、S218、S224、S239、S252、S258、S264是進(jìn)行安全命令的發(fā)行和受理的處理。記錄裝置100的控制器101對存儲設(shè)備200發(fā)行安全命令后,存儲設(shè)備200待機(jī)推測為執(zhí)行該安全命令所需的時間后,發(fā)行下一安全命令(S500)。存儲設(shè)備200的控制器201如果從記錄裝置100收到安全命令(S502),就確認(rèn)接收的安全命令是否用正規(guī)的發(fā)行步驟發(fā)行(S504)。當(dāng)不按照正規(guī)的發(fā)行步驟時(S504的N),就無法受理命令,所以為了結(jié)束處理,進(jìn)入S516。當(dāng)按照正規(guī)的發(fā)行步驟時(S504的Y),參照狀態(tài)寄存器221,確認(rèn)是否正在執(zhí)行該處理系統(tǒng)的之前的命令(S506)。如果狀態(tài)寄存器221的處理狀態(tài)為“Busy”,則正在執(zhí)行之前的命令,所以對記錄裝置100通知正在處理的意思(S508)??刂破?01如果從存儲設(shè)備200收到正在處理的意思的通知(S510),就待機(jī)給定時間后(S512),再度回到S500,發(fā)行安全命令。
在S504中,如果狀態(tài)寄存器221的處理狀態(tài)為“Ready”,之前的命令的執(zhí)行結(jié)束了,所以為了確認(rèn)之前的命令的處理結(jié)果,參照狀態(tài)寄存器的處理結(jié)果(S514)。狀態(tài)寄存器的處理結(jié)果如果為“Normal”(S514的“Normal”),則執(zhí)行的命令的執(zhí)行正常結(jié)束,所以受理接收的安全命令,轉(zhuǎn)移到下一處理。而狀態(tài)寄存器221的處理結(jié)果如果為“Error”(S514的“Error”),則執(zhí)行的命令的執(zhí)行未正常結(jié)束,所以無法轉(zhuǎn)移到下一處理,為了結(jié)束處理,進(jìn)入S516。當(dāng)命令不遵循正規(guī)的發(fā)行步驟時,或之前的命令未正常結(jié)束時,控制器201對記錄裝置100通知出錯(S516)。控制器101如果從存儲設(shè)備200收到出錯的通知(S518),就異常結(jié)束處理。
(實施方式2)圖17表示實施方式2的數(shù)據(jù)管理系統(tǒng)10的全體結(jié)構(gòu)。在本實施方式中,實施方式1的記錄裝置100和再現(xiàn)裝置300表現(xiàn)為一個記錄再現(xiàn)裝置400。
圖18表示本實施方式的記錄再現(xiàn)裝置400的內(nèi)部結(jié)構(gòu)。本實施方式的記錄再現(xiàn)裝置400具有圖2所示的實施方式1的記錄裝置100的結(jié)構(gòu)、圖3所示的實施方式1的再現(xiàn)裝置300的結(jié)構(gòu)雙方,對同樣的結(jié)構(gòu)付與相同的符號。第一加密引擎103對應(yīng)于實施方式1的記錄裝置100的加密引擎103,第二加密引擎303對應(yīng)于實施方式1的再現(xiàn)裝置300的加密引擎303。第一加密引擎103的內(nèi)部結(jié)構(gòu)與圖5所示的實施方式1的加密引擎103同樣,第二加密引擎303的內(nèi)部結(jié)構(gòu)與圖6所示的實施方式1的加密引擎303的內(nèi)部結(jié)構(gòu)同樣??刂破?01具有實施方式1的記錄裝置100的控制器101和再現(xiàn)裝置300的控制器301雙方的功能。存儲器接口402控制與存儲設(shè)備200的數(shù)據(jù)輸入輸出,數(shù)據(jù)總線410電連接記錄再現(xiàn)裝置400的結(jié)構(gòu)。
本實施方式的記錄再現(xiàn)裝置400的動作與實施方式1同樣,在實施方式1中說明的動作中,把記錄裝置100轉(zhuǎn)換為記錄再現(xiàn)裝置400,把加密引擎103置換為第一加密引擎103,把控制器101置換為控制器401,把再現(xiàn)裝置300置換為記錄再現(xiàn)裝置400,把加密引擎303置換為第二加密引擎303,把控制器301置換為控制器401。
(實施方式3)圖19表示實施方式3的記錄裝置100的內(nèi)部結(jié)構(gòu)。在本實施方式中,實施方式1的記錄裝置100作為發(fā)送內(nèi)容的發(fā)送服務(wù)器150和接受內(nèi)容的提供的終端裝置160而實現(xiàn)。發(fā)送服務(wù)器150具有加密引擎103、通信裝置152、內(nèi)容數(shù)據(jù)庫153、許可證數(shù)據(jù)庫154、用戶數(shù)據(jù)庫155、控制它們的控制器151、電連接它們的數(shù)據(jù)總線156。終端裝置160具有控制器101、存儲器接口102、通信裝置162及電連接它們的數(shù)據(jù)總線166。發(fā)送服務(wù)器150和終端裝置160分別通過通信裝置152、162,通過作為網(wǎng)絡(luò)的一例的因特網(wǎng)20連接。發(fā)送服務(wù)器150的加密引擎103具有與實施方式1的加密引擎103同樣的功能,終端裝置160的控制器101和存儲器接口102分別具有與實施方式1的控制器101和存儲器接口102同樣的功能。
內(nèi)容數(shù)據(jù)庫153保持提供給用戶的內(nèi)容。許可證數(shù)據(jù)庫154保持包含把內(nèi)容加密時使用的內(nèi)容密鑰的許可證數(shù)據(jù)。在本實施方式中,內(nèi)容由內(nèi)容密鑰加密,存儲在內(nèi)容數(shù)據(jù)庫153中,但是也可以在內(nèi)容數(shù)據(jù)庫153中存儲加密前的內(nèi)容數(shù)據(jù),在發(fā)送服務(wù)器150中設(shè)置實施方式1的內(nèi)容編碼器105和加密器104,從內(nèi)容數(shù)據(jù)庫153讀出內(nèi)容,加密。用戶數(shù)據(jù)庫155保持提供內(nèi)容的用戶的信息。例如,可以保持用戶的個人信息、終端裝置160的地址、內(nèi)容的購入歷史、核款信息等??刂破?51按照來自用戶的要求,把加密的內(nèi)容從內(nèi)容數(shù)據(jù)庫153讀出,提供給用戶。而且,如果通過加密引擎103,向用戶提供用于把該內(nèi)容譯碼的許可證數(shù)據(jù),則為了按內(nèi)容的價值核款,更新用戶數(shù)據(jù)庫155。
本實施方式的加密輸入輸出處理的步驟與實施方式1同樣。在本實施方式中,加密引擎103和控制器101之間的通信通過因特網(wǎng)20進(jìn)行,所以與在同一裝置內(nèi)進(jìn)行通信的實施方式1相比,數(shù)據(jù)泄漏的危險性增加,但是如圖9~圖15中說明的那樣,在加密引擎103和控制器101之間,一定把數(shù)據(jù)加密,進(jìn)行收發(fā),所以能實現(xiàn)高的耐篡改性。
(實施方式4)圖20表示實施方式4的終端裝置160的內(nèi)部結(jié)構(gòu)。本實施方式表示實施方式3的終端裝置160從一方的存儲設(shè)備200讀出許可證數(shù)據(jù),向另一方的存儲設(shè)備200傳輸?shù)睦?。即終端裝置160對于一方的存儲設(shè)備200中作為再現(xiàn)裝置300起作用,對于另一方的存儲設(shè)備200,作為記錄裝置100起作用。關(guān)于各自的動作,與實施方式1同樣。
以上根據(jù)實施方式說明了本發(fā)明。該實施方式是例示,對于行內(nèi)人士,能理解在各構(gòu)成要素或各處理過程的組合中能有各種變形例,這樣的變形例也在本發(fā)明的范圍內(nèi)。
在實施方式中,在加密引擎內(nèi),分別表示進(jìn)行加密或譯碼的功能塊,但是在這些構(gòu)成要素中,可以共有電路。據(jù)此,能抑制硬件規(guī)模,有助于小型化、低耗電。
(發(fā)明效果)根據(jù)本發(fā)明,能提高在記錄裝置和主機(jī)裝置之間把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出時的處理效率。
權(quán)利要求
1.一種主機(jī)裝置,與存儲數(shù)據(jù)的存儲裝置之間,輸入輸出數(shù)據(jù),其特征在于包括把對應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的一系列加密輸入輸出處理分割為多個步驟,對所述存儲裝置發(fā)行用于使所述存儲裝置執(zhí)行該步驟中應(yīng)該在所述存儲裝置一側(cè)執(zhí)行的步驟的命令的控制器;所述控制器在發(fā)行所述命令前,從所述存儲裝置取得用于推測所述命令的執(zhí)行所需的時間的信息,根據(jù)所述取得的信息,設(shè)定所述各命令的待機(jī)時間,對所述存儲裝置發(fā)行所述命令后,所述存儲裝置待機(jī)對所述命令設(shè)定的待機(jī)時間后,對所述存儲裝置發(fā)行下一步驟的命令。
2.根據(jù)權(quán)利要求1所述的主機(jī)裝置,其特征在于用于所述推測的信息包含執(zhí)行所述命令所需的典型的處理時間、平均處理時間、或最大處理時間。
3.根據(jù)權(quán)利要求1所述的主機(jī)裝置,其特征在于用于所述推測的信息包含為了執(zhí)行所述命令而使用的加密演算、譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算、日志檢索中的至少一個基本處理所需的典型的處理時間、平均處理時間、或最大處理時間。
4.一種存儲裝置,其特征在于包括存儲數(shù)據(jù)的存儲媒體;所述存儲媒體與主機(jī)裝置之間,進(jìn)行用于把應(yīng)該加密的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理時,從所述主機(jī)裝置接收把該加密輸入輸出處理分割為多個步驟而發(fā)行的命令的控制器;執(zhí)行所述命令的加密處理部;所述控制器按照來自所述主機(jī)裝置的要求,加密處理部提供所述主機(jī)裝置用于推測所述命令的執(zhí)行所需的時間。
5.根據(jù)權(quán)利要求4所述的存儲裝置,其特征在于所述加密輸入輸出處理沿著該處理的步驟,分割為以下任意的處理單位從所述主機(jī)裝置接收數(shù)據(jù)的輸入,按照必要,用所述加密處理部進(jìn)行加密或譯碼的處理;為了向所述主機(jī)裝置輸出數(shù)據(jù),由所述加密處理部進(jìn)行加密、譯碼或署名的處理;向所述主機(jī)裝置輸出數(shù)據(jù)的處理;分割任一處理單位,所述命令按分割的各處理單位發(fā)行。
6.根據(jù)權(quán)利要求4所述的存儲裝置,其特征在于用于所述推測的信息包含執(zhí)行所述命令所需的典型的處理時間、平均處理時間、或最大處理時間。
7.根據(jù)權(quán)利要求5所述的存儲裝置,其特征在于用于所述推測的信息包含執(zhí)行所述命令所需的典型的處理時間、平均處理時間、或最大處理時間。
8.根據(jù)權(quán)利要求4所述的存儲裝置,其特征在于用于所述推測的信息包含為了執(zhí)行所述命令而使用的加密演算、譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算、日志檢索中的至少一個基本處理所需的典型的處理時間、平均處理時間、或最大處理時間。
9.根據(jù)權(quán)利要求5所述的存儲裝置,其特征在于用于所述推測的信息包含為了執(zhí)行所述命令而使用的加密演算、譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算及日志檢索中的至少一個基本處理所需的典型的處理時間、平均處理時間、或最大處理時間。
10.根據(jù)權(quán)利要求4所述的存儲裝置,其特征在于所述控制器確認(rèn)分割為所述多個步驟而發(fā)行的命令是否按照正規(guī)的執(zhí)行步驟。
11.根據(jù)權(quán)利要求5所述的存儲裝置,其特征在于所述控制器確認(rèn)分割為所述多個步驟而發(fā)行的命令是否按照正規(guī)的執(zhí)行步驟。
12.一種數(shù)據(jù)輸入輸出方法,在存儲數(shù)據(jù)的存儲裝置和主機(jī)裝置之間,把應(yīng)該加密的數(shù)據(jù)加密,輸入輸出的一系列加密輸入輸出處理,其特征在于包括把所述加密輸入輸出處理分割為多個步驟,所述主機(jī)裝置執(zhí)行該步驟中應(yīng)該在所述主機(jī)裝置一側(cè)執(zhí)行的步驟的步驟;為了使所述存儲裝置執(zhí)行應(yīng)該在所述存儲裝置一側(cè)執(zhí)行的步驟,所述主機(jī)裝置對所述存儲裝置發(fā)行命令;所述存儲裝置接收所述命令的步驟;所述存儲裝置執(zhí)行所述命令的步驟;所述主機(jī)裝置在發(fā)行所述命令前,從所述存儲裝置取得該存儲裝置用于推測所述命令的執(zhí)行所需的時間的信息,把所述命令對所述存儲裝置發(fā)行后,待機(jī)推測為所述命令的執(zhí)行所需的時間后,發(fā)行下一步驟的命令。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)輸入輸出方法,其特征在于所述加密輸入輸出處理沿著該處理的步驟,分割為以下任意的處理單位從所述主機(jī)裝置接收數(shù)據(jù)的輸入,按照必要,進(jìn)行加密或譯碼的處理;為了向所述主機(jī)裝置輸出數(shù)據(jù),進(jìn)行加密、譯碼或署名的處理;向所述主機(jī)裝置輸出數(shù)據(jù)的處理;所述命令按分割的各處理單位發(fā)行。
14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)輸入輸出方法,其特征在于用于所述推測的信息包含執(zhí)行所述命令所需的典型的處理時間、平均處理時間、或最大處理時間。
15.根據(jù)權(quán)利要求13所述的數(shù)據(jù)輸入輸出方法,其特征在于用于所述推測的信息包含執(zhí)行所述命令所需的典型的處理時間、平均處理時間、或最大處理時間。
16.根據(jù)權(quán)利要求12所述的數(shù)據(jù)輸入輸出方法,其特征在于用于所述推測的信息包含為了執(zhí)行所述命令而使用的加密演算、譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算、日志檢索中的至少一個基本處理所需的典型的處理時間、平均處理時間、或最大處理時間。
17.根據(jù)權(quán)利要求13所述的數(shù)據(jù)輸入輸出方法,其特征在于用于所述推測的信息包含為了執(zhí)行所述命令而使用的加密演算、譯碼演算、雜亂演算、隨機(jī)數(shù)發(fā)生演算及日志檢索中的至少一個基本處理所需的典型的處理時間、平均處理時間、或最大處理時間。
全文摘要
本發(fā)明提供一種把應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的方法和裝置。記錄裝置的控制器對存儲設(shè)備發(fā)行安全命令后,存儲設(shè)備待機(jī)推測為執(zhí)行該安全命令所需的時間后,發(fā)行下一安全命令。存儲設(shè)備的控制器如果正在執(zhí)行之前的命令,就對記錄裝置通知正在處理的意思,如果之前的命令的執(zhí)行正常結(jié)束,就轉(zhuǎn)移到下一處理。從存儲設(shè)備預(yù)先取得用于推測命令的執(zhí)行時間的信息。
文檔編號G06F21/00GK1534654SQ20041003148
公開日2004年10月6日 申請日期2004年3月29日 優(yōu)先權(quán)日2003年3月27日
發(fā)明者堀吉宏, 金井雄一, 大野良治, 大石剛士, 多田謙一郎, 平井達(dá)哉, 津留雅文, 長谷部高行, 一, 一郎, 哉, 士, 文, 治, 高行 申請人:三洋電機(jī)株式會社, 夏普株式會社, 日本勝利株式會社, 日本先鋒公司, 株式會社日立制作所, 鳳凰科技株式會社, 富士通株式會社