肖蕓,肖明波
XIAO Yun,XIAO Mingbo
杭州電子科技大學(xué) 通信工程學(xué)院,浙江 杭州 310018
College of Communication Engineering, Hangzhou Dianzi University, Hangzhou, Zhejiang,310018, China.
隨著 Internet和數(shù)字化技術(shù)的快速發(fā)展,在網(wǎng)上交易和傳播的電子書、音樂、電影、圖片、游戲和軟件等數(shù)字內(nèi)容越來越多。然而,由于數(shù)字化信息很容易被復(fù)制、修改和傳播,導(dǎo)致網(wǎng)上交易的數(shù)字內(nèi)容存在大量的盜版和侵權(quán)問題,給相關(guān)權(quán)利人造成巨大的經(jīng)濟(jì)損失,同時(shí)也妨礙數(shù)字內(nèi)容產(chǎn)業(yè)的發(fā)展。于是,出現(xiàn)了一種以保護(hù)數(shù)字內(nèi)容版權(quán)為主要目的新技術(shù)——數(shù)字版權(quán)管理技術(shù)(Digital Rights Management,簡稱DRM技術(shù))。DRM技術(shù)以數(shù)字加密技術(shù)為基礎(chǔ),結(jié)合一系列軟硬件技術(shù),用以保證數(shù)字內(nèi)容在整個(gè)生命周期內(nèi)的合法使用,平衡數(shù)字內(nèi)容價(jià)值鏈中各環(huán)節(jié)的利益和需求。
DRM技術(shù)自產(chǎn)生以來,得到了工業(yè)界和學(xué)術(shù)界的普遍關(guān)注。國際上許多著名的計(jì)算機(jī)公司和研究機(jī)構(gòu)紛紛推出了各自的DRM產(chǎn)品。如微軟的Windows Media DRM[1],蘋果的 FairPlay DRM[2],Adobe 的 ACS(Adobe Content Server),IBM 的 EMMS(Electronic Media Management System),RealNetworks的Helix DRM等;國內(nèi)的有方正Apabi DRM,福昕的FoxitDRM 、書生的SureDRM和海海軟件的DRM-X等[3]。
另外,許多研究者也對DRM進(jìn)行了深入的研究。文獻(xiàn)[4]提出典型的DRM實(shí)現(xiàn)機(jī)制通常是采用將內(nèi)容—許可證—設(shè)備(用戶)綁定的方式,防止內(nèi)容的非法使用。但隨著數(shù)字產(chǎn)品的極大豐富,每個(gè)用戶擁有越來越多的數(shù)字設(shè)備(如個(gè)人電腦,智能手機(jī),iPad,電子閱讀器等)。為了便于用戶在多臺設(shè)備上使用數(shù)字內(nèi)容,Digital Video Broadcasting聯(lián)盟首先提出了“授權(quán)域”(Authorized Domain )這個(gè)概念,隨后在這基礎(chǔ)上發(fā)展了多個(gè)版本,如家庭網(wǎng)絡(luò)域[5],個(gè)人娛樂域[6](Personal Entertainment Domain)和OMA DRM提出的用戶域[7]。文獻(xiàn)[5]提出的家庭網(wǎng)絡(luò)域需要一個(gè)高性能的域管理設(shè)備,且域內(nèi)的每個(gè)設(shè)備都要維護(hù)一張本地撤銷列表,實(shí)現(xiàn)起來比較復(fù)雜,實(shí)用性不強(qiáng)。文獻(xiàn)[7]提出的用戶域是由版權(quán)管理中心(RI)進(jìn)行統(tǒng)一的管理,這大大增加了RI的負(fù)擔(dān),成為發(fā)展瓶頸。
本文在文獻(xiàn)[8]的基礎(chǔ)上,利用遍歷加密的方法建立用戶域,過程簡潔,不需中心管理設(shè)備,減少被攻擊的風(fēng)險(xiǎn)。并以用戶域?yàn)榛A(chǔ),提出了一種新的構(gòu)想,即用特征圖像來標(biāo)識用戶。利用圖像上的數(shù)據(jù)信息來產(chǎn)生密鑰加密密鑰。再結(jié)合設(shè)備的機(jī)器指紋,構(gòu)建了一個(gè)內(nèi)容加密密鑰+圖像+機(jī)器指紋的三重加密機(jī)制,比像文獻(xiàn)[8]那樣直接用機(jī)器指紋來加密具有更好的安全。

表1 符號及其意義
本文以密碼學(xué)為基礎(chǔ),設(shè)計(jì)了一種新型的DRM系統(tǒng)。下面首先介紹該系統(tǒng)的模型及其構(gòu)建過程,包括內(nèi)容打包加密;用戶注冊、建立用戶域;許可證的申請、產(chǎn)生和分發(fā)等。然后介紹系統(tǒng)采用的三重加密機(jī)制技術(shù)方案的實(shí)現(xiàn)流程。表1給出了文中用到的一些符號及其意義。
本文提出的DRM系統(tǒng)模型由注冊服務(wù)器RS、內(nèi)容服務(wù)器CS、許可證服務(wù)器LS和終端用戶U四個(gè)實(shí)體構(gòu)成,各實(shí)體間的信息交互如圖1所示。該模型首先建立一個(gè)用戶域,使用戶能在自己的多個(gè)終端設(shè)備上共享數(shù)字內(nèi)容。在加解密方面,重點(diǎn)在于特征圖像的引入,用圖像作為密鑰的載體,這樣做可以大大增強(qiáng)了系統(tǒng)的安全性。另外,該系統(tǒng)還采用內(nèi)容與許可證相分離的模式,允許數(shù)字內(nèi)容的超級分發(fā),而對許可證進(jìn)行合理控制,使許可證與用戶域內(nèi)設(shè)備綁定。該模型的具體實(shí)現(xiàn)包括以下四個(gè)階段:

圖1 基于特征圖像的DRM系統(tǒng)模型
第1階段:完成數(shù)字內(nèi)容的加密、打包和制定數(shù)字內(nèi)容的使用權(quán)限,并將內(nèi)容相關(guān)信息發(fā)送給許可證服務(wù)器LS。內(nèi)容服務(wù)器CS對數(shù)字內(nèi)容進(jìn)行打包加密,打包后的內(nèi)容文件包括兩個(gè)部分;文件頭和加密的內(nèi)容,文件頭里包含內(nèi)容的ID號(cont_ID)、摘要、獲取許可證的URL地址和內(nèi)容的使用規(guī)則rights等信息。將打包后的內(nèi)容文件提供給用戶下載,同時(shí)將內(nèi)容加密密鑰CEK(Content Encryption Key)和文件頭里的信息發(fā)送給許可證服務(wù)器LS。
第2階段:完成用戶和設(shè)備的注冊。包括兩個(gè)步驟如圖2所示:

圖2 用戶域建立流程
2) 設(shè)備注冊。假設(shè)用戶要注冊設(shè)備A,首先提取設(shè)備A的指紋(通常由CPU序列號、硬盤序列號、MAC地址等硬件信息組成),將這三者補(bǔ)零對齊后, 進(jìn)行異或運(yùn)算,再經(jīng)安全散列作用形成一個(gè)具有唯一性的設(shè)備標(biāo)識符DIDA,該標(biāo)識符用于許可證服務(wù)器定位用戶,實(shí)現(xiàn)許可證和用戶綁定,防止許可證擴(kuò)散。將DIDA發(fā)送給RS,RS驗(yàn)證設(shè)備的合法性后,為設(shè)備A生成相應(yīng)的設(shè)備注冊證書,其中NA是設(shè)備注冊時(shí),用戶輸入的設(shè)備A的名字,方便用戶管理注冊的設(shè)備。I是RS分配給用戶的一幅圖像。在用戶依次注冊的過程中,RS建立起一張用戶圖像列表(UIL,User Image List)。表中存儲(chǔ)兩部分信息:用戶的ID和發(fā)送該用戶的圖像的編號。通過這張表將用戶和圖像進(jìn)行了綁定。version 表示證書的版本信息,lifetime表示證書的生存周期。最后將CA返回給注冊的設(shè)備,用戶再依次注冊其它終端設(shè)備(假設(shè)用戶最多能夠注冊m臺設(shè)備),使各個(gè)設(shè)備都得到相應(yīng)的設(shè)備注冊證書,同時(shí)也將圖像植入到了每臺設(shè)備。注冊完后,用戶就建立起了自己的一個(gè)用戶域。
第3階段:完成許可證的申請、產(chǎn)生和分發(fā),包括三個(gè)步驟如圖3所示:

圖3 許可證的申請流程
1) 用戶下載了加密的數(shù)字內(nèi)容后,根據(jù)文件頭里的URL地址信息鏈接到LS去申請相應(yīng)的內(nèi)容許可證。用戶向LS發(fā)出許可證請求信息Req2=[cont_ID||rights1||CA],rights表示用戶申請數(shù)字內(nèi)容的使用權(quán)限,如打印、復(fù)制、播放的時(shí)間和次數(shù)等。
2) LS接收到用戶的請求信息后,查看CA的版本是否過期,并檢查用戶的請求權(quán)限是否合理,即判斷rights1是否是rights的子集,若條件都符合,則從CA中提取出username發(fā)送到RS去驗(yàn)證用戶的注冊信息,RS接受到LS發(fā)送過來的驗(yàn)證請求后,根據(jù)username找到用戶的注冊信息,將用戶注冊的所有設(shè)備的信息發(fā)送給LS。即發(fā)送[username||N1||N2||…||Nm||DID1||DID2||… ||DIDm]到 LS。其中Ni(i=1,2,…,m)表示第i個(gè)注冊設(shè)備的名字,DIDi表示第i個(gè)注冊設(shè)備的設(shè)備標(biāo)示符。
3) LS接收到用戶的注冊信息后,對(DIDi|i=1,2,…,m)進(jìn)行哈希運(yùn)算得到相應(yīng)的各設(shè)備的設(shè)備密鑰(dkeyi|i =1, 2,… ,m)。然后LS從CA中提取出圖像I,并隨機(jī)指定圖像上的n個(gè)點(diǎn),提取這n個(gè)點(diǎn)的像素值,將這些像素值經(jīng)過MD5加密后得到密鑰加密密鑰,這里我們把它叫做位置密鑰KL,用這個(gè)位置密鑰加密CEK得到CEKe。再用之前計(jì)算得到的設(shè)備密鑰dkeyi加密n個(gè)點(diǎn)在圖像中的坐標(biāo)信息S,得到Sie。最終生成用戶需要的許可證。

將L發(fā)送給用戶。
第4階段:完成設(shè)備密鑰的恢復(fù),解密并播放內(nèi)容。當(dāng)用戶用設(shè)備A播放內(nèi)容時(shí),首先提取設(shè)備A的機(jī)器指紋,恢復(fù)出設(shè)備密鑰dkeyA,根據(jù)之前用戶給設(shè)備A輸入的名字信息,在許可證中找到相應(yīng)的用設(shè)備A的設(shè)備密鑰加密的點(diǎn)的坐標(biāo),再從圖像中找到這些點(diǎn),提取其像素值,恢復(fù)出位置密鑰,從而解密CEKe得到CEK,用它解密內(nèi)容進(jìn)行播放。由于采用的是遍歷加密的方法,即每臺設(shè)備的設(shè)備密鑰都對S進(jìn)行了加密,所以許可證發(fā)送到其余域中的設(shè)備后,每臺設(shè)備都能通過解密相應(yīng)的Sie而獲得點(diǎn)的坐標(biāo)。再從設(shè)備中的圖像I中提取出KL,解密并播放內(nèi)容。這樣當(dāng)用戶想用其它設(shè)備來播放內(nèi)容時(shí),就省去了重新到LS去申請?jiān)S可證的麻煩。
從上述的DRM模型中可以看出,為了加強(qiáng)系統(tǒng)的安全性,本文提出了內(nèi)容加密密鑰+圖像+機(jī)器指紋的三重加密機(jī)制,如圖4所示,整個(gè)機(jī)制的實(shí)現(xiàn)分為三個(gè)步驟,描述如下:

圖4 三重加密機(jī)制流程圖
第一步:加密數(shù)字內(nèi)容。內(nèi)容服務(wù)器用密鑰生成器生成內(nèi)容加密密鑰CEK,并采用DES對稱加密算法加密內(nèi)容,得到conte=DES(cont,CEK)。DES是一個(gè)分組密碼算法,分組長度64位,有效密鑰長度56位,加密速度快,適合于加密大量數(shù)據(jù)的場合。如果數(shù)據(jù)需要更高的加密強(qiáng)度,可以采用3DES、IDEA或AES等更安全的對稱加密算法。第二步:加密CEK。
首先,LS從設(shè)備注冊證書中取出特征圖像,從圖像中隨機(jī)提取出n個(gè)像素點(diǎn)。設(shè)提取的n個(gè)像素點(diǎn)的坐標(biāo)分別為(xi,yi)(i =1,2,…,n)。
其次,提取這些像素點(diǎn)的顏色值。這里我們選用最常用的RGB顏色模型,它利用R,G,B三個(gè)分量來表示一個(gè)像素點(diǎn)的顏色值,每個(gè)顏色分量用8bit表示,各自的取值范圍為0到255。
最后,將得到的各像素點(diǎn)的顏色值進(jìn)行哈希運(yùn)算,計(jì)算出位置密鑰KL。這里我們選用的哈希算法是MD5,MD5的輸入消息以512bit的分組為單位處理,輸出為128bit的消息摘要。我們將這個(gè)消息摘要作為位置密鑰KL,最后的運(yùn)算結(jié)果為:KL=MD5[(r1,g1,b1)||(r2,g2,b2)||…||(rn,gn,bn)]利用得到的KL加密CEK,經(jīng)過MD5運(yùn)算后的KL是128位,選用適于加密少量數(shù)據(jù)的128位AES加密算法,加密得到CEKe=AES(CEK,KL)。第三步:加密點(diǎn)的坐標(biāo)。LS利用從RS傳遞過來的用戶的設(shè)備標(biāo)識(DIDi|i=1,2,…,m),經(jīng)安全散列運(yùn)算后產(chǎn)生對應(yīng)的設(shè)備密鑰(dkeyi|i =1, 2,… ,m),并利用遍歷加密的方法,也就是每臺設(shè)備對應(yīng)的dkeyi都要對點(diǎn)的坐標(biāo)進(jìn)行加密,這里也選用了AES加密算法,經(jīng)過遍歷加密后,許可證就和域中的所有設(shè)備都綁定在一起了。加密結(jié)果如下:,其中
DRM系統(tǒng)設(shè)計(jì)的首要目的之一就是要保證內(nèi)容和內(nèi)容許可證的安全傳輸與使用,防止非授權(quán)用戶的訪問。另外,系統(tǒng)運(yùn)行效率直接影響用戶的消費(fèi)體驗(yàn),因此我們從這兩個(gè)方面對本文提出的DRM系統(tǒng)進(jìn)行了安全性評估和運(yùn)行效率仿真。
本文提出的內(nèi)容加密密鑰+圖像+機(jī)器指紋的三重加密保護(hù)機(jī)制具有很高的安全性。首先,采用對稱加密算法DES,用CEK加密了數(shù)字內(nèi)容。為了保證CEK的安全傳輸,采用對稱加密算法AES,用位置密鑰KL對CEK進(jìn)行了再次加密。同時(shí)還與用戶的機(jī)器指紋綁定,防止非授權(quán)用戶得到內(nèi)容許可證,實(shí)現(xiàn)了用戶唯一性授權(quán)。DES和AES加密被證明具有很好的安全性。下面對唯一性授權(quán)進(jìn)行驗(yàn)證:
用戶解密內(nèi)容之前,會(huì)先自動(dòng)提取設(shè)備的機(jī)器指紋,事實(shí)上,對于由CPU序列號(BitCPU)、MAC地址(BitMAC)和硬盤序列號(BitHID)構(gòu)成的機(jī)器指紋,補(bǔ)零對齊之后在異或運(yùn)算下,輸出重復(fù)的概率為:

再經(jīng)過散列壓縮之后,dkey設(shè)備密鑰發(fā)生重復(fù)的概率為:

其中,BitHash表示經(jīng)散列運(yùn)算后生成的比特位。目前以SHA1-128,SHA1-256位的輸出來計(jì)算,其輸出發(fā)生重復(fù)的概率最多為:

因此,當(dāng)設(shè)備環(huán)境不相同時(shí),提取的機(jī)器指紋不同,那么 DID1≠DID2,許可證服務(wù)器就可通過設(shè)備標(biāo)識DID為不同用戶生成互不相同的dkey,用于加密點(diǎn)的位置信息,從而生成面向特定用戶的內(nèi)容許可證。
與其它DRM系統(tǒng)相比,本系統(tǒng)最大的特點(diǎn)在于圖像的引入。使得加密CEK的密鑰(KL)可以動(dòng)態(tài)生成,在使用本系統(tǒng)時(shí),有兩個(gè)地方會(huì)涉及到KL的生成。一是用戶在申請內(nèi)容許可證時(shí),許可證服務(wù)器負(fù)責(zé)生成KL;二是用戶在播放內(nèi)容之前,需要用本地設(shè)備生成KL進(jìn)行解密操作。不管是許可證服務(wù)器還是本地設(shè)備,生成KL的過程都是相同的:包括隨機(jī)產(chǎn)生坐標(biāo)點(diǎn),從圖像上提取對應(yīng)的坐標(biāo)點(diǎn)上的像素值,將這些像素值進(jìn)行MD5哈希散列運(yùn)算,最終得到128位的KL。這一系列過程必將給用戶的響應(yīng)時(shí)間帶來延時(shí)。接下來我們將通過仿真來分析其在本地設(shè)備上進(jìn)行解密操作時(shí)的延時(shí)情況。仿真環(huán)境為主頻2.2GHz、內(nèi)存1G的PC機(jī),運(yùn)行Windows XP操作系統(tǒng);特征圖像選取大小為562*562的24位真彩位圖。
首先,假設(shè)從圖上隨機(jī)提取n個(gè)點(diǎn)(n=10,15,20,50),點(diǎn)的個(gè)數(shù)越多,對應(yīng)的密鑰空間也就越大。密鑰的選擇與更新更加靈活,破解難度也就越大。分別對每個(gè)n運(yùn)行10次實(shí)驗(yàn)后取平均值,計(jì)算出解密時(shí)延(以ms為單位),結(jié)果如表2所示。從表中數(shù)據(jù)可以看出,響應(yīng)時(shí)間完全在用戶可以接受的范圍內(nèi)。而對于服務(wù)器端來講,配置會(huì)更高,用戶響應(yīng)時(shí)間也會(huì)更快。

表2 運(yùn)行效率仿真
相比于現(xiàn)在比較主流的幾個(gè)DRM方案,本文所提方案在用戶域的建立,許可證的動(dòng)態(tài)性(即許可證是否通用,本方案的許可證在用戶域內(nèi)是通用的),是否支持離線授權(quán),密鑰空間可變性方面與其它方案的對比,如表3所示。

表3 DRM方案特性比較
從表中可以看出,本文提出的方案在系統(tǒng)安全性和滿足用戶合理使用方面具有一定的優(yōu)勢。DRM系統(tǒng)中對密鑰加密密鑰的存儲(chǔ)是至關(guān)重要的,而本方案中的密鑰加密密鑰是在使用過程中動(dòng)態(tài)生成的,這樣就降低了對存儲(chǔ)的要求。再加上密鑰空間的可擴(kuò)展性,使密鑰加密密鑰的選擇、更新非常靈活。進(jìn)一步提高了系統(tǒng)的安全性。另外,用戶域的建立,使許可證在用戶域內(nèi)是通用的,用戶使用不同設(shè)備播放內(nèi)容時(shí),不必重新連網(wǎng)到服務(wù)器上去申請?jiān)S可證,使離線授權(quán)成為可能。
在數(shù)字產(chǎn)業(yè)中構(gòu)建一個(gè)安全的DRM系統(tǒng)是一個(gè)十分重要的研究課題,許多研究機(jī)構(gòu)和公司都在加大對該領(lǐng)域的研究開發(fā)。但是為了保護(hù)數(shù)字內(nèi)容版權(quán)而過分限制用戶對數(shù)字內(nèi)容的使用實(shí)際上是對用戶合法權(quán)利的一種侵犯。本文通過建立用戶域部分滿足了用戶合理使用的權(quán)利,使用戶更容易接受DRM。特征圖像的引入是本系統(tǒng)的一大創(chuàng)新點(diǎn),通過將圖像作為密鑰的載體,給用戶提供了一個(gè)強(qiáng)大的密鑰庫,支持密鑰的動(dòng)態(tài)選擇和靈活更新。在用戶與服務(wù)器進(jìn)行交互時(shí),秘密信息得以安全傳遞。該系統(tǒng)在文件加密、用戶認(rèn)證、圖像特征提取等各個(gè)具體環(huán)節(jié)應(yīng)該采用哪種最合適的算法,才能達(dá)到最佳效率和性能,這些問題需要進(jìn)一步的分析研究和測試。用戶的隱私保護(hù)和付費(fèi)過程,也是本系統(tǒng)可以進(jìn)一步研究的方向。
[1]Leung YY, Peinado M, Strom Cp. Binding digital content to a portable storage device or the like in a digital rights management (DRM)system. U.S. Patent 7010808; March 2006.
[2]Stamp M, Venkataramu R. P2ptunes: a peer-to-peer digital rights management system:IGI Global; 2008.
[3]黃孝章,張志林,陳丹.數(shù)字出版產(chǎn)業(yè)發(fā)展研究[M],第一版.北京. 知識產(chǎn)權(quán)出版社,2011:195-212.
[4]張志勇,牛丹梅.數(shù)字版權(quán)管理中數(shù)字權(quán)利使用控制研究進(jìn)程[J].計(jì)算機(jī)科學(xué), 2011, 38(4):48-54.
[5]B. C. Popescu, F. L. A. J. Kamperman, B.Crispo, and A. S. Tanenbaum,“A DRM security architecture for home networks,”in Proceedings of the 4th ACM workshop on Digital Rights Management, J. Feigenbaum, T. Sander, and M.Yung, Eds. ACM Press, NY, 2004, pp.1-10.
[6]Koster P, Kamperman F, Lenoir P, et al.Identity-based DRM: Personal Entertainment Domain [C]//LNCS 4300. Heidelberg: Springer Verlag, 2005:104-122
[7]馮明,唐宏,陳戈等.數(shù)字版權(quán)管理技術(shù)原理與應(yīng)用[M],第一版.北京.人民郵電出版社,2009:72-96.
[8]Feng Xue, Tang Zhi, Yu Yinyan. An efficient Contents sharing method for DRM. Proceedings of the 6thIEEE CCNC Conference. New York:IEEE Communication Society, 2009:1-5.