天天看點

透明檔案加密技術

轉自:http://www.cnblogs.com/caoyawei/archive/2009/04/17/1437858.html

前一陣子,因為工作需要,需要做一些内網安全的東西,要防止區域網路内的檔案保密,就接觸到一些透明加密技術。看看資料,寫了點筆記。

1. 基于檔案的透明加密

基于檔案名稱的透明加密系統根據通路的檔案的名稱,主要是根據檔案的字尾或者所在的目錄,或者檔案本身的特征來判斷是否進行加解密[23]。

具體可以實作通過設定關鍵檔案及其讀/寫權限(檔案名支援通配符*和?)來控制關鍵檔案的讀/寫通路;記錄關鍵檔案的讀/寫通路;記錄可移動磁盤的寫通路等功能。

2. 基于程序的透明加密

基于程序的透明加密系統根據通路檔案的程序來判斷是否進行加解密。程序是作業系統内部的排程機關。而每一個檔案通路都可以關聯到一個具體的程序。基于程序的透明加密系統以系統的程序為機關進行加解密控制。

基于程序的透明加密系統需要區分出哪些程序要對受保護的機密檔案進行通路,那些不需要對機密檔案進行通路。對于需要對機密檔案進行通路的程序,系統将它的讀寫1/O經過動态加解密,來保證使用者對檔案的通路。對于不是通路機密檔案的程序,透明加密系統讓它不經過動态加解密驅動,正常的通路未受保護的普通檔案。這樣,系統内的程序就被分為了兩類。一類是在透明加密系統的監控下,通過動态加解密來通路資訊檔案的程序,稱之為“受監控程序”。另一類不受透明加密系統影響,正常的通路不受保護的正常檔案,這些程序稱之為“不受監控程序” 。反過來說,受監控程序的寫操作都被加密,讀操作都被解密;而不受監控程序的讀寫操作不受影響。

基于程序的透明加密系統需要監控程序和非監控程序之間的通信。如果一個受監控程序把通過解密得到的資料作為通信資料發送給一個不受監控的程序,那麼不受監控的程序就可以把這些資料不經加密的寫入到磁盤上,進而竊取了機密檔案。透明加密系統要阻止被監控程序和不被監控程序之間的通信。這樣,受監控程序和不受監控程序就被分隔在兩個互不相通的環境中。

基于程序的透明加密系統的主要功能除了要提供驅動層的加解密外,還需要可靠地鑒别程序的能力。

基于程序的透明加密系統的缺點是應用環境複雜時,管理難度大,使用者基本不能自主添加對新應用的支援。理論上,如果監控程序和非監控程序需要讀寫共同的配置檔案,它就無法實作。基于程序的透明加密系統由于是以系統程序為機關來判斷是否對一個正在編輯的檔案加密或者解密,是以它最緻命的弱點是不能很好解決插件、宏的洩密問題,即如何差別程序内的插件和它本身的讀取。由于讀取時會進行解密,那麼如果無法區分是插件還是程序本身,插件讀取到明文後通過網絡等非儲存的手段就可以将明文發送出去。是以,這類系統還需要其它的輔助手段進一步細化對檔案通路的控制。

3. 基于磁盤的透明加密

基于磁盤的透明加密系統以磁盤分區為機關,對儲存在該磁盤上的檔案全部加密。系統通過配置檔案、分區頭部的特殊标記來辨別這是一個加密的分區。微軟在新的作業系統Vista中提供了BitLock技術,可以加密整個分區。但是更常見的是使用虛拟磁盤技術來實作基于磁盤的透明加密系統。

基于磁盤的透明加密系統隻需要判斷被通路的檔案所在的分區就可以判斷檔案是否是加密的,是以它比基于檔案名稱和程序的透明加密系統邏輯上面更加簡單。通過指定某個分區或者建立一個虛拟磁盤分區,基于磁盤的透明加密系統自動對儲存到該分區的檔案加密,并自動解密從該分區讀取的内容。

基于磁盤的透明加密系統和檔案類型、通路的程序都沒有關系。但在實際的防洩密應用中,需要限制一些程序對加密分區的通路。

基于磁盤的透明加密系統需要阻止将加密磁盤中的檔案複制到非加密磁盤和通過外設端口、網絡發送出去洩密。

繼續閱讀