Qual é a maneira mais popular de criptografar arquivos ou pastas individuais?
Qual é a maneira mais popular de criptografar arquivos ou pastas individuais?
Respostas:
O GnuPG (GPG) pode usar criptografia assimétrica e simétrica. A criptografia assimétrica envolve duas chaves, uma chave pública para criptografia e uma chave privada para descriptografia. Consulte a resposta do djeikyb nesta página para o uso de chaves assimétricas.
Para criptografia simétrica, as chaves de criptografia e descriptografia são iguais. É importante perceber que a maioria das pessoas é muito ruim na escolha de senhas fortes. Assim, um esquema de criptografia que usa senhas deve usar uma função de derivação de chave que consome mais recursos (tempo, memória) para diminuir os ataques de força bruta.
Para uma descrição do KDF do GnuPG, consulte esta postagem do Crypto Stack Exchange . Exemplo de uso de criptografia simétrica:
gpg --symmetric < unencrypted_file > encrypted_file
Descriptografia:
gpg --decrypt < encrypted_file > decrypted_file
Observe que o gpg
cache do symkey é armazenado em cache por padrão (comportamento documentado). Para evitar isso, use a --no-symkey-cache
opção conforme descrito em uma resposta relacionada .
resposta antiga para usuários que podem escolher boas chaves, veja a nota abaixo
Para arquivos únicos, openssl
é muito útil, especialmente quando o arquivo é enviado por um canal não seguro (por exemplo, email). É grátis (em dinheiro e em liberdade), ao contrário do Truecrypt, que só é gratuito em dinheiro.
NOTA : a senha digitada aqui será processada por uma iteração MD5 1 . Se você escolheu uma senha "123456", terá muito pouca segurança.
Criptografar:
openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file
Você será solicitado a fornecer uma senha, que deve ser inserida duas vezes.
Descriptografar:
openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file
Página de manual para o programa enc .
1 openssl enc
usa a função digest definida pela -md
opção (md5 padrão) e chama a função EVP_BytesToKey()
com uma contagem de iterações de 1. Isso pode ser encontrado na fonte openssl em apps/enc.c
.
-a
base64 codifica a entrada (apelido de -base64
), para decriptografá-la, você também precisa adicionar a -a
opção.
aes-256
é um apelido para aes-256-cbc
, não há diferença. CBC é um modo de operação para cifras de bloco. Consulte a página de manual de enc(1)
para obter uma lista das cifras suportadas.
Eu uso o cavalo marinho para isso. É um front-end do Gnome para o GnuPG e se integra bem ao nautilus:
Para obter a integração do nautilus, instale o pacote seahorse-nautilus
no Centro de Software: seahorse-nautilus
TrueCrypt : Software de criptografia de disco freeware disponível na fonte , inseguro e descontinuado .
Um método cli seria o GnuPG , e talvez alcatrão. Este é um pequeno guia para referência, você realmente deve ler a documentação.
Primeira corrida gpg --gen-key
. Siga as instruções para gerar seu par de chaves pública / privada. Agora você pode criptografar arquivos: gpg -e foo.txt
. Isso criará um arquivo chamado foo.txt.gpg
. O GnuPG não exclui o arquivo não criptografado original, você decide se deseja que ele fique por perto. Para descriptografar foo.txt.gpg, execute gpg foo.txt.gpg
. A descriptografia solicitará que você substitua os arquivos existentes.
Se você precisar criptografar um diretório, tar primeiro:
tar -cf foo.tar foo/
gpg -e foo.tar
Você pode renomear o arquivo criptografado da maneira que desejar. Quando descriptografado, o nome do arquivo original é preservado.
Há também o eCryptfs , que o Ubuntu usa para criptografar diretórios pessoais.
Você pode selecionar a criptografia do diretório inicial na instalação ou configurar um único diretório, $HOME/Private
por padrão, usando o utilitário ecryptfs-setup-private . Esta pasta pode ser configurada para montar automaticamente no login e desmontar no logout. Cada arquivo e pasta dentro dele $HOME/Private
, recursivamente, serão criptografados.
Você também pode usar "Academic Signature" para usar a criptografia de curva elíptica com uma GUI wxWidgets. É de código aberto, mas não nos repositórios. Faz principalmente criptografia assimétrica, assinaturas e carimbos de data / hora do ECC. Mas a ferramenta também possui uma entrada de menu para chamar o Gnupg (RSA) e acesso direto à criptografia / descriptografia simétrica de arquivos que oferecem AES e outros algoritmos. Sua página inicial está aqui: https://www.academic-signature.org
Eu o uso muito para proteger arquivos em trânsito e para assinar digitalmente documentos acadêmicos (transcrições, cartas de recomendação, listas de notas, etc.)
Peguei algumas das outras sugestões e criei um invólucro de script de shell simples (para os preguiçosos)
https://github.com/orionM/ssl-crypt-tools
aproveitar
openssl aes-256-cbc ...
Você sabe, em vez de usar, if [ $? -ne 0 ] ; then... fi
você pode simplesmente usar ||
? E há pessoas que acham que o OpenSSL "* teve várias falhas importantes de segurança no ano passado [ Heartbleed ], enquanto os documentos Snowden mostram que o GPG é um dos poucos programas que podem atrapalhar a NSA quando usados corretamente. O código do OpenSSL também é uma fossa completa e tem uma cobertura de teste terrível. (Divulgação: [ele] trabalha [s] em um projeto "O OpenSSL é uma porcaria; vamos consertar isso".) - jbarlow * "