Monte HFS criptografado no Ubuntu

Monte HFS criptografado no Ubuntu

Tento montar uma partição HFS+ criptografada no Ubuntu.

Umpostagem mais antigadescreveu muito bem como fazê-lo, mas não possui informações sobre como usar partições criptografadas.

O que descobri até agora é:

  # install required packages
  sudo apt-get install hfsprogs hfsutils hfsplus loop-aes-utils
  # try to mount it
  mount -t hfsplus -o encryption=aes-256 /dev/xyz /mount/xyz

Mas depois de executar isso, recebo o seguinte erro:

  Error: Password must be at least 20 characters.

Então tentei digitá-lo duas vezes, mas o resultado foi o seguinte:

  ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel

Alguma sugestão?

Responder1

Vocênão consigo montaruma partição HFS+ criptografada no OS X usando mounta opção encryption=aes. A razão é que partições e volumes criptografados HFS+ usam umproprietárioformatar.

NenhumCriptoloopnemLoop-AES, que são os métodos de descriptografia subjacentes usados ​​por mounte encryption, entendem esse formato.

Isto é o que descobri:

O Cryptoloop pode montar partições ou imagens de disco criptografadas como um único bloco AES (isso é chamado de modo de chave única, consultehttp://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 pode montar partições criptografadas de chave única (como acima) e de múltiplas chaves ou imagens de disco:

  /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-crypttambém não consegue ler HFS+ criptografado.

Mas antes que toda a esperança acabe:

Quanto às mensagens de erro que você encontrou:

Primeiro erro:

Error: Password must be at least 20 characters.

Surpreendentemente, mountimpõe senhas longas não apenas para criptografia, mas também paradescriptografia, embora você possa não ter controle sobre a partição a ser descriptografada. Você só pode contornar esse incômodo baixando e editando o código-fonte e recompilando. (Outras distribuições, como SuSE Linux Enterprise Server (SLES), não têm 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-utilsvocênão sãousando Loop-AES.

Loop-AES usa várias ferramentas de espaço de usuário modificadas ( ,,, e mount, fornecidas por ) e um módulo de kernel modificado. Versões recentes do Ubuntu compilam um módulo não modificado no kernel:umountlosetupswaponswapoffloop-aes-utilsloop.koloop

    $ 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 conforme explicado aqui:http://loop-aes.sourceforge.net/loop-AES.README. É por isso que mountainda precisa do Cryptoloop.

Se você ainda receber uma mensagem de erro semelhante após carregar, cryptoloop.koo tipo de criptografia pode não ser reconhecido. Por exemplo, meu Ubuntu 12.04 não reconheceu o aes-128, mas o aes. O SLES reconhece apenas arquivos aes-128.

Responder2

Na verdade, existe um aplicativo Javahfsexexplorerque é capaz de abrir .dmgarquivos criptografados e criar .dmgimagens descriptografadas que podem ser montadas no Linux.

Consegui criar .dmgarquivos criptografados no OS X 10.9.5 e depois explorar a imagem de uma máquina virtual rodando Ubuntu 14.04.2 LTS. A criptografia AES-128 e AES-256 funcionaram em meus casos de teste.

Foi assim que criei a .dmgimagem:

$ hdiutil create -size 10m -layout NONE -fs HFS+ -encryption AES-256 -volname "Vault" vault.dmg

Na máquina virtual rodando Ubuntu consegui abrir a imagem:

$ ./hfsexplorer-0/bin/hfsexplorer.sh /tmp/vault.dmg

Ele solicita uma senha e depois mostra o conteúdo da imagem. Existe uma opção (Ferramentas -> criar imagem de disco) que cria uma imagem de disco descriptografada que pode então ser montada com as ferramentas hfs do Linux.

$ mount vault_decrypted.dmg /mnt/hfs/

Até mesmo os sistemas de arquivos HFS+ Journaled funcionaram. A única limitação é que o suporte de gravação para sistemas de arquivos HFS+J está desabilitado por padrão no Linux.

Isso demonstra que a criptografia .dmgé compreendida hfsexplorere possivelmente pode ser implementada no mountcomando. Com a criação de um arquivo não criptografado .dmgé possível montar a imagem no Linux.

vfdecrypttambém não funcionou para mim.

informação relacionada