黃林昊,江 晨,金 彪
1(福建廣播電視大學 電子信息與計算機系,福州 350007)
2(福建師范大學 軟件學院,福州 350007)
基于DES加解密技術的電子文檔訪問控制方法①
黃林昊1,江 晨2,金 彪2
1(福建廣播電視大學 電子信息與計算機系,福州 350007)
2(福建師范大學 軟件學院,福州 350007)
電子文檔的在線閱覽已經非常普遍.付費用戶可以下載文檔或在線閱讀文檔的全部內容,而普通用戶則只允許預覽有限的內容.通過這種方式可以在一定程度上實現對電子文檔使用范圍的控制.但該方式的不足在于,付費用戶下載文檔后,可以隨意將下載的文檔轉發給他人.因而,如何在文檔被下載后依然能對其使用范圍進行限制,從而更好地實現版權保護,值得研究和摸索.本課題重點研究電子文檔的線上線下訪問控制方法:通過對注冊用戶權限的限制實現電子文檔的線上訪問控制,基于DES加解密等技術控制下載文檔的線下使用范圍.實驗結果表明,本文所提出的基于DES加解密技術的電子文檔線上線下訪問控制方法,能夠更加有效地對電子文檔的訪問權限進行控制,具有更強的版權保護力度.
電子文檔;線上線下;訪問控制;DES加解密;版權保護
隨著互聯網技術日益發展和計算機的普及,越來越多的互聯網用戶愿意在開放平臺上發表小說、教程、論文等電子文檔并允許其他指定的用戶群體進行訪問,即實現一定范圍內的信息共享.然而,信息共享大背景下,必然產生訪問控制和版權保護問題.某些特殊文檔的制作者或發表者通常僅允許小范圍的局部共享而非完全公開.遺憾的是,一旦文檔所有者將文檔上傳至各大分享平臺,如百度文庫、微盤等,文檔的所有權和控制權即被分離.
為了實現對電子文檔的訪問控制,目前許多文庫網站主要通過要求用戶購買虛擬貨幣(或其它付費手段)的方式來控制文檔的使用范圍.付費用戶即可下載相應的文檔.這類做法可以在一定程度上對文檔的使用范圍進行控制,然一旦付費用戶將文檔下載本地后,該文檔即可被隨意復制和轉發.以國內大型在線文檔分享網站百度文庫為例,其更多的是在線上對用戶操作進行限制,即在提供給用戶在線查看的同時,限制用戶線上的閱讀頁數,用戶使用虛擬貨幣(上傳文檔或者其他活動可以賺取貨幣財富值)購買文檔后可以下載文檔.但是其對下載后的文檔并沒有進行嚴密的線下文件保護[1].
也有相當一部分的網站已經開始加強版權保護.國外的大型電商網站亞馬遜,在對待版權問題上相當慎重.用戶購買的書籍必須是官方書店中的正版modi或者PDF格式,而且需要將書籍導入到kindle中才可以閱覽,無法將書籍復制或者轉發給他人看[2].
為了更有效地保護文檔所有者的權益,更有力地實現版權保護,針對電子文檔線上線下訪問控制研究就顯得尤為重要.本文結合DES加密技術,設計一種電子文檔訪問控制方法,實現了一套電子文檔分享及訪問控制平臺(為了便于后續描述,將該控制平臺簡稱為EDSC平臺),旨在同時實現對電子文檔的線上線下訪問控制.
1.1 文件格式轉換
目前已有的支持在線閱讀的文庫網站,其主要支持的書籍和文檔格式為Word、Txt、PDF三大類.
三者相比而言,PDF格式更具優勢:首先,用戶無法隨意更改PDF格式文件的內容,因此可以更為有效的保護文檔內容;其次,PDF文件擁有更好的用戶閱讀體驗;再者,PDF文件更加易于拆分,從而能夠更加有效地限定在線預覽的范圍(頁數).鑒于上述原因,本系統決定在線上預覽采用PDF格式,用戶上傳的文檔無論是txt或doc格式的文檔都將在后臺被自動轉換為PDF格式,并進行分頁拆分.
Word文件轉換成 pdf文件可以通過調用Document對象的ExportAsFixedFormat方法實現,調用方式為 Dispatch.call(doc,"ExportAsFixedFormat", pdfFullPath,wdFormatPDF);txt文件轉換成pdf較前者稍顯復雜,核心代碼如下.

通過判斷用戶是否購買進而賦予不同的操作權限,購買用戶可以在線預覽整個文件的內容,而沒有未購買的用戶則只能預覽部分限定的內容.
1.2 基于客戶端解密閱讀方式的實現分析
DES加解密[3]是一種對稱加密算法,具有較高的安全性,其有三個入口參數,即Key、Data和Mode,其中Key和Data均為64位,分別是DES算法的工作密鑰以及要被加密或被解密的數據,Mode為DES的工作方式(加密或解密).該算法使用64位密鑰將64位的明文輸入塊轉換成64位的密文輸出塊,并把輸出分為L0和R0兩部分,每部分各長32位.
文獻[4]將DES算法的實現與文件加密相結合,通過應用程序選擇并且導入文件從而獲得文件流,接著將載入的文件流利用DES算法進行加密處理,最后得到整個文件的加密輸出.在打開文件時,如果導入的是加密文件流,則使用DES解密算法進行解密得到明文.文獻[5]的研究表明,以客戶端程序的形式對文件進行解密操作是可行的.本文使用Java SDK中封裝好的相關庫函數以及自行編寫的相關用戶函數,實現了DES加解密算法,核心代碼如下所示.電子文檔被下載時會利用DES加密算法對其進行加密處理,下載得到的加密文件在客戶端打開時,則相應地使用DES解密算法進行解密.同時,為了防止用戶把解密得到的文檔內容復制到他人計算機或者將自己的賬號密碼借用給他人,客戶端程序將對用戶計算機的Mac地址進行綁定和校驗.


平臺設計與實現過程中主要涉及到對Java SDK、MyEclipse、Visual Studio 2012、HTML+CSS[6-9]等軟件或技術的使用.
EDSC平臺主要由用于線上訪問控制的web平臺以及用于線下訪問控制的客戶端軟件構成.線上文件保護的Web平臺主要功能包括:允許文檔擁有者以對上傳文檔設置是否免費或標價;對上傳的文檔進行文檔預覽范圍的限制;對上傳文件進行格式轉換(word格式轉為PDF),進而提供在線預覽;對被下載的文件進行加密處理;用戶可以收藏和評論電子文檔.線下文件保護的客戶端軟件主要實現功能包括:對用戶賬號密碼進行校驗;向服務端提供用戶的MAC地址,保證閱讀文檔機器的唯一性,防止復制和傳輸文檔導致的侵權問題;對從web平臺下載的文檔進行解密處理,并且在客戶端上顯示.圖1為EDSC平臺的體系結構圖.
值得說明的是,若考慮硬件設備投入成本的限制,方案中的加密服務器以及解密服務器所執行的操作,可以分別集成到web服務端與線下客戶端.
對于注冊且已付費用戶而言,其可以選擇在線閱讀文檔的全部內容,亦可以選擇下載文檔;對于未注冊或已注冊但未付費的用戶而言,其只被允許在線預覽文檔所有者事先設定的部分內容.表1簡述了EDSC平臺的核心功能模塊,圖2為EDSC平臺操作的整體數據流圖.

圖1 EDSC平臺體系結構圖

表1 EDSC平臺核心功能模塊簡述

圖2 EDSC平臺操作數據流圖
文檔被下載至本地計算機時,當前下載用戶的相關信息(用戶名、計算機MAC地址等)以及文檔加密時所采用的隨機值均會被記錄.其目的在于,便于以后的解密和身份校驗.當解密服務器集成到線下客戶端時,可以保證被下載的文檔只能由本平臺的客戶端進行解密和顯示.
3.1 保證秘鑰唯一性
對于任何一種加解密算法而言,秘鑰都是十分重要的.如圖1所示,本文在使用DES算法時,以(x, y, z)的組合鍵來生成秘鑰.其中,x表示用戶名(本平臺不允許同一個用戶名重復注冊),y為用戶密碼, z則是一個以文檔被下載時間t為基數產生的隨機值.
用戶名的唯一性,再加上隨機值z的參與,不僅使得不同用戶的秘鑰不一樣,而且還能確保同一個用戶的不同文檔的操作秘鑰也不相同,進而可以更加有效地保證了加(解)密秘鑰的唯一性.獲取時間t并以此為基數產生隨機數的核心代碼如下所示.

此后,(x, y, z)將被組合成一個字符串,傳遞給自定義函數getKey(),最終產生加(解)密秘鑰.
3.2 電子文檔上傳
文檔擁有者可以將自己的作品上傳到web平臺,并對自己的作品進行描述和價格標定.Web平臺對上傳的文件格式進行限制,目前只支持txt、word和pdf格式.圖3為該功能模塊的時序圖.

圖3 電子文檔上傳時序圖
用戶進入上傳界面,選擇需要上傳的文件并填寫文件相關信息后,進行提交.此后,前臺數據會通過struts2的文件上傳模塊傳入電子文檔信息處理類,由處理類負責把用戶的輸入信息利用hibernate進行封裝后,通過數據庫接口將文檔信息存入mysql數據庫,同時將上傳文件保存在服務端的指定位置.如前文所述,文件上傳成功后,平臺會自動調用文件格式轉換函數,將用戶所上傳的非PDF格式文檔轉換成相應的PDF格式[10].



圖4 在線預覽界面
3.3 下載加密
對于已經付費的用戶,Web平臺開放下載權限,其可以在電子文檔信息界面中進行下載.被下載文件將會被執行加密操作.加密秘鑰產生過程如3.1節所述,圖5為文件下載加密的時序圖.

圖5 下載加密時序圖
值得說明的是:1)在文檔被下載的同時,用戶當前計算機的MAC地址將會被記錄;2)被下載的加密文檔只有使用EDSC平臺的線下客戶端并具備的一定的條件(將在3.4節進行細述)才可以被正常打開和顯示.
3.4 線下客戶端解密
為了防止付費用戶把下載文檔解密后發送或者復制到他人的計算機,本文采用線下客戶端校驗的方法進行相應處理:1)權限校驗---用戶打開客戶端后,需要輸入用戶名和密碼并通過服務端的校驗后,客戶端方可執行解密操作;2)Mac地址校驗---用戶在打開客戶端后,客戶端會自動發送用戶的mac地址到服務端,與之前(第一次)存儲的客戶端mac地址進行匹配,若不匹配,則解密失敗.
由上述非線性瞬態響應分析及動力學仿真結果可知,車輛在140 km/h的運行速度范圍內,非線性沖擊動態間隙向上最大變化值Zi為8.0 mm,向下最大變化值Zi為8.5 mm,隨機響應動態間隙最大變化值Zr為11.7 mm。空重車一系靜撓度變化Zs可由空重車載重變化及一系垂向剛度計算得到,其值為21.2 mm。
鑒于上述處理,只有同時滿足權限校驗和mac地址校驗的用戶才可以正常打開從web端下載的加密文檔,從而保證下載的文檔只能由一個用戶的某一臺設備查看.圖6為客戶端解密的時序圖,圖7和圖8則分別為正常解密和解密失敗時客戶端的顯示效果.
此外,為了進一步保證下載解密并在客戶端顯示的文檔內容不被外傳,本文還在客戶端操作界面上禁用了所有的鼠標右鍵操作,禁用了 Ctrl+C、PrintScreen、Alt+PrintScreen等按鍵或組合鍵的操作,并利用Hook技術對用戶可能的截屏操作進行了監聽,例如QQ截圖常用的Ctrl+Alt+A組合鍵等.

圖6 客戶端解密時序圖

圖7 客戶端成功解密

圖8 客戶端解密失敗
為了從線上和線下兩個階段對電子文檔(共享文檔)的訪問權限進行控制,本文利用DES加解密等技術設計實現了一個web和桌面應用項結合的版權保護方案EDSC平臺.線上訪問控制采用與同類作品相類似的做法,即通過要求用戶進行注冊并付費來限制文檔的使用范圍,不同之處在于,線上web平臺會利用DES加密技術對被下載的文檔的加密處理;線下訪問控制則基于DES解密技術、Hook技術、Scoket通信技術[11-15]等開發了特定的客戶端,用于完成用戶身份校驗以及對下載的加密文檔進行解密和顯示等操作.為了更好地控制文檔的使用范圍,本文還嘗試了對所有可能的傳播方式進行的禁用.
平臺的主要局限在于:1)只允許付費用戶在第一次下載并成功解密并顯示的計算機上線下閱讀文檔,如果其想在個人不同的計算機上進行閱讀,需要向服務器申請解除MAC地址綁定,為了防止頻繁更換計算機,EDSC平臺也對解綁申請的次數進行了限定;2)平臺的線下客戶端目前僅針對PC端進行開發,尚不支持在移動平臺對從web下載的加密文檔進行閱讀;3)雖然本文已從最大可能上做到了訪問控制,阻止文檔的非法外傳,但是仍不能做到百分百的阻止,例如用戶可以對解密顯示的內容進行拍照后發給他人等.
鑒于上述分析,本文后續工作將主要考慮新的身份校驗方案,針對移動平臺開發響應客戶端以及思考關于其他文檔非法擴散途徑的應對辦法等.
1龔倍倫.論電子書之版權保護與限制—兼議亞馬遜電子書刪除事件.電子知識產權,2010,(1):74–77.
2田燕.高校圖書館在數字化文庫建設中的版權角色與版權管理—結合“百度文庫”相關版權糾紛案件的分析.圖書館, 2015,(10):84–87.
3常峰,于良玉.DES數據加密和解密技術.信息與電腦:理論版, 2015,(11):106–107.
4周文婷,馬鳳偉,孔慶.基于DES算法的文件加密系統的設計與實現.計算機安全,2012,(7):13–16.
5馮黎明.文件自適應加密解密系統設計與實現.技術與市場, 2016,(1):90.
6胡峴,易曉東,戴華東.一種HTML5云文件系統.網絡安全技術與應用,2012,(11):65–68.
7易昌華.HTML5發展趨勢的研究和探索.價值工程,2012, 31(36):314–315.
8張俊杰.淺談HTML5的技術革新.科技視界,2012,(18): 185–186.
9 Frain B.Responsive web design with HTML5 and CSS3. Packt Publishing Limited,2012.
10扈小燕,劉培洵,劉力強.將Word文檔自動轉換成PDF格式的編程實現.計算機與現代化,2012,(2):187–189.
11 Pizano E,Rohatgi R.System and Method for Biometrically Secured,Transparent Encryption and Decryption.US, US8627106.2014.
12 Mccarty RJ.Computer Program Products and Systems for Transparent Data Encryption and Decryption.US,US 7743403 B2.2010.
13 Black W,Price K.Systems and Methods for Transparent Per-File Encryption and Decryption Via Metadata Identification.US20140258720.2014.
14 Winslow RN.Assent to Conditions for Network Access.US, US 8826384 B2.2014.
15任小強,陳金鷹,李文彬,胡波.網絡通信之Java Socket多線程通信.信息通信,2015,(6):206–207.
Method for Electronic Documents’Access Control Based on DES
HUANG Lin-Hao1,JIANG Chen2,JIN Biao2
1(Department of Electronic Information and Computer Science,The Open University of Fujian,Fuzhou 350007,China)
2(Faculty of Software,Fujian Normal University,Fuzhou 350007,China)
Online reading of electronic documents has been very common.Documents could be downloaded or their full content could be read online by those users who have paid for them,while limited content could be previewed by the common users.By this way,documents’owners can realize the control of the use of electronic documents to a certain extent.But there are imperfections in the way.If one user has pay for the documents and downloaded them,he or she could send them to others without any restriction.Therefore,in order to achieve better copyright protection,it is worthy of study and exploring access control method on how to still make some restrictions on documents when they are downloaded.This paper focuses on the method for making some access restrictions on the electronic documents both online and offline.For online documents,access restrictions would be done on registered users,while DES encryption and decryption is used for controlling the downloaded documents.Experimentations show that the proposed method based on DES encryption and decryption technology could control the access to electronic documents more efficiently and give a stronger force on copyright protection.
electronic documents;online and offline;access control;DES encryption and decryption;copyright protection
省教育廳A類資助項目(JA14091,JA14087)
2016-08-16;收到修改稿時間:2016-09-18
10.15888/j.cnki.csa.005731