兩種方式實現(xiàn)數(shù)字電視網絡許可證的管理
作為第二代數(shù)字版權保護管理機制描述語言的xrML是XML語言(eXtensible MarkupLanguage的縮寫,意為可擴展的標記語言)的一個分支,由于其繼承了XML語言的優(yōu)點和方便簡單的描述及強大的可擴展性而得到越來越廣泛的應用,并在數(shù)字版權管理方面提供了更為強大的技術支持。
通常的權限管理技術通過預先設定某些規(guī)則和策略來保護和控制文件內容,可以進行多種重要的內容操作,如簡單的查看、打印、編輯和共享等。但這種專用的數(shù)字權限管理形式已經使其難以與其它形式進行內容共享。就如同上文所用的C語言結構實現(xiàn)許可證的實現(xiàn),所能賦予的權限以及內容十分局限,對于復雜的系統(tǒng)又難以實現(xiàn)擴展,并且占用較多的系統(tǒng)空間,這在客戶端空間局限較大的系統(tǒng)中將存在嚴重問題。但是XrML以許可的形式列出了數(shù)字內容的訪問和使用策略,許可定義了誰可以訪問內容,如何保護和分配內容,并控制了詳細的使用權限來實施某些操作,如授權打印和時間許可等。
XrML2.O核心概念包括“l(fā)icense,grant,princi―pal,right,resource and condition”。
在XrML2.0中重要的頂層結構就是一個li―cense,從概念上講一個license可以理解為grant的容器。一個基本的license應該包括以下的結構:
(1)在某種環(huán)境下授予某人對數(shù)據源的特定的權利;
(2)在授予某人權利之前對其身份進行鑒定;
(3)各種各樣的相關信息。
grant是在license中用來提供對授予權利者的許可的一個重要的元素,它用來傳達對被授權者一個特定數(shù)據源的許可。在結構上,它具有以下特點:
(1)權利授予者的信息;
(2)被授予的權利的信息;
(3)用戶能夠行使的權利或是能夠獲取的數(shù)據源的信息;
(4)行使權利之前必須要滿足的特定的條件。
Principal元素用來描述權利授予者的信息,它支持以下的3種定義方法:
(1)一個被授予權利的用戶需要滿足多個鑒定條件,所有的條件必須全部有效才能夠被授予執(zhí)行數(shù)據源的權利;
(2)Keyholder,意味著將權利授予特殊密鑰的持有者;
(3)其它的定義類型。
XrML2.0的主要結構還包括fight,resource以及condition元素。其中right元素用來描述授予用戶對數(shù)據源操作的權利;resource元素用來描述數(shù)據源的信息;condition元素用來限定用戶行使權利的條件。這些主要的元素構成了XrML2.0的主要結構,他們共同來對數(shù)字化的授權進行標準化語言上的描述。
當然通過以上各個結構完全可以生成一個簡單的許可證文件,并且其中賦予特定用戶簡單的使用權限。然而,為了保證用戶確信許可證的合法性和正確性,還必須在許可證文件后對其進行數(shù)字簽名的描述。
XML簽名可以用來確保XML文檔內的內容沒有發(fā)生改變,如果和XML加密聯(lián)合使用,即可保證所接收的數(shù)據就是所發(fā)送的數(shù)據,外人無法閱讀加密內容。本文引用地址:http://www.biyoush.com/article/166894.htm
以上清單中s02行和s12行之間是Signedlnf元素,即實際簽名的信息。Signedlnfo的核心驗證由兩個必要過程組成:對Signedlnfo的簽名驗證和Signedlnfo內部每個Reference摘要的驗證。
s03行上,CanonicalizationMethod標識了一種算法,這種算法被用來規(guī)范化SignedInfo元素,然后該元素作為簽名操作的一部分被編摘。
s04行上,SignatureMethod引用的是將規(guī)范化的SignedInfo轉換成Signaturevalue所用的算法。它是密鑰相關的算法和摘要算法(在這里是DSA和SHA一1)的組合,為算法簽名以抵抗攻擊,該攻擊是基于替換成效率更低的算法。
s05一s11每個Reference元素都包括摘要方法和對已標識數(shù)據對象計算得出的摘要值。它還可能包括產生對摘要操作的輸入轉換。數(shù)據對象的簽名是通過計算其摘要值并對該值的簽名進行的。稍后通過引用和簽名驗證來檢查該簽名,這些驗證將重新創(chuàng)建摘要值并確保它與該數(shù)據對象中的內容匹配。
s05行上,Reference的這個可選URI屬性標識要簽名的數(shù)據對象。在一個Signature中,至多可以對一個Reference省略該屬性。
s09一s10 DigestMethod是對數(shù)據應用以產生DigestValue的算法。DigestValue的簽名是將資源內容與簽名者密鑰綁定的機制。
s13行上是SignatureValue元素本身,它在SignedInfo之外,即位于簽名部分之外,不過計算SignatureValue所使用的算法則包括在已簽名的信息中。
s14行和s16行之間是Keylnfo元素(該元素是可選的),它指出了用于驗證簽名的密鑰。標識機制可以包括證書、密鑰名稱和密鑰協(xié)議算法。
經過簽名后的XrML許可證就可以通過許可證服務器發(fā)送到客戶端,客戶端只需要通過XML解析器將其中內容進行提取,就可以驗證許可證發(fā)送方的合法性并從中提取媒體文件內容密鑰對所需播放的媒體文件進行解密收看,然而客戶端同樣具有許可證驗證器,需要對許可證所賦予的權限進行驗證和判斷,并賦予用戶相應的權限。
4 結束語
通過對比運用C語言和XrML兩種方式實現(xiàn)數(shù)字電視視頻點播數(shù)字許可證的管理,可以看出,傳統(tǒng)的權利管理方式存在難以擴展、實現(xiàn)復雜等缺點,但是在需要較簡單權利保護并且無法提供較高實現(xiàn)平臺的條件下,不失為一種比較直接的做法。由于第二代數(shù)字權利保護體制的出現(xiàn),xrML已經得到了廣泛的運用,并且出現(xiàn)了在Linux和Windows環(huán)境下用C++和Java開發(fā)的解析器和驗證器。文中的試驗都是在Windows環(huán)境下實現(xiàn)的,但是有了這些解析器的出現(xiàn),很容易應用在Linux的操作系統(tǒng)環(huán)境中。并且對于傳統(tǒng)的數(shù)字版權管理方案僅僅只是應用C語言結構體進行定義部分必要信息和簡單的數(shù)字權限,存在著特殊性和局限性。
由于網絡的普及,數(shù)字版權保護顯得越來越重要,引起了越來越多人的關注。無論是電子書,音樂、電影、mp3等等網絡媒體文件都將面臨著版權的威脅,憑借著其良好的擴展性以及簡單的設計實現(xiàn),XrML語言將會成為數(shù)字版權管理的行業(yè)標準。
評論