閱讀屋>計算機/網際網路/通訊> 電腦文件的加密技術

電腦文件的加密技術

電腦文件的加密技術

  加密技術是利用數學或物理手段,對電子資訊在傳輸過程中或儲存裝置內的資料進行保護,以防止洩漏的技術。在資訊保安技術中,加密技術佔有重要的地位,在保密通訊、資料安全、軟體加密等均使用了加密技術。常用的加密演算法有DES系列(包括DES和3DES),RC系列(常用的有RC4和RC6)和AES等對稱加密演算法(加密金鑰和解密金鑰相同或相似)以及RSA等非對稱加密演算法。除此此外,還有用於獲取資訊摘要的MD5等。這些常用的加密演算法,只要設定合適的密碼,在現有的計算機技術條件下,一般均可滿足安全性要求,但不同的加密演算法,需要的計算量有很大的不同。對於文件安全加密系統,加密演算法是整個系統的核心,其選擇的依據一般根據系統的安全性要求進行確定,在滿足安全性要求的前提下,儘可能選用速度快的加密演算法,在條件容許的情況下,可以採用硬體的方式對資料進行加密(如直接利用安全晶片提供的加密演算法進行加密等)。

  1. 文件安全中的加密技術

  雖然加密演算法是文件安全系統的.核心,但加密演算法以何種方式進行實現,是決定文件安全系統的關鍵。在文件安全系統中,常用的實現方式有靜態加密方式和動態加密方式,靜態加密是指在加密期間,待加密的資料處於未使用狀態(靜態),這些資料一旦加密,在使用前,需首先透過靜態解密得到明文,然後才能使用。目前市場上許多加密軟體產品就屬於這種加密方式。

  與靜態加密不同,動態加密(也稱實時加密,透明加密等,其英文名為encrypt on-the-fly),是指資料在使用過程中(動態)自動對資料進行加密或解密操作,無需使用者的干預,合法使用者在使用加密的檔案前,也不需要進行解密操作即可使用,表面看來,訪問加密的檔案和訪問未加密的檔案基本相同,對合法使用者來說,這些加密檔案是“透明的”,即好像沒有加密一樣,但對於沒有訪問許可權的使用者,即使透過其它非常規手段得到了這些檔案,由於檔案是加密的,因此也無法使用。由於動態加密技術不僅不改變使用者的使用習慣,而且無需使用者太多的干預操作即可實現文件的安全,因而近年來得到了廣泛的應用。

  由於動態加密要實時加密資料,必須動態跟蹤需要加密的資料流,而且其實現的層次一般位於系統核心中,因此,從實現的技術角度看,實現動態加密要比靜態加密難的多,需要解決的技術難點也遠遠超過靜態加密。

  2. 文件安全加密系統的實現層次

  在現代作業系統中,檔案的操作均透過檔案系統進行,雖然不同的作業系統支援的檔案系統不同,但對檔案的訪問方式基本相同,在Windows系統中,檔案系統是以裝置驅動程式形式存在的。Windows的裝置驅動程式採用分層方式,允許在應用程式和硬體之間存在多個驅動程式層次,其中過濾驅動程式是一種特殊型別的中間驅動程式,它們位於其它驅動程式的上層或下層,截獲傳送給低層驅動程式裝置物件的請求,在請求到達低層驅動程式之前,過濾驅動程式可以更改該請求,而低層驅動程式完全不知道在其上層驅動中發生的一切操作。圖1給出了Windows系統中的檔案操作流程,其中層次I和II屬於應用層;層次III和IV屬於作業系統核心層。從中可以看出,一個應用程式(I層)在發出檔案操作請求時,需要經過作業系統提供的API層(II層)、檔案過濾驅動程式層(III層)和檔案系統層(IV層)才能訪問檔案,由此可知,文件安全加密系統也只能在這四個層次上進行實現。

  檔案系統的這種組織結構決定了文件安全加密系統的實現方式,在資料從應用程式訪問檔案所經過的每個層次中,均可對訪問的資料實施加密/解密操作,由於層次I只能獲取應用程式自身讀寫的資料,其他應用程式的資料不經過該層,因此,在層次I中只能實現靜態加密,無法實現動態加密;即使是層次II,也並不是所有檔案資料均透過該層,但在該層可以攔截到各種檔案的開啟、關閉等操作。因此,在應用層實現的動態加解密產品無法真正做到“實時”加密/解密操作,一般只能透過其他變相的方式進行實現(一般均在層次II進行實現)。例如,在應用程式開啟檔案時,先直接解密整個檔案或解密整個檔案到其他路徑,然後讓應用程式直接(重定向)訪問這個完全解密的檔案,而在應用程式關閉這個檔案時,再將已解密的檔案進行加密。其實質是靜態加解密過程的自動化,並不屬於嚴格意義上的動態加密。

  只有在層次III和IV中才能攔截到各種檔案操作,因此,真正的動態加解密產品只能在核心層進行實現。

【電腦文件的加密技術】相關文章: