專利名稱:把應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)輸入輸出技術(shù),特別是涉及在存儲裝置和主機裝置之間把應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的技術(shù)。
背景技術(shù):
近年,存儲元件的小型化、集成化、批量生產(chǎn)化飛躍發(fā)展,記錄媒體的小型化、大容量化、低價化不斷進展。在這樣的狀況下,本申請人為了實現(xiàn)方便性高的記錄媒體,考慮到通過使以往一般固定連接在一個主機裝置上使用的大容量硬盤對于主機裝置可自由插拔,作為能在多個主機裝置中共享數(shù)據(jù)的可移動媒體處理。能把小型并且大容量、訪問速度比較高速的硬盤作為可移動媒體利用,其價值大。
特開2000-173158號公報(全文)發(fā)明內(nèi)容(發(fā)明要解決的課題)如果考慮用戶的方便性,希望在任意主機裝置中能讀寫移動硬盤,但是相反,用任意的主機裝置能讀寫就意味著存在對第三者泄漏數(shù)據(jù)的危險性。在音樂或圖象等數(shù)字內(nèi)容的流通引人注目的現(xiàn)在,為了保護著作權(quán),防止數(shù)字內(nèi)容的流出,開發(fā)能恰當?shù)乇Wo應(yīng)該隱藏的數(shù)據(jù)的技術(shù)是重要的。
本發(fā)明是鑒于所述狀況而提出的,其目的在于提供提高存儲裝置和主機裝置之間把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出時的耐篡改性的記述。本發(fā)明的其他目的在于提供能提高存儲裝置和主機裝置之間執(zhí)行的加密輸入輸出處理的效率的技術(shù)。
(解決課題的手段)本發(fā)明的某形態(tài)涉及存儲裝置。該存儲裝置包括存儲數(shù)據(jù)的存儲媒體;在進行多個用于把在存儲媒體和主機裝置之間應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理時,從主機裝置接收把多個加密輸入輸出處理分別分割為多個步驟而發(fā)行的命令,執(zhí)行該命令的加密處理部;加密處理部參照付與命令的識別信息,識別接收的命令是屬于哪個加密輸入輸出處理的命令,能并行處理多個加密輸入輸出處理步驟中的2以上的處理。
如后所述,通過把加密輸入輸出處理分割為多個步驟,把命令細化,高效釋放總線,能并行執(zhí)行多個處理。這時,并行發(fā)行屬于多個處理的命令,所以為了恰當識別它們,對命令付與識別信息。
加密處理部對于各加密輸入輸出處理管理命令的執(zhí)行順序,當收到順序不正確的命令時,拒絕該命令的執(zhí)行。加密處理部當收到順序不正確的命令時,中止該命令所屬的加密輸入輸出處理。如果改變加密輸入輸出處理中的命令的執(zhí)行步驟,就有可能產(chǎn)生安全漏洞,但是通過適當管理執(zhí)行順序,能防止非法訪問。
根據(jù)存儲裝置的性能,預(yù)先決定存儲裝置能并行處理的加密輸入輸出處理的數(shù)。按照來自主機裝置的要求,對主機裝置提供存儲裝置能并行處理的加密輸入輸出處理的最大數(shù)。據(jù)此,能按照存儲裝置的性能,準備適當數(shù)量的處理系統(tǒng)。存儲媒體包含保持通常的數(shù)據(jù)的通常數(shù)據(jù)存儲部、保持應(yīng)該隱藏的數(shù)據(jù)的機密數(shù)據(jù)存儲部;機密數(shù)據(jù)存儲部只能通過加密處理部訪問。據(jù)此,能把應(yīng)該隱藏的數(shù)據(jù)泄漏的危險性抑制在最小限度。
本發(fā)明的另外形態(tài)涉及存儲裝置。該存儲裝置包括存儲數(shù)據(jù)的存儲媒體;在進行用于把在存儲媒體和主機裝置之間應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理時,從主機裝置接收把該加密輸入輸出處理分割為多個步驟而發(fā)行的多個命令,執(zhí)行該命令的加密處理部;加密處理部能管理2以上的加密輸入輸出處理,參照付與命令的識別信息,識別接收的命令是屬于哪個加密輸入輸出處理的命令,在該命令所屬的加密輸入輸出處理中,當檢測到不正確的順序命令時,拒絕執(zhí)行該命令。
該存儲裝置可以按照來自主機裝置的要求,對所述主機裝置提供存儲裝置能并行處理的加密輸入輸出處理的最大數(shù)。
本發(fā)明的其他形態(tài)涉及主機裝置。該主機裝置與能并行處理多個把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理的存儲裝置之間,輸入輸出數(shù)據(jù),包括把加密輸入輸出處理分割為多個步驟,對存儲裝置按順序發(fā)行用于使存儲裝置執(zhí)行這些步驟中應(yīng)該在存儲裝置一側(cè)執(zhí)行的步驟的控制器;執(zhí)行加密輸入輸出處理所必要的加密或譯碼處理的加密處理部;控制器在發(fā)行所述命令時,對該命令付與用于識別該命令是屬于所述多個加密輸入輸出處理中的哪個加密輸入輸出處理的命令的識別信息。
控制器在所述加密輸入輸出處理之前,發(fā)行用于確保進行該加密輸入輸出處理的處理系統(tǒng)的命令。該命令可以是確保識別該加密輸入輸出處理的識別信息的處理。
本發(fā)明的其他形態(tài)涉及數(shù)據(jù)輸入輸出方法。該方法當在能并行執(zhí)行多個把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理,并且存儲通過加密輸入輸出處理輸入輸出的數(shù)據(jù)的存儲裝置和主機裝置之間,執(zhí)行加密輸入輸出處理時,包括把加密輸入輸出處理分割為多個步驟,主機裝置執(zhí)行這些步驟中應(yīng)該在主機裝置一側(cè)執(zhí)行的步驟的步驟;為了使存儲裝置執(zhí)行應(yīng)該在存儲裝置一側(cè)執(zhí)行的步驟,主機裝置對存儲裝置發(fā)行命令的步驟;存儲裝置接收所述命令的步驟;存儲裝置執(zhí)行命令的步驟;對命令付與用于識別該命令是屬于存儲裝置并行處理的多個加密輸入輸出處理中的哪個加密輸入輸出處理的命令的識別信息。
該方法還包含根據(jù)存儲裝置的性能,預(yù)先決定存儲裝置能并行處理的加密輸入輸出處理的數(shù)的上限的步驟。該方法還包含存儲裝置根據(jù)自身的性能,預(yù)先決定能并行處理的加密輸入輸出處理的數(shù)的上限的步驟;把上限通知主機裝置的步驟。還包含在加密輸入輸出處理的執(zhí)行前,從按用決定步驟決定的數(shù)準備的識別信息中選擇用于識別要執(zhí)行的加密輸入輸出處理的識別信息,并分配的步驟。
接收步驟包含判別接收的命令是否為加密輸入輸出處理中正確的執(zhí)行順序的命令的步驟;當判別為正確的執(zhí)行順序的命令時,正常受理該命令的步驟;當判別為不正確的執(zhí)行順序的命令時,拒絕執(zhí)行該命令的步驟。當判別接收的命令為不正確的執(zhí)行順序的命令時,中止該命令所屬的加密輸入輸出處理的執(zhí)行。
須指出的是,把以上的構(gòu)成要素的組合、本發(fā)明的表現(xiàn)在方法、裝置、系統(tǒng)、記錄媒體、計算機程序等之間變換時,作為本發(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是記錄裝置向存儲設(shè)備中記錄許可證數(shù)據(jù)之前的步驟的圖。
圖9是記錄裝置向存儲設(shè)備中記錄許可證數(shù)據(jù)之前的步驟的圖。
圖10是再現(xiàn)裝置從存儲設(shè)備讀出許可證數(shù)據(jù)之前的步驟的圖。
圖11是再現(xiàn)裝置從存儲設(shè)備讀出許可證數(shù)據(jù)之前的步驟的圖。
圖12是表示決定主機裝置和存儲設(shè)備之間能并行處理的處理系統(tǒng)的數(shù)的步驟的圖。
圖13是表示在加密輸入輸出處理的執(zhí)行之前,確保用于識別加密輸入輸出處理的序列ID的步驟的圖。
圖14是表示在加密輸入輸出處理的執(zhí)行之前,確保用于識別加密輸入輸出處理的序列ID的步驟的圖。
圖15是表示釋放序列ID的步驟的圖。
圖16是表示存儲設(shè)備的加密引擎受理主機裝置發(fā)行的安全命令的步驟的圖。
圖17是表示從主機裝置對存儲設(shè)備發(fā)行命令的樣子的圖。
圖18是表示實施方式2的數(shù)據(jù)管理系統(tǒng)的全體結(jié)構(gòu)的圖。
圖19是表示實施方式2的記錄再現(xiàn)裝置的內(nèi)部結(jié)構(gòu)的圖。
圖20是表示從記錄再現(xiàn)裝置對存儲設(shè)備發(fā)行命令的樣子的圖。
圖21是表示實施方式3的記錄裝置的內(nèi)部結(jié)構(gòu)的圖。
圖22是表示實施方式1的記錄裝置在存儲設(shè)備中記錄許可證數(shù)據(jù)之前的序列的圖。
符號說明10-數(shù)據(jù)管理系統(tǒng);100-記錄裝置;101-控制器;103-加密引擎;104-加密器;105-內(nèi)容編碼器;150-發(fā)送服務(wù)器;160-終端裝置;200-存儲設(shè)備;201-控制器;203-加密引擎;204-通常數(shù)據(jù)存儲部;205-機密數(shù)據(jù)存儲部;221-狀態(tài)寄存器;222-控制部;223-內(nèi)部寄存器;300-再現(xiàn)裝置;301-控制器;303-加密引擎;304-譯碼器;305-內(nèi)容解碼器;400-記錄再現(xiàn)裝置;401-控制器。
具體實施例方式
(實施方式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及存儲保持數(shù)據(jù)的存儲設(shè)備200。本實施方式的存儲設(shè)備200不僅是保持數(shù)據(jù)的存儲媒體,是具有控制存儲設(shè)備100或再現(xiàn)裝置300等主機裝置和存儲媒體之間的數(shù)據(jù)輸入輸出的控制器等結(jié)構(gòu)的驅(qū)動一體型的存儲裝置。在本實施方式中,作為存儲設(shè)備200,以硬盤驅(qū)動器為例進行說明。
以往的硬盤一般固定連接在一個主機裝置上使用,但是本實施方式的存儲設(shè)備200對于記錄裝置100和再現(xiàn)裝置300等主機裝置可自由插拔。即本實施方式的存儲設(shè)備200能與CD或DVD等同樣,從主機裝置取出、運輸,是在記錄裝置100、再現(xiàn)裝置300、能進行記錄和再現(xiàn)的記錄再現(xiàn)裝置等多個主機裝置間能公用的存儲裝置。
這樣,本實施方式的存儲設(shè)備200以連接在多個主機裝置上為前提,例如連接在所有者以外的第三者的主機裝置上,有可能讀出記錄在內(nèi)部的數(shù)據(jù)。當假定在該存儲設(shè)備200中記錄音樂和圖象等應(yīng)該由著作權(quán)保護的內(nèi)容、企業(yè)或個人的機密信息等應(yīng)該保密的數(shù)據(jù)時,為了防止這些保密數(shù)據(jù)泄漏到外部,在存儲設(shè)備200自身上設(shè)置用于恰當保護數(shù)據(jù)的結(jié)構(gòu),使其具有充分的耐篡改功能。從該觀點出發(fā),本實施方式的存儲設(shè)備200當與主機裝置之間輸入輸出保密數(shù)據(jù)時,具有用于把保密數(shù)據(jù)加密、交換的結(jié)構(gòu)。此外,為了存儲保密數(shù)據(jù),設(shè)置與通常的記錄區(qū)域不同的機密數(shù)據(jù)存儲區(qū)域,該機密數(shù)據(jù)存儲區(qū)域的結(jié)構(gòu)為如果不通過設(shè)置在存儲設(shè)備200內(nèi)的加密引擎,就無法訪問。加密引擎只對認證為具有正當權(quán)限的主機裝置輸出保密數(shù)據(jù)。以下,把這樣的數(shù)據(jù)保護功能稱作“安全功能”。根據(jù)所述結(jié)構(gòu)和功能,能恰當保護記錄在存儲設(shè)備200中的保密數(shù)據(jù)。
為了最大限度利用存儲設(shè)備200的作為可移動媒體的特征,關(guān)于通常的數(shù)據(jù),希望用不是對應(yīng)于安全功能的主機裝置也能輸入輸出。因此,本實施方式的存儲設(shè)備200為了保持與以往的硬盤的互換性,對應(yīng)于ANSI(American National Standards Institute)的標準規(guī)格ATA(AT attachment),上述的安全功能作為ATA的擴展命令實現(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通過自身的加密引擎從機密數(shù)據(jù)存儲區(qū)域讀出相應(yīng)的保密數(shù)據(jù),在與主機裝置之間交換為了向主機裝置發(fā)送該保密數(shù)據(jù)而使用的密鑰后,用該密鑰把保密數(shù)據(jù)加密后,向總線輸出。這時,在執(zhí)行加密和譯碼等處理時,盡管實際上不使用總線,處于由該命令占有的狀態(tài)。
在本實施方式中,為了極力節(jié)省這樣無用的對總線的占有,高效利用總線,謀求處理的高速化,把用于保密數(shù)據(jù)的輸入輸出的一系列加密輸入輸出處理分割為多個步驟,把命令細化、發(fā)行。而且,在加密或譯碼等不使用總線的處理時,盡可能釋放總線,以便能發(fā)行其他命令。
可是,當把用于輸入輸出保密數(shù)據(jù)的加密輸入輸出處理分割為多個步驟時,如果這些步驟的執(zhí)行順序顛倒,就有可能發(fā)生安全漏洞。因此,在本實施方式中,存儲設(shè)備200的加密引擎管理保密數(shù)據(jù)的輸入輸出中的步驟的執(zhí)行順序,當接收到非法的順序的命令時,拒絕該命令的執(zhí)行,發(fā)回出錯響應(yīng)。此外,在本實施方式中,假定記錄裝置100、再現(xiàn)裝置300并行執(zhí)行多個記錄或再現(xiàn)處理,按照存儲設(shè)備200的處理能力準備多個處理系統(tǒng)。這時,對各處理系統(tǒng)管理命令的執(zhí)行順序,對各處理系統(tǒng)的命令分配用于識別處理系統(tǒng)的序列ID,根據(jù)序列ID,識別接收的命令是屬于哪個處理系統(tǒng)的命令。
下面,作為保密數(shù)據(jù)的輸入輸出的例子,說明記錄再現(xiàn)圖象或音樂等數(shù)字內(nèi)容時的情形。可以把內(nèi)容自身作為保密數(shù)據(jù)處理,但是在本實施方式中,把內(nèi)容加密,把加密的內(nèi)容自身作為通常的數(shù)據(jù)進行輸入輸出。而且,把包含用于把加密的內(nèi)容譯碼的密鑰(稱作內(nèi)容密鑰)的內(nèi)容的譯碼和利用所必要的數(shù)據(jù)(稱作許可證數(shù)據(jù))作為保密數(shù)據(jù),使用上述的安全功能,進行輸入輸出。據(jù)此,不但能維持充分的耐篡改性,而且能簡化數(shù)據(jù)的輸入輸出,謀求處理的高速化和耗電的降低。以下,在記錄裝置100、再現(xiàn)裝置300等主機裝置對存儲設(shè)備200發(fā)行的命令中,把用于安全功能的命令稱作“安全命令”,把其他命令稱作“通常命令”。
圖2表示實施方式的記錄裝置100的內(nèi)部結(jié)構(gòu)。該結(jié)構(gòu)在硬件上,能用任意的計算機的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記錄到存儲設(shè)備200中。加密引擎103為了把包含內(nèi)容密鑰的許可證數(shù)據(jù)輸入存儲設(shè)備200中,與存儲設(shè)備200之間進行加密通信的控制。存儲器接口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接收包含許可證密鑰的許可證數(shù)據(jù),在與存儲設(shè)備200之間進行加密通信的控制。譯碼器304根據(jù)從存儲設(shè)備200取得的許可證數(shù)據(jù)中包含的許可證密鑰,把從存儲設(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、機密數(shù)據(jù)存儲部205及電連接它們的數(shù)據(jù)總線210。
存儲器接口202控制與記錄裝置100以及再現(xiàn)裝置300的數(shù)據(jù)的輸入輸出。加密引擎203進行用于與記錄裝置100以及再現(xiàn)裝置300之間輸入輸出包含內(nèi)容密鑰的許可證數(shù)據(jù)等保密數(shù)據(jù)的加密通信的控制。通常數(shù)據(jù)存儲部204記錄加密的內(nèi)容或通常的數(shù)據(jù)等。機密數(shù)據(jù)存儲部205記錄包含內(nèi)容密鑰的許可證數(shù)據(jù)等保密數(shù)據(jù)??刂破?01統(tǒng)一控制存儲設(shè)備200的構(gòu)成要素。通常數(shù)據(jù)存儲部204從外部直接進行訪問(數(shù)據(jù)的輸入輸出),但是機密數(shù)據(jù)存儲部205的結(jié)構(gòu)為無法進行不通過加密引擎203的訪問(數(shù)據(jù)的輸入輸出)。
圖5表示圖2所示的記錄裝置100的加密引擎103的內(nèi)部結(jié)構(gòu)。加密引擎103具有認證部120、第一加密部121、隨機數(shù)發(fā)生部122、譯碼部123、第二加密部124及電連接這些構(gòu)成要素的至少一部分的局域總線130。
認證部120認證從存儲設(shè)備200取得的證明書。證明書由包含公開鍵普通文的信息(稱作“證明書主體”)、對證明書主體付與的電子署名構(gòu)成。該電子署名是通過第三者機關(guān)的認證局(未圖示)的進路鍵Kpa把對證明書主體進行基于雜亂函數(shù)的演算的結(jié)果加密的數(shù)據(jù)。進路鍵Kpa是由認證局嚴格管理的非公開的鍵,成為認證局的密鑰。認證部120保持有與該進路鍵Kpa成對的認證鍵KPa。該認證鍵KPa是驗證證明書的正當性的公開鍵。證明書的正當性的驗證是比較雜亂函數(shù)對于應(yīng)該驗證的證明書的證明書主體的演算結(jié)果和用認證鍵KPa把電子署名譯碼的結(jié)果的處理,當兩者一致時,判斷為正當。把判斷證明書的正當性,承認正當?shù)淖C明書的處理稱作認證。認證部120如果認證成功,就取出存儲設(shè)備200的公開鍵KPc,傳遞給第一加密部121,如果認證失敗,就輸出出錯通知。
隨機數(shù)發(fā)生部122產(chǎn)生為了與存儲設(shè)備200之間進行加密通信而暫時使用的挑戰(zhàn)鍵Ks1。每次進行加密通信時,通過根據(jù)隨機數(shù)產(chǎn)生挑戰(zhàn)鍵Ks1,能把識破挑戰(zhàn)鍵Ks1的可能性抑制在最小限度。生成的挑戰(zhàn)鍵Ks1傳遞給第一加密部121和譯碼部123。第一加密部121為了向存儲設(shè)備200通知挑戰(zhàn)鍵Ks1,用由認證部1 20取出的存儲設(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取得隨機數(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加密。
在圖5中,加密引擎103的構(gòu)成要素中,認證部120、第一加密部121、譯碼部123、第二加密部124通過局域總線130電連接,通過局域總線130連接在記錄裝置100的數(shù)據(jù)總線110上。在連接各構(gòu)成要素的形態(tài)上考慮到各種變更例,但是在本實施方式中,產(chǎn)生挑戰(zhàn)鍵的隨機數(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、隨機數(shù)發(fā)生部323、第二譯碼部324、及電連接這些構(gòu)成要素的至少一部分的局域總線330。
證明書輸出部320輸出再現(xiàn)裝置300的證明書。證明書可以由證明書輸出部320保持,也可以保持在未圖示的證明書保持部中,讀出它。證明書由包含再現(xiàn)裝置300的公開鍵KPb的證明書主體、對證明書主體付與的電子署名構(gòu)成。電子署名與存儲設(shè)備200的證明書同樣,是由認證局的進路鍵Kpa加密的數(shù)據(jù)。第一譯碼部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。隨機數(shù)發(fā)生部323產(chǎn)生為了與存儲設(shè)備200之間進行加密通信而暫時使用的對話鍵Ks4。把生成的對話鍵Ks4傳遞給加密部322、第二譯碼部324。
加密部322為了對存儲設(shè)備200通知對話鍵Ks4,用由譯碼部321取出的挑戰(zhàn)鍵Ks3把對話鍵Ks4加密。第二譯碼部324把由對話鍵Ks4加密的數(shù)據(jù)譯碼。許可證數(shù)據(jù)由對話鍵Ks4加密,從存儲設(shè)備200提供,所以第二譯碼部324通過隨機數(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)鍵的隨機數(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、內(nèi)部寄存器223、隨機數(shù)發(fā)生部224、證明書輸出部225、認證部226、第一譯碼部227、第一加密部228、第二譯碼部229、第二加密部230、及電連接這些構(gòu)成要素的至少一部分的局域總線240。
數(shù)據(jù)寄存器220是用于數(shù)據(jù)的輸入輸出的寄存器,是與加密引擎203的外部結(jié)構(gòu)之間進行數(shù)據(jù)輸入輸出的中介。狀態(tài)寄存器221保持用于對加密引擎203指示控制器201從執(zhí)行記錄裝置100或再現(xiàn)裝置300接收的安全命令的執(zhí)行指示、加密引擎203用于把表示安全命令的處理狀態(tài)或處理結(jié)果等的狀態(tài)信息、表示正在執(zhí)行或執(zhí)行完畢的命令種類的執(zhí)行命令種類通知控制器201的信息等。
存儲設(shè)備200的控制器201如果從記錄裝置100或再現(xiàn)裝置300的控制器接收安全命令,就在狀態(tài)寄存器221中存儲該命令的執(zhí)行指示(開始指示)。例如,對安全命令按執(zhí)行順序分別付與編號,通過把控制器201接收的安全命令的編號和表示該安全命令所屬的處理系統(tǒng)的序列ID存儲在狀態(tài)寄存器221中,對于加密引擎203指示該命令的執(zhí)行。控制部222如果在狀態(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é)果能以表現(xiàn)表示處理正常結(jié)束的“Normal”、表示處理異常結(jié)束的“Error”等2個狀態(tài)的標記表現(xiàn)。存儲在狀態(tài)寄存器221中的執(zhí)行命令種類與執(zhí)行指示同樣,為付與安全命令的編號。
內(nèi)部寄存器223按各處理系統(tǒng)保持安全命令的執(zhí)行所必要的暫時的保密信息或?qū)γ畹奶幚斫Y(jié)果。即內(nèi)部寄存器223具有按各處理系統(tǒng)(序列ID)保持保密信息的區(qū)域。在暫時的保密信息中具有與記錄裝置100或再現(xiàn)裝置300之間的加密通信中使用的鍵、不加密狀態(tài)下的許可證數(shù)據(jù)。
控制器201如果收到記錄裝置100或再現(xiàn)裝置300的控制器發(fā)行付與序列ID的安全命令,就參照狀態(tài)寄存器221,檢查該安全命令所屬的處理系統(tǒng)的處理狀態(tài),判斷可否執(zhí)行安全命令。如果該處理系統(tǒng)的其他命令未正在執(zhí)行,為了對加密引擎203指示該執(zhí)行,在狀態(tài)寄存器221的執(zhí)行指示中存儲接收的序列ID和接收的安全命令的編號。
控制部222參照狀態(tài)寄存器221,按照存儲在狀態(tài)寄存器221中的執(zhí)行指示,向加密引擎203內(nèi)的其他構(gòu)成要素傳遞控制信號。首先,控制部222從狀態(tài)寄存器221取得作為執(zhí)行指示而存儲的安全命令的編號和序列ID。然后,再參照狀態(tài)寄存器221,檢查該安全命令的所屬的處理系統(tǒng)的處理狀態(tài),判斷可否執(zhí)行安全命令。如果處理系統(tǒng)的之前的命令正常結(jié)束,并且接收的命令是正常順序的命令,控制部222就允許該命令的執(zhí)行,把狀態(tài)寄存器221的執(zhí)行命令種類變更為命令的編號,把狀態(tài)信息變更為“Busy”。如果處理系統(tǒng)的之前的命令正在結(jié)束或異常結(jié)束,或接收的命令是不正確的順序的命令,控制部222就拒絕該命令的執(zhí)行,把狀態(tài)寄存器221的狀態(tài)信息變更為“Error”。這時,可以中止不正確的順序的命令所屬的加密輸入輸出處理。即把狀態(tài)寄存器221的執(zhí)行命令種類初始化,只要該加密輸入輸出處理不從最初重新開始,就不受理。據(jù)此,能進一步提高對于非法訪問的安全性。須指出的是,也有不受之前的命令的處理結(jié)果的影響的命令。這時,也由允許該命令的執(zhí)行的命令。
隨機數(shù)發(fā)生部224產(chǎn)生與記錄裝置100或再現(xiàn)裝置300之間的加密通信中暫時使用的對話鍵Ks2或挑戰(zhàn)鍵Ks3。證明書輸出部225輸出存儲設(shè)備200的證明書。證明書可以由證明書輸出部225保持,也可以在存儲設(shè)備200的給定存儲區(qū)域例如機密數(shù)據(jù)存儲區(qū)域205中保持,讀出它。證明書由包含存儲設(shè)備200的公開鍵KPc的證明書主體、對證明書主體付與的電子署名。電子署名由認證局的進路鍵Kpa加密。認證部226認證從再現(xiàn)裝置300取得的證明書。認證部226根據(jù)認證鍵KPa驗證從外部提供的證明書的正當性。如果認證成功,認證部226就取出證明書中包含的再現(xiàn)裝置300的公開鍵KPb,存儲到數(shù)據(jù)寄存器223中,如果認證失敗,就對控制部222輸出出錯通知。
第一譯碼部227把由公開鍵加密方式的公開鍵加密的數(shù)據(jù)譯碼。具體而言,用自身的密鑰Kpc把由自身的公開鍵KPc加密的數(shù)據(jù)譯碼。第一譯碼部228以公開鍵加密方式的公開鍵加密數(shù)據(jù)。具體而言,用從再現(xiàn)裝置300取得的再現(xiàn)裝置300的公開鍵KPb,把隨機數(shù)發(fā)生部224發(fā)行的挑戰(zhàn)鍵Ks3加密。第二譯碼部229把以公共鍵加密方式的密鑰加密的數(shù)據(jù)譯碼。具體而言,把用隨機數(shù)發(fā)生部224發(fā)行的對話鍵Ks2或挑戰(zhàn)鍵Ks3加密的數(shù)據(jù)分別以對話鍵Ks2或挑戰(zhàn)鍵Ks3譯碼。第二加密部230以公共鍵加密方式把數(shù)據(jù)加密。具體而言,用記錄裝置100發(fā)行的挑戰(zhàn)鍵Ks1或再現(xiàn)裝置300發(fā)行的對話鍵Ks4把由隨機數(shù)發(fā)生部224發(fā)行的對話鍵Ks2或許可證數(shù)據(jù)分別加密。
下面,概述記錄裝置100在存儲設(shè)備200中記錄許可證數(shù)據(jù)之前的步驟、再現(xiàn)裝置300讀出記錄在存儲設(shè)備200中的許可證數(shù)據(jù)之前的步驟,然后,詳細說明本實施方式的多個序列的并行處理。
圖8和圖9表示記錄裝置100在存儲設(shè)備200中記錄許可證數(shù)據(jù)之前的一系列加密輸入輸出處理的步驟。記錄裝置100的控制器101為了使存儲設(shè)備200執(zhí)行加密輸入輸出處理,對存儲設(shè)備200發(fā)行安全命令。存儲設(shè)備200的控制器101如果從記錄裝置100收到安全命令,就通過狀態(tài)寄存器221對加密引擎203的控制部222指示安全命令的執(zhí)行。當在記錄裝置100和加密引擎203之間交換數(shù)據(jù)時,同樣控制控制器201和數(shù)據(jù)寄存器220交換數(shù)據(jù)。這里,為了簡化說明,說明記錄裝置100和存儲設(shè)備200的加密引擎203之間執(zhí)行一系列的加密輸入輸出處理的情形。
首先,在記錄裝置100的控制器101和存儲設(shè)備200的加密引擎203之間,進行確保序列ID的處理(S100)。關(guān)于該處理的細節(jié),在圖13和圖14中詳細描述。這里,確保序列ID“1”,進行說明。如果確保序列ID,則控制器101對加密引擎203發(fā)行證明書輸出命令(序列ID=1)(S102)。如果加密引擎203正常受理證明書輸出命令(S104),控制部222就通過證明書輸出部225讀出證明書,發(fā)送給控制器101(S106)。這里,當加密引擎203無法正常受理證明書輸出命令時,加密引擎203就對控制器101發(fā)送出錯通知,后面描述處理的細節(jié)。
控制器101如果從存儲設(shè)備200取得證明書,就把它發(fā)送給記錄裝置100的加密引擎103(S108)。加密引擎103如果收到存儲設(shè)備200的證明書(S110),認證部120就用認證鍵KPa認證證明書的正當性(S112)。當未承認證明書的正當性時(S112的N),認證部120就對控制器101發(fā)送出錯通知(S190)??刂破?01如果收到出錯通知(S192),就異常結(jié)束處理。
當認證了證明書時(S112的Y),加密引擎103就通過隨機數(shù)發(fā)生部122產(chǎn)生挑戰(zhàn)鍵Ks1(S114),通過第一加密部121,用從證明書取得的存儲設(shè)備200的公開鍵KPc把挑戰(zhàn)鍵Ks1加密,生成加密公共鍵E(KPc、Ks1),向控制器101發(fā)送(S116)??刂破?01如果收到加密公共鍵E(KPc、Ks1)(S118),就對加密引擎203發(fā)行挑戰(zhàn)鍵輸入命令(序列ID=1)(S120)。加密引擎203如果正常受理挑戰(zhàn)鍵輸入命令(S122),控制器101就把加密公共鍵E(KPc、Ks1)向加密引擎203輸出(S124)。加密引擎203如果收到加密公共鍵E(KPc、Ks1)(S126),就通過控制部222,把接收的加密公共鍵E(KPc、Ks1)提供給第一譯碼部227。第一譯碼部227用自身的密鑰Kpc把加密公共鍵E(KPc、Ks1)譯碼,取出挑戰(zhàn)鍵Ks1(S128),提供給控制部222??刂撇?22在內(nèi)部寄存器223的序列ID=1的區(qū)域中存儲挑戰(zhàn)鍵Ks1(序列ID=1)(S130)。
接著,控制器101對加密引擎203發(fā)行對話鍵準備命令(序列ID=1)(S132)。加密引擎203如果正常受理對話鍵準備命令(S134),隨機數(shù)發(fā)生部224就產(chǎn)生對話鍵Ks2,提供給控制部222??刂撇?22在內(nèi)部寄存器223的序列ID=1的區(qū)域中存儲對話鍵Ks2(序列ID=1)(S138)。接著,控制部222從內(nèi)部寄存器223的序列ID=1的區(qū)域讀出挑戰(zhàn)鍵Ks1(序列ID=1),把隨機數(shù)發(fā)生部224產(chǎn)生的對話鍵Ks2(序列ID=1)和從內(nèi)部寄存器223讀出的挑戰(zhàn)鍵Ks1(序列ID=1)提供給第二加密部230。第二加密部230用挑戰(zhàn)鍵Ks1(序列ID=1)把對話鍵Ks2(序列ID=1)加密,生成加密公共鍵E(Ks1、Ks2),存儲到內(nèi)部寄存器223的序列ID=1的區(qū)域中(S140)。
接著,控制器101對加密引擎203發(fā)行對話鍵輸出命令(序列ID=1)(S142)。加密引擎203如果正常受理對話鍵輸出命令(S144),就從內(nèi)部寄存器223的序列ID=1的區(qū)域讀出加密公共鍵E(Ks1、Ks2),向控制器101輸出(S146)??刂破?01如果從存儲設(shè)備200接收加密公共鍵E(Ks1、Ks2),就把它向加密引擎103發(fā)送(S148)。加密引擎103如果從控制器101收到加密公共鍵E(Ks1、Ks2)(S150),譯碼部123就用隨機數(shù)發(fā)生部122產(chǎn)生的挑戰(zhàn)鍵Ks1把加密公共鍵E(Ks1、Ks2)譯碼,取出對話鍵Ks2(S152)。
接著,加密引擎103通過第二加密部124,把包含加密器104發(fā)行的內(nèi)容的內(nèi)容密鑰的許可證數(shù)據(jù)用譯碼部123取出的對話鍵Ks2加密,生成加密許可證數(shù)據(jù),發(fā)送給控制器101(S154)。控制器101如果收到加密許可證數(shù)據(jù)(S156),就對加密引擎203發(fā)行許可證數(shù)據(jù)輸入命令(序列ID=1)(S158)。加密引擎203如果正常受理可證數(shù)據(jù)輸入命令(S160),控制器101就向加密引擎203輸出加密許可證數(shù)據(jù)(S162)。加密引擎203如果收到加密許可證數(shù)據(jù)(S164),控制部222就把接收的加密許可證數(shù)據(jù)發(fā)送給第二譯碼部229,并且從內(nèi)部寄存器223的序列ID=1的區(qū)域讀出對話鍵Ks2(序列ID=1),提供給第二譯碼部229。第二譯碼部229用對話鍵Ks2(序列ID=1)把加密許可證數(shù)據(jù)譯碼,取出許可證數(shù)據(jù)??刂撇?22把許可證數(shù)據(jù)向內(nèi)部寄存器223的序列ID=1的區(qū)域存儲(S166)。
接著,控制器101對加密引擎203發(fā)行許可證數(shù)據(jù)寫入命令(序列ID=1),指定許可證數(shù)據(jù)的寫入地址(S168)。加密引擎203如果正常受理可證數(shù)據(jù)寫入命令(S170),控制部222就讀出存儲在內(nèi)部寄存器223的序列ID=1的區(qū)域中的許可證數(shù)據(jù),存儲到機密數(shù)據(jù)存儲部205的指定的地址中(S172)。最后,在控制器101和加密引擎203之間,進行釋放序列ID的處理(S174)。關(guān)于該詳細的處理,在圖15中詳細描述。通過以上的步驟,在存儲設(shè)備200中記錄用于把內(nèi)容譯碼的許可證數(shù)據(jù)。
在本實施方式中,如上所述,把用于記錄許可證數(shù)據(jù)的加密輸入輸出處理分割為證明書輸出命令(S102)、挑戰(zhàn)鍵輸入命令(S120)、對話鍵輸入命令(S132)、對話鍵輸出命令(S142)、許可證數(shù)據(jù)輸入命令(S158)、許可證數(shù)據(jù)寫入命令(S168)的安全命令,對一系列的加密輸入輸出處理分配序列ID。據(jù)此,并行執(zhí)行多個加密輸入輸出處理,也能識別是屬于哪個處理系統(tǒng)的安全命令,所以恰當管理安全命令的執(zhí)行順序,并且根據(jù)安全命令,能為各處理系統(tǒng)完全地管理交換的鍵和數(shù)據(jù)。
圖10和圖11表示再現(xiàn)裝置300從存儲設(shè)備200讀出許可證數(shù)據(jù)前的步驟。與圖8和圖9所示的記錄裝置100在存儲設(shè)備200中記錄許可證數(shù)據(jù)前的步驟同樣,再現(xiàn)裝置300的控制器301為了使存儲設(shè)備200執(zhí)行加密輸入輸出處理而發(fā)行安全命令時,通過存儲設(shè)備200的控制器201和狀態(tài)寄存器221,向加密引擎203傳遞命令,但是這里為了簡化說明,說明再現(xiàn)裝置300和加密引擎203之間進行一系列的加密輸入輸出處理。
首先,在再現(xiàn)裝置300的控制器301和存儲設(shè)備200的加密引擎203之間,進行確保序列ID的處理(S200)。在圖13和圖14中,詳細描述該處理。這里,確保序列ID“2”,進行說明。如果確保序列ID,則再現(xiàn)裝置300的加密引擎303通過證明書輸出部320,對控制器301發(fā)送證明書(S202)??刂破?01如果從加密引擎303收到證明書(S204),就對加密引擎203發(fā)送證明書輸入命令(序列ID=2)(S206)。如果加密引擎203正常受理證明書輸入命令(S208),則控制器301對加密引擎203輸出證明書(S210)。這里,加密引擎203無法正常受理證明書輸入命令時,加密引擎203對控制器301發(fā)送出錯通知,后面詳細描述該處理的細節(jié)。
如果加密引擎203收到再現(xiàn)裝置300的證明書(S212),認證部226就用認證鍵KPa認證證明書的正當性(S214)。當不承認證明書時(S214的N),認證部226就對控制器301通知出錯通知(S290)??刂破?01如果收到出錯通知(S292),就異常結(jié)束處理。
當承認證明書時(S214的Y),控制部222從證明書取出再現(xiàn)裝置300的公開鍵KPb,存儲到內(nèi)部寄存器223的序列ID=2的區(qū)域中(S216)。接著,控制器301對加密引擎203發(fā)送挑戰(zhàn)鍵準備命令(序列ID=2)(S218)。加密引擎203如果正常受理挑戰(zhàn)鍵準備命令(S220),隨機數(shù)發(fā)生部224就產(chǎn)生挑戰(zhàn)鍵Ks3,提供給控制部222。控制部222把它存儲到內(nèi)部寄存器223的序列ID=2的區(qū)域中(S222)。然后,控制部222把生成的挑戰(zhàn)鍵Ks3、從內(nèi)部寄存器223的序列ID=1的區(qū)域中讀出的再現(xiàn)裝置300的公開鍵KPb(序列ID=1)提供給第一加密部228。然后,第一加密部228用再現(xiàn)裝置300的公開鍵KPb把提供的挑戰(zhàn)鍵Ks3加密,生成加密鍵E(KPb、Ks3),存儲到內(nèi)部寄存器223的序列ID=2的區(qū)域中(S244)。接著,控制器301對加密引擎203發(fā)行挑戰(zhàn)鍵輸出命令(序列ID=2)(S226)。加密引擎203如果正常受理挑戰(zhàn)鍵輸出命令(S228),控制部222就從內(nèi)部寄存器223的序列ID=1的區(qū)域中讀出加密鍵E(KPb、Ks3),向控制器301輸出(S230)。
控制器301如果收到加密公共鍵E(KPb、Ks3),就把它發(fā)送給加密引擎303(S232)。加密引擎303如果收到加密公共鍵E(KPb、Ks3),則第一譯碼部321用自身的密鑰Kpb把加密公共鍵E(KPb、Ks3)譯碼,取出挑戰(zhàn)鍵Ks3(S236)。接著,加密引擎303通過隨機數(shù)發(fā)生部323產(chǎn)生對話鍵Ks4(S238),通過加密部322用挑戰(zhàn)鍵Ks3把對話鍵Ks4加密,生成加密公共鍵E(Ks3、Ks4),向控制器301發(fā)送(S240)。控制器301如果收到加密公共鍵E(Ks3、Ks4)(S242),就對加密引擎203發(fā)行對話鍵輸入命令(序列ID=2)(S244)。如果加密引擎203正常受理對話鍵輸入命令(S246),控制器301就向加密引擎203輸出加密公共鍵E(Ks3、Ks4)(S248)。如果加密引擎203收到加密公共鍵E(Ks3、Ks4)(S250),控制部222就從內(nèi)部寄存器223的序列ID=2的區(qū)域讀出挑戰(zhàn)鍵Ks3(序列ID=2),對第二譯碼部229提供接收的加密公共鍵E(Ks3、Ks4)和挑戰(zhàn)鍵Ks3(序列ID=2)。第二譯碼部229用挑戰(zhàn)鍵Ks3(序列ID=2)把加密公共鍵E(Ks3、Ks4)譯碼,取出對話鍵Ks4(S252),在內(nèi)部寄存器223的序列ID=2的區(qū)域中存儲對話鍵Ks4(序列ID=2)(S254)。
接著,控制器301對加密引擎203發(fā)行許可證讀出命令(序列ID=2),指定許可證數(shù)據(jù)的讀出地址(S256)。加密引擎203如果正常受理許可證讀出命令(S258),就通過控制部222,從機密數(shù)據(jù)存儲部205的指定的地址讀出許可證數(shù)據(jù),暫時存儲在內(nèi)部寄存器223的序列ID=2的區(qū)域中(S260)。接著,控制器301對加密引擎203發(fā)行許可證準備命令(序列ID=2)(S262)。如果加密引擎203正常受理許可證數(shù)據(jù)(S264),則控制部222從內(nèi)部寄存器223的序列ID=2的區(qū)域讀出許可證數(shù)據(jù)和對話鍵Ks4(序列ID=2),提供給第二加密部230。第二加密部230用對話鍵Ks4把許可證數(shù)據(jù)加密,生成加密許可證數(shù)據(jù)(S266),暫時存儲在內(nèi)部寄存器223的序列ID=2的區(qū)域中。
接著,控制器301對加密引擎203發(fā)行許可證輸出命令(序列ID=2)(S268)。加密引擎203如果正常受理許可證輸出命令(S270),就對控制器301輸出加密許可證數(shù)據(jù)(S272)。控制器301如果取得許可證數(shù)據(jù)(S274),就在控制器301和加密引擎203之間進行釋放序列ID的處理(S276)。在圖15中詳細描述該處理。接著,控制器301對加密引擎303發(fā)送加密許可證數(shù)據(jù)(S278)。加密引擎303如果收到加密許可證數(shù)據(jù)(S280),第二譯碼部324就用對話鍵Ks4把加密許可證數(shù)據(jù)譯碼(S282)。取得的許可證數(shù)據(jù)發(fā)送給譯碼器304,在譯碼器304把內(nèi)容譯碼時使用。根據(jù)以上的步驟,通過再現(xiàn)裝置300讀出用于把內(nèi)容譯碼的許可證數(shù)據(jù)。
在本實施方式中,如上所述,把用于讀出許可證數(shù)據(jù)的加密輸入輸出處理分割為證明書輸入命令(S204)、挑戰(zhàn)鍵準備命令(S218)、挑戰(zhàn)鍵輸出命令(S226)、對話鍵輸入命令(S244)、許可證讀出命令(S256)、許可證準備命令(S262)、許可證輸出命令(S268)的安全命令,對一系列的加密輸入輸出處理分配序列ID。據(jù)此,即使并行執(zhí)行多個加密輸入輸出處理也能識別是屬于哪個處理系統(tǒng)的安全命令,所以能恰當管理安全命令的執(zhí)行順序,并且能為各處理系統(tǒng)完全地管理由安全命令收發(fā)的鍵或數(shù)據(jù)。
圖12表示決定主機裝置和存儲設(shè)備之間能并行處理的處理系統(tǒng)的數(shù)的步驟。如果存儲設(shè)備200連接在記錄裝置100上,記錄裝置100的控制器101就對存儲設(shè)備發(fā)行設(shè)備信息輸出命令(S300)。存儲設(shè)備200的控制器201如果從記錄裝置100的控制器101收到設(shè)備信息輸出命令(S302),就輸出設(shè)備信息(S304)。作為設(shè)備信息,例如通知硬盤的硬盤種類、通常數(shù)據(jù)的記錄容量、接口的條件、支持的安全命令等信息??刂破?01如果收到存儲設(shè)備200的設(shè)備信息(S306),就判斷存儲設(shè)備200是否支持安全命令組(S308),如果不支持(S308的N),就與以往的硬盤同樣對待。
如果存儲設(shè)備200指出安全命令組(S308的Y),接著,控制器101發(fā)行安全信息輸出命令(S310)。控制器201如果收到安全信息輸出命令(S312),就輸出安全信息(S314)。作為安全信息,例如通知安全命令中使用的加密算法或關(guān)于證明書的信息、安全命令的執(zhí)行所需的時間等。在安全信息中包含能并行處理的處理系統(tǒng)的上限即關(guān)于可利用序列ID的信息??刂破?01如果收到存儲設(shè)備200的安全信息(S316),就從安全信息取出在存儲設(shè)備200能并行處理的處理系統(tǒng)的上限、存儲設(shè)備的加密處理時間等關(guān)于許可證數(shù)據(jù)的輸入輸出的性能信息,根據(jù)取出的性能信息和自身的性能,決定記錄裝置100中利用的處理系統(tǒng)的數(shù)(S318)。然后,在決定的范圍內(nèi)進行許可證數(shù)據(jù)的記錄。決定的處理系統(tǒng)的數(shù)可以通知存儲設(shè)備200。
圖13表示在加密輸入輸出處理的執(zhí)行前,確保用于識別加密輸入輸出處理的序列ID的步驟、即圖8的S100及圖10的S200的處理步驟。圖13表示在記錄裝置100的控制器101或再現(xiàn)裝置300控制器301一側(cè),取得管理序列ID所必要的信息的處理例。在圖13中,說明在記錄裝置100和存儲設(shè)備200之間確保序列ID的步驟,但是在再現(xiàn)裝置300和存儲設(shè)備200之間確保序列ID時也同樣。
首先,控制器101從圖12的步驟中取得的可使用的序列ID的候補中選出未使用的序列ID(S400),使用該序列ID,對存儲設(shè)備200發(fā)行序列確保命令(S402)。存儲設(shè)備200的加密引擎203如果從記錄裝置100收到序列確保命令(ID=x)(S406),就參照狀態(tài)寄存器221,確認該序列ID的處理系統(tǒng)的處理狀態(tài),判斷能否確保該序列ID(S408)。當該序列ID為確保中(狀態(tài)信息為“Busy”、“Normal”、“Error”時)、或可使用的序列ID的范圍外時(S408的N),就對控制器101通知出錯(S412)。如果序列ID“x”為釋放(狀態(tài)信息為“Ready”)(S408的Y),為了確保與序列ID對應(yīng)的處理系統(tǒng),對加密引擎203通知該意思??刂撇?22把狀態(tài)寄存器221的與該序列ID對應(yīng)的區(qū)域初始化,把狀態(tài)信息變更為“Normal”(S408)。然后,對控制器101通知確保序列ID的意思(S410)。控制器101如果收到來自加密引擎203的通知(S414),就確認通知的內(nèi)容(S416)。如果是確保序列ID的意思的通知(S416的Y),就結(jié)束處理。如果是出錯通知(S416的N),關(guān)于能使用的序列ID,判斷處理是否結(jié)束(S418),如果處理結(jié)束(S418的Y),結(jié)束處理,待機到序列ID釋放。如果不是這樣(S418的N),就回到S400,使用其它序列ID,發(fā)行序列確保命令。
圖14表示在加密輸入輸出處理的執(zhí)行前,確保用于識別加密輸入輸出處理的序列ID的其他步驟。圖14表示在存儲設(shè)備200的加密引擎203一側(cè)決定使用的序列ID的例子。在圖14中,說明在記錄裝置100和存儲設(shè)備200之間確保序列ID的步驟,但是在再現(xiàn)裝置300和存儲設(shè)備200之間確保序列ID時也同樣。
首先,控制器101對存儲設(shè)備200發(fā)行序列確保命令(S500)。存儲設(shè)備200的加密引擎203如果從記錄裝置100收到序列確保命令(S502),就參照狀態(tài)寄存器221,確認有無釋放的序列ID(S504)。如果能使用的序列ID為確保中(狀態(tài)信息為“Busy”、“Normal”、“Error”)(S504的N),就對控制器101通知出錯(S512)。如果有釋放的(狀態(tài)信息為“Ready”)的序列ID(S504的Y),就從中選擇序列ID(S506),為了確保與該序列ID對應(yīng)的處理系統(tǒng),控制部222把狀態(tài)寄存器221的與該序列ID對應(yīng)的區(qū)域初始化,把狀態(tài)信息變更為“Normal”(S508)。然后,將確保的序列ID通知控制器(S510)??刂破?01如果收到來自加密引擎203的通知(S514),就確認通知的內(nèi)容(S516)。如果是確保序列ID的意思的通知(S516的Y),就結(jié)束處理。如果是出錯通知(S516的Y),就結(jié)束處理。如果是出錯通知(S516的N),一旦結(jié)束處理,則待機到序列ID釋放。
須指出的是,作為確保序列ID的步驟,表示圖13、圖14的兩種步驟,但是存儲設(shè)備200沒必要一定對應(yīng)于兩種步驟。可以對應(yīng)于任意一種,也可以對應(yīng)于兩種步驟。
圖15表示釋放序列ID的步驟。在圖15中,說明記錄裝置100對存儲設(shè)備200要求序列ID的釋放的步驟,但是再現(xiàn)裝置300對存儲設(shè)備200要求序列ID的釋放時也是同樣。記錄裝置100的控制器101如果結(jié)束一系列加密輸入輸出處理的執(zhí)行,就發(fā)行序列ID的序列釋放命令(S600)。存儲設(shè)備200的加密引擎203如果從記錄裝置100收到序列釋放命令(ID=x)(S602),就釋放與該序列ID對應(yīng)的處理系統(tǒng)(S604),把狀態(tài)寄存器221的對于相應(yīng)序列ID的狀態(tài)信息變更為“Ready”。然后,把釋放的意思通知記錄裝置100(S606)。控制器101如果從存儲設(shè)備200收到通知(S608),就結(jié)束處理。
圖16表示加密引擎203受理主機裝置發(fā)行的安全命令(以下稱作“序列命令”)的步驟。在圖16中,說明存儲設(shè)備200受理記錄裝置100發(fā)行的安全命令的步驟,但是存儲設(shè)備200受理再現(xiàn)裝置300發(fā)行的安全命令是也是同樣。首先,記錄裝置100的控制器101發(fā)行序列命令(ID=x)(S700)。如果存儲設(shè)備200的加密引擎203從記錄裝置100收到序列命令(ID=x)(S702),控制部222就參照狀態(tài)寄存器221的對于該序列ID的狀態(tài)信息,判斷能否執(zhí)行命令(S704)。根據(jù)狀態(tài)信息,確認該序列ID是否釋放,確認為之前的命令異常結(jié)束時,或可使用的序列ID的范圍外時,判斷為無法執(zhí)行命令(S704的N),對控制器101通知出錯(S710)。可是,根據(jù)命令,也存在即使之前的命令異常結(jié)束,也判斷為能執(zhí)行命令的命令。例如,序列釋放命令(圖12的S300,圖13的S402)、證明書輸出命令(圖8的S102)、證明書輸入命令(圖10的S208)相當于此。
當根據(jù)序列ID的狀態(tài)信息,判斷為能執(zhí)行時(S704的Y),控制部222參照狀態(tài)寄存器221的對于該序列ID的執(zhí)行命令種類,確認接收的序列命令的發(fā)行順序是否正確(S706)。如果序列命令的順序不正確(S706的N),就對控制器101通知出錯(S710)。如果序列命令的順序正確(S708的Y),就對控制器101通知受理命令的意思(S708)。控制器101如果收到來自存儲設(shè)備200的通知(S712),就確認通知的種類(S714),如果受理通知(S712的Y),就繼續(xù)轉(zhuǎn)移到下一處理,如果是出錯通知(S712的N),就異常結(jié)束。
而在受理命令的存儲設(shè)備200中,當與該序列ID對應(yīng)的處理系統(tǒng)的狀態(tài)信息為“Normal”時和從“Busy”轉(zhuǎn)移到“Normal”時,控制部222把與該序列ID對應(yīng)的處理系統(tǒng)的狀態(tài)信息變更為“Busy”,把執(zhí)行命令種類變更為該命令的編號,開始處理。當狀態(tài)信息從“Busy”轉(zhuǎn)移到“Error”時,不執(zhí)行接收的命令。而且,當接收與該序列ID對應(yīng)的處理系統(tǒng)的下一序列命令時,再根據(jù)圖16的步驟,確認命令對于該序列ID的異常結(jié)束,通過S710通知出錯。
加密引擎203收到非法序列命令時,可以強制結(jié)束該處理系統(tǒng)的處理。即可以把狀態(tài)寄存器221的與該序列ID對應(yīng)的區(qū)域初始化。據(jù)此,對于非法的命令抑制繼續(xù)進行處理的可能性,能提高耐篡改性。這時,當在序列命令中發(fā)生任意的錯誤時,為了再度執(zhí)行加密輸入輸出處理,記錄裝置100有必要從最初的序列命令重新開始。在其他例子中,記錄通信日志,參照記錄的通信日志,能確認執(zhí)行正當?shù)男蛄忻顣r,從下一序列命令繼續(xù)執(zhí)行。
圖17表示從主機裝置對存儲設(shè)備200發(fā)行命令的樣子。在圖17的例子中,關(guān)于主機裝置對存儲設(shè)備200之間的加密輸入輸出處理,準備3個處理系統(tǒng),主機裝置并行對存儲設(shè)備200發(fā)行由序列ID=1、2、3識別的序列命令、通常命令。存儲設(shè)備200依次處理接收的命令,但是如圖所示,在各處理系統(tǒng)中,通過序列ID識別序列命令,檢查執(zhí)行順序,進行處理。
以上的說明假定由序列ID管理的全部處理系列根據(jù)此前記載的方法,進行輸入輸出??墒?,被分配了序列ID的各處理系列可以根據(jù)各處理體系,進行許可證的輸入輸出。為了實現(xiàn)它,當確保序列ID時,主機能指定用于進行許可證的輸入輸出的處理體系。下面,把這里指定的處理體系稱作處理模式。對序列ID分配處理體系后,存儲設(shè)備200,判斷接收的命令是指定的處理體系的嗎?,它是以正確的順序發(fā)行的嗎?。當這些條件的任意一方條件不滿足時,存儲設(shè)備200把出錯作為對于接收的命令的響應(yīng)發(fā)回,或中斷處理系列。
(實施方式2)圖18表示實施方式2的數(shù)據(jù)管理系統(tǒng)10的全體結(jié)構(gòu)。在本實施方式中,實施方式1的記錄裝置100和再現(xiàn)裝置300作為一個記錄再現(xiàn)裝置400而實現(xiàn)。
圖19表示本實施方式的記錄再現(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置換為記錄再現(xiàn)裝置400,把加密引擎103置換為第一加密引擎103,把控制器101置換為控制器401,把再現(xiàn)裝置300置換為記錄再現(xiàn)裝置400,把加密引擎303置換為第二加密引擎303,把控制器301置換為控制器401,是同樣的。
圖20表示從記錄再現(xiàn)裝置400向存儲設(shè)備200發(fā)行命令的樣子。在圖20中,并行執(zhí)行圖8到圖11所示的許可證數(shù)據(jù)的記錄和讀出。存儲設(shè)備200通過序列ID識別并行發(fā)行的各種命令,適當檢查執(zhí)行順序,進行處理。
(實施方式3)圖21表示實施方式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進行,所以與在同一裝置內(nèi)進行通信的實施方式1相比,數(shù)據(jù)泄漏的危險性增加,但是如圖8~圖11中說明的那樣,在加密引擎103和控制器101之間,一定把數(shù)據(jù)加密,進行收發(fā),所以能實現(xiàn)高的耐篡改性。
圖22表示電源接通后,在存儲設(shè)備200中記錄許可證數(shù)據(jù)前的一系列ATA接口上的步驟的序列圖。表示圖12步驟、圖13的序列ID的確保、圖8和圖9的向存儲設(shè)備200記錄許可證數(shù)據(jù)的步驟、圖14的序列ID的釋放前的一系列處理是正常進行時的例子。
“Host ATA-IF”相當于記錄裝置100的存儲器接口102,“StorageATA-IF”相當于存儲設(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”、“START_SEQUENCE”、“GET_CERTIFICATE”、“PUT_CHALLENGE_KEY”、“CREATE_SESSION_KEY”、“GET_SESSION_KEY”、“PUT_LICENSE”、“WRITE_LICENSE”、“END_SEQUENCE”分別相當于設(shè)備信息輸出命令、安全信息輸出命令、序列確保命令、證明書輸出命令、挑戰(zhàn)鍵輸入命令、對話鍵準備命令、挑戰(zhàn)鍵輸出命令、許可證輸入命令、許可證寫入命令、序列釋放命令。
序列劃分為取得存儲設(shè)備200的信息的“Initialization STEP(初始化步驟)”、確保序列ID的“START_STEP”(初始化步驟)、從存儲設(shè)備200的證明書驗證到挑戰(zhàn)鍵Ks1的共享的“Authentication STEP”、傳輸許可證和寫入之前的“Transmission STEP”、釋放序列ID的“END_STEP”。然后,“WRITE_LICENSE(許可證寫入命令)”結(jié)束后,接著許可證數(shù)據(jù),存儲到存儲設(shè)備200中時,重復(fù)“Transmission STEP”。這時,不損害安全性。此外,可以從“Authentication STEP”開始。
以上根據(jù)實施方式說明了本發(fā)明。該實施方式是例示,對于行內(nèi)人士,能理解在各構(gòu)成要素或各處理過程的組合中能有各種變形例,這樣的變形例也在本發(fā)明的范圍內(nèi)。
在實施方式中,在加密引擎內(nèi),分別表示進行加密或譯碼的功能塊,但是在這些構(gòu)成要素中,可以共有電路。據(jù)此,能抑制硬件規(guī)模,有助于小型化、低耗電。
(發(fā)明的效果)根據(jù)本發(fā)明,能提高在記錄裝置和主機裝置之間把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出時的耐篡改性。此外,根據(jù)本發(fā)明能在記錄裝置和主機裝置之間并行進行多個加密輸入輸出處理。
權(quán)利要求
1.一種存儲裝置,其特征在于包括存儲數(shù)據(jù)的存儲媒體;在進行多個用于把在所述存儲媒體和主機裝置之間應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理時,從所述主機裝置接收把多個加密輸入輸出處理分別分割為多個步驟而發(fā)行的多個命令,執(zhí)行該命令的加密處理部;所述加密處理部參照付與所述命令的識別信息,識別接收的命令是屬于哪個加密輸入輸出處理的命令,能并行處理所述多個加密輸入輸出處理步驟中的2以上的處理。
2.根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于所述加密處理部對于所述各加密輸入輸出處理管理所述命令的執(zhí)行順序,當收到順序不正確的命令時,拒絕該命令的執(zhí)行。
3.根據(jù)權(quán)利要求2所述的存儲裝置,其特征在于所述加密處理部當收到順序不正確的命令時,中止該命令所屬的加密輸入輸出處理。
4.根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于根據(jù)所述存儲裝置的性能,預(yù)先決定所述存儲裝置能并行處理的加密輸入輸出處理的數(shù)。
5.根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于按照來自所述主機裝置的要求,對所述主機裝置提供所述存儲裝置能并行處理的加密輸入輸出處理的最大數(shù)。
6.根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于所述存儲媒體包含通常數(shù)據(jù)存儲部、機密數(shù)據(jù)存儲部;所述通常數(shù)據(jù)存儲部存儲不通過所述加密處理部輸入輸出的通常數(shù)據(jù);所述機密數(shù)據(jù)存儲部存儲通過所述加密處理部輸入輸出的所述隱藏數(shù)據(jù)。
7.一種存儲裝置,其特征在于包括存儲數(shù)據(jù)的存儲媒體;在進行用于把在所述存儲媒體和主機裝置之間應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理時,從所述主機裝置接收把該加密輸入輸出處理分割為多個步驟而發(fā)行的多個命令,執(zhí)行該命令的加密處理部;所述加密處理部能管理2以上的加密輸入輸出處理,參照付與命令的識別信息,識別接收的命令是屬于哪個加密輸入輸出處理的命令,在該命令所屬的加密輸入輸出處理中,當檢測到不正確的順序命令時,拒絕執(zhí)行該命令。
8.根據(jù)權(quán)利要求7所述的存儲裝置,其特征在于按照來自所述主機裝置的要求,對所述主機裝置提供所述存儲裝置能并行處理的加密輸入輸出處理的最大數(shù)。
9.根據(jù)權(quán)利要求7所述的存儲裝置,其特征在于所述存儲媒體包含通常數(shù)據(jù)存儲部、機密數(shù)據(jù)存儲部;所述通常數(shù)據(jù)存儲部存儲不通過所述加密處理部輸入輸出的通常數(shù)據(jù);所述機密數(shù)據(jù)存儲部存儲通過所述加密處理部輸入輸出的所述隱藏數(shù)據(jù)。
10.一種主機裝置,與能并行處理多個把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理的存儲裝置之間,輸入輸出數(shù)據(jù),其特征在于包括把所述加密輸入輸出處理分割為多個步驟,對所述存儲裝置按順序發(fā)行用于使所述存儲裝置執(zhí)行這些步驟中應(yīng)該在所述存儲裝置一側(cè)執(zhí)行的步驟的控制器;執(zhí)行所述加密輸入輸出處理所必要的加密或譯碼處理的加密處理部;所述控制器在發(fā)行所述命令時,對該命令付與用于識別該命令是屬于所述多個加密輸入輸出處理中的哪個加密輸入輸出處理的命令的識別信息。
11.根據(jù)權(quán)利要求10所述的主機裝置,其特征在于所述控制器在所述加密輸入輸出處理之前,發(fā)行用于確保進行該加密輸入輸出處理的處理系統(tǒng)的命令。
12.一種數(shù)據(jù)輸入輸出方法,其特征在于當在能并行執(zhí)行多個把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出的一系列加密輸入輸出處理,并且存儲通過所述加密輸入輸出處理輸入輸出的數(shù)據(jù)的存儲裝置和主機裝置之間,執(zhí)行所述加密輸入輸出處理時,包括把所述加密輸入輸出處理分割為多個步驟,所述主機裝置執(zhí)行這些步驟中應(yīng)該在所述主機裝置一側(cè)執(zhí)行的步驟的步驟;為了使所述存儲裝置執(zhí)行應(yīng)該在所述存儲裝置一側(cè)執(zhí)行的步驟,所述主機裝置對所述存儲裝置發(fā)行命令的步驟;所述存儲裝置接收所述命令的步驟;所述存儲裝置執(zhí)行所述命令的步驟;對所述命令付與用于識別該命令是屬于所述存儲裝置并行處理的多個加密輸入輸出處理中的哪個加密輸入輸出處理的命令的識別信息。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)輸入輸出方法,其特征在于還包含根據(jù)所述存儲裝置的性能,預(yù)先決定所述存儲裝置能并行處理的所述加密輸入輸出處理的數(shù)的上限的步驟。
14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)輸入輸出方法,其特征在于還包含所述存儲裝置根據(jù)自身的性能,預(yù)先決定能并行處理的所述加密輸入輸出處理的數(shù)的上限的步驟;把所述上限通知所述主機裝置的步驟。
15.根據(jù)權(quán)利要求13所述的數(shù)據(jù)輸入輸出方法,其特征在于還包含在所述加密輸入輸出處理的執(zhí)行前,從按用所述決定步驟決定的數(shù)準備的所述識別信息中選擇用于識別要執(zhí)行的加密輸入輸出處理的識別信息,并分配的步驟。
16.根據(jù)權(quán)利要求14所述的數(shù)據(jù)輸入輸出方法,其特征在于還包含在所述加密輸入輸出處理的執(zhí)行前,從按用所述決定步驟決定的數(shù)準備的所述識別信息中選擇用于識別要執(zhí)行的加密輸入輸出處理的識別信息,并分配的步驟。
17.根據(jù)權(quán)利要求12所述的數(shù)據(jù)輸入輸出方法,其特征在于所述接收步驟包含判別接收的命令是否為所述加密輸入輸出處理中正確的執(zhí)行順序的命令的步驟;當判別為正確的執(zhí)行順序的命令時,正常受理該命令的步驟;當判別為不正確的執(zhí)行順序的命令時,拒絕執(zhí)行該命令的步驟。
18.根據(jù)權(quán)利要求17所述的數(shù)據(jù)輸入輸出方法,其特征在于當判別接收的命令為不正確的執(zhí)行順序的命令時,中止該命令所屬的加密輸入輸出處理的執(zhí)行。
全文摘要
本發(fā)明提供一種把應(yīng)該隱藏的數(shù)據(jù)加密,輸入輸出的方法和裝置。是能提高記錄裝置和主機裝置之間把應(yīng)該隱藏的數(shù)據(jù)加密、輸入輸出時的耐篡改性的技術(shù)。記錄裝置對存儲設(shè)備發(fā)行應(yīng)該隱藏的數(shù)據(jù)的輸入輸出命令時,付與用于識別該命令是屬于哪個加密輸入輸出處理的命令的ID,向存儲設(shè)備發(fā)送。如果存儲設(shè)備收到序列命令,就確保該ID,如果確認命令發(fā)行順序是正當?shù)?,就受理該命令。根?jù)序列ID識別處理系統(tǒng),恰當管理命令的執(zhí)行順序。
文檔編號G11B20/00GK1534655SQ20041003148
公開日2004年10月6日 申請日期2004年3月29日 優(yōu)先權(quán)日2003年3月28日
發(fā)明者堀吉宏, 金井雄一, 大野良治, 大石剛士, 多田謙一郎, 平井達哉, 津留雅文, 長谷部高行, 一, 一郎, 哉, 士, 文, 治, 高行 申請人:三洋電機株式會社, 夏普株式會社, 日本勝利株式會社, 日本先鋒公司, 株式會社日立制作所, 鳳凰科技株式會社, 富士通株式會社