兩種方式實(shí)現(xiàn)數(shù)字電視網(wǎng)絡(luò)許可證的管理
1 DRM系統(tǒng)
數(shù)字版權(quán)管理(Digital Rights Management,DRM)是保護(hù)多媒體內(nèi)容免受未經(jīng)授權(quán)的播放和復(fù)制的一種方法。DRM技術(shù)通過(guò)對(duì)數(shù)字內(nèi)容進(jìn)行加密和附加使用規(guī)則對(duì)數(shù)字內(nèi)容進(jìn)行保護(hù),其中,使用規(guī)則可以斷定用戶是否符合播放數(shù)字內(nèi)容的條件,從而可以防止內(nèi)容被復(fù)制或者限制內(nèi)容的播放次數(shù)。操作系統(tǒng)和多媒體中間負(fù)責(zé)強(qiáng)制實(shí)行這些規(guī)則。DRM的簡(jiǎn)單結(jié)構(gòu)可以用下圖表示。
DRM的實(shí)現(xiàn)過(guò)程是由以下基本工作步驟組成:內(nèi)容提供過(guò)程,內(nèi)容包裝過(guò)程,內(nèi)容發(fā)布過(guò)程和獲取內(nèi)容使用許可證過(guò)程。
首先用戶需要向內(nèi)容服務(wù)器申請(qǐng)或訂購(gòu)需要觀看的視頻節(jié)目,內(nèi)容發(fā)送方將對(duì)內(nèi)容進(jìn)行包裝,發(fā)送內(nèi)容包裝過(guò)程,包括對(duì)內(nèi)容文件的壓縮和加密處理。在包裝過(guò)程中,需要加入一些相關(guān)信息,如文件的標(biāo)題、藝術(shù)家的姓名、版權(quán)聲明、圖像、可獲取許可證的URL等附加信息。包裝好的內(nèi)容和許可證是分開(kāi)的,并通過(guò)網(wǎng)絡(luò)到達(dá)用戶終端。要使用包裝后的媒體內(nèi)容文件,用戶必須獲得授權(quán)使用許可證。使用許可證中包含的密鑰信息可以解密內(nèi)容以供觀看,并且許可證是被捆綁在客戶端的計(jì)算機(jī)上的,不能共享。
2 傳統(tǒng)許可證的驗(yàn)證和管理流程
當(dāng)用戶第一次播放某個(gè)包裝后的媒體文件時(shí),檢測(cè)許可證的過(guò)程就會(huì)自動(dòng)啟動(dòng)。如果在用戶的計(jì)算機(jī)上檢測(cè)不到此類(lèi)授權(quán)使用許可證,Web瀏覽器就會(huì)打開(kāi)此內(nèi)容文件的許可證授權(quán)服務(wù)中心的注冊(cè)網(wǎng)頁(yè),提示客戶輸入一些由內(nèi)容提供商事先規(guī)定注冊(cè)的用戶信息,驗(yàn)證用戶輸入信息的有效性后就會(huì)頒發(fā)不能共享的授權(quán)使用許可證。
文中實(shí)現(xiàn)過(guò)程用C語(yǔ)言定義簡(jiǎn)單的許可證結(jié)構(gòu)體變量,里邊包含:用戶公鑰信息(384.bit)、內(nèi)容ID(160 bit)、內(nèi)容編號(hào)(16 bit)、權(quán)限信息(8 bit)、使用次數(shù)(8 bit)、截止日期(24 bit)、頒發(fā)日期(24 bit)、經(jīng)過(guò)Ecc加密的AES密鑰(576 bit)、服務(wù)器公鑰證書(shū)ID(64 bit)、HASH摘要值(192 bit)、簽名值(384 bit)。
用戶端收到許可證后會(huì)按照如下圖的過(guò)程進(jìn)行許可證的驗(yàn)證及管理過(guò)程。用戶端應(yīng)該首先驗(yàn)證有關(guān)用戶公鑰證書(shū)的正確性,隨后需要將所取得的許可證中的信息進(jìn)行HASH雜湊,并且對(duì)比許可證中雜湊值驗(yàn)證許可證的安全性、可靠性和完整性。最后需要驗(yàn)證許可證的簽名值,以確定頒發(fā)許可證的服務(wù)器的合法性。
需要驗(yàn)證的信息:
(1)用戶的公鑰信息(從用戶公鑰證書(shū)中提取);
(2)Hash雜湊摘要值;
(3)數(shù)字簽名值。
許可證驗(yàn)證完成后需要將有關(guān)用戶權(quán)利信息和許可證有效期限寫(xiě)入到客戶端的許可證管理記錄文件當(dāng)中,當(dāng)用戶下一次再需要播放包裝后的媒體文件時(shí),許可證檢測(cè)程序?qū)⑹紫葯z查許可證管理記錄文件當(dāng)中是否有該媒體文件的相關(guān)授權(quán)信息,以及驗(yàn)證許可證權(quán)限的有效性,再進(jìn)入下一步操作。如果許可證管理記錄文件中關(guān)于該媒體文件的信息存在并且有效,客戶端則無(wú)需再一次連接到許可證授權(quán)服務(wù)器去申請(qǐng)?jiān)S可證,否則就需要重新申請(qǐng)。如果許可證管理記錄文件中存在相應(yīng)的內(nèi)容,則在驗(yàn)證過(guò)有效權(quán)限之后需要相應(yīng)的更改記錄文件中的權(quán)限信息。
使用記錄文件包含:
(1)Content_NUM內(nèi)容編號(hào)(16 bit);
(2)Right權(quán)限信息(8 bit);
(3)End—Date截止日期(24 bit);
(4)Times使用次數(shù)(8 bit)。
在用戶播放內(nèi)容之后會(huì)存在過(guò)期的許可證,并且在使用記錄文件中存在過(guò)期的使用記錄信息。判斷使用記錄過(guò)期之后會(huì)將其內(nèi)容編號(hào)賦值為O,下一次寫(xiě)入使用記錄信息時(shí),首先查找是否存在內(nèi)容編號(hào)為0的記錄項(xiàng),如果存在則將該次使用記錄信息覆蓋原內(nèi)容;如果不存在,則在文件末尾添加這次的使用記錄信息。
[!--empirenews.page--]3 第二代數(shù)字版權(quán)保護(hù)機(jī)制XrML
作為第二代數(shù)字版權(quán)保護(hù)管理機(jī)制描述語(yǔ)言的xrML是XML語(yǔ)言(eXtensible MarkupLanguage的縮寫(xiě),意為可擴(kuò)展的標(biāo)記語(yǔ)言)的一個(gè)分支,由于其繼承了XML語(yǔ)言的優(yōu)點(diǎn)和方便簡(jiǎn)單的描述及強(qiáng)大的可擴(kuò)展性而得到越來(lái)越廣泛的應(yīng)用,并在數(shù)字版權(quán)管理方面提供了更為強(qiáng)大的技術(shù)支持。
通常的權(quán)限管理技術(shù)通過(guò)預(yù)先設(shè)定某些規(guī)則和策略來(lái)保護(hù)和控制文件內(nèi)容,可以進(jìn)行多種重要的內(nèi)容操作,如簡(jiǎn)單的查看、打印、編輯和共享等。但這種專(zhuān)用的數(shù)字權(quán)限管理形式已經(jīng)使其難以與其它形式進(jìn)行內(nèi)容共享。就如同上文所用的C語(yǔ)言結(jié)構(gòu)實(shí)現(xiàn)許可證的實(shí)現(xiàn),所能賦予的權(quán)限以及內(nèi)容十分局限,對(duì)于復(fù)雜的系統(tǒng)又難以實(shí)現(xiàn)擴(kuò)展,并且占用較多的系統(tǒng)空間,這在客戶端空間局限較大的系統(tǒng)中將存在嚴(yán)重問(wèn)題。但是XrML以許可的形式列出了數(shù)字內(nèi)容的訪問(wèn)和使用策略,許可定義了誰(shuí)可以訪問(wèn)內(nèi)容,如何保護(hù)和分配內(nèi)容,并控制了詳細(xì)的使用權(quán)限來(lái)實(shí)施某些操作,如授權(quán)打印和時(shí)間許可等。
XrML2.O核心概念包括“l(fā)icense,grant,princi—pal,right,resource and condition”。
在XrML2.0中重要的頂層結(jié)構(gòu)就是一個(gè)li—cense,從概念上講一個(gè)license可以理解為grant的容器。一個(gè)基本的license應(yīng)該包括以下的結(jié)構(gòu):
(1)在某種環(huán)境下授予某人對(duì)數(shù)據(jù)源的特定的權(quán)利;
(2)在授予某人權(quán)利之前對(duì)其身份進(jìn)行鑒定;
(3)各種各樣的相關(guān)信息。
grant是在license中用來(lái)提供對(duì)授予權(quán)利者的許可的一個(gè)重要的元素,它用來(lái)傳達(dá)對(duì)被授權(quán)者一個(gè)特定數(shù)據(jù)源的許可。在結(jié)構(gòu)上,它具有以下特點(diǎn):
(1)權(quán)利授予者的信息;
(2)被授予的權(quán)利的信息;
(3)用戶能夠行使的權(quán)利或是能夠獲取的數(shù)據(jù)源的信息;
(4)行使權(quán)利之前必須要滿足的特定的條件。
Principal元素用來(lái)描述權(quán)利授予者的信息,它支持以下的3種定義方法:
(1)一個(gè)被授予權(quán)利的用戶需要滿足多個(gè)鑒定條件,所有的條件必須全部有效才能夠被授予執(zhí)行數(shù)據(jù)源的權(quán)利;
(2)Keyholder,意味著將權(quán)利授予特殊密鑰的持有者;
(3)其它的定義類(lèi)型。
XrML2.0的主要結(jié)構(gòu)還包括fight,resource以及condition元素。其中right元素用來(lái)描述授予用戶對(duì)數(shù)據(jù)源操作的權(quán)利;resource元素用來(lái)描述數(shù)據(jù)源的信息;condition元素用來(lái)限定用戶行使權(quán)利的條件。這些主要的元素構(gòu)成了XrML2.0的主要結(jié)構(gòu),他們共同來(lái)對(duì)數(shù)字化的授權(quán)進(jìn)行標(biāo)準(zhǔn)化語(yǔ)言上的描述。
當(dāng)然通過(guò)以上各個(gè)結(jié)構(gòu)完全可以生成一個(gè)簡(jiǎn)單的許可證文件,并且其中賦予特定用戶簡(jiǎn)單的使用權(quán)限。然而,為了保證用戶確信許可證的合法性和正確性,還必須在許可證文件后對(duì)其進(jìn)行數(shù)字簽名的描述。
XML簽名可以用來(lái)確保XML文檔內(nèi)的內(nèi)容沒(méi)有發(fā)生改變,如果和XML加密聯(lián)合使用,即可保證所接收的數(shù)據(jù)就是所發(fā)送的數(shù)據(jù),外人無(wú)法閱讀加密內(nèi)容。
以上清單中s02行和s12行之間是Signedlnf元素,即實(shí)際簽名的信息。Signedlnfo的核心驗(yàn)證由兩個(gè)必要過(guò)程組成:對(duì)Signedlnfo的簽名驗(yàn)證和Signedlnfo內(nèi)部每個(gè)Reference摘要的驗(yàn)證。
s03行上,CanonicalizationMethod標(biāo)識(shí)了一種算法,這種算法被用來(lái)規(guī)范化SignedInfo元素,然后該元素作為簽名操作的一部分被編摘。
s04行上,SignatureMethod引用的是將規(guī)范化的SignedInfo轉(zhuǎn)換成Signaturevalue所用的算法。它是密鑰相關(guān)的算法和摘要算法(在這里是DSA和SHA一1)的組合,為算法簽名以抵抗攻擊,該攻擊是基于替換成效率更低的算法。
s05一s11每個(gè)Reference元素都包括摘要方法和對(duì)已標(biāo)識(shí)數(shù)據(jù)對(duì)象計(jì)算得出的摘要值。它還可能包括產(chǎn)生對(duì)摘要操作的輸入轉(zhuǎn)換。數(shù)據(jù)對(duì)象的簽名是通過(guò)計(jì)算其摘要值并對(duì)該值的簽名進(jìn)行的。稍后通過(guò)引用和簽名驗(yàn)證來(lái)檢查該簽名,這些驗(yàn)證將重新創(chuàng)建摘要值并確保它與該數(shù)據(jù)對(duì)象中的內(nèi)容匹配。
s05行上,Reference的這個(gè)可選URI屬性標(biāo)識(shí)要簽名的數(shù)據(jù)對(duì)象。在一個(gè)Signature中,至多可以對(duì)一個(gè)Reference省略該屬性。
s09一s10 DigestMethod是對(duì)數(shù)據(jù)應(yīng)用以產(chǎn)生DigestValue的算法。DigestValue的簽名是將資源內(nèi)容與簽名者密鑰綁定的機(jī)制。
s13行上是SignatureValue元素本身,它在SignedInfo之外,即位于簽名部分之外,不過(guò)計(jì)算SignatureValue所使用的算法則包括在已簽名的信息中。
s14行和s16行之間是Keylnfo元素(該元素是可選的),它指出了用于驗(yàn)證簽名的密鑰。標(biāo)識(shí)機(jī)制可以包括證書(shū)、密鑰名稱(chēng)和密鑰協(xié)議算法。
經(jīng)過(guò)簽名后的XrML許可證就可以通過(guò)許可證服務(wù)器發(fā)送到客戶端,客戶端只需要通過(guò)XML解析器將其中內(nèi)容進(jìn)行提取,就可以驗(yàn)證許可證發(fā)送方的合法性并從中提取媒體文件內(nèi)容密鑰對(duì)所需播放的媒體文件進(jìn)行解密收看,然而客戶端同樣具有許可證驗(yàn)證器,需要對(duì)許可證所賦予的權(quán)限進(jìn)行驗(yàn)證和判斷,并賦予用戶相應(yīng)的權(quán)限。
4 結(jié)束語(yǔ)
通過(guò)對(duì)比運(yùn)用C語(yǔ)言和XrML兩種方式實(shí)現(xiàn)數(shù)字電視視頻點(diǎn)播數(shù)字許可證的管理,可以看出,傳統(tǒng)的權(quán)利管理方式存在難以擴(kuò)展、實(shí)現(xiàn)復(fù)雜等缺點(diǎn),但是在需要較簡(jiǎn)單權(quán)利保護(hù)并且無(wú)法提供較高實(shí)現(xiàn)平臺(tái)的條件下,不失為一種比較直接的做法。由于第二代數(shù)字權(quán)利保護(hù)體制的出現(xiàn),xrML已經(jīng)得到了廣泛的運(yùn)用,并且出現(xiàn)了在Linux和Windows環(huán)境下用C++和Java開(kāi)發(fā)的解析器和驗(yàn)證器。文中的試驗(yàn)都是在Windows環(huán)境下實(shí)現(xiàn)的,但是有了這些解析器的出現(xiàn),很容易應(yīng)用在Linux的操作系統(tǒng)環(huán)境中。并且對(duì)于傳統(tǒng)的數(shù)字版權(quán)管理方案僅僅只是應(yīng)用C語(yǔ)言結(jié)構(gòu)體進(jìn)行定義部分必要信息和簡(jiǎn)單的數(shù)字權(quán)限,存在著特殊性和局限性。
由于網(wǎng)絡(luò)的普及,數(shù)字版權(quán)保護(hù)顯得越來(lái)越重要,引起了越來(lái)越多人的關(guān)注。無(wú)論是電子書(shū),音樂(lè)、電影、mp3等等網(wǎng)絡(luò)媒體文件都將面臨著版權(quán)的威脅,憑借著其良好的擴(kuò)展性以及簡(jiǎn)單的設(shè)計(jì)實(shí)現(xiàn),XrML語(yǔ)言將會(huì)成為數(shù)字版權(quán)管理的行業(yè)標(biāo)準(zhǔn)。