
Обычно я могу создать зашифрованный образ 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 в следующий раз.
Вот мой вопрос: Могу ли я сделать encrypt.img, используя openssl tools вместо dmsetup? Может быть, это будет похоже на это:
fallocate -l 6553600 encrypt.img
losetup -f encrypt.img
mkfs.ext4 /dev/loop0
openssl aes ...
Спасибо.
решение1
Нет, так сделать нельзя:
поскольку используемая вами файловая система реализована в ядре, вам необходима реализация базового зашифрованного блочного устройства, которая также реализована в ядре, что и происходит в случае с dmsetup ... crypt
.
openssl
— это реализация пользовательского пространства, которая выполняет шифрование вне ядра, поэтому ее нельзя использовать для реализации устройств, поддерживающих файловую систему.
Если вместо этого вы использовали файловую систему пользовательского пространства, которая не является ext4
, но может быть чем-то около fuse
, то этамогбыть основано на чем-то ином, нежели блочное устройство на базе ядра, но это уже совсем другая тема.