透明加密技術是近年來針對企業資料保密需求應運而生的一種資料加密技術。所謂透明,是指對使用者來說是透明的,感覺不到加密存在,當使用者在打開或編輯指定檔案時,系統将自動對加密的資料進行解密,讓使用者看到的是明文。儲存資料的時候,系統自動對資料進行加密,儲存的是密文。而沒有權限的人,無法讀取保密資料,進而達到資料保密的效果。
自WindowsNT問世以來,微軟提出的分層的概念,使透明加密有了實作的可能。自上而下,
應用軟體,應用層APIhook(俗稱鈎子), 檔案過濾驅動,卷過濾驅動,磁盤過濾驅動,另外還有網絡過濾驅動,各種裝置過濾驅動。其中應用軟體和應用層apihook在應用層(R3),從檔案過濾驅動開始,屬于核心層(R0).資料透明加密技術,目前為止,發展了3代,分别為:
第一代APIHOOK應用層透明加密技術;
第二代檔案過濾驅動層(核心)加密技術;
第三代核心級縱深加密技術;
第一代:APIHOOK應用層透明加密技術
技術及設計思路:應用層透明加密技術俗稱鈎子透明加密技術。這種技術就是将上述兩種技術(應用層API和Hook)組合而成的。通過windows的鈎子技術,監控應用程式對檔案的打開和儲存,當打開檔案時,先将密文轉換後再讓程式讀入記憶體,保證程式讀到的是明文,而在儲存時,又将記憶體中的明文加密後再寫入到磁盤中。應用層APIHOOK加密技術,特點是實作簡單,缺點是可靠性差,速度超級慢,因為需要臨時檔案,也容易破解。但由于直接對檔案加密直覺感覺非常好,對于當初空白的市場來講,這一旗号确實打動了不少企業。
第二代:檔案過濾驅動加密技術
驅動加密技術是基于windows的檔案系統(過濾)驅動技術,工作在windows的核心層,處于應用層APIHook的下面,卷過濾和磁盤過濾的上面。設計思想是建立當應用程式(程序)和檔案格式(字尾名)進行關聯,當使用者操作某種字尾檔案時對該檔案進行加密解密操作,進而達到加密的效果。
核心層檔案過濾驅動技術,分IFS和Minifilter2類。IFS出現較早,Minfilter出現在xp以後。兩者的差別可以了解為VC++和MFC的差別,IFS很多事情需要自己處理,而Minifilter是微軟提供了很多成熟庫,直接用。由于windows檔案儲存的時候,存在緩存,并不是立即寫入檔案,是以根據是否處理了雙緩bug,後來做了些細分,但本質還是一樣,都是問題的修正版本而已。但由于工作在受windows保護的核心層,運作速度比APIHOOK加密速度快,解決了很多問題和風險。
檔案過濾驅動技術實作相對簡單,但穩定性一直不太理想。
第三代:核心級縱深沙盒加密技術
之是以叫核心級縱深沙盒加密技術,主要原因是使用了磁盤過濾驅動技術,卷過濾驅動技術,檔案過濾驅動技術,網絡過濾驅動(NDIS/TDI)技術等一系列核心級驅動技術,從上到下,縱深防禦加密。沙盒加密,是當使用者操作涉密資料的時候,對其過程進行控制,對其結果進行加密儲存,每個子產品隻做自己最擅長的那塊,是以非常穩定。加密的沙盒是個容器,把涉密軟體,檔案扔到容器中加密。而這個容器是透明的,使用者感覺不到它的存在。,
第三代透明加密技術的特點是,涉密資料使用前,先初始化涉密沙盒,沙盒加密一旦成功,之後所有的資料都是資料實體,不針對檔案個體,是以無資料破損等問題。特點是速度快,穩定,但技術相當複雜。
第一代,第二代本質都是采用的針對單個檔案實體進行加密,如a.txt内容為1234, 加密後變成@#$%% +标記。@#$%%是把原文1234進行加密之後的密文。而标記的用途是用來區分一個a.txt檔案是否是已經被加密。當系統遇到一個檔案的時候,首先判斷這個标記是否存在,如果存在,表明時被系統加密過的,則走解密讀取流程,如果不是加密的,就無需解密,直接顯示給使用者,隻是當儲存的時候,再進行加密,使其成文密文+标記。
這就帶來一個巨大的風險:如果是一個較大檔案,加密過程中發生異常,标記沒加上,那麼下次讀這個檔案的時候,因為沒有讀到表記,而采用原文讀取,然後再加密,那麼這個檔案就徹底毀壞了。這個現象在第一代APIHOOK透明加密技術的産品中特别明顯,在第二代檔案過濾驅動産品中,因為速度變快了,使檔案破損發生機率減低了很多,但并沒有本質解決這個問題。
另外,由于是程序和檔案字尾名進行關聯,也造成了一個缺陷:很多程式設計類軟體,複雜制圖軟體的編譯,曬圖等操作,都是很多程序同時操作某個檔案,這個時候進行程序和檔案關聯顯然太牽強了,因為程序太多了。即使進行關聯,多個程序交替通路檔案,加密解密混在一起,極容易造成異常。是以才會出現VC等環境下如不能編譯,調試等。
其他方面,版本管理無法對比,伺服器上存放的是密文(伺服器存密文,是個極大的風險,目前沒有哪家大企業敢這麼做,畢竟太依賴加密軟體,持續性沒有了),大檔案速度慢等,一系列問題,無法解決。
而第三代核心縱深加密技術是在前者2個基礎之上發展而來的,每個過濾層都隻做自己最擅長的事情,是以特别穩定,速度快,性能可靠,不存在第一代和第二代的問題。由于核心級縱深透明加密技術要求高,涉及技術領域廣,極其複雜,開發周期長,是以國内的能做開發的廠商不多。目前,深信達公司推出的SDC機密資料保密系統,給人一眼前一亮的感覺,其産品是第三代透明加密保密技術的典型産品,其産品主要特點是:
1)采用了磁盤過濾,卷過濾,檔案過濾,網絡過濾等一系列縱深核心加密技術,采用沙盒加密,和檔案類型和軟體無關,沙盒是個容器。
2)在操作涉密資料的同時,不影響上外網,QQ,MSN等。
3)保密徹底,包括網絡上傳,郵件發送,另存,複制粘貼,螢幕截取等,特别是螢幕保密,做得非常炫。
4)服務上存放的是明文,用戶端存放的是密文,檔案上傳伺服器自動解密,到達用戶端自動加密。伺服器上明文,減少了業務連續性對加密軟體的依賴。
5)不但可以針對普通文檔圖紙資料進行保密需求,同時更是研發性質的軟體公司(遊戲,通訊,嵌入式,各種BS/CS應用系統)源代碼保密首選。