Você não pode montar uma partição HFS + criptografada no OS X usando mount
a opção 's encryption=aes
. O motivo é que as partições e volumes HFS + criptografados usam um formato proprietário .
Nem o Cryptoloop nem o Loop-AES , que são os métodos subjacentes de descriptografia usados por mount
e encryption
, não entendem esse formato.
Isto é o que eu descobri:
O Cryptoloop pode montar partições ou imagens de disco criptografadas como um único bloco AES (isso é chamado de modo de chave ú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 |
| | | |
| | | |
| | | |
+-----------+ +-------------+
O AES-Loop pode montar partições ou imagens de disco criptografadas com chave única (como acima) e com várias chaves:
/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 outro lado, uma partição HFS + criptografada:
O sucessor do Cryptoloop dm-crypt
, também não pode ler o HFS + criptografado.
Mas antes que toda a esperança se vá:
Quanto às mensagens de erro que você encontrou:
Primeiro erro:
Error: Password must be at least 20 characters.
Surpreendentemente, mount
aplica senhas longas, não apenas para criptografia, mas também para descriptografia , embora você possa não ter controle sobre a partição para descriptografar. Você só pode contornar esse incômodo baixando e editando a fonte e recompilando. (Outras distribuições, como o SuSE Linux Enterprise Server (SLES), não possuem essa restrição.)
Segundo erro:
ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel
Você precisa carregar o módulo do kernel Cryptoloop:
$ sudo modprobe cryptoloop
porque, embora você tenha instalado o pacote, loop-aes-utils
não está usando o Loop-AES.
Loop-AES utiliza várias ferramentas espaço utilizador modificados ( mount
, umount
, losetup
, swapon
e swapoff
, fornecida por loop-aes-utils
) e uma versão modificada loop.ko
do módulo de kernel. Versões recentes do Ubuntu compilam um loop
módulo não modificado no 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
então o Loop-AES não pode ser usado no Ubuntu imediatamente. Você precisa corrigir e recompilar o kernel como explicado aqui: http://loop-aes.sourceforge.net/loop-AES.README . É por isso que mount
ainda precisa do Cryptoloop.
Se você ainda receber uma mensagem de erro semelhante após o carregamento, cryptoloop.ko
o tipo de criptografia pode não ser reconhecido. Por exemplo, meu Ubuntu 12.04 não reconheceu aes-128
, mas aes
. O SLES apenas reconhece aes-128
.
aes256
em vez deaes-256
?