複製鏈接
請複製以下鏈接發送給好友

主動加密

鎖定
主動加密是基於實時加解密技術的一種加密信息自我保護手段。實時加解密引擎在工作中提供實時加解密服務的同時監控全部密文數據的流向,當密文轉化為其它數據形式,與另外的非涉密數據結合生成新的數據、或者其它非涉密數據引用了部分密文時能夠自動加密這些與之發生關係的數據。
中文名
主動加密
原    理
接觸傳染性

目錄

主動加密概念

所謂涉密,指接觸了機密的數據。機密的數據是由數據的擁有者事先定義的,如工程圖紙、程序源代碼、客户資料、機密文檔等。
在保密技術專業中,定義成機密的數據是應該以加密形式存在的。這裏不討論完全基於訪問控制形式保護數據的方案,基於訪問控制的保護與真正的保密是完全不同的兩個領域,保密必須解決安全環境失效的情況下的數據不泄密,訪問控制是不考慮安全環境失效的情況的。

主動加密原理

接觸傳染性
涉密的界定一般採取“過保護”方式。也就是説,一個對象在與機密數據接觸後,如果沒有辦法證明它沒有涉密,總是認為它是涉密的。通俗一點講,就是“寧可枉殺一千,不可放過一個”。舉一個簡單的例子來理解涉密的概念:非典時期,凡與非典病人接觸過的人都先隔離起來觀察,如果把非典病人看作機密數據,那麼與非典病人接觸過的人就是涉密。因為當時沒有辦法證明這些接觸過的人有沒有被感染非典病毒。當然,隔離觀察一段時間後沒有出現感染非典症狀的人證明其沒有感染非典,可以解除隔離。與機密數據接觸的數據如果後來與涉密前一樣沒有發生改變,也可以認為其沒有從機密數據中獲取機密,也可以解除涉密狀態。至於涉密後數據發生改變的,如果無法證明其改變的部分與機密數據無關,這個數據必須強制加密。因此,接觸傳染性是主動加密的典型特徵。
在計算機操作中,接觸傳染性有多種表現形式,我們舉例説明這個有趣有現象:
現有一個普通文檔A(不加密)和一個機密文檔B(已加密)
(1)用Word同時打開了文檔A和文檔B,從文檔B中複製部分內容到文檔A,然後保存文檔A,這時文檔A被強制加密。
這個現象很好理解,因為文檔B是機密數據,其部分機密數據轉移到文檔A了,所以文檔A保存後被加密。
(2)用Word同時打開了文檔A和文檔B,修改並保存文檔A,這時文檔A被強制加密。
這個現象比較費解,因為文檔A看上去沒有引用文檔B的任何數據。因為文檔A和文檔B被同一個Word打開着,計算機沒有辦法證明文檔A的修改部分與文檔B無關(我們不能以人工方式去判定),所以修改後文檔A被加密了。
(3)同時打開文檔A和文檔B,從文檔A中複製數據到文檔B,保存文檔B並退出Word,文檔A和文檔B的加密狀態不變。
這個現象也好理解,文檔A沒有變化,當然不會被加密,文檔B原來是加密的,所以保存後仍然是加密的,至於引用了非加密的文檔A的內容不會改變文檔B的機密屬性。
(4)用Word打開文檔B,新建一個文本文件C,用Windows記事本打開,用Windows剪貼板從文檔B中複製一段文字粘貼到文本C中並保存。
結果:文件C被加密。
(5)用Excel打開一個非加密的電子表格文件D,用Word打開文檔B,選中文檔B中的一段文字,用鼠標拖動到EXCEL中,關閉Word。再保存EXCEL文件為電子表格D。
結果:電子表格D被加密。
新生繼承性
新生繼承性也是主動加密的典型特徵。任何對象在涉密後其新建的文件都會被加密,這一點應該很好理解。類似於生物學上的遺傳特性。主動加密的新生繼承性與基於加密文件夾的加密屬性繼承有所不同,加密文件夾的加密屬性繼承是靜態位置的加密屬性繼承,不能阻止保存數據的人主動涉密。而主動加密的新生繼承性是強制性的,只要應用程序已經涉密,這個應用程序的輸出數據總是密文形式,所以無論把數據保存到什麼地方,數據總是加密形式。
主動加密在防泄密解決方案中的重要意義
防泄密不僅僅是防止外來人員的竊取,更多的是防止內部人員的主動泄密。而保密系統的難點就在於即要保證內部人員能夠正常使用機密數據,又要防止這些機密數據傳出本單位。在主動加密技術出現之前,機密信息“監守自盜”沒有技術上的解決辦法,只能依賴於行政手段和規章制度來保障。主動加密技術加上實時加解密術,可以保障單位內部正常使用機密數據的同時防止任何形式的對外泄密,不管這種泄密是內部人員有意為之或無意所為。由於主動加密的接觸傳染性和新生繼承性,機密數據無論被帶到什麼地方,都是密文形態的,而密文一旦離開其宿主單位,因為缺少了解密所需的密鑰,無法還原其記錄的內容,從數學原理上保證其原始信息是安全的。因此,主動加密技術是防泄密技術的核心技術。防泄密系統的成敗往往取決於其主動加密技術

主動加密技術實現

主動加密技術從原理上來説只要能夠準確監控機密數據的流向就可以實現,從有防泄密系統開始就出現了不同的技術流派。主動加密技術一般都是基於操作系統後台實現的,所以從前台的用户一般操作體驗上很難感覺到技術層面上的差別,能夠感覺到的最多隻是對操作系統性能的影響。
主動加密從技術實現上可以分成三類:
(1)基於應用程序插件的主動加密
這類技術是最累的主動加密技術,其原理是為每一個應用程序寫一個插件程序(也稱“外掛”),應用程序在加載時會自動加載插件程序,插件程序加載後會監視所有的數據輸出,必要時加密數據,如果一個操作不能主動加密,就強制取消對應的操作。
這種技術採用的是一對一的直觀思維,因此其支持的目標是以應用程序為單位的,而且一般和應用程序的版本還有關係,因為同一個應用程序未必能夠支持不同版本的插件。也不是所有的應用程序都支持插件技術。事實上,能夠支持插件的應用程序僅限於Office、CAD等大型通用化應用軟件,專用軟件和一般的小型軟件都不支持外掛插件。因此,這種技術應用環境受到諸多限制,而且由於從原理上不能保證受支持應用軟件之外的軟件的適用性,因此這種技術基本面臨淘汰。
(2)基於API攔截的主動加密
這種技術比起上面的技術來在通用性上有所進步,大部分“標準”的應用程序能夠得到支持,實現上也相當簡單,不需要考慮不同的應用程序。其缺點是API攔截是基於應用層的,不是所有的應用程序都使用標準的API操作數據,一旦應用程序的數據操作使用的驅動方式,或者直接使用VMM的內存映射文件,這種方式就會出現不能正常解密或泄密漏洞。因此,這種技術也只能適用於已經測試通過的環境。另外,API攔截不是標準的系統開發技術,使用API攔截後系統性能下降明顯,與反病毒軟件和一些工具軟件往往也存在兼容性問題,這些都是API攔截技術的詬病。
(3)基於文件系統驅動技術的主動加密
這種技術是理論上最完美的技術。驅動技術是標準的系統開發技術,因此不存在兼容性問題(本身有程序BUG的下三濫驅動除外)。所有應用程序(包括操作系統本身)都必須通過文件系統驅動獲取磁盤數據,因此在驅動中對數據進行控制幾乎無一漏網。另外,由於驅動運行於操作系統核心層,其效率、性能和抗攻擊性不是應用層的API攔截所能達到的。
當然文件系統驅動也是最難實現的,主要緣於驅動程序的開發難度,在操作系統驅動級,任何小的錯誤都以系統崩潰(“藍屏”)收場。這也是驅動雖好,實現出來的卻不多的原因。