Como usar o GnuPG para criptografia no Linux

Avatar de Redação
24/12/2020 às 11:07 | Atualizado há 3 anos
Como usar o GnuPG para criptografia no Linux 1

Você já teve informações confidenciais, como senhas ou informações de login do servidor, que precisava para enviar a alguém por e-mail, mas não sabia como enviá-las com segurança para evitar que as informações caíssem em mãos erradas?

Aqui você aprenderá como transmitir com segurança mensagens e arquivos criptografados com PGP por meio da popular ferramenta gnupg. Vamos mergulhar de cabeça e aprender como proteger nossas comunicações!

Instale o gnupg

Se você nunca ouviu falar de PGP antes, verifique um excelente primer e explicação sobre PGP, que contém vários detalhes que não entraremos aqui por uma questão de brevidade. Primeiro verifique se o gnupg já está instalado ou não. No terminal, execute o comando:

gnupg --version

Se ele exibir a versão do gnupg que você está executando no momento (deve ser v2 +), então está tudo pronto e pode ir para a próxima seção. Caso contrário, você pode instalar o gnupg executando:

sudo apt-get install gnupg2

Quando terminar, verifique se ele está instalado:

gnupg -- version

Assumindo que o gnupg foi instalado corretamente, isso exibirá o número da versão.

Gerar uma chave PGP

Usando criptografia assimétrica, você primeiro gerará um par de chaves PGP que consiste em uma chave pública e uma privada. A chave pública pode ser distribuída gratuitamente para qualquer pessoa de quem você deseja receber mensagens criptografadas, enquanto a chave privada é mantida em um local seguro.

As pessoas podem então criptografar mensagens para a chave pública e enviar uma mensagem criptografada, que pode então ser descriptografada usando a chave privada. Para gerar uma execução de par de chaves:

gpg --generate-key

Isso começará perguntando seu nome e endereço de e-mail, que não precisa necessariamente ser seu nome verdadeiro e e-mail. No entanto, é o que os outros verão ao selecionar para quem criptografar as mensagens, portanto, certifique-se de que seja algo pelo qual outras pessoas possam identificá-lo facilmente.

Em seguida, digite a letra O para confirmar o nome e o endereço de e-mail, e você será solicitado a inserir a senha desejada, que pode ser qualquer coisa que você desejar. Você precisará inserir essa senha sempre que desejar descriptografar uma mensagem que foi enviada a você.

Depois de confirmar a senha, ele começará a gerar seu novo par de chaves PGP, o que pode levar alguns minutos para coletar entropia / dados aleatórios suficientes de seu computador. Sinta-se à vontade para sair do terminal por alguns minutos e fazer outra coisa até ver uma mensagem dizendo que sua chave foi gerada com sucesso.

Exporte sua chave pública

Agora que seu par de chaves foi gerado, você precisa exportar a chave pública para distribuir a outras pessoas. No terminal, execute o comando:

gpg -a --export -e 'myname@domain.com` > mykey.asc

Certifique-se de alterar ‘myname@domain.com’ com o endereço de e-mail que você forneceu ao gerar sua chave PGP. Agora você verá um novo arquivo no diretório atual chamado mykey.asc. Envie este arquivo para quem você deseja que possa enviar mensagens criptografadas.

Importar chaves públicas

Assim como agora você pode compartilhar sua chave pública com outras pessoas, as pessoas também compartilharão suas chaves públicas com você. Ao receber a chave PGP pública de alguém, salve o arquivo em um diretório e, acessando o terminal do mesmo diretório, execute:

gpg --import key.asc

Isso importará a chave PGP pública da pessoa para o gnupg, permitindo que você comece a enviar mensagens criptografadas para ela. A qualquer momento você pode ver uma lista de todas as chaves PGP atualmente disponíveis no gnupg:

gpg --list-keys

Você verá um monte de entradas semelhantes às abaixo, uma para cada chave disponível no gnupg:

 pub rsa3072 2020-01-30 [SC] [expires: 2022-01-29]
 8978168C4E79A08553E5789CD42A4A4EC1468CFE
 uid [ unknown] Matt Dizak <matt.dizak@gmail.com>

As únicas informações de que você precisa saber são o nome e o endereço de e-mail da entrada, que indica o proprietário da chave. Ao criptografar mensagens, você só precisará do endereço de e-mail do destinatário.

Criptografar mensagens via PGP

Por exemplo, você pode precisar enviar algumas informações confidenciais para o seu web designer, que é a chave PGP que você já importou no endereço de email designer@domain.com. Digite a mensagem desejada e salve-a em um arquivo de texto, por exemplo mensagem.txt. No terminal e dentro do diretório onde reside a mensagem.txt, execute o comando:

gpg -e -a -r 'designer@domain.com' message.txt

Vamos quebrar rapidamente o comando acima:

  • -e especifica que estamos criptografando dados
  • -uma afirma que queremos a saída em formato ASCII ou texto simples
  • -r significa destinatário, por isso é seguido pelo endereço de e-mail do nosso designer
  • Finalmente, vem o arquivo de mensagem que desejamos criptografar

Provavelmente, isso irá pedir a você para confirmar se realmente deseja criptografar para esta chave pública, e você pode simplesmente clicar no Y chave para concordar. Uma nova message.txt.asc arquivo será criado e, se você abrir o arquivo em um editor de texto, verá algo semelhante a:

 -----BEGIN PGP MESSAGE-----
hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw
 9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36
 .....
 -----END PGP MESSAGE-----

Esta é a forma criptografada recém-gerada de nossa mensagem. Você pode anexar esse arquivo a um e-mail ou simplesmente copiar e colar o conteúdo desse arquivo no corpo de uma mensagem de e-mail.

O destinatário poderá então descriptografar a mensagem usando sua chave privada, garantindo que qualquer pessoa que veja a mensagem durante o trânsito não consiga ver a versão em texto simples.

Criptografando arquivos binários

A seção acima explicou como criptografar mensagens de texto, mas e os arquivos binários? Funciona praticamente da mesma forma e, por exemplo, para criptografar um arquivo chamado images.zip, dentro do terminal execute o comando:

gpg -e -r 'designer@domain.com' images.zip

A única diferença sendo a opção -a é removida, junto com o nome do arquivo de saída. Então, como antes, se for solicitado a confirmar o uso da chave pública, basta pressionar o Y chave para concordar.

Um novo arquivo chamado images.zip.gpg será criado, que é a versão criptografada de nosso arquivo zip que podemos enviar por e-mail para nosso designer como um anexo. Eles podem então descriptografar o arquivo ZIP usando sua chave privada.

Descriptografando mensagens

Você também precisa de uma maneira de descriptografar as mensagens enviadas para você. Lembre-se, para que alguém lhe envie uma mensagem criptografada, você deve primeiro compartilhar sua chave PGP pública com essa pessoa. Você obterá um bloco de texto criptografado, que parece o mesmo que criptografar uma mensagem, como:

 -----BEGIN PGP MESSAGE-----
hQGMAzCBDnMltq9zAQv/ZHQ3tJq+feazdLa3thzQE2bhPx+7WaPZcX7SdkoyuKvw
 9faS7h9OwBjQ4vUyDKespSq3ZNf1pRgNoXijjs3MGEi5IsYxDgNWo1ZJv2qQqp36
 .....
 -----END PGP MESSAGE-----

Salve este bloco de texto em um arquivo como message.asc, e dentro do terminal execute o comando:

gpg -d message.asc > message.txt

Será solicitado que você insira sua senha, que é a mesma senha que você forneceu ao gerar inicialmente seu par de chaves PGP. Após inserir sua senha com sucesso, um arquivo message.txt será criado, contendo a versão descriptografada da mensagem em texto simples. Isso é tudo que há para fazer!

Parabéns, suas comunicações agora estão seguras!

Através deste guia, você aprendeu tudo o que é necessário para proteger adequadamente suas comunicações por meio da criptografia PGP. Você aprendeu como gerar um par de chaves PGP, exportar sua chave pública para compartilhar com outras pessoas, importar as chaves públicas de outras pessoas e também como criptografar e descriptografar mensagens.

Da próxima vez que precisar enviar informações confidenciais por e-mail, você pode ter certeza de que apenas o destinatário pretendido poderá ver o conteúdo da mensagem, mantendo-a longe de visitantes indesejados. Boa criptografia!

SUGESTÕES PARA VOCÊ