當Ubuntu Linux使用加密文件系統後,數據的安全能得到很好的保護。在這種情況下,即使把我們的機器送給黑客,只要他們沒有密鑰,黑客看到的數據只會是一堆亂碼,毫無利用價值可言。
本文將詳細介紹利用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模塊,命令如下所示:
$ sudo modprobe aes
接下來安裝dmsetup軟件包,該軟件包含有配置device-mapper所需的工具:
$ sudo apt-get install dmsetup cryptsetup
為檢查dmsetup軟件包是否已經建立了設備映象程序,鍵入下列命令: $ ls -l /dev/mapper/control
接下來加載dm-crypt內核模塊: $ sudo modprobe dm-crypt
dm-crypt加載後,它會用device-mapper自動注冊。如果再次檢驗的話,device-mapper已能識別dm-crypt,並且把crypt 添加為可用的對象: $ sudo dmsetup targets
如果一切順利,現在你應該看到crypt的下列輸出:
crypt v1.1.0
striped v1.0.2
linear v1.0.1
error v1.0.1
這說明我們的系統已經為裝載加密設備做好了准備。下面,我們先來建立一個加密設備。