透明加密有以下特點:
強制加密:安裝系統後,所有指定類型文件都是強制加密的;
使用方便:不影響原有操作習慣,不需要限止端口;
於內無礙:內部交流時不需要作任何處理便能交流;
對外受阻:壹旦文件離開使用環境,文件將自動失效,從而保護知識產權。
透明加密技術原理
透明加密技術是與windows緊密結合的壹種技術,它工作於windows的底層。通過監控應用程序對文件的操作,在打開文件時自動對密文進行解密,在寫文件時自動將內存中的明文加密寫入存儲介質。從而保證存儲介質上的文件始終處於加密狀態。
監控windows打開(讀)、保存(寫)可以在windows操作文件的幾個層面上進行。現有的32位CPU定義了4種(0~3)特權級別,或稱環(ring),如圖1所示。其中0級為特權級,3級是最低級(用戶級)。運行在0級的代碼又稱內核模式,3級的為用戶模式。常用的應用程序都是運行在用戶模式下,用戶級程序無權直接訪問內核級的對象,需要通過API函數來訪問內核級的代碼,從而達到最終操作存儲在各種介質上文件的目的。
為了實現透明加密的目的,透明加密技術必須在程序讀寫文件時改變程序的讀寫方式。使密文在讀入內存時程序能夠識別,而在保存時又要將明文轉換成密文。Window 允許編程者在內核級和用戶級對文件的讀寫進行操作。內核級提供了虛擬驅動的方式,用戶級提供Hook API的方式。因此,透明加密技術也分為API HOOK廣度和VDM(Windows Driver Model)內核設備驅動方式兩種技術。API HOOK俗稱鉤子技術,VDM俗稱驅動技術。
“只要安裝了透明加密軟件,企業圖紙辦公文檔在企業內部即可自動加密,而且對用戶完全透明,絲毫不改變用戶的工作習慣。在沒有授權的情況下,文件即使流傳到企業外部,也無法正常應用。就像壹個防盜門,裝上就能用,而且很管用。”這是2006年透明加密在開辟市場時打出的宣傳旗號。
對於當時空白的市場來講,這壹旗號確實打動了不少企業。如今,經過四年多的歲月洗禮,透明加密技術也在不斷進步。就目前市面上的透明加密技術來看,主要分為兩大類:即應用層透明加密技術和驅動層透明加密技術。本文將重點對兩種技術的優缺點進行剖析。
應用層透明加密(鉤子透明加密)技術簡介
所有Windosw應用程序都是通過windows API函數對文件進行讀寫的。程序在打開或新建壹個文件時,壹般要調用windows的CreateFile或OpenFile、ReadFile等Windows API函數;而在向磁盤寫文件時要調用WriteFile函數。
同時windows提供了壹種叫鉤子(Hook)的消息處理機制,允許應用程序將自己安裝壹個子程序到其它的程序中,以監視指定窗口某種類型的消息。當消息到達後,先處理安裝的子程序後再處理原程序。這就是鉤子。
應用層透明加密技術俗稱鉤子透明加密技術。這種技術就是將上述兩種技術(應用層API和Hook)組合而成的。通過windows的鉤子技術,監控應用程序對文件的打開和保存,當打開文件時,先將密文轉換後再讓程序讀入內存,保證程序讀到的是明文,而在保存時,又將內存中的明文加密後再寫入到磁盤中。
應用層透明加密(鉤子透明加密)技術與應用程序密切相關,它是通過監控應用程序的啟動而啟動的。壹旦應用程序名更改,則無法掛鉤。同時,由於不同應用程序在讀寫文件時所用的方式方法不盡相同,同壹個軟件不同的版本在處理數據時也有變化,鉤子透明加密必須針對每種應用程序、甚至每個版本進行開發。
目前不少應用程序為了限止黑客入侵設置了反鉤子技術,這類程序在啟動時,壹旦發現有鉤子入侵,將會自動停止運行,所以應用層加密很容易通過反鉤子來避開繞過。
驅動層透明加密技術簡介
驅動加密技術是基於windows的文件系統(過濾)驅動(IFS)技術,工作在windows的內核層。我們在安裝計算機硬件時,經常要安裝其驅動,如打印機、U盤的驅動。文件系統驅動就是把文件作為壹種設備來處理的壹種虛擬驅動。當應用程序對某種後綴文件進行操作時,文件驅動會監控到程序的操作,並改變其操作方式,從而達到透明加密的效果。
驅動加密技術與應用程序無關,他工作於windows API函數的下層。當API函數對指定類型文件進行讀操作時,系統自動將文件解密;當進入寫操作時,自動將明文進行加密。由於工作在受windows保護的內核層,運行速度更快,加解密操作更穩定。
但是,驅動加密要達到文件保密的目的,還必須與用戶層的應用程序打交道。通知系統哪些程序是合法的程序,哪些程序是非法的程序。
驅動層透明加密技術工作在內核層。
驅動加密技術雖然有諸多的優點,但由於涉及到windows底層的諸多處理,開發難度很大。如果處理不好與其它驅動的沖突,應用程序白名單等問題,將難以成為壹個好的透明加密產品。因此,目前市面上也只有天津優盾科技等少數幾家公司有成熟的產品。
應用層透明加密技術(鉤子透明加密技術)與驅動層透明加密技術優缺點比較
兩種加密技術由於工作在不同的層面,從應用效果、開發難度上各有特點。綜上所述,應用層透明加密技術(鉤子透明加密技術)開發容易,但存在技術缺陷,而且容易被反Hook所破解。正如殺毒軟件技術從Hook技術最終走向驅動技術壹樣,相信透明加密技術也終將歸於越來越成熟應用的驅動技術,為廣大用戶開發出穩定、可靠的透明加密產品來。