翟慧卿 程衛雙 黃杰



摘 要: 設計并實現了一個具有文件安全保護能力的終端文檔安全保護系統。在技術上主要采用內核與應用層相結合的方法來實現文檔透明加、解密。在內核層實現功能上的控制,而在應用層實現相應的權限控制和策略制定。在操作系統內核對訪問電子文檔的進程進行審核與控制,利用文件系統過濾驅動技術過濾掉非法進程對文檔的讀取。對于擁有訪問權限和安裝該系統的客戶端用戶,才可以正常讀取加密的電子文檔,排除了電子文檔泄密的可能,實現了對電子文檔的安全管理。
關鍵詞: 電子文檔; 加密; 解密; 文件系統過濾驅動
中圖分類號:TP309.7 文獻標志碼:A 文章編號:1006-8228(2014)01-21-02
0 引言
近年來,信息化技術不斷深入到了人們生活中的各個領域,以電子形式存在于計算機中的文檔也逐漸地替代了傳統文檔。當然任務事務都有著兩面性,電子文檔在給人們的生活帶來便捷的同時,也帶來了數據被非法泄露、破壞、篡改、復制、竊取與使用等隱患。
為了解決上述令人棘手的電子文檔安全問題,很多企業建造了企業專網,并且配備了大量的防火墻、VPN、IPS、IDS等安全設備,但是這樣做只能用來防范外來的入侵者,而不能防止企業內部人員有意無意地主動泄密,況且上述措施一般來說造價非常昂貴。
因此,開發一個運行效率高、安全可靠、操作簡潔、方便使用的電子文檔安全管理系統有很重要的市場價值和應用價值。對于電子文檔信息的安全保護,必須從數據生命周期的源頭——對文檔數據進行加密存儲開始。只有文檔被加密存儲了,以后在其生命周期的各個階段的安全才能得到保證,企業才可以安枕無憂地在信息化浪潮中持續發展。
1 透明加密與文件過濾驅動技術
1.1 透明加密技術
數據加密技術是通過一定規則把原始數據轉換成另一種無意義數據的技術,這個轉換規則通常包括加密算法和加密密鑰。加密算法是加密技術的一般方法,而密鑰根據一定的加密算法產生出惟一的加密數據——只有知道密鑰和密碼算法的人才能夠把密文恢復成原始數據[1-2]。密鑰通常是一長串數字序列,這些序列被一些常用的身份認證機制所保護,例如口令,令牌或者是指紋等生物信息[3]。
現代密碼技術[4]按照密鑰的管理方式不同可分為:對稱加密和非對稱加密。在對稱加密實現的過程中,加密過程和解密過程使用相同的密鑰,因此加密數據的安全性主要依賴于密鑰的安全性。其優點主要是加解密時速度快、實現簡單、實現算法公開透明。但由于加密過程和解密過程采用的是同一密鑰,因此缺點也很明顯,那就是在大量用戶的情況下密鑰管理困難,使用成本較高,不便于在分布式網絡系統上使用。目前常用的對稱加密算法主要有DES、IDEA和AES等著名加密算法。
在非對稱加密的實現過程中,加密過程和解密過程使用不同的密鑰,使用公有密鑰加密時需要用私有密鑰解密,而使用私有密鑰加密時需要用公有密鑰解密。因此非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要。但其加密和解密花費時間長、速度慢,適用于對少量數據進行加密,不適合于對文件加密。目前廣泛應用的不對稱加密算法主要有RSA算法和美國國家標準局提出的DSA算法。
因此,可以得知對稱加密算法可應用于數據加密,非對稱加密算法可應用于身份認證,所以我們在進行文件透明加解密時使用對稱加密算法。
在Windows操作系統中通常使用兩種方法來實現文件的透明加解密,一種方法是使用HOOK API技術來截獲特定進程或系統對某個API函數的調用,使得API的執行流程轉向指定的代碼;另外一種方法是使用文件系統過濾驅動使上述的截獲在內核層進行。這兩種方法都能實現文檔的透明加解密,使這種加解密的動作對用戶來說完全透明。
1.2 文件過濾驅動技術
Windows NT操作系統的I/O管理器支持分層的驅動程序,這些分層的驅動程序形成一種棧形結構,這樣可以擴展一些執行體服務,因此這些擴展的驅動既可以位于文件系統驅動之上,也可以被插放在文件系統驅動和存儲設備驅動之間。
操作系統允許通過加載驅動程序的形式來增強內核的功能,文件系統過濾驅動通過攔截應用層的I/O請求的形式來提供這種新功能,所以文件系統過濾驅動相當于增加了操作系統內核的新功能。而增加的新功能又完全不用修改底層設備驅動和用戶的程序。過濾驅動可以做到增加系統功能而不用修改上層驅動和應用程序的任何代碼。如果想讓操作系統增加新功能而又不能修改現有的內核代碼,并且對應用程序透明,那么就可以使用過濾驅動來實現[5]。
2 系統設計與實現
2.1 整體結構設計
本系統采用C/S與B/S混合模式進行設計。電子文檔安全管理系統服務器主要由系統數據庫、Web服務器、應用服務器組成。客戶端主要由客戶端程序和瀏覽器程序組成。用戶安裝完系統數據庫、Web服務器、應用服務器后,系統運行正常,管理員可通過瀏覽器登錄Web服務器進行系統的配置與管理。內網中的客戶端用戶通過Web服務器可下載客戶端程序,進行安裝與注冊。用戶注冊程序自動采集系統的硬件設備資產信息,經過應用服務器處理后存入數據庫,同時應用服務器將默認策略下發給客戶端,如圖2所示。
2.2 系統實現
Web服務器采用Tomcat 作為Web容器,采用Web表現層、業務處理層和數據訪問層三層業務模型。Web表現層向用戶提供配置策略參數的界面,業務處理層負責處理由Web操作層傳遞進來的參數數據,數據訪問層負責數據的持久化操作。
管理員可根據需要授權用戶具有手動加解密功能。在資源管理器中增加右鍵菜單,可選擇任意文件進行手動加解密,加密后的文件屬性增加了一些安全屬性。
2.3 系統測試
在裝有系統客戶端的PC機上開啟文檔保護服務,并下達加密策略,使進程Notepad.exe能夠對*.txt文件進行透明加解密測試。
針對本系統的穩定性測試就是看文檔保護系統在運行過程中服務器是否運行穩定,是否出現死機,以及采用過濾驅動技術的客戶端是否產生內存泄漏而出現藍屏等問題。經過測試本系統運行流暢,通訊正常。
在加解密過程中,由于對原始數據做了相應的加解密處理,所以對于較大的文件的讀寫所花費的時間和空間資源會有所增加,文件越大,這些額外的開銷也就越明顯。而對于一些較小的文件,這些額外的開銷幾乎可以忽略不計。
另外,測試過程是在虛擬機VMWare上進行的,這對于文件的讀取時間有很大的影響。但是相對時間差還是完全可以反映系統性能的好壞。
3 結束語
本文在研究基于Windows架構以及新的過濾驅動框架的基礎上,采用C/S+B/S架構,設計并實現了一個終端文檔安全保護系統,既實現了對終端文檔在數據使用時的安全保護,又對文檔進行了很好的權限策略控制,還對文檔的生命期進行了有效的監控,該系統可以有效地防止終端重要信息的泄漏。同時該系統還對文件的使用權限進行了很細粒度的控制,用戶能使用Web瀏覽器很方便地給指定客戶機下達指定策略,使客戶機按照指定規則來選擇要加解密的文件。
但是,由于本系統中所有的加密文檔是以密文的形式存儲在磁盤中的,如果離開本系統的工作環境,文檔將不能被正常讀取。
本應用并不局限于文檔加密領域,在病毒實時監控與防護,數據備份與還原,以及文件訪問控制等領域同樣有著廣泛的應用。今后也可以結合文件系統過濾驅動技術在內核病毒防火墻等領域展開積極的研究與探索。
除此之外,要想從根本上解決信息安全問題,我們認為還必須加強信息安全保護立法,同時企業要加強自我防范意識,完善企業內網管理措施。
參考文獻:
[1] 陳元,王菲菲.利用文檔加密技術防止企業知識資產的外泄[J].圖書
情報知識,2010:2-134
[2] 金容波.文檔安全保護系統中防主動泄密關鍵技術研究與實現[D].四
川師范大學碩士學位論文,2008.
[3] 王瑋.電子文檔加密系統設計與實現[D].山東大學碩士學位論文,
2007.
[4] William Stallings著,劉玉珍,王麗娜,傅建明等譯.密碼編碼學與網絡
安全[M].電子工業出版社,2006.
[5] 王雅泉,張水平.Windows WDM過濾器驅動程序的設計與實現[J].微
電子學與計算機,2002.16(12):28-30