Non è possibile montare una partizione HFS + crittografata in OS X usando mount
l'opzione di encryption=aes
. Il motivo è che le partizioni e i volumi crittografati HFS + utilizzano un formato proprietario .
Né Cryptoloop né Loop-AES , che sono i metodi di decrittazione sottostanti utilizzati da mount
e encryption
, comprendono quel formato.
Questo è quello che ho scoperto:
Cryptoloop può montare partizioni o immagini del disco crittografate come un singolo blocco AES (questo si chiama modalità a chiave singola, vedi 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 può montare partizioni o immagini disco crittografate a chiave singola (come sopra) e multi-chiave:
/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| | |
+------------+ | |
| ... | | |
+------------+ +-------------+
D'altra parte, una partizione HFS + crittografata:
Il successore di Cryptoloop dm-crypt
, non può leggere neanche HFS + crittografato.
Ma prima che sparisca ogni speranza:
Per quanto riguarda i messaggi di errore che hai riscontrato:
Primo errore:
Error: Password must be at least 20 characters.
Sorprendentemente, mount
impone password lunghe non solo per la crittografia ma anche per la decrittografia , anche se potresti non avere il controllo sulla partizione per decrittografare. Puoi aggirare questo fastidio scaricando e modificando la sorgente e ricompilando. (Altre distribuzioni, come SuSE Linux Enterprise Server (SLES), non hanno questa limitazione.)
Secondo errore:
ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel
Devi caricare il modulo del kernel Cryptoloop:
$ sudo modprobe cryptoloop
perché anche se installato il pacchetto loop-aes-utils
voi non state utilizzando loop-AES.
Loop-AES utilizza diversi strumenti spaziali utente modificati ( mount
, umount
, losetup
, swapon
e swapoff
, fornito da loop-aes-utils
) e una versione modificata loop.ko
modulo del kernel. Le versioni recenti di Ubuntu compilano un loop
modulo non modificato nel kernel:
$ 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
quindi Loop-AES non può essere utilizzato su Ubuntu immediatamente. Devi patchare e ricompilare il kernel come spiegato qui: http://loop-aes.sourceforge.net/loop-AES.README . Ecco perché ha mount
ancora bisogno di Cryptoloop.
Se viene ancora visualizzato un messaggio di errore simile dopo aver caricato cryptoloop.ko
il tipo di crittografia, potrebbe non essere riconosciuto. Ad esempio, il mio Ubuntu 12.04 non ha riconosciuto aes-128
, ma aes
. SLES riconosce solo aes-128
.
aes256
inveceaes-256
?