eCryptfs - Não é possível descriptografar nomes de arquivos

1

Eu tenho dados criptografados em um HD externo montado em /home/username/.Data. Estou tentando decodificá-lo para / home / username / Data.

Embora eu possa ler com sucesso o conteúdo dos arquivos, não consigo descriptografar os nomes dos arquivos.

Aqui está o que estou tentando:

$ sudo ecryptfs-add-passphrase --fnek
Passphrase: 
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring

$ sudo mount -t ecryptfs /home/username/.Data /home/username/Data        
Passphrase: 
Select cipher: 
 1) aes: blocksize = 16; min keysize = 16; max keysize = 32
 2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
 4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
 5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
 6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]: 
Select key bytes: 
 1) 16
 2) 32
 3) 24
Selection [16]: 2
Enable plaintext passthrough (y/n) [n]: 
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb
  ecryptfs_key_bytes=32
  ecryptfs_cipher=aes
  ecryptfs_sig=aaaaaaaaaaaaaaaa
  Mounted eCryptfs

Agora estou usando o Ubuntu 14.04.1 LTS e o ecryptfs-utils 104-0ubuntu1 . O HD externo foi criptografado há alguns meses, com uma versão mais antiga do Ubuntu.

Alguma idéia de como resolvê-lo?

EDITAR:

Alguns dias depois, tentei algo diferente. Eu executei ecryptfs-setup-private , o que cria os diretórios ~ / .Private e ~ / Private.

Então eu fiz logout, logado, umount ~ / .Private usando ecryptfs-umount-private , copiei um diretório do HD externo para ~ / .Private e montei novamente usando ecryptfs-mount-private .

Dessa forma, o nome do diretório foi descriptografado corretamente. No entanto, não consigo lê-lo nem altero o diretório atual para ele.

$ cd decrypted_dir_name
bash: cd: decrypted_dir_name: No such file or directory
$ ls -l
d????????? ? ?      ?         ?            ? decrypted_dir_name
    
por toliveira 28.12.2014 / 15:44

2 respostas

0

INFORMAÇÕES ATUALIZADAS:

Apenas notei o provável problema enterrado lá: Você disse "O HD externo foi criptografado há alguns meses, com uma versão mais antiga do Ubuntu."

As versões mais recentes do eCryptfs nem sempre funcionam com dados criptografados com versões mais antigas. Não é totalmente compatível com versões anteriores. Você deve descriptografar os dados usando a versão original que os criptografou.

Ou, é possível que você não esteja usando a chave certa para a criptografia de nome de arquivo (fnek), verifique novamente a chave e examine as opções de montagem ecryptfs_fnek_sig=(fnek_sig) e até ecryptfs_sig=(fekek_sig) .

Aqui estão algumas opções de mount -t ecryptfs que parecem úteis (de man ecryptfs ):

ecryptfs_sig=(fekek_sig)
      Specify  the  signature  of the mount wide authentication token.
      The authentication token must be in the  kernel  keyring  before
      the  mount  is performed. ecryptfs-manager or the eCryptfs mount
      helper can be used to construct the authentication token and add
      it to the keyring prior to mounting.

ecryptfs_fnek_sig=(fnek_sig)
      Specify  the  signature  of  the mount wide authentication token
      used for filename crypto. The authentication must be in the ker‐
      nel keyring before mounting.

 ecryptfs_enable_filename_crypto=(y/n)
      Specify whether filename encryption should be enabled.  If  not,
      the  mount  helper  will  not  prompt  the user for the filename
      encryption key signature (default).

  verbosity=0/1
      If verbosity=1, the mount helper will ask you for missing values
      (default).  Otherwise, if verbosity=0, it will not ask for miss‐
      ing values and will fail if required values are omitted.

Acho que você provavelmente achará a ferramenta ecryptfs-recover-private muito mais fácil do que especificar manualmente a criptografia & amp; chaves de nome de arquivo ... se você tiver uma pasta criptografada "regular", ela deve funcionar muito bem, apontando para a pasta ".Private" da unidade criptografada, talvez /home/username/.Data , se é isso.

Aqui está uma pasta da página do manual:

NAME
       ecryptfs-recover-private  - find and mount any encrypted private direc‐
       tories

SYNOPSIS
       ecryptfs-recover-private [--rw] [encrypted private dir]

DESCRIPTION
       This utility is intended to  help  eCryptfs  recover  data  from  their
       encrypted  home  or  encrypted private partitions.  It is useful to run
       this from a LiveISO or a recovery image.  It must run under sudo(8)  or
       with root permission, in order to search the filesystem and perform the
       mounts.

       The program can take a target encrypted directory on the command  line.
       If  unspecified,  the utility will search the entire system looking for
       encrypted private directories,  as  configured  by  ecryptfs-setup-pri‐
       vate(1).

       If  an encrypted directory and a wrapped-passphrase file are found, the
       user is prompted for the login  (wrapping)  passphrase,  the  keys  are
       inserted into the keyring, and the data is decrypted and mounted.

       If  no  wrapped-passphrase file is found, the user will be prompted for
       their mount passphrase.  This passphrase is typically 32 characters  of
       [0-9a-f].  All users are prompted to urgently record this randomly gen‐
       erated passphrase when they first setup their encrypted private  direc‐
       tory.

       The  destination  mount of the decrypted data is a temporary directory,
       in the form of /tmp/ecryptfs.XXXXXXXX.

       By default, the mount will be read-only.  To mount with read and  write
       permission, add the --rw parameter.
    
por Xen2050 05.01.2015 / 23:38
0

Eu tive exatamente o mesmo comportamento e o problema é que eu não selecionei o diretório source correto.

Aqui está a configuração do meu disco:

/mnt/usbdisk/Private/
          |-- Dir1
             |-- ECRYPTFS_FNEK_ENCRYPTED.FWa.AAAAAAAAAAAAAAAAA---
             |-- ECRYPTFS_FNEK_ENCRYPTED.FWa.BBBBBBBBBBBBBBBBB---
             |-- ECRYPTFS_FNEK_ENCRYPTED.FWa.CCCCCCCCCCCCCCCCC---
             ...
          |---Dir2
             |-- ECRYPTFS_FNEK_ENCRYPTED.FWa.DDDDDDDDDDDDDDDDD---
             ...

Eu criei dois diretórios simples sem criptografia de nomes ( Dir1 e Dir2 ) no diretório Private desmontado para melhor organizar meus arquivos. Eles também deveriam aparecer em clear sempre que Private fosse montado.

No entanto, tentar montar diretamente /mnt/usbdisk/Private me deu o mesmo resultado que você (muitos ??????? ). Recuperei meus arquivos montando /mnt/usbdisk/Private/Dir1 e /mnt/usbdisk/Private/Dir2 como fontes.

Eu ainda não tenho a resposta e espero que você tenha uma solução, já que é um post muito antigo ;-) Eu fiz uma mudança que não me lembro? Talvez algo a ver com ecryptfs_passthrough opção (embora eu tenha jogado com ele e não tenho diferença)? Talvez porque já se passaram meses desde a última vez que liguei o disco?

    
por nicobo 31.05.2018 / 00:08