GPG: Um Guia Prático - Parte 3
Nesta terceira parte da série de artigos sobre chaves GPG vamos ver como criptografar arquivos usando uma chave pública e como descriptografá-la usando a chave privada. Embora este artigo seja curto é importante conhecer o básico e saber como usar as chaves de forma simples pela linha de comando.
- Parte 1: Gerar um par de chaves Pública e Privada
- Parte 2: Gerenciamento de chaves pública
- Parte 3: Criptografar e descriptografar mensagens
- Parte 4: Como criptografar e descriptografar e-mails com Thunderbird
- Parte 5: Assinaturas digitais
- Parte 6: Como verificar assinatura PGP de programas baixados
- Parte 7: Bônus
Como a Criptografia GPG Funciona
A criptografia com chave pública usa uma combinação entre o par de chaves que criamos na parte 1 dessa série. Ao compartilhar sua chave pública de forma direta - seja por mensagem ou arquivo - ou indireta - através de um servidor de chaves - você permite a outros proteger mensagens que somente a sua chave privada pode descriptografar.
Quando alguém lhe envia uma mensagem criptografada tanto o arquivo quanto a chave necessária para descriptografá-la são postas em um mesmo arquivo criptografado pela chave pública. Ao enviar a mensagem criptografada, mesmo que ela seja interceptada por alguém ao longo do caminho, essa pessoa não poderá ler seu real conteúdo, mesmo que ela também possua sua chave pública. Apenas você, de posso da sua chave privada, poderá descriptografar essa mensagem e ter acesso ao seu conteúdo.
Importando uma Chave Pública
Como vimos na parte 2, podemos buscar por uma chave pública em um servidor de chaves usando:
gpg --search user-id
Ou através de um arquivo com:
gpg --import arquivo-da-chave-pública
Após importar a chave pública do seu contato devemos conferir a impressão digital dela com a fornecida pelo contato.
Para exibir a impressão digital usamos o comando:
gpg --fingerprint user-id
Confirme que a numeração da impressão digital da chave pública realmente combina com a fornecida pelo contato. Ou pessoalmente, ou via ligação ou mensagem, desde que você tenha certeza de que esteja em contato com o dono da chave.
Após confirmar que ambas as numerações são idênticas assinamos a chave como confiável com o comando:
gpg --sign-key key-id
Criptografando Arquivos
Agora que temos a chave pública de seu contato salva no chaveiro podemos trocar mensagens criptografadas com ele através dela.
Primeiramente iremos criptografar mensagens de texto simples em um arquivo txt.
Abra um bloco de notas ou o terminar e digite:
echo "Este arquivo tem criptografia GPG" > mensagem.txt
Depois execute este comando:
gpg --recipient user-id --encrypt --armor mensagem.txt
Lembrando que o user-id neste caso é o da chave pública do seu contato, ou seja, um e-mail ao qual pertence essa chave.
O parâmetro --armor indica para o gpg que o arquivo a ser criado deve seguir o padrão ASCII. Caso contrário o arquivo criado será um binário.
Como resultado temos a criação de um arquivo de mesmo nome que termina com a extensão .asc, que é nosso arquivo criptografado.
Caso tenha vários contatos para os quais queira enviar um mesmo arquivo basta incluir quantos user-id forem necessários
Por exemplo:
gpg --recipient user-id1 --recipient user-id2 --encrypt --armor mensagem.txt
Aqui adicionamos mais de um contato ao criptografar o arquivo. Cada um deles poderá receber o arquivo e descriptografar a mensagem com as respectivas chaves privadas, pois no código de criptografia consta a informação da chave pública do par de cada um dos contatos.
Descriptografando com a Chave Privada
Imaginemos agora que você recebeu um arquivo criptografado e precisa descriptografar para conseguir lê-lo.
Para isso basta executar o comando:
gpg --decrypt --pinentry-mode=loopback texto_protegido.txt.asc > texto_desprotegido.txt
O gpg irá solicitar sua senha da chave privada, após digitá-la o arquivo criptografado será descriptografado e salvo como texto_desprotegido.txt.
Agora você poderá ler o conteúdo da mensagem com bloco de notas ou mesmo no terminal usando.
Próximo Passo
No próximo artigo dessa série usaremos o programa de leitura de e-mails Thunderbird para enviar e receber e-mails criptografados com nosso par de chaves. O que é bem prático para não ficar digitando comando o tempo todo. :)
Tags: segurança, privacidade, email