摘要:針對當(dāng)前DRM系統(tǒng)客戶端存在的兼容性差且不能通用的問題,設(shè)計了一種新型的通用數(shù)字權(quán)限管理客戶端模型。主要思路是通過對數(shù)字信息使用的監(jiān)控用實現(xiàn)數(shù)字權(quán)限的管理。使得用戶不需要在客戶端安裝多個DRM系統(tǒng)客戶端軟件,只需安裝一個客戶端即可實現(xiàn)不同類型數(shù)字內(nèi)容、不同數(shù)字內(nèi)容應(yīng)用軟件的兼容,減少客戶安裝維護(hù)的復(fù)雜性和潛在的安全沖突。誼模型具有良好的通用性和廣闊的應(yīng)用前景。
關(guān)鍵詞:兼容性;通用性:客戶端;安全
0 引言
數(shù)字版權(quán)管理技術(shù)(DRaM:Digital Rights Management)是用于管理用戶對數(shù)字內(nèi)容(digital content)的使用方式,實現(xiàn)保護(hù)數(shù)字內(nèi)容免遭未經(jīng)授權(quán)的使用或復(fù)制的方法的整體機(jī)制。在2001年1月,美國麻省理工學(xué)院在(Technology Review)雜志上將DRM技術(shù)評選為改變未來世界的10大創(chuàng)新技術(shù)之一。目前DRM的應(yīng)用研究中,美國的InterTrust是最早進(jìn)行DRM技術(shù)研究和開發(fā)的公司。而其它公司如微軟、Adobe,RealNetworks等也都提出了較為成熟的投入實際應(yīng)用的方案。
目前應(yīng)用的DRM系統(tǒng)從本質(zhì)上說都屬于獨立的系統(tǒng),因為它們都是由各著名軟硬件制造商針對自己的某個平臺或某個應(yīng)用而設(shè)計的,因而它們之間不能互相兼容,數(shù)字信息產(chǎn)品只限于在某個特定環(huán)境平臺下使用,使得用戶不能靈活地合法使用其數(shù)字信息產(chǎn)品。
面對這個問題。國際標(biāo)準(zhǔn)組織通過制定統(tǒng)一的數(shù)字權(quán)限語言如ODRL來實現(xiàn)對數(shù)字使用權(quán)限的統(tǒng)—描述。但是需要指出的是,ODRL并不能完全解決DRM系統(tǒng)通用性問題,因為面對不同的類型的文件以及同一文件的不同應(yīng)用軟硬件環(huán)境,支持ODRL語言的DRM系統(tǒng)仍不具備通用性。為了解決這個問題,本文提出了一種新型的通用數(shù)字權(quán)限管理客戶端模型,它可以解決DRM系統(tǒng)的客戶端通用性問題,主要的思路是通過對數(shù)字信息使用的監(jiān)控來實現(xiàn)數(shù)字權(quán)限的管理。
1 數(shù)字版權(quán)管理技術(shù)
1.1 DRM系統(tǒng)的架構(gòu)
目前大多數(shù)DRM系統(tǒng)都采用如圖1所示的系統(tǒng)架構(gòu)設(shè)計。
從圖1中可以看出,DRM系統(tǒng)有四個參與者,分別是:消費者;數(shù)字內(nèi)容提供者:主要是由數(shù)字內(nèi)容的版權(quán)所有者組成,他們希望通過DRM系統(tǒng)來保護(hù)他們版權(quán);分發(fā)者:主要是由網(wǎng)絡(luò)服務(wù)商組成,他們提供不同的數(shù)字內(nèi)容分發(fā)渠道。如網(wǎng)上零售和網(wǎng)上影院等,通過這些渠道將數(shù)字內(nèi)容提供者所提供的數(shù)字內(nèi)容分發(fā)至消費者;凈室:主要是解決涉及到資金處理過程中的事務(wù),如:它負(fù)責(zé)向消費者收取費用,并將費用按協(xié)議分給數(shù)字內(nèi)容提供商和分發(fā)者,并在確認(rèn)消費者已支付費用的情況下,向消費者發(fā)放數(shù)字使用許可證書。
上述的DRM系統(tǒng)的主要工作過程是,首先由數(shù)字內(nèi)容提供者將其提供的數(shù)字內(nèi)容進(jìn)行編碼和加密后打包,然后提供給分發(fā)者,由分發(fā)者向消費者提供數(shù)字內(nèi)容的相關(guān)信息。當(dāng)消費者決定購買該數(shù)字信息產(chǎn)品后,他通過向凈室提出請求并向它支付相關(guān)費用;凈室在得到消費者支付的費用后,將費用分發(fā)至數(shù)字內(nèi)容提供者和分發(fā)者,并將數(shù)字內(nèi)容使用許可證發(fā)送到消費者;消費者即可憑借許可證合法使用對應(yīng)的數(shù)字信息內(nèi)容。
1.2 DRM系統(tǒng)的關(guān)鍵技術(shù)
DRM系統(tǒng)的關(guān)鍵技術(shù)一共有以下幾種:
(1)DRM信任模型
DRM系統(tǒng)中的信任模型與一般的安全信任模型不同,它不是簡單地針對幾個參與方進(jìn)行身份認(rèn)證和交互的信息加密。DRaM的信任模型必須要保證當(dāng)消費者獲得加密的信息產(chǎn)品和許可證書之后,可以按照證書要求的方式來使用數(shù)字信息,因此它的信任模型不僅僅只是對用戶身份的認(rèn)證和數(shù)字信息的加密,還必須要實現(xiàn)監(jiān)控用戶對數(shù)字信息的合法使用。通常DRM系統(tǒng)是通過硬件技術(shù)(可信計算技術(shù))結(jié)合軟件技術(shù)(加密與監(jiān)控)實現(xiàn)。
(2)加密技術(shù)
DRM系統(tǒng)中的加密技術(shù)主要有:對稱和非對稱加密技術(shù)。對于數(shù)字信息一般采用對稱加密技術(shù),以提高數(shù)字信息的加密與解密速度;而針對個人身份認(rèn)證,數(shù)字證書等方面一般采用非對稱加密技術(shù)以確認(rèn)各參與方的身份。除此之外,還有數(shù)字簽名和數(shù)字論證等加密技術(shù)。
(3)應(yīng)用環(huán)境標(biāo)識與區(qū)分
由于DRaM系統(tǒng)對用戶使用數(shù)字內(nèi)容的方式有嚴(yán)格的限制,為了監(jiān)控和防止數(shù)字內(nèi)容被非法使用,數(shù)字內(nèi)容的應(yīng)用環(huán)境標(biāo)識與區(qū)分就顯得很重要,只有使用許可證確認(rèn)的應(yīng)用環(huán)境,數(shù)字內(nèi)容的使用才能得到有效的監(jiān)控。數(shù)字內(nèi)容的應(yīng)用環(huán)境標(biāo)識與區(qū)分—般采用信任計算技術(shù):采集應(yīng)用環(huán)境特定的參數(shù),生成應(yīng)用環(huán)境標(biāo)識并在每次使用數(shù)字內(nèi)容時進(jìn)行識別。
(4)數(shù)字水印
數(shù)字水印技術(shù)是在數(shù)字內(nèi)容內(nèi)插入數(shù)字的相關(guān)內(nèi)容信息以及一些特殊目的的數(shù)據(jù),這些數(shù)據(jù)與數(shù)字內(nèi)容合成—體。用戶難以察覺。在DIVl系統(tǒng)中內(nèi)容提供者使用數(shù)字水印技術(shù)在提供的數(shù)字內(nèi)容中插入數(shù)字內(nèi)容的相關(guān)信息以及版權(quán)說明,還有使用許可說明等。
2 通用型的數(shù)字權(quán)限管理客戶端模型
由上文所述可知,當(dāng)前DRM系統(tǒng)不能通用的主要原因并不是在于數(shù)字內(nèi)容的提供與分發(fā),以及許可證發(fā)放、收費流程等方面。因為DIeM系統(tǒng)主要的幾個參與方都是利用網(wǎng)絡(luò)進(jìn)行的,所以這種架構(gòu)不會造成系統(tǒng)通用性問題。
目前DIeM系統(tǒng)不能通用的主要原因在于消費者客戶端。DRM系統(tǒng)的信任模型必須要保證消費者在得到數(shù)字內(nèi)容后,按許可證的要求合法使用數(shù)字內(nèi)容,因此DRM系統(tǒng)需要用戶安裝專用的客戶端,系統(tǒng)通過客戶端來監(jiān)控用戶對數(shù)字內(nèi)容的使用。而現(xiàn)有DIVl系統(tǒng)的客戶端都是某個公司針對某個應(yīng)用軟件如:Window media pJ,dy,Adobe reader等開發(fā)的插件,或者是針對某個類型的文件而開發(fā)出來的專用客戶端,如索尼的MP3客戶端,電子書客戶端等。顯然這種類型的客戶端不僅限制了客戶,同時也限制了系統(tǒng)的通用性,使得用戶不得不在同一臺設(shè)備上安裝多個DRM系統(tǒng),這給用戶帶來了不便,也造成潛在的系統(tǒng)沖突。為了解決通用性問題,本文利用ODP~L語言為基礎(chǔ)進(jìn)行數(shù)字權(quán)限描述,通過在消費者設(shè)備上建立統(tǒng)一的DRM監(jiān)控進(jìn)程來完成通用的DRM客戶端,達(dá)到通用DRM系統(tǒng)的目的。
2.1 通用型數(shù)字權(quán)限管理客戶端模型架構(gòu)
由上文所述,本文的通用型數(shù)字權(quán)限管理客戶端模型如圖2所示。
從圖2中可以看出,通用型數(shù)字權(quán)限管理客戶端模型主要由三個部分組成:DRM客戶端控制進(jìn)程——該進(jìn)程主要的功能是對數(shù)字內(nèi)容按許可證進(jìn)行解碼,注冊數(shù)字內(nèi)容信息;數(shù)字內(nèi)容注冊表——該數(shù)據(jù)結(jié)構(gòu)主要用于注冊數(shù)字內(nèi)容的許可證內(nèi)容以及其它相關(guān)信息;DIeM臨時文件容器——主要存放控制進(jìn)程生成解碼后的數(shù)字內(nèi)容臨時文件。
通用型數(shù)字權(quán)限管理客戶端模型的工作流程由以下幾個步驟組成:
(1)用戶將獲得的數(shù)字內(nèi)容和許可證提交到客戶端控制進(jìn)程,控制進(jìn)程通過對數(shù)字內(nèi)容以及許可證的校驗,確認(rèn)許可證以及數(shù)字內(nèi)容的合法性之后,將數(shù)字內(nèi)容的相關(guān)信息和許可證存放到數(shù)字內(nèi)容注冊表。
(2)當(dāng)用戶使用數(shù)字內(nèi)容時,向控制進(jìn)程發(fā)出請求,控制進(jìn)程首先利用注冊表信息,進(jìn)行應(yīng)用環(huán)境識別和用戶使用權(quán)限確認(rèn),然后根據(jù)許可證,對數(shù)字內(nèi)容解碼,將解碼后的數(shù)字內(nèi)容放入DRM臨時文件容器。
(3)DRM客戶端控制進(jìn)程利用用戶環(huán)境中默認(rèn)的應(yīng)用軟件(或由用戶指定)打開臨時文件容器內(nèi)的數(shù)字內(nèi)容。用戶可以開始使用數(shù)字內(nèi)容,同時DRM客戶端控制進(jìn)程監(jiān)控用戶按許可證規(guī)定的方式使用文件。
2.2 控制進(jìn)程的監(jiān)控功能實現(xiàn)
在DRM系統(tǒng)中,監(jiān)控用戶使用數(shù)字內(nèi)容的功能十分重要,因為用戶可能在打開數(shù)字內(nèi)容時,采用復(fù)制等手段危害數(shù)字內(nèi)容的版權(quán)。本文設(shè)計的數(shù)字權(quán)限管理客戶端模型為了實現(xiàn)通用性,不能采用針對某個軟件的插件等方式來監(jiān)控用戶,我們采用監(jiān)控DRMll臨時文件容器的方法實現(xiàn)對用戶的監(jiān)控。其主要實現(xiàn)模塊由二個部分組成:
(1)文件系統(tǒng)監(jiān)控模塊
文件系統(tǒng)監(jiān)控模塊用于監(jiān)控當(dāng)前系統(tǒng)中打開DRM臨時文件容器中的文件所對應(yīng)的進(jìn)程。下面以Windows XP系統(tǒng)平臺為例加以說明。模塊通過Windows內(nèi)核API函數(shù)Nt-QuerySystemlnformation函數(shù)返回SYSTEM_HANDLE結(jié)構(gòu)的數(shù)組,獲得所有句柄,包括:文件句柄。Motex句柄,事件句柄等等。對于Window XP文件對象來說,其旬柄類型值是28,憑此可以獲取當(dāng)前正在打開的文件句柄,代碼片斷如圖3所示。文件系統(tǒng)監(jiān)控模塊由文件句柄即可獲得當(dāng)前打開DRM臨時文件容器的應(yīng)用進(jìn)程,從而通過對應(yīng)用進(jìn)程的監(jiān)控,保證用戶按許可證的要求使用數(shù)字內(nèi)容。
(2)用戶使用文件方式控制模塊
用戶使用文件方式監(jiān)控模塊的主要功能是控制用戶按許可證的方式使用數(shù)字內(nèi)容。它的功能實現(xiàn)建立在文件系統(tǒng)監(jiān)控模塊的基礎(chǔ)之上:利用Windows鉤子程序,在獲知使用DRM數(shù)字內(nèi)容的進(jìn)程情況下,可以很容易地實現(xiàn)該進(jìn)程對數(shù)字內(nèi)容的使用控制。如禁止另存、復(fù)制、文件共享等危害數(shù)字內(nèi)容版權(quán)的使用方式;同時也可以對用戶使用數(shù)字內(nèi)容的具體細(xì)節(jié)參數(shù)進(jìn)行統(tǒng)計,并將其存入DRM注冊表中。
3 應(yīng)用舉例
本文以使用影音文件為例,說明本客戶端模型的工作過程。
Avi文件可由Windows自帶的播放器打開之外。還可以由RealPlay。影音風(fēng)景等其它應(yīng)用工具打開播放。采用本DRM客戶端模型,用戶首先在獲取加密的數(shù)字內(nèi)容和許可證之后,向客戶端提交許可證和數(shù)字內(nèi)容進(jìn)行校驗注冊,客戶端將許可證和數(shù)字內(nèi)容相關(guān)信息寫入注冊表。當(dāng)用戶使用數(shù)字內(nèi)容后,客戶端即可根據(jù)許可證將數(shù)字內(nèi)容解密后放入DRaM臨時文件容器。同時調(diào)用系統(tǒng)默認(rèn)工具(如Windows media play),也可以由用戶選擇打開工具。
當(dāng)用戶使用本數(shù)字內(nèi)容時,客戶端控制進(jìn)程即在系統(tǒng)內(nèi)根據(jù)注冊的數(shù)字內(nèi)容名監(jiān)控所有打開和使用當(dāng)前數(shù)字內(nèi)容的進(jìn)程,并控制它們對數(shù)字內(nèi)容的使用方式,從而保證用戶按許可證的要求使用數(shù)字內(nèi)容。
4 結(jié)束語
本文描述了一種新型的通用數(shù)字權(quán)限管理客戶端模型,該模型可以實現(xiàn)DRM數(shù)字內(nèi)容對消費者客戶端的通用性。即消費者可以應(yīng)用不同的軟件工具對合法擁有的數(shù)字內(nèi)容進(jìn)行使用,用戶只需要安裝一個客戶端即可實現(xiàn)對不同類型數(shù)字內(nèi)容、不同數(shù)字內(nèi)容應(yīng)用軟件的兼容。本文所給出的模型,能減少用戶安裝維護(hù)的困難,同時也可減少系統(tǒng)安全功能沖突的潛在風(fēng)險,因而它具有廣闊的應(yīng)用前景。