姜波
【摘要】本文重點(diǎn)描述基于數(shù)字版權(quán)保護(hù)技術(shù)研發(fā)工程包11移動出版版權(quán)保護(hù)系統(tǒng)研發(fā)實(shí)現(xiàn)過程中使用到的重點(diǎn)關(guān)鍵技術(shù)。通過內(nèi)容保護(hù)、傳輸、訪問展現(xiàn)三個(gè)階段分析,本文主要討論針對EPUB內(nèi)容保護(hù)的關(guān)鍵技術(shù)。
【關(guān)鍵詞】數(shù)字版權(quán)保護(hù)技術(shù)研發(fā)工程;移動出版;關(guān)鍵技術(shù)
前言
本文重點(diǎn)討論數(shù)字版權(quán)版權(quán)保護(hù)技術(shù)研發(fā)工程中包11的移動出版版權(quán)保護(hù)技術(shù)的EPUB格式的加密關(guān)鍵技術(shù)和流程。
1、EPUB文檔結(jié)構(gòu)
EPUB(Electronic Publication的縮寫,電子出版)是一個(gè)自由的開放標(biāo)準(zhǔn),屬于一種可以“自動重新編排”的內(nèi)容;也就是文字內(nèi)容可以根據(jù)閱讀設(shè)備的特性,以最適于閱讀的方式顯示。
EPUB格式電子書遵循IDPF推出的OCF規(guī)范,OCF規(guī)范遵循ZIP壓縮技術(shù),即EPUB電子書本身就是一個(gè)ZIP文件,我們將EPUB格式電子書的后綴.EPUB修改為.zip后,可以通過解壓縮軟件(例如winrar、winzip)進(jìn)行瀏覽或解壓處理。
EPUB格式中包含了DRM相關(guān)功能可供選用
一個(gè)未經(jīng)加密處理的EPUB電子書主要由三個(gè)部分組成:Mimetype/Meta-inf/OEBPS。
文件:MIMETYPE
每一本EPUB電子書均包含一個(gè)名為mimetype的文件,且內(nèi)容不變,用以說明EPUB的文件格式。
目錄:META-INF
依據(jù)OCF規(guī)范,META-INF用于存放容器信息,默認(rèn)情況下(即加密處理),EPUB 根目錄下必須包含 META-INF 目錄,而且其中要有一個(gè)文件 container.xml。EPUB 閱讀系統(tǒng)首先查看該文件,它指向數(shù)字圖書元數(shù)據(jù)的位置。
目錄:OEBPS
OEBPS目錄用于存放OPS文檔、OPF文檔、CSS文檔、NCX文檔,OEBPS目錄也可以建立相應(yīng)的子目錄,例如建立chapter目錄,把各章節(jié)的OPS文檔放在chapter目錄之中。
2、EPUB加密保護(hù)
基于EPUB文檔的結(jié)構(gòu),EPUB的加密保護(hù)與以下4個(gè)部分密不可分:EPUB文件及內(nèi)容解析、EPUB文件及內(nèi)容加密、encryption.xml文件配置、EPUB打包入庫。
EPUB 加密過程
EPUB文件及內(nèi)容解析
EPUB文件先經(jīng)過解壓后才可看到具體的EPUB文檔及結(jié)構(gòu),隨后對其分析,通過META-INF目錄下Container.xml文件獲得EPUB電子書根文件*.opf,并對其進(jìn)行解析,得到所有EPUB文件路徑(章節(jié)內(nèi)容文件、圖片文件、CSS文件等)。
EPUB文件及內(nèi)容加密
在得到所有需要加密的文件路徑后,才能對其加密,加密可對文件的所有內(nèi)容或部分內(nèi)容進(jìn)行加密,內(nèi)容加密后需要將加密的內(nèi)容再次寫回到被加密的文件內(nèi)并保存。
encryption.xml文件配置
根據(jù)EPUB文檔結(jié)構(gòu)的規(guī)范,如果容器內(nèi)某些資源是加密的,encryption.xml就必須存在,表明資源是加密的。所以對所有加密資源的密鑰、加密模式等都需要在encryption.xml中進(jìn)行配置、描述。
EPUB打包入庫
EPUB的文件及內(nèi)容進(jìn)行過加密后,最終需要重新打包,生成新的加密EPUB壓縮文件才可正常使用,同時(shí)將EPUB文件、加密密鑰進(jìn)行存儲以備后續(xù)EPUB文件分發(fā)、許可證生成、EPUB內(nèi)容解密使用。
3、加密設(shè)計(jì)
加密數(shù)據(jù)存儲層Database
EPUB加密的過程中,相關(guān)的數(shù)據(jù)需要存儲于數(shù)據(jù)庫并為其他子系統(tǒng)提供服務(wù),存儲數(shù)據(jù)包括:
1)加密密鑰 CEKeco
2)加密文件ECO
加密類庫層libs
加密數(shù)據(jù)層之上需要有公用的類庫層,用來支持加密前對EPUB的解壓、解壓后的EPUB文件內(nèi)容解析、EPUB文件遍歷及讀寫處理、加密后的EPUB重新打包。類庫包括:
1)解壓、打包類庫 EZip
2)解析類庫 Eparser
3)文件處理類庫Efile
加密接口調(diào)用層InterfaceISS
EPUB加密的操作需要調(diào)用包15的隨機(jī)數(shù)接口、對稱加密接口,這兩個(gè)接口統(tǒng)一封裝在InterfaceISS接口中的pubpackage包下,分別為:
1)D15engineGenRandom
2)D15engineEncrypt
加密應(yīng)用層App
應(yīng)用層為觸發(fā)EPUB加密的層,即內(nèi)容管理系統(tǒng),內(nèi)容管理系統(tǒng)進(jìn)行EPUB原始文件注冊、DRMI、文件信息入庫后,再進(jìn)行EPUB加密。
4、解密設(shè)計(jì)
解密類庫層libs
EPUB需要經(jīng)過解密才能閱讀,解密需要有公用的類庫層,用來支持加密EPUB的解壓、解壓后的加密EPUB文件內(nèi)容解析、加密EPUB文件遍歷及讀取處理。類庫包括:
1)解壓類庫 EZip
2)解析類庫 Eparser
3)文件處理類庫Efile
解密接口調(diào)用層InterfaceISS
EPUB解密的操作需要調(diào)用包2的硬件特征信息接口、包15的對稱解密接口、包3的數(shù)字許可證解析接口,這三個(gè)接口統(tǒng)一封裝在InterfaceISS接口中的pubpackage包下,分別為:
1)D02CreateDeviceInfo;2)D15EngineDecrypt;3)D03RelParser
解密后的EPUB章節(jié)內(nèi)容需要提供給內(nèi)容解析渲染接口EPUBParserRendering進(jìn)行解析處理、效果展示。
解密應(yīng)用層Client
應(yīng)用層為觸發(fā)EPUB解密閱讀的層,即客戶端閱讀器,閱讀器在下載ECO及許可證LICENSE后,確認(rèn)開始讀取EPUB圖書的時(shí)候進(jìn)行EPUB解密閱讀。
結(jié)論
本文探討了基于移動出版版權(quán)保護(hù)技術(shù)epub格式內(nèi)容的加解密技術(shù),在實(shí)踐過程中得到較好的應(yīng)用。
參考文獻(xiàn)
[1]李琳.移動數(shù)字版權(quán)管理的現(xiàn)狀與展望[J]. 江西科技師范學(xué)院學(xué)報(bào),2011(6):102.
本文由數(shù)字版權(quán)保護(hù)技術(shù)研發(fā)工程(立項(xiàng)編號:1681300000119)資助
This work has been supported by the Digital Rights Management Research and Development Projects under Grant No. 1681300000119