專利名稱:信息處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息處理裝置、信息處理方法、程序和記錄媒體。本發(fā)明尤其涉及一種信息處理裝置、信息處理方法、程序和記錄媒體,用于執(zhí)行與加密相關(guān)聯(lián)的過程。
背景技術(shù):
對不同種類的裝置,其間交換數(shù)字數(shù)據(jù)正變得很平常。在這種趨勢下,采取措施對付違法使用數(shù)字數(shù)據(jù)已經(jīng)變得必要,該數(shù)字數(shù)據(jù)正當或者不正當使用或復(fù)制時本質(zhì)上質(zhì)量(即,圖像和聲音質(zhì)量)并未損壞(例如,參考專利文獻1)。
當今隨著DVD(數(shù)字通用盤)和類似記錄媒體獲得廣泛的接受,易于在一片這樣的媒體(如盤)上,作為數(shù)字信息記錄很大數(shù)量的數(shù)據(jù)如電影。在電影信息或類似的數(shù)據(jù)可以作為數(shù)字信息記錄的情形,阻止非法復(fù)制以保護版權(quán)持有者的利益正變得更加重要。
DVD視頻(即,裝滿視頻內(nèi)容的DVD)采用CSS(內(nèi)容加擾系統(tǒng))作為版權(quán)保護技術(shù)。圖1是顯示記錄媒體以及用于從那個媒體再現(xiàn)數(shù)據(jù)的裝置的結(jié)構(gòu)的方塊圖,在該記錄媒體上記錄由CSS技術(shù)加密的數(shù)據(jù)。
圖1指示盤11作為典型的記錄媒體。盤11保留被保護的盤密鑰21,用于識別盤11;加密的標題密鑰22,它以預(yù)先確定的間隔嵌入在數(shù)據(jù)中;以及加擾數(shù)據(jù)23。起說明作用地,如果在盤11上記錄電影,說明性地為每章提供標題密鑰22。
盤密鑰21和標題密鑰22以加密格式(或者以防止濫用取回的方式)記錄在盤11上。數(shù)據(jù)23在盤11上記錄時通過使用標題密鑰22加擾。
播放器12通過從盤11讀取密鑰和數(shù)據(jù)再現(xiàn)數(shù)據(jù)23。播放器23包含解密設(shè)備32和33、解擾設(shè)備34和譯碼器35。播放器12也包含管理主密鑰31的管理設(shè)備(未顯示)。
解密設(shè)備32通過使用主密鑰31對從盤11讀取的盤密鑰21解密,并且提供解密的盤密鑰21給解密設(shè)備33。從盤11取回的標題密鑰22也提供給解密設(shè)備33。解密設(shè)備33使用解密的盤密鑰21,對加密的標題密鑰22解密。解密的標題密鑰22饋送給解擾設(shè)備34。從盤11取回的數(shù)據(jù)23也提供給解擾設(shè)備34。
通過使用標題密鑰22加擾之前,要從盤密鑰21讀取并提供給播放器12的數(shù)據(jù)23已經(jīng)由預(yù)先確定的壓縮標準(如,MPEG(移動圖像專家組)標準)壓縮。解擾設(shè)備34使用標題密鑰22對數(shù)據(jù)23解擾。
解擾的數(shù)據(jù)23提供給譯碼器35。譯碼器35根據(jù)預(yù)先確定的譯碼標準(如,MPEG標準),對來自解擾設(shè)備34的數(shù)據(jù)23譯碼。譯碼的數(shù)據(jù)36提供給未顯示的顯示單元或類似設(shè)備。
圖1中顯示的播放器12是說明性的專門從盤11如DVD再現(xiàn)數(shù)據(jù)的設(shè)備?;蛘?,專用播放器12可以由能夠從盤11再現(xiàn)數(shù)據(jù)的個人計算機代替。
圖2顯示一設(shè)置的結(jié)構(gòu),在該設(shè)置中盤11如DVD說明性地由個人計算機或類似設(shè)備播放。在這個設(shè)置中,驅(qū)動單元51從盤11讀取數(shù)據(jù),并且主機52處理由驅(qū)動單元51讀出的數(shù)據(jù)。圖2中顯示的驅(qū)動單元51和主機52包括可以由應(yīng)用軟件實現(xiàn)的功能。
正如在圖1的設(shè)置中,盤11保留盤密鑰21、標題密鑰22和數(shù)據(jù)23。構(gòu)造驅(qū)動單元51以包括認證處理設(shè)備62和總線加密設(shè)備62和63。
主機52包含認證處理設(shè)備71、總線解密設(shè)備72和73、解密設(shè)備74和75、解擾設(shè)備76和譯碼器77。主機52也包含管理主密鑰31的管理設(shè)備(未顯示)。
驅(qū)動單元51的認證處理設(shè)備51和主機52的認證處理設(shè)備71互相認證。只有當互相認證的過程正常完成時,數(shù)據(jù)才能在驅(qū)動單元51和主機52之間發(fā)送和接收。成功的認證過程之后,認證處理設(shè)備61和71(為共享使用)每個發(fā)出稱為會話密鑰的密鑰。
正常的認證過程之后,從盤11讀取的盤密鑰21由驅(qū)動單元51的總線加密設(shè)備62加密。也提供由認證處理設(shè)備61發(fā)出的會話密鑰給總線加密設(shè)備62。總線加密設(shè)備62使用會話密鑰加密取回的盤密鑰21,并且輸出加密的盤密鑰21到主機71。
同樣地,通過使用由認證處理設(shè)備61發(fā)出的會話密鑰,總線加密設(shè)備63加密從盤11讀取的標題密鑰22,并且輸出加密的標題密鑰22到主機52。從盤11取回的數(shù)據(jù)23從驅(qū)動單元51直接提供給主機52。
通過使用由認證處理設(shè)備71發(fā)出的會話密鑰,主機52的總線解密設(shè)備72解密從驅(qū)動單元51的總線加密設(shè)備62發(fā)送的加密盤密鑰21。解密的盤密鑰21饋送給解密單元74。主密鑰31也饋送給解密單元74。解密單元74使用主密鑰31對從總線解密設(shè)備72提供的盤密鑰21解密,并且發(fā)送解密的盤密鑰21給解密設(shè)備75。
也從總線解密設(shè)備73提供標題密鑰22給解密設(shè)備75。標題密鑰22,使用由認證處理設(shè)備71發(fā)出的會話密鑰,已經(jīng)由總線解密設(shè)備73解密。
解密設(shè)備75使用解密的盤密鑰21解密加密的標題密鑰22。解密的標題密鑰22提供給解擾設(shè)備76。解擾設(shè)備76也被提供從盤11讀取的數(shù)據(jù)23。
從盤11取回的數(shù)據(jù)23已經(jīng)由預(yù)先確定的壓縮算法壓縮,并且通過使用標題密鑰22加擾。解擾設(shè)備76首先使用提供的標題密鑰22對數(shù)據(jù)23解擾。
解擾的數(shù)據(jù)23提供給譯碼器77。譯碼器77由預(yù)先確定的譯碼標準(如,MPEG標準)對提供的數(shù)據(jù)23譯碼。譯碼的數(shù)據(jù)36提供給未顯示的顯示單元或類似的設(shè)備。
如所述,在進行再現(xiàn)從盤11取回的數(shù)據(jù)23之前,裝載了盤11的驅(qū)動單元51和用于處理盤11上保存的數(shù)據(jù)的主機52互相認證。成功的認證過程之后,加密的密鑰和數(shù)據(jù)在驅(qū)動單元51和主機52之間發(fā)送和接收。
應(yīng)該注意數(shù)據(jù)只有在認證過程之后實際上才在驅(qū)動單元51和主機52之間發(fā)送和接收。那是因為設(shè)計由適當?shù)目偩€(未顯示)連接的驅(qū)動單元51和主機52,以阻止數(shù)據(jù)從那個總線違法抽取(tap)。
參考圖3的流程圖,下面給出的是認證處理設(shè)備61和71之間執(zhí)行的認證過程的另外的說明。在步驟S11中,進行檢查以確定是否盤11裝載(即,放)入驅(qū)動單元51。在步驟S11中,保持待命狀態(tài)直到發(fā)現(xiàn)盤11裝載到驅(qū)動單元51中(即,重復(fù)步驟S11的過程)。
如果在步驟S11中發(fā)現(xiàn)盤11裝載到驅(qū)動單元51中,到達步驟S12。在步驟S12中,認證處理設(shè)備61和71互相認證。除非并且直到互相認證的過程正常完成,將不執(zhí)行隨后的步驟。
成功的互相認證過程之后,認證處理設(shè)備61和71每個產(chǎn)生會話密鑰。在步驟S13中,進行檢查以確定是否互相認證的過程已經(jīng)正常結(jié)束并且成功完成會話密鑰產(chǎn)生。重復(fù)步驟S12的過程直到在步驟S13發(fā)現(xiàn)它完成。其后,控制傳遞給步驟S14。
在步驟S14中,建立這樣的狀態(tài)在該狀態(tài)中,授權(quán)發(fā)送和接收加擾的數(shù)據(jù)(即,從驅(qū)動單元51輸出)。在這種情況下,加擾的數(shù)據(jù)是數(shù)據(jù)23(圖2),該數(shù)據(jù)被授權(quán)從驅(qū)動單元51輸出到主機52。
將對下面的“授權(quán)”狀態(tài)進行更多的說明。在來自主機52的指令下,驅(qū)動單元51讀取授權(quán)狀態(tài)中的數(shù)據(jù)23。在這樣的授權(quán)還未進行的情形,驅(qū)動單元51不輸出數(shù)據(jù)23,而是在接收到來自主機52的讀取(輸出)數(shù)據(jù)23的指令時返回差錯消息。
通過授權(quán)狀態(tài)有效并且從主機52提供指令,驅(qū)動單元51從盤11取回數(shù)據(jù)23。取回的數(shù)據(jù)23輸出到主機52。
一旦建立了授權(quán)狀態(tài),重復(fù)加擾數(shù)據(jù)23的再現(xiàn),除非產(chǎn)生來自驅(qū)動單元51的中斷條件,如盤11的卸載。
通過授權(quán)加擾數(shù)據(jù)23輸出,到達步驟S15。在步驟S15中,連續(xù)地進行檢查以確定是否盤11從驅(qū)動單元51卸載。當發(fā)現(xiàn)盤11從驅(qū)動單元51卸載時,控制返回到步驟S11并且重復(fù)隨后的步驟。
當驅(qū)動器復(fù)位或斷電時,數(shù)據(jù)再現(xiàn)也終止。然后按需要重新到達步驟S11,并且重復(fù)隨后的步驟。
如所述,驅(qū)動單元51和主機52之間的互相認證正常終止之后,驅(qū)動單元51從裝載的盤11持續(xù)讀取數(shù)據(jù)23并且輸出取回的數(shù)據(jù)23到主機52,直到盤11被卸載。過程繼續(xù),除非并且直到由主機52給出另一個指令。
這里將對一些已知的加密技術(shù)進行簡要的評論,該加密由加密設(shè)備如總線加密設(shè)備62執(zhí)行。已經(jīng)提出各種加密算法。下面說明稱為CBC(密碼塊鏈接)的一種這樣的加密(和解密)算法。
CBC加密算法是這樣一種技術(shù)它涉及將未加密形式的每個數(shù)據(jù)塊和前面的加密形式的數(shù)據(jù)塊異或,以便產(chǎn)生每個加密數(shù)據(jù)塊。圖4顯示用于由CBC算法加密的典型電路。
要加密的目標數(shù)據(jù)以預(yù)先確定的增量(例如16字節(jié),如果使用AES(高級加密標準)作為塊加密方案)轉(zhuǎn)換為塊。第一個塊提供給XOR電路101-1,第一個塊之后的第二個塊饋送給另一個XOR電路101-2,第二個塊之后的第三個塊發(fā)送給另一個XOR電路101-3等等。提供與預(yù)先確定的級數(shù)(在這個例子中是N級)相等的XOR電路,使得未加密形式的數(shù)據(jù)塊可以連續(xù)地輸入到XOR電路101-1到101-N。
從XOR電路101-1輸出的第一個塊提供給加密設(shè)備102-1。加密設(shè)備102-1使用密鑰Ek加密提供的第一個塊。因而,第一個塊被加密。
從加密設(shè)備102-1輸出的加密的第一個塊也發(fā)送到XOR電路101-2,用于與第二個塊的異或操作。異或操作的結(jié)果饋送給另一個加密設(shè)備102-2,該設(shè)備使用相同的密鑰Ek加密提供的數(shù)據(jù)。
根據(jù)CBC加密,如上所概述,未加密形式的每個數(shù)據(jù)塊與前面的加密形式的數(shù)據(jù)塊異或。作為結(jié)果的數(shù)據(jù)塊通過使用預(yù)先確定的加密密鑰加密。這樣加密的數(shù)據(jù)塊與下一個數(shù)據(jù)塊異或。因而每個當前塊連續(xù)地鏈接到前面的塊以產(chǎn)生加密形式的數(shù)據(jù)。
盡管第二個和隨后的數(shù)據(jù)塊每個與前面的塊異或,第一個塊不能與顯然不存在的它前面的塊異或。因而引入初始化向量(IV)并與第一個塊異或。
下面參考圖5說明的是根據(jù)CBC算法的解密電路(例如,總線解密設(shè)備72(圖2))。
如上所述,加密的數(shù)據(jù)以預(yù)先確定的增量(例如16字節(jié),如果使用AES(高級加密標準)作為塊加密方案)轉(zhuǎn)換為塊。第一個數(shù)據(jù)塊提供給解密設(shè)備122-1,第一個塊之后的第二個塊饋送給另一個解密設(shè)備122-2,第二個塊之后的第三個塊發(fā)送給另一個解密設(shè)備122-3,等等。提供與預(yù)先確定的級數(shù)(在這個例子中是N級)相等的解密設(shè)備,使得加密形式的數(shù)據(jù)塊可以連續(xù)地輸入到解密設(shè)備122-1到122-N。
解密設(shè)備122-1到122-N每個使用密鑰Dk分別解密輸入數(shù)據(jù)。從解密設(shè)備122-1到122-N輸出的數(shù)據(jù)分別提供給XOR電路121-1到121-N。也提供這樣的數(shù)據(jù)給XOR電路121-2到121-N,該數(shù)據(jù)分別饋送給前面的解密塊122-1到122-N-1。
如所述,當每個解密形式的目標數(shù)據(jù)塊與前面的加密形式的數(shù)據(jù)塊異或時,完成根據(jù)CBC算法的解密。
雖然第二個和隨后的數(shù)據(jù)塊每個與前面的塊異或,但第一個塊不能與顯然不存在的它前面的塊異或。因而引入初始化向量(IV)并與第一個塊異或。
前面的說明已經(jīng)給出加密和解密通常如何執(zhí)行的概述。
日本專利號3252706
發(fā)明內(nèi)容
在數(shù)據(jù)23要由如圖2中所示的驅(qū)動單元51結(jié)合主機52從盤11再現(xiàn)的情形,驅(qū)動單元51和主機52之間的互相認證的過程成功之后,數(shù)據(jù)23被授權(quán)從驅(qū)動單元51輸出。上面參考圖3的流程圖說明了該過程。
假設(shè)主機52啟動應(yīng)用A并且這樣啟動的應(yīng)用A提示認證處理設(shè)備71執(zhí)行認證過程。在這種情況下,由應(yīng)用A關(guān)于驅(qū)動單元51正常執(zhí)行認證過程導(dǎo)致這樣一種狀態(tài)數(shù)據(jù)23被授權(quán)從盤11讀取并且由驅(qū)動單元51輸出。
在那個狀態(tài)中,數(shù)據(jù)23被授權(quán)連續(xù)地由驅(qū)動單元51輸出,除非并且直到盤11從驅(qū)動單元51卸載?,F(xiàn)在假設(shè)授權(quán)狀態(tài)有效,應(yīng)用B由主機52啟動,并且應(yīng)用B代替應(yīng)用A開始給出指令,包括用于讀出數(shù)據(jù)23的一個指令。
在那種情況下,驅(qū)動單元51和應(yīng)用B不互相認證。但是,因為驅(qū)動單元51保持在數(shù)據(jù)23被授權(quán)輸出的狀態(tài),所以讓數(shù)據(jù)23從驅(qū)動單元51輸出到主機52(即,應(yīng)用B)。作為結(jié)果,數(shù)據(jù)23可以由應(yīng)用B記錄到作為主機52一部分的硬盤驅(qū)動器(HDD)141。
雖然數(shù)據(jù)23記錄到HDD 141上是非法的,但驅(qū)動單元51在來自應(yīng)用B的指令下進行輸出數(shù)據(jù)23。使用現(xiàn)有設(shè)置不檢查這種濫用。
存儲在HDD 141上的數(shù)據(jù)23被加擾并且不能照原來的樣子再現(xiàn)。盡管如此,因為存在用于解擾數(shù)據(jù)的應(yīng)用,一旦數(shù)據(jù)23記錄到HDD 141上,實際上不可能阻止非法使用它。
如所述,一旦認證過程正常完成并且授權(quán)數(shù)據(jù)23從驅(qū)動單元51輸出,數(shù)據(jù)23變得容易被盜取。
下面參考圖7說明其它的數(shù)據(jù)濫用。驅(qū)動單元51和主機52由合適的總線互聯(lián),并且其間在那條總線上交換數(shù)據(jù)23。如在上面參考圖6說明的情況下,主機側(cè)的應(yīng)用A與驅(qū)動單元51執(zhí)行互相認證。正常完成認證過程之后,數(shù)據(jù)23被授權(quán)從驅(qū)動單元51輸出。
如果主機52具有監(jiān)視器151用于監(jiān)視那條總線上發(fā)送和接收的數(shù)據(jù),那么可以使用監(jiān)視器151從總線獲得(即,監(jiān)視)數(shù)據(jù)23。換句話說,從驅(qū)動單元51輸出的數(shù)據(jù)23可以提供給應(yīng)用A和監(jiān)視器151兩者。
因而主機52可能在HDD 141上存儲由監(jiān)視器151獲得的數(shù)據(jù)23。這是另一種可以濫用數(shù)據(jù)23的方式。
如所述,現(xiàn)有設(shè)置可以使監(jiān)視功能被利用來盜取或濫用總線上交換的數(shù)據(jù)。
已經(jīng)提出加密數(shù)據(jù)23的方法,使得總線上交換的數(shù)據(jù)23將不被從總線上盜取。這里參考圖8說明一種這樣的方法。在隨后的說明中,從驅(qū)動單元51輸出到主機52的數(shù)據(jù)將稱為傳遞數(shù)據(jù)171。
傳遞數(shù)據(jù)171以每個2048(2K字節(jié))字節(jié)的數(shù)據(jù)分組處理。如上所述,在驅(qū)動單元51和主機52由合適的總線互聯(lián)的情形,安裝用于控制總線的總線接口183以處理預(yù)定增量的數(shù)據(jù)。作為說明地,如果總線接口183基于ATAPI(具有分組接口的AT連接),那么規(guī)定數(shù)據(jù)增量是2048字節(jié)。
如果假設(shè)傳遞數(shù)據(jù)171以2048字節(jié)的數(shù)據(jù)分組出現(xiàn),那么每個分組由16字節(jié)的初始化向量IV和2032字節(jié)的數(shù)據(jù)部分組成,如圖8中所示。在這個數(shù)據(jù)分組中,2032字節(jié)的數(shù)據(jù)部分由加密設(shè)備181加密。雖然未在圖8中顯示,但加密設(shè)備181使用由認證處理設(shè)備181(見圖2)發(fā)出的會話密鑰Ks加密每個數(shù)據(jù)部分。
加密設(shè)備181說明性地通過使用CBC算法執(zhí)行它的加密過程?;贑BC的加密要求加密設(shè)備181內(nèi)部如圖4中所示構(gòu)造。如上面參考圖4說明的,加密設(shè)備181執(zhí)行加密時也利用初始化向量IV。即,給定傳遞數(shù)據(jù)171的每個數(shù)據(jù)分組,加密設(shè)備181使用包括在同一數(shù)據(jù)分組中的16字節(jié)初始化向量IV、以及由認證處理設(shè)備181發(fā)出的會話密鑰Ks,加密2038字節(jié)的數(shù)據(jù)部分。
由加密設(shè)備181加密的數(shù)據(jù)分組每個是可以由總線接口183處理的2048字節(jié)的數(shù)據(jù)分組。其數(shù)據(jù)部分加密的每個數(shù)據(jù)分組被提供給主機52的解密設(shè)備182。解密設(shè)備182使用包括在提供的數(shù)據(jù)分組中的初始化向量IV、和由認證處理設(shè)備71(圖2)發(fā)出的會話密鑰Ks,解密加密的數(shù)據(jù)。
雖然主機52接收到加密的數(shù)據(jù),那個數(shù)據(jù)可以由主機52使用與所述數(shù)據(jù)一起提供的初始化向量IV解密。主機52可以以這種方式再現(xiàn)從驅(qū)動單元51輸出的數(shù)據(jù)。
當通過總線接口183交換的數(shù)據(jù)被加密時,數(shù)據(jù)將不被濫用,只要它不被解密,即使通過總線接口183交換的數(shù)據(jù)被抽取。以這種方式,假定阻止數(shù)據(jù)的盜用。但是,這種方法存在一些問題,這一點將在下面的說明中概述。
再參考圖8,初始化向量IV是傳遞數(shù)據(jù)171的一部分。當初始化向量IV要包括在傳遞數(shù)據(jù)171中時,該向量與其它數(shù)據(jù)一起寫到盤11。那意味著初始化向量IV不能隨機改變(即,必須照原來的樣子而不變地使用寫在盤上的初始化向量IV)。
可能的是沒有初始化向量IV寫在盤11上,使驅(qū)動單元51隨機產(chǎn)生初始化向量IV,以便使向量IV包括在傳遞數(shù)據(jù)171中。但是,這是施加限制條件的情形當初始化向量IV要包括在傳遞數(shù)據(jù)171中時,必須說明性地給該向量提供不同于要加密的數(shù)據(jù)的頭等。
在那種條件下,可以安排驅(qū)動單元51隨機產(chǎn)生初始化向量IV,但是要受到對隨機化的向量產(chǎn)生的某些限制。最后,不保證驅(qū)動單元51總能在隨機基礎(chǔ)上產(chǎn)生初始化向量IV(即,在初始化向量產(chǎn)生期間可能出現(xiàn)固定模式)。
如果初始化向量IV不能隨機變化,即如果初始化向量產(chǎn)生期間預(yù)期出現(xiàn)固定模式,就可能存在下面的問題。
說明性地,電子郵件的格式具有固定的模式,該模式包括接收者的地址、發(fā)送者的地址、主題和消息。如果那個模式的數(shù)據(jù)(純文本)被加密,加密的數(shù)據(jù)也呈現(xiàn)可能引起第三方(即攻擊者)注意的模式。然后第三方可以進行至少部分地解密加密的數(shù)據(jù)。
在另一個為了重復(fù)再現(xiàn)預(yù)備音樂數(shù)據(jù)的例子中,預(yù)備的加密涉及重復(fù)地加密相同純文本數(shù)據(jù),這導(dǎo)致包含重復(fù)模式的加密數(shù)據(jù)。正如在前面的例子中,加密數(shù)據(jù)呈現(xiàn)易于受到濫用解密的模式。
在這樣的環(huán)境下,在有要加密的具有固定模式的純文本數(shù)據(jù)(例如,對于要加密多次的相同數(shù)據(jù))的情形,用初始化向量IV補充第一個數(shù)據(jù)塊,以便消除可能出現(xiàn)在加密數(shù)據(jù)中的任何相似的模式。加密時增加初始化向量IV到第一個塊,阻止如純文本數(shù)據(jù)塊中的相同模式形成,這將使最后的解密更加困難。作為另一個好處,加密時增加初始化向量IV使預(yù)測單一密鑰容易,該密鑰可以用來加密大量的數(shù)據(jù)。
正是因為這些原因,在加密隨后的塊之前經(jīng)常增加初始化向量IV到第一個數(shù)據(jù)塊。
以合適的間隔更新初始化向量IV,使確定給定純文本數(shù)據(jù)是否具有特定模式更困難。這有助于阻止肆無忌憚的數(shù)據(jù)替換或竄改。(參考文獻NISTSpecial Publication 800-38A 2001 Edition,Recommendation for Block CipherModes of Operation,Methods and Techniques,APPENDIX C Generation ofCounter Blocks)。
換句話說,如果重復(fù)使用相同的初始化向量IV,該實踐不能提供上述周期性更新向量IV的好處。作為結(jié)果,重復(fù)使用相同的初始化向量IV,使得難以確定給定純文本數(shù)據(jù)是否具有特定模式,并且不能阻止數(shù)據(jù)替換或竄改。
顯然,最好如上所述更新初始化向量IV。
在進行安排以更新初始化向量IV的情形,可以設(shè)計出如圖9中所示的方法從而發(fā)送和接收數(shù)據(jù)。在圖9的例子中,傳遞數(shù)據(jù)191由2048字節(jié)的數(shù)據(jù)塊組成,每個塊補充16字節(jié)的初始化向量IV。增加的向量IV補足可以通過總線接口183發(fā)送和接收的2064字節(jié)數(shù)據(jù)塊。
當初始化向量IV添加到傳遞數(shù)據(jù)191時(即,在初始化向量IV預(yù)先不包括在傳遞數(shù)據(jù)191中的情形),可以安排驅(qū)動單元51隨機產(chǎn)生向量IV。然后,隨機產(chǎn)生的初始化向量IV添加到傳遞數(shù)據(jù)191。
但是,添加初始化向量IV到數(shù)據(jù)意味著將特殊的扇區(qū)大小2064字節(jié)(其中IV=16字節(jié))引入到PC驅(qū)動接口,該接口處理通常增量為2048字節(jié)的數(shù)據(jù)。這里創(chuàng)建的是與個人計算機(PC)的環(huán)境不兼容的非標準的格式。不兼容的環(huán)境包括共同使用的ATAPI設(shè)備驅(qū)動器和處理2048字節(jié)或4096字節(jié)扇區(qū)大小的UDF(通用數(shù)據(jù)格式)FS驅(qū)動器。
與PC環(huán)境的不兼容性必須通過就硬件和/或軟件作特殊修改來解決。這種工作是昂貴和費力的。修改之后,數(shù)據(jù)處理的速度一定要降低。
已經(jīng)設(shè)計出本發(fā)明以便解決前述問題,并且本發(fā)明的目的之一是使得需要時能夠取消授權(quán)由驅(qū)動單元輸出的數(shù)據(jù)的狀態(tài),以便阻止數(shù)據(jù)被盜。本發(fā)明的另一個目的是提供安全性增強安排,甚至在使用通用總線的設(shè)置中也允許更新初始化向量IV,使得在那條總線上交換的數(shù)據(jù)將不被盜取。
在執(zhí)行該發(fā)明中并且根據(jù)本發(fā)明的一個實施例,提供一種信息處理裝置,包括傳遞控制裝置,用于控制數(shù)據(jù)的傳遞;計數(shù)裝置,用于對所述傳遞控制裝置已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一確定裝置,用于確定是否由所述計數(shù)裝置計數(shù)的次數(shù)至少等于預(yù)先確定的閾值;第一指令裝置,如果由所述第一確定裝置發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么該第一指令裝置發(fā)指令給所述傳遞控制裝置以停止所述數(shù)據(jù)的傳遞;產(chǎn)生裝置,用于產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞由所述傳遞控制裝置控制;第二確定裝置,用于確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞由所述傳遞控制裝置控制;以及第二指令裝置,如果由所述第二確定裝置發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么該第二指令裝置發(fā)指令給所述產(chǎn)生裝置以產(chǎn)生所述初始化向量,同時發(fā)指令給所述計數(shù)裝置以復(fù)位已經(jīng)計數(shù)的次數(shù)。
最好,本發(fā)明的信息處理裝置進而可以包括輸出裝置,如果指令由第一指令裝置給出,那么該輸出裝置輸出消息到外部裝置,該消息說數(shù)據(jù)的傳遞被停止。
根據(jù)本發(fā)明的另一個實施例,提供一種信息處理方法,包含以下步驟控制數(shù)據(jù)的傳遞;對所述傳遞控制步驟已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一次確定在所述計數(shù)步驟中計數(shù)的次數(shù)是否至少等于預(yù)先確定的閾值;如果在所述第一次確定步驟中發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么在所述傳遞控制步驟中第一次發(fā)出指令以停止所述數(shù)據(jù)的傳遞;產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;第二次確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;以及如果在所述第二次確定步驟中發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么在所述產(chǎn)生步驟中第二次發(fā)出指令以產(chǎn)生所述初始化向量,同時在所述計數(shù)步驟中給出指令以復(fù)位已經(jīng)計數(shù)的次數(shù)。
根據(jù)本發(fā)明進一步的實施例,提供一種程序,用于使計算機執(zhí)行包含下述步驟的過程控制數(shù)據(jù)的傳遞;對所述傳遞控制步驟已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一次確定在所述計數(shù)步驟中計數(shù)的次數(shù)是否至少等于預(yù)先確定的閾值;如果在所述第一次確定步驟中發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么在所述傳遞控制步驟中第一次發(fā)出指令以停止所述數(shù)據(jù)的傳遞;產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;第二次確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;以及如果在所述第二次確定步驟中發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么在所述產(chǎn)生步驟中第二次發(fā)出指令以產(chǎn)生所述初始化向量,同時在所述計數(shù)步驟中給出指令以復(fù)位已經(jīng)計數(shù)的次數(shù)。
根據(jù)本發(fā)明更進一步的實施例,提供一種記錄媒體,它記錄計算機可讀的程序,用于使計算機執(zhí)行包含下述步驟的過程控制數(shù)據(jù)的傳遞;對所述傳遞控制步驟已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一次確定在所述計數(shù)步驟中計數(shù)的次數(shù)是否至少等于預(yù)先確定的閾值;如果在所述第一次確定步驟中發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么在所述傳遞控制步驟中第一次發(fā)出指令以停止所述數(shù)據(jù)的傳遞;產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;第二次確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;以及如果在所述第二次確定步驟中發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么在所述產(chǎn)生步驟中第二次發(fā)出指令以產(chǎn)生所述初始化向量,同時在所述計數(shù)步驟中給出指令以復(fù)位已經(jīng)計數(shù)的次數(shù)。
在使用根據(jù)本發(fā)明的信息處理裝置、信息處理方法和程序的情形,數(shù)據(jù)的發(fā)送和接收將被停止,除非周期性地給出提供初始化向量的指令。
因此根據(jù)本發(fā)明,在用于在裝置間發(fā)送和接收數(shù)據(jù)的總線上增強了安全性。
根據(jù)本發(fā)明,在如下兩個裝置(一方面一個裝置用于從記錄媒體讀取數(shù)據(jù),而另一方面另一個裝置用于處理從數(shù)據(jù)讀取裝置接收的數(shù)據(jù))之間的認證過程之后,授權(quán)數(shù)據(jù)讀取裝置輸出取回的數(shù)據(jù)到另一個裝置,但是需要時授權(quán)的狀態(tài)被設(shè)置為取消(或更新)。這使得在授權(quán)數(shù)據(jù)讀取裝置輸出數(shù)據(jù)到另一個裝置之后,可能阻止由于非法訪問的數(shù)據(jù)泄露。
根據(jù)本發(fā)明,可以隨機更新加密中使用的初始化向量。那意味著重復(fù)加密相同的數(shù)據(jù)將不導(dǎo)致產(chǎn)生相同的加密句。這有助于阻止數(shù)據(jù)替換、竄改或其它的數(shù)據(jù)非法使用。
此外,根據(jù)本發(fā)明,更新初始化向量不妨礙使用通用總線接口以及UDFFS驅(qū)動器,它們由OS(操作系統(tǒng))作為標準提供。不需要在互連的裝置之間的環(huán)境中做費力的修改以便更新初始化向量。
圖1是顯示典型的再現(xiàn)裝置的結(jié)構(gòu)的方塊圖。
圖2是顯示典型的再現(xiàn)裝置的另一個結(jié)構(gòu)的方塊圖。
圖3是組成認證過程的步驟的流程圖。
圖4是用于加密的典型電路的電路圖。
圖5是用于解密的典型電路的電路圖。
圖6是說明典型的再現(xiàn)裝置的問題的示意圖。
圖7是說明典型的再現(xiàn)裝置的另一個問題的示意圖。
圖8是說明發(fā)送和接收初始化向量IV時遇到的問題的示意圖。
圖9是說明發(fā)送和接收初始化向量IV時遇到的另一個問題的示意圖。
圖10是作為本發(fā)明的一個實施例實現(xiàn)的系統(tǒng)的方塊圖。
圖11是說明發(fā)送和接收數(shù)據(jù)中涉及的驅(qū)動器的示意圖。
圖12是組成由驅(qū)動單元執(zhí)行的過程的步驟的流程圖。
圖13是延續(xù)圖12的流程圖的流程圖。
圖14是關(guān)于初始化向量IV的發(fā)送和接收的時序圖。
圖15是關(guān)于初始化向量IV的發(fā)送和接收的另一個時序圖。
圖16是關(guān)于初始化向量IV的發(fā)送和接收的另一個時序圖。
圖17是關(guān)于數(shù)據(jù)的發(fā)送和接收的時序圖。
圖18是顯示命令分組的結(jié)構(gòu)的示意圖。
圖19是作為本發(fā)明的實施例的變化實現(xiàn)的系統(tǒng)的方塊圖。
圖20是關(guān)于數(shù)據(jù)的發(fā)送和接收的另一個時序圖。
圖21是顯示作為本發(fā)明的第二個實施例實現(xiàn)的記錄裝置的結(jié)構(gòu)的方塊圖。
圖22關(guān)于初始化向量IV的發(fā)送和接收的另一個時序圖。
圖23關(guān)于初始化向量IV的發(fā)送和接收的另一個時序圖。
圖24是組成由主機執(zhí)行的過程的步驟的流程圖。
圖25是延續(xù)圖24的流程圖的流程圖。
圖26是組成由驅(qū)動單元執(zhí)行的另一個過程的步驟的流程圖。
圖27是延續(xù)圖26的流程圖的流程圖。
301驅(qū)動單元,302主機,303盤,311認證處理設(shè)備,312加密設(shè)備,313扇區(qū)傳遞控制設(shè)備,314扇區(qū)傳遞計數(shù)器,315隨機數(shù)產(chǎn)生設(shè)備,316消息轉(zhuǎn)發(fā)設(shè)備,317命令處理設(shè)備,318訪問處理設(shè)備,321認證處理設(shè)備,322解密設(shè)備,401驅(qū)動單元,402主機,403盤,411認證處理設(shè)備,412解密設(shè)備,413扇區(qū)傳遞控制設(shè)備,414扇區(qū)傳遞計數(shù)器,415隨機數(shù)產(chǎn)生設(shè)備,416消息轉(zhuǎn)發(fā)設(shè)備,417命令處理設(shè)備,418訪問處理設(shè)備,421認證處理設(shè)備,422加密設(shè)備。
具體實施例方式
現(xiàn)在將說明本發(fā)明的優(yōu)選實施例。下面作為本發(fā)明的優(yōu)選實施例說明的如下對應(yīng)于
權(quán)利要求
優(yōu)選實施例的說明基本提供支持所要求保護內(nèi)容的特定例子。如果下面說明的作為優(yōu)選實施例的本發(fā)明的任何例子沒有嚴格對應(yīng)的權(quán)利要求,這不意味著所述例子與權(quán)利要求無關(guān)。相反地,如果以下說明的本發(fā)明的任何例子具有特別對應(yīng)的權(quán)利要求,這不意味著所述例子限于那個權(quán)利要求或與其它權(quán)利要求無關(guān)。
進一步地,下面的優(yōu)選實施例的說明不要求包括對應(yīng)于全部權(quán)利要求的所有例子。換句話說,以下的說明不限制或否定任何發(fā)明實體,該實體未被本發(fā)明的權(quán)利要求涵蓋,但是在將來可以通過分案申請或通過修改由本申請人增加或生成。
根據(jù)本發(fā)明的一個優(yōu)選實施例,提供一種信息處理裝置,它至少包括傳遞控制裝置(如圖10中用于執(zhí)行圖13中的步驟S46的扇區(qū)傳遞控制設(shè)備313),用于控制數(shù)據(jù)的傳遞;計數(shù)裝置(如圖10中用于執(zhí)行圖13中的步驟S47的扇區(qū)傳遞計數(shù)器314),用于對傳遞控制裝置已經(jīng)控制數(shù)據(jù)傳遞的次數(shù)計數(shù);第一確定裝置(如圖10中用于執(zhí)行圖13中的步驟S45的扇區(qū)傳遞計數(shù)器314),用于確定由計數(shù)裝置計數(shù)的次數(shù)是否至少等于預(yù)先確定的閾值;第一指令裝置(如圖10中的扇區(qū)傳遞計數(shù)器314),如果由第一確定裝置發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么該第一指令裝置給傳遞控制裝置發(fā)指令以停止數(shù)據(jù)的傳遞;產(chǎn)生裝置(如圖10中用于執(zhí)行圖13中的步驟S41的隨機數(shù)產(chǎn)生設(shè)備315),用于產(chǎn)生在加密或解密數(shù)據(jù)中使用的初始化向量,該數(shù)據(jù)的傳遞由傳遞控制裝置控制;第二確定裝置(如圖10中用于執(zhí)行圖13中的步驟S40的命令處理設(shè)備317),用于確定是否由外部裝置給出提供初始化向量的指令,向和從該裝置發(fā)送和接收數(shù)據(jù),該數(shù)據(jù)的傳遞由傳遞控制裝置控制;以及第二指令裝置(如圖10中用于執(zhí)行圖13中的步驟S42的隨機數(shù)產(chǎn)生設(shè)備315),如果由第二確定裝置發(fā)現(xiàn)提供初始化向量的指令被給出,那么該第二指令裝置發(fā)指令給產(chǎn)生裝置以產(chǎn)生初始化向量,同時發(fā)指令給計數(shù)裝置以復(fù)位已經(jīng)計數(shù)的次數(shù)。
最好,本發(fā)明的信息處理裝置可以進而包括輸出裝置(如圖10中用于執(zhí)行圖13中的步驟S48的消息轉(zhuǎn)發(fā)設(shè)備316),如果指令由第一指令裝置給出,那么該第一指令裝置輸出消息到外部裝置,該消息說數(shù)據(jù)的傳遞被停止。
現(xiàn)在將參考
本發(fā)明的優(yōu)選實施例。
圖10是作為本發(fā)明的第一個實施例實現(xiàn)的系統(tǒng)的方塊圖。
圖10中顯示的系統(tǒng)是再現(xiàn)(即,讀出)記錄在記錄媒體上的數(shù)據(jù)的系統(tǒng)。圖10的系統(tǒng)由提供數(shù)據(jù)的驅(qū)動單元301和接收提供的數(shù)據(jù)的主機302組成。
盤303是這樣的記錄媒體中的任何一種,如CD-ROM(致密盤-ROM)、CD-R(可記錄致密盤)、CD-RW(可重寫致密盤)、DVD-ROM(數(shù)字通用盤-ROM)、DVD-R(可記錄數(shù)字通用盤)DVD-RW(可重記錄數(shù)字通用盤)、DVD+R(DVD+可記錄)、DVD+RW(DVD+可重寫)、DVD-RAM(數(shù)字通用盤-隨機訪問存儲器)和B1u-Ray(藍光)盤。本發(fā)明的范圍不限于這些記錄媒體,并且可應(yīng)用到用于處理其它類型記錄媒體的其它系統(tǒng)(在記錄方法或者媒體形狀方面)。
驅(qū)動單元301和主機302通過合適的接口互連,該接口用于在驅(qū)動單元301和主機302之間發(fā)送和接收數(shù)據(jù)。接口可以說明性地是ATAPI(具有分組接口的AT附件)。ATAPI是基于數(shù)據(jù)傳遞協(xié)議的接口,用于連接CD-ROM驅(qū)動器或除了硬盤驅(qū)動器的其它外圍設(shè)備到IDE(集成驅(qū)動電子組件)和ATA(AT附件)接口。說明性地,ATAPI設(shè)置將兼容SCSI的命令變?yōu)榉纸M,用于傳遞到IDE(集成驅(qū)動電子組件)接口以便控制外圍設(shè)備。類似的命令分組也可以結(jié)合這樣的物理接口如USB(通用串行總線)或IEEE 1394使用。
驅(qū)動單元301包括認證處理設(shè)備311、加密設(shè)備312、扇區(qū)傳遞控制設(shè)備313、扇區(qū)傳遞計數(shù)器314、隨機數(shù)產(chǎn)生設(shè)備315、消息轉(zhuǎn)發(fā)設(shè)備316、命令處理設(shè)備317和訪問處理設(shè)備318。
主機302包括認證處理設(shè)備321和解密設(shè)備322。
驅(qū)動單元301中的認證處理設(shè)備311和主機302中的認證處理設(shè)備321互相認證。
在訪問處理設(shè)備318的控制下,給加密設(shè)備312提供從盤303讀取的扇區(qū)數(shù)據(jù)351和來自認證處理設(shè)備311的會話密鑰Ks。也給加密設(shè)備312饋送由隨機數(shù)產(chǎn)生設(shè)備315作為初始化向量IV產(chǎn)生的隨機數(shù)。
由隨機數(shù)產(chǎn)生設(shè)備315產(chǎn)生的隨機數(shù)可以不改變地用作初始化向量IV?;蛘?,可以作出安排以便從隨機數(shù)和其它數(shù)據(jù)(如從盤303讀取的PSN(物理扇區(qū)號))得出初始化向量IV??梢栽隍?qū)動單元301內(nèi)安裝這樣的安排。
加密設(shè)備313使用會話密鑰Ks和初始化向量IV加密提供的扇區(qū)數(shù)據(jù)351,并且發(fā)送加密的數(shù)據(jù)到扇區(qū)傳遞控制設(shè)備313。扇區(qū)傳遞控制設(shè)備313傳遞加密的扇區(qū)數(shù)據(jù)351到主機303中的解密設(shè)備322。即,從驅(qū)動單元301提供給主機303的數(shù)據(jù)是加密的扇區(qū)數(shù)據(jù)351。
加密設(shè)備312也輸出數(shù)據(jù)到扇區(qū)傳遞計數(shù)器314。構(gòu)造扇區(qū)傳遞計數(shù)器314,以便對輸出到主機302的扇區(qū)數(shù)據(jù)(即,從加密設(shè)備312輸出的扇區(qū)數(shù)據(jù)351)的數(shù)目計數(shù)。換句話說,扇區(qū)傳遞計數(shù)器314對扇區(qū)傳遞控制設(shè)備313已經(jīng)控制扇區(qū)數(shù)據(jù)傳遞的次數(shù)計數(shù)。
扇區(qū)傳遞計數(shù)器314管理預(yù)先確定的最大計數(shù)(稱為Nmax)。在操作中,扇區(qū)傳遞計數(shù)器314連續(xù)地檢查以了解正在計數(shù)的扇區(qū)的數(shù)目(計數(shù)器值N)是否超過預(yù)先確定的最大輸出計數(shù)。
如果發(fā)現(xiàn)扇區(qū)計數(shù)至少等于最大計數(shù)(N≥Nmax),扇區(qū)傳遞計數(shù)器314發(fā)指令給扇區(qū)傳遞控制設(shè)備313以停止輸出扇區(qū)數(shù)據(jù)351到主機302。同時,扇區(qū)傳遞計數(shù)器314發(fā)指令給命令處理設(shè)備317,以停止訪問處理設(shè)備318訪問盤303。
從扇區(qū)傳遞計數(shù)器314發(fā)指令以停止輸出扇區(qū)數(shù)據(jù)351,扇區(qū)傳遞控制設(shè)備313發(fā)指令給消息轉(zhuǎn)發(fā)設(shè)備316,以輸出消息362(在這種情況下為差錯消息)給主機302。
同時,從驅(qū)動單元301通過接口提供加密的扇區(qū)數(shù)據(jù)351給主機303中的解密設(shè)備322。也饋送由隨機數(shù)產(chǎn)生設(shè)備315產(chǎn)生的初始化向量IV給解密設(shè)備322,該向量IV在不同于傳輸扇區(qū)數(shù)據(jù)351的路徑上發(fā)送(隨后將參考圖11更多說明關(guān)于這個安排)。
解密設(shè)備322使用從認證處理設(shè)備331饋送的會話密鑰Ks和從驅(qū)動單元301發(fā)送的初始化向量IV,執(zhí)行它的解密過程。解密設(shè)備322通過這個過程產(chǎn)生扇區(qū)數(shù)據(jù)361。
需要時主機302提供命令分組363給驅(qū)動單元301。命令分組363說明性地包括讀命令,給出從盤303讀數(shù)據(jù)的指令;寫命令,給出寫數(shù)據(jù)到盤303的指令;以及報告密鑰命令,給出發(fā)初始化向量IV的指令。
下面參考圖11說明的是扇區(qū)數(shù)據(jù)351發(fā)送和接收的路徑和其它數(shù)據(jù)發(fā)送和接收的路徑。在圖11中,PC驅(qū)動器391是控制初始化向量IV的產(chǎn)生、加密的扇區(qū)數(shù)據(jù)的產(chǎn)生和傳遞扇區(qū)數(shù)據(jù)的創(chuàng)建的驅(qū)動器。來自PC驅(qū)動器391的數(shù)據(jù)移交給光盤驅(qū)動器392。
光盤驅(qū)動器392是控制向和從光盤寫和讀數(shù)據(jù)的操作的驅(qū)動器。如果光盤是記錄媒體,如DVD,那么數(shù)據(jù)(即文件)以UDF(通用數(shù)據(jù)格式)寫到那個盤。因此,由光盤驅(qū)動器392取回(即控制)的數(shù)據(jù)(文件),在UDF FS驅(qū)動器393的控制下,通過光盤文件閱讀器394傳遞到視頻/音頻回放功能395。
視頻/音頻回放功能395說明性地控制傳遞扇區(qū)數(shù)據(jù)的獲得、初始化向量IV的獲得以及加密的扇區(qū)數(shù)據(jù)的解密。
如所述,通過UDF FS驅(qū)動器393如此發(fā)送和接收包括扇區(qū)數(shù)據(jù)的視頻和音頻數(shù)據(jù)。其它數(shù)據(jù)如初始化向量IV和用于發(fā)出向量IV的命令的發(fā)送和接收,不通過UDF FS驅(qū)動器393,而是通過另一個路徑,如Microsoft Windows(注冊商標)下所謂的SCSI PASS Through。
圖10中驅(qū)動單元301和主機302之間畫的線中,粗線表示通過UDF FS驅(qū)動器393發(fā)送和接收數(shù)據(jù)的路徑(以下合適時稱為UDF路徑);細線表示以別的方式發(fā)送和接收數(shù)據(jù)的路徑(通過SCSI PASS Through;以下合適時稱為通過路徑)。
如圖10中所示,連接扇區(qū)傳遞控制設(shè)備313和解密設(shè)備322的路徑是UDF路徑。認證處理設(shè)備311和認證處理設(shè)備321之間的認證過程需要的數(shù)據(jù)在通過路徑上發(fā)送和接收。從消息轉(zhuǎn)發(fā)設(shè)備316輸出的消息也在通過路徑上發(fā)送和接收。而且,初始化向量IV在通過路徑上交換。
UDF FS驅(qū)動器393處理以2048字節(jié)或2048字節(jié)的整數(shù)倍為增量的數(shù)據(jù)。即,UDF路徑只允許以2048字節(jié)或2048字節(jié)的整數(shù)倍為增量的數(shù)據(jù)通過。
另一方面,通過路徑基本上能夠讓數(shù)據(jù)發(fā)送和接收而不管數(shù)據(jù)大小。在這方面,通過路徑適合發(fā)送和接收16字節(jié)的初始化向量IV。
現(xiàn)在將參考圖12和13的流程圖說明圖10中所示的驅(qū)動單元301如何工作。在步驟S31中,進行檢查以確定盤303是否裝載到驅(qū)動單元301中。如果在步驟S31中發(fā)現(xiàn)盤303裝載到驅(qū)動單元301中,到達步驟S32。在步驟S32中,進行檢查以確定預(yù)先確定的應(yīng)用是否由主機302啟動。
預(yù)先確定的應(yīng)用是向或從裝載在驅(qū)動單元301中的盤303寫或讀數(shù)據(jù)需要的應(yīng)用。
如果在步驟S32中發(fā)現(xiàn)預(yù)先確定的應(yīng)用由主機302啟動,就到達步驟S33。在步驟S33中,驅(qū)動單元301和主機302互相認證,并且由驅(qū)動單元301和主機302產(chǎn)生會話密鑰Ks(為共享使用)。在步驟S34中,進行檢查以確定會話密鑰Ks的產(chǎn)生是否完成。重復(fù)步驟S33和S34直到發(fā)現(xiàn)會話密鑰Ks的產(chǎn)生完成。
如果在步驟S34中發(fā)現(xiàn)會話密鑰Ks的產(chǎn)生完成,就到達步驟S35。在步驟S35中,驅(qū)動單元301中的扇區(qū)傳遞計數(shù)器314上的計數(shù)器值N被設(shè)置為作為最大計數(shù)器值的數(shù)Nmax(即,N=Nmax)。
計數(shù)器值N被設(shè)置為Nmax之后,扇區(qū)傳遞計數(shù)器314發(fā)指令以阻止數(shù)據(jù)從扇區(qū)傳遞控制設(shè)備313輸出到主機302。
在步驟S36中,進行檢查以確定主機302是否已經(jīng)請求傳遞初始化向量IV。由命令處理設(shè)備317完成檢查,以確定是否從主機302接收到命令分組363以及是否接收的命令分組363表示傳遞初始化向量IV的請求。
重復(fù)步驟S36直到檢測到傳遞初始化向量IV的請求。當在步驟S36中發(fā)現(xiàn)進行初始化向量傳遞請求時,到達步驟S37。在步驟S37中,產(chǎn)生初始化向量IV。
更特別地,通過命令處理設(shè)備317從主機302接收命令分組363,并且分析它以了解是否它表示所述請求,從而檢測到傳遞初始化向量IV的請求。一旦檢測到請求,命令處理設(shè)備317通知隨機數(shù)產(chǎn)生設(shè)備315檢測到請求。得到這樣的通知,隨機數(shù)產(chǎn)生設(shè)備315在步驟S37中產(chǎn)生初始化向量IV。
隨機數(shù)產(chǎn)生設(shè)備315產(chǎn)生隨機數(shù),它可以不改變地作為初始化向量IV使用,或者與預(yù)先確定的信息(如包含在命令分組363中請求傳遞初始化向量IV的信息)異或,以便產(chǎn)生初始化向量IV。
除了產(chǎn)生初始化向量IV,隨機數(shù)產(chǎn)生設(shè)備315發(fā)指令給扇區(qū)傳遞計數(shù)器314,以復(fù)位計數(shù)器值N到零。接收到指令后,扇區(qū)傳遞計數(shù)器314在步驟S38中初始化計數(shù)器值N到零。當扇區(qū)傳遞計數(shù)器314上計數(shù)器值N初始化到零時,扇區(qū)傳遞控制設(shè)備313切換到授權(quán)數(shù)據(jù)輸出的狀態(tài)。
在步驟S39中,由隨機數(shù)產(chǎn)生設(shè)備315產(chǎn)生的初始化向量IV提供給主機302。因為初始化向量IV在通過路徑上放置(即,傳遞),所以初始化向量IV可以在驅(qū)動單元301和主機302之間發(fā)送和接收,即使初始化向量是16字節(jié)長。
現(xiàn)在將參考圖14更詳細地說明步驟S33和S39之間發(fā)生的初始化向量IV的發(fā)送和接收。
主機302和驅(qū)動單元301分別在步驟S101和S111中互相認證。只有在互相認證成功完成之后,控制才傳遞給下一個步驟?;ハ嗾J證之后,驅(qū)動單元301中的認證處理設(shè)備311和主機302中的認證處理設(shè)備321每個產(chǎn)生會話密鑰Ks(用于共享使用)。
在步驟S102中,主機302產(chǎn)生命令分組363并且輸出它到驅(qū)動單元301。在步驟S102中產(chǎn)生并輸出的命令分組363組成報告密鑰命令,在這個例子中,該命令請求初始化向量IV的傳遞。
在步驟S112中,驅(qū)動單元301接收報告密鑰命令。在步驟S113中,驅(qū)動單元301產(chǎn)生初始化向量IV。在步驟S114中,驅(qū)動單元301輸出產(chǎn)生的初始化向量IV到主機302。初始化向量IV不改變地輸出到主機302。
在步驟S103中,主機303接收從驅(qū)動單元301輸出的初始化向量IV。
如所述,初始化向量IV可以不改變地從驅(qū)動單元301傳遞到主機302?;蛘?,初始化向量IV在輸出到主機302時可以加密。
初始化向量IV是隨機改變的數(shù),因為它由隨機數(shù)產(chǎn)生設(shè)備315使用隨機數(shù)產(chǎn)生。與會話密鑰Ks不同,初始化向量IV不需要特別地隱藏。因為那個原因,如上參考圖14所述,初始化向量IV可以以不加密的形式傳遞。
仍然存在顯然的前提,推薦初始化向量IV最好不可預(yù)測。最好通過初始化向量IV的傳遞之前將其加密來滿足該前提,以便改善安全性。
如果傳遞之前為了更高的安全性要加密初始化向量IV,就如圖15中所示發(fā)生涉及的步驟。在主機302一側(cè),基本上以與圖14中的步驟S101到S103相同的方式執(zhí)行步驟S131到S133。差別是在步驟S103中接收的初始化向量IV接收時需要解密,因為它已經(jīng)加密。
在驅(qū)動單元301的一側(cè),基本上以與圖14中的步驟S111到S114相同的方式執(zhí)行步驟S141到S144。差別是初始化向量IV在步驟S143中產(chǎn)生之后,它使用會話密鑰Ks被加密,并且加密的初始化向量IV(E[Ks,IV])在步驟S144中傳遞到主機302。
當主機302發(fā)出傳遞初始化向量IV的請求時,驅(qū)動單元301如所述產(chǎn)生初始化向量IV,并傳遞它到主機302。不必說,驅(qū)動單元301將產(chǎn)生的初始化向量IV不僅傳遞到主機302,而且傳遞到驅(qū)動單元301內(nèi)的加密設(shè)備312(圖10)。
返回到圖12的流程圖的說明,在完成步驟S39中的初始化向量IV的傳遞之后,到達步驟S40(圖13)。在步驟S40中,進行檢查以確定是否進行再發(fā)初始化向量IV的請求。如果在步驟S40中發(fā)現(xiàn)進行初始化向量重發(fā)請求,就執(zhí)行步驟S41到S43。
步驟S41到S43基本上與步驟S37到S38相同。下面參考圖16更多說明關(guān)于該過程的這部分。在步驟S161中,主機301請求驅(qū)動單元301重發(fā)初始化向量IV。重發(fā)請求以正在輸出的命令分組363的形式進行。說明性地,命令分組363與圖14的步驟S102中發(fā)出的報告密鑰命令相同。
在步驟S171中,驅(qū)動單元301接收報告密鑰命令。在步驟S172中,驅(qū)動單元301再產(chǎn)生初始化向量IV。初始化向量IV的重新產(chǎn)生以與圖14的步驟S113或圖15的步驟S143相同的方式執(zhí)行。在步驟S173中,重新產(chǎn)生的初始化向量IV傳遞到主機302。初始化向量IV可以加密或不改變地傳遞。
返回到圖13的流程圖的說明,如果在步驟S40中未檢測到重發(fā)初始化向量IV的請求,或者如果在步驟S43中完成了與初始化向量IV的傳遞相關(guān)聯(lián)的處理,那么到達步驟S44。
在步驟S44中,進行檢查以確定是否進行傳遞扇區(qū)數(shù)據(jù)351的請求。檢查由命令處理設(shè)備317完成,以確定是否從主機302接收到命令分組363、以及是否接收的命令分組363組成傳遞扇區(qū)數(shù)據(jù)351的請求。
如果在步驟S44中未檢測到傳遞扇區(qū)數(shù)據(jù)351的請求,就重新到達步驟S40并且重復(fù)隨后的步驟。如果在步驟S44中檢測到傳遞扇區(qū)數(shù)據(jù)351的請求,就到達步驟S45。
在步驟S45中,進行檢查以確定扇區(qū)傳遞計數(shù)器314上的計數(shù)器值N是否大于計數(shù)Nmax(即,N>Nmax的條件)。如果在步驟S45中未發(fā)現(xiàn)計數(shù)器值N大于計數(shù)Nmax,就到達步驟S46。只要計數(shù)器值N保持小于計數(shù)Nmax(即,滿足N<Nmax的條件),扇區(qū)傳遞控制設(shè)備313被授權(quán)輸出數(shù)據(jù)(即,被允許傳遞數(shù)據(jù)到主機302)。
在步驟S46中,扇區(qū)傳遞控制設(shè)備313傳遞數(shù)據(jù)到主機302。更特別地,在來自命令處理設(shè)備317的指令下,訪問處理設(shè)備318控制扇區(qū)數(shù)據(jù)351從盤303的讀取。在訪問處理設(shè)備318的控制下,從盤303讀取的扇區(qū)數(shù)據(jù)351提供給加密設(shè)備312。
加密設(shè)備312使用從認證處理設(shè)備311提供的會話密鑰Ks和來自隨機數(shù)產(chǎn)生設(shè)備315的初始化向量IV,加密扇區(qū)數(shù)據(jù)351。加密的扇區(qū)數(shù)據(jù)351在扇區(qū)傳遞控制設(shè)備313的控制下傳遞到主機302。在這種情況下,扇區(qū)數(shù)據(jù)351以2048字節(jié)(或2048字節(jié)的整數(shù)倍)的增量在UDF路徑上傳遞。
當數(shù)據(jù)從加密設(shè)備312輸出時,通知其扇區(qū)傳遞計數(shù)器314。在步驟S47中,扇區(qū)傳遞計數(shù)器314通過將值N增1(N+1)更新要管理的計數(shù)器值N,并且確定更新的值N作為新的計數(shù)器值N。扇區(qū)傳遞計數(shù)器314上的計數(shù)器值N更新之后,重新到達步驟S40并重復(fù)隨后的步驟。
現(xiàn)在將參考圖17的時序圖關(guān)于傳遞扇區(qū)數(shù)據(jù)351說明更多。在步驟S201中,主機302發(fā)讀命令。這是發(fā)出的從盤303讀取扇區(qū)數(shù)據(jù)351的命令。寫數(shù)據(jù)到盤303時將發(fā)出寫命令,這一點隨后將說明。
這里發(fā)出的讀命令是一種類型的命令分組363,說明性地包含圖18中所示的數(shù)據(jù)結(jié)構(gòu)。在INCITS T10 WORKING DRAFT“Multimedia CommandSet-4(MMC-4).”中有命令的更多細節(jié)。
圖18中所示的命令分組363表示讀或?qū)懨畹母袷?。圖18中顯示的命令分組363中的數(shù)據(jù)字段中,這里將說明后面的說明中需要的那些。
“操作碼”字段是容納指示這個命令是讀命令還是寫命令的數(shù)據(jù)的字段。因此參考這個字段中所寫的數(shù)據(jù),允許已經(jīng)從主機302接收到命令的驅(qū)動單元301確定接收的命令是讀命令還是寫命令?!安僮鞔a”字段占有1字節(jié)數(shù)據(jù)。
“邏輯塊地址”字段是容納開始讀數(shù)據(jù)的位置的起始LBA的字段。如果命令分組363組成寫命令,那么開始寫數(shù)據(jù)的位置的起始LBA放在這個字段中?!斑壿媺K地址”字段占有4字節(jié)數(shù)據(jù)。
“傳遞長度”字段是這樣的字段如果命令分組363是讀命令,就容納用于指明要讀的扇區(qū)數(shù)的數(shù)據(jù),或者如果命令分組363是寫命令,就容納用于指明要寫的扇區(qū)數(shù)的數(shù)據(jù)?!皞鬟f長度”字段占有4字節(jié)數(shù)據(jù)。
在步驟S201中由主機302發(fā)出的命令分組363是這樣的命令,在該命令中“操作碼”字段具有指明讀命令的值。這里假定包括在發(fā)出的讀命令中的“傳遞長度”字段包含“N1”。
在步驟S201中發(fā)出的讀命令在步驟S231中提供給驅(qū)動單元301的命令處理設(shè)備317。命令處理設(shè)備317參考提供的命令中的“操作碼”字段,并且識別出這是讀命令。然后命令處理設(shè)備317參考“邏輯塊地址”字段以識別出開始讀數(shù)據(jù)的地址,并且參考“傳遞長度”字段來發(fā)現(xiàn)在這種情況下“傳遞長度”=N3。
命令處理設(shè)備317發(fā)送識別的結(jié)果給訪問處理設(shè)備318。根據(jù)由命令處理設(shè)備317給出的識別結(jié)果,訪問處理設(shè)備318控制從盤303的數(shù)據(jù)讀取。訪問處理設(shè)備318說明性地執(zhí)行地址翻譯。
更特別地,訪問處理設(shè)備318執(zhí)行LBA/PSN翻譯。LBA表示“邏輯塊地址”,而PSN表示“物理扇區(qū)號”。LBA指明邏輯地址并且說明性地包括在讀命令中。這是可以由驅(qū)動單元301和主機302以獨立于盤303的物理媒體的方式共同處理的邏輯地址,從該盤303讀數(shù)據(jù)。
如與LBA相反,PSN指明物理地址。雖然命令分組363包括LBA,這個地址只表示盤303上的邏輯地址;為了兩方之間共同使用,需要時從盤303讀取的實際物理地址PSN翻譯為合適的邏輯地址。從物理地址(PSN)到邏輯地址(LBA)的翻譯或相反翻譯由訪問處理設(shè)備318執(zhí)行。
說明性地,關(guān)于盤303上具有特定物理扇區(qū)號的物理扇區(qū),具有順序的邏輯扇區(qū)號的邏輯扇區(qū),被連續(xù)地分配給組成用戶數(shù)據(jù)區(qū)一對用戶可用的記錄區(qū)一(未顯示)的物理扇區(qū)。上述地址翻譯的例子在INCITS T10WORKINGDRAFT“Multimedia Command Set-4(MMC-4).”中說明。
從LBA到PSN的翻譯之后,在步驟S232中搜索盤303上由翻譯的PSN指明的位置。搜索之后,光拾取(未顯示)移到讀數(shù)據(jù)的位置并執(zhí)行其它有關(guān)操作,使得從盤303讀取扇區(qū)數(shù)據(jù)351。這樣取回的扇區(qū)數(shù)據(jù)351提供給加密設(shè)備312。
給加密設(shè)備312提供來自認證處理設(shè)備311的會話密鑰Ks以及來自隨機數(shù)產(chǎn)生設(shè)備315的初始化向量IV。加密設(shè)備312使用提供的會話密鑰Ks和初始化向量IV進行加密扇區(qū)數(shù)據(jù)351。在步驟S232中,加密的扇區(qū)數(shù)據(jù)351(在這個例子中加密的扇區(qū)數(shù)據(jù)#1),在扇區(qū)傳遞控制設(shè)備313的控制下輸出到主機302的解密設(shè)備322。
解密設(shè)備322通過使用從認證處理設(shè)備321提供的會話密鑰Ks和來自驅(qū)動單元301的隨機數(shù)產(chǎn)生設(shè)備315的初始化向量IV,解密提供的加密的扇區(qū)數(shù)據(jù)#1。以這種方式產(chǎn)生的扇區(qū)數(shù)據(jù)361發(fā)送到未顯示的應(yīng)用軟件、顯示單元或揚聲器。
在驅(qū)動單元301和主機302之間重復(fù)上面的步驟。由驅(qū)動單元301讀取一系列的物理扇區(qū)數(shù)據(jù)。即,在驅(qū)動單元301的尋道(seek)控制下從盤303讀取扇區(qū)數(shù)據(jù)的序列,并提供給驅(qū)動單元301。
在步驟S233到S240中,應(yīng)請求(即,響應(yīng)發(fā)出的讀命令)驅(qū)動單元301連續(xù)地加密取回的扇區(qū)數(shù)據(jù),并且提供加密的數(shù)據(jù)給主機302。
傳遞扇區(qū)數(shù)據(jù)到主機302時,驅(qū)動單元301同時更新由扇區(qū)傳遞計數(shù)器314管理的計數(shù)器值N。說明性地,當在步驟S232中加密扇區(qū)數(shù)據(jù)351并且傳遞到主機302時,扇區(qū)傳遞計數(shù)器314上的計數(shù)器值N為更新增大1(如在步驟S47中執(zhí)行的)。當重復(fù)計數(shù)器值N的更新時(即,當扇區(qū)數(shù)據(jù)連續(xù)地傳遞到主機302時),就到了計數(shù)器值N變得大于閾值Nmax(即,滿足N>Nmax的條件)的時刻。
參考圖17,假定進行設(shè)置使得(N1+N2)<Nmax<(N1+N2+N3)。在那種情況下,第(N1+N2+1)扇區(qū)數(shù)據(jù)在步驟S240中輸出之后(即,由扇區(qū)傳遞計數(shù)器314管理的計數(shù)器值N已經(jīng)達到(N1+N2+1)之后),連續(xù)地從盤303讀取扇區(qū)數(shù)據(jù),并且重復(fù)地加密和傳遞。隨著計數(shù)器值N重復(fù)地增大1,最終滿足N>Nmax的條件。
當滿足N>Nmax的條件時,即當在步驟S45(圖13)中的檢查結(jié)果是肯定的(“是”)時,到達步驟S48(圖17中的步驟S241)。
在步驟S48中(在步驟S241中),驅(qū)動單元301輸出差錯消息到主機302。如果驅(qū)動單元301中的扇區(qū)傳遞計數(shù)器314發(fā)現(xiàn)它正在計數(shù)的計數(shù)器值N大于閾值Nmax,那么扇區(qū)傳遞計數(shù)器314發(fā)指令給扇區(qū)傳遞控制設(shè)備313,以阻止由加密設(shè)備312發(fā)送的數(shù)據(jù)輸出到主機301。
從扇區(qū)傳遞計數(shù)器314得到輸出停止指令時,扇區(qū)傳遞控制設(shè)備313停止輸出扇區(qū)數(shù)據(jù),并且通知消息轉(zhuǎn)發(fā)設(shè)備316已經(jīng)接收到輸出停止指令。從扇區(qū)傳遞控制設(shè)備313接收到那個通知后,消息轉(zhuǎn)發(fā)設(shè)備316產(chǎn)生差錯消息并發(fā)送它到主機302。這個差錯消息使主機302認識到不能提供指明的數(shù)據(jù)。
消息表示驅(qū)動單元301不輸出數(shù)據(jù)的狀態(tài)。換句話說,現(xiàn)在取消了這樣的狀態(tài),在該狀態(tài)中作為由驅(qū)動單元301成功完成認證過程的結(jié)果授權(quán)數(shù)據(jù)輸出,并且不允許輸出數(shù)據(jù)。
因此上述實施例使改變已經(jīng)建立的狀態(tài)以便授權(quán)數(shù)據(jù)輸出成為可能。差錯消息輸出之后,主機302可以發(fā)出指令以從盤303讀取數(shù)據(jù),但是將沒有數(shù)據(jù)被讀取以相應(yīng)那個指令。
差錯消息輸出之后,停止從驅(qū)動單元301到主機302的數(shù)據(jù)發(fā)送。為了避免以這種方式停止數(shù)據(jù)輸出,主機302只需要請求驅(qū)動單元301以適當?shù)臅r控的方式發(fā)出初始化向量IV。
更特別地,請求發(fā)送初始化向量IV(如在圖13的步驟S40中)復(fù)位扇區(qū)傳遞計數(shù)器314上的計數(shù)器值N到零(在步驟S42中)。這阻止?jié)M足N>Nmax的條件,從而阻止差錯消息的輸出(在步驟S48中)。
主機302周期性地請求發(fā)出初始化向量IV。周期性地進行請求說明性地表示每個發(fā)出初始化向量IV的請求之后,當發(fā)現(xiàn)積累的要傳遞的數(shù)據(jù)的數(shù)量超過預(yù)先確定的數(shù)據(jù)數(shù)量(如16M字節(jié)(或8K扇區(qū)))時,進行另一個對初始化向量IV發(fā)出的請求?;蛘?,每個發(fā)出初始化向量IV的請求之后,另一個對IV發(fā)出的請求在預(yù)先確定的一段時間過去之后進行。
在任何情況下,主機302請求初始化向量IV以適合的時控方式發(fā)出。在過程正在正常(即合法地)執(zhí)行時,驅(qū)動單元301周期性地執(zhí)行步驟S41到S43。這導(dǎo)致扇區(qū)傳遞計數(shù)器314上的計數(shù)器值N周期性地復(fù)位到零。
如上所述采取的措施至少解決了下面的問題一旦驅(qū)動單元301和主機302已經(jīng)互相認證,驅(qū)動單元301就輸出被保護的數(shù)據(jù)到接收方(如由主機302啟動的應(yīng)用),如由該方指令的,而不管該方合法或不合法。另一個問題是連接兩方的總線可能被第三方抽頭,該第三方可能從總線盜竊數(shù)據(jù)并解密盜用的數(shù)據(jù)(用于非法使用)。
如所述,即從驅(qū)動單元301通過總線傳遞數(shù)據(jù)到主機302之前,首先通過使用會話密鑰Ks加密被保護的數(shù)據(jù)(即,記錄在盤303上的扇區(qū)數(shù)據(jù)351)來解決上面問題。對為盜竊數(shù)據(jù)而抽頭總線的不道德的第三方,這使得難以將保護形式的被盜數(shù)據(jù)解密為純文本數(shù)據(jù)。
另外,通過使用初始化向量IV加密感興趣的數(shù)據(jù),該初始化向量IV使用隨機數(shù)隨機改變。對以某種方式盜竊了被保護數(shù)據(jù)的第三方,這使得更難以將它解密為純文本數(shù)據(jù)。
使初始化向量IV變化使第三方難于確定是否目標純文本數(shù)據(jù)是特殊數(shù)據(jù)。這有助于阻止數(shù)據(jù)替換、竄改或其它數(shù)據(jù)濫用。適當?shù)馗鲁跏蓟蛄縄V,在使用單一密鑰加密大量數(shù)據(jù)的情況下,可能避開使加密密鑰(即會話密鑰Ks)轉(zhuǎn)變得容易預(yù)測的問題。
根據(jù)這個實施例,如上所述,停止數(shù)據(jù)的提供,除非主機302發(fā)指令以適當更新初始化向量IV。因此可能回避這樣的問題一旦兩方已經(jīng)互相認證,就讓驅(qū)動單元301輸出被保護的數(shù)據(jù)到主機302,而不管是否接收方(如由主機302啟動的應(yīng)用)是否合法。
即,控制合法的驅(qū)動單元301以便只傳遞被保護的數(shù)據(jù)給合法的主機302。
盡管顯示上面的實施例更新初始化向量IV,但或者可能更新會話密鑰Ks用于加密。換句話說,主機302可以不發(fā)指令來重復(fù)地更新發(fā)出的初始化向量IV,而是發(fā)指令來重復(fù)地更新會話密鑰Ks。
盡管如此,因為會話密鑰Ks只在互相認證的過程成功完成之后產(chǎn)生,考慮到更新會話密鑰Ks將需要的處理時間和性能,可能最好更新初始化向量IV。
雖然顯示上面的實施例從盤303讀取(即,再現(xiàn))目標數(shù)據(jù),但這不表示本發(fā)明的范圍限于數(shù)據(jù)的再現(xiàn)。也可以將本發(fā)明應(yīng)用于寫(即,記錄)數(shù)據(jù)到盤303。
圖19是本發(fā)明應(yīng)用到記錄裝置時有效的典型系統(tǒng)配置的方塊圖。
參考圖19,記錄裝置中的驅(qū)動單元401寫來自主機402的數(shù)據(jù)到驅(qū)動單元401中裝載的盤303。驅(qū)動單元401包括認證處理設(shè)備411、解密設(shè)備412、扇區(qū)傳遞控制設(shè)備413、扇區(qū)傳遞計數(shù)器414、隨機數(shù)產(chǎn)生設(shè)備415、消息轉(zhuǎn)發(fā)設(shè)備416、命令處理設(shè)備417和訪問處理設(shè)備418。
主機402包括認證處理設(shè)備421和加密設(shè)備422。
圖19中顯示的記錄裝置的結(jié)構(gòu)基本上與圖10中指示的再現(xiàn)裝置的結(jié)構(gòu)相同,因此將不進一步詳細說明。下面只說明兩個裝置間的主要結(jié)構(gòu)區(qū)別。
在圖19的記錄裝置中,扇區(qū)數(shù)據(jù)451記錄到盤403。要記錄的扇區(qū)數(shù)據(jù)451由從主機402提供的扇區(qū)數(shù)據(jù)461組成。使用由認證處理設(shè)備421提供的會話密鑰Ks,主機402的加密設(shè)備422加密從未顯示的記錄媒體或硬盤驅(qū)動器取回的扇區(qū)數(shù)據(jù)461。
由加密設(shè)備422加密的扇區(qū)數(shù)據(jù)461提供給扇區(qū)傳遞控制設(shè)備413。扇區(qū)傳遞控制設(shè)備413轉(zhuǎn)發(fā)提供的扇區(qū)數(shù)據(jù)461給解密設(shè)備412。解密設(shè)備412通過使用從認證處理設(shè)備411提供的會話密鑰Ks,解密接收的扇區(qū)數(shù)據(jù)461。這樣解密的扇區(qū)數(shù)據(jù)461在訪問處理設(shè)備418的控制下記錄到盤403。
扇區(qū)傳遞計數(shù)器414對從扇區(qū)傳遞控制設(shè)備413輸出到解密設(shè)備412的扇區(qū)數(shù)計數(shù)。記錄裝置的其它組件基本上與圖10中顯示的再現(xiàn)裝置的配對物相同,并且它們的工作基本相同。
圖19中的記錄裝置的驅(qū)動單元401基本執(zhí)行與圖12和13中的流程圖相同的步驟,因此將不進一步說明這些步驟。以下通過重新參考圖12和13的流程圖,只說明由驅(qū)動單元401執(zhí)行的不同步驟。
在步驟S44中,驅(qū)動單元401檢查以確定是否存在記錄扇區(qū)數(shù)據(jù)的請求。由命令處理設(shè)備417完成檢查,確定是否從主機402接收到命令分組463、以及接收的命令分組463是否組成請求寫扇區(qū)數(shù)據(jù)461的命令(即寫命令)。
在步驟S46中,加密的扇區(qū)數(shù)據(jù)461提供給解密設(shè)備412并由其解密。解密的扇區(qū)數(shù)據(jù)461(451)寫到盤403。其它步驟基本上與由再現(xiàn)裝置執(zhí)行的步驟相同。除非主機402周期性地請求發(fā)初始化向量IV,停止由驅(qū)動單元401寫數(shù)據(jù)(停止從主機402的數(shù)據(jù)輸出)。
上面的措施使得可能阻止主機402管理之下的被保護的數(shù)據(jù)非法輸出并寫到盤403。
下面參考圖20的時序圖說明與由圖19中顯示的記錄裝置記錄數(shù)據(jù)相關(guān)聯(lián)的步驟?;咎幚砼c圖17的時序圖中的相同,因此將不進一步詳細說明。主要的差別是在步驟S301中,主機402發(fā)送指明寫數(shù)據(jù)的寫命令。
在步驟S302中,主機402的加密設(shè)備422使用會話密鑰Ks加密扇區(qū)數(shù)據(jù)461,并且發(fā)送加密的數(shù)據(jù)(加密的扇區(qū)數(shù)據(jù)#1)到驅(qū)動單元401。驅(qū)動單元401的扇區(qū)傳遞控制設(shè)備423轉(zhuǎn)發(fā)提供的加密扇區(qū)數(shù)據(jù)#1給解密設(shè)備412。
解密設(shè)備412通過使用從認證處理設(shè)備411提供的會話密鑰Ks、和由隨機數(shù)產(chǎn)生設(shè)備415提供的初始化向量IV,解密提供的數(shù)據(jù),從而產(chǎn)生扇區(qū)數(shù)據(jù)451。這樣產(chǎn)生的扇區(qū)數(shù)據(jù)451在訪問處理設(shè)備418的控制下寫到盤403。
在上面的處理期間,扇區(qū)傳遞計數(shù)器414對從扇區(qū)傳遞控制設(shè)備413輸出的扇區(qū)數(shù)計數(shù),并且檢查以確定是否正在計數(shù)的計數(shù)器值N已經(jīng)變得大于值Nmax。當計數(shù)器值N變大時(即,當扇區(qū)數(shù)據(jù)連續(xù)地從扇區(qū)傳遞控制設(shè)備413輸出時),就到了計數(shù)器值N變得大于閾值Nmax(即,滿足N>Nmax的條件)的時刻。
參考圖20,假定進行設(shè)置使得(NI+N2)<Nmax<(N1+N2+N3)。在那種情況下,在步驟S340中接收到第(N1+N2+1)扇區(qū)數(shù)據(jù)之后(即,由扇區(qū)傳遞計數(shù)器414管理的計數(shù)器值N已經(jīng)達到(N1+N2+1)之后),扇區(qū)數(shù)據(jù)連續(xù)地寫到盤403。然后隨著計數(shù)器值N重復(fù)地增大1,最終滿足N>Nmax的條件。
當滿足N>Nmax的條件時,即當在步驟S45(圖13)中的檢查結(jié)果是肯定的(“是”)時,到達步驟S48(圖20中的步驟S341)。
在步驟S48中(在步驟S341中),驅(qū)動單元401輸出差錯消息到主機402。如果驅(qū)動單元401的扇區(qū)傳遞計數(shù)器414發(fā)現(xiàn)計數(shù)器值N大于閾值Nmax,那么扇區(qū)傳遞計數(shù)器414發(fā)指令給扇區(qū)傳遞控制設(shè)備413,以阻止數(shù)據(jù)輸出到解密設(shè)備412。
從扇區(qū)傳遞計數(shù)器414得到輸出停止指令時,扇區(qū)傳遞控制設(shè)備413停止輸出扇區(qū)數(shù)據(jù),并且通知消息轉(zhuǎn)發(fā)設(shè)備416已經(jīng)接收到停止數(shù)據(jù)輸出的指令。從扇區(qū)傳遞控制設(shè)備413接收到那個通知后,消息轉(zhuǎn)發(fā)設(shè)備416產(chǎn)生差錯消息并發(fā)送它到主機402。這個差錯消息使主機402認識到不能寫指明的數(shù)據(jù)。
所述消息表示沒有數(shù)據(jù)從驅(qū)動單元401輸入的狀態(tài)。即,在這個狀態(tài)下,禁止已經(jīng)接收到差錯消息的的主機402輸出任何數(shù)據(jù)。
當執(zhí)行上面的步驟時,也提供與由先前說明的再現(xiàn)裝置提供的相同的效果。
以上述方式實現(xiàn)本發(fā)明有助于增強驅(qū)動單元和主機之間數(shù)據(jù)發(fā)送和接收中的安全性。
在前面的說明中,每個作為單獨實體顯示和說明再現(xiàn)裝置(圖10)和記錄裝置(圖19)??商娲兀佻F(xiàn)裝置和記錄裝置可以安置在同一殼子中。在這種情況下,顯然可能的是兩個裝置共享它們的一些組件,如隨機數(shù)產(chǎn)生設(shè)備315(415),該組件在每個裝置中執(zhí)行相同的功能。
雖然顯示上述例子采用CBC方案作為它們的加密和解密算法,但這只是本發(fā)明的示例而非限制。或者,本發(fā)明可以按照CFB(密碼反饋)方案、OFB(輸出反饋)方案或其它適合的方案實現(xiàn)。
上述第一個實施例顯示驅(qū)動單元301(401)產(chǎn)生初始化向量IV。在下面要說明的本發(fā)明的第二個實施例中,將顯示主機產(chǎn)生初始化向量IV。
圖21是顯示根據(jù)本發(fā)明第二個實施例的典型系統(tǒng)配置的的方塊圖。在該系統(tǒng)中,驅(qū)動單元501包括認證處理設(shè)備511、解密設(shè)備512、輸入控制設(shè)備513、扇區(qū)傳遞計數(shù)器514、復(fù)位處理設(shè)備515、消息轉(zhuǎn)發(fā)設(shè)備516、命令處理設(shè)備517和訪問處理設(shè)備518。
系統(tǒng)中的主機502包括認證處理設(shè)備521、加密設(shè)備522、扇區(qū)傳遞計數(shù)器523、隨機數(shù)產(chǎn)生設(shè)備524和開關(guān)525。
在圖21顯示的系統(tǒng)中,主機502提供加密的扇區(qū)數(shù)據(jù)561給驅(qū)動單元501。解密之后,扇區(qū)數(shù)據(jù)561作為扇區(qū)數(shù)據(jù)551寫到盤503。
驅(qū)動單元501中的認證處理設(shè)備511和主機502中的認證處理設(shè)備521互相認證。
給主機502中的加密設(shè)備522提供要寫到盤503的扇區(qū)數(shù)據(jù)561、和從認證處理設(shè)備511發(fā)送的會話密鑰Ks。也給加密設(shè)備522提供由隨機數(shù)產(chǎn)生設(shè)備524產(chǎn)生的隨機數(shù)作為初始化向量IV。加密設(shè)備522使用會話密鑰Ks和初始化向量IV,加密提供的扇區(qū)數(shù)據(jù)561并且發(fā)送它到驅(qū)動單元501。
從主機502接收加密的扇區(qū)數(shù)據(jù)561后,驅(qū)動單元501中的輸入控制設(shè)備513傳遞輸入數(shù)據(jù)到解密設(shè)備512。也給解密設(shè)備512提供由隨機數(shù)產(chǎn)生設(shè)備524產(chǎn)生的初始化向量IV,向量IV在不同于傳輸扇區(qū)數(shù)據(jù)561的路徑的路徑上發(fā)送。
解密設(shè)備512使用從認證處理設(shè)備511提供的會話密鑰Ks、和從主機502發(fā)送的初始化向量IV,執(zhí)行它的解密過程。通過這個過程,解密設(shè)備512產(chǎn)生扇區(qū)數(shù)據(jù)551(與扇區(qū)數(shù)據(jù)561相同的數(shù)據(jù))。這樣產(chǎn)生的扇區(qū)數(shù)據(jù)551在訪問處理設(shè)備518的控制下寫到盤503。
當主機502輸出扇區(qū)數(shù)據(jù)561時,安排扇區(qū)傳遞計數(shù)器523對要傳遞的(已經(jīng)傳遞的)扇區(qū)數(shù)計數(shù)。設(shè)置開關(guān)525依賴于這樣計數(shù)的扇區(qū)數(shù)切換。如隨后將更詳細說明的,在計數(shù)的扇區(qū)數(shù)(以下稱為計數(shù)器值N)達到預(yù)先確定的計數(shù)(以下稱為閾值Nmax)之前,發(fā)出發(fā)送密鑰命令563以傳遞初始化向量IV。
在驅(qū)動單元501中也提供扇區(qū)傳遞計數(shù)器514。扇區(qū)傳遞計數(shù)器514對從輸入控制設(shè)備513發(fā)送到解密設(shè)備512的扇區(qū)數(shù)計數(shù)。當計數(shù)的扇區(qū)數(shù)(以下稱為計數(shù)器值M)達到預(yù)先確定的計數(shù)(以下稱為閾值Mmax)時,扇區(qū)傳遞計數(shù)器514指令輸入控制設(shè)備513不輸入扇區(qū)數(shù)據(jù)并發(fā)指令給消息轉(zhuǎn)發(fā)設(shè)備516以轉(zhuǎn)發(fā)消息。
假定為主機502中的扇區(qū)傳遞計數(shù)器523設(shè)置的閾值Nmax小于為驅(qū)動單元514中的扇區(qū)傳遞計數(shù)器514設(shè)置的閾值Mmax(條件Nmax<Mmax)。
雖然這里假定當計數(shù)器值M到達閾值Mmax時,扇區(qū)傳遞計數(shù)器514指令輸入控制設(shè)備513不輸入扇區(qū)數(shù)據(jù),但可以指令輸入控制設(shè)備513不傳遞輸入的扇區(qū)數(shù)據(jù)給解密設(shè)備512。
提供復(fù)位處理設(shè)備515,以復(fù)位扇區(qū)傳遞計數(shù)器514上的計數(shù)器值M到零。由命令處理設(shè)備517提供指令給復(fù)位處理設(shè)備515。
現(xiàn)在將說明上述結(jié)構(gòu)的系統(tǒng)如何操作。首先參考圖22的時序圖要說明的是與初始化向量IV相關(guān)聯(lián)的處理。主機502和驅(qū)動單元501分別在步驟S501和S521互相認證。只有成功完成互相認證之后控制才傳遞給下一個步驟?;ハ嗾J證之后,驅(qū)動單元501中的認證處理設(shè)備511和主機502中的認證處理設(shè)備521每個產(chǎn)生會話密鑰Ks(為共享使用)。
在步驟S502中,主機502產(chǎn)生發(fā)送密鑰命令563并輸出它到驅(qū)動單元501。在步驟S502中產(chǎn)生并輸出的發(fā)送密鑰命令563用于傳遞初始化向量IV。
在步驟S503中,產(chǎn)生并傳遞初始化向量IV。初始化向量IV的傳遞通過使用發(fā)送密鑰命令563執(zhí)行。驅(qū)動單元501分別在步驟S522和S523中接收發(fā)送密鑰命令563和初始化向量IV。命令處理設(shè)備517轉(zhuǎn)發(fā)接收的發(fā)送密鑰命令563給復(fù)位處理設(shè)備515。
接收到發(fā)送密鑰命令563之后,復(fù)位處理設(shè)備515發(fā)指令給扇區(qū)傳遞計數(shù)器514以復(fù)位計數(shù)器值M(到零)。發(fā)送包括在發(fā)送密鑰命令563中的初始化向量IV到解密設(shè)備512。
如上所述,驅(qū)動單元501和主機502共享會話密鑰Ks和初始化向量IV。下面參考圖23的時序圖說明兩方之間共享會話密鑰Ks和初始化向量IV之后所發(fā)生的。
在步驟S551中,主機502發(fā)送指示寫扇區(qū)數(shù)據(jù)的寫命令。在步驟S552中,主機502的加密設(shè)備522使用會話密鑰Ks和初始化向量IV加密扇區(qū)數(shù)據(jù)561,并且發(fā)送加密的數(shù)據(jù)(總線加密的扇區(qū)數(shù)據(jù))到驅(qū)動單元501。驅(qū)動單元501中的輸入控制設(shè)備513轉(zhuǎn)發(fā)提供的總線加密的扇區(qū)數(shù)據(jù)到解密設(shè)備512。
解密設(shè)備512使用來自認證處理設(shè)備511的會話密鑰Ks、和由隨機數(shù)產(chǎn)生設(shè)備524產(chǎn)生并提供的初始化向量IV,解密接收到的數(shù)據(jù),從而產(chǎn)生扇區(qū)數(shù)據(jù)551。這樣產(chǎn)生的扇區(qū)數(shù)據(jù)551在訪問處理設(shè)備518的控制下寫到盤503。
在上面的處理期間,主機502中的扇區(qū)傳遞計數(shù)器523對已經(jīng)發(fā)送的扇區(qū)數(shù)計數(shù),并且檢查以確定正在計數(shù)的計數(shù)器值N是否已經(jīng)變得大于值Nmax。當計數(shù)器值N變大時(即,當連續(xù)發(fā)送扇區(qū)數(shù)據(jù)時),就到了計數(shù)器值N變得大于閾值Nmax(即,滿足N>Nmax的條件)的時刻。
當發(fā)現(xiàn)計數(shù)器值N大于閾值Nmax時,主機502發(fā)送發(fā)送密鑰命令563。在圖23的時序圖中,在步驟S555中發(fā)送發(fā)送密鑰命令563。
在步驟S585中,從主機502發(fā)送的發(fā)送密鑰命令563由驅(qū)動單元501接收。隨著發(fā)送密鑰命令563的接收,復(fù)位驅(qū)動單元501的扇區(qū)傳遞計數(shù)器514。只要發(fā)送密鑰命令563以適合的時控方式從主機502輸出,那么扇區(qū)傳遞計數(shù)器514上的計數(shù)器值M將不會超過閾值Mmax。這阻止了輸入控制設(shè)備513拒絕數(shù)據(jù)輸入的狀態(tài)。因此允許扇區(qū)數(shù)據(jù)連續(xù)地寫到盤503。
現(xiàn)在將說明驅(qū)動單元501和主機502中的每個如何工作。首先通過參考圖24和25的流程圖說明由主機502執(zhí)行的處理。在步驟S601中,主機502檢查以確定是否正在啟動適合的應(yīng)用。適合的應(yīng)用是寫數(shù)據(jù)到驅(qū)動單元501中裝載的盤503必需的應(yīng)用。
如果在步驟S601中發(fā)現(xiàn)啟動了應(yīng)用,到達步驟S602。在步驟S602中,進行檢查以確定是否驅(qū)動單元501中裝載了盤503。如果在步驟S602中發(fā)現(xiàn)驅(qū)動單元501中裝載了盤503,就到達步驟S503,在該步驟中驅(qū)動單元501和主機502互相認證。驅(qū)動單元501和主機502每個產(chǎn)生會話密鑰Ks(用于共享)。
在步驟S604中,進行檢查以確定是否完成會話密鑰Ks的產(chǎn)生。重復(fù)步驟S603和S604直到發(fā)現(xiàn)完成會話密鑰Ks的產(chǎn)生。
如果在步驟S604中發(fā)現(xiàn)完成會話密鑰Ks的產(chǎn)生,就到達步驟S605。在步驟S605中,產(chǎn)生初始化向量IV。在步驟S606中,產(chǎn)生發(fā)送密鑰命令563。在步驟S607中,通過使用產(chǎn)生的發(fā)送密鑰命令563發(fā)送初始化向量IV到驅(qū)動單元501。
在步驟S608中,扇區(qū)傳遞計數(shù)器523上的計數(shù)器值N設(shè)置到零。在步驟S609中(圖25),進行檢查以確定是否要發(fā)送寫命令。如果發(fā)現(xiàn)要發(fā)送除了寫命令的命令,到達步驟S610。在步驟S610中,執(zhí)行與其它命令有關(guān)的處理。
如果在步驟S609中發(fā)現(xiàn)要發(fā)送寫命令,就到達步驟S611。在步驟S611中,扇區(qū)傳遞計數(shù)器523上計數(shù)的計數(shù)器值N更新到N+L。參考字符L代表寫在傳遞長度字段中作為寫命令一部分的值。因為傳遞長度是指明先前提到的要寫的扇區(qū)數(shù)的數(shù)據(jù),所以值L對應(yīng)于在那個點要發(fā)送的扇區(qū)數(shù)據(jù)數(shù)。
在步驟S612中,進行檢查以確定扇區(qū)傳遞計數(shù)器523上計數(shù)的計數(shù)器值N是否大于閾值Nmax(即,是否滿足N>Nmax的條件)。如果在步驟S612中發(fā)現(xiàn)滿足N>Nmax的條件,就到達步驟S613。設(shè)置N>Nmax的條件表示現(xiàn)在是發(fā)送發(fā)送密鑰命令563或發(fā)送(即更新)初始化向量IV的時刻。
步驟S613到S616中發(fā)生的與步驟S606到S608的過程相同。即,新產(chǎn)生發(fā)送密鑰命令563和初始化向量IV并發(fā)送到驅(qū)動單元501。
如果在步驟S612中發(fā)現(xiàn)未滿足N>Nmax的條件,就到達步驟S617。在步驟S617中,產(chǎn)生并發(fā)送寫命令。在步驟S618中,由加密設(shè)備522加密扇區(qū)數(shù)據(jù)561,并且加密的扇區(qū)數(shù)據(jù)561發(fā)送到驅(qū)動單元501。
當由主機502正在執(zhí)行上面的處理時,由驅(qū)動單元501執(zhí)行圖26和27的流程圖中顯示的步驟。
在步驟S631中,驅(qū)動單元501檢查以確定是否裝載盤503。如果在步驟S631中發(fā)現(xiàn)驅(qū)動單元501中裝載了盤503,就到達步驟S632。在步驟S632中,進行檢查以確定是否正在由主機502啟動適合的應(yīng)用。
如果在步驟S632中發(fā)現(xiàn)所述應(yīng)用啟動了,就到達步驟S633。在步驟S633中,驅(qū)動單元501和主機502互相認證。驅(qū)動單元501和主機502每個產(chǎn)生會話密鑰Ks(為了共享使用)。
在步驟S634中,進行檢查以確定是否完成會話密鑰Ks的產(chǎn)生。重復(fù)步驟S633和S634直到發(fā)現(xiàn)會話密鑰Ks的產(chǎn)生完成。當在步驟S634中發(fā)現(xiàn)會話密鑰Ks的產(chǎn)生完成時,到達步驟S635。
在步驟S635中,扇區(qū)傳遞計數(shù)器514上的計數(shù)器值M設(shè)置為閾值Mmax。M=Mmax建立后,扇區(qū)傳遞計數(shù)器514發(fā)出指令,阻止輸入控制設(shè)備513從主機502輸入數(shù)據(jù)。
在步驟S636中(圖27),進行檢查以確定是否接收到發(fā)送密鑰命令563。如果發(fā)現(xiàn)接收到發(fā)送密鑰命令563,就到達步驟S637。在步驟S637中,接收到初始化向量IV,發(fā)送該初始化向量IV以響應(yīng)發(fā)送密鑰命令563。在接收到發(fā)送密鑰命令563的情形,復(fù)位處理設(shè)備515發(fā)指令給扇區(qū)傳遞計數(shù)器514以復(fù)位計數(shù)器值M到零。
得到該指令后,扇區(qū)傳遞計數(shù)器514在步驟S638中復(fù)位計數(shù)器值M到零。當扇區(qū)傳遞計數(shù)器514上的計數(shù)器值M復(fù)位到零時(即,當使計數(shù)器值小于閾值Mmax時),授權(quán)輸入數(shù)據(jù)到輸入控制設(shè)備613。
在步驟S639中,提供初始化向量IV給解密設(shè)備512。在步驟S640中,進行檢查以確定是否接收到寫命令564。如果在步驟S640中未發(fā)現(xiàn)接收到寫命令564,就重新到達步驟S636并重復(fù)隨后的步驟。如果在步驟S640中發(fā)現(xiàn)接收到寫命令564,就到達步驟S641。
在步驟S641中,進行檢查以確定是否扇區(qū)傳遞計數(shù)器514上的計數(shù)器值M加上傳遞長度的值L(即,M+L)大于閾值Mmax(即,是否滿足M+L>Mmax的條件)。如果在步驟S641中發(fā)現(xiàn)不滿足M+L>Mmax的條件,就到達步驟S642。在步驟S642中,計數(shù)器值M更新到M+L。M+L>Mmax的條件不滿足意味著授權(quán)輸入數(shù)據(jù)到輸入控制設(shè)備513的狀態(tài)。
在步驟S643中,接收到加密的扇區(qū)數(shù)據(jù)561。接收的扇區(qū)數(shù)據(jù)561由解密設(shè)備512解密并寫到盤503作為扇區(qū)數(shù)據(jù)551。
如果在步驟S641中發(fā)現(xiàn)滿足M+L>Mmax的條件,就到達步驟S644。在滿足M+L>Mmax的條件的情形,扇區(qū)傳遞計數(shù)器514發(fā)指令給輸入控制設(shè)備513,以停止輸入扇區(qū)數(shù)據(jù)并指令消息轉(zhuǎn)發(fā)設(shè)備516發(fā)送消息。
要從消息轉(zhuǎn)發(fā)設(shè)備516發(fā)送的消息是差錯消息,它使主機502認識到未授權(quán)輸入扇區(qū)數(shù)據(jù)(即未允許寫扇區(qū)數(shù)據(jù)到盤503)。在步驟S644中發(fā)送差錯消息的情形,重新到達步驟S636并重復(fù)隨后的步驟。
當輸出差錯消息時,主機502認識到驅(qū)動單元501所處的狀態(tài),并且進行發(fā)發(fā)送密鑰命令并提供初始化向量IV。當在步驟S636中發(fā)現(xiàn)接收到發(fā)送密鑰命令時,就到達步驟S637并且執(zhí)行隨后的步驟。這再次導(dǎo)致授權(quán)輸入扇區(qū)數(shù)據(jù)的狀態(tài)。
當由主機502產(chǎn)生初始化向量IV從而如所述管理向量IV的有效期(服務(wù)生存期)時,驅(qū)動單元和主機之間的數(shù)據(jù)發(fā)送和接收中的安全性增強。
因此上述的第二個實施例提供與由先前說明的第一個實施例提供的好處相同的好處。
可以由硬件或軟件執(zhí)行上述步驟和過程的系列。對發(fā)生的基于軟件的處理,組成軟件的程序可以預(yù)先并入計算機的專用硬件,或者使用時從合適的記錄媒體安裝到通用個人計算機等設(shè)備中,該設(shè)備能夠根據(jù)安裝的程序執(zhí)行各種功能。
提供給用戶的記錄媒體不僅作為除處理該媒體的它們的計算機外的封裝媒體,并且包括磁盤(包括活動盤)、光盤(包括CD-ROM(致密盤-只讀存儲器)和DVD(數(shù)字通用盤))、磁光盤(包括MD(迷你盤注冊商標))或半導(dǎo)體存儲器,每個媒體承載必要的程序;而且也以ROM或硬盤驅(qū)動器的形式,每個容納程序并且預(yù)先并入用戶的計算機。
在這個說明中,說明記錄媒體上提供的程序的步驟不僅表示要以說明的順序(即在時間系列基礎(chǔ)上)執(zhí)行的過程,而且表示可以并行或單獨執(zhí)行而不按時間順序的過程。
在這個說明中,術(shù)語“系統(tǒng)”指由多個組件設(shè)備或裝置組成的整個配置。
權(quán)利要求
1.一種信息處理裝置,包含傳遞控制裝置,用于控制數(shù)據(jù)的傳遞;計數(shù)裝置,用于對所述傳遞控制裝置已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一確定裝置,用于確定是否由所述計數(shù)裝置計數(shù)的次數(shù)至少等于預(yù)先確定的閾值;第一指令裝置,如果由所述第一確定裝置發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么該第一指令裝置發(fā)指令給所述傳遞控制裝置以停止所述數(shù)據(jù)的傳遞;產(chǎn)生裝置,用于產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞由所述傳遞控制裝置控制;第二確定裝置,用于確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞由所述傳遞控制裝置控制;以及第二指令裝置,如果由所述第二確定裝置發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么該第二指令裝置發(fā)指令給所述產(chǎn)生裝置以產(chǎn)生所述初始化向量,同時發(fā)指令給所述計數(shù)裝置以復(fù)位已經(jīng)計數(shù)的次數(shù)。
2.根據(jù)權(quán)利要求1所述的信息處理裝置,進而包含輸出裝置,如果由所述第一指令裝置給出指令,那么該輸出裝置輸出消息到所述外部裝置,該消息說所述數(shù)據(jù)的傳遞被停止。
3.一種信息處理方法,包含以下步驟控制數(shù)據(jù)的傳遞;對所述傳遞控制步驟已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一次確定在所述計數(shù)步驟中計數(shù)的次數(shù)是否至少等于預(yù)先確定的閾值;如果在所述第一次確定步驟中發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么在所述傳遞控制步驟中第一次發(fā)出指令以停止所述數(shù)據(jù)的傳遞;產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;第二次確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;以及如果在所述第二次確定步驟中發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么在所述產(chǎn)生步驟中第二次發(fā)出指令以產(chǎn)生所述初始化向量,同時在所述計數(shù)步驟中給出指令以復(fù)位已經(jīng)計數(shù)的次數(shù)。
4.一種程序,用于使計算機執(zhí)行包含下述步驟的過程控制數(shù)據(jù)的傳遞;對所述傳遞控制步驟已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一次確定在所述計數(shù)步驟中計數(shù)的次數(shù)是否至少等于預(yù)先確定的閾值;如果在所述第一次確定步驟中發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么在所述傳遞控制步驟中第一次發(fā)出指令以停止所述數(shù)據(jù)的傳遞;產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;第二次確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;以及如果在所述第二次確定步驟中發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么在所述產(chǎn)生步驟中第二次發(fā)出指令以產(chǎn)生所述初始化向量,同時在所述計數(shù)步驟中給出指令以復(fù)位已經(jīng)計數(shù)的次數(shù)。
5.一種記錄媒體,它記錄計算機可讀的程序,用于使計算機執(zhí)行包含下述步驟的過程控制數(shù)據(jù)的傳遞;對所述傳遞控制步驟已經(jīng)控制所述數(shù)據(jù)的傳遞的次數(shù)計數(shù);第一次確定在所述計數(shù)步驟中計數(shù)的次數(shù)是否至少等于預(yù)先確定的閾值;如果在所述第一次確定步驟中發(fā)現(xiàn)所述次數(shù)至少等于所述閾值,那么在所述傳遞控制步驟中第一次發(fā)出指令以停止所述數(shù)據(jù)的傳遞;產(chǎn)生初始化向量,用于在加密或解密所述數(shù)據(jù)中使用,該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;第二次確定是否提供所述初始化向量的指令由外部裝置給出,向和從該外部裝置發(fā)送和接收所述數(shù)據(jù),該數(shù)據(jù)的傳遞在所述傳遞控制步驟中控制;以及如果在所述第二次確定步驟中發(fā)現(xiàn)提供所述初始化向量的指令被給出,那么在所述產(chǎn)生步驟中第二次發(fā)出指令以產(chǎn)生所述初始化向量,同時在所述計數(shù)步驟中給出指令以復(fù)位已經(jīng)計數(shù)的次數(shù)。
全文摘要
提供一種能夠高安全地發(fā)送/接收數(shù)據(jù)的信息處理設(shè)備和方法、程序以及記錄媒體。主機由預(yù)先確定的總線連接到驅(qū)動設(shè)備,通過該總線發(fā)送和接收數(shù)據(jù)。主機周期性地請求驅(qū)動設(shè)備發(fā)出用于數(shù)據(jù)的加密和解密的初始化向量IV,該數(shù)據(jù)通過總線發(fā)送和接收。當驅(qū)動設(shè)備已經(jīng)接收到請求時,它產(chǎn)生初始化向量IV并提供它給主機。如果不周期性地執(zhí)行這樣的過程,驅(qū)動設(shè)備就停止到主機的數(shù)據(jù)輸出??梢詰?yīng)用本發(fā)明到個人計算機,該計算機包含用于再現(xiàn)記錄在記錄媒體上的數(shù)據(jù)的驅(qū)動設(shè)備。
文檔編號H04L9/10GK1922817SQ20058000563
公開日2007年2月28日 申請日期2005年1月6日 優(yōu)先權(quán)日2004年1月9日
發(fā)明者木谷聰 申請人:索尼株式會社