隨著智能手機的計算能力和存儲能力的提高,手機中將會存放越來越多的私有數據,這些數據的泄密可能造成嚴重后果。手機信息安全一直是我們的重點之一,對于一些重要的功能我們要求鑒權后才能使用,但這只能擋住初級的黑客,只能防君子不能防小人,所以我們希望把重要的數據進行加密后再保存。為此,今天花了一點時間去了解Linux 磁盤加密的方法。
方法一:
cryptoloop就是一種transfer的實現。至于使用哪種transfer及transfer的參數(如密碼),這可以通過LOOP_SET_STATUS64的ioctrl系統調用來完成(mount命令就是這樣實現的)。
下載并編譯util-linux
http://www.paranoiacs.org/~sluskyb/hacks/util-linux/losetup-combined.patch
http://ftp.cwi.nl/aeb/util-linux/util-linux-2.12.tar.gz
http://hydra.azilian.net/util-linux-2.12-kernel-2.6.patch
tar zxvf util-linux-2.12.tar.gz
cd util-linux-2.12
patch -p1 < ../losetup-combined.patch
patch -p1 < ../util-linux-2.12-kernel-2.6.patch
(如果有_syscall5之類編譯錯誤,將它換成新的調用方式syscall)
make;make install
編譯內核(已經支持cryptoloop則跳過此步)
make menuconfig
Device Drivers >Block Devices>Loopback device support
BLK_DEV_CRYPTOLOOP
加載模塊
modprobe cryptoloop
(以及加密模塊)
創建loop設備
dd if=/dev/zero of=~/cryptoloop.image bs=1M count=10
losetup -e aes-256 /dev/loop0 ~/cryptoloop.image
(提示輸入密碼)
創建文件系統并加載
mkfs.ext3 /dev/loop0
mkdir /mnt/crypto
mount -t ext3 ~/cryptoloop.image /mnt/crypto/ -oencryption=aes-256
(提示輸入密碼)
卸載
umount /mnt/crypto
losetup -d /dev/loop0
重新加載
losetup -e aes-256 /dev/loop0 ~/cryptoloop.image
mount -t ext3 ~/cryptoloop.image /mnt/crypto/ -oencryption=aes-256
cryptoloop的缺點是只能針對loop設備,而且對日志型文件系統無效。 共3頁: 1 [2] [3] 下一頁