透明加解密產(chǎn)品從實現(xiàn)的技術(shù)來說,分為兩種,一種是應(yīng)用層加密,一種是驅(qū)動層加密。在下面的文字里,我們盡可能的用通俗易懂的語言把這兩種加密方式闡述清楚,但請您注意,這僅僅是介紹性的文字,它并不是技術(shù)性文檔,它的描述并不一定非常精確,請您諒解。
在windows平臺上,所有應(yīng)用軟件不管是word,excel還是solidedge,autocad它們都是運行在windows之上的。任何一個應(yīng)用軟件保存數(shù)據(jù)的流程都可以用以下簡化模型來描述:應(yīng)用軟件需要保存數(shù)據(jù)→將數(shù)據(jù)告訴windows→windows將數(shù)據(jù)告訴磁盤(或是其他介質(zhì))的驅(qū)動程序→驅(qū)動程序?qū)?shù)據(jù)真正寫到磁盤上(或其他存儲介質(zhì))。那么,如果我們需要對該應(yīng)用程序保存的數(shù)據(jù)進行透明加密,我們有兩個時間點可以選擇:
在應(yīng)用程序?qū)?shù)據(jù)交給windows之前,即windows收到的數(shù)據(jù)就是加密的數(shù)據(jù)。
在windows將數(shù)據(jù)交給磁盤驅(qū)動程序之前。
應(yīng)用層加密就是在時間點(1)完成加密動作的。這樣做的好處是,它完全不需要理會windows底層無比復(fù)雜足以讓人崩潰的處理方式,它僅僅需要關(guān)心應(yīng)用軟件的行為。您到這里也應(yīng)該看出來了,應(yīng)用層加密必須為每個應(yīng)用程序都去開發(fā)一個加解密模塊。這是因為,每種應(yīng)用軟件讀寫數(shù)據(jù)的行為多多少少會有點差異。同樣的軟件升級,例如word從2003升級到2007,該子模塊必須重新開發(fā)?,F(xiàn)在各種專業(yè)軟件層出不窮,很多軟件僅僅應(yīng)用在特定的領(lǐng)域,為每種軟件開發(fā)加密模塊也是不現(xiàn)實的,開發(fā)成本,測試成本巨大。而且您愿意接受在購買了加密軟件之后每年還需要支付二次開發(fā)費用嗎?從技術(shù)上說,HOOK技術(shù)是基于應(yīng)用層加密的軟件的技術(shù)基礎(chǔ)。鑒于HOOK技術(shù)被絕大多數(shù)病毒和流氓軟件所應(yīng)用。微軟明確的表示在64位機器的操作系統(tǒng)上不再支持現(xiàn)有的絕大多數(shù)HOOK。也就是說,目前基于應(yīng)用層加密的防泄密軟件在64位平臺上必須重新開發(fā)。所以我們認(rèn)為,基于應(yīng)用層加密在可擴展性,可持續(xù)性方面的劣勢決定了它不是一個好的選擇對象。
驅(qū)動層加密是在時間點(2)完成加密動作的。這樣做的好處是,無論是哪種應(yīng)用程序,加密模塊都可以捕獲到它的讀寫行為,但是它為此付出的代價是必須去處理好windows底層那種非常復(fù)雜的處理方式,并且與之結(jié)合,渾然一體。眾所周知的是windows不像Linux公開所有代碼,關(guān)于其底層處理的技術(shù)文檔非常少。因此很多驅(qū)動層加密程序往往沒有辦法處理好,造成一種值得大家警惕的現(xiàn)象:演示的時候,非常完美,測試的時候僅僅有點小問題,等正式使用的時候,問題不斷--文件損壞, 與殺毒軟件沖突--頻繁藍屏。雖然說應(yīng)用層加密也會損壞文件,但是客觀的說,驅(qū)動層加密造成文件損壞的概率要大于應(yīng)用層加密。
驅(qū)動層就加密的典型流程示意圖,從技術(shù)上說,驅(qū)動層絕對是領(lǐng)先應(yīng)用層的。從企業(yè)的應(yīng)用成本上來說,驅(qū)動層加密的優(yōu)越性也是遠遠大于應(yīng)用層的。因為您一旦選購了驅(qū)動層加密產(chǎn)品,無論是你企業(yè)采用什么樣的應(yīng)用軟件,驅(qū)動層加密都可以應(yīng)付自如而不需要二次開發(fā),其可擴展性、優(yōu)越性是顯而易見的。但是驅(qū)動層容易和其他底層軟件沖突,容易造成文件損壞卻是不爭的事實!我們經(jīng)過無數(shù)次痛苦的折磨之后發(fā)現(xiàn),原來造成文件損壞和與底層加密軟件沖突的根源并不是驅(qū)動層這個技術(shù)架構(gòu)的問題,而是windows的緩存機制。文件緩存一定會帶來文件經(jīng)常會被二次加密或部分加密,甚至不可逆轉(zhuǎn)的損壞這類問題。具體的技術(shù)原理可以寫一本書,就不在這里贅述??梢源_信的是:目前沒有任何方法可以徹底的清除緩存。退一萬步說,即便是有這樣的方法,你知道徹底清除緩存意味著什么嗎?意味著每次讀文件都要從物理磁盤去讀,意味著你運行軟件的速度會比目前慢10倍以上。
以上的文字大致的幫您分析了一下如何選擇一款透明加密軟件,我們希望您明確的是:如果您選擇了應(yīng)用層加密,您就必須意識到您可能沒有辦法對所有的應(yīng)用軟件做透密加解密處理,您可能繼續(xù)需要為這個產(chǎn)品的二次開發(fā)投入金錢,同時偶爾還會壞幾個文件。如果您選擇了驅(qū)動層加密,請您一定要嚴(yán)密的測試,考察,看這個產(chǎn)品是否會損壞文件。
另外因現(xiàn)在業(yè)內(nèi)的惡意競爭,導(dǎo)致了部分破解工具出現(xiàn),所以我們在安全性的同時也需要考慮破解性,避免實施后資料依然未得到安全保護。