Criptografar e ofuscar nomes de arquivos

4

Estou procurando uma solução de backup e, ao tentar anonimizar e proteger meus dados, um dos problemas que encontrei é que os nomes de arquivos vazam muita informação.

Estou à procura de um software capaz de criptografar um diretório de arquivos que cria um arquivo criptografado por arquivo real para que cada um possa ser baixado individualmente sem perder a largura de banda, além de hashingar o nome do arquivo. maneira que cada arquivo possa ser facilmente identificado e convertido em sua forma original, dada a chave de criptografia e o dicionário de hash

    
por fscr 14.05.2017 / 15:36

1 resposta

5

Você pode usar o sistema de arquivos de fusíveis encfs para fazer isso simplesmente. Instale rpm fuse-encfs ou apt package encfs e use encfs --reverse para montar uma versão criptografada de qualquer diretório, por exemplo, /tmp/mycleardata , em um novo ponto, por exemplo, /tmp/crypt-view . Faça backup desse diretório da maneira usual e desmonte o sistema de arquivos do fusível. Você também precisa fazer o backup do .encfs6.xml que foi adicionado ao seu diretório original e lembrar-se da senha usada quando encfs pediu uma. Quando você quiser atualizar o backup, faça os mesmos comandos. Isso irá reutilizar o arquivo .encfs6.xml e precisará da mesma senha.

Aqui está um script de exemplo para brincar. Obviamente, normalmente você não fornece a senha in-line e normalmente não destrói o arquivo .encfs6.xml .

# create some test data directory
mkdir -p /tmp/mycleardata/dira
date > /tmp/mycleardata/dira/filea
date > /tmp/mycleardata/fileb
# mount an encrypted view. encfs asks for a config (blank line) and pw
mkdir -p /tmp/crypt-view
if [ -f /tmp/mycleardata/.encfs6.xml ]
then encfs --stdinpass --reverse /tmp/mycleardata /tmp/crypt-view <<\!
mypassword
!
else encfs --stdinpass --reverse /tmp/mycleardata /tmp/crypt-view <<\!

mypassword
mypassword
!
fi

# show files, do a backup
ls -ltRA /tmp/mycleardata/
ls -ltR /tmp/crypt-view
rsync -a /tmp/crypt-view/ /tmp/mybackup
# remove the crypted view
fusermount -u /tmp/crypt-view
ls -ltR /tmp/mybackup

# restore from backup. use encfs to mount backup and show clear view
mkdir -p /tmp/newclear
ENCFS6_CONFIG=/tmp/mycleardata/.encfs6.xml encfs --stdinpass /tmp/mybackup /tmp/newclear <<\!
mypassword
!
ls -ltR /tmp/newclear # should be same as original dir
fusermount -u /tmp/newclear # remove clear view

Veja um exemplo dos nomes de arquivos resultantes:

/tmp/mybackup:
-rw-r--r-- 1 meuh     30 May 14 17:40 42eg5KinDst09lDzN4YNRAIG
-rw-r--r-- 1 meuh   1264 May 14 17:32 bj5Su3csNAALZEAJEB,CazsC
drwxr-xr-x 2 meuh     60 May 14 17:18 sJzZa,U7Oeyfq2j8tfeLqkm,
/tmp/mybackup/sJzZa,U7Oeyfq2j8tfeLqkm,:
-rw-r--r-- 1 meuh     30 May 14 17:40 q-c1AOYzAcy06HJ8klCZewsD

Observe esta mensagem de segurança na instalação do pacote encfs:

According to a security audit by Taylor Hornby (Defuse Security), the current implementation of Encfs is vulnerable or potentially vulnerable to multiple types of attacks. For example, an attacker with read/write access to encrypted data might lower the decryption complexity for subsequently encrypted data without this being noticed by a legitimate user, or might use timing analysis to deduce information.

Until these issues are resolved, encfs should not be considered a safe
home for sensitive data in scenarios where such attacks are possible.

Você também pode procurar em ecryptfs , que pode opcionalmente criptografar nomes de arquivos, e duplicidade que criptografa o rsync.

    
por 14.05.2017 / 18:04