Ви не можете змонтувати розділ HFS +, зашифрований в OS X, використовуючи mount
параметр ' encryption=aes
. Причина полягає в тому, що зашифровані розділи та томи HFS + використовують фірмовий формат.
Ні Cryptoloop, ні Loop-AES , які є основними методами дешифрування, використовувані mount
та не encryption
розуміють цей формат.
Це я дізнався:
Cryptoloop може монтувати розділи або дискові зображення, зашифровані як єдиний блок AES (це називається одноклавішним режимом, див. Http://www.tldp.org/HOWTO/html_single/Cryptoloop-HOWTO/#cryptoloop-introduction ):
/dev/sdXX
disk image /dev/loopX
+-----------+ +-------------+
| | | |
| | | |
| | | unencrypted |
| AES block | -AES passwd->AES key->decrypt I/O to loop device-> | partition |
| | | |
| | | |
| | | |
+-----------+ +-------------+
AES-Loop може монтувати одноклавішні (як вище) та багатоклавішні зашифровані розділи чи зображення на диску:
/dev/sdXX
disk image /dev/loopX
+------------+ +-------------+
|AES block #1| | |
+------------+ | |
|AES block #2| | unencrypted |
+------------+ -AES passwd->AES key(s)->decrypt I/O to loop dev-> | partition |
|AES block #3| | |
+------------+ | |
| ... | | |
+------------+ +-------------+
З іншого боку, зашифрований розділ HFS +:
Наступник Cryptoloop також dm-crypt
не може читати зашифровані HFS +.
Але перш ніж уся надія:
Щодо повідомлень про помилки, з якими ви стикалися:
Перша помилка:
Error: Password must be at least 20 characters.
Дивно, але mount
застосовуються довгі паролі не тільки для шифрування, але і для розшифровки , хоча ви, можливо, не маєте контролю над розділом для розшифровки. Ви можете подолати цю неприємність лише завантаживши та відредагувавши джерело та перекомпілювавшись. (Інші дистрибутиви, такі як SuSE Linux Enterprise Server (SLES), не мають цього обмеження.)
Друга помилка:
ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel
Вам потрібно завантажити модуль ядра Cryptoloop:
$ sudo modprobe cryptoloop
тому що хоча ви встановили пакет, loop-aes-utils
ви не використовуєте Loop-AES.
Петля-AES використовує кілька змінених користувачем космічних засобів ( mount
, umount
, losetup
, swapon
і swapoff
, надаються loop-aes-utils
) і модифікований loop.ko
модуль ядра. Останні версії Ubuntu складають немодифікований loop
модуль у ядро:
$ cd /usr/src/linux-source-3.2.0/linux-source-3.2.0/drivers/block/
$ diff -q /tmp/loop.c-3.x.patched loop.c
Files /tmp/loop.c-3.x.patched and loop.c differ
тому Loop-AES не можна використовувати на Ubuntu поза коробкою. Вам потрібно виправити і перекомпілювати ядро, як пояснено тут: http://loop-aes.sourceforge.net/loop-AES.README . Ось чому mount
все ще потрібен Cryptoloop.
Якщо ви все одно отримаєте подібне повідомлення про помилку після завантаження, cryptoloop.ko
тип шифрування може бути не розпізнаний. Наприклад, мій Ubuntu 12.04 не розпізнав aes-128
, але aes
. SLES лише розпізнає aes-128
.
aes256
замість цьогоaes-256
?