王景中 李小科
北方工業(yè)大學信息工程學院 北京 100144
數(shù)字版權(quán)保護系統(tǒng)(Digital Rights Management,DRM)實現(xiàn)的核心是數(shù)字內(nèi)容的密鑰管理和使用。密鑰是開啟數(shù)字內(nèi)容的鑰匙,用戶在使用數(shù)字內(nèi)容之前,不需要購買數(shù)字內(nèi)容,只需要購買各種數(shù)字內(nèi)容的“鑰匙”,數(shù)字內(nèi)容的鑰匙是按照各種不同的加密算法來實現(xiàn),數(shù)字內(nèi)容要得到保護,一是要保證各個數(shù)字內(nèi)容的密鑰惟一性,不可破解;二是保證密鑰的安全性,密鑰的安全管理得到保證才能使用戶使用安全。
目前,數(shù)字內(nèi)容的保護方法主要有兩大類:一類以數(shù)字水印技術(shù)為核心的DRM技術(shù) ;另一類是數(shù)據(jù)加密和防拷貝為核心的技術(shù)。數(shù)字水印技術(shù)是信息隱藏技術(shù)的一個重要分支,它的基本原理是在不損害數(shù)字內(nèi)容的質(zhì)量情況下,將與版權(quán)有關(guān)的信息作為不可見的標志嵌入到數(shù)字內(nèi)容中,從而在使用這些數(shù)字內(nèi)容之前先要對嵌入的不可見內(nèi)容進行檢測來保護數(shù)字內(nèi)容。數(shù)據(jù)加密和防拷貝是對數(shù)字內(nèi)容進行加密,隨機產(chǎn)生密鑰和對應的解密證書。其中密鑰的生成和用戶的所使用的硬件信息綁定,用戶在使用經(jīng)過加密的數(shù)字內(nèi)容時候,先從服務器得到解密密鑰和證書,通過密鑰來對加密的數(shù)字內(nèi)容解鎖來獲得數(shù)字內(nèi)容的操作權(quán)限。這種實現(xiàn)方式是一種許可證管理的方式,多數(shù)采用網(wǎng)絡(luò)獲取許可證的途徑取得,目前這種技術(shù)在國內(nèi)外使用比較廣泛。
隨著數(shù)字內(nèi)容的使用,數(shù)字內(nèi)容的版權(quán)保護有了更進一步的發(fā)展,在第一代DRM中,只是集中研究對內(nèi)容加鎖,限制信息分發(fā)、復制,發(fā)展到對數(shù)字內(nèi)容描述、標示、交易、保護以及檢測的第二代DRM。目前,典型的DRM系統(tǒng)有國外的Apple公司的FairPlay系統(tǒng),微軟公司的Digital Asset Server版權(quán)保護方案;國內(nèi)有方正的Apabi版權(quán)保護技術(shù)、書生公司的SEP DRM系統(tǒng)等。
各種DRM系統(tǒng)的設(shè)計與實現(xiàn)都有基本的模型,各種DRM的廠商都有不同的DRM實現(xiàn)方式、名稱以及內(nèi)容如何使用的規(guī)則判定的方法。但不管DRM系統(tǒng)由那個廠商來開發(fā),基本的模型都是相同的,這個基本模型包括四個部分:內(nèi)容提供者、分發(fā)者、用戶以及認證中心。這四部分進行信息流的交互就能完成各種不同的DRM功能,圖1所示是目前被廣泛使用的D R M系統(tǒng)的模型。
首先,內(nèi)容提供者對要提供給用戶的數(shù)字內(nèi)容進行編碼,生成一種用戶所使用的DRM系統(tǒng)所能支持的數(shù)據(jù)格式,數(shù)字內(nèi)容被加密、打包后準備分發(fā),內(nèi)容提供者可以是普通用戶、公司或者其它合法經(jīng)營機構(gòu),內(nèi)容提供者對數(shù)字內(nèi)容進行標記,使數(shù)字內(nèi)容只能讀、寫、防拷貝等權(quán)限進行設(shè)定,當內(nèi)容提供者完成整個數(shù)字內(nèi)容使用規(guī)則限定后,就可以進行最后的發(fā)布。
對數(shù)字內(nèi)容進行使用規(guī)則限定后的受保護內(nèi)容發(fā)送給內(nèi)容分發(fā)者,而數(shù)字內(nèi)容的證書以及使用規(guī)則發(fā)到認證中心,實現(xiàn)密鑰與受保護的數(shù)字內(nèi)容分離。其中的內(nèi)容分發(fā)者可以是服務器(如Web服務器、流媒體服務器),認證中心可以是可信的第三方機構(gòu)或者內(nèi)容提供者本人。
圖 1 DRM系統(tǒng)模型圖
用戶可以從服務器上下載或者以郵寄的方式獲得數(shù)字內(nèi)容,但得到的數(shù)字內(nèi)容在沒有認證的數(shù)字證書時,是不能使用的,用戶必須還要獲得對應于數(shù)字內(nèi)容的數(shù)字證書,對數(shù)字內(nèi)容進行解密,從而取得數(shù)字內(nèi)容的使用權(quán)。用戶要得到數(shù)字證書必須先進行消費來獲取對應證書的ID號,當用戶消費后,把獲取證書ID號提交給認證中心,認證中心收到用戶的請求認證信息,開始在認證中心查詢用戶的繳費情況、使用權(quán)限、請求的何種數(shù)字內(nèi)容以及要生成的證書的規(guī)則,最后生成證書發(fā)給用戶,并且生成一份交易憑證發(fā)給內(nèi)容提供者,內(nèi)容提供者可以憑此最后結(jié)算得到自己的酬勞。用戶用得到的證書打開受保護的內(nèi)容,此時完成了內(nèi)容提供者到用戶之間的信息傳輸。
一般的DRM系統(tǒng)的實現(xiàn)要與用戶所使用的設(shè)備硬件進行綁定,例如IP、MAC地址、甚至用戶指紋來進行用戶的身份鑒別,這極大的限定了用戶使用的方便性,并且合法用戶在對數(shù)字內(nèi)容的解密密鑰都是在計算機內(nèi)部進行的,在密鑰被送入計算機內(nèi)存解密,要打開數(shù)字內(nèi)容的明文過程中面臨一個漏洞,當合法用戶開始使用得到的密鑰打開數(shù)字內(nèi)容時,非法用戶可用各種監(jiān)聽程序來獲得合法用戶最后解密的明文,非法用戶在得到用于解密受保護內(nèi)容的明文信息后,非法用戶可以從內(nèi)容服務器上獲得對應的數(shù)字內(nèi)容,用得到的明文解密數(shù)字內(nèi)容,此時內(nèi)容提供者和合法用戶的利益都將受到威脅。對于這種窘迫的困境,可以考慮使用USB-KEY。引入USB-KEY配合PKI體系,可以很好的解決上述的問題,設(shè)計實現(xiàn)一個更好的解決方案。
整個系統(tǒng)的設(shè)計可分為 :硬件模塊(USB-KEY)、交互模塊、通信模塊、實時監(jiān)視模塊,如圖2所示。
硬件模塊主要是存儲對應于數(shù)字內(nèi)容的私鑰,合法用戶在得到數(shù)字內(nèi)容的USB-KEY后,在使用時,先要更改使用USB-KEY的初始密碼,此處密碼設(shè)定為了防止非法用戶獲得USB-KEY后對數(shù)字內(nèi)容進行操作。交互模塊是合法用戶在操作數(shù)字內(nèi)容時,DRM系統(tǒng)對用戶做出的請求、響應過程,交互模塊的設(shè)計主要突出方便用戶使用。通信模塊涉及兩個方面:一是與USB-KEY 的通信;二是與服務器的通信。與USB-KEY的通信是為了在用USB-KEY中運算后得到最后的驗證結(jié)果(true或false) ;與服務器的通信是為了在合法用戶使用完密鑰后,方便用戶獲得新的密鑰,可以與服務器建立安全通信服務,獲得新的密鑰,并允許合法用戶把新的密鑰灌入USB-KEY中,此處設(shè)計為了使USB-KEY達到使用壽命延長并且保證用戶和內(nèi)容提供者的利益不受到損失。實時監(jiān)視模塊是為了防止合法用戶離開計算機或者合法用戶在使用過程中從計算機上取出USB-KEY,系統(tǒng)要執(zhí)行鎖定操作,防止非法用戶使用,實時監(jiān)視模塊執(zhí)行流程如圖3。
基于USB-KEY的DRM系統(tǒng),內(nèi)容提供者可以把對數(shù)字內(nèi)容的認證的私鑰放入USB中,將其作為開啟受保護內(nèi)容的鑰匙,其中在生成受保護內(nèi)容的數(shù)字證書時,可以委托可信的第三方CA中心來制作,并將對應于數(shù)字內(nèi)容的數(shù)字證書放入USB KEY中,用戶在使用數(shù)字內(nèi)容時候利用USB-KEY中的智能芯片在USB-KEY中完成整個數(shù)字證書的認證,無需把密鑰調(diào)入計算機內(nèi)存處理,這樣可以很好的避免網(wǎng)絡(luò)監(jiān)控程序度密鑰的提取。
圖2 基于USB-KEY的DRM系統(tǒng)模塊圖
圖3 實時監(jiān)視模塊執(zhí)行流程圖
圖4 基于USB-KEY的DRM系統(tǒng)執(zhí)行流程圖
用戶在使用DRM系統(tǒng)對數(shù)字內(nèi)容進行操作時,首先要判斷用戶的合法性,等待用戶在所用計算機上插入USB-KEY,只有合法用戶插入了正確的USB-KEY,利用DRM系統(tǒng)才可以操作受保護的數(shù)字內(nèi)容,如果用戶插入不合法的USB-KEY或者用戶使用的USB-KEY已經(jīng)過期,DRM系統(tǒng)給與用戶相應的提示信息,合法用戶在使用USB-KEY的過程中,其中USB-KEY根據(jù)內(nèi)容提供者所定義的使用規(guī)則對合法用戶做以限定(如不能拷貝、粘貼、限定使用次數(shù)等)。其基本的操作流程如圖4所示。
基于USB-KEY的數(shù)字版權(quán)保護系統(tǒng)的設(shè)計將硬件保護方式引入,融合PKI技術(shù)來加強對數(shù)字內(nèi)容的保護,其安全性相比通常的DRM系統(tǒng)有所提高,并且可以實現(xiàn)對系統(tǒng)的實時保護,整個系統(tǒng)的設(shè)計方案有以下幾個特點:
(1)數(shù)字內(nèi)容的密鑰采用獨立硬件存儲,密鑰使用安全性提高。在USB-KEY中使用不同的加密解密處理,避免數(shù)字內(nèi)容的訪問密鑰泄露。
(2)系統(tǒng)具有實時保護的功能。系統(tǒng)采用實時監(jiān)控的方式來實現(xiàn),避免數(shù)字內(nèi)容在未經(jīng)過可信用戶操作而造成的數(shù)字內(nèi)容泄密或丟失。
(3)可以擴展為多種數(shù)字內(nèi)容實現(xiàn)保護機制。使用USB-KEY存儲對應數(shù)字內(nèi)容的數(shù)字證書,可以方便存儲多種數(shù)字內(nèi)容的密鑰,增加了數(shù)字內(nèi)容的使用范圍。
DRM系統(tǒng)隨著網(wǎng)絡(luò)的發(fā)展將不斷跟進,本文所研究和設(shè)計的整個系統(tǒng)的整體設(shè)計采用模塊化設(shè)計,可以進行擴展、組裝成特定于用戶的DRM系統(tǒng),其中的通信模塊在隨著SSL技術(shù)的廣泛應用,此模塊需要再做新的架構(gòu)設(shè)計,以提高網(wǎng)絡(luò)通信的安全,此模塊的進一步實現(xiàn)是下一步進行研究的內(nèi)容。
[1] 孫鑫,余安萍. VC++深入詳解[M].北京:電子工業(yè)出版社.2008.
[2] 邵波,王其和.計算機網(wǎng)絡(luò)安全技術(shù)和應用[M].北京:電子工業(yè)出版社.2005.
[3] 曹福祥.計算機身份認證的技術(shù)分析和比較[J].信息科技.2007.
[4] 荊繼武, 林璟鏘, 馮登國.PKI技術(shù)[M]. 北京:科學出版社.2008.
[5] 佘堃, 鄭方偉.PKI原理與技術(shù)[M].成都:電子科技大學出版社.2007.
[6] http://www.china-drm.com.