專利名稱:具有數(shù)字權(quán)利管理系統(tǒng)的計(jì)算設(shè)備中的安全視頻卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及強(qiáng)化數(shù)字內(nèi)容的權(quán)利的結(jié)構(gòu)。更具體地說(shuō),本發(fā)明涉及允許根據(jù)數(shù)字內(nèi)容的用戶獲得的許可權(quán)規(guī)定的參數(shù),訪問(wèn)加密數(shù)字內(nèi)容的強(qiáng)化結(jié)構(gòu)。甚至更具體地說(shuō),本發(fā)明涉及保證人們可以信賴計(jì)算設(shè)備中諸如視頻卡之類,接收未加密數(shù)字內(nèi)容的器件。
背景技術(shù):
與諸如數(shù)字音頻、數(shù)字視頻、數(shù)字文本、數(shù)字?jǐn)?shù)據(jù)、數(shù)字多媒體之類的數(shù)字內(nèi)容聯(lián)系在一起的數(shù)字權(quán)利管理和強(qiáng)化是人們迫切需要的,其中要把這樣的數(shù)字內(nèi)容分配給用戶。典型的分配模式包括像(軟)磁盤(pán)、磁帶、(壓縮)光盤(pán)(CD)等那樣的有形器件、和像電子布告牌、電子網(wǎng)絡(luò)、因特網(wǎng)等那樣的無(wú)形媒體。一旦被用戶接收到,這樣的用戶就可以借助于諸如個(gè)人計(jì)算機(jī)等上的媒體播放器之類的適當(dāng)再現(xiàn)設(shè)備再現(xiàn)或‘播放’數(shù)字內(nèi)容。
通常,內(nèi)容擁有者或權(quán)利擁有者,譬如,作者、出版者、廣播電臺(tái)等(下文稱為“內(nèi)容擁有者”)希望把這樣的數(shù)字內(nèi)容分配給以許可使用費(fèi)或其它一些報(bào)酬為代價(jià)的用戶或接受者。如果可以選擇的話,這樣的內(nèi)容擁有者更希望對(duì)用戶如何處置這樣的分配數(shù)字內(nèi)容施加限制。例如,內(nèi)容擁有者至少希望限制用戶把這樣的內(nèi)容復(fù)制和再分配給第二個(gè)用戶,以至讓內(nèi)容擁有者無(wú)法從第二個(gè)用戶那里獲得許可使用費(fèi)。
另外,內(nèi)容擁有者可能還希望讓用戶靈活地用不同的許可使用費(fèi)購(gòu)買不同種類的使用許可權(quán),而同時(shí)讓用戶遵守他實(shí)際購(gòu)買某種許可權(quán)時(shí)應(yīng)該遵守的條款。例如,內(nèi)容擁有者可能希望讓分配數(shù)字內(nèi)容只播放有限次數(shù),只在某段總時(shí)間內(nèi)播放,只在某種類型的機(jī)器上播放,只在某種類型的媒體播放器上播放,只由某種類型的用戶播放等。
但是,一經(jīng)分配,這樣的內(nèi)容擁有者對(duì)數(shù)字內(nèi)容的控制往往就力不從心了。鑒于如下事實(shí),即,每臺(tái)新的或最近的個(gè)人計(jì)算機(jī)幾乎都包含了生成這樣數(shù)字內(nèi)容的精確數(shù)字拷貝,和把這樣的精確數(shù)字拷貝下載到可寫(xiě)磁盤(pán)或光盤(pán),或者在諸如因特網(wǎng)之類的網(wǎng)絡(luò)上把這樣的精確數(shù)字拷貝發(fā)送到任何目的地的軟件和硬件,這個(gè)問(wèn)題尤為嚴(yán)重。
當(dāng)然,作為獲得許可使用費(fèi)的合法交易的組成部分,內(nèi)容擁有者可以要求數(shù)字內(nèi)容的用戶承諾不要再分配這樣的數(shù)字內(nèi)容。但是,這樣的承諾既容易答應(yīng),也容易被踐踏。內(nèi)容擁有者可能試圖通過(guò)通常涉及到加密和解密的幾種已知保密設(shè)備的某一種來(lái)防止這樣的再分配。但是,防止受適當(dāng)限制的用戶解密加密數(shù)字內(nèi)容,以未加密形式保存這樣的數(shù)字內(nèi)容,然后再分配這樣的數(shù)字內(nèi)容幾乎是辦不到的。
因此,存在著提供一種讓任何形式的數(shù)字內(nèi)容受控再現(xiàn)(render)或播放的強(qiáng)化結(jié)構(gòu)和方法的需要,其中,這樣的控制是靈活的,并且可以由這樣數(shù)字內(nèi)容的內(nèi)容擁有者規(guī)定的。此外,還存在著提供有關(guān)個(gè)人計(jì)算機(jī)之類的計(jì)算設(shè)備的受控再現(xiàn)環(huán)境的需要,其中,再現(xiàn)環(huán)境至少包括這樣強(qiáng)化結(jié)構(gòu)的一部分。盡管數(shù)字內(nèi)容要在不在內(nèi)容擁有者控制之下的計(jì)算設(shè)備上再現(xiàn),這樣的受控再現(xiàn)環(huán)境也能讓數(shù)字內(nèi)容只按照內(nèi)容擁有者規(guī)定的方式再現(xiàn)。
并且,還存在著對(duì)在計(jì)算設(shè)備上運(yùn)行的可信部件的需要,其中,這樣的可信部件強(qiáng)化內(nèi)容擁有者對(duì)這種與數(shù)字內(nèi)容片段相聯(lián)系的計(jì)算設(shè)備的權(quán)利,甚至阻止這樣計(jì)算設(shè)備的用戶以內(nèi)容擁有者不允許的方式訪問(wèn)這樣的數(shù)字內(nèi)容的嘗試。另外,還存在著對(duì)在計(jì)算設(shè)備上的安全視頻卡的需求,以防止內(nèi)容盜竊者偷竊駐留在視頻卡上/以視頻卡為目的地的內(nèi)容。
發(fā)明內(nèi)容
通過(guò)數(shù)字權(quán)利管理的強(qiáng)化結(jié)構(gòu)和方法,至少部分滿足了上述需要,其中,該結(jié)構(gòu)和方法強(qiáng)化了可在因特網(wǎng)、光盤(pán)等之類的媒體上獲得的受保護(hù)(保密)數(shù)字內(nèi)容的權(quán)利。為了使內(nèi)容可供人們使用,該結(jié)構(gòu)包括可在因特網(wǎng)等上以加密形式從中訪問(wèn)數(shù)字內(nèi)容的內(nèi)容服務(wù)器。內(nèi)容服務(wù)器也可以供應(yīng)加密數(shù)字內(nèi)容,以便把它記錄在光盤(pán)等上,其中,在光盤(pán)本身上就可以分配這樣的加密數(shù)字內(nèi)容。在內(nèi)容服務(wù)器上,利用加密密鑰加密數(shù)字內(nèi)容,和公開(kāi)/秘密密鑰用于把數(shù)字內(nèi)容與用戶計(jì)算設(shè)備或客戶機(jī)上的數(shù)字許可證聯(lián)系在一起。
當(dāng)用戶試圖在計(jì)算設(shè)備上再現(xiàn)數(shù)字內(nèi)容時(shí),再現(xiàn)應(yīng)用程序調(diào)用在這樣的用戶計(jì)算設(shè)備上的數(shù)字權(quán)利管理(DRM)系統(tǒng)。如果用戶第一次嘗試再現(xiàn)數(shù)字內(nèi)容,那么,DRM系統(tǒng)把用戶引向許可證服務(wù)器,以便以檢索的方式獲得再現(xiàn)這樣的數(shù)字內(nèi)容的許可證,或者,在用戶方無(wú)需任何必要的動(dòng)作,就可以從這樣的許可證服務(wù)器透明地獲得這樣的許可證。該許可證包括解密加密數(shù)字內(nèi)容的解密密鑰(KD);許可證授予的權(quán)利(播放、復(fù)制等)的描述和相關(guān)條件(開(kāi)始日期、截止日期、播放次數(shù)等),其中,這樣的描述是以數(shù)字可讀形式的;和保證許可證誠(chéng)實(shí)性的數(shù)字簽名。
在沒(méi)有從許可證服務(wù)器獲得許可證的情況下,用戶應(yīng)該不能夠解密和再現(xiàn)加密數(shù)字內(nèi)容。獲得的許可證存儲(chǔ)在用戶計(jì)算設(shè)備中的許可證存儲(chǔ)器中。
重要的是,許可證服務(wù)器只把許可證發(fā)給‘可信’的DRM系統(tǒng)(即,本身可以驗(yàn)證的)。為了成為‘可信’的,DRM系統(tǒng)配備了為這樣的DRM系統(tǒng)執(zhí)行解密和加密功能的‘黑箱’。黑箱包括公開(kāi)/秘密密鑰對(duì)、版本號(hào)和唯一簽名,所有這些均由經(jīng)核準(zhǔn)的證明機(jī)構(gòu)提供。為了加密所發(fā)許可證的各個(gè)部分,使公開(kāi)密鑰可供許可證服務(wù)器使用,從而把這樣的許可證與這樣的黑箱聯(lián)系在一起。為了解密用相應(yīng)公開(kāi)密鑰加密的信息,秘密密鑰只供黑箱使用,而不能供用戶或任何其它人使用。DRM系統(tǒng)最初配備了帶有公開(kāi)/秘密密鑰對(duì)的黑箱,并且,當(dāng)用戶首次請(qǐng)求許可證時(shí),提示用戶從黑箱服務(wù)器下載更新保密黑箱。黑箱服務(wù)器提供更新黑箱,以及唯一的公開(kāi)/秘密密鑰對(duì)。這樣的更新黑箱是以只在用戶計(jì)算設(shè)備上運(yùn)行的獨(dú)特可執(zhí)行代碼寫(xiě)成的,并且定期得到更新。
當(dāng)用戶請(qǐng)求許可證時(shí),客戶機(jī)把黑箱公開(kāi)密鑰、版本號(hào)、和簽名發(fā)送到許可證服務(wù)器,和只有當(dāng)版本號(hào)是最近的和簽名是有效的時(shí),這樣的許可證服務(wù)器才發(fā)出許可證。許可證請(qǐng)求還包括為它請(qǐng)求許可證的數(shù)字內(nèi)容的標(biāo)識(shí)和標(biāo)識(shí)與所請(qǐng)求數(shù)字內(nèi)容相聯(lián)系的解密密鑰的密鑰ID。許可證服務(wù)器利用黑箱公開(kāi)密鑰來(lái)加密解密密鑰,和利用解密密鑰來(lái)加密許可證各項(xiàng),然后,將加密解密密鑰和加密許可證項(xiàng)與許可證簽名一起下載到用戶計(jì)算設(shè)備。
一旦下載的許可證已經(jīng)存儲(chǔ)在DRM系統(tǒng)許可證存儲(chǔ)器中,用戶就可以根據(jù)許可證授予的和在許可證項(xiàng)中規(guī)定的權(quán)利再現(xiàn)數(shù)字內(nèi)容。當(dāng)作出再現(xiàn)數(shù)字內(nèi)容的請(qǐng)求時(shí),讓黑箱解密解密密鑰和許可證項(xiàng),并且,DRM系統(tǒng)許可證評(píng)估器評(píng)估這樣的許可證項(xiàng)。只有當(dāng)許可證評(píng)估得出允許請(qǐng)求者播放這樣的內(nèi)容的結(jié)論時(shí),黑箱才解密加密的數(shù)字內(nèi)容。把解密內(nèi)容提供給再現(xiàn)應(yīng)用程序進(jìn)行再現(xiàn)。
在本發(fā)明中,計(jì)算設(shè)備包括允許權(quán)利受保護(hù)的數(shù)字內(nèi)容只根據(jù)在相應(yīng)數(shù)字許可證中規(guī)定的權(quán)利在計(jì)算設(shè)備上再現(xiàn)的數(shù)字權(quán)利管理系統(tǒng)。內(nèi)容包括要在與計(jì)算設(shè)備連接的監(jiān)視器上顯示的視頻內(nèi)容。計(jì)算設(shè)備還包括接收內(nèi)容和根據(jù)接收內(nèi)容生成要發(fā)送到監(jiān)視器的視頻信號(hào)的視頻部分。視頻部分包括存儲(chǔ)接收內(nèi)容的視頻存儲(chǔ)器,和視頻存儲(chǔ)器被配置成除了涉及到視頻部分之外,對(duì)于其它部分是只寫(xiě)的。視頻部分還包括驗(yàn)證設(shè)備,用于向DRM系統(tǒng)證明視頻存儲(chǔ)器是否被配置成除了涉及到視頻部分之外,對(duì)于其它部分是只寫(xiě)的。
這樣就建立起了保密計(jì)算環(huán)境,這種保密計(jì)算環(huán)境可以以計(jì)算設(shè)備上的其它軟件部分都不能讀取如此寫(xiě)入的數(shù)據(jù)這樣一種方式把視頻數(shù)據(jù)再現(xiàn)到輸出設(shè)備上。視頻部分通過(guò)提供就可以訪問(wèn)這樣的視頻部分的應(yīng)用程序或操作系統(tǒng)來(lái)說(shuō)只寫(xiě)的視頻緩沖區(qū),支持保密輸出,或者,視頻部分可以與本機(jī)處理器或遠(yuǎn)程實(shí)體建立加密連接,以便有效地隱藏發(fā)送的和再現(xiàn)的數(shù)據(jù)。
必須使數(shù)據(jù)的生產(chǎn)者確信,發(fā)送到視頻部分的數(shù)據(jù)是真正發(fā)送到視頻部分的,而不是發(fā)送到偽裝成視頻部分的惡意軟件那里的。這樣的確信可以通過(guò)密碼驗(yàn)證來(lái)實(shí)現(xiàn)。
當(dāng)與附圖結(jié)合在一起閱讀時(shí),可以更好地理解上面的概述,以及如下本發(fā)明實(shí)施例的詳述。為了舉例說(shuō)明本發(fā)明,在附圖中顯示了當(dāng)前優(yōu)選的實(shí)施例。但是,應(yīng)該明白,本發(fā)明不限于所示的確切配置和手段。在附圖中圖1是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例的強(qiáng)化結(jié)構(gòu)的方塊圖;圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的、圖1所示的結(jié)構(gòu)的創(chuàng)作工具的方塊圖;
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的、與圖1所示的結(jié)構(gòu)結(jié)合在一起使用的、含有數(shù)字內(nèi)容的數(shù)字內(nèi)容軟件包的方塊圖;圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的、圖1所示用戶計(jì)算設(shè)備的方塊圖;圖5A和5B是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例,與圖4所示的計(jì)算設(shè)備的數(shù)字權(quán)利管理(DRM)系統(tǒng)結(jié)合在一起再現(xiàn)內(nèi)容所執(zhí)行的步驟的流程圖;圖6是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例,與圖4所示的DRM系統(tǒng)結(jié)合在一起確定任何有效的、允許的許可證是否存在所執(zhí)行的步驟的流程圖;圖7是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例,與圖4所示的DRM系統(tǒng)結(jié)合在一起獲取許可證所執(zhí)行的步驟的流程圖;圖8是根據(jù)本發(fā)明一個(gè)實(shí)施例的、與圖1所示的結(jié)構(gòu)結(jié)合在一起使用的數(shù)字許可證的方塊圖;圖9是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例,與圖4所示的DRM系統(tǒng)結(jié)合在一起獲取新黑箱所執(zhí)行的步驟的流程圖;圖10是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例,與圖4所示的DRM系統(tǒng)結(jié)合在一起驗(yàn)證許可證和一段數(shù)字內(nèi)容和再現(xiàn)內(nèi)容所執(zhí)行的密鑰事務(wù)處理步驟的流程圖;圖11是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例的、與許可證的數(shù)字權(quán)利許可(DRL)和用于翻譯DRL的語(yǔ)言引擎一起的、圖4所示的許可證評(píng)估器的方塊圖;圖12是代表可以把本發(fā)明的某些方面和/或它的某些部分包含在其中的通用計(jì)算機(jī)系統(tǒng);和圖13是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例的、在圖1所示的計(jì)算設(shè)備上的視頻卡和圖4所示的DRM系統(tǒng)和再現(xiàn)應(yīng)用程序的方塊圖。
具體實(shí)施例方式
參照附圖細(xì)節(jié),其中自始至終相同的標(biāo)號(hào)用于表示相同的單元,圖1所示的是根據(jù)本發(fā)明一個(gè)實(shí)施例的強(qiáng)化結(jié)構(gòu)10??偟恼f(shuō)來(lái),強(qiáng)化結(jié)構(gòu)10使數(shù)字內(nèi)容12的擁有者能夠規(guī)定在讓這樣的數(shù)字內(nèi)容12在用戶計(jì)算設(shè)備14上再現(xiàn)之前必須滿足的許可規(guī)則。這樣的許可規(guī)則具體體現(xiàn)在用戶/用戶計(jì)算設(shè)備14(在下文中,除了環(huán)境要求另當(dāng)別論之外,這樣的術(shù)語(yǔ)可相互替用)必須從內(nèi)容擁有者或他們的代理商那里獲得的數(shù)字許可證16中。數(shù)字內(nèi)容12以加密形式分配,也可以自由廣泛地分配。最好,解密數(shù)字內(nèi)容12的解密密鑰(KD)包含在許可證16中。
計(jì)算環(huán)境圖12和如下的討論意在提供本發(fā)明和/或本發(fā)明的某些部分可以得以實(shí)現(xiàn)的適當(dāng)計(jì)算環(huán)境的概括性描述。盡管并非要求這樣做,但是,下面將在由客戶工作站或服務(wù)器那樣的計(jì)算機(jī)執(zhí)行的、像程序模塊那樣的計(jì)算機(jī)可執(zhí)行指令的一般背景下,對(duì)本發(fā)明加以描述。一般來(lái)說(shuō),程序模塊包括執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、目標(biāo)代碼、組成部件、數(shù)據(jù)結(jié)構(gòu)等。此外,應(yīng)該認(rèn)識(shí)到,本發(fā)明和/或本發(fā)明的某些部分也可以用其它計(jì)算機(jī)系統(tǒng)配置來(lái)實(shí)施,這些計(jì)算機(jī)系統(tǒng)配置包括手提式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的家用電器、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)等。本發(fā)明也可以在各種任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備完成的分布式計(jì)算環(huán)境下實(shí)施。在分布式計(jì)算環(huán)境下,程序模塊可以位于本地和遠(yuǎn)程兩者的存儲(chǔ)器存儲(chǔ)器件中。
如圖12所示,示范性的通用計(jì)算系統(tǒng)包括傳統(tǒng)個(gè)人計(jì)算機(jī)120等,個(gè)人計(jì)算機(jī)120包括處理單元121、系統(tǒng)存儲(chǔ)器122、和將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件與處理單元121相耦合的系統(tǒng)總線123。系統(tǒng)總線123可以是幾種總線結(jié)構(gòu)的任何一種,這些總線結(jié)構(gòu)包括利用各種各樣總線結(jié)構(gòu)格式的任何一種的存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、和局域總線。系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)124和隨機(jī)存取存儲(chǔ)器(RAM)125?;据斎?輸出系統(tǒng)(BIOS)126存儲(chǔ)在ROM124中,它包含有助于,譬如在啟動(dòng)期間,在個(gè)人計(jì)算機(jī)120內(nèi)部的各個(gè)單元之間傳遞信息的基本例程。
個(gè)人計(jì)算機(jī)120還可以包括從硬盤(pán)(未示出)讀取和寫(xiě)入硬盤(pán)的硬盤(pán)驅(qū)動(dòng)器127、從可移式磁盤(pán)129讀取和寫(xiě)入可移式磁盤(pán)129的磁盤(pán)驅(qū)動(dòng)器128、和從可移式光盤(pán)131讀取和寫(xiě)入可移式光盤(pán)131的光盤(pán)驅(qū)動(dòng)器130,例如,CD-ROM或其它光介質(zhì)。硬盤(pán)驅(qū)動(dòng)器127、磁盤(pán)驅(qū)動(dòng)器128、和光盤(pán)驅(qū)動(dòng)器130分別通過(guò)硬盤(pán)驅(qū)動(dòng)器接口132、磁盤(pán)驅(qū)動(dòng)器接口133、和光盤(pán)驅(qū)動(dòng)器接口134與系統(tǒng)總線123相連接。驅(qū)動(dòng)器和與它們相關(guān)的計(jì)算機(jī)可讀介質(zhì)為個(gè)人計(jì)算機(jī)20提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲(chǔ)。
盡管這里所述的示范性環(huán)境應(yīng)用了硬盤(pán)、可移式磁盤(pán)129和可移式光盤(pán)131,但是,應(yīng)該認(rèn)識(shí)到,可以存儲(chǔ)可由計(jì)算機(jī)訪問(wèn)的數(shù)據(jù)的其它類型計(jì)算機(jī)可讀介質(zhì)也可以用在示范性的操作環(huán)境中。這樣的其它類型介質(zhì)包括盒式磁帶、閃速存儲(chǔ)卡、數(shù)字視頻盤(pán)、伯努利(Bernoulli)盒式磁盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等。
大量的程序模塊可以存儲(chǔ)在硬盤(pán)、磁盤(pán)129、光盤(pán)131、ROM124或RAM125中,包括操作系統(tǒng)135、一個(gè)或多個(gè)應(yīng)用程序136、其它程序模塊137和程序數(shù)據(jù)138。用戶可以通過(guò)諸如鍵盤(pán)140和點(diǎn)擊設(shè)備142之類的輸入設(shè)備把命令和信息輸入個(gè)人計(jì)算機(jī)120中。其它輸入設(shè)備(未示出)還包括麥克風(fēng)、操縱桿、游戲墊、圓盤(pán)式衛(wèi)星天線、掃描儀等。這些和其它輸入設(shè)備往往通過(guò)與系統(tǒng)總線耦合的串行端口接口146與處理器121相連接,但是,也可以通過(guò)其它接口,譬如,并行端口、游戲端口、或通用串行總線(USB)相連接。監(jiān)視器147或其它類型的顯示設(shè)備也通過(guò)視頻適配器148之類的接口與系統(tǒng)總線123相連接。除了監(jiān)視器147之外,個(gè)人計(jì)算機(jī)通常還包括諸如揚(yáng)聲器和打印機(jī)之類的其它外圍輸出設(shè)備(未示出)。圖12所示的示范性系統(tǒng)還包括主適配器155、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)總線156、和與SCSI總線156相連接的外部存儲(chǔ)器件162。
個(gè)人計(jì)算機(jī)120可以在利用與一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),譬如遠(yuǎn)程計(jì)算機(jī)149,的邏輯連接的分布式環(huán)境下運(yùn)行。遠(yuǎn)程計(jì)算機(jī)149可以是另一個(gè)個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備、或其它公共網(wǎng)絡(luò)節(jié)目,并且,盡管在圖12中只顯示了一個(gè)存儲(chǔ)器存儲(chǔ)器件150,但是,它通常包括與個(gè)人計(jì)算機(jī)120相關(guān)的如上所述的單元的許多個(gè)或全部。圖12所描繪的邏輯連接包括局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。在整個(gè)辦公室、企業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)部網(wǎng)絡(luò)和因特網(wǎng)中,這樣的聯(lián)網(wǎng)環(huán)境是司空見(jiàn)慣的。
當(dāng)用在LAN聯(lián)網(wǎng)環(huán)境中時(shí),個(gè)人計(jì)算機(jī)120通過(guò)網(wǎng)絡(luò)接口或適配器153與LAN151相連接。當(dāng)用在WAN聯(lián)網(wǎng)環(huán)境中時(shí),個(gè)人計(jì)算機(jī)120通常包括用于在因特網(wǎng)之類的廣域網(wǎng)152上建立通信的調(diào)制解調(diào)器154或其它裝置??梢詢?nèi)置也可以外置的調(diào)制解調(diào)器154通過(guò)串行端口接口146與系統(tǒng)總線123相連接。在聯(lián)網(wǎng)的環(huán)境中,基于個(gè)人計(jì)算機(jī)120或它的某些部分描寫(xiě)的程序模型可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)器件中。應(yīng)該認(rèn)識(shí)到,所示的網(wǎng)絡(luò)連接是示范性的,也可以利用其它手段在計(jì)算機(jī)之間建立通信鏈路。
結(jié)構(gòu)再參照?qǐng)D1,在本發(fā)明的一個(gè)實(shí)施例中,結(jié)構(gòu)10包括創(chuàng)作工具18、內(nèi)容密鑰數(shù)據(jù)庫(kù)20、內(nèi)容服務(wù)器22、許可證服務(wù)器24、和黑箱服務(wù)器26,以及上述的用戶計(jì)算設(shè)備14。
結(jié)構(gòu)-創(chuàng)作工具18創(chuàng)作工具18由內(nèi)容擁有者用來(lái)把一段數(shù)字內(nèi)容12打包成適合于與本發(fā)明的結(jié)構(gòu)10聯(lián)系在一起使用的形式。具體地說(shuō),內(nèi)容擁有者把數(shù)字內(nèi)容12、伴隨著數(shù)字內(nèi)容12的指令和/或規(guī)則、和有關(guān)如何打包數(shù)字內(nèi)容12的指令和/或規(guī)則提供給創(chuàng)作工具18。然后,創(chuàng)作工具18生成含有根據(jù)加密/解密密鑰加密的數(shù)字內(nèi)容12、和伴隨著數(shù)字內(nèi)容12的指令和/或規(guī)則的數(shù)字內(nèi)容數(shù)據(jù)包12p。
在本發(fā)明的一個(gè)實(shí)施例中,向創(chuàng)作工具18發(fā)出指令,讓它以串行的方式生成幾種不同的數(shù)字內(nèi)容12數(shù)據(jù)包12p,每一個(gè)含有根據(jù)不同加密/解密密鑰加密的相同數(shù)字內(nèi)容12。應(yīng)該明白,擁有相同數(shù)字內(nèi)容12的幾種不同數(shù)據(jù)包12p也許對(duì)跟蹤這樣數(shù)據(jù)包12p/內(nèi)容12(在下文中,除了環(huán)境要求另當(dāng)別論之外,簡(jiǎn)單地稱為“數(shù)字內(nèi)容12”)的分配有用。這樣的分配跟蹤通常沒(méi)有必要,但是,在數(shù)字內(nèi)容12已經(jīng)被非法銷售或廣播的情況下,可以供調(diào)查機(jī)構(gòu)使用。
在本發(fā)明的一個(gè)實(shí)施例中,加密數(shù)字內(nèi)容12的加密/解密密鑰是對(duì)稱密鑰,這是因?yàn)榧用苊荑€也是解密密鑰(KD)。對(duì)于這樣的數(shù)字內(nèi)容12,這樣的解密解密(KD)作為許可證16的組成部分,以隱藏的形式傳送到用戶計(jì)算設(shè)備14,以后再對(duì)此作更詳細(xì)討論。最好,每段數(shù)字內(nèi)容12都配備一個(gè)內(nèi)容ID(或每個(gè)數(shù)據(jù)包12p都配備一個(gè)數(shù)據(jù)包ID),每個(gè)解密密鑰(KD)含有一個(gè)密鑰ID,和創(chuàng)作工具18讓每段數(shù)字內(nèi)容12(每個(gè)數(shù)據(jù)包12p)的解密密鑰(KD)、密鑰ID和內(nèi)容ID(或數(shù)據(jù)包ID)存儲(chǔ)在內(nèi)容密鑰數(shù)據(jù)庫(kù)20中。另外,與要為數(shù)字內(nèi)容12發(fā)放的許可證16的類型有關(guān)的許可證數(shù)據(jù)和有關(guān)每種類型許可證16的條款和條件可以存儲(chǔ)在內(nèi)容密鑰數(shù)據(jù)庫(kù)20中,也可以存儲(chǔ)在其它數(shù)據(jù)庫(kù)(未示出)中。最好,許可證數(shù)據(jù)可由內(nèi)容擁有者在以后按照環(huán)境和市場(chǎng)條件所要求的那樣加以修改。
在使用過(guò)程中,除了其它信息之外,把包括下列各項(xiàng)的信息供應(yīng)給創(chuàng)作工具18要打包的數(shù)字內(nèi)容12;如果有的話,要使用的水印和/或指紋的類型和參數(shù);
如果有的話,要使用的數(shù)據(jù)壓縮的類型和參數(shù);要使用的加密的類型和參數(shù);如果有的話,要使用的串行化的類型和參數(shù);和伴隨著數(shù)字內(nèi)容12的指令和/或規(guī)則。
眾所周知,水印是加入數(shù)字內(nèi)容12中作為標(biāo)識(shí)符的隱藏、計(jì)算機(jī)可讀信號(hào)。指紋是對(duì)于每個(gè)樣本都是不同的水印。應(yīng)該明白,一個(gè)樣本是數(shù)字內(nèi)容12的唯一版本。任何樣本都可以拷貝許多次,任何一個(gè)拷貝都是一個(gè)具體的樣本。當(dāng)數(shù)字內(nèi)容12的特定樣本被非法銷售或廣播時(shí),調(diào)查機(jī)構(gòu)根據(jù)加入這樣數(shù)字內(nèi)容12中的水印/指紋也許能夠識(shí)別出嫌疑犯。
數(shù)據(jù)壓縮可以根據(jù)不偏離本發(fā)明精神和范圍的任何適當(dāng)壓縮算法進(jìn)行。例如,可以應(yīng)用.mp3或.wav壓縮算法。當(dāng)然,數(shù)字內(nèi)容12可以已經(jīng)處在壓縮狀態(tài)下,在這種情況下,就無(wú)需再加以壓縮了。
實(shí)際上,伴隨數(shù)字內(nèi)容12的指令和/或規(guī)則可以包括不偏離本發(fā)明精神和范圍的任何適當(dāng)?shù)闹噶?、?guī)則、或其它信息。這樣的伴隨指令/規(guī)則/信息主要由用戶和用戶計(jì)算設(shè)備14用來(lái)獲取再現(xiàn)數(shù)字內(nèi)容12的許可證16,以后再對(duì)此加以討論。于是,這樣的伴隨指令/規(guī)則/信息可以包括適當(dāng)格式化的許可證獲取腳本等,以后再對(duì)此作更詳細(xì)討論。另外,或者,可替換地,這樣的伴隨指令/規(guī)則/信息可以包括為用戶預(yù)覽數(shù)字內(nèi)容12而設(shè)計(jì)的‘預(yù)覽’信息。
借助于所供應(yīng)的信息,創(chuàng)作工具18接著生成與數(shù)字內(nèi)容12相對(duì)應(yīng)的一個(gè)或多個(gè)數(shù)據(jù)包12p。然后,把每個(gè)數(shù)據(jù)包12p存儲(chǔ)在內(nèi)容服務(wù)器22中,供向所有人分配之用。
現(xiàn)在參照?qǐng)D2,在本發(fā)明的一個(gè)實(shí)施例中,創(chuàng)作工具18是接收可以對(duì)其加以規(guī)定和進(jìn)行操作的輸入?yún)?shù)的動(dòng)態(tài)創(chuàng)作工具18。于是,這樣的創(chuàng)作工具18可以迅速地為多段數(shù)字內(nèi)容12生成數(shù)據(jù)包12p的多種變型。最好,如圖所示,輸入?yún)?shù)以詞典28的形式體現(xiàn)出來(lái),其中,詞典28包括如下參數(shù)含有數(shù)字內(nèi)容12的輸入文件29a的名稱;要發(fā)生的編碼的類型;要使用的加密/解密密鑰(KD);要與數(shù)字內(nèi)容12一起打包在數(shù)據(jù)包12p中的伴隨指令/規(guī)則/信息(‘首標(biāo)信息’);要發(fā)送的多路復(fù)用的類型;和要寫(xiě)入基于數(shù)字內(nèi)容12的數(shù)據(jù)包12p的輸出文件29b的名稱。
應(yīng)該明白,這樣的詞典28可由創(chuàng)作工具18的操作者(人或機(jī)器)容易迅速地加以修改,因此,由創(chuàng)作工具18進(jìn)行的創(chuàng)作的類型同樣可以以動(dòng)態(tài)的方式容易迅速地加以修改。在本發(fā)明的一個(gè)實(shí)施例中,創(chuàng)作工具18包括可為操作人員顯示在計(jì)算機(jī)屏幕上的操作者界面(未示出)。于是,這樣的操作者可以通過(guò)這個(gè)界面修改詞典28,并且,在通過(guò)這個(gè)界面修改詞典28的過(guò)程中,適當(dāng)?shù)貛椭?或限制這樣的操作者。
從如圖2可以看出,在創(chuàng)作工具18中,源過(guò)濾器18a從詞典28接收含有數(shù)字內(nèi)容12的輸入文件29a的名稱,從這樣的輸入文件中檢索這樣的數(shù)字內(nèi)容12,并且把數(shù)字內(nèi)容12放入像RAM等那樣的存儲(chǔ)器29c中。然后,編碼過(guò)濾器18b對(duì)存儲(chǔ)器29c中的數(shù)字內(nèi)容12進(jìn)行編碼,根據(jù)詞典28中規(guī)定的編碼類型,把文件從輸入格式轉(zhuǎn)換成輸出格式(即,.wav到.asp,.mp3到.asp等),并且把編碼數(shù)字內(nèi)容12放入存儲(chǔ)器29c中。如圖所示,以諸如.wav或.mp3格式之類的壓縮格式接收要打包的數(shù)字內(nèi)容12(例如,音樂(lè)),將其轉(zhuǎn)換成諸如.asp(活動(dòng)流協(xié)議)格式之類的格式。當(dāng)然,應(yīng)用其它輸入和輸出格式也不偏離本發(fā)明的精神和范圍。
此后,加密過(guò)濾器18c根據(jù)在詞典28中規(guī)定的加密/解密密鑰(KD),加密存儲(chǔ)器29c中的編碼數(shù)字內(nèi)容12,并且把加密數(shù)字內(nèi)容12放入存儲(chǔ)器29c中。然后,首標(biāo)過(guò)濾器18d把在詞典28中規(guī)定的首標(biāo)信息加入存儲(chǔ)器29c中的加密數(shù)字內(nèi)容12中。
應(yīng)該明白,隨情況而定,數(shù)據(jù)包12p可以包括按時(shí)間排列的數(shù)字內(nèi)容12的多種流(圖2顯示了一種流),其中,這樣的多種流是多路復(fù)用的。于是,多路復(fù)用過(guò)濾器18e根據(jù)在詞典28中規(guī)定的多路復(fù)用的類型,對(duì)存儲(chǔ)器29c中的首標(biāo)信息和加密數(shù)字內(nèi)容12進(jìn)行多路復(fù)用,并且,把結(jié)果放入存儲(chǔ)器29c中。然后,文件寫(xiě)過(guò)濾器18f從存儲(chǔ)器29c中檢索這個(gè)結(jié)果,并且把這樣的結(jié)果寫(xiě)入在詞典28中規(guī)定的輸出文件29b中,作為數(shù)據(jù)包12p。
應(yīng)該注意到,在某些環(huán)境下,要進(jìn)行的編碼的類型通常是不改變的。由于多路復(fù)用的類型通常是基于編碼的類型的,因此,同樣會(huì)出現(xiàn)多路復(fù)用的類型通常也不改變的情況。如果正好是這種情況,那么,詞典28不需要有關(guān)編碼的類型和/或多路復(fù)用的類型的參數(shù)。而唯一必要的是,把編碼的類型‘硬連接(hardwired)’到編碼過(guò)濾器中和/或把多路復(fù)用的類型‘硬連接’到多路復(fù)用過(guò)濾器中。當(dāng)然,如環(huán)境需要,創(chuàng)作工具18可以不包括所有上述過(guò)濾器,或者可以包括其它過(guò)濾器,和所有包括的過(guò)濾器可以是硬連接的,或者可以根據(jù)在詞典28中規(guī)定的參數(shù)執(zhí)行它的功能,所有這些均不偏離本發(fā)明的精神和范圍。
最好,創(chuàng)作工具18通過(guò)適當(dāng)?shù)能浖谶m當(dāng)?shù)挠?jì)算機(jī)、處理器、或其它計(jì)算機(jī)器上實(shí)現(xiàn)。根據(jù)這里所公開(kāi)的內(nèi)容,這樣機(jī)器和這樣軟件的結(jié)構(gòu)和操作應(yīng)當(dāng)是顯而易見(jiàn)的,因此,在本公開(kāi)中無(wú)需作任何詳細(xì)的討論。
結(jié)構(gòu)-內(nèi)容服備器22再參照?qǐng)D1,在本發(fā)明的一個(gè)實(shí)施例中,內(nèi)容服務(wù)器22分配創(chuàng)作工具18生成的數(shù)據(jù)包12p,否則的話,使創(chuàng)作工具18生成的數(shù)據(jù)包12p變成適合于檢索的。這樣的數(shù)據(jù)包12p可以通過(guò)不偏離本發(fā)明精神和范圍的任何適當(dāng)信道,按照內(nèi)容服務(wù)器22所請(qǐng)求的那樣分配。例如,這樣的分配信道可以是因特網(wǎng)或其它網(wǎng)絡(luò)、電子布告牌、電子郵件等。另外,可以應(yīng)用內(nèi)容服務(wù)器22把數(shù)據(jù)包12p拷貝到磁或光盤(pán),或其它存儲(chǔ)器件上,然后,就可以分發(fā)這樣的存儲(chǔ)器件。
應(yīng)該認(rèn)識(shí)到,內(nèi)容服務(wù)器22分配數(shù)據(jù)包12p不涉及到任何信賴或保密問(wèn)題。正如下面所討論的那樣,處理這樣的問(wèn)題涉及到許可證服務(wù)器24和這樣的許可證存儲(chǔ)器24與用戶計(jì)算設(shè)備14之間的關(guān)系。在本發(fā)明的一個(gè)實(shí)施例中,內(nèi)容服務(wù)器22把含有數(shù)字內(nèi)容12的數(shù)據(jù)包12p自由地發(fā)放和分配給請(qǐng)求它的任何被分配者。但是,內(nèi)容服務(wù)器22也可以以不偏離本發(fā)明精神和范圍的受限制方式發(fā)放和分配這樣的數(shù)據(jù)包12p。例如,內(nèi)容服務(wù)器22在分配之前,可以首先要求支付預(yù)定分配費(fèi)用,或者,可以要求被分配者聲明自己的身份,或者,可以真正地確定是否根據(jù)被分配者的身份進(jìn)行分配的。
另外,可以通過(guò)控制創(chuàng)作工具18,讓內(nèi)容服務(wù)器22用于進(jìn)行目錄管理,事先生成大量不同的數(shù)據(jù)包12p來(lái)滿足預(yù)期要求。例如,服務(wù)器可以根據(jù)同一數(shù)字內(nèi)容12生成100個(gè)數(shù)據(jù)包12p,并且分發(fā)每個(gè)數(shù)據(jù)包12p 10次。當(dāng)數(shù)據(jù)包12p的供應(yīng)量減少到,例如,20時(shí),內(nèi)容服務(wù)器22可以接著指令創(chuàng)作工具18再次生成,例如,80個(gè)另外的數(shù)據(jù)包12p。
最好,在結(jié)構(gòu)10中的內(nèi)容服務(wù)器22含有作為評(píng)估許可證16和獲得解密相應(yīng)數(shù)字內(nèi)容12的解密密鑰(KD)的處理過(guò)程的組成部分應(yīng)用的唯一公開(kāi)/秘密密鑰對(duì)(PU-CS,PR-CS),下面將對(duì)此作更詳細(xì)說(shuō)明。眾所周知,公開(kāi)/秘密密鑰對(duì)是非對(duì)稱密鑰,這是因?yàn)橛妹荑€對(duì)中密鑰之一加密的東西只能用密鑰對(duì)中另一個(gè)密鑰解密。在公開(kāi)/秘密密鑰對(duì)加密系統(tǒng)中,可以讓所有人都知道公開(kāi)密鑰,但是秘密密鑰應(yīng)當(dāng)只能讓這樣秘密密鑰的擁有者秘密地保管。于是,如果內(nèi)容服務(wù)器22用它的秘密密鑰(PR-CS)加密數(shù)據(jù),那么,為了解密的目的,它可以將加密數(shù)據(jù)與它的公開(kāi)密鑰(PU-CS)一起發(fā)送給的所有人。相應(yīng)地,如果外部設(shè)備想要把數(shù)據(jù)發(fā)送到內(nèi)容服務(wù)器22,以便只有這樣的內(nèi)容服務(wù)器22可以解密這樣的數(shù)據(jù),那么,這樣的外部設(shè)備必須首先獲得內(nèi)容服務(wù)器22的公開(kāi)密鑰(PU-CS),然后,必須用這樣的公開(kāi)密鑰加密數(shù)據(jù)。于是,內(nèi)容服務(wù)器22(和只有內(nèi)容服務(wù)器22)接著可以用它的秘密密鑰(PR-CS)解密這樣的加密數(shù)據(jù)。
與創(chuàng)作工具18一樣,內(nèi)容服務(wù)器22通過(guò)適當(dāng)?shù)能浖?,在適當(dāng)?shù)挠?jì)算機(jī)、管理器或其它計(jì)算機(jī)器上實(shí)現(xiàn)。根據(jù)這里所公開(kāi)的內(nèi)容,這樣機(jī)器和這樣軟件的結(jié)構(gòu)和操作應(yīng)當(dāng)是顯而易見(jiàn)的,因此,在本公開(kāi)中無(wú)需作任何詳細(xì)的討論。此外,在本發(fā)明的一個(gè)實(shí)施例中,創(chuàng)作工具18和內(nèi)容服務(wù)器22可以駐留在單個(gè)計(jì)算機(jī)、處理器、或其它計(jì)算機(jī)器上,每一個(gè)處在獨(dú)立的工作空間中。此外,還應(yīng)該認(rèn)識(shí)到,在某些環(huán)境下,內(nèi)容服務(wù)器22可以包括創(chuàng)作工具18和/或執(zhí)行如上所討論的、創(chuàng)作工具18的各種功能。
數(shù)字內(nèi)容數(shù)據(jù)包12p的結(jié)構(gòu)現(xiàn)在參照?qǐng)D3,在本發(fā)明的一個(gè)實(shí)施例中,如內(nèi)容服務(wù)器22所分配的數(shù)字內(nèi)容數(shù)據(jù)包12p包括如上面所討論的、用加密/解密密鑰(KD)加密的數(shù)字內(nèi)容12(即,(KD(CONTENT)));這樣數(shù)字內(nèi)容12(或數(shù)據(jù)包12p)的內(nèi)容ID(或數(shù)據(jù)包ID);解密密鑰(KD)的密鑰ID;最好以未加密形式的許可證獲取信息;和通過(guò)內(nèi)容服務(wù)器22的秘密密鑰(PR-CS)簽名的、加密內(nèi)容服務(wù)器22的公開(kāi)密鑰(PU-CS)的密鑰KD(即,(KD(PU-CS)S(PR-CS)))。
就(KD(PU-CS)S(PR-CS))來(lái)說(shuō),應(yīng)該明白,這樣的項(xiàng)目要與驗(yàn)證數(shù)字內(nèi)容12和/或數(shù)據(jù)包12p聯(lián)系在一起使用,下面將對(duì)此加以說(shuō)明。與帶有簽名的證明書(shū)不同(見(jiàn)下面),密鑰(PU-CS)對(duì)了解KD(PU-CS)是沒(méi)有用的。而是,僅僅通過(guò)應(yīng)用解密密鑰(KD)獲得(PU-CS)。一旦如此獲得,就可以將這樣的密鑰(PU-CS)用于測(cè)試簽名(S(PR-CS))的有效性。
還應(yīng)該明白,對(duì)于這樣由創(chuàng)作工具18構(gòu)造的的數(shù)據(jù)包12p,這樣的創(chuàng)作工具18必須已經(jīng)擁有許可證獲取信息和(KD(PU-CS)S(PR-CS)),推想起來(lái),也許像詞典28供應(yīng)的首標(biāo)信息那樣。此外,推想起來(lái),創(chuàng)作工具18和內(nèi)容服務(wù)器22必須相互作用,以構(gòu)造(KD(PU-CS)S(PR-CS))。這樣的相互作用可以包括,例如,下列步驟內(nèi)容服務(wù)器22把(PU-CS)發(fā)送到創(chuàng)作工具18;創(chuàng)作工具18利用(KD)加密(PU-CS),生成(KD(PU-CS));創(chuàng)作工具18把(KD(PU-CS))發(fā)送到內(nèi)容服務(wù)器22;內(nèi)容服務(wù)器22用(PR-CS)簽名(KD(PU-CS)),生成(KD(PU-CS)S(PR-CS));和內(nèi)容服務(wù)器22把(KD(PU-CS)S(PR-CS))發(fā)送到創(chuàng)作工具18。
結(jié)構(gòu)-許可證服備器24再次參照?qǐng)D1,在本發(fā)明的一個(gè)實(shí)施例中,許可證服務(wù)器24執(zhí)行如下功能從用戶計(jì)算設(shè)備14接收與一段數(shù)字內(nèi)容12聯(lián)系在一起的許可證16的請(qǐng)求,確定是否可以信賴用戶計(jì)算設(shè)備16已經(jīng)榮幸地獲得了發(fā)放的許可證16,協(xié)商這樣的許可證16,制作這樣的許可證16,和把這樣的許可證16發(fā)送給用戶計(jì)算設(shè)備14。最好,這樣發(fā)送的許可證16包括解密數(shù)字內(nèi)容12用的解密密鑰(KD)。以后再更詳細(xì)地說(shuō)明這樣的許可證服務(wù)器24和這樣的功能。最好,像內(nèi)容服務(wù)器22那樣,結(jié)構(gòu)10中的許可證服務(wù)器24含有作為評(píng)估許可證16和獲得解密相應(yīng)數(shù)字內(nèi)容12用的解密密鑰(KD)的處理的組成部分應(yīng)用的唯一公開(kāi)/秘密密鑰對(duì)(PU-LS,PR-LS),下面將對(duì)此作更詳細(xì)說(shuō)明。
與創(chuàng)作工具18和內(nèi)容服務(wù)器22一樣,許可證服務(wù)器22通過(guò)適當(dāng)?shù)能浖谶m當(dāng)?shù)挠?jì)算機(jī)、管理器或其它計(jì)算機(jī)器上實(shí)現(xiàn)。根據(jù)這里所公開(kāi)的內(nèi)容,這樣機(jī)器和這樣軟件的結(jié)構(gòu)和操作應(yīng)當(dāng)是顯而易見(jiàn)的,因此,在本公開(kāi)中無(wú)需作任何詳細(xì)的討論。此外,在本發(fā)明的一個(gè)實(shí)施例中,創(chuàng)作工具18和/或內(nèi)容服務(wù)器22可以與許可證服務(wù)器24一起,駐留在單個(gè)計(jì)算機(jī)、處理器、或其它計(jì)算機(jī)器上,每一個(gè)處在獨(dú)立的工作空間中。
在本發(fā)明的一個(gè)實(shí)施例中,在發(fā)放許可證16之前,許可證服務(wù)器24和內(nèi)容服務(wù)器22達(dá)成代理協(xié)議等,其中,至少對(duì)于內(nèi)容服務(wù)器22分配的數(shù)字內(nèi)容12的一部分來(lái)說(shuō),許可證服務(wù)器24在效力上等同于許可證發(fā)放機(jī)構(gòu)。應(yīng)該明白,一個(gè)內(nèi)容服務(wù)器22可以與數(shù)個(gè)許可證服務(wù)器24達(dá)成代理協(xié)議等,和/或一個(gè)許可證服務(wù)器24可以與數(shù)個(gè)內(nèi)容服務(wù)器22達(dá)成代理協(xié)議等,所有這些都不偏離本發(fā)明的精神和范圍。
最好是,許可證服務(wù)器24可以向所有人顯示它事實(shí)上的確擁有為內(nèi)容服務(wù)器22分配的數(shù)字內(nèi)容12發(fā)放許可證16的權(quán)力。為此,最好,許可證服務(wù)器24把它的公開(kāi)密鑰(PU-CS)發(fā)送給內(nèi)容服務(wù)器22,然后,內(nèi)容服務(wù)器22把包含(PU-LS)的數(shù)字證明書(shū)作為由內(nèi)容服務(wù)器22的秘密密鑰簽名的內(nèi)容(CERT(PU-LS)S(PR-CS))發(fā)送給許可證服務(wù)器24。應(yīng)該明白,在這樣的證明書(shū)中的內(nèi)容(PU-CS)只能利用內(nèi)容服務(wù)器22的公開(kāi)密鑰(PU-CS)來(lái)訪問(wèn)。還應(yīng)該明白,一般來(lái)說(shuō),基礎(chǔ)數(shù)據(jù)的數(shù)字簽名是這樣數(shù)據(jù)的加密形式,并且,如果這樣的數(shù)據(jù)已經(jīng)被偽造了,或否則已經(jīng)被修改了,那么,當(dāng)解密時(shí),將與這樣的數(shù)據(jù)不匹配。
作為與一段數(shù)字內(nèi)容12聯(lián)系在一起的許可證發(fā)放機(jī)構(gòu),和作為許可證發(fā)放功能的組成部分,許可證服務(wù)器24必須能夠訪問(wèn)這樣數(shù)字內(nèi)容12的解密密鑰(KD)。于是,最好,許可證服務(wù)器24能夠訪問(wèn)含有這樣數(shù)字內(nèi)容12(或數(shù)據(jù)包12p)的解密密鑰(KD)、密鑰ID、和內(nèi)容ID(或數(shù)據(jù)包ID)的內(nèi)容密鑰數(shù)據(jù)庫(kù)20。
結(jié)構(gòu)-黑箱服備器26仍然參照?qǐng)D1,在本發(fā)明的一個(gè)實(shí)施例中,黑箱服務(wù)器26執(zhí)行安裝和/或升級(jí)用戶計(jì)算設(shè)備14中的新黑箱30的功能。黑箱30為用戶計(jì)算設(shè)備14執(zhí)行加密和解密功能,以后再對(duì)此作更詳細(xì)討論。黑箱的目的是起保密作用和免遭攻擊,以后也對(duì)此作更詳細(xì)討論。通過(guò)黑箱服務(wù)器26把黑箱30升級(jí)成所需的新版本,至少部分地提供了這樣的安全性和保護(hù)性,以后再對(duì)此作更詳細(xì)討論。
與創(chuàng)作工具18、內(nèi)容服務(wù)器22、和許可證服務(wù)器22一樣,黑箱服務(wù)器26通過(guò)適當(dāng)?shù)能浖?,在適當(dāng)?shù)挠?jì)算機(jī)、管理器或其它計(jì)算機(jī)器上實(shí)現(xiàn)。根據(jù)這里所公開(kāi)的內(nèi)容,這樣機(jī)器和這樣軟件的結(jié)構(gòu)和操作應(yīng)當(dāng)是顯而易見(jiàn)的,因此,在本公開(kāi)中無(wú)需作任何詳細(xì)的討論。此外,在本發(fā)明的一個(gè)實(shí)施例中,許可證服務(wù)器24、創(chuàng)作工具18和/或內(nèi)容服務(wù)器22可以與黑箱服務(wù)器26一起,駐留在單個(gè)計(jì)算機(jī)、處理器、或其它計(jì)算機(jī)器上,每一個(gè)處在獨(dú)立的工作空間中。然而,請(qǐng)注意,為了安全起見(jiàn),把黑箱服務(wù)器26安裝在獨(dú)立的機(jī)器上是明智的。
結(jié)構(gòu)-用戶計(jì)算設(shè)備14現(xiàn)在參照?qǐng)D4,在本發(fā)明的一個(gè)實(shí)施例中,用戶計(jì)算設(shè)備14是個(gè)人計(jì)算機(jī)等,含有包括鍵盤(pán)、鼠標(biāo)、屏幕、處理器、RAM、ROM、硬盤(pán)、軟驅(qū)、CD播放器等的各種單元。但是,除了這些之外,用戶計(jì)算設(shè)備14還可以是像電視機(jī)或監(jiān)視器那樣的專用視頻設(shè)備、像立體聲或其它音樂(lè)播放器那樣的專用音頻設(shè)備、專用打印機(jī)等,所有這些均不偏離本發(fā)明的精神和范圍。
一段數(shù)字內(nèi)容12的內(nèi)容擁有者必須信賴用戶計(jì)算設(shè)備14會(huì)遵守這樣內(nèi)容擁有者規(guī)定的規(guī)則,即,如果用戶沒(méi)有獲得允許以檢索方式再現(xiàn)的許可證16,那么,就不讓再現(xiàn)數(shù)字內(nèi)容12。最好,然后,用戶計(jì)算設(shè)備14向內(nèi)容擁有者提供滿足如下條件的可信部件或機(jī)構(gòu)32,這個(gè)條件就是,除非遵守體現(xiàn)在用戶獲得的和與數(shù)字內(nèi)容12相聯(lián)系的許可證16中的許可規(guī)則,這樣的計(jì)算設(shè)備14不能再現(xiàn)數(shù)字內(nèi)容12。
這里,可信部件31是數(shù)字權(quán)利管理(DRM)系統(tǒng)32,當(dāng)用戶請(qǐng)求再現(xiàn)一段數(shù)字內(nèi)容12時(shí),啟動(dòng)這樣的DRM系統(tǒng)32,它確定用戶是否擁有以檢索方式再現(xiàn)數(shù)字內(nèi)容12的許可證16,如有必要,獲取這樣的許可證16,根據(jù)許可證16確定用戶是否擁有播放數(shù)字內(nèi)容12的權(quán)利,和如果根據(jù)這樣的許可證16,用戶實(shí)際上已經(jīng)擁有這樣的權(quán)利,那么,為了再現(xiàn)的目的,解密數(shù)字內(nèi)容12。下面描述在用戶計(jì)算設(shè)備14上的和與結(jié)構(gòu)10聯(lián)系在一起的DRM系統(tǒng)32的內(nèi)容和功能。
DRM系統(tǒng)32DRM系統(tǒng)32與這里所公開(kāi)的結(jié)構(gòu)10一起執(zhí)行四種主要功能(1)內(nèi)容獲取、(2)許可證獲取、(3)內(nèi)容再現(xiàn)、和(4)黑箱30安裝/更新。盡管公認(rèn)一些功能需要獲取數(shù)字內(nèi)容12,但是,最好在任何時(shí)候都可以執(zhí)行任何一種功能。
DRM系統(tǒng)32-內(nèi)容獲取用戶和/或用戶計(jì)算設(shè)備14獲取數(shù)字內(nèi)容12通常是一件相對(duì)直截了當(dāng)?shù)氖虑?,一般涉及到把含有加密?shù)字內(nèi)容12的文件放置在用戶計(jì)算設(shè)備14上。當(dāng)然,為了利用這里公開(kāi)的結(jié)構(gòu)10和DRM系統(tǒng)32,有必要使加密數(shù)字內(nèi)容12處在適合于這樣的結(jié)構(gòu)10和DRM系統(tǒng)32的形式之下,譬如,如下所述的數(shù)字?jǐn)?shù)據(jù)包12p。
應(yīng)該明白,可以以任何方式從內(nèi)容服務(wù)器22獲取數(shù)字內(nèi)容12,直接地或間接地,這都不偏離本發(fā)明的精神和范圍。例如,可以從因特網(wǎng)之類的網(wǎng)絡(luò)上下載這樣的數(shù)字內(nèi)容12,在獲取的光盤(pán)或磁盤(pán)等上找到它,作為電子郵件消息等的一部分來(lái)接收它,或者從電子布告牌等中下載它。
一旦獲得這樣的數(shù)字內(nèi)容12,就以使獲得的數(shù)字內(nèi)容12可由在計(jì)算設(shè)備14上運(yùn)行的再現(xiàn)應(yīng)用程序(如下所述)、和可由DRM系統(tǒng)32訪問(wèn)的方式存儲(chǔ)數(shù)字內(nèi)容12。例如,可以把數(shù)字內(nèi)容12作為文件放置在用戶計(jì)算設(shè)備14的硬盤(pán)(未示出)上,或者,放置在計(jì)算設(shè)備14可訪問(wèn)的網(wǎng)絡(luò)服務(wù)器(未示出)上。在在光盤(pán)或磁盤(pán)等上獲得數(shù)字內(nèi)容12的情況下,也許,唯一必要的是把這樣的盤(pán)放入與用戶計(jì)算設(shè)備14耦合的適當(dāng)驅(qū)動(dòng)器(未示出)中。
在本發(fā)明中,可以預(yù)想,沒(méi)有什么特別工具是從作為直接分配源的內(nèi)容服務(wù)器22中或從作為間接分配源的一些中間體中獲取數(shù)字內(nèi)容12所必需的。也就是說(shuō),最好,獲取數(shù)字內(nèi)容12與獲取其它任何數(shù)據(jù)文件一樣容易。但是,DRM系統(tǒng)32和/或再現(xiàn)應(yīng)用程序34可以包括為幫助用戶獲取數(shù)字內(nèi)容12而設(shè)計(jì)的接口(未示出)。例如,接口可以包括為搜索數(shù)字內(nèi)容12而特別設(shè)計(jì)的萬(wàn)維網(wǎng)瀏覽器、到已知作為數(shù)字內(nèi)容12的源的預(yù)定因特網(wǎng)網(wǎng)站的鏈路等。
DRM系統(tǒng)32-內(nèi)容再現(xiàn),第1部分現(xiàn)在參照?qǐng)D5A,在本發(fā)明的一個(gè)實(shí)施例中,假設(shè)已經(jīng)把加密數(shù)字內(nèi)容12分配給用戶,用戶已經(jīng)接收到加密數(shù)字內(nèi)容12,并且,由用戶把加密數(shù)字內(nèi)容12以存儲(chǔ)文件的形式放置在計(jì)算設(shè)備14上,通過(guò)執(zhí)行再現(xiàn)命令的一些變體,用戶嘗試再現(xiàn)數(shù)字內(nèi)容12(步驟501)。例如,這樣的再現(xiàn)命令可以具體化成‘播放’或‘打開(kāi)’數(shù)字內(nèi)容12的請(qǐng)求。在一些計(jì)算環(huán)境下,例如,在微軟公司(MICROSOFT Corporation,Redmond,washington)開(kāi)發(fā)的“視窗”操作系統(tǒng)下,這樣的播放或打開(kāi)命令簡(jiǎn)化成‘點(diǎn)擊’代表數(shù)字內(nèi)容12的圖標(biāo)。當(dāng)然,也可以應(yīng)用這樣再現(xiàn)命令的其它實(shí)施例,這不偏離本發(fā)明的精神和范圍。一般來(lái)說(shuō),可以認(rèn)為,每當(dāng)用戶命令打開(kāi)、運(yùn)行、執(zhí)行等含有數(shù)字內(nèi)容12的文件時(shí),就執(zhí)行這樣的再現(xiàn)命令。
另外,重要的是,這樣的再現(xiàn)命令可以具體化成把數(shù)字內(nèi)容12拷貝成另一種形式,譬如,打印形式、視頻形式、音頻形式等的請(qǐng)求。應(yīng)該明白,同一數(shù)字內(nèi)容12可以先以一種形式再現(xiàn),譬如,在計(jì)算機(jī)屏幕上,然后再以另一種形式再現(xiàn),譬如,作為打印文件。在本發(fā)明中,只有當(dāng)用戶擁有這樣做的權(quán)利時(shí),才進(jìn)行每種類型的再現(xiàn),下面將說(shuō)明這種情況。
在本發(fā)明的一個(gè)實(shí)施例中,數(shù)字內(nèi)容12以含有以擴(kuò)展名結(jié)束的文件名的數(shù)字文件的形式,和計(jì)算設(shè)備14可以根據(jù)這樣的擴(kuò)展名確定是否啟動(dòng)特定類型的再現(xiàn)應(yīng)用程序34。例如,如果文件擴(kuò)展名指示數(shù)字內(nèi)容12是文本文件,那么,再現(xiàn)應(yīng)用程序34就是由微軟公司開(kāi)發(fā)的、諸如“MICROSOFT WORD”之類的、某種類型的字處理器。類似地,如果文件擴(kuò)展名指示數(shù)字內(nèi)容12是音頻、視頻、和/或多媒體文件,再現(xiàn)應(yīng)用程序34就是也由微軟公司開(kāi)發(fā)的、諸如“MICROSOFT MEDIA PLAYER”之類的、某種類型的多媒體播放器。
當(dāng)然,也可以應(yīng)用不偏離本發(fā)明精神和范圍的其它確定再現(xiàn)應(yīng)用程序的方法。僅舉一例來(lái)說(shuō)明,數(shù)字內(nèi)容12可以包含未加密形式的元數(shù)據(jù)(即,上述首標(biāo)信息),其中,元數(shù)據(jù)包括有關(guān)再現(xiàn)這樣數(shù)字內(nèi)容12所需的再現(xiàn)應(yīng)用程序34的類型的信息。
最好,這樣的再現(xiàn)應(yīng)用程序34檢查與文件名相聯(lián)系的數(shù)字內(nèi)容12,并且確定這樣的數(shù)字內(nèi)容12是否以權(quán)利保護(hù)形式加密(步驟503,505)。如果沒(méi)有保護(hù),那么,可以立即再現(xiàn)數(shù)字內(nèi)容12(步驟507)。如果有保護(hù),那么,再現(xiàn)應(yīng)用程序34從加密數(shù)字內(nèi)容12中確定DRM系統(tǒng)32是否是播放這樣的數(shù)字內(nèi)容12所需的。于是,這樣再現(xiàn)應(yīng)用程序34命令用戶計(jì)算設(shè)備14在其上運(yùn)行DRM系統(tǒng)32(步驟509)。然后,這樣的再現(xiàn)應(yīng)用程序34調(diào)用這樣的DRM系統(tǒng)32,以解密數(shù)字內(nèi)容12(步驟511)。事實(shí)上,只有當(dāng)用戶擁有這樣數(shù)字內(nèi)容12的有效許可證16和根據(jù)有效許可證16中的許可規(guī)則播放數(shù)字內(nèi)容12的權(quán)利時(shí),DRM系統(tǒng)32才解密數(shù)字內(nèi)容12,以后再對(duì)此作更詳細(xì)討論。最好,一旦DRM系統(tǒng)32已經(jīng)被再現(xiàn)應(yīng)用程序34調(diào)用,這樣的DRM系統(tǒng)32就從再現(xiàn)應(yīng)用程序34那里接管控制,至少為了確定用戶是否擁有播放這樣數(shù)字內(nèi)容12的權(quán)利的目的(步驟513)。
DRM系統(tǒng)32部件再次參照?qǐng)D4,在本發(fā)明的一個(gè)實(shí)施例中,DRM系統(tǒng)32包括許可證評(píng)估器36、黑箱30、許可證存儲(chǔ)器件38、和狀態(tài)存儲(chǔ)器件40。
DRM系統(tǒng)32部件-許可證評(píng)估器36除了別的之外,許可證評(píng)估器36定位與所請(qǐng)求數(shù)字內(nèi)容12相對(duì)應(yīng)的一個(gè)或多個(gè)許可證16,確定這樣的許可證是否有效,檢查在這樣有效許可證16中的許可證規(guī)則,和根據(jù)檢查的許可證規(guī)則,確定正在請(qǐng)求的用戶是否擁有以檢索方式再現(xiàn)所請(qǐng)求數(shù)字內(nèi)容12的權(quán)利。應(yīng)該明白,許可證評(píng)估器36是DRM系統(tǒng)32中的可信部分。在本公開(kāi)中,‘可信’指的是許可證服務(wù)器24(或任何其它信任單元)相信可信單元將根據(jù)許可證16中的權(quán)利描述實(shí)現(xiàn)數(shù)字內(nèi)容12的擁有者的愿望,和用戶不能為了任何目的,無(wú)論是惡意的還是其它的,輕易更改這樣的可信單元。
許可證評(píng)估器36必須是可信的,以便保證這樣的許可證評(píng)估器36實(shí)際上將適當(dāng)?shù)卦u(píng)估許可證16,和保證用戶不會(huì)為了繞過(guò)對(duì)許可證16的真正評(píng)估而偽造,要不然修改這樣的許可證評(píng)估器36。于是,許可證評(píng)估器36以受保護(hù)或屏蔽的環(huán)境下運(yùn)行,以便拒絕用戶訪問(wèn)這樣的許可證評(píng)估器36。對(duì)于許可證評(píng)估器36,當(dāng)然也可以采取不偏離本發(fā)明的精神和范圍的其它保護(hù)措施。
DRM系統(tǒng)32部件-黑箱30正如上面所討論的,在DRM系統(tǒng)32中,黑箱30主要執(zhí)行加密和解密功能。具體地說(shuō),作為許可證評(píng)估功能的一部分,黑箱30與許可證評(píng)估器36一起工作,解密和加密某些信息。另外,一旦許可證評(píng)估器36確定用戶事實(shí)上的確擁有以檢索方式再現(xiàn)所請(qǐng)求數(shù)字內(nèi)容12的權(quán)利,就把這樣數(shù)字內(nèi)容12的解密密鑰(KD)提供給黑箱30,黑箱30根據(jù)這樣的解密密鑰(KD),執(zhí)行解密這樣數(shù)字內(nèi)容12的功能。
黑箱30也是DRM系統(tǒng)32中的可信部件。具體地說(shuō),許可證服務(wù)器24必須信任黑箱30將只根據(jù)許可證16中的許可規(guī)則執(zhí)行解密功能,并且還信任這樣的黑箱30,萬(wàn)一被用戶出于繞過(guò)對(duì)許可證16的真正評(píng)估的惡意目的而偽造或修改,就不進(jìn)行操作。于是,黑箱30也在受保護(hù)或屏蔽的環(huán)境下運(yùn)行,以后拒絕用戶訪問(wèn)這樣的黑箱30。并且,對(duì)于黑箱30,還可以采取不偏離本發(fā)明精神和范圍的其它保護(hù)措施。最好,像內(nèi)容服務(wù)器22和許可證服務(wù)器24那樣,DRM系統(tǒng)32中的黑箱30含有作為評(píng)估許可證16和獲取解密數(shù)字內(nèi)容12用的解密密鑰(KD)的處理的組成部分應(yīng)用的唯一公開(kāi)/秘密密鑰對(duì)(PU-BB,PR-BB),以后再對(duì)此作更詳細(xì)討論。
DRM系統(tǒng)32部件-許可證存儲(chǔ)器件38許可證存儲(chǔ)器件38為相應(yīng)數(shù)字內(nèi)容12存儲(chǔ)DRM系統(tǒng)32接收的許可證16。許可證存儲(chǔ)器件38本身不需要是可信的,因?yàn)樵S可證存儲(chǔ)器件38只存儲(chǔ)許可證16而已,它們的每一個(gè)已經(jīng)擁有在其中建立起來(lái)的可信部件,下面將對(duì)此加以討論。在本發(fā)明的一個(gè)實(shí)施例中,許可證存儲(chǔ)器件38只不過(guò)是諸如硬盤(pán)驅(qū)動(dòng)器或網(wǎng)絡(luò)驅(qū)動(dòng)器之類的驅(qū)動(dòng)器的子目錄。但是,許可證存儲(chǔ)器件38也可以以不偏離本發(fā)明精神和范圍的任何其它形式具體實(shí)現(xiàn),只要這樣的許可證存儲(chǔ)器件38執(zhí)行把許可證16存儲(chǔ)在對(duì)DRM系統(tǒng)32來(lái)說(shuō)相對(duì)方便的位置中的功能即可。
DRM系統(tǒng)32部件-狀態(tài)存儲(chǔ)器件40狀態(tài)存儲(chǔ)器件40執(zhí)行保存與當(dāng)前或以前在許可證存儲(chǔ)器件38中的許可證16相對(duì)應(yīng)的狀態(tài)信息的功能。在必要的時(shí)候,這樣的狀態(tài)信息由DRM系統(tǒng)32創(chuàng)建,并且存儲(chǔ)在狀態(tài)存儲(chǔ)器件40中。例如,如果特定的許可證16只允許再現(xiàn)一段相應(yīng)的數(shù)字內(nèi)容12預(yù)定次數(shù),那么,狀態(tài)存儲(chǔ)器件40就保存對(duì)于這樣的許可證16,實(shí)際上已經(jīng)再現(xiàn)了多少次的信息。狀態(tài)存儲(chǔ)器件40繼續(xù)保存不再在許可證存儲(chǔ)器件38中的許可證16的狀態(tài)信息,以避免要不然有利于從許可證存儲(chǔ)器件38中刪除許可證16,并且試圖從狀態(tài)存儲(chǔ)器件40中刪除相應(yīng)的狀態(tài)信息而獲取相同許可證16的情況。
狀態(tài)存儲(chǔ)器件40還必須是可信的,以便存儲(chǔ)在其中的信息不被重新設(shè)置成更有利于用戶的狀態(tài)。于是,狀態(tài)存儲(chǔ)器件40同樣在受保護(hù)或屏蔽的環(huán)境下運(yùn)行,以便拒絕用戶訪問(wèn)這樣的狀態(tài)存儲(chǔ)器件40。況且,對(duì)于狀態(tài)存儲(chǔ)器件40,也可以采取不偏離本發(fā)明精神和范圍的其它保護(hù)措施。例如,狀態(tài)存儲(chǔ)器件40可以由計(jì)算設(shè)備14上的DRM系統(tǒng)32以加密方式來(lái)存儲(chǔ)。
DRM系統(tǒng)32-內(nèi)容再現(xiàn),第2部分再次參照?qǐng)D5A,再次討論本發(fā)明一個(gè)實(shí)施例中的內(nèi)容再現(xiàn),一旦DRM系統(tǒng)22已經(jīng)從正在調(diào)用的再現(xiàn)應(yīng)用程序34那里接管了控制,這樣的DRM系統(tǒng)32接著開(kāi)始確定用戶是否擁有以檢索方式再現(xiàn)數(shù)字內(nèi)容12的權(quán)利的處理。具體地說(shuō),DRM系統(tǒng)32在許可證存儲(chǔ)器件中定位有效的、授權(quán)許可證16(步驟515,517),或者嘗試從許可證服務(wù)器24中獲取有效的、授權(quán)許可證16(即,執(zhí)行如下所討論的和如圖7所示的許可證獲取功能)。
現(xiàn)在參照?qǐng)D6,作為第一步驟,這樣DRM系統(tǒng)32的許可證評(píng)估器36檢驗(yàn)許可證存儲(chǔ)器件38中是否存在一個(gè)或多個(gè)與數(shù)字內(nèi)容12相對(duì)應(yīng)的接收許可證16(步驟601)。盡管認(rèn)為許可證16也可以采取不偏離本發(fā)明精神和范圍的其它形式,但是,通常,許可證16是數(shù)字文件的形式,下面將對(duì)此加以討論。盡管同樣認(rèn)為可以接收不偏離本發(fā)明精神和范圍的含有相應(yīng)許可證16的數(shù)字內(nèi)容12,但是,通常,用戶接收不含這樣許可證16的數(shù)字內(nèi)容12。
正如上面結(jié)合圖3所討論的,每段數(shù)字內(nèi)容12處在帶有標(biāo)識(shí)這樣數(shù)字內(nèi)容12(或數(shù)據(jù)包12p)的內(nèi)容ID(數(shù)據(jù)包ID)、和標(biāo)識(shí)解密加密的數(shù)字內(nèi)容12的解密密鑰(KD)的密鑰ID的數(shù)據(jù)包12p。最好,內(nèi)容ID(或數(shù)據(jù)包工D)和密鑰ID是非加密形式。于是,具體地說(shuō),根據(jù)數(shù)字內(nèi)容12的內(nèi)容ID,許可證評(píng)估器36在許可證存儲(chǔ)器件38中查找包含對(duì)這樣內(nèi)容ID的適用性的標(biāo)識(shí)符的任何許可證16。請(qǐng)注意,可以找到多個(gè)這樣的許可證16,尤其在數(shù)字內(nèi)容12的擁有者已經(jīng)規(guī)定了這樣數(shù)字內(nèi)容12的幾種不同類型的許可證16,和用戶已經(jīng)獲得了多個(gè)這樣的許可證16的時(shí)候。如果許可證評(píng)估器36事實(shí)上在許可證存儲(chǔ)器件38中沒(méi)有找到與所請(qǐng)求數(shù)字內(nèi)容12相對(duì)應(yīng)的任何許可證16,那么,DRM系統(tǒng)32可以執(zhí)行如下所述的許可證獲取的功能(圖5中的步驟519)。
現(xiàn)在假設(shè)已經(jīng)請(qǐng)求DRM系統(tǒng)32再現(xiàn)一段數(shù)字內(nèi)容12,和在許可證存儲(chǔ)器件38中存在一個(gè)或多個(gè)與之對(duì)應(yīng)的許可證16。在本發(fā)明的一個(gè)實(shí)施例中,然后,DRM系統(tǒng)32的許可證評(píng)估器36著手對(duì)每個(gè)這樣的許可證16確定這樣的許可證16是否是有效的(圖6中的步驟603和605)。尤其是,每個(gè)許可證16最好包括基于許可證16的內(nèi)容28的數(shù)字簽名26。應(yīng)該明白,如果內(nèi)容28已經(jīng)被偽造了,或已經(jīng)被修改了,那么,數(shù)字簽名26將不與許可證16相匹配。因此,許可證評(píng)估器36可以根據(jù)數(shù)字簽名26,確定內(nèi)容28是否處在從許可證服務(wù)器24接收的形式下(即,是有效的)。如果在許可證存儲(chǔ)器件38中沒(méi)有找到有效許可證16,DRM系統(tǒng)32可以執(zhí)行如下所述的許可證獲取功能,以獲得這樣的有效許可證16。
假設(shè)找到了一個(gè)或多個(gè)有效許可證16,對(duì)于每個(gè)有效許可證16,DRM系統(tǒng)32的許可證評(píng)估器36接著確定這樣的有效許可證16是否給予用戶以所需方式再現(xiàn)相應(yīng)數(shù)字內(nèi)容12的權(quán)利(即,是否授權(quán)了)(步驟607和609)。具體地說(shuō),許可證評(píng)估器36根據(jù)每個(gè)許可證16中的權(quán)利描述和根據(jù)用戶試圖對(duì)數(shù)字內(nèi)容12做些什么,確定正在請(qǐng)求的用戶是否擁有播放所請(qǐng)求數(shù)字內(nèi)容12的權(quán)利。例如,這樣的權(quán)利描述可以讓用戶把數(shù)字內(nèi)容12變成聲音,但是不能變成解密的數(shù)字拷貝。
應(yīng)該明白,在每個(gè)許可證16中的權(quán)利描述根據(jù)幾個(gè)因素的任何一個(gè),包括用戶是誰(shuí)、用戶處在什么地方、用戶正在使用什么類型的計(jì)算設(shè)備14、什么樣的再現(xiàn)應(yīng)用程序34正在調(diào)用DRM系統(tǒng)32、日期、時(shí)間等,規(guī)定用戶是否擁有播放數(shù)字內(nèi)容12的權(quán)利。另外,權(quán)利描述還可以用,例如,預(yù)定播放次數(shù)、或預(yù)定播放時(shí)間等來(lái)限制許可證16。在這樣的情況下,DRM系統(tǒng)32必須參照有關(guān)許可證16的任何狀態(tài)信息(即,數(shù)字內(nèi)容12已經(jīng)再現(xiàn)了多少次、數(shù)字內(nèi)容12已經(jīng)再現(xiàn)了多長(zhǎng)時(shí)間等),其中,這樣的狀態(tài)信息存儲(chǔ)在用戶計(jì)算設(shè)備14上的DRM系統(tǒng)32的狀態(tài)存儲(chǔ)器件40中。
于是,DRM系統(tǒng)32的許可證評(píng)估器36審查每個(gè)有效許可證16的權(quán)利描述,以確定這樣的有效許可證16是否把檢索的權(quán)利授予用戶。這樣做時(shí),許可證評(píng)估器36也許不得不參照位于用戶計(jì)算設(shè)備14上的其它數(shù)據(jù),以進(jìn)行用戶是否擁有檢索權(quán)利的確定。從圖4可以看出,這樣的數(shù)據(jù)可以包括用戶計(jì)算設(shè)備(機(jī)器)14和它的特定方面的標(biāo)識(shí)符42、用戶和他的特定方面的標(biāo)識(shí)符44、再現(xiàn)應(yīng)用程序34和它的特定方面的標(biāo)識(shí)符、系統(tǒng)時(shí)鐘46等。如果沒(méi)有找到把以檢索方式再現(xiàn)數(shù)字內(nèi)容12的權(quán)利提供給用戶的有效許可證16,那么,如果這樣的許可證16事實(shí)上可以獲得的話,DRM系統(tǒng)32就可以執(zhí)行如下所述的許可證獲取功能,以獲得這樣的許可證16。
當(dāng)然,在某些情況下,由于這樣數(shù)字內(nèi)容12的內(nèi)容擁有者實(shí)際上已經(jīng)命令不授予這樣的權(quán)利,因此,用戶不能獲得以所請(qǐng)求方式再現(xiàn)數(shù)字內(nèi)容12的權(quán)利。例如,這樣數(shù)字內(nèi)容12的內(nèi)容擁有者可能已經(jīng)命令不授權(quán)任何許可證16,讓用戶打印文本文件,或把多媒體播放復(fù)制成未解密形式。在本發(fā)明的一個(gè)實(shí)施例中,數(shù)字內(nèi)容12包括當(dāng)購(gòu)買了許可證16時(shí)可得到什么權(quán)利的數(shù)據(jù)、和可用許可證16的類型。但是,應(yīng)該認(rèn)識(shí)到,一段數(shù)字內(nèi)容12的內(nèi)容擁有者可以在任何時(shí)候通過(guò)改變適合于這樣數(shù)字內(nèi)容12的許可證16,來(lái)改變當(dāng)前適合于這樣數(shù)字內(nèi)容的12的權(quán)利。
DRM系統(tǒng)32-許可證獲取現(xiàn)在參照?qǐng)D7,如果事實(shí)上許可證評(píng)估器36在許可證存儲(chǔ)器件38中沒(méi)有找到任何一個(gè)與所請(qǐng)求數(shù)字內(nèi)容12相對(duì)應(yīng)的有效、授權(quán)許可證16,那么,DRM系統(tǒng)32就執(zhí)行許可證獲取功能。如圖3所示,每段數(shù)字內(nèi)容12都被打包成含有與如何獲得再現(xiàn)這樣數(shù)字內(nèi)容12的許可證16有關(guān)的、采取未加密形式的信息(即,許可證獲取信息)。
在本發(fā)明的一個(gè)實(shí)施例中,這樣的許可證獲取信息可以包括(除了別的之外)可用許可證16的類型、和一個(gè)或多個(gè)適當(dāng)許可證服務(wù)器24可以訪問(wèn)的一個(gè)或多個(gè)因特網(wǎng)網(wǎng)站或其它網(wǎng)站信息,其中,每個(gè)這樣的許可證服務(wù)器24事實(shí)上都能夠發(fā)放與數(shù)字內(nèi)容12相對(duì)應(yīng)的許可證16。當(dāng)然,也可以采用不偏離本發(fā)明精神和范圍的其它方式獲得許可證16。例如,可以在電子布告牌上、甚至可以以磁盤(pán)或光盤(pán)等上的文件的形式人為地或通過(guò)常規(guī)郵件,從許可證服務(wù)器24獲得許可證16。
假設(shè)獲得許可證16的位置事實(shí)上是網(wǎng)絡(luò)上的許可證服務(wù)器24,那么,許可證評(píng)估器36根據(jù)網(wǎng)站或其它網(wǎng)絡(luò)信息建立與這樣許可證服務(wù)器24的網(wǎng)絡(luò)連接,然后,從這樣連接的許可證服務(wù)器24發(fā)送有關(guān)許可證16的請(qǐng)求(步驟701,703)。具體地說(shuō),一旦DRM系統(tǒng)32已經(jīng)與許可證服務(wù)器24取得聯(lián)系,這樣的DRM系統(tǒng)32就把適當(dāng)?shù)脑S可證請(qǐng)求信息36發(fā)送到這樣的許可證服務(wù)器24。在本發(fā)明的一個(gè)實(shí)施例中,除了別的之外,這樣的許可證16的請(qǐng)求信息36可以包括DRM系統(tǒng)32的黑箱30的公開(kāi)密鑰(PU-BB);DRM系統(tǒng)32的黑箱30的版本號(hào);來(lái)自證明黑箱30的證明機(jī)構(gòu)的、帶有數(shù)字簽名的證明書(shū)(其中,證明書(shū)事實(shí)上可以包括上述公開(kāi)密鑰和黑箱30的版本號(hào));標(biāo)識(shí)數(shù)字內(nèi)容12(或數(shù)據(jù)包12p)的內(nèi)容ID(或數(shù)據(jù)包ID);標(biāo)識(shí)解密數(shù)字內(nèi)容12用的解密密鑰(KD)的密鑰ID;請(qǐng)求再現(xiàn)數(shù)字內(nèi)容12的再現(xiàn)應(yīng)用程序類型;所請(qǐng)求的許可證16的類型(如果實(shí)際上有許多種類型適用的話);等等。
當(dāng)然,數(shù)量更多一些或更少一些的許可證16的請(qǐng)求信息36都可以由DRM系統(tǒng)32發(fā)送到許可證服務(wù)器24,這都不偏離本發(fā)明的精神和范圍。例如,有關(guān)再現(xiàn)應(yīng)用程序34的類型的信息可能是沒(méi)有必要的,而有關(guān)用戶和/或用戶計(jì)算設(shè)備14的附加信息可能是必要的。
一旦許可證服務(wù)器24已經(jīng)從DRM系統(tǒng)32接收到許可證16的請(qǐng)求信息36,許可證服務(wù)器24就可以接著進(jìn)行有關(guān)信任/驗(yàn)證和其它目的的幾種檢驗(yàn)。在本發(fā)明的一個(gè)實(shí)施例中,這樣的許可證服務(wù)器24用證明機(jī)構(gòu)的數(shù)字簽名檢驗(yàn)證明書(shū),以確定這樣的證明書(shū)是否已經(jīng)被偽造了,或已經(jīng)被修改了(步驟705,707)。如果確是這樣的話,許可證服務(wù)器24根據(jù)請(qǐng)求信息36,拒絕授予任何許可證16。許可證服務(wù)器24也可以保存已知‘壞’用戶和/或用戶計(jì)算設(shè)備14的列表,和可以根據(jù)來(lái)自列表上任何這樣壞用戶和/或壞用戶計(jì)算設(shè)備14的請(qǐng)求,拒絕授予任何許可證16??梢砸圆黄x本發(fā)明精神和范圍的任何適當(dāng)方式匯編這樣的‘壞’列表。
根據(jù)接收的請(qǐng)求和與之相關(guān)的信息,尤其根據(jù)許可證請(qǐng)求信息中的內(nèi)容ID(或數(shù)據(jù)包ID),許可證服務(wù)器24可以查詢內(nèi)容密鑰數(shù)據(jù)庫(kù)20(圖1),并且定位與作為請(qǐng)求要素(basis)的數(shù)字內(nèi)容12(或數(shù)據(jù)包12p)相對(duì)應(yīng)的記錄。如上面所討論的,這樣的記錄包含這樣數(shù)字內(nèi)容12的解密密鑰(KD)、密鑰ID、和內(nèi)容ID。另外,這樣的記錄還包含與要為數(shù)字內(nèi)容12發(fā)放的許可證16的類型和每個(gè)類型許可證16的條款和條件有關(guān)的許可證數(shù)據(jù)?;蛘?,這樣的記錄可以包括到含有這樣附加信息的位置的指針、鏈路、或參考點(diǎn)。
如上所述,可能有多種類型的許可證16可供使用。例如,對(duì)于相對(duì)少的許可使用費(fèi),可以獲得允許再現(xiàn)有限次數(shù)的許可證16。對(duì)于相對(duì)多的許可使用費(fèi),可以獲得允許在截止日期之前無(wú)限再現(xiàn)的許可證16。對(duì)于再多一點(diǎn)的許可使用費(fèi),可以獲得允許無(wú)任何截止日期地?zé)o限再現(xiàn)的許可證16。實(shí)際上,許可證服務(wù)器24可以設(shè)計(jì)和發(fā)放含有任何種類許可條款的任何類型許可證16,這不偏離本發(fā)明的精神和范圍。
在本發(fā)明的一個(gè)實(shí)施例中,對(duì)許可證16的請(qǐng)求是借助于從許可證服務(wù)器24發(fā)送到用戶計(jì)算設(shè)備14的網(wǎng)頁(yè)等完成的。對(duì)于作為許可證16的請(qǐng)求要素的數(shù)字內(nèi)容12,這樣的網(wǎng)頁(yè)最好包括與可從許可證服務(wù)器24獲得的所有類型許可證16有關(guān)的信息。
在本發(fā)明的一個(gè)實(shí)施例中,在發(fā)放許可證16之前,許可證服務(wù)器24檢驗(yàn)黑箱30的版本號(hào),以確定這樣的黑箱30相對(duì)來(lái)說(shuō)是否是最近的(步驟709,711)。應(yīng)該明白,黑箱30的目的是起保密作用和免遭用戶不懷好意的攻擊(即,在沒(méi)有許可證16的情況下,或者在相應(yīng)許可證16的條款之外,不適當(dāng)再現(xiàn)數(shù)字內(nèi)容12)。但是,應(yīng)該認(rèn)識(shí)到,實(shí)際上沒(méi)有系統(tǒng)和沒(méi)有軟件設(shè)備完全抵擋得了這樣的攻擊。
還應(yīng)該明白,如果黑箱30相對(duì)來(lái)說(shuō)是最近的,即,相對(duì)來(lái)說(shuō)是最近獲得或更新的,那么,這樣的黑箱30被這樣的惡意用戶成功攻擊過(guò)的可能性就會(huì)更小一點(diǎn)。就信任來(lái)說(shuō),最好,如果許可證服務(wù)器24接收到帶有請(qǐng)求信息36的許可證請(qǐng)求,而這樣的請(qǐng)求信息36包括了相對(duì)來(lái)說(shuō)不是最近的黑箱30版本號(hào),那么,在相應(yīng)黑箱被升級(jí)成最近版本之前,這樣的許可證服務(wù)器24拒絕發(fā)放所請(qǐng)求的許可證16,下面將對(duì)此加以討論。簡(jiǎn)而言之,在這樣的黑箱30相對(duì)來(lái)說(shuō)是最近的之前,許可證服務(wù)器24不信任這樣的黑箱30。
在本發(fā)明的黑箱30的情況中,術(shù)語(yǔ)‘最近的’或‘相對(duì)來(lái)說(shuō)最近的’可以含有與根據(jù)黑箱30的使用時(shí)間或使用情況提供黑箱的信任度的功能相一致的、不偏離本發(fā)明精神和范圍的任何適當(dāng)含義。例如,‘最近的’可以根據(jù)使用時(shí)間來(lái)定義(例如,使用時(shí)間不到一個(gè)月)。作為另一個(gè)例子,‘最近的’可以根據(jù)黑箱已經(jīng)解密了數(shù)字內(nèi)容12的次數(shù)來(lái)定義(例如,小于200個(gè)解密樣本)。此外,‘最近的’還可以基于每個(gè)許可證服務(wù)器24所設(shè)定的政策,其中,除了別的以外,一個(gè)許可證存儲(chǔ)器24可以把‘最近的’定義得與另一個(gè)許可證存儲(chǔ)器24所定義的不一樣,和許可證服務(wù)器還可以依照為其請(qǐng)求許可證16的數(shù)字內(nèi)容12,或依照所請(qǐng)求的許可證16的類型而不同地定義‘最近的’。
假設(shè)許可證服務(wù)器24根據(jù)黑箱30的版本號(hào)或它的其它標(biāo)記,相信這樣的黑箱30是最近的,那么,許可證服務(wù)器24著手與用戶協(xié)商許可證16的條款和條件(步驟713)?;蛘撸S可證服務(wù)器24先與用戶協(xié)商許可證16,然后,根據(jù)黑箱30的版本號(hào),使自己相信這樣的黑箱30是最近的(即,先執(zhí)行步驟713,再執(zhí)行步驟711)。當(dāng)然,協(xié)商的數(shù)量依照要發(fā)放的許可證16的類型、以及其它因素而改變。例如,如果許可證服務(wù)器24只發(fā)放已付清款項(xiàng)的無(wú)限期使用許可證16,那么,就不需要什么協(xié)商。另一方面,如果許可證16要依賴于諸如可變值、滑動(dòng)量(sliding scale)、斷點(diǎn)之類的條款、和其它細(xì)節(jié),那么,在可以發(fā)放許可證16之前,在許可證服務(wù)器24與用戶之間需要弄清楚這樣的條款和細(xì)節(jié)。
應(yīng)該明白,依環(huán)境而定,許可證協(xié)商可能要求用戶向許可證服務(wù)器24提供進(jìn)一步的信息(例如,有關(guān)用戶、用戶計(jì)算設(shè)備14等的信息)。重要的是,除了別的以外,許可證協(xié)商還可以要求用戶和許可證服務(wù)器24確定相互可接受的支付手段(貸方帳戶、借方帳戶、郵寄支票等)和/或支付方法(馬上付清款項(xiàng)、延續(xù)一段時(shí)間等)。
一旦許可證服務(wù)器24和用戶雙方已經(jīng)協(xié)商好和同意許可證16的所有條款(步驟715),就由許可證服務(wù)器24生成數(shù)字許可證16(步驟719),其中,如此生成的許可證16至少部分基于許可證請(qǐng)求、黑箱30的公開(kāi)密鑰(PU-BB)、和從內(nèi)容密鑰數(shù)據(jù)庫(kù)20獲得的、用于作為請(qǐng)求要素的數(shù)字內(nèi)容12的解密密鑰(KD)。從圖8可以看出,在本發(fā)明的一個(gè)實(shí)施例中,生成的許可證16包括許可證16應(yīng)用于它的數(shù)字內(nèi)容12的內(nèi)容ID;數(shù)字權(quán)利許可(DRL)48(即,以許可證評(píng)估器36可以查詢的預(yù)定方式寫(xiě)下來(lái)的許可證16的權(quán)利描述或?qū)嶋H條款和條件),或許,用解密密鑰(KD)加密的DRL(即,KD(DRL));在許可證請(qǐng)求中接收到的、用黑箱30的公開(kāi)密鑰(PU-BB)加密的、數(shù)字內(nèi)容12的解密密鑰(KD)(即,(PU-BB(KD)));基于(KD(DRL))和(PU-BB(KD))的和用許可證服務(wù)器24的私人(秘密)密鑰加密的、來(lái)自許可證服務(wù)器24(沒(méi)有任何附帶的證明書(shū))的數(shù)字簽名(即,(S(PR-LS)));和許可證服務(wù)器24以前從內(nèi)容服務(wù)器22獲得的證明書(shū),這樣的證明書(shū)指示許可證服務(wù)器24擁有來(lái)自內(nèi)容服務(wù)器22的、發(fā)放許可證16的權(quán)力(即,CERT(PU-LS)S(PR-CS)))。
應(yīng)該明白,上述單元,或許還有其它單元被打包成數(shù)字文件或其它一些適當(dāng)?shù)男问健_€應(yīng)該明白,萬(wàn)一許可證16中的DRL48或(PU-BB(KD))被偽造了,或被修改了,許可證16中的數(shù)字簽名(S(PR-LS))將不匹配,因此,不能證實(shí)這樣的許可證16。由于這個(gè)原因,DRL48不需要非要采取加密形式不可(即,上述的(KD(DRL)),盡管在某些情況下這樣的加密形式可能是所希望的,并且應(yīng)用這樣的加密形式也不偏離本發(fā)明的精神和范圍。
一旦準(zhǔn)備好數(shù)字許可證16,就把這樣的許可證16發(fā)送給請(qǐng)求者(即,用戶計(jì)算設(shè)備14上的DRM系統(tǒng)32)(圖7中的步驟719)。最好,通過(guò)與作出請(qǐng)求的路徑相同的路徑(即,因特網(wǎng)或另一個(gè)網(wǎng)絡(luò))上發(fā)送許可證16,盡管應(yīng)用另一條路徑也不偏離本發(fā)明的精神和范圍。一旦接收到,正在請(qǐng)求的DRM系統(tǒng)32最好自動(dòng)地把接收的數(shù)字許可證16放置在許可證存儲(chǔ)器件38中(步驟721)。
應(yīng)該明白,用戶計(jì)算設(shè)備16有時(shí)可能會(huì)出現(xiàn)故障,和存儲(chǔ)在這樣用戶計(jì)算設(shè)備14上DRM系統(tǒng)32的許可證存儲(chǔ)器件38中的許可證16可以不可逆地丟失了。于是,最好,許可證服務(wù)器24保存已發(fā)放許可證16的數(shù)據(jù)庫(kù)50(圖1),和如果用戶實(shí)際上有資格獲得補(bǔ)發(fā)件,這樣的許可證服務(wù)器24就把已發(fā)放許可證16的副本或這樣的補(bǔ)發(fā)件(下文稱為‘補(bǔ)發(fā)件’)提供給用戶。在上述許可證16不可逆地丟失了的情況中,也有可能出現(xiàn)存儲(chǔ)在狀態(tài)存儲(chǔ)器件40中的、與這樣的許可證16相對(duì)應(yīng)的狀態(tài)信息也丟失了的情況。當(dāng)補(bǔ)發(fā)許可證16時(shí),應(yīng)該考慮到如此丟失的狀態(tài)信息。例如,如果經(jīng)過(guò)了相對(duì)短的時(shí)間間隔,那么,以按比例分配(pro-rated)的方式合理地補(bǔ)發(fā)再現(xiàn)一定次數(shù)的許可證16,如果經(jīng)過(guò)了相對(duì)長(zhǎng)的時(shí)間間隔,那么,根本就不補(bǔ)發(fā)再現(xiàn)一定次數(shù)的許可證16。
DRM系統(tǒng)32-黑箱30的安裝/升級(jí)正如上面所討論的,作為獲取許可證16的功能的組成部分,如果用戶計(jì)算設(shè)備14含有其中的黑箱30相對(duì)來(lái)說(shuō)不是最近的,即,具有相對(duì)舊的版本的DRM系統(tǒng)32,那么,許可證服務(wù)器24可以拒絕來(lái)自用戶的對(duì)許可證16的請(qǐng)求。在這樣的情況中,最好,升級(jí)這樣DRM系統(tǒng)32的黑箱30,以便許可證獲取功能可以繼續(xù)執(zhí)行下去。當(dāng)然,在其它時(shí)間升級(jí)黑箱30也不偏離本發(fā)明的精神和范圍。
最好,作為在用戶計(jì)算設(shè)備114上安裝DRM系統(tǒng)32的處理的組成部分,提供黑箱30的非專用‘試用(lite)’版本。然后,在再現(xiàn)一段數(shù)字內(nèi)容12之前,把這樣的‘試用’黑箱30升級(jí)成專用正規(guī)版本。應(yīng)該明白,如果在每個(gè)DRM系統(tǒng)32中的每個(gè)黑箱30都是專用的,那么,利用任何其它黑箱30都不能容易地復(fù)制進(jìn)入一個(gè)黑箱的安全缺口。
現(xiàn)在參照?qǐng)D9,通過(guò)從黑箱服務(wù)器26等(如上面所討論的和如圖1所示的)請(qǐng)求專用黑箱30,DRM系統(tǒng)32獲得專用黑箱30(步驟901)。通常,這樣的請(qǐng)求通過(guò)因特網(wǎng)作出,盡管應(yīng)用其它訪問(wèn)手段也不偏離本發(fā)明的精神和范圍。例如,與黑箱服務(wù)器26的連接可以是直接連接,本地的或遠(yuǎn)程的。DRM系統(tǒng)32也可以在任何時(shí)間請(qǐng)求從一個(gè)專用非試用黑箱30到另一個(gè)專用非試用黑箱30的升級(jí),例如,正如上面所討論的,在許可證服務(wù)器24認(rèn)為黑箱30不是最近的時(shí)候。
此后,黑箱服務(wù)器26生成新的專用黑箱30(步驟903)。從圖3可以看出,每個(gè)新黑箱30配備了版本號(hào)和來(lái)自證明機(jī)構(gòu)的、帶有數(shù)字簽名的證明書(shū)。正如上面結(jié)合許可證獲取功能所討論的那樣,黑箱30的版本號(hào)指示它的相關(guān)使用時(shí)間和/或使用情況。也是上面結(jié)合許可證獲取功能所討論的、來(lái)自證明機(jī)構(gòu)的、帶有數(shù)字簽名的證明書(shū)是許可證服務(wù)器24應(yīng)該信任黑箱30的、來(lái)自證明機(jī)構(gòu)的擔(dān)?;蜃髯C機(jī)制。當(dāng)然,許可證服務(wù)器24必須信任證明機(jī)構(gòu)為事實(shí)上值得信賴的黑箱30發(fā)放這樣的證明書(shū)。事實(shí)上,可能還有一種情況,那就是許可證服務(wù)器24不信任特定的證明機(jī)構(gòu),并且拒絕承認(rèn)這樣證明機(jī)構(gòu)發(fā)放的任何證明書(shū)。例如,如果發(fā)現(xiàn)特定的證明機(jī)構(gòu)正從事著不正當(dāng)?shù)匕l(fā)放證明書(shū)的勾當(dāng),就會(huì)出現(xiàn)這樣的不信任。
正如上面所討論的那樣,最好,黑箱服務(wù)器26包括與新生成專用黑箱30一起的新專用公開(kāi)/秘密密鑰對(duì)(PU-BB,PR-BB)。最好,黑箱的秘密密鑰(PR-BB)只可由這樣的黑箱30訪問(wèn),對(duì)于這個(gè)世界的其余部分,包括含有附帶這樣黑箱30的DRM系統(tǒng)30的計(jì)算設(shè)備14、和它用戶來(lái)說(shuō),是隱藏起來(lái)的,和不能被訪問(wèn)的。
總的來(lái)說(shuō),應(yīng)用任何一種隱藏方案都不偏離本發(fā)明的精神和范圍,只要這樣的隱藏方案事實(shí)上執(zhí)行使秘密密鑰(PR-BB)不被大家所知的功能即可。僅舉一例,可以把秘密密鑰(PR-BB)分解成幾個(gè)子元,專門(mén)加密每個(gè)子元,并且將其存儲(chǔ)在不同的地方。在這樣的情況中,最好永遠(yuǎn)都不要把這樣的子元完全組裝在一起,形成完整的秘密密鑰(PR-BB)。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)基于代碼的加密技術(shù)加密這樣的秘密密鑰(PR-BB)。具體地說(shuō),在這樣的實(shí)施例中,把黑箱30的實(shí)際軟件代碼(或其它軟件代碼)用作加密密鑰。于是,如果黑箱30的代碼(或其它軟件代碼)被,例如,用戶出于惡意的目的偽造了,要不然就是修改了,那么,就不能解密這樣的秘密密鑰(PR-BB)。
盡管每個(gè)新黑箱30與新公開(kāi)/秘密密鑰對(duì)(PU-BB,PR-BB)一起傳送,但是,最好也把這樣的新黑箱30設(shè)成可以訪問(wèn)以前從舊黑箱30傳送到用戶計(jì)算設(shè)備14上的DRM系統(tǒng)32的舊公開(kāi)/秘密密鑰對(duì)(步驟905)。于是,升級(jí)的黑箱30仍然可以把舊密鑰對(duì)用于訪問(wèn)較舊的數(shù)字內(nèi)容12和根據(jù)這樣的舊密鑰對(duì)生成的相應(yīng)較舊許可證16,以后再對(duì)此作更詳細(xì)討論。
最好,由黑箱服務(wù)器26傳送的升級(jí)黑箱30與用戶計(jì)算設(shè)備14密切地聯(lián)系在一起。于是,不能在多個(gè)計(jì)算設(shè)備14之間為了惡意的目的或其它的目的可操作地傳送升級(jí)黑箱30。在本發(fā)明的一個(gè)實(shí)施例中,作為對(duì)黑箱30的請(qǐng)求的組成部分(步驟901),DRM系統(tǒng)32把專用于這樣的DRM系統(tǒng)32和/或?qū)S糜谟脩粲?jì)算設(shè)備14的硬件信息提供給黑箱服務(wù)器26,和黑箱服務(wù)器26部分根據(jù)如此提供的硬件信息,為DRM系統(tǒng)32生成黑箱30。然后,把如此生成的升級(jí)黑箱30傳送到和安裝在用戶計(jì)算設(shè)備14上的DRM系統(tǒng)32中(步驟907,909)。如果在那時(shí)升級(jí)黑箱30不知何故被傳送到另一個(gè)計(jì)算設(shè)備14,那么,傳送的黑箱30認(rèn)識(shí)到這樣的其它計(jì)算設(shè)備14并不是它的目的地,因此,不允許在這樣的其它計(jì)算設(shè)備14上進(jìn)行任何請(qǐng)求的再現(xiàn)。
一旦把新黑箱30安裝在DRM系統(tǒng)32中,這樣的DRM系統(tǒng)32就可以繼續(xù)進(jìn)行許可證獲取功能或繼續(xù)進(jìn)行任何其它功能。
DRM系統(tǒng)32-內(nèi)容再現(xiàn),第3部分現(xiàn)在參照?qǐng)D5B,并且,現(xiàn)在假設(shè)許可證評(píng)估器36已經(jīng)找到了至少一個(gè)有效許可證16和至少一個(gè)這樣的許可證16把以檢索方式再現(xiàn)相應(yīng)數(shù)字內(nèi)容12所需的權(quán)利提供給用戶(即,授權(quán)),許可證評(píng)估器36接著選擇要進(jìn)一步使用的、這樣的許可證16之一(步驟519)。具體地說(shuō),為了再現(xiàn)所請(qǐng)求的數(shù)字內(nèi)容12,許可證評(píng)估器36和黑箱30結(jié)合在一起從這樣的許可證16中獲得解密密鑰(KD),和黑箱30把這樣的解密密鑰(KD)用于解密數(shù)字內(nèi)容12。正如上面所討論的那樣,在本發(fā)明的一個(gè)實(shí)施例中,從許可證16中獲得的解密密鑰(KD)是用黑箱30的公開(kāi)密鑰(PU-BB(KD))加密的,和黑箱30用它的秘密密鑰(PR-BB)解密如此加密的解密密鑰,以生成解密密鑰(KD)(步驟521,523)。但是,應(yīng)用其它獲得數(shù)字內(nèi)容12的解密密鑰(KD)的方法也不偏離本發(fā)明的精神和范圍。
一旦黑箱30擁有數(shù)字內(nèi)容12的解密密鑰(KD)和再現(xiàn)數(shù)字內(nèi)容12的、來(lái)自許可證評(píng)估器36的權(quán)限,就可以把控制返還給再現(xiàn)應(yīng)用程序34(步驟525,527)。在本發(fā)明的一個(gè)實(shí)施例中,接著,再現(xiàn)應(yīng)用程序34調(diào)用DRM系統(tǒng)32/黑箱30,把至少一部分加密數(shù)字內(nèi)容12引向黑箱30,根據(jù)解密密鑰(KD)進(jìn)行解密(步驟529)。黑箱30根據(jù)數(shù)字內(nèi)容12的解密密鑰(KD)解密數(shù)字內(nèi)容12,然后,黑箱30把解密的數(shù)字內(nèi)容12返還給再現(xiàn)應(yīng)用程序34進(jìn)行實(shí)際再現(xiàn)(步驟533,535)。再現(xiàn)應(yīng)用程序34可以把一部分加密數(shù)字內(nèi)容12或整個(gè)數(shù)字內(nèi)容12發(fā)送到黑箱30,根據(jù)這樣數(shù)字內(nèi)容12的解密密鑰(KD)進(jìn)行解密密鑰,這不偏離本發(fā)明的精神和范圍。
最后,當(dāng)再現(xiàn)應(yīng)用程序34把數(shù)字內(nèi)容12發(fā)送到黑箱30進(jìn)行解密時(shí),黑箱30和/或DRM系統(tǒng)32驗(yàn)證這樣的再現(xiàn)應(yīng)用程序34,以保證它事實(shí)上就是最初請(qǐng)求DRM系統(tǒng)32運(yùn)行的再現(xiàn)應(yīng)用程序34(步驟531)。否則的話,存在著根據(jù)一種再現(xiàn)應(yīng)用程序34的再現(xiàn)請(qǐng)求不適當(dāng)?shù)孬@得再現(xiàn)許可,而事實(shí)上用另一種再現(xiàn)應(yīng)用程序34再現(xiàn)的可能性。假設(shè)驗(yàn)證是成功的和數(shù)字內(nèi)容12由黑箱30解密,接著,再現(xiàn)應(yīng)用程序34可以再現(xiàn)解密的數(shù)字內(nèi)容12(步驟533,535)。
密鑰事務(wù)處理的順序現(xiàn)在參照?qǐng)D10,在本發(fā)明的一個(gè)實(shí)施例中,進(jìn)行一系列密鑰事務(wù)處理,以獲得解密密鑰(KD)和評(píng)估所請(qǐng)求的一段數(shù)字內(nèi)容12的許可證16(即,執(zhí)行圖5A和5B的步驟515-523)。大體上,在這樣的序列中,DRM系統(tǒng)32從許可證16中獲得解密密鑰(KD),利用從許可證16和數(shù)字內(nèi)容12中獲得的信息驗(yàn)證或保證兩者的有效性,然后確定許可證16事實(shí)上是否提供了以檢索方式再現(xiàn)數(shù)字內(nèi)容12的權(quán)利。如果是這樣,就可以再現(xiàn)數(shù)字內(nèi)容12。
請(qǐng)記住,從圖8可以看出,數(shù)字內(nèi)容12的每個(gè)許可證16包括許可證16應(yīng)用于它的數(shù)字內(nèi)容12的內(nèi)容ID;或許用解密密鑰(KD)加密的數(shù)字權(quán)利許可(DRL)48(即,KD(DRL));用黑箱30的公開(kāi)密鑰(PU-BB)加密的、數(shù)字內(nèi)容12的解密密鑰(KD)(即,(PU-BB(KD)));基于(KD(DRL))和(PU-BB(KD))的和用許可證服務(wù)器24的秘密密鑰加密的、來(lái)自許可證服務(wù)器24的數(shù)字簽名(即,(S(PR-LS)));和許可證服務(wù)器24以前從內(nèi)容服務(wù)器22獲得的證明書(shū),(即,CERT(PU-LS)S(PR-CS))),并且,還請(qǐng)記住,從圖3可以看出,含有數(shù)字內(nèi)容12的數(shù)據(jù)包12p包括這樣數(shù)字內(nèi)容12的內(nèi)容ID;用KD加密的數(shù)字內(nèi)容12(即,(KD(CONTENT)));未加密的許可證獲取腳本;和通過(guò)內(nèi)容服務(wù)器22的秘密密鑰(PR-CS)簽名的、加密內(nèi)容服務(wù)器22的公開(kāi)密鑰(PU-CS)的密鑰KD(即,(KD(PU-CS)S(PR-CS))),在本發(fā)明的一個(gè)實(shí)施例中,對(duì)數(shù)字內(nèi)容12的特定一個(gè)許可證16進(jìn)行密鑰事務(wù)處理的特定順序如下1.根據(jù)來(lái)自許可證16的(PU-BB(KD)),用戶計(jì)算設(shè)備14上DRM系統(tǒng)32的黑箱30用它的秘密密鑰(PR-BB)來(lái)獲取(KD)(步驟1001)。(PR-BB(PU-BB(KD))=(KD))。請(qǐng)注意,重要的是,黑箱30在那時(shí)可以馬上轉(zhuǎn)到用(KD)來(lái)解密數(shù)字內(nèi)容12,而不用進(jìn)一步地忙亂(ado)但是,同樣重要的是,許可證服務(wù)器12信任黑箱30不會(huì)這樣做。這樣的信任是在這樣的許可證服務(wù)器24根據(jù)來(lái)自為這樣的黑箱30值得信賴作證的證明機(jī)構(gòu)的證明書(shū)發(fā)放許可證16的時(shí)候建立起來(lái)的。于是,盡管黑箱在開(kāi)始步驟不同于在最后步驟獲得解密密鑰(KD),但是,DRM系統(tǒng)32繼續(xù)執(zhí)行如下所述的所有許可證16的核實(shí)和評(píng)估功能。
2.根據(jù)來(lái)自數(shù)字內(nèi)容12的(KD(PU-CS)S(PR-CS)),黑箱30用新獲得的解密密鑰(KD)來(lái)獲得(PU-CS)(步驟1003)。(KD(KD(PU-CS))=(PU-CS))。另外,黑箱30可以再次把(PU-CS)用作簽名(S(PR-CS)),使自己相信這樣的簽名和這樣的數(shù)字內(nèi)容12/數(shù)據(jù)包12p是有效的(步驟1005)。如果無(wú)效,就停止處理,并且拒絕對(duì)數(shù)字內(nèi)容12的訪問(wèn)。
3.根據(jù)來(lái)自許可證16的CERT(PU-LS)S(PR-CS)),黑箱30應(yīng)用新獲得的內(nèi)容服務(wù)器22的公開(kāi)密鑰(PU-CS),使自己相信證明書(shū)是有效的(步驟1007),表示發(fā)放了許可證16的許可證服務(wù)器24擁有這樣的做的、來(lái)自內(nèi)容服務(wù)器22的權(quán)力,然后,檢查證明書(shū)內(nèi)容,以獲得(PU-LS)(步驟1009)。如果無(wú)效,就停止處理,并且拒絕根據(jù)許可證16對(duì)數(shù)字內(nèi)容12的訪問(wèn)。
4.根據(jù)來(lái)自許可證16的S(PR-CS),黑箱30應(yīng)用新獲得的許可證服務(wù)器24的公開(kāi)密鑰(PU-LS),使自己相信許可證16是有效的(步驟1011)。如果無(wú)效,就停止處理,并且拒絕根據(jù)許可證16對(duì)數(shù)字內(nèi)容12的訪問(wèn)。
5.假設(shè)所有核實(shí)步驟都是成功的,許可證16中的DRL48事實(shí)上是用解密密鑰(KD)加密的,然后,許可證評(píng)估器36把已經(jīng)獲得的解密密鑰(KD)應(yīng)用于從許可證16中獲得的(KD(DRL)),以便從許可證16中獲得許可證條款(即,DRL48)(步驟1013)。當(dāng)然,如果許可證16中的DRL48事實(shí)上不是用解密密鑰(KD)加密的,那么,可以省略步驟1013。接著,許可證評(píng)估器36評(píng)估/查詢DRL48,并且確定用戶計(jì)算設(shè)備14是否擁有根據(jù)許可證16中的DRL48以檢索方式再現(xiàn)相應(yīng)數(shù)字內(nèi)容12的權(quán)利(即,DRL48是否是授權(quán)的)(步驟1015)。如果許可證評(píng)估器36確定不存在這樣的權(quán)利,就停止處理,并且拒絕根據(jù)許可證16對(duì)數(shù)字內(nèi)容12的訪問(wèn)。
6.最后,假設(shè)對(duì)許可證16的評(píng)估得出肯定的結(jié)論,即用戶計(jì)算設(shè)備14擁有根據(jù)DRL48條款以檢索方式再現(xiàn)相應(yīng)數(shù)字內(nèi)容12的權(quán)利,許可證評(píng)估器36告知黑箱30這樣的黑箱30可以根據(jù)解密密鑰(KD)再現(xiàn)相應(yīng)數(shù)字內(nèi)容12。此后,黑箱30應(yīng)用解密密鑰(KD),解密來(lái)自數(shù)據(jù)包12p的數(shù)字內(nèi)容12(即,(KD(KD(CONTENT))=(CONTENT))(步驟1017)。
重要的是,注意到上面特定的一系列步驟代表許可證16和數(shù)字內(nèi)容12之間的交互關(guān)系或‘來(lái)往關(guān)系’。這樣的來(lái)往關(guān)系保證了數(shù)字內(nèi)容12與許可證12緊密地聯(lián)系在一起,因?yàn)橹挥挟?dāng)數(shù)字內(nèi)容和許可證16兩者以適當(dāng)發(fā)放和有效方式存在時(shí),才可以進(jìn)行核實(shí)和評(píng)估處理。另外,由于需要相同的解密密鑰(KD)來(lái)以解密方式獲得來(lái)自許可證16的內(nèi)容服務(wù)器22公開(kāi)密鑰(PU-CS)和來(lái)自數(shù)據(jù)包12p的數(shù)字內(nèi)容12(也許,還要以解密方式獲得來(lái)自許可證16的許可條款(DRL48)),這樣的條款也是緊密相關(guān)的。簽名核實(shí)還保證了數(shù)字內(nèi)容12和許可證16分別處在與內(nèi)容服務(wù)器22和許可證服務(wù)器24所發(fā)放的形式相同的形式下。于是,即使并非不可能,但是通過(guò)繞過(guò)許可證服務(wù)器24來(lái)解密數(shù)字內(nèi)容12也是非常困難的,和即使并非不可能,但是,想改變、然后解密數(shù)字內(nèi)容12或許可證16也是非常困難的。
在本發(fā)明的一個(gè)實(shí)施例中,進(jìn)行簽名核實(shí),尤其是許可證16的簽名核實(shí)可以用如下的步驟替代。不是含有從圖8看到的、由許可證服務(wù)器16的秘密密鑰(PR-LS)加密的簽名,而是,每個(gè)許可證16含有用秘密根密鑰(PR-R)加密的簽名(未示出),其中,每個(gè)DRM系統(tǒng)32的黑箱30包括與秘密根密鑰(PR-R)相對(duì)應(yīng)的公開(kāi)根密鑰(PU-R)(也未示出)。秘密根密鑰(PR-R)只讓根實(shí)體知道,和如果許可證服務(wù)器24已經(jīng)安排用根實(shí)體發(fā)放許可證16,那么,這樣的許可證服務(wù)器24只能發(fā)放許可證16。
具體地說(shuō),在這樣的實(shí)施例中1.許可證服務(wù)器24把它的公開(kāi)密鑰(PU-LS)提供給根實(shí)體;2.根實(shí)體把用秘密根密鑰(PR-R)加密的許可證服務(wù)器公開(kāi)密鑰(PU-LS)返還給這樣的許可證服務(wù)器24(即,(CERT(PU-LS)S(PR-R)));和3.然后,許可證服務(wù)器24發(fā)放帶有用許可證服務(wù)器秘密密鑰加密的簽名(S(PR-LS))的許可證16,并且把來(lái)自根實(shí)體的證明書(shū)(CERT(PU-LS)S(PR-R))附在許可證上。
至于DRM系統(tǒng)18核實(shí)如此發(fā)放的許可證16,接著,DRM系統(tǒng)181.把公開(kāi)根密鑰(PU-R)應(yīng)用于所附的證明書(shū)(CERT(PU-LS)S(PR-R)),以獲得許可證服務(wù)器公開(kāi)密鑰(PU-LS);和2.把獲得的許可證服務(wù)器公開(kāi)密鑰(PU-LS)應(yīng)用于許可證16的簽名S(PR-LS)。
重要的是,應(yīng)該認(rèn)識(shí)到,就像根實(shí)體通過(guò)把證明書(shū)(CERT(PU-LS)S(PR-R))提供給許可證服務(wù)器24,允許這樣的許可證服務(wù)器發(fā)放許可證16那樣,這樣的許可證服務(wù)器24也可以把相似的證明書(shū)提供給第二個(gè)許可證服務(wù)器24(即,(CERT(PU-LS2)S(PR-LS1))),從而使第二個(gè)許可證服務(wù)器也可以發(fā)放許可證16?,F(xiàn)在,顯而易見(jiàn),第二個(gè)許可證服務(wù)器發(fā)放的許可證16將包括第一證明書(shū)(CERT(PU-LS1)S(PR-R))和第二證明書(shū)(CERT(PU-LS2)S(PR-LS1))。同樣,順著經(jīng)過(guò)第一和第二證明書(shū)的鏈條可以核實(shí)這樣的許可證16。當(dāng)然,可以增加和切斷該鏈條中的另外鏈路。
上述簽名核實(shí)處理的一個(gè)優(yōu)點(diǎn)是,根實(shí)體可以定期地改變秘密根密鑰(PR-R),從而要求每個(gè)許可證服務(wù)器24同樣定期地獲取新證明書(shū)(CERT(PU-LS)S(PR-R))。重要的是,作為獲取這樣新證明書(shū)的要求,可以要求每個(gè)許可證服務(wù)器自我升級(jí)。與黑箱30一樣,如果許可證服務(wù)器24相對(duì)來(lái)說(shuō)是最近的,即相對(duì)來(lái)說(shuō)是最近升級(jí)的,那么,許可證服務(wù)器24被成功攻擊的可能性就更小一點(diǎn)。于是,就信任來(lái)說(shuō),最好要求每個(gè)許可證服務(wù)器24通過(guò)像簽名核實(shí)處理那樣的適當(dāng)升級(jí)觸發(fā)機(jī)制定期升級(jí)。當(dāng)然,應(yīng)用其它升級(jí)機(jī)制也不偏離本發(fā)明的精神和范圍。
當(dāng)然,如果秘密根密鑰(PR-R)發(fā)生了改變,那么,每個(gè)DRM系統(tǒng)18中的公開(kāi)根密鑰(PU-R)也必須要改變。這樣的改變可以,例如,在常規(guī)黑箱30升級(jí)期間進(jìn)行,或者,實(shí)際上可以要求進(jìn)行黑箱30升級(jí)。盡管改變的公開(kāi)根密鑰(PU-R)可能潛在地與根據(jù)舊秘密根密鑰(PR-R)發(fā)放的舊許可證16的簽名核實(shí)發(fā)生沖突,但是,通過(guò)要求升級(jí)黑箱30記住所有舊公開(kāi)根密鑰(PU-R),可以使這樣的沖突達(dá)到最小?;蛘?,通過(guò)要求對(duì)許可證16的簽名核實(shí)只進(jìn)行一次,例如,DRM系統(tǒng)18的許可證評(píng)估器36首次評(píng)估這樣的許可證,可以使這樣的沖突達(dá)到最小。在這樣的情況中,應(yīng)該匯編有關(guān)簽名核實(shí)是否已經(jīng)發(fā)生的狀態(tài)信息,并且應(yīng)該把這樣的狀態(tài)信息存儲(chǔ)在DRM系統(tǒng)18的狀態(tài)存儲(chǔ)器件40中。
數(shù)字權(quán)利許可48在本發(fā)明中,許可證評(píng)估器36評(píng)估作為許可證16的權(quán)利描述或條款的數(shù)字權(quán)利許可(DRL)48,以確定這樣的DRL48是否允許以檢索方式再現(xiàn)相應(yīng)的一段數(shù)字內(nèi)容12。在本發(fā)明的一個(gè)實(shí)施例中,DRL48可以由許可人(即,內(nèi)容擁有者)以任何DRL語(yǔ)言寫(xiě)成。
應(yīng)該明白,存在著許多種規(guī)定DRL48的方式。于是,在任何DRL語(yǔ)言中,必須考慮到高度靈活性。但是,在特定的許可證語(yǔ)言中規(guī)定DRL48的所有方面是不切實(shí)際的,并且,這樣一種語(yǔ)言的作者能夠理解特定數(shù)字許可人所希望的所有可能許可方面也是非常不可能的。此外,高級(jí)復(fù)雜的許可證語(yǔ)言也許是沒(méi)有必要的,甚至是許可人提供相對(duì)簡(jiǎn)單的DRL48的障礙。盡管如此,在如何規(guī)定DRL48方面,也不應(yīng)該多余地限制許可人。同時(shí),許可證評(píng)估器36應(yīng)該總是能夠從DRL48中找到大量具體許可證問(wèn)題的答案。
現(xiàn)在參照?qǐng)D11,在本發(fā)明中,雖然可以以任何許可證語(yǔ)言規(guī)定DRL48,但是,DRL48應(yīng)該包括語(yǔ)言標(biāo)識(shí)符或標(biāo)記54。然后,評(píng)估許可證16的許可證評(píng)估器36執(zhí)行審查語(yǔ)言標(biāo)記54以識(shí)別這樣的語(yǔ)言的預(yù)備步驟,接著,為用如此識(shí)別的語(yǔ)言訪問(wèn)許可證16選擇適當(dāng)?shù)脑S可證語(yǔ)言引擎52。應(yīng)該明白,這樣的許可證語(yǔ)言引擎52必須存在,并且可由許可證評(píng)估器36訪問(wèn)。如果不存在,語(yǔ)言標(biāo)記54和/或DRL48最好包括獲得這樣語(yǔ)言引擎52的位置56(通常是網(wǎng)站)。
通常,語(yǔ)言引擎52采取駐留在用戶計(jì)算設(shè)備14的存儲(chǔ)器,譬如,硬盤(pán)中的一個(gè)或一組可執(zhí)行文件的形式。語(yǔ)言引擎52幫助許可證評(píng)估器36直接查詢DRL48,許可證評(píng)估器36通過(guò)用作中介的語(yǔ)言引擎52等間接查詢DRL48。當(dāng)被執(zhí)行時(shí),語(yǔ)言引擎52在用戶計(jì)算設(shè)備14的存儲(chǔ)器,譬如,RAM中的工作空間中運(yùn)行。但是,應(yīng)用任何其它形式的語(yǔ)言引擎52都不偏離本發(fā)明的精神和范圍。
最好,任何一種語(yǔ)言引擎52和任何一種DRL語(yǔ)言至少支持如下所討論的、許可證評(píng)估器36希望通過(guò)任何DRL48回答的大量具體許可證問(wèn)題。于是,許可證評(píng)估器36不與任何具體的DRL語(yǔ)言聯(lián)系在一起;DRL48可以用任何適當(dāng)?shù)腄RL語(yǔ)言寫(xiě)成;和在新許可證語(yǔ)言中規(guī)定的DRL48可以由現(xiàn)有許可證評(píng)估器36通過(guò)讓這樣的許可證評(píng)估器36獲得相應(yīng)的新語(yǔ)言引擎52來(lái)使用。
DRL語(yǔ)言下面提供在各種DRL48中具體實(shí)現(xiàn)的、兩個(gè)DRL語(yǔ)言實(shí)例。第一個(gè)‘簡(jiǎn)單,DRL48是用規(guī)定許可證屬性的DRL語(yǔ)言寫(xiě)成的,而第二個(gè)‘腳本’DRL48是用可以根據(jù)在DRL48中規(guī)定的腳本執(zhí)行各種功能的DRL語(yǔ)言寫(xiě)成的。雖然是用DRL語(yǔ)言寫(xiě)成的,但是,根據(jù)它們的語(yǔ)言學(xué)和/或如下的屬性描述圖表,每行代碼的含義應(yīng)該是顯而易見(jiàn)的簡(jiǎn)單DRL 48<pre listing-type="program-listing"><![CDATA[ <LICENSE> <DATA> <NAME>Beastie Boy′s Play</NAME> <ID>39384</ID> <DESCRIPTION>Play the song 3 times</DESCRIPTION> <TERMS></TERMS> <VALIDITY> <NOTBEFORE>19980102 232014Z</NOTBEFORE> <NOTAFTER>19980102 232014Z</NOTAFTER> </VALIDITY> <ISSUEDDATE>19980102 232014Z</ISSUEDDATE> <LICENSORSITE>http//www.foo.com</LICENSORSITE><CONTENT> ?。糔AME>Beastie Boy′s</NAME> <ID>392</ID> ?。糑EYID>39292</KEYID> <TYPE>MS Encrypted ASF 2.0</TTYPE> ?。?CONTENT> <OWNER> ?。糏D>939KDKD393KD</ID> ?。糔AME>Universal</NAME> ?。糚UBLICKEY></PUBLICKEY> ?。?OWNER> ?。糒ICENSEE> <NAME>Arnold</NAME> ?。糏D>939KDKD393KD</ID> <PUBLICKEY></PUBLICKEY> ?。?LICENSEE> ?。糚RINCIPAL TYPE==AND=> ?。糚RINCIPAL TYPE==OR=> ?。糚RINCIPAL> ?。糡YPE>x86Computer</TYPE> ?。糏D>3939292939d9e939</ID> ?。糔AME>Personal Computer</NAME> ?。糀UTHTYPE>Intel Authenticated Boot PC SHA-1DSA512</AUTHTYPE> ?。糀UTHDATA>29293939</AUTHDATA> ?。?PRINCIPAL> ?。糚RINCIPAL> ?。糡YPE>Application</TYPE> ?。糏D>2939495939292</ID> <NAME>W(wǎng)indow=s Media Player</NAME> ?。糀UTHTYPE>Authenticode SHA-1</AUTHTYPE><AUTHDATA>93939</AUTHDATA> ?。?PRINCIPAL> </PRINCIPAL> ?。糚RINCIPAL> <TYPE>Person</TYPE> ?。糏D>39299482010</ID> ?。糔AME>Arnold Blinn</NAME> ?。糀UTHTYPE>Authenticate user</AUTHTYPE> <AUTHDATA>\\redmond\arnoldb</AUTHDATA> ?。?PRINCIPAL> </PRINCIPAL> ?。糄RLTYPE>Simple</DRLTYPE>[the language tag 54] <DRLDATA> ?。糞TART>19980102 232014Z</START> ?。糆ND>19980102 232014Z</END> <COUNT>3</COUNT> ?。糀CTION>PLAY</ACTION> </DRLDATA> ?。糆NABLINGBITS>aaaabbbbccccdddd</ENABLINGBITS> ?。?DATA> ?。糞IGNATURE> <SIGNERNAME>Universal</SIGNERNAME> ?。糞IGNERID>9382ABK3939DKD</SIGNERID> <HASHALGORITHMID>MD5</HASHALGORITHMID> ?。糞IGNALGORITHMID>RSA128</SIGNALGORITHMID> ?。糞IGNATURE>xxxyyyxxxyyyxxxyyy</SIGNATURE> <SIGNERPUBLICKEY></SIGNERPUBLICKEY> ?。糃ONTENTSIGNEDSIGNERPUBLICKEY></CONTENTSIGNEDSIGNERPUBLICKEY> </SIGNATURE> ?。?LICENSE>]]></pre>
腳本DRL48<pre listing-type="program-listing"><![CDATA[ ?。糒ICENSE> <DATA> ?。糔AME>Beastie Boy’s Play</NAME> ?。糏D>39384</ID> ?。糄ESCRIPTION>Play the song unlimited</DESCRIPTION> <TERMS></TERMS> ?。糣ALIDITY> ?。糔OTBEFORE>19980102 232014Z</NOTBEFORE> ?。糔OTAFTER>19980102 232014Z</NOTAFTER> </VALIDITY> ?。糏SSUEDDATE>19980102 232014Z</ISSUEDDATE> ?。糒ICENSORSITE>http//www.foo.com</LICENSORSITE> <CONTENT> ?。糔AME>Beastie Boy′s</NAME ?。糏D>392</ID> ?。糑EYID>39292</KEYID> ?。糉YPE>MS Encrypted ASF 2.0</TTYPE> ?。?CONTENT> ?。糘WNER> ?。糏D>939KDKD393KD</ID> ?。糔AME>Universal</NAME> ?。糚UBLICKEY></PUBLICKEY> </OWNER> ?。糒ICENSEE> ?。糔AME>Amold</NAME> ?。糏D>939KDKD393KD</ID> ?。糚UBLICKEY></PUBLICKEY> ?。?LICENSEE><DRLTYPE>Script</DRLTYPE>[the Ianguage tag 54] <DRLDATA> function on_enable(action,args)as boolean result=False if action=″PLAY″then result=True end if on_action=False end function ... ?。?DRLDATA> ?。?DATA> ?。糞IGNATURE> <SIGNERNAME>Universal</SIGNERNAME> ?。糞IGNERID>9382</SIGNERID> ?。糞IGNERPUBLICKEY></SIGNERPUBLICKEY> ?。糎ASHID>MD5</HASHID> ?。糞IGNID>RSA128</SIGNID> ?。糞IGNATURE>xxxyyyxxxyyyxxxyyy</SIGNATURE> ?。糃ONTENTSIGNEDSIGNERPUBLICKEY></CONTENTSIGNEDSIGNERPUBLICKEY> ?。?SIGNATURE> ?。?LICENSE>]]></pre>在上面規(guī)定的兩個(gè)DRL48中,所列的屬性具有如下的描述和數(shù)據(jù)類型
方法正如上面所討論的,最好,任何一種語(yǔ)言引擎52和任何一種DRL語(yǔ)言至少支持?jǐn)?shù)字許可證評(píng)估器36希望通過(guò)任何DRL48回答的大量具體許可證問(wèn)題。在認(rèn)識(shí)到如此支持的問(wèn)題可以包括不偏離本發(fā)明精神和范圍的、和與在上面兩個(gè)DRL48實(shí)例中應(yīng)用的術(shù)語(yǔ)相一致的任何問(wèn)題之后,在本發(fā)明的一個(gè)實(shí)施例中,如此支持的問(wèn)題或‘方法’包括如下的‘訪問(wèn)方法’、‘DRL方法’和‘允許使用方法’訪問(wèn)方法訪問(wèn)方法用于為了頂層屬性而詢問(wèn)DRL48。
VARIANT QueryAttribute(BSTR key)有效關(guān)鍵字包括License.Name、License.Id、Content.Name、Content.Id、Content.Type、Owner.Name、Owner.Id、0wner.PublicKey、Licensee.Name、Licensee.Id、Licensee.PublicKey、Description(描述)、和Terms(條款),每一個(gè)都返回BSTR變量;和Issued(發(fā)布的)、Validity.Start(有效開(kāi)始)和Validity.End(有效結(jié)束),每一個(gè)都返回日期變量。
DRL方法如下DRL方法的實(shí)施因DRL48的不同而不同。許多DRL方法包含標(biāo)成‘data(數(shù)據(jù))’的可變參數(shù),其目的是用于與DRL48通信更高級(jí)的信息。它主要是為了未來(lái)的可擴(kuò)展性而存在的。
Boolean IsActivated(Variant data)這種方法返回指示是否啟用DRL 48/許可證16的Boolean。啟用許可證16的一個(gè)例子是在首次播放時(shí)只有48小時(shí)有效的有限操作許可證16。
Activate(Variant data)這種方法用于啟用許可證16,一旦許可證16被啟用,就不能停用。
Variant QueryDRL(Variant data)這種方法用于與更高級(jí)的DRL48通信。它主要與設(shè)置的DRL48特征的未來(lái)可擴(kuò)展性有關(guān)。
Variant GetExpires(BSTR action,Variant data)這種方法返回許可證16與合格(pass-in)動(dòng)作有關(guān)的截止日期。如果返回值是‘NULL’(空的),那么,認(rèn)為許可證16永不到期,或者由于還沒(méi)有開(kāi)始使用,因此,沒(méi)有截止日期,等。
Variant GetCount(BSTR action,Variant data)這種方法返回合格動(dòng)作還剩下的操作次數(shù)。如果返回‘NULL’(是空的),那么,可以進(jìn)行無(wú)限次數(shù)的操作。
Boolean IsEnabled(BSTR action,Variant data)這種方法表示許可證16當(dāng)前是否支持所請(qǐng)求的動(dòng)作。
Boolean IsSunk(BSTR action,Variant data)這種方法表示是否已經(jīng)為許可證16付費(fèi)了。預(yù)先付費(fèi)的許可證16將返回‘TRUE’(真值),而沒(méi)有預(yù)先付費(fèi)的許可證16將返回‘FALSE’(假值),例如,如其所用托收費(fèi)用的許可證16。
允許使用方法這些方法用于使許可證16能夠用在解密內(nèi)容之中。
Boolean Validate(BSTR key)這個(gè)方法用于核實(shí)許可證16。合格密鑰是用在核實(shí)許可證16的簽名之中的、通過(guò)相應(yīng)數(shù)字內(nèi)容12的解密密鑰(KD)加密的黑箱30公開(kāi)密鑰(PU-BB)(即,(KD(PU-BB)))。返回值‘TRUE’表示許可證16是有效的。返回值‘FALSE’表示許可證16是無(wú)效的。
int Openlicense16(BSTR action,BSTR key,Variant data)這個(gè)方法用于作好訪問(wèn)解密允許比特的準(zhǔn)備。合格密鑰是上述的(KD(PU-BB))。返回值‘0’表示成功了。可以定義其它返回值。
BSTR GetDecryptedEnablingBits(BSTR action,Variant data)Variant GetDecryptedEnablingBitsAsBinary(BSTR action,Variantdata)這些方法用于訪問(wèn)處在解密形式下的允許比特。如果對(duì)于許多理由的任何一條,這都是不成功的,那么,返回空字符串或空變量。
void CloseLicense(BSTR action,Variant data)這種方法用于為了執(zhí)行合格動(dòng)作,解鎖對(duì)允許位的訪問(wèn)。如果對(duì)于許多理由的任何一條,這都是不成功的,那么,返回空字符串。
試探法正如上面所討論的,如果對(duì)于同一段數(shù)字內(nèi)容12,存在著多個(gè)許可證16,必須選擇許可證16之一,供進(jìn)一步使用。利用上面方法,可以實(shí)施如下的試探法來(lái)作出這樣的選擇。具體地說(shuō),為了對(duì)一段數(shù)字內(nèi)容12執(zhí)行動(dòng)作(譬如說(shuō),APLAY@),可以執(zhí)行如下步驟1.獲得應(yīng)用于一段特定數(shù)字內(nèi)容12的所有許可證16;2.通過(guò)對(duì)這樣的許可證16調(diào)用IsEnabled函數(shù),刪除不能使能動(dòng)作的每個(gè)許可證16;3.通過(guò)對(duì)這樣的許可證16調(diào)用IsActivated函數(shù),刪除沒(méi)有啟用的每個(gè)許可證16;4.通過(guò)對(duì)這樣的許可證16調(diào)用IsSunk函數(shù),刪除沒(méi)有預(yù)先支付的每個(gè)許可證16;5.如果還留下什么許可證16,就使用它。在使用有限播放次數(shù)的許可證16之前,使用無(wú)限播放次數(shù)的許可證16,尤其是在無(wú)限播放次數(shù)的許可證16含有截止日期的時(shí)候。無(wú)論如何,都應(yīng)該讓用戶選擇已經(jīng)獲得的特定許可證16,即使這樣的選擇并非那么合算。于是,用戶可以根據(jù)對(duì)DRM系統(tǒng)32來(lái)說(shuō)也許不那么顯而易見(jiàn)的準(zhǔn)則,選擇許可證16。
6.如果沒(méi)有留下什么許可證16,那么,就返回指示這種情況的狀態(tài)信息。然后,讓用戶作出如下選擇如果存在的話,使用沒(méi)有預(yù)先支付的許可證16;如果存在的話,啟用許可證16;和/或從許可證服務(wù)器24中獲取許可證。
內(nèi)容保護(hù)技術(shù)-視頻卡在本發(fā)明的DRM結(jié)構(gòu)10中,以加密方式傳送權(quán)利受保護(hù)內(nèi)容,并且只能按照在相應(yīng)許可證16中規(guī)定的權(quán)利解密權(quán)利受保護(hù)內(nèi)容。應(yīng)該意識(shí)到,要采取許多預(yù)防措施來(lái)保證以解密形式的內(nèi)容10是不可獲得的,當(dāng)然,除了根據(jù)許可證16許可的之外,因此,例如,可以應(yīng)用路徑驗(yàn)證來(lái)保證可以信任接收解密內(nèi)容12的每個(gè)模塊負(fù)責(zé)任地工作,并且不會(huì)把這樣的解密內(nèi)容12提供給諸如‘內(nèi)容盜賊’之類的不道德之輩。2000年3月15日提交的、名稱為“把解密數(shù)字內(nèi)容發(fā)布到經(jīng)驗(yàn)證路徑上(RELEASING DECRYPTEDDIGITAL CONTENT TO AN AUTHENTICATED PATH)”的美國(guó)專用申請(qǐng)第09/525,510號(hào)對(duì)這樣的路徑驗(yàn)證作了更全面描述,特此引用,以供參考。
但是,應(yīng)該體會(huì)到,解密內(nèi)容12或它的至少一部分有必要按照再現(xiàn)這樣解密內(nèi)容12的正常路線存儲(chǔ)在緩沖區(qū)和其它存儲(chǔ)器件中。更具體地說(shuō),內(nèi)容盜賊不費(fèi)吹灰之力就可以獲得在這樣緩沖區(qū)中的解密內(nèi)容12。
尤其在諸如視頻內(nèi)容之類的內(nèi)容12的情況下,從圖13可以看出,這樣的內(nèi)容12一旦被解密,最后就存儲(chǔ)在視頻卡60中。具體地說(shuō),可以意識(shí)到,視頻數(shù)據(jù)被解密和/或解壓縮之后,在被視頻卡60用來(lái)生成要發(fā)送到監(jiān)視器60等的視頻信號(hào)之前,被寫(xiě)入視頻卡60上的視頻RAM(VRAM)62中。視頻卡的操作對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)是已知的,或應(yīng)該是顯而易見(jiàn)的,因此,在這里無(wú)需再作任何詳細(xì)的討論。重要的是,雖然視頻數(shù)據(jù)在視頻卡60的VRAM62上,但是,內(nèi)容盜賊通過(guò)把硬件和/或軟件用于從這樣的VRAM62讀取這樣的視頻數(shù)據(jù),這樣的視頻數(shù)據(jù)易于被內(nèi)容盜賊盜走。因此,這樣的VRAM62是內(nèi)容盜賊與核心DRM系統(tǒng)32的能力無(wú)關(guān)地盜走優(yōu)質(zhì)視頻數(shù)據(jù)的運(yùn)輸工具。
內(nèi)容保護(hù)技術(shù)-視頻卡-只寫(xiě)VRAM于是,在本發(fā)明的一個(gè)實(shí)施例中,除了與視頻卡60本身有關(guān)之外,視頻卡60上的VRAM62被配置成只寫(xiě)的。因此,視頻卡60之外的任何實(shí)體,譬如,內(nèi)容盜賊,都不能讀取這樣在VRAM62上的視頻數(shù)據(jù)。這樣的配置只可以與DRM系統(tǒng)32和由此控制的受保護(hù)內(nèi)容12相關(guān)地應(yīng)用,或者,也許與受保護(hù)的或沒(méi)有受保護(hù)的所有內(nèi)容相關(guān)地應(yīng)用。
在前一種情況中,受保護(hù)內(nèi)容12可以由適合于視頻卡60和VRAM62的信號(hào)伴隨著,以實(shí)現(xiàn)只寫(xiě)功能。這樣的信號(hào)可以是,例如,來(lái)自DRM系統(tǒng)32或再現(xiàn)應(yīng)用程序34的硬件或軟件信號(hào),并且,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)是已知的,或應(yīng)該是顯而易見(jiàn)的,因此,在這里無(wú)需再作任何詳細(xì)的討論。于是,應(yīng)用任何適當(dāng)?shù)男盘?hào)都不偏離本發(fā)明的精神和范圍。在后一種情況中,所得的副產(chǎn)品是,任何人或任何程序都一點(diǎn)也不能從視頻卡上的VRAM62上讀取,即使這樣的人或程序完全出于好意。
在本發(fā)明的一個(gè)實(shí)施例中,通過(guò)創(chuàng)建寄生在VRAM62中的一個(gè)或多個(gè)只寫(xiě)緩沖區(qū),在視頻卡60中實(shí)現(xiàn)只寫(xiě)VRAM62。在最簡(jiǎn)單的情況中,可以把每個(gè)只寫(xiě)緩沖區(qū)位映射到顯示在主要表面上的次要視頻表面。重要的是,可以把位映射數(shù)據(jù)寫(xiě)入每個(gè)緩沖區(qū)中,而讀取數(shù)據(jù)則返回黑色、不同色彩的標(biāo)記、無(wú)意義的東西、噪聲等。
為了成為只寫(xiě)的,本發(fā)明的視頻卡60必須不能提供任何其它讀取組成受保護(hù)屏幕區(qū)的像素的方法。例如,必須沒(méi)有提供對(duì)受保護(hù)屏幕區(qū)的訪問(wèn)的獨(dú)立讀像素操作?;蛘撸糜谧x取像素的現(xiàn)有機(jī)制應(yīng)該返回黑色、不同色彩的標(biāo)記、無(wú)意義的東西、噪聲等。
另外,通過(guò)把在釋放時(shí)清除每個(gè)只寫(xiě)緩沖區(qū)的內(nèi)容或使每個(gè)只寫(xiě)緩沖區(qū)的內(nèi)容變成零所需的功能給予視頻卡60,在視頻卡60中實(shí)現(xiàn)只寫(xiě)VRAM62。因此,不能在釋放之后,但在蓋寫(xiě)之前通過(guò)攻擊讀取這樣的只寫(xiě)緩沖區(qū)。
本方案可同等應(yīng)用于其它視頻處理結(jié)構(gòu),而不偏離本發(fā)明的精神和范圍。例如,如果視頻卡60支持解壓加速,那么,相似的規(guī)則也適用。具體地說(shuō),與這樣視頻卡60上的視頻加速器通信的每個(gè)緩沖區(qū)是只寫(xiě)的,往那里再現(xiàn)的視頻不能通過(guò)其它手段讀取。
內(nèi)容保護(hù)技術(shù)-視頻卡-驗(yàn)證當(dāng)然,DRM系統(tǒng)32必須能夠使自己相信在上面的視頻卡60和VRAM62是值得信賴的,因?yàn)楦鶕?jù)本發(fā)明,在這樣視頻卡60上的這樣VRAM62是只寫(xiě)的。因此,視頻卡60必須能夠向這樣的DRM系統(tǒng)32證明自己擁有只寫(xiě)VRAM62。
可以推測(cè),通過(guò)不時(shí)的回讀檢驗(yàn)和其它標(biāo)準(zhǔn)的反調(diào)試技術(shù),DRM系統(tǒng)32可以提供VRAM62/視頻緩沖區(qū)的確是只寫(xiě)的良好保證。但是,這樣的校驗(yàn)不能否定受保護(hù)視頻數(shù)據(jù)可以通過(guò)其它一些機(jī)制,例如,雙映射存儲(chǔ)器、位轉(zhuǎn)換成不受保護(hù)的存儲(chǔ)器、讀像素命令等獲得的可能性。
與驗(yàn)證聯(lián)系在一起所遇到的一個(gè)困難是,視頻卡制造者未必想要實(shí)現(xiàn)這樣的驗(yàn)證。具體地說(shuō),如果視頻數(shù)據(jù)事實(shí)上可讓內(nèi)容盜賊等通過(guò)制造者的視頻卡獲得,那么,這樣的視頻卡會(huì)更加吸引人,更有市場(chǎng)。然后,可以想象得到,遵照本發(fā)明方案,因此實(shí)現(xiàn)內(nèi)容保護(hù)的合法和正直視頻卡制造者就會(huì)把市場(chǎng)份額和地位拱手讓給不那么合法的和不服從的視頻卡制造者。因此,盡管存在這樣的困難,也必須進(jìn)行驗(yàn)證。
下面是允許這樣的驗(yàn)證的幾種機(jī)制合法設(shè)備在本發(fā)明的一個(gè)實(shí)施例中,視頻卡60通過(guò)擁有受一種或多種知識(shí)產(chǎn)權(quán)(專利、版權(quán)、商標(biāo)、商業(yè)秘密等)合法保護(hù)的一個(gè)或多個(gè)單元65,以一般來(lái)說(shuō)被動(dòng)的方式向DRM系統(tǒng)32證明自己,其中,每個(gè)單元65必須包含在視頻卡60中。因此,想要制造附帶權(quán)利保護(hù)單元65的視頻卡60的制造者必須獲得這樣做的許可證,并且,在制造附帶權(quán)利保護(hù)單元65的視頻卡60的過(guò)程中,除了別的之外,必須同意遵守某些預(yù)定的許可方面的規(guī)則,其中最重要的是,按照上面所討論的方式,在上面的VRAM62是只寫(xiě)的。可以意識(shí)到,在這樣的實(shí)施例中,DRM系統(tǒng)32沒(méi)辦法有把握確定相關(guān)的視頻卡60是循規(guī)蹈距的。
在本發(fā)明的類似實(shí)施例中,視頻卡60通過(guò)擁有包含在其中的受一種或多種知識(shí)產(chǎn)權(quán)(專利、版權(quán)、商標(biāo)、商業(yè)秘密等)保護(hù)的一個(gè)或多個(gè)上述單元65,以更主動(dòng)的方式向DRM系統(tǒng)32證明自己,但是,其中單元65采取一旦請(qǐng)求或一旦請(qǐng)求適當(dāng)?shù)牧钆?7,就向計(jì)算系統(tǒng)14上的DRM系統(tǒng)32、再現(xiàn)應(yīng)用程序34、和/或其它實(shí)體展示的方式。
因此,受保護(hù)的主題可以是展示數(shù)字信號(hào)的硬件或軟件,或者是本身就要展示的軟件結(jié)構(gòu)。想要制造附帶單元65的視頻卡60的制造者必須獲得這樣做的許可證,并且,在制造附帶單元65的視頻卡60的過(guò)程中,除了別的之外,必須同意遵守某些預(yù)定的許可方面的規(guī)則,其中最重要的是,按照上面所討論的方式,在上面的VRAM62是只寫(xiě)的。作為回報(bào),制造者接收要合并到視頻卡60中的單元65,或者被授權(quán)把這樣的單元65合并到視頻卡60中。非許可的制造者也可以把單元65合并到它的視頻卡60中,但是,這樣做會(huì)使非許可制造者面臨著違犯與單元65相關(guān)的知識(shí)產(chǎn)權(quán)的起訴。
技術(shù)設(shè)備在本發(fā)明的一個(gè)實(shí)施例中,通過(guò)密碼驗(yàn)證方案,視頻卡以一般來(lái)說(shuō)主動(dòng)的方式向DRM系統(tǒng)32證明自己。這里,視頻卡60帶有可以展示給DRM系統(tǒng)32、再現(xiàn)應(yīng)用程序34、或其它請(qǐng)求實(shí)體看的、諸如數(shù)字證明書(shū)66等之類的密碼證明書(shū),以便證明視頻卡60是可信賴的。然后,通過(guò)與可接受和/或不可接受證明書(shū)66等的定期或不定期更新表相對(duì)照,可以在計(jì)算設(shè)備14上審查所展示的數(shù)字證明書(shū),并且,據(jù)此,至少部分據(jù)此,作出是否信任視頻卡60的決定。請(qǐng)注意,在這樣的實(shí)施例中,視頻卡60必須配備以非易失性方式保留證明書(shū)66和按照要求把證明書(shū)66展示給適當(dāng)?shù)恼?qǐng)求實(shí)體這兩者的功能。
最好,一旦制造者在制造視頻卡60的過(guò)程中,同意遵守某些預(yù)定的許可方面的規(guī)則,就把適當(dāng)?shù)淖C明書(shū)66提供給視頻卡60的制造者。其中最重要的是,按照上面所討論的方式,在上面的VRAM62是只寫(xiě)的。然后,由制造者在制造過(guò)程中把如此提供的證明書(shū)66適當(dāng)?shù)睾喜⒌揭曨l卡60中。如果制造者違背了協(xié)議,例如,制造出帶有可讀VRAM62的視頻卡60,那么,就把證明書(shū)66放在上述不可接受的列表68中。合并和提供證明書(shū)66,把列表68提供給計(jì)算設(shè)備14,和更新計(jì)算設(shè)備14上這樣的列表68對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)都是已知的,或應(yīng)該是顯而易見(jiàn)的,因此,在這里無(wú)需再作任何詳細(xì)的討論。因此,應(yīng)用合并和提供證明書(shū)66和提供和更新列表68的任何方法都不偏離本發(fā)明的精神和范圍。
請(qǐng)注意,在使用數(shù)字證明書(shū)66的過(guò)程中,視頻卡需要小型的密碼處理器,要不然就是在計(jì)算設(shè)備14的處理器上運(yùn)行的密碼代碼、和專用證明密鑰70。計(jì)算設(shè)備14上的DRM系統(tǒng)32、再現(xiàn)應(yīng)用程序34或其它實(shí)體可以對(duì)視頻卡60進(jìn)行諸如密碼詢問(wèn)/回答之類的驗(yàn)證,看一看卡簽名密鑰70是否被適當(dāng)?shù)刈C明是在可接受列表68上的和/或不是在不可接受列表68上的。
請(qǐng)注意,證明書(shū)66和密鑰70的使用使非許可制造者不能偽裝成許可制造者。此外,如果證明書(shū)66泄密了,那么可以更新列表68把泄密證明書(shū)66標(biāo)記成不可接受的。
在使用過(guò)程中的驗(yàn)證在最簡(jiǎn)單的實(shí)施例中,視頻卡60上VRAM62的至少一部分永遠(yuǎn)是只寫(xiě)的,不能配置成其它的。在這種情況下,視頻卡60在驗(yàn)證過(guò)程中足以讓計(jì)算設(shè)備14確信它的類型(即,在地址范圍X上含有永久性只寫(xiě)VRAM的可信視頻卡)。此后,在計(jì)算設(shè)備14上的驗(yàn)證實(shí)體知道,可以把數(shù)據(jù)寫(xiě)入地址范圍X中,和如此寫(xiě)入的數(shù)據(jù)只可由可信視頻卡60讀取。
但是,如果可以把視頻卡配置成擁有幾種模式(例如,只寫(xiě)對(duì)讀寫(xiě)),那么,讓視頻卡60自我驗(yàn)證是不夠的。如果這樣的配置可以由不可信實(shí)體來(lái)設(shè)置,那么,攻擊者可能等到原創(chuàng)數(shù)據(jù)的作者已經(jīng)驗(yàn)證和配置了視頻卡上的只寫(xiě)緩沖區(qū)之后,把緩沖區(qū)重新配置成讀寫(xiě)的,然后,在將數(shù)據(jù)寫(xiě)入VRAM62中時(shí)讀取這樣的數(shù)據(jù)。在當(dāng)今多任務(wù)操作系統(tǒng)的背景下,這個(gè)問(wèn)題尤其值得關(guān)注,其中多任務(wù)操作系統(tǒng)允許任意多批進(jìn)程并行地在同一個(gè)計(jì)算設(shè)備14上運(yùn)行。這個(gè)問(wèn)題可以用許多種方法來(lái)解決1.已驗(yàn)狀態(tài)檢驗(yàn)可以不加限制地重新配置視頻卡60。但是,這樣的視頻卡60使主計(jì)算設(shè)備14上的進(jìn)程以驗(yàn)證方式詢問(wèn)它的配置/狀態(tài)。也就是說(shuō),正像初始驗(yàn)證讓視頻卡60向主設(shè)備14保證它是類型XYZ的可信視頻卡和在地址范圍ABC上已經(jīng)分配了只寫(xiě)緩沖區(qū)那樣,附加的驗(yàn)證讓視頻卡60保證在過(guò)去的Y分鐘等內(nèi)配置并沒(méi)有發(fā)生改變。
2.已驗(yàn)配置改變這要求視頻卡60驗(yàn)證正在請(qǐng)求配置改變的實(shí)體。從原理上來(lái)講,這種驗(yàn)證可以完全獨(dú)立于視頻卡60通過(guò)計(jì)算設(shè)備14的驗(yàn)證。這里,來(lái)自設(shè)備14、有關(guān)只寫(xiě)緩沖區(qū)的初始請(qǐng)求可以描述允許誰(shuí)重新配置緩沖區(qū)和以哪些方式重新配置緩沖區(qū)的政策。例如,該政策可以采取許可證16等的形式。
在驗(yàn)證視頻卡60的過(guò)程中,主計(jì)算設(shè)備14上的進(jìn)程可以調(diào)用像下列那樣的函數(shù)GetWriteOnlyBuffer(int buffersize);和
ReconfigureBuffer(configuration description),并且,可以應(yīng)用公開(kāi)密鑰-秘密密鑰加密,從而,視頻卡60含有秘密密鑰和把相應(yīng)的公開(kāi)密鑰放入來(lái)自可信實(shí)體的證明書(shū)中。因此,使附帶公開(kāi)密鑰的證明書(shū)可由主設(shè)備14上的內(nèi)容源(CS)獲得,和CS通過(guò),例如,核實(shí)數(shù)字簽名和/或鑒定截止日期或失效期,檢驗(yàn)證明書(shū)的有效性。
然后,作為VRAM62的初始配置的組成部分的CS(即,與上面的GetWriteOnlyBuffer函數(shù)相聯(lián)系),生成隨機(jī)數(shù)Z(一個(gè)臨時(shí)值(nonce)),用來(lái)自證明書(shū)的公開(kāi)密鑰加密Z,得出PU(Z),然后將PU(Z)發(fā)送到視頻卡60。視頻卡60利用秘密密鑰解密PU(Z),因此得出Z,然后將消息(Z,M,S)發(fā)送到CS,其中M是任意消息文本,和S是用秘密密鑰做的、在X、M上的數(shù)字簽名。在本例中,M文本的大意是“地址a和b之間的存儲(chǔ)范圍已經(jīng)被配置成只寫(xiě)的(The memory range between addresses a and b has beenconfigured as write-only)”??梢酝茰y(cè),視頻卡60事實(shí)上就是這樣配置的。
然后,重新配置(與上面ReconfigureBuffer函數(shù)相聯(lián)系)的驗(yàn)證是基于Z的知識(shí)的。也就是說(shuō),請(qǐng)求視頻卡60重新配置VRAM62的調(diào)用程序必須展示Z的知識(shí),要不然,視頻卡60就拒絕請(qǐng)求??梢酝茰y(cè),只有CS知道Z,因此,沒(méi)有有關(guān)Z的知識(shí)的攻擊者注定是要失敗的。
這樣的驗(yàn)證可以包括,例如,CS把消息(M,m)發(fā)送到視頻卡60,其中,M是大意是“請(qǐng)按照如下所述配置緩沖區(qū)a...b(Please configue thebuffer a...b as follows...)”的消息,和m是計(jì)算消息驗(yàn)證碼m=MAC(M,Z)的結(jié)果。于是,視頻卡60利用它自己的Z的副本來(lái)核實(shí)MAC。具體地說(shuō),只有MAC被核實(shí)時(shí),視頻卡60才兌現(xiàn)重新配置請(qǐng)求。
除了利用只寫(xiě)VRAM62之外,作為一種可替代方法,CS可以加密視頻數(shù)據(jù),以便它只可以被視頻卡60解密。與只寫(xiě)VRAM62的情況一樣,這要求讓CS核實(shí)對(duì)于可信視頻卡60來(lái)說(shuō)數(shù)據(jù)是加密的驗(yàn)證。通常,驗(yàn)證機(jī)制使CS和視頻卡建立起共享秘密(會(huì)話密鑰)Z。因此,為了把數(shù)據(jù)發(fā)送到視頻卡60,CS根據(jù)Z加密數(shù)據(jù),和視頻卡根據(jù)Z解密數(shù)據(jù)。
結(jié)論實(shí)現(xiàn)與本發(fā)明聯(lián)系在一起執(zhí)行的進(jìn)程所需的編程對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),是相當(dāng)直截了當(dāng)?shù)?,和?yīng)該是顯而易見(jiàn)的。因此,不把這樣的編碼附在這里。把任何特定的編碼應(yīng)用于實(shí)現(xiàn)本發(fā)明都不偏離本發(fā)明的精神和范圍。
在前面的描述中,可以看出,本發(fā)明包括了新的和有用的強(qiáng)化結(jié)構(gòu)10,它使任何形式的數(shù)字內(nèi)容12得到受控再現(xiàn)或播放,其中,這樣的控制是靈活的,并且是可以由這樣數(shù)字內(nèi)容的內(nèi)容擁有者規(guī)定的。此外,本發(fā)明還包括了新的和有用的受控再現(xiàn)環(huán)境,盡管數(shù)字內(nèi)容12要在不在內(nèi)容擁有者控制之下的計(jì)算設(shè)備14上再現(xiàn),但這樣的受控再現(xiàn)環(huán)境也能讓數(shù)字內(nèi)容12只按照內(nèi)容擁有者規(guī)定的方式再現(xiàn)。并且,本發(fā)明還包括了在計(jì)算設(shè)備14上的保密視頻卡60,以防止內(nèi)容盜賊偷走存放在視頻卡60上的內(nèi)容。
應(yīng)該意識(shí)到,可以對(duì)上述的實(shí)施例作出各種各樣的改變而不偏離本發(fā)明的精神和范圍。主要有,應(yīng)該明白,本發(fā)明無(wú)需僅限于視頻卡60。而是,本發(fā)明意在涵蓋像,例如,聲卡那樣的、含有存儲(chǔ)解密數(shù)據(jù)的存儲(chǔ)器的任何類型器件。同樣,應(yīng)該明白,本發(fā)明不限于像上面結(jié)合圖1-11公開(kāi)的DRM系統(tǒng)32那樣的DRM系統(tǒng)。而是,本發(fā)明意在涵蓋包括維持安全環(huán)境或?yàn)榉乐箶?shù)據(jù)被非法使用和/或訪問(wèn)而提供保密模塊的任何系統(tǒng)的任何類型DRM系統(tǒng)。
本發(fā)明的中心內(nèi)容是除了設(shè)備之外,存儲(chǔ)器是只讀的,和該設(shè)備可以證明自己是值得信賴的。這些概念可應(yīng)用于任何類型的內(nèi)容12和設(shè)備,只要內(nèi)容流是單向的即可(即,單向CPU/主存儲(chǔ)器到含有存儲(chǔ)器的設(shè)備到其它設(shè)備(例如,監(jiān)視器、揚(yáng)聲器等))。因此,應(yīng)該明白,本發(fā)明不限于所公開(kāi)的特定實(shí)施例,而是,意在涵蓋在所附權(quán)利要求書(shū)規(guī)定的本發(fā)明的精神和范圍內(nèi)的所有變型。
權(quán)利要求
1.一種計(jì)算設(shè)備,該計(jì)算設(shè)備包括使該計(jì)算設(shè)備上的受保護(hù)數(shù)字內(nèi)容得以再現(xiàn)的系統(tǒng),該內(nèi)容包括要在與計(jì)算設(shè)備耦合的相應(yīng)再現(xiàn)設(shè)備上再現(xiàn)那種類型的內(nèi)容,該計(jì)算設(shè)備還包括以非受保護(hù)形式接收那種類型的內(nèi)容的部分,該部分包括存儲(chǔ)所接收的內(nèi)容的存儲(chǔ)器,該存儲(chǔ)器被配置成除了與該部分有關(guān)的之外,是只寫(xiě)的。
2.一種計(jì)算設(shè)備,該計(jì)算設(shè)備包括使該計(jì)算設(shè)備上的受保護(hù)的數(shù)字內(nèi)容得以再現(xiàn)的數(shù)字權(quán)利管理(DRM)系統(tǒng),該內(nèi)容包括要在與計(jì)算設(shè)備耦合的監(jiān)視器上顯示的視頻內(nèi)容,該計(jì)算設(shè)備還包括接收內(nèi)容和根據(jù)所接收的內(nèi)容生成要發(fā)送到監(jiān)視器的視頻信號(hào)的視頻部分,該視頻部分包括存儲(chǔ)所接收的內(nèi)容的視頻存儲(chǔ)器,該視頻存儲(chǔ)器被配置成除了與該視頻部分有關(guān)的之外,是只寫(xiě)的。
3.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中,視頻部分是視頻卡。
4.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中,視頻部分以外的任何實(shí)體都不能讀取存儲(chǔ)在視頻存儲(chǔ)器中的接收的內(nèi)容。
5.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中,視頻存儲(chǔ)器是視頻RAM。
6.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中,視頻存儲(chǔ)器被配置成只對(duì)于允許被DRM系統(tǒng)再現(xiàn)的權(quán)利保護(hù)數(shù)字內(nèi)容來(lái)說(shuō)是只寫(xiě)的。
7.根據(jù)權(quán)利要求6所述的計(jì)算設(shè)備,其中,內(nèi)容被一個(gè)到達(dá)視頻部分的信號(hào)伴隨著,以實(shí)現(xiàn)內(nèi)容的只寫(xiě)配置。
8.根據(jù)權(quán)利要求6所述的計(jì)算設(shè)備,其中,只寫(xiě)配置是通過(guò)在視頻存儲(chǔ)器中建立至少一個(gè)只寫(xiě)緩沖區(qū),在這樣的視頻存儲(chǔ)器中實(shí)現(xiàn)的。
9.根據(jù)權(quán)利要求8所述的計(jì)算設(shè)備,其中,每個(gè)只寫(xiě)緩沖區(qū)是要顯示在主表面上的位映射次級(jí)視頻表面。
10.根據(jù)權(quán)利要求8所述的計(jì)算設(shè)備,其中,一旦釋放只寫(xiě)緩沖區(qū),視頻部分就清除每個(gè)只寫(xiě)緩沖區(qū)。
11.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中,視頻存儲(chǔ)器被配置成對(duì)于允許被DRM系統(tǒng)再現(xiàn)的權(quán)利保護(hù)數(shù)字內(nèi)容以及其它數(shù)字內(nèi)容來(lái)說(shuō)是只寫(xiě)的。
12.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中,視頻部分還包括驗(yàn)證設(shè)備,用于向DRM系統(tǒng)證明視頻存儲(chǔ)器被配置成除了與視頻部分有關(guān)的以外,是只寫(xiě)的。
13.根據(jù)權(quán)利要求12所述的計(jì)算設(shè)備,其中,驗(yàn)證設(shè)備包括由于受控制實(shí)體控制的知識(shí)產(chǎn)權(quán)而得到合法保護(hù)的特征部件,從而,想要制造視頻部分的制造者必須從控制實(shí)體獲得履行合法保護(hù)特征部件的許可證,并且,作為許可條件,必須同意視頻部分配備上配置成除了與視頻部分有關(guān)的以外,是只寫(xiě)的的視頻存儲(chǔ)器。
14.根據(jù)權(quán)利要求13所述的計(jì)算設(shè)備,其中,合法保護(hù)特征采取可以向DRM系統(tǒng)展示的形式。
15.根據(jù)權(quán)利要求13所述的計(jì)算設(shè)備,其中,合法保護(hù)特征采取可以把令牌展示給DRM系統(tǒng)的形式。
16.根據(jù)權(quán)利要求12所述的計(jì)算設(shè)備,其中,驗(yàn)證設(shè)備包括要展示給DRM系統(tǒng)的、從驗(yàn)證實(shí)體中獲得的令牌,從而,想要制造視頻部分的制造者必須從驗(yàn)證實(shí)體獲得令牌,并且,作為條件,必須同意視頻部分配備上配置成除了與視頻部分有關(guān)的以外,是只寫(xiě)的的視頻存儲(chǔ)器。
17.根據(jù)權(quán)利要求16所述的計(jì)算設(shè)備,其中,展示的令牌是證明書(shū),并且由DRM系統(tǒng)對(duì)照定期更新的證明書(shū)列表加以審查,和其中DRM系統(tǒng)至少部分地?fù)?jù)此決定是否信任視頻部分,從而,如果制造者違背了協(xié)議,制造出帶有非只寫(xiě)存儲(chǔ)器的視頻部分,那么,更新證明書(shū)列表,把審查的證明書(shū)不被DRM系統(tǒng)認(rèn)可的情況反映出來(lái)。
18.計(jì)算設(shè)備上的一個(gè)部分,該計(jì)算設(shè)備包括使該計(jì)算設(shè)備上的受保護(hù)數(shù)字內(nèi)容得以再現(xiàn)的系統(tǒng),該內(nèi)容包括要在與計(jì)算設(shè)備耦合的相應(yīng)再現(xiàn)設(shè)備上再現(xiàn)那種類型的內(nèi)容,該計(jì)算設(shè)備的該部分以非保護(hù)形式接收那種類型的內(nèi)容,該部分包括存儲(chǔ)接收內(nèi)容的存儲(chǔ)器,該存儲(chǔ)器被配置成除了與該部分有關(guān)的之外,是只寫(xiě)的。
19.計(jì)算設(shè)備上的一個(gè)視頻部分,該計(jì)算設(shè)備包括使該計(jì)算設(shè)備上的受保護(hù)數(shù)字內(nèi)容得以再現(xiàn)的數(shù)字權(quán)利管理(DRM)系統(tǒng),該內(nèi)容包括要在與計(jì)算設(shè)備耦合的監(jiān)視器上顯示的視頻內(nèi)容,該視頻部分用于接收內(nèi)容和根據(jù)接收的內(nèi)容生成要發(fā)送到監(jiān)視器的視頻信號(hào),該視頻部分包括存儲(chǔ)接收內(nèi)容的視頻存儲(chǔ)器,該視頻存儲(chǔ)器被配置成除了與該視頻部分有關(guān)的之外,是只寫(xiě)的。
20.根據(jù)權(quán)利要求19所述的視頻部分,包括視頻卡。
21.根據(jù)權(quán)利要求19所述的視頻部分,其中,視頻部分以外的任何實(shí)體都不能讀取存儲(chǔ)在視頻存儲(chǔ)器中的接收內(nèi)容。
22.根據(jù)權(quán)利要求19所述的視頻部分,其中,視頻存儲(chǔ)器是視頻RAM。
23.根據(jù)權(quán)利要求19所述的視頻部分,其中,視頻存儲(chǔ)器被配置成只對(duì)于允許被DRM系統(tǒng)再現(xiàn)的權(quán)利保護(hù)數(shù)字內(nèi)容來(lái)說(shuō)是只寫(xiě)的。
24.根據(jù)權(quán)利要求23所述的視頻部分,其中,視頻部分接收一個(gè)信號(hào),作為內(nèi)容的伴隨物,以實(shí)現(xiàn)內(nèi)容的只寫(xiě)配置。
25.根據(jù)權(quán)利要求23所述的視頻部分,其中,只寫(xiě)配置是通過(guò)在這樣的視頻存儲(chǔ)器中建立至少一個(gè)只寫(xiě)緩沖區(qū),在該視頻存儲(chǔ)器中實(shí)現(xiàn)的。
26.根據(jù)權(quán)利要求25所述的視頻部分,其中,每個(gè)只寫(xiě)緩沖區(qū)是要顯示在主表面上的位映射次級(jí)視頻表面。
27.根據(jù)權(quán)利要求25所述的視頻部分,其中,一旦釋放只寫(xiě)緩沖區(qū),視頻部分就清除每個(gè)只寫(xiě)緩沖區(qū)。
28.根據(jù)權(quán)利要求19所述的視頻部分,其中,視頻存儲(chǔ)器被配置成對(duì)于允許被DRM系統(tǒng)再現(xiàn)的權(quán)利保護(hù)數(shù)字內(nèi)容以及其它數(shù)字內(nèi)容來(lái)說(shuō)是只寫(xiě)的。
29.根據(jù)權(quán)利要求19所述的視頻部分,還包括驗(yàn)證設(shè)備,用于向DRM系統(tǒng)證明視頻存儲(chǔ)器被配置成除了與視頻部分有關(guān)的以外,是只寫(xiě)的。
30.根據(jù)權(quán)利要求29所述的視頻部分,其中,驗(yàn)證設(shè)備包括由于受控制實(shí)體控制的知識(shí)產(chǎn)權(quán)而得到合法保護(hù)的特征部件,從而,想要制造視頻部分的制造者必須從控制實(shí)體獲得履行合法保護(hù)特征部件的許可證,并且,作為許可條件,必須同意視頻部分配備上配置成除了與視頻部分有關(guān)的以外,是只寫(xiě)的的視頻存儲(chǔ)器。
31.根據(jù)權(quán)利要求30所述的視頻部分,其中,合法保護(hù)特征采取可以向DRM系統(tǒng)展示的形式。
32.根據(jù)權(quán)利要求30所述的視頻部分,其中,合法保護(hù)特征采取可以把令牌展示給DRM系統(tǒng)的形式。
33.根據(jù)權(quán)利要求29所述的視頻部分,其中,驗(yàn)證設(shè)備包括要展示給DRM系統(tǒng)的、從驗(yàn)證實(shí)體中獲得的令牌,從而,想要制造視頻部分的制造者必須從驗(yàn)證實(shí)體獲得令牌,并且,作為條件,必須同意視頻部分配備上配置成除了與視頻部分有關(guān)的以外,是只寫(xiě)的的視頻存儲(chǔ)器。
34.根據(jù)權(quán)利要求33所述的視頻部分,其中,展示的令牌是證明書(shū),并且由DRM系統(tǒng)對(duì)照定期更新的證明書(shū)列表加以審查,和其中DRM系統(tǒng)至少部分地?fù)?jù)此決定是否信任視頻部分,從而,如果制造者違背了協(xié)議,制造出帶有非只寫(xiě)存儲(chǔ)器的視頻部分,那么,更新證明書(shū)列表,把審查的證明書(shū)不被DRM系統(tǒng)認(rèn)可的情況反映出來(lái)。
全文摘要
計(jì)算設(shè)備包括使該計(jì)算設(shè)備上的受保護(hù)數(shù)字內(nèi)容得以再現(xiàn)的數(shù)字權(quán)利管理(DRM)系統(tǒng)。該內(nèi)容包括要在與計(jì)算設(shè)備耦合的監(jiān)視器上顯示的視頻內(nèi)容。該計(jì)算設(shè)備還包括接收內(nèi)容和根據(jù)接收的內(nèi)容生成要發(fā)送到監(jiān)視器的視頻信號(hào)的視頻部分。該視頻部分包括存儲(chǔ)接收的內(nèi)容的視頻存儲(chǔ)器,和該視頻存儲(chǔ)器被配置成除了與該視頻部分有關(guān)的之外是只寫(xiě)的。該視頻部分還包括驗(yàn)證設(shè)備,用于向DRM系統(tǒng)證明視頻存儲(chǔ)器被配置成除了與視頻部分有關(guān)的以外是只寫(xiě)的。
文檔編號(hào)G06F12/14GK1393783SQ0212478
公開(kāi)日2003年1月29日 申請(qǐng)日期2002年6月25日 優(yōu)先權(quán)日2001年6月27日
發(fā)明者保羅·英格蘭, 馬庫(kù)斯·佩納多, 馬孔德·桑卡拉納拉揚(yáng) 申請(qǐng)人:微軟公司