本文將詳細介紹利用dm-crypt來創建加密文件系統的方法。與其它創建加密文件系統的方法相比,dm-crypt系統有著無可比擬的優越性:它的速度更快,易用性更強。除此之外,它的適用面也很廣,能夠運行在各種塊設備上,即使這些設備使用了RAID和 LVM也毫無障礙。dm-crypt系統之所以具有這些優點,主要得益於該技術是建立在2.6版本內核的device-mapper特性之上的。device-mapper是設計用來為在實際的塊設備之上添加虛擬層提供一種通用靈活的方法,以方便開發人員實現鏡像、快照、級聯和加密等處理。此外,dm-crypt使用了內核密碼應用編程介面實現了透明的加密,並且兼容cryptloop系統。
一、配置內核 dm-crypt利用內核的密碼應用編程介面來完成密碼操作。一般說來,內核通常將各種加密程序以模塊的形式載入。對於256-bit AES來說,其安全強度已經非常之高,即便用來保護絕密級的數據也足夠了。因此本文中我們使用256-bit AES密碼,為了保證您的內核已經載入AES密碼模塊,請利用下列命令進行檢查:$ cat /proc/crypto如果看到類似下面的輸出的話,說明AES模塊已經載入:
name : aes module : aes type : cipher blocksize : 16 min keysize : 16 max keysize : 32 |
否則,我們可以利用modprobe來手工載入AES模塊,命令如下所示:
接下來安裝dmsetup軟體包,該軟體包含有配置device-mapper所需的工具:
$ sudo apt-get install dmsetup cryptsetup |
為檢查dmsetup軟體包是否已經建立了設備映象程序,鍵入下列命令:
$ ls -l /dev/mapper/control |
接下來載入dm-crypt內核模塊:
dm-crypt載入后,它會用evice-mapper自動註冊。如果再次檢驗的話,device-mapper已能識別dm-crypt,並且把crypt 添加為可用的對象:
如果一切順利,現在你應該看到crypt的下列輸出:
crypt v1.1.0 striped v1.0.2 linear v1.0.1 error v1.0.1 |
這說明我們的系統已經為裝載加密設備做好了準備。下面,我們先來建立一個加密設備。