Ping32文檔透明加密軟件基礎概念

什么是文檔透明加密?

透明加密是指,一個軟件創建文件時,文件自動加密;打開文件時,文件自動解密。透明的意思是,用戶是感知不到整個過程的。但是注意:這個文件在磁盤上真實狀態是被加密的,驗證方法就是,把這個文件拷貝到U盤帶走,外部是無法解密打不開的;或者,把這個軟件通過QQ、微信發送出去,外部也是沒辦法打開。

幾個常遇到的數據加密產品概念。

文檔透明加密 和 磁盤加密:

這兩者概念很容易混淆,下面會做一個詳細的講解。

文檔透明加密作用對象是一個文件,而不是整個文件系統或者磁盤。即,同一個磁盤上,可能有的文件是加密的,有的文件是未加密的,整個磁盤的文件系統沒有被加密,意味著無須經過解密處理,就可以查看這個文件系統。比如列出某個目錄有哪些文件,查看一個文件的屬性。但是可能無法打開加密的文件,查看具體內容。

磁盤加密是指將整個磁盤文件系統進行加密,如果不解密,那么這個文件系統就無法被掛載,以供操作系統使用。典型產品是Windows的Bitlocker以及TrueCrypt。這類產品的一個特點就是,磁盤被加密后,每次開機如果想使用這個文件系統,必須輸入密碼解密。

兩者的共同點是,都是透明的。即,整個過程基本上不需要用戶干預。差異在于,一個是針對文件(文件被加密,無法打開),一個是針對文件系統(磁盤被加密,無法被Windows使別、掛載、使用)。

Ping32文檔加密是基于文檔透明加密技術實現的,而非磁盤加密。

靜態加密:嚴格來講,靜態加密不是一種產品名稱,也不是一個通用名稱。此處只是用來和上述兩種加密概念做區分。靜態加密是指,用戶手動對一個文件進行加密解密,比如右鍵菜單,或者拖動到一個界面上。技術含量較低,也沒有實際商用場景。

 

授信軟件,授權軟件

授權軟件是指,這個軟件能否透明加解密一個文件的軟件。注意,Ping32文檔透明加密軟件里,授權軟件的最小單位粒度是進程。比如針對Microsoft office word這個軟件,那么就是winword.exe這個進程。這個是word的主要進程,我們可以將這個進程的規則制定為,創建docx文件時透明加密,打開一個加密的docx文件時透明解密。再次強調,透明解密發生時,只是將讀取到的加密數據進行透明解密,并非先將這個文件解密,然后再讀取數據(因為這樣仍然會發生數據泄漏)。

 

如何制定授信軟件規則

之前提到,授權軟件的最小粒度單位是進程。制定一個授信軟件規則,前提就是要找到這個軟件的相關可執行文件。對于小型軟件,這個可執行文件可能只有一個,比如notepad++這個軟件,他的核心可執行文件就是notepad++.exe。但是對于某些大型軟件,比如solidworks,visual studio,那么可能需要幾個,甚至十多個不同的可執行文件互相協調配合完成某個工作。那么這時候,就需要把這些相關的可執行文件都找到,而且也要理解這些可執行文件都是干什么用的。

找到相關的可執行文件后,那么還要知道要透明加解密的文件格式。比如針對word,那么我們可以知道,要處理docx,doc這種常見的格式,但是有一些不常見的格式,根據實際情況,也是需要處理的。這里建議通過觀察這個軟件另存為對話框,看看這個軟件支持哪些格式。