gocryptfs (Português)
Do gocryptfs (traduzido):
- gocryptfs usa encriptação com base em arquivo que é implementada como um sistema de arquivos montável FUSE. Para cada arquivo é guardado um criptografado na unidade de armazenamento.
- Os pontos a se destacar são: Scrypt password hashing (embaralhamento de senha Scrypt), encriptação GCM para todo o contéudo dos arquivos, EME wide-block encryption (encriptação de bloco amplo EME) para nomes de arquivos com um vetor de inicialização por diretório.
Veja a página oficial do gocryptfs para uma introdução de suas funcionalidades, benchmarks, etc. Veja criptografia de dados em repouso#Tabela de comparação para uma visão geral de métodos alternativos e EncFS como alternativa direta.
Instalação
Instale gocryptfs ou gocryptfs-gitAUR.
Como um sistema de arquivos FUSE, gocryptfs é totalmente configurável sem necessidade de poderes administrativos e guarda seus arquivos no diretório do usuário.
Uso
Veja gocryptfs(1) e seus exemplos primeiro.
- Para alcançar seu objetivo de encriptação autentificada, gocryptfs implementa um modo de encriptação AES-EME (para nomes de arquivos, não o conteúdo). Apesar deste modo não ter sido amplamente usado/auditado ainda, oferece integridade para proteção dos dados uma funcionalidade não disponível para métodos alternativos de encriptação direta.
- Veja esta issue do projeto para ver as descobertas da primeira auditoria de segurança para mais informações.
gocryptfs -speed
para testar a taxa de transferência dos métodos de encriptação disponíveis. Note que o modo mais lento, AES-SIV-512-Go
é necessário (e automaticamente selecionado) para o modo reverso.Exemplo usando o modo reverso
Uma das principais aplicações para métodos de encriptação baseada em arquivo são backups criptografados. Sistemas de arquivos baseados no FUSE são flexíveis para isto, desde que eles permitem uma ampla variedade de backup usando ferramentas comuns. Por exemplo, um ponto criptografado com gocryptfs FUSE pode ser facilmente criado diretamente em um compartilhamento Samba/NFS ou localização Dropbox, sincronizada para um host remoto com rsync, ou somente ser manualmente copiado para um amarzenamento remoto de backup.
~/.config/gocryptfs/
).O modo reverso do gocryptfs é particularmente útil para criar backups criptografados, desde que virtualmente não requer capacidade de armazenamento extra na máquina para realizar o backup.
A seguir é mostrado o usuário archie criando um backup de /home/archie
:
Primeiro, archie inicializa a configuração para seu diretório home:
$ gocryptfs -init -reverse /home/archie
Choose a password for protecting your files. Password: ...
Segundo, um diretório vazio para a versão criptografada é criada e montada:
$ mkdir /tmp/crypt $ gocryptfs -reverse /home/archie /tmp/crypt Password: Decrypting master key Your master key is: ... Filesystem mounted and ready. $
-exclude diretório
está disponível durante a montagem. Note que com programas como rsync, erros ou avisos podem ocorrer se exclusões forem feitas depois somente.[1]
Terceiro, archie cria um backup do diretório criptografado, uma simples cópia local para este exemplo:
$ cp -a /tmp/crypt /tmp/backup
e pronto.
O diretório criptografado pode permanecer montado para a sessão do usuário, ou desmontado manualmente:
$ fusermount -u /tmp/crypt $ rmdir /tmp/crypt
Para restaurar do backup criptografado, uma visão de texto puro é montada usando o modo normal do gocryptfs:
$ mkdir /tmp/restaurar $ gocryptfs /tmp/backup/ /tmp/restaurar Password: Decrypting master key ... Filesystem mounted and ready. $
Agora os arquivos necessários podem ser restaurados.
Veja também
- A primeira auditoria de segurança do gocryptfs (inglês)
- RFC5297 Synthetic Initialization Vector (SIV) Authenticated Encryption Using the Advanced Encryption Standard (AES)