Posso descriptografar arquivos EncFS sem o arquivo .encfs6.xml?

2

Isso realmente aconteceu no Mac OS X, mas acredito que posso obter a resposta aqui, e não no link

Eu tenho um diretório criptografado com o encfs. Eu acidentalmente apaguei .encfs6.xml de lá.

Agora, quando quero montar esse diretório como encfs one, o encfs deseja criar um novo volume criptografado lá. Posso de alguma forma forçar a abertura de um existente em vez de criar um novo?

Claro que me lembro da senha.

    
por amorfis 11.02.2015 / 11:34

2 respostas

4

.encfs6.xml contém a chave. Se você perdeu esse arquivo, não poderá descriptografar seus arquivos.

A chave de criptografia não é derivada da senha. O que é derivado da senha é a chave usada para criptografar a chave de criptografia de arquivo que é armazenada em encfs6.xml . Este é um método padrão. Isso é feito dessa maneira por dois motivos:

  • Por segurança: as senhas geralmente têm baixa entropia - normalmente é possível encontrá-las enumerando todas as possibilidades possíveis ( 12345678 , password , iloveyou , Passw0rd ,…). Por outro lado, as chaves são geradas aleatoriamente; ter uma possibilidade não negligenciável de adivinhar que a chave certa levaria mais tempo do que a idade do universo. Portanto, um invasor que adivinhar sua senha também deve se apossar do arquivo de chave .encfs6.xml . (Isso não é muito vantajoso quando o arquivo-chave não é armazenado junto com os dados criptografados).
  • Para usabilidade: dessa forma, se você alterar sua senha, o software só precisará atualizar .encfs6.xml , não será necessário criptografar novamente todos os arquivos.

Restaure .encfs6.xml do seu backup.

Se você não tiver um backup, poderá recuperá-lo usando ferramentas forenses que pesquisam arquivos excluídos. Obviamente, isso não é garantido que funcione, e nem necessariamente fácil, mesmo que funcione.

    
por 11.02.2015 / 23:42
1

Eu tive a idéia de adivinhar todos os salt e o número de iterações, mas usando sua frase-senha conhecida original, para recuperar / reconstruir o arquivo .encfs6.xml , mas sem perder <encodedKeyData> ... Eu tentei um teste usando a opção de som útil --anykey , deve:

--anykey
Turn off key validation checking. This allows EncFS to be used with secondary passwords. This could be used to store a separate set of files in an encrypted filesystem. EncFS ignores files which do not decode properly, so files created with separate passwords will only be visible when the filesystem is mounted with their associated password.

.encfs6.xml contém informações como esta:

<encodedKeySize>44</encodedKeySize>
<encodedKeyData>
t+mDmS6qiUwJcUY2rX2oj6jMlfQ3QIiGPG2BRZspTUZiUOcKBxIq70uVILk=
</encodedKeyData>
<saltLen>20</saltLen>
<saltData>
9pmECBnKHDXpW+3E+Z7WO9xWwls=
</saltData>
<kdfIterations>147015</kdfIterations>
<desiredKDFDuration>500</desiredKDFDuration>

Eu pensei que seria possível usar --anykey mesmo se ele não correspondesse ao codificadoKeyData (alterando-o para dados diferentes), mas ainda assim lesse os arquivos originais usando a senha original. Como em, você lembra / adivinha todos os outros dados, exceto o codificadoKeyData. Então criei uma nova pasta EncFS & teste arquivos e tentei editar o arquivo .encfs6.xml , alterando ou excluindo a entrada <encodedKeyData>...</encodedKeyData> .

Não funcionou , com os dados errados que seriam montados silenciosamente, mas nenhum arquivo foi descriptografado. A exclusão da entrada falhou com este erro:

terminate called after throwing an instance of 'boost::archive::iterators::dataflow_exception'
what(): attempt to decode a value not in base64 char set
Aborted

O único uso para --anykey parece "esconder" alguns arquivos usando uma senha diferente, eu estou supondo que usando a criptografia de nome de arquivo, mas ainda precisa do original codificadoKeyData.

E, a alteração do <saltData> por um caractere permite que encfs --anykey seja bem-sucedido com qualquer passphrase, mas mesmo usando a senha original, os arquivos NO serão descriptografados e nenhum erro será fornecido.

Então, você 100% NEED o arquivo .encfs6.xml , é como um arquivo-chave com uma chave criptografada (semelhante a um cabeçalho LUKS, eu acho).

    
por 12.02.2015 / 00:32