專(zhuān)利名稱(chēng):讀或?qū)懹脩?hù)數(shù)據(jù)的設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及讀取用戶(hù)數(shù)據(jù)的設(shè)備,用戶(hù)數(shù)據(jù)以塊方式和加密形式存儲(chǔ)在其存儲(chǔ)器被分成塊的存儲(chǔ)介質(zhì)中。本發(fā)明還涉及以塊方式將用戶(hù)數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì)的設(shè)備,涉及讀或?qū)懹脩?hù)數(shù)據(jù)的相應(yīng)方法和計(jì)算機(jī)程序產(chǎn)品。本發(fā)明特別涉及可記錄的存儲(chǔ)介質(zhì)上信息的保護(hù),特別是象用于存儲(chǔ)視頻數(shù)據(jù)或音頻數(shù)據(jù)的任何數(shù)據(jù)種類(lèi)的CD或DVD光記錄介質(zhì)上信息的保護(hù)。
如果用戶(hù)數(shù)據(jù),例如視頻數(shù)據(jù)、音頻數(shù)據(jù)、軟件或應(yīng)用程序數(shù)據(jù)以加密形式存儲(chǔ)在記錄介質(zhì)中,最經(jīng)常需要的是如果允許的話(huà),授權(quán)的應(yīng)用程序可以在不需要從分離的位置例如互連網(wǎng)恢復(fù)解密密鑰的情況下讀取和使用記錄介質(zhì)中的所述用戶(hù)數(shù)據(jù)。因此,解密密鑰必須存儲(chǔ)在存儲(chǔ)加密過(guò)的用戶(hù)數(shù)據(jù)的介質(zhì)中。為了防止對(duì)解密密鑰的未授權(quán)訪(fǎng)問(wèn),例如未授權(quán)的應(yīng)用程序的訪(fǎng)問(wèn),通常把解密密鑰隱蕆在存儲(chǔ)介質(zhì)中,使得未授權(quán)的應(yīng)用程序不能讀取解密密鑰。已有的將解密密鑰隱蕆在存儲(chǔ)介質(zhì)中的方法有內(nèi)容加擾系統(tǒng)(ContentScrambling System(CSS))和可記錄介質(zhì)的內(nèi)容保護(hù)(ContentProtection for Recordable Media(CPRM))。
通常,存儲(chǔ)介質(zhì)的存儲(chǔ)器被分成塊(或扇區(qū)),而文件內(nèi)容被存儲(chǔ)在一個(gè)或一個(gè)以上這樣的塊中。讀或?qū)懨钔ǔV灰?guī)定邏輯塊的地址,而不給出要讀出或?qū)懭氲奈募?。由于每一個(gè)文件(不是每一個(gè)塊)都有它自己的加密或解密密鑰,所以,例如從PC機(jī)應(yīng)用程序接收讀或?qū)懨畹?、用于讀或?qū)懹脩?hù)數(shù)據(jù)的裝置,由于它沒(méi)有從讀或?qū)懨钪薪邮盏轿募虼瞬荒艽_定哪一個(gè)密鑰數(shù)據(jù)用于解密或加密。
一種可能的解決方案是對(duì)存儲(chǔ)在存儲(chǔ)介質(zhì)中的所有用戶(hù)數(shù)據(jù)使用相同的密鑰。然而就象絕大多數(shù)應(yīng)用程序需要的那樣,如果不同的文件需要不同的密鑰,那么,所述解決方案就是不可接受的。
另一種可能的解決方案是使用單獨(dú)的命令通知讀或?qū)懷b置,哪一個(gè)密鑰數(shù)據(jù)將用于讀或?qū)懨?。然而所述解決方案通常也是不可接受的,因?yàn)閷?duì)于若干應(yīng)用程序,有可能同時(shí)將命令傳送給讀或?qū)懷b置,每一個(gè)應(yīng)用程序使用不同的密鑰讀和/寫(xiě)不同的文件。用這樣的解決方案,僅僅單個(gè)應(yīng)用程序能夠訪(fǎng)問(wèn)讀或?qū)懷b置,其它應(yīng)用程序?qū)⒈痪芙^,除非他們使用相同的密鑰讀相同的文件。
一般地說(shuō),常常需要在用于讀或?qū)懹脩?hù)數(shù)據(jù)的裝置中而不是在PC機(jī)的應(yīng)用程序中執(zhí)行某些處理步驟。
因此,本發(fā)明的一個(gè)目的是提供讀取用戶(hù)數(shù)據(jù)的設(shè)備和寫(xiě)入用戶(hù)數(shù)據(jù)的設(shè)備,以及讀或?qū)懹脩?hù)數(shù)據(jù)的相應(yīng)的方法,所述設(shè)備和方法克服上述問(wèn)題并且提供高級(jí)保護(hù),防止通過(guò)非法修改PC機(jī)應(yīng)用程序來(lái)竊取任何數(shù)據(jù)。
所述目的是通過(guò)提供權(quán)利要求1中聲明的讀取設(shè)備來(lái)實(shí)現(xiàn)的,所述設(shè)備包括·用于接收和解釋讀命令的命令接口,所述讀命令包括規(guī)定將被讀取的用戶(hù)數(shù)據(jù)的用戶(hù)數(shù)據(jù)信息和規(guī)定如何處理所述用戶(hù)數(shù)據(jù)的處理信息,·用于從所述存儲(chǔ)介質(zhì)讀取用戶(hù)數(shù)據(jù)的讀取裝置,·用于根據(jù)所述處理信息處理所述用戶(hù)數(shù)據(jù)的處理裝置,以及·用于輸出所述處理過(guò)的用戶(hù)數(shù)據(jù)的輸出單元。
所述目的還通過(guò)權(quán)利要求8中聲明的用于寫(xiě)入用戶(hù)數(shù)據(jù)的設(shè)備來(lái)實(shí)現(xiàn),所述設(shè)備包括·用于接收和解釋寫(xiě)命令的命令接口,所述寫(xiě)命令包括規(guī)定將被寫(xiě)入的用戶(hù)數(shù)據(jù)的用戶(hù)數(shù)據(jù)信息和規(guī)定如何處理所述用戶(hù)數(shù)據(jù)的處理信息,·用于根據(jù)所述處理信息處理所述用戶(hù)數(shù)據(jù)的處理裝置,以及
·用于將所述處理過(guò)的用戶(hù)數(shù)據(jù)寫(xiě)入所述存儲(chǔ)介質(zhì)的寫(xiě)入裝置。
所述目的還可以通過(guò)權(quán)利要求7和13中聲明的相應(yīng)的方法來(lái)實(shí)現(xiàn)。計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序代碼工具,用于在所述計(jì)算機(jī)程序在權(quán)利要求14中聲明的計(jì)算機(jī)中運(yùn)行時(shí),使計(jì)算機(jī)執(zhí)行權(quán)利要求7或13中聲明的方法的步驟。
本發(fā)明基于以下思想將額外信息附加到向用于從PC機(jī)應(yīng)用程序讀或?qū)懹脩?hù)數(shù)據(jù)的設(shè)備發(fā)送的每一個(gè)讀或?qū)懨睢R虼?,讀命令不僅包括規(guī)定哪一個(gè)用戶(hù)數(shù)據(jù)將被讀的用戶(hù)數(shù)據(jù)信息,而且也包括關(guān)于在從存儲(chǔ)介質(zhì)讀出用戶(hù)數(shù)據(jù)之后和在將它輸出之前所述用戶(hù)數(shù)據(jù)的預(yù)期的(將來(lái)的)使用的處理信息。類(lèi)似地,寫(xiě)命令不僅包括規(guī)定哪一個(gè)用戶(hù)數(shù)據(jù)將被寫(xiě)入的用戶(hù)數(shù)據(jù)信息,而且也包括關(guān)于在將用戶(hù)數(shù)據(jù)存儲(chǔ)到存儲(chǔ)介質(zhì)之前所述用戶(hù)數(shù)據(jù)的預(yù)期的(將來(lái)的)使用的處理信息。因而用戶(hù)數(shù)據(jù)信息不但可以包括用戶(hù)數(shù)據(jù)本身,而且可以包括規(guī)定存儲(chǔ)介質(zhì)上開(kāi)始讀或?qū)懙奈恢玫倪壿媺K地址。此外,讀或?qū)懙臄?shù)據(jù)量可能也包含在這樣的讀或?qū)懨钪小H欢?,也可以把用?hù)數(shù)據(jù)本身與讀或?qū)懨罘珠_(kāi)發(fā)送。
所述讀或?qū)懺O(shè)備最好能夠根據(jù)處理信息分別對(duì)用戶(hù)數(shù)據(jù)執(zhí)行相應(yīng)的操作,例如解密、加密、重加密、使用特殊的分配策略、實(shí)時(shí)特征、對(duì)讀錯(cuò)誤的可接受的重試次數(shù)等。
根據(jù)最佳實(shí)施例,包含在讀命令中的所述處理信息包含規(guī)定哪一個(gè)密鑰數(shù)據(jù)用來(lái)對(duì)所述用戶(hù)數(shù)據(jù)解密的密鑰數(shù)據(jù)信息,根據(jù)這個(gè)密鑰數(shù)據(jù),在所述用戶(hù)數(shù)據(jù)被輸出之前對(duì)它進(jìn)行解密。類(lèi)似地,包含在寫(xiě)命令中的處理信息包含規(guī)定哪一個(gè)密鑰數(shù)據(jù)用于對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行加密的密鑰數(shù)據(jù)信息,根據(jù)這個(gè)密鑰數(shù)據(jù),在將它以加密形式存儲(chǔ)在存儲(chǔ)介質(zhì)之前對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行加密。由于分別接收或輸出用戶(hù)數(shù)據(jù)的PC機(jī)應(yīng)用程序并不知道密鑰數(shù)據(jù)本身,因此能夠可靠地防止黑客對(duì)所述密鑰數(shù)據(jù)的竊取。此外,用戶(hù)數(shù)據(jù)的重加密可以由讀裝置在將它傳送給PC機(jī)的應(yīng)用程序之前實(shí)現(xiàn),這樣還保護(hù)所述用戶(hù)數(shù)據(jù)在傳送期間不受不希望有的訪(fǎng)問(wèn)。
根據(jù)另一個(gè)最佳實(shí)施例,用于對(duì)所述用戶(hù)數(shù)據(jù)解密或加密的密鑰數(shù)據(jù)以加密形式包含在讀或?qū)懨钪?。最好僅僅當(dāng)PC機(jī)的應(yīng)用程序可以信任到足于允許它知道所述密鑰數(shù)據(jù)時(shí)才使用這種可能性。由于PC機(jī)應(yīng)用程序只知道加密形式的密鑰數(shù)據(jù),所以,PC機(jī)應(yīng)用程序并不真的知道包含在讀或?qū)懨钪?、傳送給讀或?qū)懷b置的是什么類(lèi)型的數(shù)據(jù)。
根據(jù)另一個(gè)最佳實(shí)施例,標(biāo)識(shí)從存儲(chǔ)介質(zhì)中讀出并用于對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行解密或加密的密鑰數(shù)據(jù)標(biāo)識(shí)符被包含在讀或?qū)懨钪小K雒荑€數(shù)據(jù)以加密形式存儲(chǔ)在存儲(chǔ)介質(zhì)中,例如以可以由應(yīng)用程序讀取的、使應(yīng)用程序能夠?qū)⒚荑€標(biāo)識(shí)符與文件關(guān)聯(lián)起來(lái)的內(nèi)容表(TOC)的形式存儲(chǔ)在存儲(chǔ)介質(zhì)中?;蛘撸用芪募奈募梢园荑€數(shù)據(jù)的標(biāo)識(shí)符,所述標(biāo)識(shí)符可由應(yīng)用程序傳送并且讀或?qū)懷b置可以將所述標(biāo)識(shí)符與存儲(chǔ)在存儲(chǔ)介質(zhì)中的密鑰集合中的一個(gè)特定密鑰相關(guān)聯(lián)。一般地說(shuō),可以在讀或?qū)懷b置和(可以信任的)應(yīng)用程序之間建立保密驗(yàn)證通道(SAC)。然后所述通道可以用于傳送密鑰數(shù)據(jù)或密鑰數(shù)據(jù)標(biāo)識(shí)符。
還是根據(jù)本發(fā)明的另一個(gè)實(shí)施例,重加密是在對(duì)從存儲(chǔ)介質(zhì)中讀出的用戶(hù)數(shù)據(jù)解密后和以重加密形式輸出用戶(hù)數(shù)據(jù)之前,在讀裝置中實(shí)現(xiàn)的。為了使讀裝置能夠?qū)σ呀饷艿挠脩?hù)數(shù)據(jù)進(jìn)行重加密,重加密密鑰數(shù)據(jù)信息被包含在規(guī)定哪一個(gè)重加密密鑰數(shù)據(jù)用于重加密的讀命令中。
下面將參照附圖對(duì)本發(fā)明進(jìn)行更詳細(xì)的說(shuō)明,附圖中
圖1示出根據(jù)本發(fā)明的重放設(shè)備的方框圖,圖2示出重放設(shè)備的第二實(shí)施例的方框圖,圖3示出重放設(shè)備的第三實(shí)施例的方框圖,圖4示出根據(jù)本發(fā)明的記錄設(shè)備的方框圖,圖5示出記錄設(shè)備的第二實(shí)施例的方框圖,
圖6說(shuō)明根據(jù)本發(fā)明的讀操作。
在圖1中,說(shuō)明根據(jù)本發(fā)明的重放設(shè)備1的第一實(shí)施例。重放設(shè)備1可以在包括驅(qū)動(dòng)單元2(即讀裝置)和用于運(yùn)行應(yīng)用程序的應(yīng)用程序單元3的個(gè)人計(jì)算機(jī)上實(shí)現(xiàn)。如果用戶(hù)要重放存儲(chǔ)在象DVD-ROM的存儲(chǔ)介質(zhì)4中的用戶(hù)數(shù)據(jù),例如,為了重放以MPEG格式存儲(chǔ)在DVD中的視頻數(shù)據(jù),那么,將存儲(chǔ)介質(zhì)4插入驅(qū)動(dòng)器2中,在驅(qū)動(dòng)器2中,包含用戶(hù)數(shù)據(jù)21和密鑰數(shù)據(jù)22的數(shù)據(jù)20由讀裝置5讀出。應(yīng)當(dāng)指出,用戶(hù)數(shù)據(jù)21和密鑰數(shù)據(jù)22都以加密形式存儲(chǔ)在介質(zhì)4中,另外,在將用戶(hù)數(shù)據(jù)和密鑰數(shù)據(jù)存入記錄介質(zhì)前有不同的方法對(duì)它們進(jìn)行加密,但是,這與使用特殊加密方法的本發(fā)明沒(méi)有關(guān)系。
介質(zhì)存儲(chǔ)器4被分成邏輯塊,每一個(gè)邏輯塊都可以按邏輯塊地址尋址。其數(shù)據(jù)存儲(chǔ)在一個(gè)或多個(gè)這種塊中的每一個(gè)文件與加密密鑰相關(guān),而不是與每一個(gè)塊相關(guān)。因此,必須把關(guān)于哪一個(gè)加密密鑰用于對(duì)從介質(zhì)4中讀出的用戶(hù)數(shù)據(jù)21進(jìn)行解密的信息通知讀裝置5。
如果應(yīng)用程序單元3請(qǐng)求驅(qū)動(dòng)器2從介質(zhì)4讀出某些用戶(hù)數(shù)據(jù)21,即某個(gè)文件,則命令單元24將讀命令19傳送給命令接口6??梢愿鶕?jù)SCSI Multi Media Command-2(MMC-2)或SCSI-3 BlockCommand(SBC)建立的讀命令19包括指明從介質(zhì)4開(kāi)始讀取數(shù)據(jù)的邏輯塊地址和讀取的數(shù)據(jù)量。此外,包括密鑰數(shù)據(jù)標(biāo)識(shí)符,該密鑰數(shù)據(jù)標(biāo)識(shí)符標(biāo)識(shí)將從介質(zhì)4讀出并將用于解密的加密密鑰。所述信息25被發(fā)送給讀裝置5,以便使讀裝置5能夠讀出所請(qǐng)求的用戶(hù)數(shù)據(jù)21和密鑰數(shù)據(jù)22。
讀出后的讀出密鑰數(shù)據(jù)22被輸入到密鑰計(jì)算單元7,用于計(jì)算解密單元8所需要的解密密鑰DK,以便對(duì)讀出裝置5提供的讀出的用戶(hù)數(shù)據(jù)進(jìn)行解密。解密密鑰DK與用于對(duì)存儲(chǔ)在介質(zhì)4之前的用戶(hù)數(shù)據(jù)加密的加密密鑰相同,或者是與所述加密密鑰對(duì)應(yīng)的密鑰。
解密后,解密的用戶(hù)數(shù)據(jù)16通過(guò)輸出單元26被傳送給應(yīng)用程序單元3。然后請(qǐng)求的用戶(hù)數(shù)據(jù)可以由復(fù)制單元13完整地重放和復(fù)制以供重放。
在如圖2所示的根據(jù)本發(fā)明的重放設(shè)備1的另一個(gè)實(shí)施例中,用于計(jì)算解密密鑰所需的密鑰數(shù)據(jù)被包含在從應(yīng)用程序單元3傳送到驅(qū)動(dòng)單元2的讀命令19中。因此,需要將所述密鑰數(shù)據(jù)通知讀裝置5,并且讀裝置5必須從介質(zhì)4讀取任何密鑰數(shù)據(jù),而不僅僅是所請(qǐng)求的用戶(hù)數(shù)據(jù)。然后,包含在讀命令19中的密鑰數(shù)據(jù)23被發(fā)送給密鑰計(jì)算單元7,由它計(jì)算對(duì)讀出的用戶(hù)數(shù)據(jù)21進(jìn)行解密的解密密鑰DK。所有其它步驟都與上述步驟相同(參見(jiàn)圖1)。
不是把可以從其中計(jì)算解密密鑰DK的密鑰數(shù)據(jù)包含在讀命令19中,而可以把解密密鑰DK直接包含在讀命令19中,使得再也不需要密鑰計(jì)算單元7。然而,由于應(yīng)用程序單元3必須知道未加密形式的解密密鑰DK,所以,當(dāng)應(yīng)用程序單元3被竊取時(shí),應(yīng)用程序單元3包含較高的丟失加密密鑰的風(fēng)險(xiǎn)。
應(yīng)用程序單元3有幾種可能性知道哪一個(gè)密鑰數(shù)據(jù)用于對(duì)用戶(hù)數(shù)據(jù)進(jìn)行解密。根據(jù)第一種可能性,應(yīng)用程序能夠訪(fǎng)問(wèn)存儲(chǔ)在介質(zhì)4中的內(nèi)容表,所述表存儲(chǔ)關(guān)于哪一個(gè)密鑰數(shù)據(jù)屬于用戶(hù)數(shù)據(jù)的哪一個(gè)文件的信息。所述表使應(yīng)用程序能夠?qū)⒚荑€標(biāo)識(shí)符與文件建立聯(lián)系。根據(jù)第二種可能性,可以在驅(qū)動(dòng)器2和應(yīng)用程序單元3之間建立保密驗(yàn)證通道(SAC)。然后所述通道可以用于傳送密鑰數(shù)據(jù)或密鑰數(shù)據(jù)標(biāo)識(shí)符。根據(jù)第三種可能性,加密文件的文件名可以包含一個(gè)應(yīng)用程序單元3能夠傳送的標(biāo)識(shí)符。然后驅(qū)動(dòng)單元2能夠?qū)⑺鰳?biāo)識(shí)符與存儲(chǔ)在介質(zhì)4中的一組密鑰中的特定密鑰建立聯(lián)系。
重放設(shè)備1的第三實(shí)施例示于圖3中。其中,在把用戶(hù)數(shù)據(jù)輸出給應(yīng)用程序單元3之前在驅(qū)動(dòng)單元2中進(jìn)行重加密。如在圖1所示的第一實(shí)施例中的情況一樣,關(guān)于從介質(zhì)4讀出的用戶(hù)數(shù)據(jù)的信息包含在讀命令19中。然而,通過(guò)在解密單元8中計(jì)算解密密鑰DK對(duì)用戶(hù)數(shù)據(jù)21解密后,現(xiàn)在很清楚,用戶(hù)數(shù)據(jù)由重加密單元10使用規(guī)則變化重加密密鑰RK進(jìn)行重加密。為了知道哪一個(gè)重加密密鑰RK用于重加密,可以向認(rèn)證機(jī)構(gòu)15請(qǐng)求重加密密鑰,或者由驅(qū)動(dòng)單元2以立即相應(yīng)的方式產(chǎn)生重加密密鑰。在用戶(hù)數(shù)據(jù)由重加密單元10重加密后,它(16)就由輸出單元26輸出給應(yīng)用程序單元3。
由于為了在其中對(duì)用戶(hù)數(shù)據(jù)解密,應(yīng)用程序單元3也必須知道重加密密鑰RK,所以,在驅(qū)動(dòng)單元2和應(yīng)用程序單元3之間建立保密驗(yàn)證通道17、18。實(shí)現(xiàn)它的一種方法就是允許在應(yīng)用程序單元3中運(yùn)行應(yīng)用程序,并由認(rèn)證機(jī)構(gòu)15證明它的公用密鑰。然后所述公用密鑰用于建立保密驗(yàn)證通道17。然后密鑰計(jì)算單元9可以檢驗(yàn)認(rèn)證機(jī)構(gòu)的署名。
在應(yīng)用程序的最終確認(rèn)后,加密的重加密密鑰RK或任何其它與重加密密鑰RK相關(guān)的數(shù)據(jù)從密鑰計(jì)算單元9,通過(guò)保密驗(yàn)證通道18傳送給應(yīng)用程序單元3的密鑰計(jì)算單元11。因此,密鑰計(jì)算單元11能夠計(jì)算重加密密鑰RK,使得解密單元12能夠?qū)χ丶用艿挠脩?hù)數(shù)據(jù)16解密。應(yīng)當(dāng)指出,傳輸線(xiàn)16、17和18包含在重放設(shè)備1的總線(xiàn)中。在解密單元12中對(duì)用戶(hù)數(shù)據(jù)解密后,所述用戶(hù)數(shù)據(jù)可以由復(fù)制單元13完整地重放和復(fù)制以供重放。
圖4中示出包括應(yīng)用程序單元31和驅(qū)動(dòng)單元32的根據(jù)本發(fā)明的重放設(shè)備30的第一實(shí)施例,即,用于寫(xiě)入用戶(hù)數(shù)據(jù)的設(shè)備。其中,應(yīng)用程序單元31的輸入裝置33接收待存儲(chǔ)在介質(zhì)4中的用戶(hù)數(shù)據(jù),并將用戶(hù)數(shù)據(jù)41傳送給驅(qū)動(dòng)單元32進(jìn)行加密和存儲(chǔ)。此外,寫(xiě)命令40從命令單元34傳送給規(guī)定所述用戶(hù)數(shù)據(jù)被存儲(chǔ)在介質(zhì)4中的位置的命令接口35,并包括規(guī)定哪一個(gè)密鑰數(shù)據(jù)用于由加密單元36對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行加密的密鑰數(shù)據(jù)信息。把包括用于開(kāi)始寫(xiě)入加密過(guò)的用戶(hù)數(shù)據(jù)43的邏輯塊地址的位置信息45發(fā)送給寫(xiě)裝置38。把包括密鑰數(shù)據(jù)標(biāo)識(shí)符的密鑰數(shù)據(jù)信息42發(fā)送到讀裝置39,用于讀取由介質(zhì)4中的所述密鑰數(shù)據(jù)標(biāo)識(shí)符表示的密鑰數(shù)據(jù)。然后把讀出的密鑰數(shù)據(jù)44輸入到密鑰產(chǎn)生裝置37,產(chǎn)生用于對(duì)加密單元36中的用戶(hù)數(shù)據(jù)41進(jìn)行加密的加密密鑰EK。另一方面,應(yīng)用程序單元31已經(jīng)可以使用所述加密密鑰EK對(duì)用戶(hù)數(shù)據(jù)加密,并將用戶(hù)數(shù)據(jù)以加密形式傳送給驅(qū)動(dòng)單元32。
圖5示出記錄設(shè)備30的另一個(gè)實(shí)施例。由于用于加密所需的密鑰數(shù)據(jù)已經(jīng)以加密形式包含在寫(xiě)命令40中,因此,在所述實(shí)施例中不需要用于從介質(zhì)4中讀取任何密鑰數(shù)據(jù)的讀裝置。所述加密的密鑰數(shù)據(jù)42從命令接口35提供給密鑰產(chǎn)生裝置37,產(chǎn)生加密密鑰EK,用于對(duì)接收的用戶(hù)數(shù)據(jù)41加密。加密的用戶(hù)數(shù)據(jù)43還是由寫(xiě)裝置38存入介質(zhì)4中。為了回避密鑰產(chǎn)生裝置37,無(wú)疑,寫(xiě)命令40也可以包括可直接由加密單元36使用的加密密鑰EK。
現(xiàn)在將參照?qǐng)D6說(shuō)明根據(jù)本發(fā)明的安全復(fù)制保護(hù)內(nèi)容的方法。圖中示出包括幾級(jí)的系統(tǒng)。第一級(jí)是應(yīng)用程序?qū)?0,所述層保持關(guān)于文件、版權(quán)和資源(asset)(數(shù)據(jù))的信息。包含在內(nèi)容表(TOC)中的所述信息在以下意義上是無(wú)源的應(yīng)用程序?qū)?0可以使用這些信息,但是不能根據(jù)它執(zhí)行操作。第二級(jí)是文件系統(tǒng)層51,所述層完全透明。所述層保持關(guān)于根據(jù)文件系統(tǒng)的元數(shù)據(jù)把文件請(qǐng)求轉(zhuǎn)換成扇區(qū)請(qǐng)求的信息。第三級(jí)是包括數(shù)字版權(quán)管理(DRM)系統(tǒng)核心的驅(qū)動(dòng)器52。所述級(jí)保持關(guān)于資源、版權(quán)和扇區(qū)的信息。
在安裝(62)磁盤(pán)53期間讀出存在于磁盤(pán)53上的文件系統(tǒng)數(shù)據(jù)61。向應(yīng)用程序50報(bào)告存在于磁盤(pán)53上的文件結(jié)果列表63。讀出存在于磁盤(pán)53上的任何DRM數(shù)據(jù)64并將其解密(步驟65),產(chǎn)生資源標(biāo)識(shí)符66(資源ID)、資源密鑰和對(duì)被允許的加密數(shù)據(jù)的所有操作的列表(步驟67)。向應(yīng)用程序50報(bào)告資源ID和相關(guān)的版權(quán)67。利用版權(quán)和文件信息產(chǎn)生綜合的TOC 68并提供給用戶(hù)。
根據(jù)用戶(hù)的選擇(步驟69),向文件系統(tǒng)層51發(fā)布文件請(qǐng)求70。文件系統(tǒng)層51將文件請(qǐng)求70轉(zhuǎn)換成扇區(qū)的塊請(qǐng)求71,將塊請(qǐng)求71轉(zhuǎn)發(fā)給驅(qū)動(dòng)器52,在驅(qū)動(dòng)器52中檢驗(yàn)所述請(qǐng)求的合法性(步驟72)。這時(shí),如果應(yīng)用程序50沒(méi)有向驅(qū)動(dòng)器52報(bào)告屬于請(qǐng)求扇區(qū)的、與文件相關(guān)聯(lián)的資源ID 66,那么DRM系統(tǒng)就不能查找并釋放相應(yīng)的資源密鑰。因此,檢索的任何加密的文件數(shù)據(jù)73就不能在步驟74中解密。
通過(guò)文件系統(tǒng)層51、穿過(guò)保密驗(yàn)證通道(SAC)傳送解密的扇區(qū)75,其中,扇區(qū)75與原始文件請(qǐng)求的文件76相關(guān)聯(lián),以便在可以信任的應(yīng)用程序中安全地傳送,其后,在步驟77中復(fù)制所述內(nèi)容。
任選地,可以要求可以信任的應(yīng)用程序50報(bào)告預(yù)期的對(duì)請(qǐng)求文件的操作。然后驅(qū)動(dòng)器52中的DRM系統(tǒng)可以檢查這種期望的應(yīng)用是否與報(bào)告的(與請(qǐng)求的文件相關(guān)聯(lián)的)資源ID相關(guān)聯(lián)的版權(quán)兼容。如果TOC不是利用文件系統(tǒng)和存在于磁盤(pán)上的DRM數(shù)據(jù)產(chǎn)生的,而是從分開(kāi)的文件讀出的,那么,需要防止將引起安全系統(tǒng)崩潰的對(duì)TOC的竊取。在那種情況下,可以信任的應(yīng)用程序可以建立在其對(duì)以下內(nèi)容的評(píng)估的基礎(chǔ)上什么內(nèi)容構(gòu)成關(guān)于給定資源的、對(duì)包含在綜合TOC中的錯(cuò)誤信息的適當(dāng)操作。
如果文件被成功復(fù)制,那么,相關(guān)的資源的版權(quán)可能已經(jīng)改變。在這種情況下,需要向驅(qū)動(dòng)器52中的DRM系統(tǒng)報(bào)告所述成功的復(fù)制(步驟78),然后,更新磁盤(pán)中的DRM數(shù)據(jù)80(步驟79)。
當(dāng)應(yīng)用程序需要對(duì)文件加密時(shí),除非SAC已經(jīng)存在,否則,首先要在應(yīng)用程序和驅(qū)動(dòng)器之間建立SAC。然后,通過(guò)SAC向驅(qū)動(dòng)器中的DRM系統(tǒng)傳送具有與文件相關(guān)的資源ID和預(yù)期的應(yīng)用(例如播放或復(fù)制)的請(qǐng)求。DRM檢查請(qǐng)求的有效性,并且如果有效,就準(zhǔn)備解密密鑰并向所述應(yīng)用程序提供用于將來(lái)查閱所述密鑰的“句柄”?,F(xiàn)在,當(dāng)應(yīng)用程序需要所述文件塊時(shí),把句柄與塊請(qǐng)求一起傳送給驅(qū)動(dòng)器。驅(qū)動(dòng)程序不必做任何關(guān)于此時(shí)塊請(qǐng)求的有效性檢查。如果句柄有效,那么塊就被解密并用SAC密鑰重新加密,然后以正常方式傳送給應(yīng)用程序。
因此本發(fā)明可以應(yīng)用于以下各種情況中的實(shí)體訪(fǎng)問(wèn)的任何情況通過(guò)把原始請(qǐng)求轉(zhuǎn)換成存儲(chǔ)裝置中的地址排列請(qǐng)求的(軟件)層,來(lái)便于對(duì)實(shí)體,例如包括存儲(chǔ)單元、即扇區(qū)或塊的集合的文件的訪(fǎng)問(wèn);以及存儲(chǔ)所述實(shí)體的存儲(chǔ)裝置可以使用對(duì)所述被訪(fǎng)問(wèn)的實(shí)體的所述請(qǐng)求的操作的特性或特征。這包括應(yīng)用(在驅(qū)動(dòng)器中)實(shí)現(xiàn)先進(jìn)的功能,例如數(shù)字版權(quán)管理或地址分配策略的存儲(chǔ)裝置,例如光盤(pán)系統(tǒng)和硬盤(pán)驅(qū)動(dòng)器。
應(yīng)當(dāng)指出,上面已經(jīng)通過(guò)說(shuō)明用戶(hù)數(shù)據(jù)的解密和加密的具體例子,分別作為處理讀或?qū)懺O(shè)備中的用戶(hù)數(shù)據(jù)的特定方式描述了本發(fā)明。然而,本發(fā)明并不局限于所述具體例子。所述設(shè)備也可以應(yīng)用其它處理用戶(hù)數(shù)據(jù)的方法,并且其它-另外的或輔助的-處理信息段可以包含在發(fā)送到各設(shè)備的任何讀或?qū)懨钪?,把?duì)用戶(hù)數(shù)據(jù)的預(yù)期的應(yīng)用通知所述各設(shè)備。因此,還可以把所描述的解密或加密單元推廣到根據(jù)包含在相應(yīng)的讀或?qū)懨钪械囊?guī)定的處理信息處理用戶(hù)數(shù)據(jù)的處理裝置。
權(quán)利要求
1.一種用于讀取以加密形式、塊方式存儲(chǔ)在介質(zhì)(4)中的用戶(hù)數(shù)據(jù)的設(shè)備,所述存儲(chǔ)介質(zhì)的存儲(chǔ)器被分成塊,所述設(shè)備包括·命令接口(6),用于接收和解釋讀命令,所述讀命令包括規(guī)定哪一個(gè)用戶(hù)數(shù)據(jù)被讀出的用戶(hù)數(shù)據(jù)信息和規(guī)定如何處理所述用戶(hù)數(shù)據(jù)的處理信息,·讀裝置(5),用于從所述存儲(chǔ)介質(zhì)讀取用戶(hù)數(shù)據(jù),·處理裝置(8),用于根據(jù)所述處理信息處理所述用戶(hù)數(shù)據(jù),以及·輸出裝置(26),用于輸出所述處理過(guò)的用戶(hù)數(shù)據(jù)。
2.如權(quán)利要求1所述的設(shè)備,其特征在于所述處理信息規(guī)定對(duì)解密、重加密、地址分配策略、實(shí)時(shí)特征、對(duì)所述用戶(hù)數(shù)據(jù)的讀錯(cuò)誤的可接受的重試次數(shù)的使用。
3.如權(quán)利要求1所述的設(shè)備,其特征在于所述處理信息包括規(guī)定哪一個(gè)密鑰數(shù)據(jù)用于對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行解密的密鑰數(shù)據(jù)信息,以及所述處理裝置(8)包括使用所述密鑰數(shù)據(jù)對(duì)所述用戶(hù)數(shù)據(jù)解密的解密裝置。
4.如權(quán)利要求3所述的設(shè)備,其特征在于所述讀命令包括用于對(duì)所述用戶(hù)數(shù)據(jù)解密的密鑰數(shù)據(jù),所述密鑰數(shù)據(jù)以加密形式被包含在所述讀命令中,以及所述設(shè)備還包括用于對(duì)所述加密過(guò)的密鑰數(shù)據(jù)進(jìn)行解密的密鑰解密裝置(7)。
5.如權(quán)利要求3所述的設(shè)備,其特征在于所述密鑰數(shù)據(jù)以加密形式存儲(chǔ)在所述存儲(chǔ)介質(zhì)中,所述讀命令包括標(biāo)識(shí)從所述存儲(chǔ)介質(zhì)(4)讀取的并用于對(duì)所述用戶(hù)數(shù)據(jù)解密的所述密鑰數(shù)據(jù)的密鑰數(shù)據(jù)標(biāo)識(shí)符,所述讀裝置(5)還適合于讀取所述標(biāo)識(shí)的密鑰數(shù)據(jù),以及所述設(shè)備還包括用于對(duì)所述加密的密鑰數(shù)據(jù)進(jìn)行解密的密鑰解密裝置(7)。
6.如權(quán)利要求3所述的裝置,其特征在于所述讀命令包括重加密密鑰數(shù)據(jù)信息,所述信息規(guī)定了在輸出解密過(guò)的用戶(hù)數(shù)據(jù)之前,哪一個(gè)重加密密鑰數(shù)據(jù)用于對(duì)所述解密過(guò)的用戶(hù)數(shù)據(jù)進(jìn)行重加密,以及所述設(shè)備還包括重加密裝置(10),用于在所述解密過(guò)的用戶(hù)數(shù)據(jù)被所述輸出單元(26)輸出之前對(duì)所述解密過(guò)的用戶(hù)數(shù)據(jù)進(jìn)行重加密。
7.一種讀取以加密形式、塊方式存儲(chǔ)在存儲(chǔ)介質(zhì)(4)中的用戶(hù)數(shù)據(jù)的方法,所述存儲(chǔ)介質(zhì)(4)的存儲(chǔ)器被分成塊,所述方法包括以下步驟·接收和解釋讀命令,所述讀命令包括規(guī)定哪一個(gè)用戶(hù)數(shù)據(jù)被讀出的用戶(hù)數(shù)據(jù)信息和規(guī)定如何處理所述用戶(hù)數(shù)據(jù)的處理信息,·從所述存儲(chǔ)介質(zhì)(4)讀取用戶(hù)數(shù)據(jù),·根據(jù)所述處理信息處理所述用戶(hù)數(shù)據(jù),以及·輸出所述處理過(guò)的用戶(hù)數(shù)據(jù)。
8.一種用于將用戶(hù)數(shù)據(jù)以塊方式寫(xiě)入其存儲(chǔ)器被分成塊的存儲(chǔ)介質(zhì)(4)中的設(shè)備,所述設(shè)備包括·命令接口(35),用于接收和解釋寫(xiě)命令,所述寫(xiě)命令包括規(guī)定哪一個(gè)用戶(hù)數(shù)據(jù)被寫(xiě)入的用戶(hù)數(shù)據(jù)信息和規(guī)定如何處理所述用戶(hù)數(shù)據(jù)的處理信息,·處理裝置(36),用于根據(jù)所述處理信息處理所述用戶(hù)數(shù)據(jù),以及·寫(xiě)裝置(38),用于將所述處理過(guò)的用戶(hù)數(shù)據(jù)寫(xiě)入所述存儲(chǔ)介質(zhì)。
9.如權(quán)利要求8所述的設(shè)備,其特征在于所述處理信息規(guī)定對(duì)加密、地址分配策略、實(shí)時(shí)特征、對(duì)所述用戶(hù)數(shù)據(jù)的寫(xiě)入錯(cuò)誤的可接受的重試次數(shù)的使用。
10.如權(quán)利要求8所述的設(shè)備,其特征在于所述處理信息包括規(guī)定哪一個(gè)密鑰數(shù)據(jù)用于對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行加密的密鑰數(shù)據(jù)信息,以及所述處理裝置(36)包括用于利用所述密鑰數(shù)據(jù)對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行加密的加密裝置。
11.如權(quán)利要求10所述的設(shè)備,其特征在于所述寫(xiě)命令包括用于對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行加密的密鑰數(shù)據(jù),所述密鑰數(shù)據(jù)以加密形式被包含在所述寫(xiě)命令中,以及所述設(shè)備還包括用于對(duì)所述加密過(guò)的密鑰數(shù)據(jù)進(jìn)行解密的密鑰解密裝置(37)。
12.如權(quán)利要求10所述的設(shè)備,其特征在于所述密鑰數(shù)據(jù)以加密形式存儲(chǔ)在所述存儲(chǔ)介質(zhì)中,所述寫(xiě)命令包括標(biāo)識(shí)從所述存儲(chǔ)介質(zhì)(4)讀取的并用于對(duì)所述用戶(hù)數(shù)據(jù)進(jìn)行加密的密鑰數(shù)據(jù)的密鑰數(shù)據(jù)標(biāo)識(shí)符,所述設(shè)備還包括·讀裝置(39),用于從所述存儲(chǔ)介質(zhì)讀取所述標(biāo)識(shí)過(guò)的密鑰數(shù)據(jù),以及·密鑰解密裝置(37),用于對(duì)所述加密過(guò)的密鑰數(shù)據(jù)進(jìn)行解密。
13.一種用于將用戶(hù)數(shù)據(jù)以塊方式寫(xiě)入其存儲(chǔ)器被分成塊的存儲(chǔ)介質(zhì)(4)的方法,所述方法包括以下步驟·接收和解釋寫(xiě)命令,所述寫(xiě)命令包括規(guī)定哪一個(gè)用戶(hù)數(shù)據(jù)被寫(xiě)入的用戶(hù)數(shù)據(jù)信息和規(guī)定如何處理所述用戶(hù)數(shù)據(jù)的處理信息,·根據(jù)所述處理信息處理所述用戶(hù)數(shù)據(jù),以及·將所述處理過(guò)的用戶(hù)數(shù)據(jù)寫(xiě)入所述存儲(chǔ)介質(zhì)(4)。
14.一種包括計(jì)算機(jī)程序代碼工具的計(jì)算機(jī)程序產(chǎn)品,用于當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)上運(yùn)行性時(shí),使計(jì)算機(jī)執(zhí)行如權(quán)利要求7或13所述的方法的所述各步驟。
全文摘要
本發(fā)明涉及用于讀出以加密形式、塊方式存儲(chǔ)在其存儲(chǔ)器被分成塊的存儲(chǔ)介質(zhì)(4)中的用戶(hù)數(shù)據(jù)的設(shè)備,涉及用于將用戶(hù)數(shù)據(jù)以塊方式寫(xiě)入存儲(chǔ)介質(zhì)(4)中的設(shè)備以及相應(yīng)的方法。為了把關(guān)于對(duì)所述用戶(hù)數(shù)據(jù)的預(yù)期的使用分別通知讀或?qū)懺O(shè)備,特別是當(dāng)用戶(hù)數(shù)據(jù)以加密形式存儲(chǔ)在存儲(chǔ)介質(zhì)中時(shí)將有關(guān)對(duì)用戶(hù)數(shù)據(jù)進(jìn)行加密的加密密鑰在將用戶(hù)數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì)之前通知讀設(shè)備,或者將有關(guān)對(duì)讀取的用戶(hù)數(shù)據(jù)進(jìn)行解密的解密密鑰在將用戶(hù)數(shù)據(jù)輸出之前通知寫(xiě)設(shè)備,根據(jù)本發(fā)明建議給讀或?qū)懨钤黾右?guī)定如何處理用戶(hù)數(shù)據(jù)的處理信息,并提供處理裝置,用于按照所述處理信息處理用戶(hù)數(shù)據(jù),例如對(duì)讀取的用戶(hù)數(shù)據(jù)在輸出之前進(jìn)行解密,或?qū)邮盏挠脩?hù)數(shù)據(jù)在將它存入存儲(chǔ)介質(zhì)之前進(jìn)行加密。
文檔編號(hào)G11B20/00GK1639789SQ02820179
公開(kāi)日2005年7月13日 申請(qǐng)日期2002年9月12日 優(yōu)先權(quán)日2001年10月12日
發(fā)明者W·F·J·方特恩, R·M·托爾, A·A·M·斯塔林格, M·A·特雷弗斯 申請(qǐng)人:皇家飛利浦電子股份有限公司