加密檔案系統eCryptfs安裝與使用

URNOTJANET發表於2017-12-22

實驗目的

掌握eCryptfs的執行過程和設計原理

實驗環境

VMware Workstation Pro
Ubuntu 16.04

簡介

參考連結

eCryptfs 是在 Linux 核心 2.6.19 版本中引入的一個功能強大的企業級加密檔案系統,堆疊在其它檔案系統之上(如 Ext2, Ext3, ReiserFS, JFS 等),為應用程式提供透明、動態、高效和安全的加密功能。

eCryptfs使用了兩種方法來加密單個檔案:
1.eCryptfs 先使用一種對稱金鑰加密演算法來加密檔案的內容,金鑰FEK(File Encryption Key)隨機產生。

2.FEK 不能以明文的形式存放(否則就沒有存在的意義了),因此 eCryptfs 使用使用者提供的口令(Passphrase)、公開金鑰演算法(如 RSA 演算法)或 TPM(Trusted Platform Module)的公鑰來加密保護剛才提及的 FEK。

如果使用使用者口令,則口令先被Hash函式處理,然後再使用一種對稱金鑰演算法加密 FEK。口令/公鑰稱為 FEFEK(File Encryption Key Encryption Key),加密後的 FEK 則稱為 EFEK(Encrypted File Encryption Key)。
由於允許多個授權使用者訪問同一個加密檔案,因此 EFEK 可能有多份
這種綜合的方式既保證了加密解密檔案資料的速度,又極大地提高了安全性。雖然檔名沒有資料那麼重要,但是入侵者可以通過檔名獲得有用的資訊或者確定攻擊目標,因此,最新版的 eCryptfs 支援檔名的加密。

實驗要求

1)簡要說明eCryptfs進行讀/寫操作時的工作流程

讀操作:ext3從硬碟中讀取ext3格式的檔案內容,eCryptfs從檔案內容中分離頭部資訊及加密資料塊。分析頭部資訊,獲取加密後的FEK,再根據使用者輸入的口令驗證解密FEK,以FEK為金鑰解密資料塊,按原序組合在一起,形成eCryptfs格式的檔案內容,將明文放入記憶體中以供讀取。

寫操作:eCryptfs把應用程式提供的,需要加密的檔案內容劃分為一頁頁資料塊,呼叫系統函式隨機生成FEK,(形成eCryptfs格式的檔案內容)。再根據使用者定義的口令生成EFEK加密FEK,組織成頭部資訊與以FEK為金鑰加密後的資料塊,以ext3格式一併存放至磁碟

2) eCryptfs 屬於本地堆疊式加密檔案系統的範疇

實驗過程中,eCryptfs支援的加密方式,每種加密方式的加密塊大小及使用金鑰長度是多少顯示如下圖

加密檔案系統eCryptfs安裝與使用

3)掛載的概念

基於Unix的目錄樹結構,即由目錄和檔案構成的倒立的樹形層次結構。

一個示例
Unix類作業系統中,一個檔案系統A可以掛載到另一個檔案系統B中的一個目錄上(該目錄就稱為掛載點)

4)實驗內容

a. eCryptfs安裝

#sudo apt-get install ecryptfs-utils

安裝完成後,檢視如何使用ecryptfs 的命令:

#man ecryptfs

b. 使用eCryptfs掛載檔案目錄

$sudo mount -t ecryptfs real_path ecryptfs_mounted_path

-t:指定檔案系統型別,這裡我們使用ecryptfs檔案系統
real_path:真實存放資料的地方
ecryptfs_mounted_path:指掛載位置(具體位置任意)
c. eCryptfs取消掛載:

$sudo umount -t ecryptfs ecryptfs_mounted_path

d.建立目錄

#mkdir realdir
#mkdir mountdir

我們在主資料夾下新建兩個資料夾 realdir,mountdir,使用 realdir作為檔案真實目錄,用 mountdir作為掛載目錄

已掛載
e. 測試1
在mountdir目錄中,建立檔案file1,隨意輸入內容。
使用如下命令進行檢視,比較不同

#cat realdir/file1

加密檔案系統eCryptfs安裝與使用
可以看到輸出都是加了密的密文
#cat mountdir/file1

結果如圖

加密檔案系統eCryptfs安裝與使用
f. 測試2
在realdir目錄中,建立檔案file2,隨意輸入內容。
使用如下命令進行檢視,比較不同。

#cat realdir/file2
#cat mountdir/file2

(如下圖所示)

加密檔案系統eCryptfs安裝與使用

umount之前情況如圖

加密檔案系統eCryptfs安裝與使用

umount之後該掛載點如下

加密檔案系統eCryptfs安裝與使用
對比初始時的顯示發現,已經將掛載點刪除。

相關文章