專利名稱:對便攜式介質上的內容的加密和數(shù)據(jù)保護的制作方法
技術領域:
本發(fā)明涉及一種用于在數(shù)據(jù)內容上強制(enforcing)權利的結構。更具體地,本發(fā)明涉及這樣的強制結構,即能夠只根據(jù)與內容相關聯(lián)的規(guī)則存取便攜式介質上的加密數(shù)字內容的結構。更為具體地,本發(fā)明涉及這樣的結構,即將內容連接到獨特的可辨認的便攜式介質以便內容不能從任何其它的介質再現(xiàn)。
背景技術:
如已知的并且現(xiàn)在參考圖1,迫切期望與數(shù)據(jù)內容12有關的權利管理(RM)和強制系統(tǒng),數(shù)據(jù)內容12比如為數(shù)字音頻、數(shù)字視頻、數(shù)字文本、數(shù)字數(shù)據(jù)、數(shù)字多媒體等等,這樣的數(shù)字內容12在這里被分配給用戶。一旦被用戶接收,這樣的用戶借助適當?shù)脑佻F(xiàn)設備,比如個人計算機上的媒體播放器、便攜式重放設備或其它的用戶計算設備14上再現(xiàn)或“播放”數(shù)字內容。
典型地,分配這種的數(shù)字內容12的內容的所有者希望限制哪些用戶可以利用這種分配的數(shù)字內容12。比如,內容的所有者希望限制用戶復制和重分配該內容12到第二用戶,或者希望容許分配的內容12只被播放有限的次數(shù),只以確定的總的時間,只在某種類型的機器上,只在某種類型的媒體播放器上,只由某種類型的用戶,等等。
然而,在分配發(fā)生之后,該內容所有者在數(shù)據(jù)內容12上沒有任何控制。一個RM系統(tǒng)10容許受控制的再現(xiàn)或播放二進制形式的數(shù)字內容12,其中這種控制是靈活的并且可由該數(shù)據(jù)內容的所有者定義。典型地,內容12以分組13的形式通過任何適當?shù)姆峙湫诺辣环峙涞接脩?。如同被分配的?shù)字內容分組一樣,數(shù)字內容分組13在分配時可包括以對稱加密/解密密鑰(KD),(比如(KD)(CONRENT))加密的數(shù)字內容12,以及識別該內容、如何獲得該內容的許可等等的其它信息。
在該數(shù)字內容12被容許再現(xiàn)之前,基于托管(trust)的RM系統(tǒng)10容許數(shù)字內容12的所有者指定滿足條件的規(guī)則。該規(guī)則可包括前面提及的那些和/或其它的,并且可包含在數(shù)字許可16之中,數(shù)字許可16是用戶/用戶的計算設備14(此后,該術語可互換除非環(huán)境要求另外的)從內容所有者或者它的代理獲得的,或者該規(guī)則可已經附加到內容12。該許可16例如可包括用來加密數(shù)字內容12的加密密鑰(KD),或許根據(jù)另一個可被用戶的計算設備或其它重放設備解密的密鑰加密。
一塊數(shù)字內容12的內容所有者最好不將內容12分配到用戶,除非該所有者相信用戶將遵守該內容所有者在許可16中或在別處規(guī)定的規(guī)則。用戶的計算設備14或者其它的重放設備被配備了托管的組件或結構18,除了根據(jù)該規(guī)則之外,它將不再現(xiàn)數(shù)字內容12。
托管組件18典型地具有評估器20,評估器20尤其是以探尋的方式檢查規(guī)則,并基于檢查的規(guī)則確定請求的用戶是否有權再現(xiàn)請求的數(shù)字內容12。正如應當理解的,評估器20被托管在RM系統(tǒng)10中以根據(jù)規(guī)則實現(xiàn)數(shù)字內容12所有者的希望,并且用戶不應為了任何惡意的或相反的目的輕易地改變該托管組件18和/或評估器20。
正如應當理解的,再現(xiàn)內容12的規(guī)則基于任何幾個因素規(guī)定用戶是否有權再現(xiàn),幾個因素包括用戶是誰,用戶位于何處,用戶使用的計算設備14或者其它的重放設備是什么類型,什么再現(xiàn)應用在呼叫RM系統(tǒng)10,日期,時間,等等。另外,該規(guī)則可將再現(xiàn)限制到比如預定數(shù)目的播放,或者預定的播放時間。
可根據(jù)任何適當?shù)恼Z言和語法來規(guī)定該規(guī)則。例如,語言可只規(guī)定所要滿足的屬性和值(比如,X之后的DATE),或者可根據(jù)特定的答案(比如,如果日期大于X,則進行Y)規(guī)定函數(shù)的性能。
一旦評估器20確定用戶滿足規(guī)則,數(shù)字內容12被再現(xiàn)。尤其對于再現(xiàn)內容12,從預定義的信源獲得解密密鑰(KD)并從內容分組13運用到(KD(CONTENT)),以得到真實的內容12,并且該真實的內容12真實地被再現(xiàn)。
在RM系統(tǒng)10中,將內容12分組來通過加密該內容12并使一套規(guī)則與內容12相關聯(lián)來為用戶所使用,由此內容12只根據(jù)規(guī)則被再現(xiàn)。因為內容12只根據(jù)規(guī)則被再現(xiàn),所以內容12可以自由地分發(fā)。明顯地,內容12,規(guī)則和解密密鑰(KD)的加密的版本被傳送到計算設備14或者其它的重放設備。另外,在準備至少解密密鑰的加密版本(KD)時,將解密密鑰(KD)以這樣的方式結合到對象是有益的,以便除了解密密鑰的的加密版本在該對象存在的情況以外,解密密鑰的加密版本不能被存取以解密并再現(xiàn)內容12。因此,在某種意義上,內容12,規(guī)則,和解密密鑰(KD)的加密版本不會被重新分配,所以內容12可被廣泛地再現(xiàn)并且違背了內容所有者的愿望。正如可以理解的,這樣的加密的解密密鑰(KD)所結合到的對象可以是計算設備14或者是其它的重放設備或者可以是諸如盤驅動器、光或磁存儲盤等等之類的存儲介質。
因此,用于計算機、消費電子設備以及其它計算設備的安全的、簡單的、重量輕的并且消費得起的復制保護系統(tǒng)是合符需要的以致力于解決一個或多個這些以及其它的缺點。
發(fā)明內容
前述的需要至少部分地由本發(fā)明滿足,其中信源以可由具有公共-專用密鑰對(PU-PD,PR-PD)的多個設備中的任何一個設備存取的方式,將一塊數(shù)據(jù)內容存儲到介質,并能接納和具有存儲介質。在一個實施例中,發(fā)明提供了一種方法和機制,它允許RM系統(tǒng)10將加密的解密密鑰(KD)結合到對象,以便除了在該對象存在以外,不能獲得加密的解密密鑰(KD)。在另一個實施例中,對像是便攜式的,比如光盤或磁存儲盤之類的,以便用戶在計算設備14或其它重放設備之間傳送在其上帶有加密的解密密鑰的對象。
可以為一個設備指定不只一套的公共-專用密鑰對。信源生成介質密鑰(KM)并獲得主密鑰列表,主密鑰列表在其中包括多個入口和版本號。每個入口包括多個設備之一的(PU-PD)。信源基于(KM)和主密鑰列表生成媒體秘密表,其中媒體秘密表包括多個入口,這些入口至少對應于主密鑰列表的多個入口的一個子集。媒體秘密表的每個入口包括由表(PU-PD(KM))的相應入口(PU-PD)加密的(KM)。
信源從中獲得介質標識符(ID),為一塊內容生成內容密鑰(KD),以(KM)加密(KD)來得到(KM(KD)),為內容生成包括(KD(內容))、(KM(KD))、介質ID、和至少基于簽名的介質ID并且可以(KM)來驗證的分組,并將生成的分組、媒體秘密表復制到介質。另外,與內容相關聯(lián)的使用規(guī)則(比如,一個許可)也被存儲到介質上。
因此,帶有介質的設備一旦接收再現(xiàn)其上的內容的請求,就從介質獲得媒體秘密表,獲得其(PR-PD),基于獲得的(PU-PD)檢索到媒體秘密表的入口,從媒體秘密表被檢索到的入口獲得(PU-PD(KM)),將(PR-PD)運用到(PU-PD(KM))來暴露(KM),基于(KM)驗證內容分組的數(shù)字簽名,從內容分組獲得介質ID,從介質獲得介質ID,驗證來自內容分組的介質ID匹配于來自介質的介質ID,并且如果數(shù)字簽名驗證并且介質ID也驗證,從分組獲得(KM(KD)),將(KM)運用到(KM(KD))來暴露(KD),從存儲介質上的內容分組獲得(KD(內容)),將(KD)運用到(KD(內容))來暴露內容,并按照存儲在介質上的使用規(guī)則來再現(xiàn)暴露的內容。
根據(jù)發(fā)明的一個方面,一種方法以復制保護加密內容來存儲在目的地計算機可讀介質。該方法包括生成與目的地計算機可讀介質相關聯(lián)的介質密鑰,和以一個或多個公共密鑰加密生成的介質。每個公共密鑰對應于一個終端用戶設備。該方法包括以內容密鑰和加密內容并以介質密鑰加密內容密鑰。該方法也包括定義與目的地計算機可讀介質相關聯(lián)的介質標識符,并將定義的介質標識符與加密的內容相關聯(lián)。該方法也包括存儲加密的內容、加密的內容密鑰、加密的介質密鑰,和將介質標識符與目的地計算機可讀介質相關聯(lián),在再現(xiàn)內容之前,在其中將定義的介質標識符和與加密的內容相關聯(lián)的介質標識符相比較來為內容提供復制保護。
根據(jù)本發(fā)明的另一個方面,一種方法解密存儲在計算機可讀介質上的復制保護內容來被終端用戶設備再現(xiàn)。計算機可讀介質存儲分組,該分組包括加密的內容、加密的內容密鑰、一個或多個介質密鑰和介質標識符,介質密鑰每個被與多個最終用戶之一相關聯(lián)的公共密鑰加密。終端用戶設備具有與之相關聯(lián)的專用密鑰。該方法包括,從作為專用密鑰的函數(shù)的加密介質密鑰來為最終用戶計算介質密鑰。該方法也包括為計算機可讀介質定義介質標識符,并將存儲在分組中的介質標識符和定義的介質標識符相比較。該方法進一步包括,如果定義的介質標識符與存儲在分組中作為所述比較的函數(shù)的介質標識符相符,通過計算的介質密鑰解密加密的內容密鑰,并通過加密的內容密鑰解密加密的內容。
根據(jù)本發(fā)明的又另一方面,一種系統(tǒng)以復制保護將內容記錄到計算機可讀介質上。該系統(tǒng)包括用來存儲內容、與計算機可讀介質相關聯(lián)的介質標識符、每個和一個終端用戶設備相對應的一個或多個公共密鑰、與存儲的內容相關聯(lián)的一個或多個使用規(guī)則的存儲區(qū)域。該系統(tǒng)還包括配置成執(zhí)行計算機可執(zhí)行指令的處理器,處理器用來生成與計算機可讀介質相關聯(lián)的介質密鑰,以每個存儲在存儲區(qū)域中的公共密鑰加密生成的介質密鑰,以內容密鑰加密存儲在存儲區(qū)域中的內容,以介質密鑰加密內容密鑰,將加密的內容、加密的內容密鑰、加密的介質密鑰、和相關聯(lián)的介質標識符存儲到計算機可讀介質。
根據(jù)本發(fā)明的還另一個方面,一種系統(tǒng)通過終端用戶設備將存儲在計算機可讀介質中的復制保護內容再現(xiàn)到目的地計算機可讀介質。該系統(tǒng)包括存儲區(qū)域,存儲區(qū)域用來存儲與計算機可讀介質相關聯(lián)的介質標識符、加密的內容,加密的內容密鑰、每個被與多個最終用戶之一相關聯(lián)的公共密鑰加密的一個或多個介質密鑰、和與最終用戶相關聯(lián)的專用密鑰。該系統(tǒng)也包括配置成執(zhí)行計算機可執(zhí)行指令的處理器,處理器用來從存儲在存儲區(qū)域中作為專用密鑰的函數(shù)的加密介質密鑰為最終用戶計算介質密鑰,將與計算機可讀介質相關聯(lián)的介質標識符與和加密的內容相關聯(lián)的介質標識符相比較,處理器進一步地配置成,作為比較的介質標識符的函數(shù),如果與計算機可讀介質相關聯(lián)的介質標識符與和加密的內容相關聯(lián)的的介質標識符相符,執(zhí)行計算機可執(zhí)行指令來以計算的介質密鑰解密加密的內容密鑰并解密內容密鑰。
根據(jù)發(fā)明的另一個方面,一個或多個計算機可讀介質具有用來為內容提供復制保護的計算機可執(zhí)行組件。該組件在終端用戶設備上執(zhí)行。該組件包括加密組件,它通過下列步驟加密內容,即通過生成與計算機可讀介質相關聯(lián)的介質密鑰,以一個或多個公共密鑰加密生成的介質密鑰。每個公共密鑰對應于一個終端用戶設備。加密組件為內容創(chuàng)建一個媒體秘密表。該媒體秘密表包括加密的介質密鑰。加密組件進一步以內容密鑰加密內容,以介質密鑰加密內容密鑰,定義與目的地計算機可讀介質相關聯(lián)的介質標識符,并將定義的介質標識符與加密的內容相關聯(lián)。在計算機可讀介質上將加密的內容、加密的內容密鑰、媒體秘密表、和相關的介質標識符存儲為一組。組件也解密組件,解密組件通過下列步驟來解密由加密組件加密的內容并強制復制保護,即通過從作為專用密鑰的函數(shù)的媒體秘密表來為最終用戶計算介質密鑰,為計算機可讀介質確定基準介質標識符,將存儲在組中的介質標識符和確定的基準介質標識符相比較。作為所述比較的介質標識符的函數(shù),如果確定的介質標識符與存儲在組中的介質標識符相符,以計算的介質密鑰解密加密的內容密鑰,并以解密的內容密鑰解密加密的內容。
可替換地,發(fā)明可以包括各種其它的方法和設備。
其它的特征有一部分是顯而易見的并且有一部分在此后指明。
如同可以理解的,本發(fā)明不限于精確的示于下列圖中的裝置和方法。
圖1為示出基于托管的系統(tǒng)的實例的強制(enforcement)結構的框圖;圖2為根據(jù)本發(fā)明的實施例示出計算設備,主機或其它信源、和具有主密鑰列表并且加密的內容被信源寫入并由設備從中讀出的存儲介質的框圖;圖3為示出由圖2的設備在從圖2的介質再現(xiàn)內容時執(zhí)行的密鑰運算的流程圖;圖4為示出由圖2的信源在將內容復制到圖2的介質時執(zhí)行的密鑰運算的流程圖;圖5為示出本發(fā)明的實現(xiàn)的示范性結構的框圖;圖6為表示在其中合并了本發(fā)明的方面和/或其中的部分的通用計算機系統(tǒng)的框圖;在全部附圖中相應的參考字符指示對應的部分。
具體實施例方式
典型地,比如前面闡明的RM系統(tǒng)10,它尤其是通過具有用戶的計算設備14來鑒定它自已為合法的RM組件,并為了構成并接收解密密鑰(KD)的加密版本,發(fā)射一個或多個用密碼寫的密鑰來保護數(shù)據(jù)內容12,通過解密密鑰(KD)的加密版本可以存取內容12。該鑒定以及密鑰傳送包括,但不僅限于,包括簽名證件、談判、不對稱和對稱密鑰的交換等等的交互式的處理,其中交互式處理在網(wǎng)絡連接或者在計算設備14和諸如許可的服務器之類的遠端實體上完成。
然而,將會理解到,在這種情況下內容12實際上結合到計算設備14并且因此除了該計算設備14存在的情況以外,不能再現(xiàn)內容12。特別在當內容12的用戶希望在幾個計算設備14和/或其它的重放設備之間運送該內容12的情況下,會期望將內容12和規(guī)則一起存儲到便攜式介質來存儲內容12和解密密鑰(KD)的加密版本。然而,也期望阻止該條目以與內容所有者的期望相反的方式廣泛地分發(fā)。因此,在本發(fā)明的一個實施例中,至少加密的解密密鑰(KD)以一種方式被結合,以便除了該存在的情況以外,不能存取該解密密鑰(KD)。
如同會理解到的,該便攜式介質可以為任意的便攜式介質而不脫離本發(fā)明的精神和范圍。例如,該便攜式介質可以是諸如CD或DVD盤或者軟盤之類的光盤或磁盤,,或者為便攜式智能卡,便攜式RAM卡,便攜式媒體卡,便攜式硬盤驅動器,或等等的在其中帶有數(shù)字存儲器的介質。明顯地,將解密密鑰(KD)的加密版本結合到便攜式介質,該便攜式介質應當包括一個不容易被更改或復制的并且為機器可讀的獨特的標記或ID。該ID比如可以為在每個DVD上位于接近其盤芯的獨特的條形碼ID,等等。
因此,在本發(fā)明中,現(xiàn)在參考圖2,重放設備62通過恬當?shù)亟蛹{該介質61,或相反在其中包括介質61來再現(xiàn)或重放在便攜式介質61或者其它目的地計算機可讀介質上的內容12。明顯地,并且如同下面將詳細闡明的,通過被準許一個或多個公共—專用密鑰對(PU-PD,PR-PD)和一些形式的托管組件18,重放設備62被預先授權來存取介質61上的內容12,并且授權通過和內容12一起被包含在介質61上的媒體秘密表64來確認,設備62的托管組件18使用(PR-PD)來解密解密密鑰(KD)的加密版本。設備62因此被授權來再現(xiàn),并且另外通過具有(PR-PD)和托管組件18的優(yōu)點來使用內容12,這容許存取到表64。公用—專用密鑰對技術為本領域所熟知的技術。
在獲得并再現(xiàn)數(shù)字內容12的一種模式中,仍然參考圖2,該數(shù)字內容12被下載或者否則從信源60獲得并置于便攜式介質61上,便攜式介質61安裝在重放設備62或者在該設備62的內部。該設備62可以為任何適當?shù)脑O備14而不脫離本發(fā)明的精神和范圍。例如,該設備62可以是帶有相對有限的功能的便攜式播放器,帶有相對廣的功能的計算設備14等等。另外,設備62可只能再現(xiàn)內容12或者能夠將內容12復制到另一個便攜式介質61,如果這種情況如下面將更詳細地闡明的為相關的規(guī)則容許。
信源60可以為任意適當?shù)男旁炊幻撾x本發(fā)明的精神和范圍,只要在信源60和便攜式介質61之間存在連接63。例如,信源60可以為主機,為遠端服務器位置,或者它們的組合,在其上帶有內容12或通過它可得到的。這可以比如是這種情況,即在售貨亭或許在零售口,內容12和相關的數(shù)據(jù)從信源下載。在另一個實例中,信源60為DVD記錄設備而便攜式介質61為適于在DVD記錄設備中使用中的計算機可讀介質??蛇x擇地,也可以比如為這樣的情況,即設備62耦合到信源60,象例如為內容12以及相關的數(shù)據(jù)直接下載到那里的主機之類的情況。
在本發(fā)明的一個實施例中,當內容12下載到介質61時,也獲得并下載相應的一套使用規(guī)則,或相反置于介質61上。規(guī)則可以采用任何恬當?shù)男问蕉幻撾x本發(fā)明的精神和范圍。例如,規(guī)則可以附到在介質61上的內容12或者與內容12分開,并可以采取更正式的許可16或一套不太正式的聲明,正式的許可或不太正式的聲明可以由介質18上的托管組件18解釋并遵守。用于產生該規(guī)則的方法和機制為熟知的或者為本領域的熟練技術人員來說是顯而易見的,因此不需要在此作任何詳細的闡述??傮w上說,規(guī)則會規(guī)定限制,即便要被滿足以在設備62再現(xiàn)在介質61上的相應內容12。另外,規(guī)則可提出其它的規(guī)定,像比如內容1 2是否可以復制到另一個介質61之類的。
注意內容12在被放到介質61上之前可以是也可以不是已經為RM-保護形式。假如這樣的話,并假設在信源60的內容12被內容密鑰(KD)加密,并且在信源60的內容密鑰(KD)根據(jù)比如信源60的公共密鑰(PU)之類的不對稱密鑰被加密,信源60通過運用相應的專用密鑰(PR)并根據(jù)介質61的密鑰(KM)重新加密內容密鑰(KD)而形成(KM(KD)),其中(KM(KD))為內容密鑰(KD)的加密版本,并且和加密內容12一起放在介質61上。因此,正如應當理解的,內容密鑰(KD)如同根據(jù)介質密鑰(KM)被加密來形成(KM(KD))一樣被結合到介質61而尤其決不是設備62。
如果不是已經為RM-保護形式,內容12被放到其中。特別地,信源60為內容12選擇內容密鑰(KD),并以該內容密鑰(KD)加密內容12來形成(KD(內容))。此后,信源60根據(jù)介質密鑰(KM)加密內容密鑰(KD)來形成(KM(KD)),其中(KM(KD))為內容密鑰(KD)的加密版本并和加密內容12一起置于介質61上。因此,內容密鑰(KD)如同根據(jù)介質密鑰(KM)被加密來形成(KM(KD))一樣再次被結合到介質61而尤其決不是設備62。
仍然參考圖2,為下載數(shù)據(jù)內容12和相關的條目到介質61,該介質61通過連接63被耦合到信源60,連接63可以為任何適當?shù)倪B接而不脫離本發(fā)明的精神和范圍。如同可以理解的,如果介質61為某些形式的便攜式可寫存儲器,連接63為適當?shù)慕橘|安裝在其上的驅動器。同樣,如果介質61在設備62的內部,連接63可以為適當?shù)碾娎|,諸如RF或IR鏈路之類的無線鏈路等等。該連接63和支持它的硬件和/或軟件為熟知的,或者對本領域普通技術人員是顯而易見的,因此不需要在此更加詳細地描述。
記住加密的內容12,為此的規(guī)則,以及根據(jù)介質密鑰(KM)加密而形成(KM(KD))的內容密鑰(KD)都在存儲介質61上,并且還要記住內容12的內容密鑰(KD)根據(jù)介質密鑰(KM)加密來形成KM(KD),并假設介質密鑰(KM)為對稱密鑰,該介質密鑰(KM)應當也和該介質61一起傳播。然而,并且重要的,(KM)不應被暴露,因此以加密的形式被存儲到介質61上。特別地,在本發(fā)明的一個實施例中,(KM)由設備62的公共密鑰(PU-PD)加密來形成(PU-PD(KM)),并且(PU-PD(KM))被存儲到前述的在介質61上的媒體秘密表64。
為了本發(fā)明假設設備62不能將它的公共密鑰(PU-PD)傳送到介質61或者信源60,即使該能力確實存在也不脫離本發(fā)明的精神和范圍。另外,因為介質61可由任何的大量設備62接納,在內容12和相關的條目置于介質61上時,信源60和/或用戶也許不知道每個預期的接收設備62。因此,以(PU-PD)加密(KM)來形成(PU-PD(KM))的信源60已經擁有來自每個可能的設備62的每個可能的(PU-PD)密鑰。
特別地,如果不是更多的話,這里可能有數(shù)百萬的設備62,并且每個設備62有它自己的可假定的獨特(PU-PD)密鑰。然而,前述的加密實體似乎不能期望知道每個設備62的獨特(PU-PD)密鑰。
因此在本發(fā)明的一個實施例中,(PU-PD)密鑰和相應的(PR-PD)密鑰以有組織的方式被指定到參與設備62,像比如通過集中的權限的或標準主體之類的。結果,(PU-PD)密鑰的數(shù)目被保持在可管理的水平。在該實施例中,以及如同可以理解的,集中的權限的或標準主體(此后,“主人”)以索引的形式維持公共密鑰(PU-PD)的一個主密鑰列表68,其中主密鑰列表68是可存取的,直接或者間接地由每個信源60存取。
以主人的名義將密鑰對(PU-PD,PR-PD)分配到設備62可以以任何方式做出而不脫離本發(fā)明的精神和范圍。例如,設備62的每個制造商可以被指定一個或多個特殊的密鑰對,借此所有因此被制造的設備62被提供了制造商特定的密鑰對。同樣,設備62的每個模型可以被指定一個或多個特殊的密鑰對。相似的,設備62的每個制造商和模型可以指定許多的密鑰對,密鑰對隨機地或者有目的地供給特定的一個設備62。注意如果特殊的制造商或模型變得不能信賴,它每個密鑰對可只是被取消(如下將討論的)而不影響其它的制造商或模型。
信源60再下載保護的內容12,規(guī)則和(KM(KD))到介質61而不必知道介質61將安裝到哪個設備62或在哪個設備62的內部。因此,如同在圖2中所見的,在本發(fā)明的一個實施例中,信源60也將媒體秘密表64下載到介質61,在這里該表64在其中有根據(jù)設備的幾個公共密鑰的每一個(PU-PD)加密的熟知的(KM)。重要的,并且現(xiàn)在應當理解,表64基于在前述的主密鑰列表68中的公共密鑰(PU-PD)來編輯。如所了解的,在表64中,每個加密的(PU-PDx(KM))有相應的索引值x,索引值X規(guī)定了(PU-PD)的加密秘密的標識符。例如,(PU-PD3)由索引值3規(guī)定。如可以理解的,該索引值x相應于主密鑰列表68中的索引,以此任何設備62知道特殊的(PU-PDx)一個索引x,從而可以基于同一個索引而指向表64來獲得(PU-PDx(KM))。在一個實例中,標識符為16比特。
在本發(fā)明的一個實施例中,表64包括在其中的根據(jù)設備62的(PU-PDx)加密的(KM),它將用來再現(xiàn)相應的內容12。注意表64可具有根據(jù)每個(PU-PDx)加密的(KM),(KM)基于主密鑰列表68的知識為信源60所已知,或為它的特定的子集所已知,所有的都不脫離本發(fā)明的精神和范圍。例如,完成這樣的下載的用戶可規(guī)定設備62是由特殊的制造商制造的,并且表64因此包括根據(jù)制造商的每個(PU-PDx)加密的(KM)。同樣,用戶可以規(guī)定設備62可以許多特殊的設備62中的任一個,并且表64因此包括根據(jù)該多個特殊的設備62的每個(PU-PDx)加密的(KM)。在另一個實例中,信源60生成一個比如表64之類的表,它容許被所有未被取消的設備62存取。
記住,介質61包括獨特的介質標識符(ID),它不容易被改變或復制并且它由設備62可讀或可定義,在介質61上的加密內容12應當基于該介質ID被結合到那里。在一個實施例中,介質ID為一個序號,它在制造過程中被寫入介質61。因此,作為將內容12復制到介質61的一部分,并且在本發(fā)明的一個實施例中,源60從介質61讀出ID,并且在復制同一個到介質61之前將ID附到加密的內容12。正如在下面將更詳細地說明的,由于設備62被托管以從介質61再現(xiàn)內容12,所以只有當該內容12包括該介質61的介質ID時發(fā)生結合。
如圖2所示,如放置在其上似的帶有內容12的介質61包括介質ID,加密的內容(KD(內容)),加密的內容密鑰(KM(KD)),使用該內容的使用規(guī)則,以及帶有一套(PU-PDx(KM))的表64。
注意至今還沒有什么將加密的內容密鑰(KM(KD))結合到介質61及其介質ID。因此,在本發(fā)明的一個實施例中,加密的內容(KD(內容))被分組到包括加密的內容密鑰(KM(KD))、使用內容的使用規(guī)則、以及介質ID的復制的內容分組13或者文件中。因此,(KM(KD))和介質ID現(xiàn)在通過在同一個分組13中而被結合到一起。當然,惡意的實體會嘗試改變分組13,因此為了阻撓該嘗試,至少在分組13中的介質ID被利用來作為數(shù)字簽名的基礎,它被附加在分組13上。因此,任何改變介質ID的嘗試會導致簽名不能被驗證。在該實施例中,介質密鑰(KM)可以下面闡明的方式用來作為簽名驗證密鑰。
還注意至今還沒有什么將分組13結合到表64。提出另一種方式,它可以是這種情況,即內容12在多個會話期間置于介質61上,這里所采用的介質密鑰(KM)對于每個會話期間是不同的。在該情況下,介質61包括多個分組13以及其中的多個表64,這里每個媒體秘密表是基于不同的會話期間并因此是不同的介質密鑰(KM)。每個會話期間是獨立的。因此,在本發(fā)明的一個實施例中,一個表ID識別每個表64以及每個分組13包括表64的表ID,表ID是和該分組13結合來使用的。因此分組13中的表ID被用來定位對應的將隨其使用的表64。
注意可以是這樣的情況,即設備62它自己能夠擔當導出的信源,比如信源60,因此它自己將內容12置于另一個介質61上。為此擔當導出信源的設備62需要主密鑰列表68的當前復制。如果設備62它自己不能直接從主人或其代理處獲得主密鑰列表68的當前復制,在本發(fā)明的一個實施例中,該設備62可通過由信源存儲在介質61上的該復制獲得主密鑰列表68的當前復制,信源它自己直接從主人或其代理獲得當前復制。
因此,在本發(fā)明的一個實施例中,信源60確實將主密鑰列表68的當前復制置于介質61之上,以為擔當導出信源的任何設備62可利用。在該實施例中,主人在更新主密鑰列表68時運用了不減少版本號到那里,并可用適當密鑰標記主人密鑰列表68。因此擔當從信源比如信源60的設備62在遇到介質61時,基于其上的主密鑰列表68的版本號確定介質61是否比該設備62具有更多的當前主密鑰列表68,并且如果是這樣的話,設備62將主密鑰列表68從介質復制到設備62。當然,在這樣做時,設備62保證主密鑰列表68的簽名驗證以保證該列表68沒有被改變。
如圖2所示,如放置在其上似地帶有內容12的介質61包括-介質ID;-分組13帶有-加密的內容(KD(內容));-加密的內容密鑰(KM(KD));-介質ID(將介質鏈接到分組);-表ID(將分組鏈接到主密鑰列表);-使用內容的用法規(guī)則;-至少基于介質ID的簽名和可以(KM)來驗證的i.;-帶有一套(PU-PDx(KM))和表ID的媒體秘密表64;-帶有一套(PU-PD)、版本號和簽名的主密鑰列表68。
為了再現(xiàn)介質61上的內容,設備62查閱介質61上的表64,表64與內容12相對應并索引到根據(jù)該設備62的(PU-PDx)加密的(KM)。特別地,現(xiàn)在參考圖3,在301,一旦被命令再現(xiàn)內容12的設備62查閱用于該內容12的規(guī)則,規(guī)則如所闡明的在具有該內容12的分組13之中,并在302通過托管組件18的評估器20確定規(guī)則是否滿足。
假設規(guī)則實際上滿足,在303,設備62基于在分組13中和在表64中的表ID,獲得與內容12/分組13相對應的表,并在305獲得設備62的專用密鑰(PR-PDx)和設備62的索引值,在307,基于獲得的索引值x索引到表64,在309選擇相應的(PU-PDx(KM))。在311,設備62將獲得的(PR-PDx)運用到加密的(PU-PDx(KM))來暴露表64的介質密鑰(KM)。
在313,設備62以(KM)驗證附加到分組的簽名來至少鑒定在分組中的介質ID,并且在315也保證分組13中的介質ID匹配在介質61自身上面的介質ID。正如能理解的,在這種情況下,設備確認分組13的確適當?shù)亟Y合到它自己所在的介質61上,并且惡意的實體還沒有從另一個介質61不適當?shù)貜椭品纸M13和相關的條目。
一旦確認了適當?shù)慕Y合,在317,設備62從內容12的分組13獲得(KM(KD)),在319,將(KM)運用于(KM(KD))來暴露(KD)。在321,設備62從分組13獲得(KD(內容)),將(KD)運用到(KD(內容))來暴露并再現(xiàn)內容。最后,如果設備62擔當導出信源,設備62對其版本號檢驗在介質62上的。如果早于設備62上的主密鑰列表68的復制的版本號,則設備62從介質61通過在323復制同一個來沿用主密鑰列表68的復制。
如上所闡明的,由信源產生的表64可具有根據(jù)為信源60或其特定的子集所已知的每個(PU-PDx)加密的(KM)。正如可以理解的,為取消特定的(PU-PDx),該(PU-PDx)可以從表64中排除,并且相應的設備62因此不能獲得(PU-PDx(KM))表64以再現(xiàn)相應的內容12??蛇x擇地,通過為相應的(PU-PDx(RND))將表64中的的字段留成空白的而禁止設備62再現(xiàn)內容12,其中RND代表一個隨機整數(shù),或者通過以任意的交替的數(shù)據(jù)來填充那個字段,所述的數(shù)據(jù)比如為零、無用的、無意義的數(shù)據(jù)。如同可理解的,主人決定什么時候(PU-PDx)不值得信任并因此失效,或者從另一實體接收該決定。
如果在設備62被配備不止一個密鑰對(PU-PDx,PR-PDx),設備62試圖使用表64上的每個可利用的(PR-PDx),直到發(fā)現(xiàn)一個來暴露(KM)。在該實施例中,使設備62失效(比如,成為不值得信任托管的),信源60從表64中忽略相應于設備62的所有的(PU-PDx)的入口。在這種狀況下,帶有(PU-PDx)A、B、C和D的失效設備62將導致該設備密鑰A、B、C和D從表64“取消”。注意在這種狀況下,帶有(PU-PDx)B、C、D和E的設備62仍可以從表64存取秘密,如同在設備密鑰E下索引一樣,假設設備密鑰E也沒有被取消,但是不是和在設備密鑰B、C、D下索引一樣的(PU-PDx)。
在帶有內容12的分組13通過其中具有介質ID而被結合到介質61的方式,表64通過在其中具有介質ID可附加或者交替地被結合到介質61。因此,表64不能自由地傳送到其它介質61。在此情況下,表64可包括至少部分地基于介質ID的簽名來防止篡改,并且該簽名可以結合圖3的操作313和315來驗證。
注意在會話期間表64和內容12一起置于的介質61上,表64只屬于該會話的內容12而不屬于任何將來的會話的內容12。該表64不曾更新或修改,既使表64中的一個或多個(PU-PDx)隨后被主人在主密鑰列表68中添加或取消。提出另一種方法,(PU-PDx)取消只是關于在取消之后創(chuàng)建的表64,以及結合到那里的內容12。在此狀況下,應當認識到作為政策性的事情,舊的內容12甚至可以被取消的設備62存取,但是新的內容不能同樣地被取消的設備62存取。
現(xiàn)在參考圖4,在特定的會話期間,將一塊或多塊內容12寫入介質61,在401,信源60為會話生成介質密鑰(KM),在403,從主人那里獲得主密鑰列表68,否則保證主密鑰列表68是當前的,在405,基于(KM)和主密鑰列表68為會話生成媒體秘密表64。表64的產生可通過任何適當?shù)姆椒▉磉M行而不脫離本發(fā)明的精神和范圍。
例如,對于主密鑰列表68中的每個有效的(PU-PDx),該(PU-PDx)被用來加密(KM),并且該(PU-PDx(KM))適當?shù)刂糜诋a生的表64中。注意,至始至終,對于主密鑰列表68中的每個有效的(PU-PDx),(KM)未因此被加密并且置于產生的表64中。相反,該(PU-PDx(KM))的空間只是左空白的,填充了預定的值比如零,或完全省略。另外,表ID放置在表64中的一個適當?shù)奈恢?,產生任何其它的條目,并且也放置在表64中。特別地,其它的條目可包括簽名以及介質61的介質ID,表64將復制到介質61上。
正如現(xiàn)在可以理解的,一個或多個表64可以提前生成或部分地生成并放置到可為信源所利用的高速緩沖存儲器66,尤其是如果每個表64的產生是特別完備地計算的。如果這樣,表64可由媒體秘密表服務器等等(未示出)生成并放置到高速緩沖存儲器66來供信源60清除和使用,媒體秘密表服務器在這里執(zhí)行操作401-405。也可以替換地是這種情況,即新表64按需要直接從作為高速緩沖存儲器66操作的媒體秘密表服務器獲得。注意信源60可使用來自高速緩沖存儲器66的表一次或多于一次而不脫離本發(fā)明的精神和范圍。
在此,信源具有會話(KM)和隱藏(KM)的表64,在此表具有表ID。另外,在407,信源60從那里獲得介質61的介質ID,并且對于每塊內容12,信源60在409生成內容密鑰(KD);在411,以內容密鑰(KD)加密內容12來得到(KD(內容));在413,以介質密鑰(KM)加密(KD)來得到(KM(KD));在415,以(KD(內容))、(KM(KD))、介質ID、表ID、使用該內容的使用規(guī)則、和至少基于介質ID并且可以(KM)來驗證的簽名來為內容12生成分組13。
一旦信源60為會話生成所有的分組13,在417,信源60將每個生成的分組13,媒體秘密表64和主密鑰列表68復制到介質61以完成會話。此后,信源60可以采取任何適當?shù)脑趶椭浦蟮男袆?。例如,如果內?2作為財務交易的一部分被提供,信源60可以標記交易完成,賒購帳,計數(shù)值增加或減少等等。
注意介質61可以允許也可以不允許另外復制會話在較晚一些發(fā)生的會話。如果這樣的話,如上所闡明的,每個新的會話被不同的表64表示,在這里該會話的內容分組13被結合到該會話的表64。也要注意,在本發(fā)明的一個替換的實施例中,并且為了以簡單的方式,會話介質密鑰(KM)直接用來加密內容。
注意,另外與圖4有關地執(zhí)行的操作不考慮任何特殊的設備62而發(fā)生。尤其是操作不考慮介質61要安裝在其上或者是在其中的該設備62是否有效,并且因此具有有效的一個(PU-PDx)密鑰或多個(PU-PDx)密鑰。實際上,源60似乎在復制分組13到介質61之前沒有辦法驗證該有效性。如果實際上一個無效設備62嘗試再現(xiàn)介質上的內容12,內容在這里比無效設備62取消更晚一些根據(jù)主密鑰列表68被加密,嘗試將失敗,但是如果內容12比無效設備62取消更早一些根據(jù)主密鑰列表68被加密,嘗試將成功。
一旦內容12已經被復制到介質61,該內容12可被任何設備12再現(xiàn),設備62具有兼容的軟件并且能讀介質61,并且如果介質61與它分開,設備62同樣能接受它。設備62應當具有適當?shù)耐泄芙M件18和專用密鑰(PR-PDx),專用密鑰(PR-PDx)索引到介質61上的表64。另外,設備62不是已經從表64取消或無效掉的設備,并且設備62也不能從表64存取需要用來再現(xiàn)內容12的秘密。
接下來參考圖5,圖5圖解了發(fā)明的實施例的示范性結構的框圖。特別地,一個記錄設備加密內容來存儲在適應的介質以最終由重放設備再現(xiàn)。另外,在發(fā)明可以任何加密和解密技術操作時,圖5的實例圖解密碼塊鏈(CBC)模式的高級加密標準(AES)塊密碼加密和解密??商鎿Q地或附加的,發(fā)明也可以比如Elliptic Curve Cryptography(ECC)(比如,橢圓形曲線EIGamal密碼算法或橢圓形曲線數(shù)字簽名算法)加密技術操作。另外,在圖5的實例中,介質密鑰為128比特,媒體秘密表具有2M字節(jié)的最大存儲量,介質標識符為64比特,MAC為128比特,內容密鑰為128比特。
圖6和下列討論意在提供在其中實現(xiàn)本發(fā)明或其一部分的俁適的計算環(huán)境的簡要描述。雖然不要求,發(fā)明是在計算機可執(zhí)行指令的一般的上下文環(huán)境下描述的,計算機可執(zhí)行指令比如為由計算機執(zhí)行的程序模塊,計算機比如為客戶工作站或服務器。一般來說,程序模塊包括例行程序、程序、對象、組件、數(shù)據(jù)結構等等,程序模塊執(zhí)行特殊任務或實現(xiàn)特殊抽象數(shù)據(jù)類型。為了例示的目的,程序和其它可執(zhí)行程序組件,比如操作系統(tǒng)在此圖解為離散塊。然而,認識到該程序和組件以不同的次數(shù)駐留在計算機的不同存儲組件,并且被計算機的一個數(shù)據(jù)處理器或多個數(shù)據(jù)處理器執(zhí)行。當根據(jù)在些描述的方法和技術編程時,發(fā)明也包括計算機本身。另外,應當理解發(fā)明和/或發(fā)明的一部分可以其它計算機系統(tǒng)結構實踐,所述的其它計算機系統(tǒng)結構包括手持設備,多處理器系統(tǒng),基于微處理器或可編程的消費電子,比如數(shù)字通用盤(DVD)播放器和記錄設備,網(wǎng)絡PC,袖珍計算機,大型計算機等等。本發(fā)明也可以在分布式計算環(huán)境中實踐,在該環(huán)境中任務由通過通信網(wǎng)絡鏈接的遠端處理設備執(zhí)行。在分布式計算環(huán)境中,程序模塊既可以位于本地存儲設備也可以位于遠端存儲設備。
如圖2所示,一個示范性的通用計算系統(tǒng)包括常規(guī)的個人計算機120等等,包括處理單元121,系統(tǒng)存儲器122,和系統(tǒng)總線123,總線123將各種包括系統(tǒng)存儲器的系統(tǒng)組件耦合到處理單元121。系統(tǒng)總線123可以為幾種總線類型中的任何一種類型,所述的幾種類型包括存儲器總線或存儲控儲器總線、外圍設備總線、和使用多種總線結構的本地總線。系統(tǒng)存儲器包括只讀存儲器(ROM)124和隨機存取存儲器(RAM)125?;据斎?輸出系統(tǒng)126(BIOS)被存儲右ROM124中,基本輸入/輸出系統(tǒng)126包括幫助在個人計算機120中的元件之間傳送信息的基本例行程序,比如在啟動期間。
計算機120典型地具有至少一些形式的計算機可讀介質。計算機可讀介質可以為任何可以被計算機120存取的可利用的介質,即包括易失性和非易失性介質,可移動的和不可移動的介質。通過實例的而不是限制,計算機可讀介質包括計算機存儲介質和通信介質。計算機存儲介質包括以任何方法和技術實現(xiàn)的易失性和非易失性介質、可移動的和不可移動的介質來存儲信息,信息比如為計算機可讀指令、數(shù)據(jù)結構、程序模塊或其它數(shù)據(jù)。例如,計算機存儲介質包括RAM、ROM、EEPROM、閃速存儲或其它存儲技術、CD-ROM、數(shù)字通用盤(DVD)或其它光盤存儲器、盒式磁帶、磁帶、磁盤存儲器或其它磁存儲器設備,或者任何其它的可用來存儲期望的信息并且可以被計算機120存取的介質。通信介質典型地在調制數(shù)據(jù)信號中包括計算機可讀指令、數(shù)據(jù)結構、程序模塊、或其它數(shù)據(jù),并包括任何的信息傳送介質,調制數(shù)據(jù)比如為載波或者其它的傳送機制。本領域的熟練技術人員熟悉調制的數(shù)據(jù)信號,它具有它的特性集合之一或多個,或者以這樣的方式改變以至于在信號中編碼信息。有線介質,比如有線網(wǎng)絡或直接線連接,無線介質、比如聲學的、RF、紅外、以及其它的無線介質,都是通信介質的實例。上述介質的任意的組合也包括在計算機可讀介質的范圍之中。
個人計算機120可進一步包括硬盤驅動器127,它用來從硬盤中讀出并寫入硬盤(未示出),包括磁盤驅動器128,它用來從可移動光盤131盤中讀出并寫入可移動光盤131盤(未示出),可移動光盤131盤比如為CD-ROM或其它的光介質。硬盤驅動器127、磁盤驅動器128、和光盤驅動器分別通過硬盤驅動器接口132、磁盤驅動器接口133、和光盤驅動器接口134被連接到系統(tǒng)總線123。驅動器和它們的相關的計算機可讀介質為個人計算機120提供計算機可讀指令、數(shù)據(jù)結構、程序模塊和其它數(shù)據(jù)的非易失性存儲器。
雖然在些描述的示范性的環(huán)境運用了硬盤、可移動磁盤131、和可移動光盤131,應當理解其它類型的存儲可被計算機存取的數(shù)據(jù)的計算機可讀介質也可用于示范性操作環(huán)境中。其它類型的介質包括盒式磁帶、閃存卡、數(shù)字視頻盤、Bernoulli卡式磁帶、隨機存取存儲器(RAM)、只讀存儲器(ROM)等等。
多個程序模塊可存儲在硬盤、磁盤129、光盤131、ROM 124或RAM 125上,包括操作系統(tǒng)135,一個或多個應用程序136,其它程序模塊137和程序數(shù)據(jù)138。用戶可通過輸入設備鍵入命令和信息到個人計算機120中,輸入設備比如為鍵盤140和指示設備142。其它輸入設備(未示出)可包括話筒、操縱桿、游戲墊、附屬盤、掃描器等等。這些以及其它的輸入設備常常通過耦合到系統(tǒng)總線的串行端口接口146連接到處理單元121,但是也可以通過其它接口連接,比如通過并行端口、游戲端口或者通用串行總線(USB)接口。監(jiān)視器147或其它類型的顯示設備也經由一個接口連接到系統(tǒng)總線,該接口比如為視頻適配器148。除了監(jiān)視器147之外,個人計算機典型地包括其它外圍輸出設備(未示出),比如揚聲器和打印機。圖2的示范性的系統(tǒng)還包括主適配器155,小型計算機系統(tǒng)接口(SCSI)總線156,和連接到SCSI總線156的外部存儲設備162。
個人計算機可在使用邏輯連接到一個或多個遠端計算機的聯(lián)網(wǎng)的環(huán)境下操作,遠端計算機比如為遠端計算機149。遠端計算機149可為另一個個人計算機、服務器、路由器、網(wǎng)絡PC、同等設備或其它公共網(wǎng)絡節(jié)點,并典型地包括多個或者所有上述相對于個人計算機120描述的元件,雖然只有存儲設備150在圖2中圖解。圖2中描繪的邏輯連接包括局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。該聯(lián)網(wǎng)環(huán)境在政府、企業(yè)范圍計算網(wǎng)絡,企業(yè)內部網(wǎng)和因特網(wǎng)中是再普通不過的。
當在LAN聯(lián)網(wǎng)環(huán)境中使用時,個人計算機120通過網(wǎng)絡接口或適配器153連接到LAN 151。當在WAN聯(lián)網(wǎng)環(huán)境中使用時,個人計算機120典型地包括調制解調器154或其它裝置來在比如企業(yè)內部網(wǎng)152上建立通信。調制解調器154經由串行端口接口146連接到系統(tǒng)總線123,調制解調器154可以是內部的也可以是外部的。在聯(lián)網(wǎng)環(huán)境中,相對于個人計算機120或者它的一部分描繪的程序模塊或以存儲在遠端存儲器設備中。應當理解所示的網(wǎng)絡連接為示范性的,并且在計算機之間建立通信鏈路的其它裝置可以使用。
雖然結合示范性計算機系統(tǒng)環(huán)境來描述,包括計算機120,發(fā)明可以許多其它的通用目的或特殊目的計算系統(tǒng)環(huán)境或配置來操作。計算系統(tǒng)環(huán)境不打算建議關于發(fā)明的使用或功能的范圍的限制。另外,計算系統(tǒng)環(huán)境不能解釋為具有任何涉及圖解在示范性操作環(huán)境中的任一個部件或部件的組合的從屬性或要求。熟知的適于和發(fā)明一起使用的計算系統(tǒng)、環(huán)境、和/或配置的實例,包括但不限于,個人計算機、服務器計算機、手持或膝上型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子、便攜式電話、網(wǎng)絡PC、袖珍型計算機、大型計算機、包括任何上述系統(tǒng)或設備的分布式計算環(huán)境等等。
在軟件結構上下文環(huán)境中的接口包括軟件模塊、部件、代碼部分、或者其它序列的計算機可執(zhí)行指令。接口包括,比如第一模塊訪問第二模塊來執(zhí)行代表第一模塊的計算任務。在一個實例中,第一和第二模塊包括比如由操作系統(tǒng)提供的應用程序接口(API),組件對象模型(COM)接口(比如,用于對等應用通信),和可擴展標記語言元數(shù)據(jù)交換格式(XMI)接口(比如,用于在萬維網(wǎng)服務之間通信)。
接口可以緊密地耦合,同步實現(xiàn)于比如Java 2企業(yè)版平臺(J2EE),COM,或分布式COM(DCOM)之類的實例中。替換地或附加的,接口可以被松散地耦合,同步實現(xiàn)于比如萬維網(wǎng)服務(比如,使用簡單對象存取協(xié)議)??傮w上,接口包括下列特征的任意組合緊密的耦合,松散的耦合,同步,和異步。另外,接口將遵守標準協(xié)議,專有的協(xié)議,或得標準的和專有的協(xié)議的組合。
在此描述的接口可以都是單個接口的一部分或者可以實現(xiàn)為單獨的接口或者其中的任何組合。接口可本地執(zhí)行或遠端執(zhí)行來提供功能。另外,接口可包括比圖解的或在此描述的更多的或者更少的功能。
本發(fā)明可以對于任何適當?shù)男旁?0,介質61,和設備62實踐。更具體的,本發(fā)明比如可以用來使CD播放器能夠播放帶有被保護的音樂的CD,允許機頂盒具有到付費電視播放的通道等等。因此,設備62將被解釋成擁有任何具有一套設備密鑰(PU-PD,PR-PD)的設備,它能夠接收內容12和隨附的表64并基于(PR-PD)從表64中獲得密鑰以再現(xiàn)接收的內容,等等。
將完成結合本發(fā)明執(zhí)行的方法編程是相當簡單地,并且對于相關的編程的公眾來說是顯而易見的。因此,沒有將該編程附于此。任何特殊的編程可用來執(zhí)行本發(fā)明而不脫離其精神和范圍。
在前述的描述中,可以看出本發(fā)明包括一種允許RM系統(tǒng)10將加密的解密密鑰(KD)結合到比如介質61之類對象的新的有用的方法和機制,它允許將加密的解密密鑰(KD)結合到比如介質61之類的對象,以便除了該對象/介質61出現(xiàn)的情況之外,不能獲得加密的解密密鑰(KD)。對象/介質61因此可以是便攜式的,比如光或磁存儲盤,以便用戶在多個計算設備14或重放設備62之間傳送在其上帶有加密的解密密鑰的對象/介質61。
在操作中,計算機120執(zhí)行比如在圖3和圖4中圖解的那些計算機可執(zhí)行的指令,來實現(xiàn)本發(fā)明的實施例。
在此圖解并描述的方法的實行或執(zhí)行的順序不是必需的,除非另有規(guī)定。即,方法的單元可以任可順序執(zhí)行,除非另有規(guī)定,并且方法可比在此公開的那些包括更多或更少的單元。例如預想在另一個單元之前、與另一個單元同時、或在另一個單元之后實行或執(zhí)行特定的單元在本發(fā)明的范圍之內。另外,方法全部或部分可以實現(xiàn)為硬件(比如,大規(guī)模集成實現(xiàn))、軟件、或者其中的任何組合(比如固件)并且在發(fā)明的范圍之內。
當介紹本發(fā)明的單元或者其中的一個實施例或多個實施例時,冠詞“a”,“一”,“該”,和“所述”意在表明這里存在一個或多個單元。術語“包含”,“包括”,“具有”意在包括和表明這里存在除了列出的單元之外的附加單元。
由于上述的,可以看出達到了本發(fā)明的幾個目的并且其它的有利的結果也達到了。由于可以在上述結構、產品和方法中做出各種改變而不脫離本發(fā)有的精神和范圍,意在將包含在上面的描述中的和示出附圖中的所有的內容理解為舉例說明而不是為了限制的意思。因此應當理解,本發(fā)明不限于公開的特定實施例,而是意在覆蓋在所附的權利要求所定義的本發(fā)明的精神和范圍之中的修改。
權利要求
1.一種以復制保護加密內容來存儲在目的計算機可讀介質中的方法,所述方法包括生成與目的計算機可讀介質相關聯(lián)的介質密鑰;以一個或多個公共密鑰加密所生成的介質密鑰,每個公共密鑰對應于一個終端用戶設備;以內容密鑰加密內容;定義與目的計算機可讀介質相關聯(lián)的介質標識符,并將定義的介質標識符和加密的內容相關聯(lián);以及將加密的內容、加密的內容密鑰、加密的介質密鑰、相關聯(lián)的介質標識符存儲到目的計算機可讀介質,其中在再現(xiàn)內容之前將定義的介質標識符和與加密的內容相關聯(lián)的介質標識符相比較來為內容提供復制保護。
2.如權利要求1的方法,其特征在于,進一步包括經由網(wǎng)絡從許可的組織接收多個公共密鑰。
3.如權利要求1的方法,其特征在于,進一步包括從內容提供者接收內容。
4.如權利要求1的方法,其特征在于,生成介質密鑰包括生成隨機數(shù)。
5.如權利要求1的方法,其特征在于,進一步包括為內容創(chuàng)建媒體秘密表,所述媒體秘密表包括加密的介質密鑰。
6.如權利要求5的方法,其特征在于,進一步包括生成媒體秘密表標識符,并將生成的媒體秘密表標識符存儲到目的計算機可讀介質,所述生成的媒體秘密表標識符與內容相關聯(lián)。
7.如權利要求5的方法,其特征在于,進一步包括將生成的媒體秘密表標識符存儲到高速緩沖存儲器中,并進一步包括當為其它內容執(zhí)行權利要求5的方法時從高速緩沖存儲器獲得媒體秘密表。
8.如權利要求1的方法,其特征在于,進一步包括生成內容密鑰。
9.如權利要求1的方法,其特征在于,定義介質標識符包括從目的計算機可讀介質獲得介質標識符。
10.如權利要求1的方法,其特征在于,進一步包括生成作為生成的介質密鑰的函數(shù)的消息鑒定代碼MAC;將生成的MAC存儲到目的計算機可讀介質上。
11.如權利要求1的方法,其特征在于,進一步包括生成作為介質密鑰的函數(shù)的數(shù)字簽名;將生成的數(shù)字簽名存儲到目的計算機可讀介質上。
12.如權利要求1的方法,其特征在于,進一步包括接收再現(xiàn)介質上的內容的請求。
13.如權利要求1的方法,其特征在于,一個或多個計算機可讀介質具有計算機可執(zhí)行指令來執(zhí)行權利要求1所述的方法。
14.一種對存儲在計算機可讀介質上的受復制保護的內容進行解密以由終端用戶設備再現(xiàn)的方法,所述計算機可讀介質存儲分組,該分組包括加密的內容、加密的內容密鑰、一個或多個介質密鑰、介質標識符,其中每個介質密鑰由與多個終端用戶設備的其中之一相關聯(lián)的公共密鑰加密,所述的終端用戶設備具有與之相關聯(lián)的專用密鑰,所述方法包括按照專用密鑰的函數(shù),從加密的介質密鑰為終端用戶設備計算介質密鑰;為計算機可讀介質定義介質標識符;將存儲在分組中的介質標識符和定義的介質標識符相比較;作為所述比較的函數(shù),如果定義的介質標識符與存儲在分組中的介質標識符相對應,則用計算的介質密鑰解密加密的內容密鑰,并用解密的內容密鑰解密加密的內容。
15.如權利要求14的方法,其特征在于,加密的介質密鑰形成媒體秘密表,所述方法進一步包括從計算機可讀介質中讀取媒體秘密表。
16.如權利要求15的方法,其特征在于,讀取媒體秘密表包括讀取媒體秘密表標識符,并基于讀取的媒體秘密表標識符識別計算機可讀介質上的媒體秘密表。
17.如權利要求15的方法,其特征在于,計算介質密鑰包括從媒體秘密表獲得與終端用戶設備相關聯(lián)的加密的介質密鑰;使用專用密鑰解密所獲得的加密的介質密鑰。
18.如權利要求14的方法,其特征在于,計算機可讀介質進一步存儲消息鑒定代碼MAC,并且其中將定義的介質標識符和存儲在分組中的介質標識符進行比較包括驗證MAC。
19.如權利要求18的方法,其特征在于,驗證MAC包括按照定義的介質標識符和加密的內容密鑰的函數(shù),計算基準MAC;將計算的基準MAC和存儲在計算機可讀介質上的MAC相比較。
20.如權利要求14的方法,其特征在于,進一步包括再現(xiàn)解密的內容。
21.如權利要求20的方法,其特征在于,計算機可讀介質進一步存儲一套規(guī)則,其中再現(xiàn)解密的內容包括按照該套規(guī)則再現(xiàn)解密的內容。
22.如權利要求14的方法,其特征在于,計算機可讀介質進一步存儲數(shù)字簽名,所述方法進一步包括按照計算出的介質密鑰的函數(shù)驗證數(shù)字簽名。
23.如權利要求14的方法,其特征在于,一個或多個計算機可讀介質具有計算機可執(zhí)行指令來執(zhí)行權利要求14所述的方法。
24.一種用來以復制保護將內容記錄到計算機可讀介質上的系統(tǒng),其特征在于,該系統(tǒng)包括用來存儲內容、與計算機可讀介質相關聯(lián)的介質標識符、一個或多個公共密鑰、與存儲的內容相關聯(lián)的一個或多個使用規(guī)則的存儲區(qū)域,其中每個公共密鑰對應于一個終端用戶設備;配置成執(zhí)行計算機可執(zhí)行指令的處理器,用于生成與計算機可讀介質相關聯(lián)的介質密鑰;以存儲在存儲區(qū)域中的每個公共密鑰加密所生成的介質密鑰;以內容密鑰加密存儲在存儲區(qū)域中的內容;以介質密鑰加密內容密鑰;將加密的內容、加密的內容密鑰、加密的介質密鑰、和相關聯(lián)的介質標識符存儲到計算機可讀介質。
25.如權利要求24的系統(tǒng),其特征在于,存儲區(qū)域和處理器與數(shù)字通用盤記錄器相關聯(lián)。
26.如權利要求24的系統(tǒng),其特征在于,處理器進一步配置成為內容創(chuàng)建媒體秘密表,所述媒體秘密表包括加密的介質密鑰。
27.如權利要求24的系統(tǒng),其特征在于,一個或多個使用規(guī)則包括許可。
28.一種用于通過終端用戶設備再現(xiàn)存儲在計算機可讀介質中的受復制保護的內容的系統(tǒng),其特征在于,所述的系統(tǒng)包括存儲區(qū)域,用來存儲與計算機可讀介質相關聯(lián)的介質標識符、加密的內容、與加密的內容相關聯(lián)的介質標識符、一個或多個介質密鑰、與終端用戶設備相關聯(lián)的專用密鑰,其中每個介質密鑰由與多個終端用戶設備的其中之一相關聯(lián)的公共密鑰加密;配置成執(zhí)行計算機可執(zhí)行指令的處理器,用于按照專用密鑰的函數(shù),從存儲在存儲區(qū)域中的加密的介質密鑰為終端用戶設備計算介質密鑰;將與計算機可讀介質相關聯(lián)的介質標識符與和加密的內容相關聯(lián)的介質標識符相比較;作為所述比較的函數(shù),如果與計算機可讀介質相關聯(lián)的介質標識符與和加密的內容相關聯(lián)的介質標識符相對應,以計算出的介質密鑰解密加密的內容密鑰,并以解密的內容密鑰解密加密的內容。
29.如權利要求28的系統(tǒng),其特征在于,存儲區(qū)域進一步存儲包括與多個終端用戶設備相關聯(lián)的公共密鑰的主密鑰列表。
30.如權利要求28的系統(tǒng),其特征在于,存儲區(qū)域進一步存儲數(shù)字簽名;所述數(shù)字簽名是計算的介質密鑰的函數(shù)。
31.如權利要求28的系統(tǒng),其特征在于,存儲區(qū)域存儲加密的介質密鑰來作為媒體秘密表,其中存儲區(qū)域進一步存儲媒體秘密表標識符,所述媒體秘密表標識符為媒體秘密表規(guī)定了在存儲區(qū)域中的位置。
32.如權利要求28的系統(tǒng),其特征在于,存儲區(qū)域按照多個數(shù)據(jù)結構的其中之一來存儲加密的內容、加密的內容密鑰、以及與加密的內容相關聯(lián)的介質標識符,所述多個數(shù)據(jù)結構中的每一個存儲根據(jù)與該數(shù)據(jù)結構相關聯(lián)的內容密鑰加密的內容。
33.如權利要求28的系統(tǒng),其特征在于,存儲區(qū)域和處理器與數(shù)字通用盤記錄器相關聯(lián)。
34.一個或多個計算機可讀介質,具有用來為內容提供復制保護的計算機可執(zhí)行組件,所述組件可在終端用戶設備上執(zhí)行,其特征在于,所述組件包括加密組件,它通過下列步驟加密內容生成與計算機可讀介質相關聯(lián)的介質密鑰;以一個或多個公共密鑰加密所生成的介質密鑰,每個公共密鑰對應于一個終端用戶設備;為內容創(chuàng)建一個媒體秘密表,所述媒體秘密表包括加密的介質密鑰;以內容密鑰加密內容;以介質密鑰加密內容密鑰;定義與目的地計算機可讀介質相關聯(lián)的介質標識符,并將定義的介質標識符與加密的內容相關聯(lián);在計算機可讀介質上將加密的內容、加密的內容密鑰、媒體秘密表、和相關的介質標識符存儲為一組;解密組件,通過下列步驟來解密由加密組件加密的內容以加強復制保護按照專用密鑰的函數(shù),從媒體秘密表來為終端用戶設備計算介質密鑰;為計算機可讀介質確定基準介質標識符;將存儲在組中的介質標識符和確定的基準介質標識符相比較;作為所述比較的函數(shù),如果確定的基準介質標識符與存儲在組中的介質標識符相對應,以計算的介質密鑰解密加密的內容密鑰,并以解密的內容密鑰解密加密的內容。
35.如權利要求34的計算機可讀媒體,其特征在于,解密組件進一步再現(xiàn)解密的內容。
全文摘要
一個信源生成介質密鑰(KM)和包括多個入口的媒體秘密表,每個入口包括由多個設備的公共密鑰(PU-PD)加密的(KM),從中獲得介質的介質ID,為一塊內容生成內容密鑰(KD),以(KD)加密內容以得到(KD(內容)),以(KM)加密(KD)以得到(KM(KD)),為內容生成包括(KD(內容))、(KM(KD))、介質ID、和至少基于簽名的介質ID并且可以(KM)來驗證的分組,并將生成的分組和媒體秘密表復制到介質。因此,帶有與媒體秘密表的入口相符的介質和專用密鑰(PR-PD)的設備可以存取并再現(xiàn)內容。
文檔編號G06F19/00GK1668002SQ20041009019
公開日2005年9月14日 申請日期2004年10月22日 優(yōu)先權日2003年10月23日
發(fā)明者C·P·斯德羅姆, I·C·馬爾瑟, J·M·阿爾克夫, J·R·馬克科恩, K·L·拉夏貝勒, M·J·帕克斯 申請人:微軟公司