技術(shù)領(lǐng)域
[0001] 本
發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種基于網(wǎng)絡(luò)環(huán)境的通用數(shù)字
版權(quán)保護(hù)方法。
背景技術(shù)
[0002] 數(shù)字內(nèi)容本身易拷貝,網(wǎng)絡(luò)技術(shù)的發(fā)展導(dǎo)致非法傳播擴(kuò)散更加泛濫。一方面導(dǎo)致數(shù)字資產(chǎn)的知識(shí)產(chǎn)權(quán)保護(hù)處于被動(dòng)的的事后取證,且很困難。另一方面,挫傷了媒體內(nèi)容的創(chuàng)作者、商家的積極性,導(dǎo)致媒體產(chǎn)業(yè)的發(fā)展受到影響。順應(yīng)需求,出現(xiàn)了DRM技術(shù)。以通用微型計(jì)算機(jī)作為客戶端的內(nèi)容播放設(shè)備,DRM實(shí)際就是阻止機(jī)器播放程序繞過控制。
[0003] 當(dāng)信息內(nèi)容變成
電子文件,管理從人轉(zhuǎn)移至
計(jì)算機(jī)程序,版權(quán)變?yōu)閿?shù)字版權(quán)后,原來“版權(quán)”所規(guī)定的行為動(dòng)作對(duì)計(jì)算機(jī)顯然不是一個(gè)友好的概念。因?yàn)榍謾?quán)人對(duì)數(shù)字版權(quán)的侵權(quán)的前提,是他能用他的計(jì)算機(jī)或其它設(shè)備繞過版權(quán)保護(hù)程序的控制。從這種意義上講,版權(quán)保護(hù)程序保護(hù)的是數(shù)字版權(quán)不被其它計(jì)算機(jī)或設(shè)備“侵權(quán)” 。
[0004] 數(shù)字媒體作為一種特殊的商品,買賣雙方在相距遙遠(yuǎn)的網(wǎng)絡(luò)兩端,借助
電子商務(wù)平臺(tái)完成交易,沒有面對(duì)面的談判和面對(duì)面貨物交接。由于數(shù)字媒體商品的新型性以及以網(wǎng)絡(luò)作為紐帶,可以產(chǎn)生諸如租賃式和微支付等新型消費(fèi)模式,可以
指定用戶在某個(gè)時(shí)間段使用數(shù)字商品以及使用多少次失效等。
[0005] 數(shù)字商品一旦被用戶購(gòu)買,我們難以阻止他出借給他人使用,這與
硬件商品是一樣的。所以數(shù)字內(nèi)容的保護(hù)難以與主觀的用戶
捆綁,因?yàn)橹饔^信息(如用戶名、密碼等)會(huì)被購(gòu)買者告訴第三方。
[0006] 一旦數(shù)字媒體下載到客戶機(jī),我們需要監(jiān)控的不是內(nèi)容本身,而是播放內(nèi)容的應(yīng)用程序。媒體的內(nèi)容多種多樣,相應(yīng)的播放程序也是五花八
門,開發(fā)出與媒體內(nèi)容和播放程序無關(guān)的通用管控程序阻止內(nèi)容明文從播放設(shè)備泄露是DRM系統(tǒng)的關(guān)鍵。
[0007] 作為易用性要求,不應(yīng)該強(qiáng)迫用戶改變?cè)跊]有DRM時(shí)使用媒體的操作和處置習(xí)慣。DRM的引入也不應(yīng)該大大降低客戶機(jī)運(yùn)行性能。
[0008] 為了降低遠(yuǎn)程監(jiān)管難度,降低DRM防護(hù)系統(tǒng)遭破解的
風(fēng)險(xiǎn),將媒體內(nèi)容集中在
服務(wù)器存放、管理和播放。每次根據(jù)付費(fèi)客戶的
請(qǐng)求,服務(wù)器播放媒體,送出播放的內(nèi)容給客戶機(jī),類似于現(xiàn)有的流媒體電影方式。媒體完整的內(nèi)容位于服務(wù)器端,客戶端獲得的是流頁(yè)面結(jié)果(或嵌入在網(wǎng)頁(yè)中)。這種模式的優(yōu)點(diǎn)在于媒體的管控簡(jiǎn)單,由于完整內(nèi)容位于服務(wù)器,客戶端僅僅獲得內(nèi)容的分解頁(yè)面。無需客戶端運(yùn)行相關(guān)的協(xié)同管控程序,客戶端只需要瀏覽器即可。
[0009] 這種模式至少存在四個(gè)缺點(diǎn)。其一,增加了網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān),尤其是大文件(比如電影)??蛻裘看问褂妹襟w內(nèi)容的時(shí)候,服務(wù)器均需要將內(nèi)容一頁(yè)一頁(yè)地傳輸過來。受帶寬和網(wǎng)速的限制,會(huì)經(jīng)常出現(xiàn)播放不暢,影響使用效果。其二,增加了服務(wù)器的負(fù)擔(dān),服務(wù)器需要安裝各種播放器或異構(gòu)內(nèi)容轉(zhuǎn)換器,并為多個(gè)客戶實(shí)時(shí)播放各自指定的媒體內(nèi)容。其三,對(duì)于客戶不合理。付費(fèi)的客戶只有媒體的觀看權(quán),沒有媒體內(nèi)容的持有權(quán)。網(wǎng)絡(luò)不暢也導(dǎo)致用戶無法獲得享受本地媒體那樣的觀賞效果。其四,這種商業(yè)模式對(duì)于享受類媒體(電影、音樂)尚可,但是對(duì)于文檔類媒體,很難滿足用戶需要的回放、翻頁(yè)、跳轉(zhuǎn)以及分頁(yè)打印等需求,這會(huì)增加服務(wù)器端的緩存壓
力。另外,這種方式仍然不能絕對(duì)保護(hù)媒體內(nèi)容不被擴(kuò)散,現(xiàn)在有
軟件工具可將流頁(yè)緩沖在客戶機(jī)內(nèi)存,進(jìn)而保存為明文文件而擴(kuò)散。
發(fā)明內(nèi)容
[0010] 針對(duì)上述存在的技術(shù)問題,本發(fā)明提出一種基于網(wǎng)絡(luò)環(huán)境的通用數(shù)字版權(quán)保護(hù)方法,解決如何通過網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)媒體文件的使用作實(shí)施監(jiān)管,而不會(huì)影響用戶的正常使用,其中監(jiān)管包括監(jiān)控和管理兩方面的內(nèi)容:監(jiān)控即服務(wù)器能夠?qū)崟r(shí)獲知用戶對(duì)某媒體的使用狀態(tài),管理即用戶對(duì)任何媒體的權(quán)限都由服務(wù)器統(tǒng)一管理,使用前必須獲得服務(wù)器
許可。
[0011] 為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:①內(nèi)容提供商在
網(wǎng)站注冊(cè)一個(gè)帳戶之后,通過WEB上傳內(nèi)容,上傳時(shí)需指定媒體的永久購(gòu)買價(jià)格和租用價(jià)格及內(nèi)容的各項(xiàng)屬性;
②管理員可以設(shè)置網(wǎng)站的各項(xiàng)參數(shù)、審核內(nèi)容;
③消費(fèi)者可以瀏覽、檢索、購(gòu)買、下載內(nèi)容;
④消費(fèi)者只需雙擊下載到的文件,即可開始使用,監(jiān)管程序會(huì)向服務(wù)器索取解密密鑰;
⑤在內(nèi)容的使用過程中,客戶機(jī)和服務(wù)器會(huì)建立持久連接,若檢測(cè)到此鏈接斷開則雙方均會(huì)采取相應(yīng)的安全措施;
⑥一旦發(fā)生媒體
泄漏事故,可以根據(jù)數(shù)字
水印追查到事故責(zé)任人。
[0012] 步驟①中服務(wù)器為內(nèi)容提供商提供的服務(wù)通過WEB程序?qū)崿F(xiàn),
數(shù)據(jù)庫(kù)中記錄內(nèi)容提供商信息的表中除了用戶名和密碼外還應(yīng)至少包含賬戶余額字段,內(nèi)容提供商在WEB服務(wù)器上注冊(cè)賬戶之后,服務(wù)器自動(dòng)將對(duì)應(yīng)的賬戶余額初始化為零。
[0013] 步驟②中每當(dāng)管理員要求設(shè)置網(wǎng)站參數(shù),服務(wù)器從數(shù)據(jù)庫(kù)中讀取所有參數(shù)數(shù)據(jù),放置在表單中作為默認(rèn)值,管理員秩序
修改需要更新的字段并提交。
[0014] 步驟③中服務(wù)器在相應(yīng)消費(fèi)者的瀏覽/檢索請(qǐng)求時(shí),會(huì)過濾掉所有狀態(tài)字段不是已通過審核的內(nèi)容。
[0015] 步驟④包括以下子步驟:首先,在當(dāng)前目錄釋放驅(qū)動(dòng)文件,并隨之加載這些驅(qū)動(dòng);
其次,客戶機(jī)進(jìn)入登錄流程,獲取本機(jī)的MAC地址作為硬件指紋,然后將硬件指紋和用戶ID、密碼以及內(nèi)容編號(hào)一并發(fā)送給授權(quán)服務(wù)器;
授權(quán)服務(wù)器收到驗(yàn)證請(qǐng)求后,進(jìn)入驗(yàn)證步驟:首先判斷用ID及密碼是否相符,若相符,則在數(shù)據(jù)庫(kù)中查詢?cè)撚脩舻挠布畔?,所述查詢結(jié)果為:a、查詢結(jié)果數(shù)為零,b、查詢結(jié)果中存在與該請(qǐng)求數(shù)據(jù)包中硬件指紋相符的記錄,c、查詢結(jié)果數(shù)不為零且不存在與該請(qǐng)求數(shù)據(jù)包中硬件指紋相符的記錄;根據(jù)不同結(jié)果分別進(jìn)入以下步驟:
若結(jié)果為a,則在硬件記錄表中增加一條記錄;
若結(jié)果為b,則跳過此步驟;
若結(jié)果為c,則先判斷允許共享的PC數(shù)是否已達(dá)到上限,若未達(dá)到上限則可進(jìn)入下一步;
第三,判斷用戶對(duì)該內(nèi)容的權(quán)限,服務(wù)器查詢數(shù)據(jù)庫(kù)中的訂單表中關(guān)于該用戶和該內(nèi)容的表項(xiàng),從而判斷該用戶對(duì)該內(nèi)容的所有權(quán)是否有效,若有效,則取出該項(xiàng)中的密鑰,發(fā)送給用戶。
[0016] 步驟⑤中服務(wù)器會(huì)為每個(gè)用戶都開啟一個(gè)線程進(jìn)行通信,客戶機(jī)在收到解密密鑰后即啟動(dòng)心跳線程與服務(wù)器建立持久連接。客戶機(jī)每隔一個(gè)特定的時(shí)間段即發(fā)送一個(gè)心跳數(shù)據(jù)包給服務(wù)器,服務(wù)器收到后會(huì)立即回復(fù)一個(gè)心跳數(shù)據(jù)包。
[0017] 步驟⑥中取已泄漏的明文文件,根據(jù)其文件格式,選擇適應(yīng)的數(shù)字水印提取程序進(jìn)行提取,提取出來的內(nèi)容是對(duì)應(yīng)的用戶ID,根據(jù)此ID可以查找到相應(yīng)的惡意消費(fèi)者。
[0018] 本發(fā)明具有以下優(yōu)點(diǎn)和積極效果:1)本發(fā)明降低了用戶使用時(shí)對(duì)帶寬的要求,不再要求通過網(wǎng)絡(luò)實(shí)時(shí)獲取內(nèi)容;
2)本發(fā)明不會(huì)改變用戶原有的使用習(xí)慣;
3)本發(fā)明中權(quán)限管理采用服務(wù)器集中管理,服務(wù)器實(shí)時(shí)授權(quán)的方式,增加了安全性。
附圖說明
[0019] 圖1是本發(fā)明中服務(wù)器端權(quán)限驗(yàn)證
流程圖。
[0020] 圖2是本發(fā)明中媒體分發(fā)流程圖。
[0021] 圖3是本發(fā)明中媒體授權(quán)與監(jiān)管流程圖。
[0022] 圖4是本發(fā)明中通信協(xié)議服務(wù)器有限狀態(tài)機(jī)。
[0023] 圖5是本發(fā)明中通信協(xié)議客戶端有限狀態(tài)機(jī)。
具體實(shí)施方式
[0024] 一、本發(fā)明采用媒體文件加密后由用戶本地存放,使用時(shí)網(wǎng)絡(luò)授權(quán)的方式。
[0025] 本發(fā)明采用本地保護(hù)、網(wǎng)絡(luò)授權(quán)的措施,用戶使用時(shí)無需網(wǎng)絡(luò)傳送媒體內(nèi)容,極大地減少了服務(wù)器的網(wǎng)絡(luò)負(fù)擔(dān)。方案如下:用戶購(gòu)買保護(hù)內(nèi)容時(shí),保護(hù)提供商會(huì)隨機(jī)生成一個(gè)密鑰,當(dāng)用戶請(qǐng)求下載媒體文件時(shí),服務(wù)器即使用該密鑰對(duì)媒體文件進(jìn)行加密。最后,將加密的媒體內(nèi)容、解密程序和客戶端監(jiān)控程序等打包成一個(gè)文件提供給付
費(fèi)用戶下載。當(dāng)用戶需要瀏覽保護(hù)內(nèi)容時(shí),只需要雙擊獲得的文件,解密程序就會(huì)自動(dòng)提取本地硬件指紋,提交給服務(wù)器驗(yàn)證,服務(wù)器驗(yàn)證通過后即給客戶機(jī)發(fā)送密鑰。
[0026] 客戶機(jī)在確定監(jiān)管程序已經(jīng)正常啟動(dòng)的情況下才會(huì)利用獲取的密鑰進(jìn)行解密,解密之后該密鑰將被銷毀,然后在系統(tǒng)中自動(dòng)找到與該文件格式相關(guān)聯(lián)的程序來打開該媒體。
[0027] 二、本發(fā)明對(duì)用戶的操作進(jìn)行實(shí)時(shí)監(jiān)管。
[0028] 用戶在使用媒體時(shí)要求聯(lián)網(wǎng),服務(wù)器能夠?qū)崟r(shí)獲取用戶的使用狀態(tài):當(dāng)用戶打開保護(hù)文件時(shí),監(jiān)管程序隨之啟動(dòng),向服務(wù)器請(qǐng)求解密密鑰。服務(wù)器根據(jù)圖1的流程對(duì)該用戶的合法性進(jìn)行驗(yàn)證。若驗(yàn)證成功,則給客戶機(jī)發(fā)送解密密鑰并進(jìn)入實(shí)時(shí)監(jiān)管狀態(tài),服務(wù)器會(huì)對(duì)客戶機(jī)的行為進(jìn)行記錄。
[0029] 若發(fā)現(xiàn)客戶機(jī)有斷網(wǎng)等可疑行為,服務(wù)器會(huì)進(jìn)行記錄,客戶機(jī)會(huì)立即關(guān)閉媒體文件。
[0030] 本發(fā)明的特點(diǎn)是:通過實(shí)現(xiàn)網(wǎng)絡(luò)驗(yàn)證以實(shí)時(shí)監(jiān)管售出的媒體文件的使用狀態(tài),極大地提升了媒體的安全性。用戶的所有行為都記錄為日志,以便分析用戶是否有惡意行為。
[0031] 三、本發(fā)明以自適應(yīng)方式對(duì)媒體文件進(jìn)行數(shù)字水印嵌入。
[0032] 由于本地監(jiān)管程序?qū)θ我飧袷蕉际峭ㄓ玫模梢詫?duì)任意格式的數(shù)字媒體進(jìn)行保護(hù),故選取自適應(yīng)方式進(jìn)行數(shù)字水印嵌入,即根據(jù)不同的媒體內(nèi)容,自動(dòng)選取合適的水印嵌入
算法進(jìn)行版權(quán)信息嵌入。
[0033] 一旦數(shù)字媒體內(nèi)容發(fā)生泄漏而惡意傳播,認(rèn)證方可以根據(jù)數(shù)字水印進(jìn)行取證,追究相關(guān)人員的法律責(zé)任。
[0034] 四、本發(fā)明中每一筆媒體文件的交易都有不同的密鑰。
[0035] 對(duì)每一筆交易都會(huì)生成一個(gè)隨機(jī)密鑰,以此保證該系統(tǒng)具有高可靠性,即使有人成功破解,也只會(huì)有該交易涉及到的媒體文件泄漏,不會(huì)影響到所有的媒體而導(dǎo)致整個(gè)系統(tǒng)崩潰。
[0036] 五、本發(fā)明允許付費(fèi)用戶可以在自己的多臺(tái)電腦上打開媒體文件。
[0037] 數(shù)字商品一旦被用戶購(gòu)買,我們難以阻止他出借給他人使用,這與硬件商品是一樣的。所以數(shù)字內(nèi)容的保護(hù)難以與主觀的用戶捆綁,因?yàn)橹饔^信息(如用戶名、密碼等)會(huì)被購(gòu)買者告訴第三方。為此,可以將媒體內(nèi)容與用戶的具有客觀唯一性的播放設(shè)備捆綁。
[0038] 由于用戶可能有多個(gè)播放設(shè)備(如辦公室臺(tái)式電腦、
筆記本電腦),如果某媒體文件僅與用戶一個(gè)設(shè)備捆綁,不允許在其他設(shè)備上播放,則給用戶帶來不便(比如允許播放媒體的臺(tái)式電腦損壞,或者用戶希望出差利用筆記本電腦使用媒體)。
[0039] 因此服務(wù)器可以記錄用戶擁有的多臺(tái)計(jì)算機(jī)的硬件指紋,可以分時(shí)共享媒體的計(jì)算機(jī)臺(tái)數(shù)的上限可以由管理員在遠(yuǎn)程服務(wù)器上設(shè)定。
[0040] 下面結(jié)合附圖詳細(xì)描述本發(fā)明的具體
實(shí)施例:一種基于網(wǎng)絡(luò)環(huán)境的通用數(shù)字版權(quán)保護(hù)方法,包括:
步驟1:內(nèi)容提供商在網(wǎng)站注冊(cè)一個(gè)帳戶之后即可通過WEB上傳內(nèi)容,上傳時(shí)需指定媒體的永久購(gòu)買價(jià)格和租用價(jià)格及內(nèi)容的各項(xiàng)屬性。具體實(shí)現(xiàn)如下:
服務(wù)器為內(nèi)容提供商提供的服務(wù)通過WEB程序?qū)崿F(xiàn),數(shù)據(jù)庫(kù)中記錄內(nèi)容提供商信息的表中除了用戶名和密碼外還應(yīng)至少包含賬戶余額字段。內(nèi)容提供商在WEB服務(wù)器上注冊(cè)賬戶之后,服務(wù)器自動(dòng)將對(duì)應(yīng)的賬戶余額初始化為零。
[0041] 服務(wù)器在處理提供商的添加新內(nèi)容請(qǐng)求時(shí),使用form表單獲取輸入,表單包含的字段應(yīng)至少包括名稱、價(jià)格、內(nèi)容文件,處理該表單時(shí),服務(wù)器在數(shù)據(jù)庫(kù)的內(nèi)容表中增加一行,在增加的一行中應(yīng)至少包含:一個(gè)用于識(shí)別內(nèi)容的自動(dòng)生成的ID、用戶輸入的內(nèi)容相關(guān)信息(包括名稱、描述、價(jià)格等)、該內(nèi)容的狀態(tài)值(初始化為待審核)、提供商的ID(以外鍵的形式,指向內(nèi)容提供商表)。上傳的文件以明文方式存放在服務(wù)器上。
[0042] 步驟2:管理員可以設(shè)置網(wǎng)站的各項(xiàng)參數(shù)、審核內(nèi)容。具體實(shí)現(xiàn)如下:服務(wù)器為管理員提供的服務(wù)通過WEB程序?qū)崿F(xiàn)。
[0043] 每當(dāng)管理員要求設(shè)置網(wǎng)站參數(shù),服務(wù)器從數(shù)據(jù)庫(kù)中讀取所有參數(shù)數(shù)據(jù),放置在表單中作為默認(rèn)值,管理員秩序修改需要更新的字段并提交。
[0044] 管理員的查看內(nèi)容頁(yè)面中,應(yīng)該包含每個(gè)內(nèi)容的下載鏈接以及“通過審核”/“不通過審核”的按鈕,管理員點(diǎn)擊后可立即開始下載,以便審核,審核之后點(diǎn)擊相應(yīng)的審核按鈕,服務(wù)器隨之在數(shù)據(jù)庫(kù)的內(nèi)容表中更新該內(nèi)容對(duì)應(yīng)的狀態(tài)字段為“已通過審核”/“未通過審核”。
[0045] 步驟3:消費(fèi)者可以瀏覽/檢索/購(gòu)買/下載內(nèi)容。具體實(shí)現(xiàn)如下:服務(wù)器為消費(fèi)者提供的瀏覽/檢索/購(gòu)買/下載功能均通過WEB程序?qū)崿F(xiàn)。
[0046] 服務(wù)器在相應(yīng)消費(fèi)者的瀏覽/檢索請(qǐng)求時(shí),會(huì)過濾掉所有狀態(tài)字段不是已通過審核的內(nèi)容。
[0047] 消費(fèi)者購(gòu)買時(shí)可以選擇購(gòu)買的權(quán)限,購(gòu)買成功后,服務(wù)器會(huì)在訂單表中增加一條記錄,記錄了用戶所購(gòu)買的內(nèi)容及相應(yīng)的權(quán)限、一個(gè)為此訂單隨機(jī)生成的密鑰。
[0048] 消費(fèi)者可以隨時(shí)請(qǐng)求下載已購(gòu)買的內(nèi)容,點(diǎn)擊下載按鈕后,服務(wù)器會(huì)調(diào)用打包程序。其流程包括:檢查目標(biāo)內(nèi)容的文件格式,自動(dòng)選取適應(yīng)該格式的算法,將消費(fèi)者的用戶名作為水印嵌入。選取訂單中對(duì)應(yīng)的密鑰對(duì)媒體進(jìn)行加密處理,加密算法選擇對(duì)稱加密算法,將預(yù)先編譯好的解包程序放在整個(gè)文件包的頭部,其余均按解包程序能夠識(shí)別的格式放置。用戶下載到的是經(jīng)過上述流程產(chǎn)生的可執(zhí)行文件,可以直接運(yùn)行。
[0049] 如附圖2所示,用戶在Linux和Windows平臺(tái)下均可
訪問該服務(wù)器,且服務(wù)器會(huì)根據(jù)用戶的瀏覽器版本確定用戶的
操作系統(tǒng),從而選擇適應(yīng)的打包格式。
[0050] 步驟4:消費(fèi)者只需雙擊下載到的文件,即可開始使用,監(jiān)管程序會(huì)向服務(wù)器索取解密密鑰,如附圖3所示。具體實(shí)現(xiàn)如下:首先,在當(dāng)前目錄釋放驅(qū)動(dòng)文件,并隨之加載這些驅(qū)動(dòng)。驅(qū)動(dòng)包括:隱藏工作文件夾驅(qū)動(dòng)、隱藏
進(jìn)程驅(qū)動(dòng)以及API攔截驅(qū)動(dòng)。釋放完畢后立即加載這些驅(qū)動(dòng),在Linux平臺(tái)和Windows平臺(tái)下分別需要制作不同的驅(qū)動(dòng)程序,但其機(jī)理都是一樣的。
[0051] 隨后客戶機(jī)進(jìn)入登錄流程,獲取本機(jī)的MAC地址作為硬件指紋,然后將硬件指紋和用戶ID、密碼以及內(nèi)容編號(hào)一并發(fā)送給授權(quán)服務(wù)器。授權(quán)服務(wù)器收到驗(yàn)證請(qǐng)求后,其驗(yàn)證流程如附圖1所示,首先判斷用ID及密碼是否相符,若相符,則在數(shù)據(jù)庫(kù)中查詢?cè)撚脩舻挠布畔?,此查詢?huì)有三種結(jié)果:(1)查詢結(jié)果數(shù)為零,(2)查詢結(jié)果中存在與該請(qǐng)求數(shù)據(jù)包中硬件指紋相符的記錄,(3)查詢結(jié)果數(shù)不為零且不存在與該請(qǐng)求數(shù)據(jù)包中硬件指紋相符的記錄。根據(jù)不同結(jié)果分別進(jìn)入以下步驟:若結(jié)果為(1),則在硬件記錄表中增加一條記錄。
[0052] 若結(jié)果為(2),則跳過此步驟。
[0053] 若結(jié)果為(3),則先判斷允許共享的PC數(shù)是否已達(dá)到上限,若未達(dá)到上限則可進(jìn)入下一步。
[0054] 下一步為判斷用戶對(duì)該內(nèi)容的權(quán)限,服務(wù)器查詢數(shù)據(jù)庫(kù)中的訂單表中關(guān)于該用戶和該內(nèi)容的表項(xiàng),從而判斷該用戶對(duì)該內(nèi)容的所有權(quán)是否有效,若有效,則取出該項(xiàng)中的密鑰,發(fā)送給用戶。
[0055] 客戶機(jī)收到密鑰之后便開始解密,解密完成后會(huì)根據(jù)文件格式在系統(tǒng)中尋找合適的程序打開該文件。打開時(shí)監(jiān)管程序及驅(qū)動(dòng)可以獲取到打開程序的進(jìn)程ID,從而對(duì)其進(jìn)行監(jiān)管。
[0056] 步驟5:在內(nèi)容的使用過程中,客戶機(jī)和服務(wù)器會(huì)建立持久連接,若檢測(cè)到此鏈接斷開則雙方均會(huì)采取相應(yīng)的安全措施。具體實(shí)現(xiàn)方式如下:服務(wù)器和客戶機(jī)通信時(shí)的有限狀態(tài)機(jī)分別如附圖4,附圖5所示。
[0057] 服務(wù)器會(huì)為每個(gè)用戶都開啟一個(gè)線程進(jìn)行通信,客戶機(jī)在收到解密密鑰后即啟動(dòng)心跳線程與服務(wù)器建立持久連接。客戶機(jī)每隔一個(gè)特定的時(shí)間段即發(fā)送一個(gè)心跳數(shù)據(jù)包給服務(wù)器,服務(wù)器收到后會(huì)立即回復(fù)一個(gè)心跳數(shù)據(jù)包。
[0058] 連續(xù)多個(gè)心跳數(shù)據(jù)包沒有收到就認(rèn)為網(wǎng)絡(luò)異常??蛻魴C(jī)檢測(cè)到網(wǎng)絡(luò)異常后立即關(guān)閉打開程序,清理并推出程序。服務(wù)器檢測(cè)到網(wǎng)絡(luò)異常后記錄入日志,以便以后追查媒體泄漏使用。
[0059] 步驟6:一旦發(fā)生媒體泄漏事故,可以根據(jù)數(shù)字水印追查到事故責(zé)任人。具體實(shí)現(xiàn)方式如下:取已泄漏的明文文件,根據(jù)其文件格式,選擇適應(yīng)的數(shù)字水印提取程序進(jìn)行提取,提取出來的內(nèi)容是對(duì)應(yīng)的用戶ID,根據(jù)此ID可以查找到相應(yīng)的惡意消費(fèi)者。
[0060] 系統(tǒng)分為服務(wù)器和客戶端兩個(gè)部分。在服務(wù)器端,有WEB服務(wù)器和授權(quán)服務(wù)器。
[0061] WEB服務(wù)器負(fù)責(zé)媒體內(nèi)容的管理、出售、添加數(shù)字水印、加密、打包和分發(fā)等事務(wù);授權(quán)服務(wù)器負(fù)責(zé)用戶的權(quán)限驗(yàn)證、授權(quán)、記錄使用日志等事務(wù)。
[0062] 在客戶端,系統(tǒng)一方面要支持各種文件格式的正常瀏覽,一方面要阻止被保護(hù)內(nèi)容的非法擴(kuò)散。
[0063] WEB服務(wù)器部分:1. 內(nèi)容提供商模
塊用于為內(nèi)容提供商提供媒體上傳與代理出售服務(wù)。內(nèi)容提供商在網(wǎng)站注冊(cè)一個(gè)帳戶之后即可通過WEB上傳內(nèi)容,上傳時(shí)需指定媒體的永久購(gòu)買價(jià)格和租用價(jià)格,內(nèi)容上傳后需等待管理員對(duì)內(nèi)容進(jìn)行審核,只有通過審核的內(nèi)容才會(huì)出現(xiàn)在用戶可見的媒體庫(kù)中。
[0064] 2. 管理員模塊提供網(wǎng)站管理的各項(xiàng)功能。包括設(shè)置每個(gè)用戶可以共享的計(jì)算機(jī)數(shù)量上限、審核提供商上傳的內(nèi)容、管理內(nèi)容提供商和消費(fèi)者的資料等。
[0065] 3. 消費(fèi)者的頁(yè)面則與普通的電子商務(wù)網(wǎng)站類似,其功能特點(diǎn)是:用戶購(gòu)買媒體文件后,服務(wù)器會(huì)為每一筆交易生產(chǎn)一個(gè)密鑰。用戶在點(diǎn)擊下載之后,服務(wù)器會(huì)以能夠標(biāo)識(shí)該消費(fèi)者的信息作為數(shù)字水印嵌入到相應(yīng)的媒體中,然后用相應(yīng)的密鑰對(duì)媒體進(jìn)行加密,并打包成可自解包自解壓的可執(zhí)行文件提供給消費(fèi)者下載。下載時(shí),服務(wù)器會(huì)自動(dòng)識(shí)別用戶所用的操作系統(tǒng),從而選擇相應(yīng)的打包格式。
[0066] 授權(quán)服務(wù)器與客戶交互部分:1. 客戶運(yùn)行從保護(hù)提供商得到的可執(zhí)行文件,文件頭部的解包模塊自動(dòng)運(yùn)行,開始進(jìn)行解綁操作。
[0067] 2. 首先,在當(dāng)前目錄釋放驅(qū)動(dòng)文件,并隨之加載這些驅(qū)動(dòng)。驅(qū)動(dòng)包括:隱藏工作文件夾驅(qū)動(dòng)、隱藏進(jìn)程驅(qū)動(dòng)以及API攔截驅(qū)動(dòng)。其中隱藏文件夾驅(qū)動(dòng)通過替換SystemQueryZwQueryDirectoryFile函數(shù)將本系統(tǒng)生成的所有文件夾隱藏。隱藏進(jìn)程驅(qū)動(dòng)通過替換ZwQuerySystemInformation函數(shù)將本系統(tǒng)的進(jìn)程信息隱藏起來。
[0068] 3. 然后監(jiān)管程序會(huì)抓取該計(jì)算機(jī)的硬件指紋,并開始與授權(quán)服務(wù)器進(jìn)行通訊,將抓取到的硬件指紋及用戶信息發(fā)送給授權(quán)服務(wù)器。
[0069] 4. 授權(quán)服務(wù)器收到授權(quán)請(qǐng)求數(shù)據(jù)包后,會(huì)在數(shù)據(jù)庫(kù)中查詢相關(guān)信息,對(duì)該用戶對(duì)當(dāng)前媒體的所有權(quán)進(jìn)行驗(yàn)證,詳細(xì)驗(yàn)證過程如附圖1所示。如果驗(yàn)證通過,則給用戶發(fā)送正確密鑰,并將該用戶記錄在在線列表中。
[0070] 5. 一旦獲取到密鑰,即表明服務(wù)器端已經(jīng)許可客戶的本次使用,監(jiān)管程序即開始對(duì)加密文件進(jìn)行解密,同時(shí)開啟心跳線程與授權(quán)服務(wù)器建立持久連接。
[0071] 6. 媒體內(nèi)容解密后在內(nèi)存中生成脫密文件,并自動(dòng)選擇系統(tǒng)關(guān)聯(lián)第三方應(yīng)用程序來打開脫密文件。通過安裝鉤子函數(shù),將MouseHook.DLL注入第三進(jìn)程,通過對(duì)部分消息的屏蔽,實(shí)現(xiàn)防止復(fù)制-粘貼、打印以及截屏等功能。同時(shí)向驅(qū)動(dòng)層的API攔截驅(qū)動(dòng)發(fā)送消息,將脫密文件的絕對(duì)路徑告知攔截驅(qū)動(dòng)。系統(tǒng)每打開一個(gè)文件,我們都獲取該文件的絕對(duì)路徑,與之前得到的脫密文件的絕對(duì)路徑進(jìn)行比較,記錄下路徑吻合的第三方進(jìn)程的進(jìn)程ID。
[0072] 7. 客戶端的心跳線程每隔一定的時(shí)長(zhǎng)會(huì)向授權(quán)服務(wù)器發(fā)送心跳線程,發(fā)送內(nèi)容包含本次使用的狀態(tài)信息,以供服務(wù)器進(jìn)行實(shí)時(shí)監(jiān)控。服務(wù)器會(huì)將受到的所有信息都記錄為日志。
[0073] 8. 服務(wù)器每收到一個(gè)心跳信息,便會(huì)立即給客戶機(jī)回發(fā)一個(gè)心跳數(shù)據(jù)包??蛻魴C(jī)以收到數(shù)據(jù)包的方式來確認(rèn)與服務(wù)器正常通行,若發(fā)現(xiàn)異常,則監(jiān)管程序模塊立即自動(dòng)關(guān)閉正在使用的媒體。
[0074] 客戶端的監(jiān)管程序等待應(yīng)用進(jìn)程退出。退出后,卸載鉤子以及驅(qū)動(dòng),刪除所釋放的所有文件,并通知授權(quán)服務(wù)器結(jié)束本次會(huì)話。
[0075] 以上實(shí)施例僅供說明本發(fā)明之用,而非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以作出各種變換或變型,因此所有等同的技術(shù)方案,都落入本發(fā)明的保護(hù)范圍。