Criptografia de arquivos usando ENCFS

Versão em vídeo desta seção pode estar disponível no canal do Guia Foca no YouTube: Criptografia com o EncFS.

O ENCFS é uma ferramenta userspace para criptografia no sistema de arquivos. parecida com o eCryptfs (veja “Usando o eCryptfs para encriptar arquivos, montagem automatica do home”) e tem como objetivo deixar dados seguros com o mínimo de trabalho possível e em sistemas onde você possui somente acesso usuário. Basicamente ele trabalha encriptando uma pasta existente utilizando o FUSE para montar e encriptar diretórios.

Devido a isso, sua funcionalidade é bem simples, e não depende de módulos ee kernel adicionais que podem não existir na máquina que está configurando.

Ele não utiliza loopback ou devicemapper como o dm-crypt (veja NNNNNNNN) e TrueCrypt (veja NNNNNNNN).

O EncFS é definitivamente o software mais simples se desejar criptografia de arquivos no Linux.

Uma das maiores vantagens dele em cima de outros sistemas, é não requerer privilégios de super usuário (root) para funcionar, e qualquer usuário pode implementa-lo. Ele também não precisa criar um arquivo simples e criar um sistema de arquivos dentro dele; É usado um sistema de arquivos atual sem modificações.

Ele também é cross plataforma (enquanto o eCryptfs é ligado ao Linux), a criptografia é feita arquivo a arquivo, o que permite inúmeras vantagens como a criptografia de arquivos armazenados em storage de objetos (Dropbox, Google Drive, OneDrive, etc)

É possível também fazer um 2FA armazenando a chave de volume fora do sistema de arquivos de origem do EnCFS.

Outra vantagem; como a criptografia é feita individualmente, por arquivo, isso reduz o risco de corrompimento a apenas um arquivo.

Isto também cria algumas desvantagens: Como os aquivos encriptados não estão armazenados em um arquivo único de imagem, alguém com acesso ao sistema ainda pode ser a estrutura de diretórios, o número de arquivos, tamanhos e quando foram modificados. Eles no entanto não poderão ver o conteúdo.

Outra vantagem em cima do eCryptfs é que não precisa se lembrar de todos os parametros para armazenamento da criptografia (ciphers, key type, etc), pois todos são armazenados no arquivo .encfs6.xml. Você só precisa se lembrar da frase-senha.

OBS: A implementação atual do encfs é vulnerável a múltiplos ataques, um deles é a dedução de dados usando redução de complexidade de descriptografia.

Limitações

O EncFS possui as seguintes limitações Qualquer um com acesso ao diretório de origem, poderá ver o tamanho de arquivos, quantos arquivos estão armazenados, que permissões possuem o tamanho aproximado, e quando foram modificados pela última vez, mesmo eles estando criptografados.

Sem suprote a nomes de arquivos muito longos. Limitado a 190 caracteres.

Utilize a versão 1.9 ou superior para menos riscos de segurança do padding no final de arquivos.

Instalando

Para instalar o encfs, execute o seguinte comando: apt install encfs

Criando a Criptografia

Para criar um sistema de arquivos criptografado, execute o seguinte comando: encfs /diretorio/origem /diretorio/destino

Será perguntado a opção de nível de segurança usada. Selecione p para usar o modo paraóico. O sistema então lhe perguntará a frase-senha

Agora os arquivos podem ser gravados na pasta destino. Note que o arquivo .encfs6.xml será gravado em cada pasta individual que utiliza a criptografia.

para desmontar o sistema de arquivos, digite: fusermount -u /diretorio/destino

Alterando a senha

Para alterar a senha definida para acesso ao sistema de arquivos encriptado com o EncFS, use o seguinte comando: encfsctl passwd /diretorio/origem

Montando via fstab

O formato para adição da montagem automatica no /etc/fstab é o seguinte:

encfs#/diretorio/origem /diretorio/destino fuser noauto,user 0 0