專利名稱:在數(shù)字權(quán)限管理系統(tǒng)中離線發(fā)布發(fā)行者使用許可證的制作方法
技術(shù)領(lǐng)域:
本發(fā)明相關(guān)于數(shù)字權(quán)限管理(DRM)系統(tǒng),尤其是,本發(fā)明相關(guān)于使用一個DRM系統(tǒng)以在一個組織,例如一個辦公室或公司或類似機(jī)構(gòu),中發(fā)行數(shù)字內(nèi)容,從而可以按照相應(yīng)的使用及許可條款約束在組織中再現(xiàn)和使用該內(nèi)容。更尤其是,本發(fā)明相關(guān)于發(fā)行內(nèi)容,而不用與服務(wù)器聯(lián)系以得到批準(zhǔn)并且自己發(fā)布發(fā)行者使用許可證來再現(xiàn)發(fā)行的內(nèi)容,而不用與服務(wù)器聯(lián)系以得到批準(zhǔn)。
背景技術(shù):
數(shù)字權(quán)限管理和實施在聯(lián)系數(shù)字內(nèi)容(例如數(shù)字音頻、數(shù)字頻視、數(shù)字文本、數(shù)字?jǐn)?shù)據(jù)、數(shù)字多媒體等等)方面是十分需要的,在此這樣的數(shù)字內(nèi)容將被分發(fā)給一個或更多個用戶。數(shù)字內(nèi)容可以是靜態(tài)的,例如文本文件,或者是流式的,例如實況事件中的音頻/視頻流。分發(fā)的典型的模式包括有形的設(shè)備如磁(軟)盤,磁帶,光(小型)盤(CD)等等,而無形的媒體如電子廣告板,電子網(wǎng)絡(luò),因特網(wǎng)等等。當(dāng)用戶接收到時,這些用戶依靠適當(dāng)?shù)脑佻F(xiàn)設(shè)備,例如在個人計算機(jī)中的媒體播放器或類似者的幫助再現(xiàn)或者“播放“”該數(shù)字內(nèi)容。
在一種情景中,內(nèi)容擁有者或權(quán)限擁有者(例如作者、發(fā)行商,廣播商等等)希望分發(fā)這樣的數(shù)字內(nèi)容到很多用戶或接收者中的每一個,以交換到許可證費用或其它回報。從而在這種場合中,內(nèi)容可以是一首歌,一套歌曲,一部電影等等,而且分發(fā)的目的是為了產(chǎn)生許可證費用,這樣的內(nèi)容擁有者,給出選擇,將更希望能約束用戶對這些分發(fā)的數(shù)字內(nèi)容能做些什么。例如,內(nèi)容擁有者將希望能約束用戶復(fù)制或再分發(fā)這樣的內(nèi)容給第二個用戶,至少是發(fā)生這樣的第二個用戶拒絕支付內(nèi)容擁有者許可證費用的情況。
另外,內(nèi)容擁有者可能希望提供用戶靈活性,以不同的許可證費用購買不同類型的使用許可證,而同時可以保持用戶到事實上不論購買了何種許可證的條款。例如,內(nèi)容擁有者可能希望被分發(fā)的數(shù)字內(nèi)容僅僅被播放一個有限次的數(shù)量。僅僅對某個總時間,僅僅在特定類型的機(jī)器上,僅僅在特定類型的媒體播放器上,僅僅由特定類型用戶使用等等。
在另一種場合中,內(nèi)容部署者,例如組織的雇員或成員,希望分發(fā)這樣的數(shù)字內(nèi)容給組織內(nèi)的一個或更多的其它雇員或成員,或者給組織外的其它個人,但又將希望阻止其它人再現(xiàn)此內(nèi)容。這里,內(nèi)容的分發(fā)更類似于基于組織的內(nèi)容以機(jī)密或限止的方式共享,而與基于廣播的分發(fā)相反以換取到許多許可證費用或其它的回報。
從而在這樣的場合中,內(nèi)容可以是文檔表示,電子數(shù)據(jù)表單,數(shù)據(jù)庫,電子郵件或類似物諸如可以在辦公室框架內(nèi)被交換的東西,而且內(nèi)容部署者可能希望確保內(nèi)容保留在組織或辦公室框架內(nèi)而且不被非授權(quán)的個人所再現(xiàn),例如競爭者或?qū)κ?。另外,這樣的內(nèi)容部署者希望限制接收者用這樣分發(fā)的數(shù)字內(nèi)容做什么。例如,內(nèi)容擁有者將希望限制復(fù)制和再分發(fā)這樣的內(nèi)容給第二個用戶,至少暴露內(nèi)容到被允許再現(xiàn)內(nèi)容的個人范圍之外的人員的方式。
另外,內(nèi)容部署者可能希望為各種接受者提供不同級別的再現(xiàn)權(quán)限。例如內(nèi)容部署者可能希望被保護(hù)的數(shù)字內(nèi)容對于某一類個人可以觀看而不可打印,以及對于另一類個人可以觀看和可以打印。
然而,在二種場合之中,分發(fā)發(fā)生之后,這樣的內(nèi)容擁有者/部署者具有即使有也是很小的對該數(shù)字內(nèi)容的控制。特別有問題的是考慮到事實上在操作上每個個人計算機(jī)都包括必需的軟件和硬件,它們用來制作這種數(shù)字內(nèi)容的精確的數(shù)字拷貝和下載這種精確的數(shù)字拷貝到可寫的磁盤和光盤,或者通過如因特網(wǎng)的發(fā)送這種精確的數(shù)字拷貝到任何目的地。
當(dāng)然,在內(nèi)容被分發(fā)時,作為交易的一部分,內(nèi)容擁有者/部署者可能要求數(shù)字內(nèi)容的用戶/接受者允諾不再以不歡迎的方式分發(fā)這樣數(shù)字內(nèi)容。然而,這樣的允諾很容易作出也很容易破壞。內(nèi)容擁有者/部署者可能試圖通過若干種已知的安全設(shè)備之一防止這樣的再分發(fā),一般會涉及加密和解密。然而,很可能有少量以下情況,即要防止確定為無惡意的用戶解密已被加密的數(shù)字內(nèi)容,以非加密的格式保存這樣的數(shù)字內(nèi)容,并且再分發(fā)它們。
從而存在一種要求,用于提供數(shù)字權(quán)限管理(DRM)和實施的結(jié)構(gòu)和方法,它們允許數(shù)字內(nèi)容的任意的格式的控制再現(xiàn)和播放,在此這種控制是靈活的和可由這種數(shù)字內(nèi)容的內(nèi)容擁有者/部署者定義的。尤其是存在一種要求用于這種結(jié)構(gòu),它允許并方便于這種受控制的再現(xiàn),特別在辦公室或組織或類似機(jī)構(gòu)的環(huán)境中,那里文檔在被規(guī)定的一組個人或幾類個人之中是共享的。更尤其是,存在一種要求用于這種結(jié)構(gòu),它允許被發(fā)行的內(nèi)容沒有從服務(wù)器得到第一次的批準(zhǔn)并且允許發(fā)行的個人自己發(fā)行使用許可證,以再現(xiàn)發(fā)表的內(nèi)容而不用為了批準(zhǔn)而聯(lián)系服務(wù)器。
發(fā)明概述上述要求至少在本發(fā)明中被部分地滿足,在本發(fā)明中發(fā)行用戶發(fā)行數(shù)字內(nèi)容并且發(fā)布給自己相應(yīng)的數(shù)字發(fā)行者許可證以允許自己再現(xiàn)發(fā)行的數(shù)字內(nèi)容。發(fā)行用戶得到由數(shù)字權(quán)限管理(DRM)服務(wù)器提供的發(fā)行證書,這里該發(fā)行證書具有一個公共密鑰(PU-OLP)和一個相應(yīng)的由公共密鑰加密的私人密鑰(PR-OLP)與發(fā)行用戶(PU-ENTITY)相關(guān)聯(lián)以形成((PU-E NTITY(PR-OLP))。
內(nèi)容被部署并根據(jù)內(nèi)容密鑰(CK)被加密,并且權(quán)限標(biāo)簽被建立用于該以(CK)加密的內(nèi)容,該(CK)由DRM服務(wù)器的公共密鑰(PU-DRM)加密以形成(PU-DRM(CK))。PU-ENTITY(PR-OLP)從發(fā)行證書中重新得到相應(yīng)于(PU-ENTITY)的私人密鑰(PR-ENTITY)被用于(PU-ENTITY(PR-OLP))以得到(PR-OLP),并且建立的權(quán)限標(biāo)簽以(PR-OLP)簽署以建立簽署權(quán)限標(biāo)簽(SRL)。該建立的SRL和該發(fā)行證書然后被串接到加密的內(nèi)容以形成一個可分發(fā)到另一個用戶的內(nèi)容數(shù)據(jù)包,該用戶必須與DRM服務(wù)器聯(lián)系以獲得相應(yīng)的帶(CK)的許可證,以再現(xiàn)其中被保密的內(nèi)容。明顯地,只有這樣的DRM服務(wù)器具有相應(yīng)于(PU-DRM)的私人密鑰(PR-DRM),并且有能力對(PU-DRM(CK))應(yīng)用(PR-DRM)以獲得(CK)。
相應(yīng)于內(nèi)容數(shù)據(jù)包的許可證數(shù)據(jù)也被建立,并且具有(CK)),它有(PU-ENTITY)加密以形成(PU-ENTITYCK),該建立的許可證數(shù)據(jù)是以(PR-OLP)簽署以建立發(fā)行者許可證,并且發(fā)行證書附加到發(fā)行者許可證上。只有具有對應(yīng)于(PR-ENTITY)的(PR-ENTITY的發(fā)行用戶能對從發(fā)行證書中得到的(PU-ENTITY(CK))使用這樣的(PR-ENTITY)以獲得(CK)并因此解密該被加密的內(nèi)容并以其用于再現(xiàn)。
特別是,發(fā)行用戶基于證書鏈驗證該發(fā)行證書以從該發(fā)行證書獲得(PU-OLP),并且應(yīng)用該獲得的(PU-OLP)以驗證發(fā)行證書的簽名。然后,發(fā)行用戶從驗證了的發(fā)行許可證重新得到(PU-ENTITY(CK)),對(PU-ENTITY(CK)應(yīng)用相應(yīng)于(PU-ENTITY)的私人密鑰(PR-ENTITY)以獲得(CK),并且對(CK(內(nèi)容))應(yīng)用(CK)導(dǎo)出內(nèi)容。然后該內(nèi)容傳遞給再現(xiàn)應(yīng)用程序以實際地再現(xiàn)內(nèi)容。
附圖的簡要說明前面的概述,和以下詳細(xì)描述的本發(fā)明的實施例,當(dāng)與附圖結(jié)合閱讀時將能更好地理解。為說明本發(fā)明的目的,在附圖中展示有實施例,目前是較佳的。然而應(yīng)該理解,本發(fā)明并不受限于所示的確切的安排和手段。在例圖中
圖1是一個方框圖,表示一個范例性的非限制的計算環(huán)境,在其中本發(fā)明可以被實現(xiàn);圖2是一個方框圖,表示一個范例性的具有各種計算設(shè)備的網(wǎng)絡(luò)環(huán)境,在其中本發(fā)明可以被實現(xiàn);圖3是一個相應(yīng)用于發(fā)行數(shù)字內(nèi)容的發(fā)明的方法和系統(tǒng)的較佳實施例的功能方框圖;圖4是一個相應(yīng)用于發(fā)行權(quán)限管理的數(shù)字內(nèi)容的發(fā)明的方法的較佳實施例的流程圖;圖4A是一個方框圖,展示由圖4的方法產(chǎn)生的簽署權(quán)限標(biāo)簽的結(jié)構(gòu);圖5是一個相應(yīng)用于許可權(quán)限管理的數(shù)字內(nèi)容的發(fā)明的系統(tǒng)和方法較佳實施例方框圖;
圖6A和圖6B是一個相應(yīng)用于許可權(quán)限管理的數(shù)字內(nèi)容的發(fā)明的方法的較佳實施例流程圖;圖7是方框圖,相應(yīng)于本發(fā)明的一個實施例展示由DRM服務(wù)器發(fā)布給用戶的證書,以允許用戶實行離線發(fā)行;圖8是方框圖,展示帶有發(fā)行者許可證的圖7的證書,該許可證允許發(fā)行用戶離線再現(xiàn)發(fā)行的內(nèi)容;圖9是流程圖,相應(yīng)于本發(fā)明的一個實施例,展示由發(fā)行用戶獲得圖8的發(fā)行許可證所實行的關(guān)鍵步驟;圖10是流程圖,相應(yīng)于本發(fā)明的一個實施例,展示由發(fā)行用戶使用圖9中獲得的發(fā)行許可證以再現(xiàn)相應(yīng)內(nèi)容所實行的關(guān)鍵步驟;圖11是方框圖,展示一個基于信任系統(tǒng)例子的實施結(jié)構(gòu)圖12是方框圖,展示多個DRM服務(wù)器,例如存在于本發(fā)明的結(jié)構(gòu)中,其中每個(進(jìn)入的)DRM服務(wù)器是登記的或次級登記到由另一個登記的DRM服務(wù)器發(fā)布同樣的登記證明的結(jié)構(gòu)之中;圖13是一個方框圖,展示帶有擔(dān)保證明的圖12的登記證明,至少某些例子中由進(jìn)入的DRM服務(wù)器向登記DRM服務(wù)器展現(xiàn)該擔(dān)保證明;并且圖14和圖15是流程圖,展示由圖13和圖14的登記的和進(jìn)入的DRM服務(wù)器對進(jìn)入DRM服務(wù)器實行登記或次級登記的關(guān)鍵步驟。
發(fā)明的詳細(xì)說明計算機(jī)環(huán)境圖1和以下的討論打算提供適合的計算環(huán)境的一般性簡要描述,在該環(huán)境中本發(fā)明可被實現(xiàn)。然而應(yīng)該理解,手持式、便攜式、和其它所有種類的計算設(shè)備都被考慮結(jié)合本發(fā)明的使用。當(dāng)通用目的計算機(jī)在以下討論時,這只是一個例子,并且本發(fā)明只需要具有網(wǎng)絡(luò)服務(wù)器互操作性和交互性的瘦客戶機(jī)。這樣,本發(fā)明可以在一個網(wǎng)絡(luò)主機(jī)服務(wù)的環(huán)境中被實行,在其中極小或很少客戶機(jī)資源被包含,也就是,在網(wǎng)絡(luò)環(huán)境中客戶機(jī)設(shè)備服務(wù)只不過如瀏覽器或與萬維網(wǎng)的接口。
雖然并不要求,本發(fā)明可以通過應(yīng)用程序接口(API)實行,由部署人員使用,并且/或者包括在網(wǎng)絡(luò)瀏覽軟件中,它將以計算機(jī)可執(zhí)行指令的一般背景中進(jìn)行描述,例如程序模塊,由一臺或更多的計算機(jī)執(zhí)行,例如客戶工作站、服務(wù)器、或者其它的設(shè)備。一般而言,程序模塊包括例行程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)以及實現(xiàn)特別的任務(wù)或?qū)嵭刑厥獾某橄髷?shù)據(jù)類型的類似項。典型地,程序模塊的功能性在各個實施例中按要求可能被組合或分散。還有,熟悉本領(lǐng)域的技術(shù)人員能理解本發(fā)明可以以其它的計算機(jī)系統(tǒng)配置來實踐。其它熟知的計算系統(tǒng)、環(huán)境、和/或配置,也可能適合于本發(fā)明的使用,包括但不限于個人計算機(jī)(PC)、自動檢票機(jī)、服務(wù)器計算機(jī)、手持的或膝上型設(shè)備、多處理機(jī)系統(tǒng)、基于微處理機(jī)的系統(tǒng)、可編程消費性電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)以及類似者。本發(fā)明也在實踐于分布式計算環(huán)境,那里任務(wù)由遠(yuǎn)程處理設(shè)備完成,這些設(shè)備通過通信網(wǎng)絡(luò)或其它數(shù)據(jù)傳輸媒介鏈接。在分布式計算環(huán)境中,程序模塊可以定位在本地或者在遠(yuǎn)程計算機(jī)的包括內(nèi)存儲器設(shè)備的存儲媒體中。
圖1在此表示一個合適的計算系統(tǒng)環(huán)境例子100,在其中本發(fā)明可以實施,雖然如上已清楚該計算系統(tǒng)環(huán)境100只是適用的計算環(huán)境的一個例子,并且并不打算建議對作為本發(fā)明的使用及功能性的范圍作任何的限制。計算環(huán)境100也并不被解釋作為具有任何依賴性或者要求與任何在范例操作環(huán)境100中表示的組件的任何一個或它們的組合有關(guān)。
參照圖1,完成本發(fā)明的范例系統(tǒng)包括以一個計算機(jī)110形式的通用目的計算設(shè)備。計算機(jī)100的組件可包括,但不限于,處理單元120,系統(tǒng)內(nèi)存130,和系統(tǒng)總線121,它耦合各種系統(tǒng)組件包括系統(tǒng)內(nèi)存到處理器120。系統(tǒng)總線121可以是幾種總線結(jié)構(gòu)中的一種,包括存儲器總線及存儲控制器,外圍總線,和使用各種總線結(jié)構(gòu)的任何一種的局部總線。作為例子,而不是限制,這樣的結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局部總線、以及外圍部件互連(PCT)總線(也稱作為Mezzanine總線)。
計算機(jī)110典型地包括各種計算機(jī)可讀取媒體。計算機(jī)可讀取媒體可以是任何種類能由計算機(jī)110存取的媒體,并且包括易失的和非易失的媒體、可移動的和不可移動的媒體二者。計算機(jī)存儲器媒體包括以下二者,易失的和非易失的、可移動的和不可移動的媒體,按任何方法或技術(shù)實行信息(例如計算可讀取的指令)的存儲、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。
計算機(jī)存儲媒體包括,但不限于,RAM、ROM、EEPROM、快閃存儲器或者其它存儲技術(shù)、CDROM、數(shù)字通用光盤(DVD)或者其它光盤存儲器、盒式磁帶、磁帶、磁盤存儲器或者其它磁性儲存設(shè)備、或者任何其它的能存儲所設(shè)定的信息并能由計算機(jī)110訪問的媒體。通信媒體典型地體現(xiàn)為計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它在被調(diào)制數(shù)據(jù)信號,例如載波或其它傳送機(jī)制中的數(shù)據(jù)并且包括任何信息遞交的媒體。術(shù)語“被調(diào)制數(shù)據(jù)信號”意指具有一個或多個其特征按照在信號中編碼信息的方式設(shè)置或改變的信號。作為例子,但非限制,通信媒體包括有線媒體例如有線網(wǎng)絡(luò)或者直接連線連接,以及無線媒體例如超聲的、RF、紅外的和其它的無線媒體。以上各種的任何的組合也應(yīng)包括在計算機(jī)可讀媒體的范圍之中。
系統(tǒng)存儲器130包括易失和/或非易失存儲器形式的計算機(jī)存儲媒體,例如只讀存儲器(ROM)131和隨機(jī)存取存儲器(RAM)132。基本的輸入/輸出系統(tǒng)133(BIOS),包含幫助在計算110的元件之間傳輸信息的基本例行程序,例如在啟動期間,典型地被存儲在ROM 131中。RAM 132典型地包含數(shù)據(jù)和/或程序模塊,它們可直接存取以使和/或馬上由處理器120進(jìn)行操作。作為例子,而非限制,圖1表示操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136、和程序數(shù)據(jù)137。
計算機(jī)110還可以包括其它可移動的/不可移動的、易失的/非易失的計算存儲媒體。只是作為例子,圖1表示硬盤驅(qū)動器141,它讀出或?qū)懭氩豢梢苿?,非易失的磁媒體,磁盤驅(qū)動器151,它讀出或?qū)懭肟梢苿?、非易失的磁盤152,以及光盤驅(qū)動器155,它讀出或?qū)懭肟梢苿拥姆且资У墓獗P156,例如CD ROM或其它的光媒體。其它的可移動的、不可移動的、易失的/非易失的計算機(jī)存儲媒體可用于范例性的操作環(huán)境之中,包括(但不是限制)盒式磁帶、快閃存儲卡、數(shù)字通用光盤、數(shù)字視頻磁帶、固態(tài)RAM、固態(tài)ROM、以及類似者。硬盤驅(qū)動器141典型地通過不可移動的存儲器接口(如接口140)連接到系統(tǒng)總線121,而且磁盤驅(qū)動器151和光盤驅(qū)動器155被典型地通過可移動存儲器接口(如接口150)連接到系統(tǒng)總線121。
以上討論的與計算機(jī)存儲媒體關(guān)聯(lián)的在圖1中表示的驅(qū)動器提供了計算機(jī)可讀取的指令的存儲、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它用于計算機(jī)110的數(shù)據(jù)。在圖1中,例如,硬盤驅(qū)動器141被表示為存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146、以及程序數(shù)據(jù)147。注意這些部件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136、以及程序數(shù)據(jù)137相同或者不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146、以及程序數(shù)據(jù)147被給以不同的號碼以表示至少它們是不同的拷貝。用戶可以輸入命令和信息到計算機(jī)110,通過輸入設(shè)備例如鍵盤162和指點設(shè)備161,一般稱作為鼠標(biāo),軌跡球或者觸摸板。其它輸入設(shè)備(未顯示)可能包括話筒、游戲桿、游戲板、衛(wèi)星式轉(zhuǎn)盤、掃描儀,或類似者。這些和其它的輸入設(shè)備往往通過與系統(tǒng)總線121耦合的用戶輸入接口160連接到處理器120,但也可以由其它接口和總線結(jié)構(gòu)相連接,例如并行端口、游戲端口或者通用串行總線(USB)。
監(jiān)視器191或者其它類型的顯示設(shè)備也通過接口,例如視頻接口190,連接到系統(tǒng)總線121。圖形接口182,例如北橋(Northbridge)也被連接到系統(tǒng)總線121。北橋是與CPU或者主機(jī)處理器120通信的芯片組,并且還負(fù)責(zé)對加速圖形端口(AGP)的通信。一個或多個圖形處理部件(GPU)184可以與圖形接口182通信。關(guān)于這點,GPU 184通常包括在芯片上的存儲器,例如寄存器存儲器,并且CPU184與視頻存儲器186通信。然而,GPU 184只是一個協(xié)處理器的例子,并且大量的協(xié)處理設(shè)備可以包括在計算機(jī)110中。監(jiān)視器191或者其它類型的顯示設(shè)備也通過接口(如視頻接口190)連接到系統(tǒng)總線121,該接口可以輪流與視頻存儲器186通信。除監(jiān)視器191之外,計算機(jī)還可以包括其它的外圍輸出設(shè)備,例如揚聲器197和打印機(jī)196,它們可以通過輸出外圍接口195相連接。
計算機(jī)110可以在網(wǎng)絡(luò)環(huán)境下操作,使用與一臺或多臺遠(yuǎn)程計算機(jī)的邏輯連接,例如遠(yuǎn)程計算機(jī)180。遠(yuǎn)程計算機(jī)180可以是一臺個人計算機(jī)、一臺服務(wù)器、一臺路由器、一臺網(wǎng)絡(luò)PC、對等設(shè)備或者其他公共網(wǎng)絡(luò)結(jié)點,并且典型地包括許多或所有與計算機(jī)110相關(guān)的以上描述的元件,盡管在圖1中只有存儲器設(shè)備181被表示。在圖1中描述的邏輯連結(jié)包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但還可以包括其它的網(wǎng)絡(luò),這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)互聯(lián)網(wǎng)和因特網(wǎng)等之中使很平常的。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接到LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)110典型的包括一個調(diào)制解調(diào)器172,或者其它的通信手段用于對WAN173(例如因特網(wǎng))建立通信。調(diào)制解調(diào)器172可以是內(nèi)置的或者外置的,可以通過用戶輸入接口160或者其它適當(dāng)?shù)臋C(jī)構(gòu)連接到系統(tǒng)總線121。在網(wǎng)絡(luò)環(huán)境中,描寫成相關(guān)于計算機(jī)110的程序模塊,或者其中的一部分被存儲在遠(yuǎn)程存儲器設(shè)備中。作為例子,而不是限制,圖1表示遠(yuǎn)程應(yīng)用程序185作為駐留在存儲設(shè)備181中??梢岳斫饩W(wǎng)絡(luò)連接的表示是范例性的,以及在計算機(jī)之間建立通信連接的其它手段可以被使用。
普通的熟悉本領(lǐng)域的技術(shù)人員能夠理解,計算機(jī)110或者其它客戶機(jī)設(shè)備可以被部署作為計算機(jī)網(wǎng)絡(luò)的一部分。由此,本發(fā)明適用于任何的計算機(jī)系統(tǒng),該系統(tǒng)具有任何數(shù)量內(nèi)存或存儲部件和任何數(shù)量應(yīng)用程序和過程發(fā)出現(xiàn)在跨越任何數(shù)量的存儲部件或卷上。本發(fā)明可以應(yīng)用于在具有遠(yuǎn)程或本地的存儲器的網(wǎng)絡(luò)環(huán)境中部署的帶有服務(wù)器計算機(jī)和客戶機(jī)計算機(jī)的環(huán)境。本發(fā)明還可應(yīng)用于獨立的具有編程語言功能性、解釋和執(zhí)行能力的計算設(shè)備。
分布式計算通過直接在計算機(jī)設(shè)備和系統(tǒng)之間的交換,促進(jìn)了計算機(jī)資源和服務(wù)的共享。這些資源和服務(wù)包括信息的交換、高速緩存,和用于文件的磁盤存儲器。分布式計算采取了網(wǎng)絡(luò)連接性的優(yōu)點,允許客戶機(jī)發(fā)揮他們集體的功效以利于整個企業(yè)。對此,各種設(shè)備可能具有應(yīng)用程序、對象或者資源,它們可以互動以實現(xiàn)本發(fā)明內(nèi)含的鑒別技術(shù),以用于委托的圖形管道。
圖2提供范例性網(wǎng)絡(luò)或分布式計算環(huán)境的原理圖。該分布式計算環(huán)境包含計算對象10a、10b等以及計算對象或者設(shè)備110a、110b、110c等。這些對象可能包括程序、方法、數(shù)據(jù)存儲、可編程邏輯等等。該對象可能包含同樣的或不同設(shè)備的各個部分,例如PDA、電視機(jī)、MP3播放機(jī)、電視機(jī)、個人計算機(jī)等。每個對象可以用通信網(wǎng)絡(luò)14的方法與另外的對象通信。這個網(wǎng)絡(luò)可能本身包含其他的計算對象和計算設(shè)備對圖2的系統(tǒng)提供服務(wù)。依照本發(fā)明的概念,每個對象10和110都可能包含應(yīng)用程序,它可能要求本發(fā)明的鑒別技術(shù)用于委托的圖形管道。
還能意識到一個對象,例如110c,可能作為另一臺計算設(shè)備10或110的宿主。這樣,雖然被描述的物理的環(huán)境可以展示作為計算機(jī)的相連的設(shè)備,這樣的示例僅僅是范例性的,并且物理環(huán)境可以另外的方式被刻畫或描述成包含各種數(shù)字設(shè)備,例如PDA、電視機(jī)、MP3播放器等、軟件對象如接口、COM對象以及類似者。
有各種系統(tǒng)、組件、和網(wǎng)絡(luò)配置,支持分布式計算環(huán)境。例如,計算機(jī)系統(tǒng)可能由有線的和無線的系統(tǒng),由局域網(wǎng)絡(luò)或廣域的分布式網(wǎng)絡(luò)連接在一起。當(dāng)前,很多網(wǎng)絡(luò)都和因特網(wǎng)耦合,這就提供了廣域分布式計算的基礎(chǔ)結(jié)構(gòu)并且包含了許多不同的網(wǎng)絡(luò)。
在家庭網(wǎng)絡(luò)環(huán)境中,至少有四種全異的網(wǎng)絡(luò)傳輸媒體,它們中的每一個支持唯一的一個協(xié)議,如電源線、數(shù)據(jù)(無線和有線兩者)、語音(如電話)和娛樂媒體。大多數(shù)家庭控制設(shè)備如電燈開關(guān)和應(yīng)用電器可能使用電源線以連接。數(shù)據(jù)服務(wù)作為廣播波段(如DSL或電纜調(diào)制解調(diào)器)可能進(jìn)入家庭并且在家中使用無線(例如Home RF或802.11b)或者有線(例如Home PNA,Cat 5,甚至Cat 3)連接就可訪問。語音話務(wù)可以作為有線的(例如Cat 3)或者無線的(例如蜂窩電話)進(jìn)入家庭并且可以在家中使用Cat 3連線進(jìn)行分布。娛樂媒體既可通過衛(wèi)星也可通過電纜進(jìn)入家庭,并且典型的是使用電視電纜分布進(jìn)入家庭。IEEE1394和DVI也作為數(shù)字連接用于各簇媒體設(shè)備。所有這些網(wǎng)絡(luò)環(huán)境和其他都作為協(xié)議標(biāo)準(zhǔn)出現(xiàn),可以相互連接形成企業(yè)內(nèi)部網(wǎng),并可以通過因特網(wǎng)與外部世界連接。簡而言之,存在各種全異的資源用于存儲和傳送數(shù)據(jù)、并且順序地向前移動,計算設(shè)備將要求在數(shù)據(jù)處理流水線的各部分保護(hù)內(nèi)容的手段。
因特網(wǎng)通常指的是利用TCP/IP協(xié)議套件的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合體,該協(xié)議套件在計算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域是熟知的。TCP/IP是“Transport ControlProtocol/Interface Program”的縮寫。因特網(wǎng)可以描述成一個地域上分布的遠(yuǎn)程計算機(jī)網(wǎng)絡(luò)系統(tǒng),通過計算機(jī)執(zhí)行的網(wǎng)絡(luò)協(xié)議相互連接,允許用戶通過網(wǎng)絡(luò)交互和共享信息。由于如此廣為傳播的信息共享,如因特網(wǎng)的遠(yuǎn)程網(wǎng)絡(luò)也就很普遍地進(jìn)展成為一個開放系統(tǒng),對此部署人員可以設(shè)計軟件應(yīng)用程序用于完成特殊的操作和服務(wù),基本上沒有約束。
這樣,網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)就能啟用網(wǎng)絡(luò)拓樸,例如客戶機(jī)/服務(wù)器結(jié)構(gòu)、對等結(jié)構(gòu)、或者混合結(jié)構(gòu)的主機(jī)。客戶機(jī)是組和類的成員,他們使用與其不相關(guān)的其他的組和類的服務(wù)。這樣,在計算中客戶機(jī)是一個過程等,大致上是一組指令或任務(wù),它請求其他程序提供的服務(wù)??蛻魴C(jī)過程利用請求的服務(wù)而不需要“知道”其他程序或者服務(wù)自身的詳細(xì)情況。在客戶機(jī)/服務(wù)器結(jié)構(gòu)中,特別是一個網(wǎng)絡(luò)系統(tǒng),客戶機(jī)通常是一臺計算機(jī),它存取由另外的計算機(jī)(例如服務(wù)器)提供的共享的網(wǎng)絡(luò)資源。在圖2的例子中計算機(jī)110a、110b等能夠考慮為客戶機(jī),而計算機(jī)10a、10b等被考慮為服務(wù)器,在此,服務(wù)器10a、10b等維護(hù)數(shù)據(jù),這些數(shù)據(jù)然后將被復(fù)制進(jìn)客戶計算機(jī)110a、110b等中。
服務(wù)器典型地是一個遠(yuǎn)程計算機(jī)系統(tǒng)可以通過遠(yuǎn)程網(wǎng)絡(luò)如因特網(wǎng)被存取??蛻魴C(jī)過程可以在第一臺計算機(jī)系統(tǒng)中活動,并且服務(wù)器過程可以在第二臺計算機(jī)系統(tǒng)中活動,彼此通過通信媒體通信,以此提供分布式的功能并允許多個客戶機(jī)得到服務(wù)器的信息聚集的性能的優(yōu)點。
客戶機(jī)和服務(wù)器利用協(xié)議層提供的功能彼此通信。例如,超文本傳送協(xié)議(HTTP)是一個普遍的協(xié)議被結(jié)合到萬維網(wǎng)(WWW)中。特別是,典型地,計算機(jī)網(wǎng)絡(luò)地址如通用資源定位器(URL)或者網(wǎng)際協(xié)議(IP)地址被用于服務(wù)器和客戶機(jī)的相互識別。網(wǎng)絡(luò)地址可以被看作如地址。例如,可以通過通信媒體提供通信。特別是,客戶機(jī)和服務(wù)器可以通過TCP/IP連接彼此相互耦合用于高容量的通信。
這樣,圖2表示一個網(wǎng)絡(luò)或分布式環(huán)境的范例,帶有和通過本發(fā)明可以在其中實施的網(wǎng)絡(luò)/總線與客戶計算機(jī)通信的服務(wù)器。更詳細(xì)地,根據(jù)本發(fā)明,一些服務(wù)器10a,10b等通過通信網(wǎng)絡(luò)/總線14(可以是LAN、WAN、企業(yè)內(nèi)部網(wǎng)、因特網(wǎng)等)與一些客戶機(jī)或遠(yuǎn)程計算設(shè)備110a、110b、110c、110d、110e等相互連接,這些設(shè)備是例如便攜式計算機(jī)、手提式計算機(jī)、瘦客戶機(jī)、網(wǎng)絡(luò)應(yīng)用電器或者其他的設(shè)備如VCR、TV、爐子、燈、加熱器和類似物。這樣可看到本發(fā)明可以用于任何計算設(shè)備,與其相連接可設(shè)計用于處理、存儲、或者再現(xiàn)從一個信托源來的安全的內(nèi)容。
在通信網(wǎng)絡(luò)/總線14是因特網(wǎng)的網(wǎng)絡(luò)的環(huán)境中,例如,服務(wù)器10可以是Web服務(wù)器,客戶機(jī)110a、110b、110c、110d、110e等與該服務(wù)器通過一些已知的協(xié)議之一例如HTTP通信。服務(wù)器10可以用作為客戶機(jī)110,就像在分布式計算環(huán)境中的特征。通信可以是有線的或無線的,只要適當(dāng)。服務(wù)器設(shè)備110可以是也可以不是通過通信網(wǎng)絡(luò)/總線14通信,而且此外可能具有獨立的通信聯(lián)系。例如,在TV和VCR的場合,可能有也可能沒有網(wǎng)絡(luò)的方面對其控制。每個客戶計算機(jī)110和服務(wù)器計算機(jī)10可能被裝備有各種應(yīng)用程序模塊或者對象135,并且?guī)в袑Ω鞣N類型存儲元件和對象的連接或訪問,垮越在這些存儲元件或?qū)ο笊衔募梢员淮鎯蛘邔τ谒募牟糠挚梢员幌螺d或被遷移。這樣,本發(fā)明可以在一個計算機(jī)網(wǎng)絡(luò)的環(huán)境中被利用,這個環(huán)境具有能對計算機(jī)網(wǎng)絡(luò)/總線14訪問和交互的客戶計算機(jī)110a、110b等,以及具有能夠與客戶計算機(jī)110a、110b等交互的服務(wù)器計算機(jī)10a、10b等和其他設(shè)備111和數(shù)據(jù)庫20。
數(shù)字權(quán)限管理(DRM)概述正如所知,并參考圖11,數(shù)字權(quán)限管理(DRM)和實施關(guān)于數(shù)字內(nèi)容12是非常需要的,這些內(nèi)容是例如數(shù)字音頻、數(shù)字視頻、數(shù)字文本、數(shù)字?jǐn)?shù)據(jù)、數(shù)字多媒體等,在此這樣的數(shù)字內(nèi)容12將被發(fā)布到用戶。當(dāng)用戶收到時,用戶借助于恰當(dāng)?shù)脑佻F(xiàn)設(shè)備如個人計算機(jī)14上的媒體播放器或類似者再現(xiàn)或“播放”該數(shù)字內(nèi)容。
典型地,內(nèi)容擁有者或部署者(以下成為“擁有者”)分發(fā)這樣的數(shù)字內(nèi)容12時,可能希望限制用戶對分發(fā)的數(shù)字內(nèi)容12做些什么。例如,內(nèi)容擁有者可能希望限制用戶復(fù)制和再分發(fā)這樣的內(nèi)容給第二個用戶,或者可能希望允許被分發(fā)的數(shù)字內(nèi)容12僅僅被播放一個有限的次數(shù)、僅僅在一個特定的總時間內(nèi)播放、僅僅在特定的機(jī)器上播放、僅僅在特定類型的媒體播放機(jī)上播放、僅僅由特定的用戶播放等等。
然而,分發(fā)發(fā)生之后,這樣的內(nèi)容擁有者即使有也只是極少能對數(shù)字內(nèi)容12的控制。從而,一個DRM系統(tǒng)10允許對任意形式的數(shù)字內(nèi)容12受控制地再現(xiàn)和播放,其中這樣的控制是靈活的并且可以由這樣的數(shù)字內(nèi)容的內(nèi)容擁有者所定義的。典型地,內(nèi)容12按數(shù)據(jù)包13的形式通過任何一個相應(yīng)的分發(fā)通道分發(fā)給擁護(hù)。被分發(fā)的數(shù)字內(nèi)容數(shù)據(jù)包可能包含用對稱加密/解密密鑰(KD)加了密的內(nèi)容12,(也就是(KD(CONTENT))),同時其他的標(biāo)識內(nèi)容的信息,如何對這樣的內(nèi)容得到許可證,等。
基于委托的DRM系統(tǒng)10允許數(shù)字內(nèi)容12的擁有者指定許可證的規(guī)則,在用戶的計算設(shè)備14上這樣的數(shù)字內(nèi)容12被允許再現(xiàn)之前規(guī)則必須被滿足。這樣的規(guī)則可以包括上述的時間要求,并且被具體表述在數(shù)字許可證或文檔中(以下稱“許可證”)16,用戶/用戶的計算設(shè)備14(以下,本術(shù)語可以互換,除非環(huán)境要求另外)必須從內(nèi)容擁有者或者代理處獲得該許可證。這樣的許可證16還包括解碼密鑰(KD)用于解密數(shù)字內(nèi)容,該內(nèi)容多半按照可以由用戶的計算設(shè)備解密的密鑰被加密。
內(nèi)容擁有者對于數(shù)字內(nèi)容12的片段必須相信用戶的計算設(shè)備14將遵守規(guī)則和要求,這些是規(guī)則和要求由這樣的內(nèi)容擁有者在許可證6中描述,也就是,數(shù)字內(nèi)容12將不會被再現(xiàn),除非在許可證6中的規(guī)則和要求被滿足。從而,較佳地,該用戶的計算設(shè)備14被提供有受托收托的部件和機(jī)制18,它不能再現(xiàn)數(shù)字內(nèi)容12,除非根據(jù)具體在許可證16中的、與數(shù)字內(nèi)容12相關(guān)連的許可證規(guī)則并且被用戶得到。
委托部件18,典型地,具有一個許可證評估器20,評判許可證16是否有效,審查在有效的許可證16中許可規(guī)則和要求,并基于該審查的規(guī)則和要求確定申請的用戶是否有權(quán)以所要求的方式再現(xiàn)申請的數(shù)字內(nèi)容12,以及其他事情。應(yīng)該理解,許可證評估器20在DRM系統(tǒng)10中是可信任的,以根據(jù)在許可證6中的規(guī)則和要求實施數(shù)字內(nèi)容12擁有者的愿望,而且用戶不可能簡單地為任何目的、惡意的或其他方式改變這樣的委托元件。
應(yīng)該理解,在許可證16中的規(guī)則和要求能夠基于任何的若干因素描述用戶是否有權(quán)再現(xiàn)數(shù)字內(nèi)容12,這些因素包括用戶是誰、用戶定位在哪里、用戶正在使用哪種類型的計算設(shè)備、什么再現(xiàn)應(yīng)用程序在調(diào)用DRM系統(tǒng)、日期、時間等等。另外,例如,許可證16的規(guī)則和要求可以限制許可證16一個預(yù)定的播放數(shù)目,或者一個預(yù)定的播放時間。
可以根據(jù)任何適當(dāng)?shù)恼Z言和語法在許可證16中指定規(guī)則和要求。例如,該語言可以簡單地描述必須滿足的屬性和數(shù)值(DATE必須比X遲,例如),或者根據(jù)描述腳本(IF DATE大于X,THEN DO…,例如)可能要求功能的表現(xiàn)。
當(dāng)許可證評估器20判定許可證16是有效的并且在此滿足了規(guī)則和要求時,數(shù)字內(nèi)容能夠被再現(xiàn)。特別是,為再現(xiàn)該內(nèi)容12從許可證12得到解密密鑰(KD)并且應(yīng)用到從內(nèi)容數(shù)據(jù)包13來的(KD(CONTENT))產(chǎn)生真實的內(nèi)容12,并且該真實的內(nèi)容然后實際上被再現(xiàn)。
發(fā)行數(shù)字內(nèi)容圖3是發(fā)行數(shù)字內(nèi)容的系統(tǒng)和方法的功能方框圖。“發(fā)行”,作為這里使用的術(shù)語,表示應(yīng)用或服務(wù)遵循的一個過程,以用委托實體建立一組權(quán)限和條件,它們可以由該實體為該內(nèi)容發(fā)布,以及給可以發(fā)布這些權(quán)限和條件的人。根據(jù)該發(fā)明,發(fā)行的過程包括加密數(shù)字內(nèi)容和相關(guān)聯(lián)的一致的可實施的權(quán)限的清單,內(nèi)容的作者打算以此用于所有可能的內(nèi)容的使用者。這個過程可以以安全的方式進(jìn)行,以防止對任何權(quán)限或內(nèi)容的訪問,除非內(nèi)容的作者打算這樣做。
三個特別的實體用來發(fā)行安全的數(shù)字內(nèi)容一個內(nèi)容準(zhǔn)備應(yīng)用程序302,它在客戶機(jī)300上執(zhí)行并且準(zhǔn)備發(fā)行的內(nèi)容;一個數(shù)字權(quán)限管理(DRM)應(yīng)用程序接口(API)306,它也駐留在客戶設(shè)備300中;和一個DRM服務(wù)器320,通過一個通信網(wǎng)絡(luò)330例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、或者其組合通信耦合到客戶機(jī)300。
內(nèi)容準(zhǔn)備應(yīng)用程序302可以是任何產(chǎn)生數(shù)字內(nèi)容的應(yīng)用程序。例如,應(yīng)用程序302可以是字處理程序或者其他的產(chǎn)生數(shù)字文本文件、數(shù)字音樂、視頻或者其他此類內(nèi)容的發(fā)行程序。該內(nèi)容還可以包括流內(nèi)容,例如實況的或者錄像的事件的音頻/視頻流,或者樣例。應(yīng)用程序302被提供帶有一個加密數(shù)字內(nèi)容的加密密鑰,因而形成一個加密的數(shù)字內(nèi)容文件304,并且用戶提供的權(quán)限數(shù)據(jù)被緊密地與在數(shù)字內(nèi)容文件304中的加密內(nèi)容相關(guān)聯(lián)。權(quán)限數(shù)據(jù)包括每個在數(shù)字內(nèi)容中具有權(quán)限的實體的身份,以及一組用于每個標(biāo)識的實體的權(quán)限和條件。
這樣的實體,例如,可以是一個個體、一類個體、或者一個設(shè)備。這樣的權(quán)限可以包括對數(shù)字內(nèi)容的讀取、編輯、復(fù)制、打印等權(quán)限。條件可以包括最小的系統(tǒng)要求、日期和時間的限制、播放次數(shù)和類似項。
客戶機(jī)API 306傳遞加密的數(shù)據(jù)內(nèi)容和權(quán)限數(shù)據(jù)到DRM服務(wù)器320。使用一個以下將詳細(xì)說明的過程,該DRM服務(wù)器320決定是否可以實施該權(quán)限數(shù)據(jù),并且如果可以,DRM服務(wù)器320簽署該權(quán)限數(shù)據(jù)以形成一個簽署的權(quán)限標(biāo)簽(SRL)308。然而,一般地,任何委托實體可以簽署該權(quán)限數(shù)據(jù),最好使用一個由該DRM服務(wù)器320委托的密鑰。例如,客戶機(jī)可以使用一個由DRM服務(wù)器320提供給它的密鑰簽署權(quán)限數(shù)據(jù)。
權(quán)限標(biāo)簽308可以包括表示權(quán)限描述、加密的內(nèi)容密鑰、以及對權(quán)限描述和加密的內(nèi)容密鑰的的數(shù)字簽名。如果該DRM服務(wù)器320正在簽署權(quán)限標(biāo)簽,它傳遞簽署的權(quán)限標(biāo)簽308通過客戶機(jī)API306返回給客戶機(jī),該API306它在客戶機(jī)設(shè)備300上存儲該權(quán)限標(biāo)簽308。內(nèi)容準(zhǔn)備應(yīng)用程序302然后將該簽署權(quán)限標(biāo)簽308與加密的數(shù)字內(nèi)容文件304相關(guān)聯(lián),例如,通過串接以形成一個受權(quán)限管理的內(nèi)容文件310。但是,注意,該SRL308可以被存儲在與內(nèi)容文件304分離的一個已知的位置,這可通過將對SRL308的一個引用串接到內(nèi)容文件304以構(gòu)成內(nèi)容文件310而達(dá)到。
現(xiàn)在參照圖4,用于發(fā)行權(quán)限管理數(shù)字內(nèi)容的一個方法被展示。在步驟402,應(yīng)用程序302生成一個內(nèi)容密鑰(CK),它被用于加密該數(shù)字內(nèi)容。該內(nèi)容密鑰(CK)典型地是一個對稱密鑰,盡管任何密鑰可以被用來加密數(shù)字內(nèi)容。如所知,對稱密鑰是由一個對稱密鑰算法來使用,既用于加密又用于解密。相應(yīng)地,當(dāng)在發(fā)送者和接收者之間共享時,(CK)應(yīng)該被很好地隱藏。
在步驟404,應(yīng)用程序302以(CK)加密數(shù)字內(nèi)容以形成加密的數(shù)字內(nèi)容304(即,(CK(內(nèi)容)))。另外,相應(yīng)于(CK(內(nèi)容))的權(quán)限數(shù)據(jù)由內(nèi)容的發(fā)行者或者由另一個實體生成。注意這樣的權(quán)限數(shù)據(jù)可能是顧客權(quán)限數(shù)據(jù)或者如同從預(yù)定義的模板中獲得的權(quán)限數(shù)據(jù)。如上所述,權(quán)限數(shù)據(jù)可以包括一個實體的清單,該實體將被授權(quán)享用該內(nèi)容,實體中的每一個擁有關(guān)于它的內(nèi)容的特定的權(quán)限,而且任何條件可以被加載在這些權(quán)限上。
在步驟406,該API306產(chǎn)生第二個加密密鑰(K2),它被用來加密內(nèi)容密鑰(CK)。較佳地,(K2)也是一個對稱密鑰。在步驟408該API306用(K2)加密(CK)以形成(K2(CK))。在步驟410該API306丟棄(CK),因此該(CK)現(xiàn)在只能由解密的(K2(CK))得到。確保(CK(內(nèi)容))被保護(hù)到中央DRM服務(wù)器320并且所有對內(nèi)容的“許可證請求”根據(jù)權(quán)限數(shù)據(jù)集中地完成,該API306,在步驟412,聯(lián)系該提供的DRM服務(wù)器320,并且重新得到該公用密鑰(PU-DIM)。在步驟414,該API306用(PU-DIM)加密(K2)得到(PU-DIM(K2))。這樣(CK)可以被保護(hù)到(PU-DRM))以確保當(dāng)要求對(CK(內(nèi)容))解密時,該DRM服務(wù)器320是僅有的實體,它將有能力達(dá)到對(CK)的訪問。在步驟416,該API306用(K2)加密權(quán)限數(shù)據(jù)(例如,授權(quán)實體的清單和相應(yīng)的每個在清單中的授權(quán)實體相關(guān)聯(lián)的權(quán)限和條件)產(chǎn)生(K2(權(quán)限數(shù)據(jù)))。
在替換的實施例中,(CK)可以被用來直接加密權(quán)限數(shù)據(jù)以產(chǎn)生(CK(權(quán)限數(shù)據(jù))),并且(PU-DRM)可以被用來直接加密(CK)以產(chǎn)生(PU-DRM(CK)),從而完全丟棄(K2)的使用。然而,使用(K2)加密權(quán)限數(shù)據(jù)和(CK)允許這樣的(K2)遵從任何特殊的算法相,這種算法可能聽從于DRM服務(wù)器,而(CK)可能由一個獨立于DRM服務(wù)器的實體指定并且可能不聽從于DRM服務(wù)器。
在步驟418,該內(nèi)容保護(hù)應(yīng)用程序302遞交(PU-DRM(K2))和(K2(權(quán)限數(shù)據(jù)))給DRM服務(wù)器320作為用于簽署的權(quán)限標(biāo)簽。作為替換的方法,客戶機(jī)自己也可以按照以下闡述的方式簽署該權(quán)限數(shù)據(jù)。如果權(quán)限數(shù)據(jù)正在遞交給服務(wù)器簽署,那么,在步驟420該DRM服務(wù)器320訪問該權(quán)限數(shù)據(jù)并且驗證它可以執(zhí)行在遞交的權(quán)限標(biāo)簽中的權(quán)限和條件。為驗證它可以執(zhí)行該權(quán)限數(shù)據(jù),該DRM服務(wù)器320對(PU-DRM(K2))使用相應(yīng)于(PU-DRM)的私人密鑰(PR-DRM)以得到(K2),并且然后對(K2(權(quán)限數(shù)據(jù)))使用(K2)以得到明文的權(quán)限數(shù)據(jù)。服務(wù)器320然后就可以進(jìn)行所有的政策檢查以驗證在權(quán)限數(shù)據(jù)中的用戶、權(quán)限、和條件是在由服務(wù)器320行使的所有政策之中。服務(wù)器320簽署原始的包括(PU-DRM(K2))和(K2(權(quán)限數(shù)據(jù)))的遞交的權(quán)限以得到簽署權(quán)限標(biāo)簽(SRL)308,這里簽名是基于DRM服務(wù)器320的私人密鑰(PR-DRM),并且返回該SRL308給API 306,它然后把返回的SRL 308提交給客戶機(jī)應(yīng)用程序302。
該SRL 308是一個數(shù)字簽名的文件,它使它防止篡改。另外,該SRL 308是獨立于加密內(nèi)容用的實際的密鑰類型和算法,但是保持對被保護(hù)的內(nèi)容的1對1關(guān)系?,F(xiàn)在參照圖4A,在本發(fā)明的一個實施例中,SRL 308可能包括關(guān)于內(nèi)容的信息,它是該SRL 308的基礎(chǔ),可能包括內(nèi)容的ID;在關(guān)于簽署SRL 308的DRM服務(wù)器的信息,包括(PU-DRM(K2))和參考信息如用于在網(wǎng)絡(luò)上定位DRM服務(wù)器的URL和如果URL失效時的返回信息;描述SRL 308自身的信息;(K2(權(quán)限數(shù)據(jù)))(K2(CK));以及數(shù)字簽名(S(PR-DRM)),及其他。
通過確認(rèn)受委托的實體簽署該權(quán)限數(shù)據(jù)以建立簽署權(quán)限標(biāo)簽308,DRM服務(wù)器320宣稱它將按照發(fā)行者在權(quán)限標(biāo)簽308的權(quán)限數(shù)據(jù)中所描述的條目為內(nèi)容發(fā)布許可證。如應(yīng)該理解的,用戶被要求獲得一個許可證以再現(xiàn)內(nèi)容,特別是因為許可證包含有內(nèi)容密鑰(CK)。當(dāng)用戶想得到許可證用于解密內(nèi)容時,用戶可以提交一個包括用于內(nèi)容的SRL 308的許可證請求及一個證書,該證書驗證用戶對于DRM服務(wù)器320或者其他的許可證發(fā)布實體的憑證。然后許可證發(fā)布實體可以解密(PU-DRM(K2))和(K2(權(quán)限數(shù)據(jù)))以產(chǎn)生權(quán)限數(shù)據(jù),為許可證請求實體列出所有的作者(如果有)同意的權(quán)限清單,而且構(gòu)建一個只有這些特定權(quán)限的許可證。
如上所述,當(dāng)應(yīng)用程序302接收SRL 308時,這樣的應(yīng)用程序302把簽署的權(quán)限標(biāo)簽308和相應(yīng)的(CK(內(nèi)容))相串接以形成受權(quán)限管理的數(shù)字內(nèi)容。作為替換方式,權(quán)限數(shù)據(jù)被存儲在已知的位置,加密的數(shù)字內(nèi)容一起提供了對此位置的引用。這樣,由DRM允許的再現(xiàn)應(yīng)用程序可以通過再現(xiàn)應(yīng)用程序試圖再現(xiàn)的內(nèi)容的片段來發(fā)現(xiàn)簽署的權(quán)限標(biāo)簽308。這個發(fā)現(xiàn)觸發(fā)再現(xiàn)應(yīng)用程序啟動對于DRM許可證服務(wù)器320的許可證請求。例如,發(fā)行應(yīng)用程序302能夠存儲URL到DRM許可證服務(wù)器320,或者DRM許可證服務(wù)器320能夠在數(shù)字簽名之前把它自身的URL作為元數(shù)據(jù)片段嵌入到權(quán)限標(biāo)簽中去,從而由再現(xiàn)應(yīng)用程序調(diào)用的DRM客戶機(jī)API 306能夠識別正確的DRM許可證服務(wù)器320。
為發(fā)行內(nèi)容獲取許可證現(xiàn)在參照圖5,用于許可受權(quán)限管理的數(shù)字內(nèi)容的系統(tǒng)和方法被展示?!霸S可”在此用作為一個術(shù)語表示應(yīng)用程序或服務(wù)應(yīng)遵循的一個過程,以請求和接收一個許可證,該許可證將使在許可證中命名的實體能夠按照許可證所描述的條款享用該內(nèi)容。對許可過程的輸入可以包括與正被請求許可證的內(nèi)容關(guān)聯(lián)的簽署權(quán)限標(biāo)簽(SRL)308,以及正被請求許可證的實體的公共密鑰證書。注意請求許可證的實體并不必須是要求得到許可證的實體。典型地,許可證包括從SRL308來的權(quán)限的描述、一個能夠解密加密內(nèi)容的加密密鑰、以及一個對于權(quán)限描述和加密密鑰的數(shù)字簽名以維護(hù)合法性及防止篡改。
準(zhǔn)備性地,客戶機(jī)API 306通過通信網(wǎng)絡(luò)330傳遞權(quán)限管理內(nèi)容310的簽署的權(quán)限標(biāo)簽308到DRM服務(wù)器320。如上所述,權(quán)限標(biāo)簽308包含按照DRM服務(wù)器320的公共密鑰(PU-DRM)(即,(PU-DRM(CK))加密的內(nèi)容密鑰(CK)。然后,在發(fā)布許可證的過程中,DRM服務(wù)器320對(PU-DRM(CK))使用(PR-DRM)以得到(CK)。它然后使用已在許可證請求中傳遞來的公共密鑰證書中的公共密鑰(PU-ENTITY)再加密(CK)(即,(PU-ENTITY(CK)))。該新加密的(PU-ENTITY(CK))然后被放在許可證中。這樣,許可證能夠被返回給調(diào)用者而沒有暴露(CK)的危險,因為只有與(PU-ENTITY)相對應(yīng)的私人密鑰(PR-ENTITY)的持有者才能從(PU-ENTITY(CK))中恢復(fù)(CK)。客戶機(jī)API 306然后使用(CK)解密被加密的內(nèi)容以形成解密的數(shù)字內(nèi)容312。然后客戶機(jī)應(yīng)用程序302就能夠根據(jù)在許可證中提供的權(quán)限使用解密的數(shù)字內(nèi)容312。
作為替換,并且在以下將詳細(xì)描述,例如,客戶機(jī)諸如發(fā)行客戶機(jī)能夠發(fā)布使用許可證給自己以享用該內(nèi)容。
轉(zhuǎn)到圖6A和6B,一種許可權(quán)限管理數(shù)字內(nèi)容的方法被展示。在步驟602中,許可證發(fā)布實體如DRM服務(wù)器320接收一個許可證請求,該請求包含或者是公共密鑰證書或者是對一個或多個所請求的每個許可證獲取者的身份。假設(shè),如果身份被指定,DRM服務(wù)器320能夠從目錄、數(shù)據(jù)庫、或類似地方中獲得相應(yīng)的公共密鑰證書,如果許可證請求只是對一個許可證獲取者,只有一個證書或身份被命名。如果許可證請求是針對多個許可證獲取者,證書或身份可以為每個可能的許可證獲取者命名。在步驟604中,如果要求的話,請求實體(即,作出許可證請求的實體)被鑒別。在步驟606中,同樣如果要求的話,該實體被判定是否允許請求許可證。
如果在步驟608中,該發(fā)布實體判定公共密鑰證書沒有被包含在許可證請求中,那么發(fā)布實體使用指定的身份實行對用于適當(dāng)?shù)墓裁荑€證書的目錄服務(wù)或數(shù)據(jù)庫進(jìn)行查找。如果在步驟610中該發(fā)布實體判定證書在目錄中,那么,在步驟612中證書被檢索到。如果對于給定的潛在的許可證獲取者的證書無論在請求中還是在目錄中都找不到,那么許可證服務(wù)器不為該潛在的許可證獲取者產(chǎn)生許可證,在步驟614,一個出錯信息返回給請求實體。
假設(shè)DRM服務(wù)器320有至少是一個潛在的許可證獲取者的公共密鑰證書,那么在步驟616,這樣的DRM服務(wù)器320證實每張許可證獲取者證書是信任的。如果未被證實,DRM服務(wù)器320判定許可證獲取者證書的發(fā)行者是不在可信任的發(fā)布者清單之中,然后對于該許可證獲取者請求失敗,并且在步驟614中產(chǎn)生出錯信息。這樣,任何證書沒有被可信任的發(fā)布者發(fā)布的潛在的許可證獲取者都沒有收到許可證。
另外,DRM服務(wù)器320較佳地完成對證書鏈上所有實體的數(shù)字簽名的驗證,從被委托的發(fā)布者證書到個別的許可證獲取者的公共密鑰證書。驗證在鏈中的數(shù)字簽名的過程是一個熟知的算法。如果對于給定的潛在的許可證獲取者的公共密鑰證書沒有被證實,或者在鏈中的證書沒有被證實,潛在的許可證獲取者不被信任,因此許可證沒有發(fā)布給潛在的許可證獲取者。否則的話,在步驟618許可證能夠發(fā)布。過程在步驟20中重復(fù),直到所有請求許可證的實體都被處理完。
如在圖6B中所示,DRM服務(wù)器320繼續(xù)驗證在許可證請求中接收到的簽署權(quán)限標(biāo)簽308。在一個實施例中,DRM服務(wù)器320有每個權(quán)限標(biāo)簽簽署的一個主拷貝。
從而,在許可證時間(在步驟622),DRM服務(wù)器320可以檢索到該主權(quán)限標(biāo)簽的拷貝。該主權(quán)限標(biāo)簽可以是比在許可證請求中發(fā)送的權(quán)限標(biāo)簽拷貝更加新的,并且因此權(quán)限標(biāo)簽將被使用來產(chǎn)生該要求的許可證。如果沒有找到主權(quán)限標(biāo)簽,DRM服務(wù)器320在步驟624根據(jù)預(yù)定義的政策判定是否基于在請求中的權(quán)限標(biāo)簽發(fā)布一個許可證。如果政策不允許,在步驟626許可證請求失敗,并且在步驟628一個出錯信息返回給API 306。
在步驟630,DRM服務(wù)器320驗證SRL 308且特別是對它的數(shù)字簽名。如果SRL 308沒有被證實,在步驟626許可證請求失敗,并且在步驟628一個出錯信息返回給API 306。
在所有的驗證都完成后,DRM服務(wù)器為每個批準(zhǔn)的許可證基于SRL 308構(gòu)建一個許可證。在步驟632,DRM服務(wù)器320將被發(fā)布給每個許可證獲取者的許可證生成各自的權(quán)限說明。對每個許可證獲取者,DRM服務(wù)器320對照在權(quán)限標(biāo)簽的權(quán)限說明中命名的身份評估該許可證獲取者的公共密鑰中命名的身份。在步驟636,DRM服務(wù)器320從SRL 308中獲取(PU-DRM(K2))和(K2(CK))并且應(yīng)用(PR-DRM)以獲取(CK)。然后發(fā)布實體使用從許可證獲取者的公共密鑰證書來的(PU-ENTITY)重新加密(CK)以產(chǎn)生(PU-ENTITY(CK))。在步驟638,DRM服務(wù)器320把產(chǎn)生的權(quán)限描述和(PU-ENTITY(CK))串接并且使用(PR-DRM)數(shù)字地簽署結(jié)果數(shù)據(jù)結(jié)構(gòu)(即,S(PR-DRM))。這樣,簽署的數(shù)據(jù)結(jié)構(gòu)就是對這個特定的許可證獲取者的許可證。
在步驟640,DRM服務(wù)器320判定沒有更多的許可證要為特別的請求產(chǎn)生。然后產(chǎn)生的許可證返回給請求的實體,在步驟642,隨同適當(dāng)?shù)慕売性S可證的證書鏈回到被委托授權(quán)者。
自發(fā)行簽署權(quán)限標(biāo)簽308在本發(fā)明的一個實施例中,SRL 308可以是由請求/發(fā)行用戶自己簽署。相應(yīng)地,這樣的用戶不需要與DRM服務(wù)器320聯(lián)系以為相關(guān)聯(lián)的內(nèi)容的片段獲取SRL 308。作為結(jié)果,自發(fā)行也可以被看作為是離線(off-line)發(fā)行。在這樣的實施例中,發(fā)行者也還應(yīng)該有能力給自身發(fā)布一個發(fā)行者許可證,尤其是,因為自身發(fā)行的內(nèi)容現(xiàn)在是DRM保護(hù)的并且這樣的發(fā)行者許可證被要求允許發(fā)行用戶再現(xiàn)現(xiàn)在受保護(hù)的內(nèi)容。還應(yīng)該理解,發(fā)行用戶可以有對其他用戶發(fā)布許可證的能力。
特別是,現(xiàn)在參照圖7,在該實施例中,離線發(fā)行用戶首先通過從DRM服務(wù)器320接收一個離線發(fā)行(OLP)證書810,它包含一個公共密鑰(PU-OLP)和一個根據(jù)公開密鑰加密的相應(yīng)的私人密鑰(PR-OLP),該公共密鑰(PU-ENTITY)可以直接或間接地由用戶的委托組件18(圖11)訪問以產(chǎn)生(PU-ENTITY(PR-CERT))。注意該(PU-ENTITY)可以例如是委托組件18的公共密鑰,或者可以是可委托組件18的公共密鑰訪問的用戶的公共密鑰。該OLP證書810應(yīng)該由DRM服務(wù)器320的私人密鑰(PR-DRM)簽署,從而,這樣的DRM服務(wù)器320能夠驗證這樣的OLP證書,如以下將要更詳細(xì)討論的。
另外,OLP證書810應(yīng)該包括從(PU-DRM)返回給委托授權(quán)者的證書鏈,該授權(quán)者是發(fā)行用戶或其他用戶的委托組件18所委托的,使得這樣的委托組件18可以驗證這樣的OLP證書810和任何與這樣的OLP證書相關(guān)聯(lián)的其他的證書或許可證,以下將再討論。簡要地說,也應(yīng)該理解,證書鏈起始帶有一個由委托授權(quán)者的私人密鑰簽署的根證書和具有一個鏈中的下一個證書的公共密鑰。然后,每一個鏈中的中間的證書由與鏈中的前一個證書的公共密鑰對應(yīng)的私人密鑰來簽署,并且具有在鏈中的下一個證書的公共密鑰。最后,附加有鏈的證書或許可證由與鏈中最后一個證書的公共密鑰對應(yīng)的私人密鑰簽署。
這樣,為驗證附加了鏈的證書或許可證,與受委托的授權(quán)者的私人密鑰對應(yīng)的公共密鑰的知識被得到,并且這樣的受委托的授權(quán)者的公共密鑰被用來驗證在鏈中的根證書的簽名。假設(shè)根證書的簽名被證實,那么,從根證書來的公共密鑰被獲取和用于驗證在該鏈中的第一個中間證書的簽名。該過程被重復(fù)串行地穿過鏈直到每個簽名被驗證,并且然后獲得從在鏈中的最后一個中間證書來的公共密鑰,并且用來驗證附加了鏈的證書或許可證的簽名。
如應(yīng)理解,OLP證書810在要被離線發(fā)行的內(nèi)容304和將對內(nèi)容304發(fā)布許可證的DRM服務(wù)器320之間建立一個信托鏈中的鏈接。該OLP證書810可以基于XML/XrML語言或者任何其他適當(dāng)?shù)恼Z言建立。
又如應(yīng)理解,OLP證書810和附加的證書鏈?zhǔn)跈?quán)發(fā)行用戶用戶自發(fā)行??蛇M(jìn)一步理解為,密鑰對(PU-OLP,PR-OLP)分離于(PU-ENTITY,PR-ENTITY),并被特定用于自發(fā)行。注意可以沒有密鑰對(PU-OLP,PR-OLP),這樣DRM證書810只包含用戶的公共密鑰(PU-ENTITY),并且由DRM服務(wù)器320的私人密鑰(PR-DRM)簽署,使得該DRM服務(wù)器320可同樣地驗證。
自發(fā)行不同于圖4所示的發(fā)行,用戶實質(zhì)上取代了DRM服務(wù)器320的有關(guān)執(zhí)行步驟。特別是,用戶簽署提交的權(quán)限標(biāo)簽包含(PU-DRM(K2))和(K2(權(quán)限數(shù)據(jù)))或者包含(PU-DRM(CK))和(CK(權(quán)限))(后者將在圖7和圖8中展示),它們帶有如從DRM證書810獲得的(PR-OLP)(即,S(PR-OLP))以產(chǎn)生簽署權(quán)限標(biāo)簽(SRL)308。使用OLP證書810的委托組件18客戶機(jī)典型地基于附加證書鏈驗證同樣內(nèi)容。如應(yīng)理解,用戶的委托組件18通過從這種OLP證書810獲取(PU-ENTITY(PR-OLP))和應(yīng)用(PR-ENTITY)來從OLP證書810獲取(PR-OLP)。然而,注意,發(fā)行用戶不能驗證DRM服務(wù)器320可以執(zhí)行在自身發(fā)行的SRL308中的權(quán)限。相應(yīng)地,在需要基于自身發(fā)行的SRL 308請求許可證時DRM服務(wù)器320本生應(yīng)該執(zhí)行驗證。
一旦發(fā)行用戶自身發(fā)行了SRL308,用戶串接該自身發(fā)行SRL308和用以產(chǎn)生相同于內(nèi)容304內(nèi)容的OLP證書810,并且?guī)в蠸RL308的該內(nèi)容304和DRM證書810作為權(quán)限管理內(nèi)容310被分發(fā)給另一個用戶。然后其他用戶按照本質(zhì)上如同在圖6A和圖6B中展示的同樣方式從DRM服務(wù)器320請求并獲取對于內(nèi)容304/310的許可證。這里,雖然,許可證請求用戶對DRM服務(wù)器320遞交了作為串接到內(nèi)容304的自發(fā)行SRL308和OLP證書810兩者。然后DRM服務(wù)器320基于相應(yīng)的(PU-DRM)驗證在OLP證書810中的S(PR-DRM),并且從DRM證書810獲取(PU-OLP)。DRM服務(wù)器320然后基于獲取的(PU-CERT)驗證STL308中的S(PR-OLP),并且繼續(xù)如前。然而,注意,由于發(fā)行用戶并沒有驗證DRM服務(wù)器320能夠執(zhí)行在SRL308中的權(quán)限,并且如前所述,DRM服務(wù)器自身應(yīng)該在這個時間實行驗證。
并注意,DRM服務(wù)器320只需驗證在OLP證書810中的S(PR-DRM),由于假設(shè)它確證自身。相應(yīng)地,來自O(shè)LP證書810的關(guān)聯(lián)的證書鏈并不必要隨同該OLP證書810發(fā)送到DRM服務(wù)器320,當(dāng)然除非該鏈?zhǔn)潜匾?,例如如果鏈本身至少是S(PR-DRM)的部分基礎(chǔ)。
然而,重要的是,發(fā)行用戶應(yīng)該能夠再現(xiàn)現(xiàn)在受保護(hù)的內(nèi)容304/310而不需要到DRM服務(wù)器320獲取許可證。換句話說,不用到DRM服務(wù)器320的離線發(fā)行內(nèi)容304/310的發(fā)行用戶基于OLP證書810應(yīng)該也有能力按照離線的方式自身發(fā)布一個許可證而不用到DRM服務(wù)器320,因此這樣的用戶能夠再現(xiàn)離線發(fā)行的內(nèi)容304/310。相應(yīng)地,發(fā)行用戶能夠繼續(xù)帶有自發(fā)行內(nèi)容310工作而不用對DRM服務(wù)器320的任何連接。
在一個本發(fā)明的實施例中,然后,現(xiàn)在轉(zhuǎn)至圖8,發(fā)行用戶自身發(fā)布一個離線的基于自發(fā)行SRL308由(PR-OLP)簽署的發(fā)行者許可證820,并且包含OLP證書810和它的證書鏈。假定地,發(fā)行者許可證820準(zhǔn)予發(fā)行用戶對自發(fā)行內(nèi)容310的完全訪問,雖然較少量的訪問也是準(zhǔn)予的。發(fā)行者許可證820可以是以XM/XrML語言或其語言書寫,如同其它DRM許可證那樣。如應(yīng)理解,發(fā)行者許可證820包含根據(jù)(PU-ENTITY)加密的內(nèi)容密鑰(CK),它可以是由用戶計算設(shè)備14的委托組件18獲取,以形成(PU-ENTIT(CK))。
用于發(fā)行者許可證820的鏈從該許可證820進(jìn)入到OLP證書810并且然后從委托授權(quán)者返回到根證書,也許通過一個或多個中間的證書。由于用戶的委托的組件18能夠得到與委托授權(quán)者的被用于簽署根證書的私人密鑰對應(yīng)的公共密鑰,該委托的組件18能夠通過證書鏈自身驗證發(fā)行者許可證820,并且隨著驗證能夠從中得到(PU-ENTITY(CK)),然后對它應(yīng)用(PR-ENTITY)得到(CK),并且對(CK(內(nèi)容))應(yīng)用(CK)以產(chǎn)生再現(xiàn)為目的的內(nèi)容304。結(jié)果,發(fā)行用戶能夠以離線發(fā)行的內(nèi)容310繼續(xù)工作并保持離線。
根據(jù)以上所述,然后,現(xiàn)在參照圖9,發(fā)行用戶按照以下方式離線發(fā)行內(nèi)容304/310并發(fā)布給自身一個用于這樣的內(nèi)容304/310的離線發(fā)行者許可證820。
準(zhǔn)備性地,如應(yīng)理解,內(nèi)容304是按適當(dāng)?shù)姆绞讲渴鸬牟⒏鶕?jù)內(nèi)容密鑰(CK)加密的(步驟901),并且該發(fā)行用戶以適當(dāng)?shù)男畔(PU-DRM(CK))和(CK(內(nèi)容))等}為內(nèi)容304建立權(quán)限標(biāo)簽(步驟903)。然后,該發(fā)行用戶,它假設(shè)已經(jīng)從DRM服務(wù)器320占有OLP證書810,獲取這種OLP證書810(步驟905)并且基于其簽名和證書鏈驗證同樣事物,該證書鏈導(dǎo)致返回到根授權(quán)者(步驟907)。如應(yīng)理解,這樣的驗證實際上由在發(fā)行用戶的計算設(shè)備14上的委托組件18實現(xiàn)。假設(shè)驗證成功,那么該發(fā)行用戶/委托組件18(以下稱為‘發(fā)行用戶’)從OLP證書810檢索(PU-ENTITY(PR-OLP))(步驟909),對(PU-ENTITY(PR-OLP))應(yīng)用(PR-ENTITY)以得到(PR-OLP)(步驟911),并且然后以該(PR-OLP)簽署所建立的權(quán)限標(biāo)簽以建立一個SRL308(步驟913)。
然后,發(fā)行用戶將該SRL308和OLP證書810串接,被用于產(chǎn)生相同于內(nèi)容304的內(nèi)容以構(gòu)成自發(fā)行內(nèi)容310(步驟915),該權(quán)限管理內(nèi)容310從而能夠被分發(fā)給其他用戶。為了發(fā)行用戶繼續(xù)使用或再現(xiàn)內(nèi)容310,然而,該發(fā)行用戶必須給自身發(fā)布一個相應(yīng)的離線發(fā)行者許可證820。
這樣,發(fā)行用戶通過為自己定義相應(yīng)的權(quán)限數(shù)據(jù)而建立一個發(fā)行者許可證820并且按照內(nèi)容密鑰(CK)加密權(quán)限數(shù)據(jù)以產(chǎn)生(CK(權(quán)限數(shù)據(jù)))(步驟917)。注意這里該權(quán)限數(shù)據(jù)可以從內(nèi)容310的SRL308中獲得,可以是某些默認(rèn)的權(quán)限數(shù)據(jù)的集合準(zhǔn)予發(fā)行用戶部分地或全部地對自發(fā)行內(nèi)容310的訪問,或者可以從另一個源導(dǎo)出。另外,發(fā)行用戶根據(jù)(PU-ENTITY)加密內(nèi)容密鑰(CK)以構(gòu)成(PU-ENTITY(CK))(步驟919)。該(CK(權(quán)限數(shù)據(jù)))和(PU-ENTITY(CK))被格式化為發(fā)行者許可證820(步驟921),該OLP證書810和證書鏈被附加(步驟923),而且該發(fā)行者許可證820基于如在步驟911中獲取的(PR-OLP)被簽署(步驟925)。注意這里該內(nèi)容304(即,(CK(內(nèi)容)))、發(fā)行者許可證820、和OLP證書以組合方式形成一數(shù)字條款的鏈830回到委托授權(quán)者。
為了發(fā)行用戶再現(xiàn)發(fā)行內(nèi)容310,然后,現(xiàn)轉(zhuǎn)到圖10,該發(fā)行用戶不需要與DRM服務(wù)器320聯(lián)系,而是要獲取對應(yīng)于委托授權(quán)者的私人密鑰的公共密鑰,該私人密鑰被用于簽署根證書(步驟1001)、驗證該根證書(步驟1003),并然后通過對每個中間證書獲取從前一個證書來的公共密鑰以及應(yīng)用它驗證該證書的簽名來驗證在鏈中的每個中間證書(步驟1005)。然后,從在鏈中的最后證書來的(PU-DRM)被用于驗證OLP證書810的簽名(即,S(PR-DRM))(步驟1007),(PU-OLP)是從OLP證書810獲取(步驟1009),以及該(PU-OLP)被用于驗證發(fā)行者證書820的簽名(即,S(PR-OLP))(步驟1010)。
一旦發(fā)行證書820被證實,然后(CK(權(quán)限數(shù)據(jù)))和(PU-ENTITY(CK))從它重新得到(步驟1011),(PR-ENTITY)被用于(PU-ENTITY(CK))以產(chǎn)生(CK)(步驟1013),并且(CK)被應(yīng)用于(CK(權(quán)限數(shù)據(jù)))以產(chǎn)生權(quán)限數(shù)據(jù)(步驟1015)。如應(yīng)理解,權(quán)限數(shù)據(jù)被發(fā)行用戶的計算設(shè)備14的委托組件18審查以判定該權(quán)限數(shù)據(jù)允許以所求的方式再現(xiàn)(步驟1017),該委托的組件18對來自內(nèi)容310的(CK(內(nèi)容))應(yīng)用(CK)以獲得內(nèi)容(步驟1019),并且該內(nèi)容傳遞給相應(yīng)的再現(xiàn)應(yīng)用程序以真實地再現(xiàn)(步驟1021)。這樣圖10的步驟實際上遍歷了從委托授權(quán)者到內(nèi)容304的數(shù)字條款的鏈830。
注意委托組件18可能對(CK(內(nèi)容))應(yīng)用(CK)以產(chǎn)生內(nèi)容而不用預(yù)先審查權(quán)限數(shù)據(jù)也不管這些權(quán)限數(shù)據(jù)允許或不允許什么,但是是委托的并且已被構(gòu)建,以只是在審查權(quán)限數(shù)據(jù)和滿足自身(即權(quán)限數(shù)據(jù)允許該內(nèi)容的再現(xiàn))之后實際產(chǎn)生內(nèi)容。再一次,作為具有發(fā)行者許可證820的結(jié)果,發(fā)行用戶能夠繼續(xù)用離線發(fā)布的內(nèi)容310工作,并同時保持離線,因為至此DRM服務(wù)器320不需要被聯(lián)系。
DRM服務(wù)器的登記和次級登記在圖3所見的結(jié)構(gòu)中,只展現(xiàn)了單個DRM服務(wù)器320。然而,如將被理解,這樣的結(jié)構(gòu)能夠而且經(jīng)常是包含多個DRM服務(wù)器320。特別是,在本發(fā)明的一個實施例中,這樣的結(jié)構(gòu)包含DRM服務(wù)器320的分布式網(wǎng)絡(luò)。
每一個這樣的DRM服務(wù)器320可能具有某特殊的功能并且所有的DRM服務(wù)器320可能被按照任何適當(dāng)?shù)姆绞浇M織起來而沒有脫離本發(fā)明的精神和范圍。
例如,現(xiàn)在轉(zhuǎn)到圖12,一個特定的組織可能具有一個或多個用戶級的DRM服務(wù)器320用于簽署權(quán)限標(biāo)簽以產(chǎn)生SRL 308、發(fā)布許可證16、準(zhǔn)予發(fā)行許可證820、對用戶發(fā)布證書、對計算設(shè)備14發(fā)布證書,以及類似項。每個這樣的用戶級DRM服務(wù)器320可能按地域指派或可能基于功能或負(fù)載指派,例如。同樣地,為了監(jiān)管多個用戶級的DRM服務(wù)器320,一個組織可能具有一個或多個管理DRM服務(wù)器320。這樣的基于組織的DRM服務(wù)器320可能被安置在一個組織的防火墻之后,如果這樣要求的話。
除了基于組織的DRM服務(wù)器320之外,還可能有貫穿-組織的DRM服務(wù)器320,它有利于交互-組織DRM功能。例如,這種貫穿-組織的DRM服務(wù)器320可能允許一對組織共享某種DRM內(nèi)容12。而且,可能會有一個監(jiān)管DRM服務(wù)器320,它能激活所有其他的DRM服務(wù)器320。例如,這樣的監(jiān)管DRM服務(wù)器320可能監(jiān)督和維護(hù)所有其他的DRM服務(wù)器320并且為所有其他的DRM服務(wù)器320提供適當(dāng)?shù)穆?lián)系返回到根或者委托授權(quán)者,這是前面所述的證書鏈的基礎(chǔ)。這樣的基于非組織的DRM服務(wù)器320往往沒有被安置在組織的防火墻之后。
重要的是,每個在圖12的結(jié)構(gòu)中的DRM服務(wù)器320必須能夠被證明是被信任的。這樣,如同從以上關(guān)于證書鏈的討論所應(yīng)該理解的,每個DRM服務(wù)器320在進(jìn)入該結(jié)構(gòu)時都要提交一個登記證書1310,如在圖13中所見。明顯地,在本發(fā)明的一個實施例中,登記證書1310由另一個已在結(jié)構(gòu)中的“登記”的DRM服務(wù)器320(以下稱為“DRM-R服務(wù)器320”)提供對DRM服務(wù)器320的進(jìn)入。同樣明顯地,附加在由從“登記”DRM-R服務(wù)器320提供的登記證書1310是包含了登記DRM服務(wù)器320的登記證書1310的證書鏈1320,DRM服務(wù)器320的登記證書1310登記了登記DRM-R服務(wù)器320,并且如此下去直到根DRM服務(wù)器320。這樣的根DRM服務(wù)器320可能表示了該根或委托授權(quán)者。如現(xiàn)在可理介的,這樣的登記證書1310和證書鏈1320以組合方式形成了證書鏈,它附加到由已登記的或進(jìn)入的DRM-E服務(wù)器320提供的OLP證書810給一個發(fā)行用戶,如在圖8中所示。
在本發(fā)明的一個實施例中,由DRM-R服務(wù)器320提供給DRM-E服務(wù)器320的登記證書1310是一種如基于XrML 1.2的證書的形式。如可以被理解,這種類型證書1310并不獨立于由任何第三方提供,這樣,這種類型的證書1310并不代表由這樣的證書1310持有者的第三方的任何種類的獨立擔(dān)保。
在本發(fā)明的一個實施例中,一個特定的DRM-E服務(wù)器320被登記到結(jié)構(gòu)中去的方法依賴于登記DRM-R服務(wù)器320是否知道或具有理由去信任登記DRM-R服務(wù)器320。如果沒有,該DRM-E服務(wù)器320應(yīng)該要求對DRM-R服務(wù)器320證實它是委托的并且將實施該DRM結(jié)構(gòu)。如果有,該DRM-E服務(wù)器320不應(yīng)該被要求向DRM-R服務(wù)器320證明它是委托的,至少不是同一個級別h。這樣,當(dāng)一個可認(rèn)識可信任的DRM-R服務(wù)器320“次級登記”一個DRM-E服務(wù)器320的時候,一個非信任/非認(rèn)識的DRM-R服務(wù)器320“登記”一個DRM-E服務(wù)器320。
典型地,DRM-R服務(wù)器320認(rèn)識/信任一個DRM-E服務(wù)器320如果二者都是由或為了同樣的組利益被操作,雖然知道/信任也可能從另外不脫離本發(fā)明的精神和范圍的情景而得到。這樣,一個特定的DRM-E服務(wù)器320被登記到結(jié)構(gòu)中去的方法典型地依賴于該在登記的DRM-R服務(wù)器320是否基于組織的或者不基于組織的。結(jié)果,一個不基于組織的DRM-R服務(wù)器320“登記”一個DRM-E服務(wù)器,而一個基于組織的DRM-R服務(wù)器320“次級登記”一個DRM-E服務(wù)器320。
登記在本發(fā)明的一個實施例中,并現(xiàn)在轉(zhuǎn)到圖14,一個非認(rèn)識/非信任的DRM-R服務(wù)器320按以下方式登記一個DRM-E服務(wù)器。
準(zhǔn)備性地,可以理解,希望能由非認(rèn)識/非信任的DRM-R服務(wù)器320登記的DRM-E服務(wù)器320通常對這樣的DRM-R服務(wù)器320是不認(rèn)識的。相應(yīng)地,在本發(fā)明的一個實施例中,該DRM-E服務(wù)器320必須從愿意擔(dān)保這種DRM-E服務(wù)器320的第三方獲得一個擔(dān)保證書1330(步驟1401)。典型地,這樣的第三方是一個獨立證書發(fā)布代理,它被該DRM-R服務(wù)器320委托以完成這樣的擔(dān)保,例如在加州Moutain view的VESIGN公司。這種擔(dān)保證書1330可能如X.509證書的格式。注意,在依賴于委托的擔(dān)保該DRM-E服務(wù)器320第三方的DRM-R服務(wù)器320中,這樣的DRM-R服務(wù)器320對DRM-E服務(wù)器320的任何不良行為的責(zé)任被減輕。
如應(yīng)理解和典型地,如在圖13所見,擔(dān)保證書1330在其中加入了公共密鑰(PU-V)和相應(yīng)的私人密鑰(PR-V),由委托的第三方簽署,并且可能伴隨一個證書鏈引導(dǎo)到已知的根以用于驗證的目的。仍然是典型地,在擔(dān)保證書1330中的(PR-V)是以作為擔(dān)保證書1330的基礎(chǔ)的對DRM-E服務(wù)器320擔(dān)保的可訪問方式作為擔(dān)保的。例如,在圖13中所見,(PR-V)可以根據(jù)相應(yīng)的公共密鑰加密。
在DRM結(jié)構(gòu)內(nèi),進(jìn)入DRM-E服務(wù)器320必須有一個唯一的身份。這里可以理解DRM身份通常是可能與(PU-V,PR-V)不同,雖然DRM身份可能也與這樣的(PU-V,PR-V)相一致而脫離本發(fā)明的精神和范圍。相應(yīng)地,為建立這樣的身份,該DRM-E服務(wù)器320生成或獲得一個新的公開/私人密鑰對(PU-E,PR-E)(步驟1403)。而且,在DRM結(jié)構(gòu)中,在登記的DRM-E服務(wù)器320應(yīng)該決定哪個實體能夠撤回其參與的授權(quán)。相應(yīng)地,該DRM-E服務(wù)器320在一個清單中識別每個這樣的撤回實體,可能通過公共密鑰的手段(步驟1405)進(jìn)行。
DRM-E服務(wù)器320應(yīng)該能夠?qū)υ诘怯浀腄RM-R服務(wù)器320確定該DRM-E服務(wù)器事實上擁有從步驟1401獲得的擔(dān)保證書1330。相應(yīng)地,該DRM-E服務(wù)器320或者使用來自擔(dān)保證書1330的(PR-V)以加密(PU-E)以得到作為所有者標(biāo)記的(PU-V(PU-E))或者以(PR-V)簽署(PU-E)以得到作為所有者所標(biāo)記的(PU-E)S(PR-V)(步驟1407)。無論哪種情況,用(PU-V)解密(PU--E)或者驗證簽名以確定(PR-V)的占有和由此的擔(dān)保證書1330。
至此,DRM-E服務(wù)器320具有擔(dān)保證書1330、(PU-E)和(PR-E)、撤回的授權(quán)清單、和作為所有者標(biāo)記的(PR-V(PU-E))或者(PU-E)S(PR-V)。然后,為請求登記,該DRM-E服務(wù)器320向DRM-R服務(wù)器320發(fā)送該擔(dān)保證書1330、(PU-E)、撤回的授權(quán)清單、和作為所有者標(biāo)記的(PR-V(PU-E))或者(PU-E)S(PR-V)(步驟1409),并且DRM-R服務(wù)器320進(jìn)而登記該在請求的DRM-E服務(wù)器320。注意該請求或請求的一部分是按由(PR-E)簽署的證書的格式。
特別是,該DRM-R服務(wù)器320是基于由委托的第三方對擔(dān)保證書的簽名和引導(dǎo)到已知根的證書鏈來驗證擔(dān)保證書1330(步驟1411)。這樣,DRM-R服務(wù)器320確定該DRM-E服務(wù)器320是被擔(dān)保了的。而且,該DRM-R服務(wù)器320通過使用來自請求的(PU-V)驗證所有者的標(biāo)記,以或者解密(PU-E)或者驗證簽名,這樣來確定(PR-V)的占有和在請求中的擔(dān)保證書1330(步驟1410)。另外,明顯地,該DRM-R服務(wù)器320實現(xiàn)任何決定是否承諾該請求所必須的定制的邏輯(步驟1413)。這樣的定制邏輯可能是任何適當(dāng)?shù)臎]有脫離本發(fā)明的精神的范圍的邏輯,并且例如可能包括對DRM-E服務(wù)器320和/或它的操作員的背景的檢查、確定DRM-E服務(wù)器320是否具有當(dāng)前委托的組件18和/或操作系統(tǒng)以及類似項、確定DRM-E服務(wù)器320是否是在一個撤回清單上或其它的觀察清單上、以及等等。
假設(shè)定制邏輯允許該請求被授予,那么在本發(fā)明的一個實施例中,DRM-R服務(wù)器320為DRM-E服務(wù)器320產(chǎn)生一個登記證書1310(步驟1415)。特別地,可見圖13,DRM-R服務(wù)器320在登記證書1310中加入了—DRM-R服務(wù)器320的身份,諸如它的公共密鑰,即(PU-R);—DRM-E服務(wù)器320的身份,例如(PU-E);—從擔(dān)保證書1330來的識別標(biāo)記,包括發(fā)布它的被委托的第三方,從擔(dān)保證書1330來的序列號,和如在擔(dān)保證書1330中的識別的發(fā)行者;—任何有效的范圍信息,該信息指定了登記證書1310在其中是有效的范圍,例如日期的范圍;—撤回的授權(quán)清單;—基于相應(yīng)于(PU-R)的DRM-R服務(wù)器320的私人密鑰(PR-R)的簽名;—和任何其它適當(dāng)?shù)男畔?;這樣的其它適當(dāng)?shù)男畔⒖赡馨?,但不限于證書發(fā)布的時間;指示一個已登記的服務(wù)器被允許去實行哪些DRM活動,例如所有的活動、僅僅計賬活動、僅僅簽署權(quán)限標(biāo)簽、僅僅發(fā)布內(nèi)容許可證,以及其組合;和允許實行DRM活動的時間范圍。注意該允許的時間范圍不同于有效范圍,在其中當(dāng)前時間必須在有效范圍內(nèi)以授予包括在證書鏈中的登記證書1310的任何證書。相反,子證書的發(fā)布時間必須落在實行DRM活動的復(fù)證書的允許時間范圍之內(nèi)。
如應(yīng)理解,在生成登記證書1310中,DRM-R服務(wù)器320可以首先生成證書信息并然后允許定制邏輯以生成附加信息或修改已存在的信息,這樣的定制邏輯可能如確保DRM-R服務(wù)器320包括相應(yīng)的信息,或者可能實行預(yù)定義的DRM結(jié)構(gòu)政策。當(dāng)然登記證書1310的簽名是在任何這樣的定制邏輯被完成之后。如應(yīng)理解,DRM-R服務(wù)器320附加證書鏈1320到已產(chǎn)生成的登記證書1310中,該證書鏈1320引導(dǎo)返回到委托的根授權(quán),從而所生成的登記證書1310可能是基于這樣的證書鏈1320而被驗證。
特別注意,由擔(dān)保證書1330中來的識別標(biāo)記因放置于登記證書1310環(huán)境中,將一直隨同該登記證書1310一同運轉(zhuǎn)并充當(dāng)通往擔(dān)保證書1330橋梁。這樣,再一次,該識別標(biāo)記表明,DRM-R服務(wù)器320是依賴于擔(dān)保證書1330的委托的第三方發(fā)行者來擔(dān)保DRM-E服務(wù)器320,并且該DRM-R服務(wù)器320可能會減輕其對產(chǎn)生的不良行動的責(zé)任。
一旦DRM-R服務(wù)器320成功地生成了帶有附加的證書鏈1320的登記證書1310,該DRM-R服務(wù)器320然后返回它給請求的DRM-E服務(wù)器320(步驟1417),并且該當(dāng)前登記了的DRM-E服務(wù)器320將它存儲在一個適當(dāng)?shù)奈恢霉硎褂?步驟1419)。如上暗示的,在登記證書1310中的(PU-E)和相應(yīng)的(PR-E)是公開/私人密鑰對,DRM-E服務(wù)器320在簽署權(quán)限證書以產(chǎn)生SRL308時將使用它們作為(PU-DRM)和(PR-DRM),發(fā)布OLP證書810,和另外加入到DRM結(jié)構(gòu)之中。相應(yīng)地,這樣的登記證書1310和證書鏈1320以組合方式形成證書鏈,該證書鏈被附加到這樣的OLP證書810和類似證書中。
次級登記在本發(fā)明的一個實施例中,現(xiàn)在轉(zhuǎn)到圖15,一個認(rèn)識/信任的DRM-R服務(wù)器320以下述方式次級登記一個DRM-E服務(wù)器320。
預(yù)備性地,將理解希望由一個認(rèn)識/信任的DRM-R服務(wù)器320次級登記的DRM-E服務(wù)器320仍然應(yīng)該被要求對這樣的DRM-R服務(wù)器320驗證自身,因為這樣的認(rèn)識或信任可能沒有被完成。然而,這樣的驗證要求并不需要達(dá)到由委托的第三方提供的級別,因為作為DRM-R服務(wù)器320已具有某些該DRM-E服務(wù)器的認(rèn)識/信任。相應(yīng)地,在本發(fā)明的一個實施例中,該DRM-E服務(wù)器320獲取或被提供某種憑證1340(圖13),它可由DRM-R服務(wù)器識別和期望被授予,并且識別該DRM-E服務(wù)器320滿足DRM-R服務(wù)器320(步驟1501)。
如果DRM-R和DRM-E服務(wù)器320二者都是在同樣的組織中,這樣的憑證1340可能是基于組織的憑證,例如如果二個服務(wù)器在一個共同網(wǎng)絡(luò)中時的網(wǎng)絡(luò)ID,如二個服務(wù)器320共享一個共同的域名時的域名ID,或者類似情況。如果二者DRM-R和DRM-E服務(wù)器320不是在同一個組織中,這樣的憑證1340仍然可以是網(wǎng)絡(luò)ID,只要二個服務(wù)器是在一個共同的網(wǎng)絡(luò)中,可以是域名ID只要二個服務(wù)器320共享一個共同的域名,或類似情況,或者是其它的憑證例如由第三方發(fā)布并由DRM-R服務(wù)器R識別的憑證。
注意在目前情況下,DRM-R服務(wù)器320并不依賴于委托的第三方來為DRM-E服務(wù)器320擔(dān)保,并且因此該DRM-R服務(wù)器320對任何DRM-E服務(wù)器320的不良行為的責(zé)任是不減輕的。不過,該DRM-R服務(wù)器320愿意承受這樣的危險基于對DRM-E服務(wù)器320的認(rèn)識或信任,它事實上不會實行這樣的不良行為。
如前所述,在DRM結(jié)構(gòu)中,進(jìn)入DRM-E服務(wù)器必須有唯一的身份。在此要理解DRM身份通常是在憑證1340之外,雖然該DRM身份也可能符合憑證1340而沒有脫離本發(fā)明的精神和范圍。相應(yīng)地,為建立該身份,該DRM-E服務(wù)器320生成或獲取一個新的公開/私人密鑰對(PU-E,PR-E)(步驟1503)。再次如前所述,在DRM結(jié)構(gòu)之中,該次級登記DRM-E服務(wù)器320應(yīng)該決定哪個實體能夠撤回其對參與的授權(quán)。相應(yīng)地,該DRM-E服務(wù)器320識別在清單中的每個這種撤回實體,多半以公共密鑰作為手段進(jìn)行(步驟1505)。
至此,DRM-E服務(wù)器320具有憑證1340、(PU-E)和(PR-E)、和撤回授權(quán)清單。然后,為請求次級登記,該DRM-E服務(wù)器320發(fā)送憑證1340、(PU-E)、和撤回授權(quán)清單給DRM-R服務(wù)器320(步驟1507),并且該DRM-R服務(wù)器320進(jìn)而次級登記該在請求的DRM-E服務(wù)器320。注意如前所述該請求或請求的一部分可能是具有由(PR-E)簽署的證書的形式。
特別是,DRM-R服務(wù)器320驗證憑證1340,它基于無論什么邏輯或者資源是必須的并且可用于對這樣的驗證(步驟1509)。這樣,該DRM-R服務(wù)器320基于被驗證的憑證1340確定DRM-E服務(wù)器320是被信任的以授予或服從該DRM結(jié)構(gòu)。此外,如前所述,DRM服務(wù)器執(zhí)行任何的必須的定制邏輯以決定是否授予該請求(步驟1511)。
假設(shè)定制邏輯允許請求被授予,那么,在本發(fā)明的一個實施例中,該DRM-R服務(wù)器320為DRM-E服務(wù)器320產(chǎn)生一個次級登記證書1310(步驟1513)。特別是,如圖13中所見,該DRM-R服務(wù)器320在次級登記證書1310之中加入了—DRM-R服務(wù)器320的身份,例如其公共密鑰(PU-R);—DRM-E服務(wù)器320的身份,例如(PU-E);—該憑證1340或它的一個引用;—任何有效的范圍信息,指定了該次級登記證書1310在其中是有效的范圍,例如日期范圍;—撤回授權(quán)的清單;—基于相應(yīng)于(PU-R)的DRM-R服務(wù)器320的私人密鑰(PR-R)的簽名;—和任何其他適當(dāng)?shù)男畔ⅰ?br>
如前所述,在產(chǎn)生次級登記證書1310中,DRM-R服務(wù)器320首先產(chǎn)生證書信息并且然后允許定制邏輯產(chǎn)生附加的信息或修改存在的信息。再一次,在任何這樣的定制邏輯被完成之后次級登記證書1310的簽名被建立。如前說述,該DRM-R服務(wù)器320附加了證書鏈1320,它導(dǎo)致返回到被委托的根授權(quán)以產(chǎn)生次級登記證書1310,從而基于這樣的證書鏈1320所產(chǎn)生的子登記證書1310被驗證。
注意這里該憑證1340或者此處的參照并不認(rèn)為是特別必需的,但是為了完整可能仍然被包括。再注意次級登記證書1310不包含從擔(dān)保證書1330得到的識別標(biāo)記,因為當(dāng)前的次級登記情景中沒有擔(dān)保證書被要求。
一旦DRM-R服務(wù)器320成功地生成了具有附加的證書鏈1320的次級登記證書1310,該DRM-R服務(wù)器然后返回它給在請求的DRM-E服務(wù)器320(步驟1515),并且當(dāng)前次級登記的DRM-E服務(wù)器320把它存儲在適當(dāng)?shù)奈恢霉硎褂?步驟1517)。如前一樣,在次級登記證書1310中的(PU-E)和相應(yīng)的(PR-E)是公開/私人密鑰對,DRM-E服務(wù)器320將在簽署權(quán)限標(biāo)簽時使用它們作為(PU-DRM)和(PR-DRM),以產(chǎn)生SRL308、發(fā)布OLP證書810、和以其它方式參與到DRM結(jié)構(gòu)之中。相應(yīng)地,這樣的次級登記證書1310和證書鏈1320組合以形成證書鏈,它附加于該OLP證書810和類似情況。
結(jié)論為完成實現(xiàn)本發(fā)明所必須的程序設(shè)計相對地可直接實行并且顯然該相關(guān)的程序設(shè)計是普通的。因而,這種程序設(shè)計并不附加于此。然后任何特定的程序設(shè)計可能被用于實現(xiàn)本發(fā)明而沒有脫離其中的精神和范圍。
在本發(fā)明中,數(shù)字權(quán)限管理DRM和執(zhí)行的結(jié)構(gòu)與方式允許控制再現(xiàn)或播放任意形式的數(shù)字內(nèi)容,這里這種控制是靈活的并可由這種數(shù)字內(nèi)容的內(nèi)容擁有者/部署者定義。該結(jié)構(gòu)允許和方便這樣的受控制的再現(xiàn),特別是在辦公室或組織環(huán)境或類似情況中,那里文件在定義的一組個體內(nèi)部或幾類個體內(nèi)部被共享。該結(jié)構(gòu)允許要被發(fā)行的內(nèi)容沒有首先從服務(wù)器獲得認(rèn)可并且允許發(fā)行的個體自己發(fā)布使用許可證以再現(xiàn)被發(fā)行的內(nèi)容而不用為獲得批準(zhǔn)而聯(lián)系服務(wù)器。
應(yīng)該理解,可以對以上描述的實施例作出改變而沒有脫離發(fā)明的概念。例如,如果一個許可證或權(quán)限標(biāo)簽基于其中的權(quán)限數(shù)據(jù)被簽署,這里,這樣的權(quán)限數(shù)據(jù)并不必需要被加密。類似地,在請求和構(gòu)建登記或次級登記證書1310中,撤回的授權(quán)清單和其它類似的信息不是必需要被使用。從而,應(yīng)該理解,本發(fā)明并不限于所揭示的特定實施例,但在本發(fā)明的精神和范圍之內(nèi)可以包括各種修改,如同所附的權(quán)利要求書所定義。
權(quán)利要求
1.一種方法,用于供發(fā)行用戶發(fā)行數(shù)字內(nèi)容并且向自身發(fā)布對應(yīng)的數(shù)字發(fā)行者許可證以便允許自身再現(xiàn)該發(fā)行的數(shù)字內(nèi)容,該發(fā)行用戶被提供來自數(shù)字權(quán)限管理(DRM)服務(wù)器的發(fā)行證書,該發(fā)行證書具有公共密鑰(PU-OLP)和對應(yīng)的私人密鑰(PR-OLP),該私人密鑰(PR-OLP)由與該發(fā)行用戶(PU-ENTITY)關(guān)聯(lián)的公共密鑰來加密,以形成(PU-ENTITY(PR-OLP)),該方法的特征在于包括制定該內(nèi)容并根據(jù)內(nèi)容密鑰(CK)來為所制定的內(nèi)容加密;為具有(CK)的加密內(nèi)容創(chuàng)建權(quán)限標(biāo)簽,該(CK)由該DRM服務(wù)器(PU-DRM)的公共密鑰加密,以形成(PU-DRM(CK));從該發(fā)行證書中檢索到(PU-ENTITY(PR-OLP));將對應(yīng)于(PU-ENTITY)的私人密鑰(PR-ENTITY)應(yīng)用于(PU-ENTITY(PR-OLP)),以獲得(PR-OLP);用(PR-OLP)簽署所創(chuàng)建的權(quán)限標(biāo)簽,以創(chuàng)建簽署的權(quán)限標(biāo)簽(SRL);將所創(chuàng)建的SRL和該發(fā)行證書跟該加密內(nèi)容串接起來,以形成可分配給另一位用戶的內(nèi)容數(shù)據(jù)包,這另一位用戶必須聯(lián)系該DRM服務(wù)器,以獲得具有(CK)的對應(yīng)的許可證,從而再現(xiàn)其中的加密內(nèi)容,只有這類DRM服務(wù)器具有對應(yīng)于(PU-DRM)的私人密鑰(PR-DRM)并能夠?qū)?PR-DRM)應(yīng)用于(PU-DRM(CK))來獲得(CK);創(chuàng)建對應(yīng)于具有(CK)的內(nèi)容數(shù)據(jù)包的許可證數(shù)據(jù),該(CK)由(PU-ENTITY)加密,以形成(PU-ENTITY(CK));簽署具有(PR-OLP)的所創(chuàng)建的許可證數(shù)據(jù),以創(chuàng)建該發(fā)行者許可證;以及,將該發(fā)行證書附著于該發(fā)行者許可證,由此,只有具有對應(yīng)于(PR-ENTITY)的(PR-ENTITY)的發(fā)行用戶可以將這類(PR-ENTITY)應(yīng)用于來自該發(fā)行者許可證的(PU-ENTITY(CK)),以獲得(CK),從而為用它加密的內(nèi)容解密,用于再現(xiàn)。
2.權(quán)利要求1的方法,其特征在于其中,該發(fā)行證書還具有來自該DRM服務(wù)器的數(shù)字簽名,并附有回溯導(dǎo)致根授權(quán)的一證書鏈,該方法的特征在于包括根據(jù)其簽名和回溯導(dǎo)致該根授權(quán)的一證書鏈來驗證該發(fā)行證書,并且從所驗證的發(fā)行證書中檢索得到(PU-ENTITY(PR-OLP));將所創(chuàng)建的SRL和該發(fā)行證書以及附有的一證書鏈跟該加密內(nèi)容串接起來,以形成可分配給另一位用戶的內(nèi)容數(shù)據(jù)包;以及,將該發(fā)行證書和附有的證書鏈附著于該發(fā)行者許可證,由此,該內(nèi)容數(shù)據(jù)包、發(fā)行者許可證和發(fā)行證書以組合形式形成回溯到該根授權(quán)的一數(shù)字項目鏈。
3.權(quán)利要求1的方法,其特征在于包括為具有(PU-DRM(CK))和具有權(quán)限數(shù)據(jù)的加密內(nèi)容創(chuàng)建該權(quán)限標(biāo)簽,該權(quán)限數(shù)據(jù)規(guī)定了要允許再現(xiàn)該內(nèi)容而必須滿足的權(quán)限和條件。
4.權(quán)利要求3的方法,其特征在于包括為具有(PU-DRM(CK))和具有采用加密形式的該權(quán)限數(shù)據(jù)的加密內(nèi)容創(chuàng)建該權(quán)限標(biāo)簽。
5.權(quán)利要求1的方法,其特征在于包括創(chuàng)建對應(yīng)于具有(PU-ENTITY(CK))和具有權(quán)限數(shù)據(jù)的內(nèi)容數(shù)據(jù)包的該許可證數(shù)據(jù),所述權(quán)限數(shù)據(jù)規(guī)定了要允許再現(xiàn)該內(nèi)容而必須滿足的權(quán)限和條件。
6.權(quán)利要求5的方法,其特征在于包括創(chuàng)建對應(yīng)于具有(PU-ENTITY(CK))和具有采用加密形式的權(quán)限數(shù)據(jù)的內(nèi)容數(shù)據(jù)包的該許可證數(shù)據(jù)。
7.一種供發(fā)行用戶根據(jù)自我發(fā)布的對應(yīng)的數(shù)字發(fā)行者許可證來再現(xiàn)發(fā)行的數(shù)字內(nèi)容的方法,該內(nèi)容由內(nèi)容密鑰(CK)加密,以形成(CK(內(nèi)容)),該發(fā)行者許可證包括由與該發(fā)行用戶關(guān)聯(lián)的公共密鑰(PU-ENTITY)加密的(CK),以形成(PU-ENTITY(CK)),并具有與之附著的、來自數(shù)字權(quán)限管理(DRM)服務(wù)器的發(fā)行證書,該發(fā)行證書具有公共密鑰(PU-OLP)和對應(yīng)的私人密鑰(PR-OLP),該私人密鑰(PR-OLP)由(PU-ENTITY)加密,以形成(PU-ENTITY(PR-OLP)),該發(fā)行者許可證由(PR-OLP)簽署,該方法的特征在于包括根據(jù)這證書鏈來驗證該發(fā)行證書;從該發(fā)行證書獲得(PU-OLP);使用所獲得的(PU-OLP)來驗證該發(fā)行者許可證的簽名;從所驗證的發(fā)行者許可證中檢索得到(PU-ENTITY(CK));將對應(yīng)于(PU-ENTITY)的私人密鑰(PR-ENTITY)應(yīng)用于(PU-ENTITY(CK)),以獲得(CK);將(CK)應(yīng)用于(CK(內(nèi)容)),以產(chǎn)生該內(nèi)容;以及,將該內(nèi)容發(fā)送到再現(xiàn)應(yīng)用程序,用于實際的再現(xiàn)。
8.權(quán)利要求7的方法,其特征在于其中,該發(fā)行證書還具有數(shù)字簽名,并附有引回溯導(dǎo)致根授權(quán)的一證書鏈,該方法還包括根據(jù)其簽名和回溯導(dǎo)致該根授權(quán)的證書鏈來驗證該發(fā)行證書。
9.權(quán)利要求7的方法,其特征在于其中,該發(fā)行者許可證包括(PU-ENTITY(CK))和權(quán)限數(shù)據(jù),該權(quán)限數(shù)據(jù)規(guī)定了要允許再現(xiàn)該內(nèi)容而必須滿足的權(quán)限和條件,該方法還包括驗證該權(quán)限數(shù)據(jù)的規(guī)定權(quán)限和條件允許這種再現(xiàn)。
10.權(quán)利要求9的方法,其特征在于包括創(chuàng)建對應(yīng)于具有(PU-ENTITY(CK))和具有采用加密形式的權(quán)限數(shù)據(jù)的內(nèi)容數(shù)據(jù)包的該許可證數(shù)據(jù),該方法還包括為該權(quán)限數(shù)據(jù)解密。
11.一種其上具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀媒體,用于執(zhí)行一種方法,該方法供發(fā)行用戶發(fā)行數(shù)字內(nèi)容并向自身發(fā)布對應(yīng)的數(shù)字發(fā)行者許可證,以允許自身再現(xiàn)該發(fā)行的數(shù)字內(nèi)容,該發(fā)行用戶被提供來自數(shù)字權(quán)限管理(DRM)服務(wù)器的發(fā)行證書,該發(fā)行證書具有公共密鑰(PU-OLP)和對應(yīng)的私人密鑰(PR-OLP),該私人密鑰(PR-OLP)由與該發(fā)行用戶(PU-ENTITY)關(guān)聯(lián)的公共密鑰來加密,以形成(PU-ENTITY(PR-OLP)),該方法的特征在于包括制定內(nèi)容并根據(jù)內(nèi)容密鑰(CK)來為所制定的內(nèi)容加密;為具有(CK)的加密內(nèi)容創(chuàng)建權(quán)限標(biāo)簽,該(CK)由該DRM服務(wù)器(PU-DRM)的公共密鑰來加密,以形成(PU-DRM(CK));從該發(fā)行證書中檢索得到(PU-ENTITY(PR-OLP));將對應(yīng)于(PU-ENTITY)的私人密鑰(PR-ENTITY)應(yīng)用于(PU-ENTITY(PR-OLP)),以獲得(PR-OLP);簽署具有(PR-OLP)的所創(chuàng)建的權(quán)限標(biāo)簽,以創(chuàng)建簽署的權(quán)限標(biāo)簽(SRL);將所創(chuàng)建的SRL和該發(fā)行證書跟該加密內(nèi)容串接起來,以形成可分配給另一位用戶的內(nèi)容數(shù)據(jù)包,這另一位用戶必須聯(lián)系該DRM服務(wù)器,以獲得具有(CK)的對應(yīng)的許可證,從而再現(xiàn)其中的加密內(nèi)容,只有這類DRM服務(wù)器具有對應(yīng)于(PU-DRM)的私人密鑰(PR-DRM)并能夠?qū)?PR-DRM)應(yīng)用于(PU-DRM(CK))來獲得(CK);創(chuàng)建對應(yīng)于具有(CK)的內(nèi)容數(shù)據(jù)包的許可證數(shù)據(jù),該(CK)由(PU_ENTITY)加密,以形成(PU-ENTITY(CK));簽署具有(PR-OLP)的所創(chuàng)建的許可證數(shù)據(jù),以創(chuàng)建該發(fā)行者許可證;以及,將該發(fā)行證書附著于該發(fā)行者許可證,由此,只有具有對應(yīng)于(PR-ENTITY)的(PR-ENTITY)的該發(fā)行用戶才能將這類(PR-ENTITY)應(yīng)用于來自該發(fā)行者許可證的(PU-ENTITY(CK)),以獲得(CK),從而為用它加密的內(nèi)容解密,用于再現(xiàn)。
12.權(quán)利要求11的媒體,其特征在于其中,該發(fā)行證書還具有來自該DRM服務(wù)器的數(shù)據(jù)簽名,并附有回溯導(dǎo)致根授權(quán)的一證書鏈,該方法包括根據(jù)其簽名和該回溯導(dǎo)致該根授權(quán)的證書鏈來驗證該發(fā)行證書,并且從所驗證的發(fā)行證書中檢索得到(PU-ENTITY(PR-OLP));將所創(chuàng)建的SRL和該發(fā)行證書以及附有的證書鏈跟該加密內(nèi)容串接起來,以形成可分配給另一位用戶的內(nèi)容數(shù)據(jù)包;以及,將該發(fā)行證書和附有的證書鏈附著于該發(fā)行者許可證,由此,該內(nèi)容數(shù)據(jù)包、發(fā)行者許可證和發(fā)行證書以組合形式形成回溯到該根授權(quán)的一數(shù)字項目鏈。
13.權(quán)利要求11的媒體,其特征在于其中,該方法包括為具有(PU-DRM(CK))和具有權(quán)限數(shù)據(jù)的加密內(nèi)容創(chuàng)建該權(quán)限標(biāo)簽,該權(quán)限數(shù)據(jù)規(guī)定了要允許再現(xiàn)該內(nèi)容而必須滿足的權(quán)限和條件。
14.權(quán)利要求13的方法,其特征在于其中,該方法包括為具有(PU-DRM(CK))和具有采用加密形式的權(quán)限數(shù)據(jù)的加密內(nèi)容創(chuàng)建該權(quán)限標(biāo)簽。
15.權(quán)利要求11的媒體,其特征在于其中,該方法包括創(chuàng)建對應(yīng)于具有(PU-ENTITY(CK))和具有權(quán)限數(shù)據(jù)的內(nèi)容數(shù)據(jù)包的該許可證數(shù)據(jù),該權(quán)限數(shù)據(jù)規(guī)定了要允許再現(xiàn)該內(nèi)容而必須滿足的權(quán)限和條件。
16.權(quán)利要求15的媒體,其特征在于其中,該方法包括創(chuàng)建對應(yīng)于具有(PU-ENTITY(CK))和具有采用加密形式的權(quán)限數(shù)據(jù)的內(nèi)容數(shù)據(jù)包的該許可證數(shù)據(jù)。
17.一種其上具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀媒體,用于執(zhí)行一種方法,該方法供發(fā)行用戶根據(jù)自我發(fā)布的、對應(yīng)的數(shù)字發(fā)行者許可證來再現(xiàn)發(fā)行的數(shù)字內(nèi)容,該內(nèi)容由內(nèi)容密鑰(CK)加密,以形成(CK(內(nèi)容)),該發(fā)行者許可證包括(CK),該(CK)由與該發(fā)行用戶關(guān)聯(lián)的公共密鑰(PU-ENTITY)來加密,以形成(PU-ENTITY(CK)),并且,該發(fā)行者許可證具有與之附著的、來自數(shù)字權(quán)限管理(DRM)服務(wù)器的發(fā)行證書,該發(fā)行證書具有公共密鑰(PU-OLP)和對應(yīng)的私人密鑰(PR-OLP),該私人密鑰(PR-OLP)由(PU-ENTITY)加密,以形成(PU-ENTITY(PR-OLP)),該發(fā)行者許可證由(PR-OLP)簽署,該方法的特征在于包括根據(jù)該證書鏈來驗證該發(fā)行證書;從該發(fā)行證書獲得(PU-OLP);使用所獲得的(PU-OLP)來驗證該發(fā)行者許可證的簽名;從所驗證的發(fā)行者許可證中檢索得到(PU-ENTITY(CK));將對應(yīng)于(PU-ENTITY)的私人密鑰(PR-ENTITY)應(yīng)用于(PU-ENTITY(CK)),以獲得(CK);將(CK)應(yīng)用于(CK(內(nèi)容)),以產(chǎn)生該內(nèi)容;以及,將該內(nèi)容發(fā)送到再現(xiàn)應(yīng)用程序,用于實際的再現(xiàn)。
18.權(quán)利要求17的媒體,其特征在于其中,該發(fā)行證書還具有數(shù)字簽名并附有回溯導(dǎo)致根授權(quán)的一證書鏈,該方法還包括根據(jù)其簽名和回溯導(dǎo)致該根授權(quán)的該證書鏈來驗證該發(fā)行證書。
19.權(quán)利要求17的媒體,其特征在于其中,該發(fā)行者許可證包括(PU-ENTITY(CK))和權(quán)限數(shù)據(jù),該權(quán)限數(shù)據(jù)規(guī)定了要允許再現(xiàn)該內(nèi)容而必須滿足的權(quán)限和條件,該方法還包括驗證該權(quán)限數(shù)據(jù)的規(guī)定權(quán)限和條件允許這種再現(xiàn)。
20.權(quán)利要求19的媒體,其特征在于其中,該方法包括創(chuàng)建與具有(PU-ENTITY(CK))和具有采用加密形式的權(quán)限數(shù)據(jù)的內(nèi)容數(shù)據(jù)包對應(yīng)的該許可證數(shù)據(jù);該方法還包括為該權(quán)限數(shù)據(jù)解密。
全文摘要
發(fā)行用戶發(fā)行數(shù)字內(nèi)容,并向自身發(fā)布對應(yīng)的數(shù)字發(fā)行者許可證,以允許自身再現(xiàn)該發(fā)行的數(shù)字內(nèi)容。該發(fā)行用戶被提供來自數(shù)字權(quán)限管理(DRM)服務(wù)器的發(fā)行證書,其中,該發(fā)行證書允許該發(fā)行用戶如此發(fā)行該數(shù)字內(nèi)容并如此發(fā)布該發(fā)行者許可證。
文檔編號H04L9/32GK1525682SQ200410007610
公開日2004年9月1日 申請日期2004年2月25日 優(yōu)先權(quán)日2003年2月25日
發(fā)明者S·布爾尼, S 布爾尼, B·B·笛拉維, 笛拉維, P·加科米特, 潑滋, R·U·馬拉維亞拉齊切, 馬拉維亞拉齊切, K·B·帕拉姆比爾, 帕拉姆比爾, Y·(奧真)羅森菲爾德, 真)羅森菲爾德, C·文卡特什, ㄌ厥, C·F·羅斯三世, 羅斯三世 申請人:微軟公司