
一般來說,我可以透過以下方式建立加密的 ext4 映像:
fallocate -l 6553600 encrypt.img
losetup -f encrypt.img
dmsetup create encrypt_disk --table "0 12800 crypt aes 32BYTEKEY 0 /dev/loop0 0"
mkfs.ext4 /dev/mapper/encrypt_disk
然後我可以將 /dev/mapper/encrypt_disk 掛載到一個目錄,該磁碟中的所有檔案都會自動加密。我得到了一個 encrypt.img。下次可以透過 dmsetup 載入。
這是我的問題:我可以使用 openssl 工具而不是 dmsetup 來製作 encrypt.img 嗎?也許它會喜歡這樣:
fallocate -l 6553600 encrypt.img
losetup -f encrypt.img
mkfs.ext4 /dev/loop0
openssl aes ...
謝謝。
答案1
不,你不能這樣做:
因為你使用的文件系統是在內核中實現的,所以你需要一個也在內核中實現的底層加密塊設備實現,dmsetup ... crypt
.
openssl
是一個用戶空間實現,在核心之外進行加密,因此不能用於實現支援檔案系統的設備。
如果您使用的是用戶空間檔案系統,它不是ext4
,但可能是周圍的東西fuse
,那麼這個可以基於基於核心的區塊設備之外的其他東西,但這是一個完全不同的主題。