No puede montar una partición HFS + encriptada en OS X usando mount
la opción ' encryption=aes
. La razón es que las particiones y volúmenes HFS + encriptados usan un formato propietario .
Ni Cryptoloop ni Loop-AES , que son los métodos de descifrado subyacentes utilizados por mount
y encryption
, entienden ese formato.
Esto es lo que descubrí:
Cryptoloop puede montar particiones o imágenes de disco encriptadas como un solo bloque AES (esto se llama modo de clave única, consulte 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 puede montar particiones o imágenes de disco encriptadas con una sola clave (como arriba) y con varias claves:
/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| | |
+------------+ | |
| ... | | |
+------------+ +-------------+
Por otro lado, una partición cifrada HFS +:
El sucesor de Cryptoloop dm-crypt
, tampoco puede leer HFS + cifrado.
Pero antes de que toda la esperanza se haya ido:
En cuanto a los mensajes de error que encontró:
Primer error:
Error: Password must be at least 20 characters.
Sorprendentemente, mount
impone contraseñas largas no solo para el cifrado sino también para el descifrado , aunque es posible que no tenga control sobre la partición para descifrar. Solo puede evitar esta molestia descargando y editando la fuente y volviendo a compilar. (Otras distribuciones, como SuSE Linux Enterprise Server (SLES), no tienen esta restricción).
Segundo error
ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel
Necesita cargar el módulo del núcleo Cryptoloop:
$ sudo modprobe cryptoloop
porque aunque instaló el paquete, loop-aes-utils
no está utilizando Loop-AES.
Loop-AES utiliza varias herramientas de espacio de usuario modificados ( mount
, umount
, losetup
, swapon
y swapoff
, proporcionado por loop-aes-utils
) y una modificada loop.ko
módulo del núcleo. Las versiones recientes de Ubuntu compilan un loop
módulo no modificado en el núcleo:
$ 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
por lo que Loop-AES no se puede usar en Ubuntu fuera de la caja. Debe parchear y volver a compilar el núcleo como se explica aquí: http://loop-aes.sourceforge.net/loop-AES.README . Es por eso que mount
todavía necesita Cryptoloop.
Si aún recibe un mensaje de error similar después de cargar cryptoloop.ko
el tipo de cifrado, es posible que no se reconozca. Por ejemplo, mi Ubuntu 12.04 no reconoció aes-128
, pero aes
. SLES solo reconoce aes-128
.
aes256
lugar de hacerloaes-256
?