陳亦欣,肖 鋒,李慶楠
(1.江漢大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,湖北 武漢 430056;2.武漢大學(xué) 計算機(jī)學(xué)院,湖北 武漢 430072)
通用型DRM系統(tǒng)的擴(kuò)散控制研究
陳亦欣1,肖 鋒1,李慶楠2
(1.江漢大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,湖北 武漢 430056;2.武漢大學(xué) 計算機(jī)學(xué)院,湖北 武漢 430072)
針對數(shù)字媒體內(nèi)容版權(quán)保護(hù)的需求,提出了一種通用型DRM系統(tǒng)的擴(kuò)散控制技術(shù),它不依賴于媒體文件格式和媒體的內(nèi)容。對媒體文件進(jìn)行加密捆綁封包,只有授權(quán)用戶才能對其解包以及解密,同時進(jìn)程監(jiān)控程序防止用戶非法擴(kuò)散媒體文件內(nèi)容,進(jìn)程隱藏方法則對監(jiān)控程序進(jìn)行保護(hù),防止用戶強(qiáng)制將其關(guān)閉。擴(kuò)散控制技術(shù)利用保護(hù)文件和被保護(hù)媒體的結(jié)合與管控,防止了版權(quán)內(nèi)容被非法擴(kuò)散。
通用型DRM;數(shù)字媒體;文件捆綁;進(jìn)程隱藏
微軟的Windows Media DRM平臺可以保護(hù)并安全地傳送點播內(nèi)容和訂閱內(nèi)容,以在計算機(jī)、便攜設(shè)備或網(wǎng)絡(luò)設(shè)備上播放。其中Windows Media權(quán)限管理器會將Windows Media DRM文件打包并向合法用戶頒發(fā)許可證。數(shù)字媒體權(quán)利的所有者可以使用Windows Media權(quán)限管理器來對指定的數(shù)字媒體文件加密并使用一個“密鑰”將其鎖定,然后與內(nèi)容提供商所提供的其他信息捆綁在一起。只有獲取許可證的人才能播放打包的文件[1]。
然而Windows Media DRM的保護(hù)對象只是Windows Media Audio格式(擴(kuò)展名為.wma)或Windows Me?dia Video格式(擴(kuò)展名為.wmv)的文件,并且播放軟件也必須為Windows Media播放器,對于其他格式的媒體文件尚不能起到保護(hù)作用,并且實現(xiàn)的技術(shù)細(xì)節(jié)也未公開。
基于通用性原則,本文提出一種對任何格式的數(shù)字媒體文件都適用的防止媒體內(nèi)容擴(kuò)散的保護(hù)方案。其中對用戶操作行為的管控最為關(guān)鍵(見圖1),主要步驟設(shè)計如下:
1)打包。服務(wù)器將媒體文件和保護(hù)文件打包成為一個文件,再傳輸給用戶。用戶運行下載到本地的媒體文件包,解包即開始,文件頭部的解包程序自動運行。
2)解包并加載驅(qū)動。文件存放的目錄中,進(jìn)程和文件隱藏驅(qū)動、API攔截驅(qū)動等幾個驅(qū)動文件從打包文件中被釋放出來并加載。在加載監(jiān)控程序之前會做一次檢查,遇到已經(jīng)啟動的非法進(jìn)程,會提示用戶將其關(guān)閉。
3)獲取身份信息。負(fù)責(zé)保護(hù)的監(jiān)控程序這時就會獲取計算機(jī)的硬件指紋,進(jìn)而和服務(wù)器進(jìn)行通信,把獲得的客戶機(jī)硬件指紋信息以及用戶的信息等發(fā)送到授權(quán)服務(wù)器[2]。
4)驗證信息。授權(quán)服務(wù)器得到發(fā)送來的信息后,會接受一個授權(quán)請求包,那么它會在數(shù)據(jù)庫中查詢信息來驗證用戶對該文件的權(quán)利,驗證不通過就會拒絕請求;一旦驗證通過,就會給用戶發(fā)送解密文件的密鑰。
5)解密并持續(xù)監(jiān)控。獲得了密鑰的監(jiān)控程序就會對文件進(jìn)行解密操作,同時監(jiān)控程序開啟心跳線程建立與授權(quán)服務(wù)器的持續(xù)連接,如果發(fā)現(xiàn)連接斷開則退出并關(guān)閉文件。
6)管控用戶操作。解密了的文件在內(nèi)存中生成明文,自動關(guān)聯(lián)相應(yīng)的應(yīng)用程序來對其打開播放。這時就要安裝鉤子函數(shù)來實現(xiàn)屏蔽消息,達(dá)到防止復(fù)制、粘貼、打印、截屏等操作。并且它還要發(fā)送一條消息給驅(qū)動層的API攔截驅(qū)動,通知它攔截的明文文件的絕對路徑。每當(dāng)系統(tǒng)打開一個文件,該文件的絕對路徑都將被獲取用以和前面得到的明文文件的絕對路徑進(jìn)行比較,如果不吻合則放過,如果吻合則記錄下打開該文件的進(jìn)程ID。
7)退出。監(jiān)控程序一直等到應(yīng)用程序退出后,才卸載加載過的驅(qū)動以及鉤子,刪除釋放過的文件。
圖1 DRM系統(tǒng)管控用戶使用媒體文件的流程圖Fig.1 Procedure of DRM system controlling the using of media file
下面分別介紹系統(tǒng)中涉及的擴(kuò)散控制關(guān)鍵技術(shù),包括基于文件捆綁的自解包自解密文件結(jié)構(gòu)的設(shè)計,以及基于Windows平臺注入技術(shù)實現(xiàn)的進(jìn)程和文件的監(jiān)控和隱藏方法。
DRM規(guī)范定義了受保護(hù)內(nèi)容對象需要打包成一個特定格式的文件,該文件包中除了加密的數(shù)字媒體內(nèi)容外,還包含一些用來描述受保護(hù)內(nèi)容的元數(shù)據(jù)[3]。文件包只是簡單地起到一種存放內(nèi)容和數(shù)據(jù)的作用[4]。而在本方案中,筆者對包文件結(jié)構(gòu)的內(nèi)容進(jìn)行了改進(jìn)和擴(kuò)充。DRM平臺的服務(wù)器將一切需要在客戶端運行的文件連同媒體內(nèi)容都打包到一個包文件之中。該包文件中不僅包括媒體文件的密文,還有自解包文件、監(jiān)控程序以及各種功能性DLL組件等。
1)密文(CIPHERTEXT.CT):密文即需要被保護(hù)的媒體文件,它也是文件包中最主要的內(nèi)容,它被傳輸?shù)娇蛻舳撕髮⒂山饷艹绦蜻M(jìn)行解密。
2)監(jiān)控程序(Decipher.exe):監(jiān)控程序的作用就是對密文進(jìn)行解密和對打開媒體文件的應(yīng)用程序進(jìn)行選擇,另外,它還要對相應(yīng)的DLL文件和幾個驅(qū)動服務(wù)進(jìn)行加載,用來對打開媒體文件的應(yīng)用程序進(jìn)行監(jiān)管[5]。
3)DLL組件:即MouseHook.dll,其作用是對鼠標(biāo)鍵盤和一些API函數(shù)進(jìn)行監(jiān)視和攔截。
4)驅(qū)動文件:包含driver_hook_ssdt.sys、driver_hide_proc.sys以及driver_hide_file.sys 3個文件。
5)打包/解包程序(UnBind.exe):打包程序的作用是對所有的文件進(jìn)行捆綁,包文件傳輸?shù)娇蛻舳撕笥脩暨\行包就會運行解包程序進(jìn)行解包操作,對包內(nèi)所有文件進(jìn)行還原,并且它還是解包后的引導(dǎo)程序,因此它還負(fù)責(zé)對完成后的后續(xù)任務(wù)的進(jìn)程進(jìn)行創(chuàng)建。該包文件為可執(zhí)行文件(.exe文件)。當(dāng)客戶端用戶雙擊打開它時,它能夠?qū)崿F(xiàn)自解包、密文文件的自解密,并自動有序地運行包內(nèi)的其他文件。
1.1 捆綁文件內(nèi)部結(jié)構(gòu)
將文件捆綁打包的目的是使用戶在客戶端使用媒體文件時,對其進(jìn)行一定的限制,防止內(nèi)容被其轉(zhuǎn)發(fā)。捆綁文件的主要功能是把媒體文件的密文和監(jiān)控程序、文件隱藏驅(qū)動、進(jìn)程隱藏驅(qū)動、監(jiān)控的DLL和API攔截驅(qū)動捆綁成一個包文件。
打包的流程如圖2所示,打包程序把同一目錄下的解包程序、密文文件、監(jiān)控程序、DLL以及驅(qū)動文件捆綁為一個文件。該文件的內(nèi)部結(jié)構(gòu)如圖3所示。
圖2 文件捆綁圖Fig.2 Binding files
圖3 服務(wù)器端自解壓文件內(nèi)部結(jié)構(gòu)Fig.3 Internal structure of self extracting file in server side
打包程序創(chuàng)建一個新的.exe文件,計算解包文件長度并將其寫入該文件。同時,分別計算密文、解密程序、DLL組件和驅(qū)動文件的長度并將它們順序?qū)懭?exe文件。
解包程序位于.exe文件的頭部,因此,解包程序是.exe文件中最先運行的程序,利用文件定位,該程序?qū)崿F(xiàn)了解綁操作,并作為引導(dǎo)程序創(chuàng)建.exe文件中其他程序的進(jìn)程從而完成后續(xù)工作。在解包程序UnBind.exe文件里,各個文件的長度信息被記錄在一個名為MODIFY_DATA的數(shù)據(jù)結(jié)構(gòu)之中。
打包程序首先獲得每一個需要被捆綁文件的長度信息,再把該長度信息寫入到打包程序自身的MODIFY_DATA數(shù)據(jù)結(jié)構(gòu)內(nèi)。接著,對MODIFY_DATA結(jié)構(gòu)中的finder進(jìn)行查找,從而得到解包程序的MODIFY_DATA數(shù)據(jù)結(jié)構(gòu),再把打包程序自身的MODIFY_DATA數(shù)據(jù)結(jié)構(gòu)復(fù)制到解包程序的MODI?FY_DATA里。
1.2 文件解包原理
解包顧名思義就是將打好的包文件釋放出來,是封包的逆過程。解包的結(jié)果就是把包文件里除了解包程序之外的所有內(nèi)容還原。利用在解包程序里存儲的文件結(jié)構(gòu)信息,就能夠得到包中每個文件的大小等信息,再利用文件定位的方法把內(nèi)部文件的長度讀取出來,最后對文件內(nèi)容進(jìn)行完整的還原。在解包過程中,對監(jiān)控程序進(jìn)行還原時,解包程序定位于密文的尾部,首先對文件信息之中監(jiān)控程序的長度值進(jìn)行讀取,接著往后讀取長度值字節(jié),就完成了對監(jiān)控程序的完整還原。其中自解包和自解密的關(guān)鍵在于位于包的頭部的解包程序。它的作用首先是運行包文件時它會自動運行繼而完成解包功能;第二,它將密文解密為明文但實際上并不把密文解包出來以保證文件的安全性,此即為自解密功能的基本思路。解包的流程如圖4所示。
圖4 解包圖Fig.4 Unbinding files
當(dāng)包中的文件全部都被釋放出來后,解包程序?qū)⒘⒓催\行監(jiān)控程序,然后加載進(jìn)程隱藏驅(qū)動和文件隱藏驅(qū)動以及API攔截驅(qū)動。一切由客戶端所運行的非exe文件都存放于兩個目錄之內(nèi),這兩個目錄都被文件隱藏驅(qū)動所隱藏起來,用戶無法訪問。
2.1 進(jìn)程監(jiān)控方法
DRM平臺中的監(jiān)控功能模塊管控的是應(yīng)用程序的運行狀態(tài),防止用戶進(jìn)行拷貝等相關(guān)操作,它分為3部分:①監(jiān)控程序;②鼠標(biāo)鉤子DLL;③API攔截驅(qū)動,其工作步驟如下。
1)首先監(jiān)控程序被啟動,同時API攔截驅(qū)動也被啟動。監(jiān)控程序第一步會打開文件的絕對路徑,再把它發(fā)送到API攔截驅(qū)動,與此同時利用ShellExecute函數(shù)對文件進(jìn)行打開[6],這個函數(shù)只要為它指定文件的路徑,就能夠根據(jù)打開的文件格式來判斷需要用到的第三方應(yīng)用程序。
2)文件的絕對路徑被API攔截驅(qū)動得到之后,系統(tǒng)中所有打開狀態(tài)文件的進(jìn)程就會被監(jiān)控,并一一比對獲取的絕對路徑是否與其中某個打開文件的絕對路徑相同,一旦相同,則將該進(jìn)程的ID返回給監(jiān)控程序。
3)接著監(jiān)控程序得到這個應(yīng)用程序的ID之后,利用系統(tǒng)API函數(shù)SetWindowsHookEx來對目標(biāo)進(jìn)程掛接鼠標(biāo)和鍵盤鉤子,禁止非法的剪切、復(fù)制或保存等。
4)當(dāng)應(yīng)用程序的進(jìn)程ID被API攔截驅(qū)動得到后,通過將系統(tǒng)API函數(shù)ZwWriteFile替換掉從而對該進(jìn)程的一切寫操作進(jìn)行禁止。
5)待一切任務(wù)完成,第三方進(jìn)程退出后,卸載DLL以及驅(qū)動。
監(jiān)控功能在將打開文件的絕對路徑傳遞給驅(qū)動層并得到應(yīng)用程序進(jìn)程ID的過程實際上是一個交互的過程,采用了DeviceIoControl函數(shù)[7]。
對于鼠標(biāo)鍵盤的監(jiān)控主要是為了防止用戶使用鼠標(biāo)點選、拖拽,以及鍵盤的快捷鍵、組合鍵等形式對文件內(nèi)容進(jìn)行剪切、復(fù)制、粘貼、截屏、打印等。鼠標(biāo)和鍵盤監(jiān)控的范圍是顯示文件內(nèi)容的屏幕內(nèi)區(qū)域,也就是應(yīng)用程序的主窗口。在Windows操作系統(tǒng)之中,操作鼠標(biāo)或鍵盤時就會傳遞消息給應(yīng)用程序窗口,Windows操作系統(tǒng)通過句柄來判斷一個具體的窗口,在傳遞該消息時選定一個窗口句柄來代表接受消息的具體窗口[8]。鼠標(biāo)和鍵盤操作的消息能夠被成功處理就是因為窗口都有各自的消息處理函數(shù)以及消息隊列,如圖5所示。
圖5 窗口消息Fig.5 Window message
這里的鼠標(biāo)和鍵盤鉤子使用的是SetWindowsHookEx函數(shù)進(jìn)行安裝。該函數(shù)的原型是SetWindow?sHookEx(WH_KEYBOARD,KeyBoardProc,HInstance,0);該函數(shù)需要指明鉤子作用的主窗口線程和回調(diào)函數(shù)。一旦指定的線程消息隊列里有鼠標(biāo)或者鍵盤事件出現(xiàn)時,回調(diào)函數(shù)被調(diào)用來處理這些消息,它會通過消息內(nèi)容判斷后續(xù)的操作是進(jìn)行消息傳遞還是阻塞?;卣{(diào)函數(shù)聲明見表1。
表1 回調(diào)函數(shù)的聲明Tab.1 Declaration of call back founctions
其中nCode表示傳遞給鉤子的事件;wparam包括消息內(nèi)容,是傳遞給鉤子子程序的值,回調(diào)函數(shù)(鉤子函數(shù))根據(jù)該值來過濾鼠標(biāo)和鍵盤。代表復(fù)制的Ctrl+C組合鍵操作時,回調(diào)函數(shù)返回TRUE;否則繼續(xù)消息的傳遞。線程對系統(tǒng)剪貼板的使用會被監(jiān)視,系統(tǒng)剪貼板將被屏蔽。
以上的所有保護(hù)方法都是基于系統(tǒng)功能之上的,并未對應(yīng)用程序的自帶功能進(jìn)行一定的限制。對于第三方應(yīng)用程序不做過多限制的好處是不改變用戶自身的操作習(xí)慣。然而,對應(yīng)用程序完全不做限制也是有問題的,例如一部分軟件內(nèi)部會自帶一些“另存為”之類的操作及功能,可能會涉及到文件明文內(nèi)容的泄露。所以監(jiān)視第三方應(yīng)用程序的API函數(shù)調(diào)用是非常必要的,其原理則是攔截以及屏蔽那些有可能造成明文泄露的API函數(shù)。
攔截的原理則是修改系統(tǒng)服務(wù)調(diào)度表中相應(yīng)的內(nèi)核函數(shù)的地址,當(dāng)某個內(nèi)核函數(shù)被調(diào)用時都會先調(diào)用鉤子函數(shù)[9]。而在本攔截驅(qū)動里替換的是ZwFileWrite這個內(nèi)核函數(shù)。由于前一步中第三方應(yīng)用程序的進(jìn)程ID已經(jīng)被得到,所以這個ID就能夠被利用從而過濾這個企圖調(diào)用ZwFileWrite的進(jìn)程,只要這個ID的進(jìn)程調(diào)用ZwFileWrite就會返回?zé)o法找到句柄的錯誤信息,使得該進(jìn)程無法進(jìn)行寫操作。
2.2 進(jìn)程隱藏和文件隱藏
進(jìn)程隱藏是為了保護(hù)監(jiān)控進(jìn)程而對其進(jìn)行隱藏。因為如果不隱藏運行中的監(jiān)控程序,那么用戶就能通過手動的方式調(diào)出任務(wù)管理器,在任務(wù)管理器中找到監(jiān)控進(jìn)程并關(guān)閉它,這樣一來就無法保證所有保護(hù)措施已經(jīng)執(zhí)行以及無法得知打開受保護(hù)文件的第三方軟件何時退出。因此本方案需要加載driv?er_hide_proc.sys驅(qū)動來對進(jìn)程進(jìn)行隱藏。
首先,原本系統(tǒng)在獲取當(dāng)前系統(tǒng)進(jìn)程列表時,會調(diào)用內(nèi)核函數(shù)ZwQuerySystemInformation[10];但筆者通過修改系統(tǒng)服務(wù)調(diào)度表里的ZwQuerySystemInformation的地址就可以使系統(tǒng)不調(diào)用該函數(shù),而是調(diào)用driv?er_hide_proc.sys中的NewZwQuerySystemInformation函數(shù)。其次,ZwQuerySystemInformation的原始地址存在于driver_hide_proc.sys之中,NewZwQuerySystemInformation函數(shù)就利用該地址來調(diào)用原始函數(shù)ZwQuerySys?temInformation。緊接著,由于NewZwQuerySystemInformation函數(shù)調(diào)用了ZwQuerySystemInformation函數(shù),而后者的返回值將會傳遞給前者,而非傳回系統(tǒng)。最后,在NewZwQuerySystemInformation函數(shù)中修改返回的進(jìn)程鏈表,刪除打包進(jìn)程和監(jiān)控進(jìn)程的記錄,再將修改后的鏈表返回給系統(tǒng),如圖6所示。
圖6 進(jìn)程信息隱藏方式Fig.6 Method of process information hiding
文件隱藏用于隱藏臨時文件所在的文件夾,即圖4中的DRMDIR以及DRIVERDIR兩個文件夾。其原理和上面的進(jìn)程隱藏一致,通過替換ZwQueryDirectoryFile內(nèi)核函數(shù),修改FileInformationBuffer鏈表來達(dá)到隱藏文件的目的。
具體的實現(xiàn)中,服務(wù)器部分被簡化為用一臺主機(jī)完成Web服務(wù)器以及授權(quán)服務(wù)器的工作。測試環(huán)境為Windows XP操作系統(tǒng)。圖7和圖8以.doc文檔為例展示了對用戶非法操作媒體文件的管控。
圖7 運行加密后的數(shù)字媒體文件Fig.7 Runing of encrypted digital media files
圖8 用戶非法操作被禁止Fig.8 Prohibiting of illegal operation
相比已有的一些類似帶有數(shù)字版權(quán)保護(hù)功能的系統(tǒng),本系統(tǒng)不需要針對文件格式去特別定制文件的打開程序,并且也不會改變用戶的基本使用習(xí)慣。表2是對一些常用媒體文件類型進(jìn)行的功能測試結(jié)果,“×”表示該操作已被封鎖,“無此功能”表示該第三方軟件本身不支持該類編輯功能。
表2 測試結(jié)果Tab.2 Test results
表2中只列出了部分常用軟件的測試結(jié)果,對于如記事本、畫圖、Excel、Word、PPT、QQ音樂以及QQ影音等常用軟件,本系統(tǒng)能夠防止用戶對其打開的內(nèi)容進(jìn)行另存為、復(fù)制-粘貼、打印拷屏以及禁止用戶將文件內(nèi)容在非授權(quán)電腦上打開。
為保護(hù)數(shù)字媒體的版權(quán),防止其內(nèi)容被非法擴(kuò)散出去,本系統(tǒng)提出了一種通用型DRM的擴(kuò)散控制技術(shù)。將需要保護(hù)的內(nèi)容進(jìn)行加密和封裝,設(shè)計了一種進(jìn)程監(jiān)控程序?qū)τ脩舻姆欠ú僮鬟M(jìn)行管控,并且利用進(jìn)程隱藏和文件隱藏的方法保護(hù)監(jiān)控進(jìn)程不被非法關(guān)閉,較為有效地防止了數(shù)字媒體內(nèi)容的非法擴(kuò)散。系統(tǒng)在未來還需進(jìn)一步改進(jìn)和完善,提高包文件的解密和加載速度、避免殺毒軟件誤報等,讓用戶體驗更加透明。
(References)
[1]Microsoft Inc.Microsoft windows media-digital rights management(DRM)[EB/OL].http://msdn.microsoft.com/zh-cn/library/ cc838192(v=vs.95).aspx.
[2]劉思偉,慕德俊.數(shù)字版權(quán)管理的互操作技術(shù)研究[J].計算機(jī)科學(xué),2008(5):236-239.
[3]鐘勇,張宏,劉鳳玉,等.一種基于邏輯框架的數(shù)字版權(quán)管理機(jī)制和實現(xiàn)[J].計算機(jī)研究與發(fā)展,2010,47(2):223-230.
[4]孟芳慧,曹寶香,楊義先,等.多媒體數(shù)字產(chǎn)品版權(quán)保護(hù)模型研究與設(shè)計[J].計算機(jī)科學(xué),2013,40(1):98-102.
[5]宋文軍.計算機(jī)機(jī)房進(jìn)程監(jiān)控的設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2012(11):74-75.
[6]徐江峰,邵向陽.基于HOOK API技術(shù)的進(jìn)程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2011,32(4):1330-1334.
[7]張志勇,牛丹梅.數(shù)字版權(quán)管理中數(shù)字權(quán)利使用控制研究進(jìn)展[J].計算機(jī)科學(xué),2011,38(4):48-54.
[8]趙廣強(qiáng),凌捷.基于HOOK技術(shù)的進(jìn)程管理系統(tǒng)研究[J].計算機(jī)工程與設(shè)計,2014,35(7):2325-2329.
[9]黎孟雄,郭鵬飛.軟件實驗室智能管理系統(tǒng)的研究與實現(xiàn)[J].實驗技術(shù)與管理,2013(6):62-64.
[10]趙紅專,袁平,謝樂川.三網(wǎng)融合環(huán)境下數(shù)字版權(quán)管理的身份控管方案[J].計算機(jī)工程,2012,38(11):136-138.
(責(zé)任編輯:曾 婷)
Research on Diffusion Control for General DRM System
CHEN Yixin1,XIAO Feng1,LI Qingnan2
(1.School of Mathematics and Computer Science,Jianghan University,Wuhan 430056,Hubei,China;2.School of Computer,Wuhan University,Wuhan 430072,Hubei,China)
In view of the demand of copyright protection of digital media,a technology of diffusion con?trol for general DRM system is proposed.It does not depend on the format and content of media files.Me?dia files are encrypted and packed,which can be only opened by authorized users.Meanwhile,the pro?cess monitoring program stops illegal operations of diffusing media file content,and process hiding meth?od prevents the monitoring program from being shut down by users.Diffusion control for general DRM sys?tem concerns combining of the protected media files and the protecting files,and it prevents digital media content from being illegally diffused.
general DRM system;digital media;file binding;process hiding
TP309
:A
:1673-0143(2015)06-0544-07
10.16389/j.cnki.cn42-1737/n.2015.06.012
2015-09-04
陳亦欣(1985—),男,助教,博士,研究方向:數(shù)字版權(quán)管理。