Como criar e usar chave PGP / GPG

Como criar um par de chaves públicas e privadas

Quando o criador do PGP (Pretty Good Privacy) converteu seu código para licença paga, isso resultou em uma iniciativa para oferecer uma alternativa de licença gratuita chamada GNU Privacy Guard (GPG). GPG usa uma combinação de criptografia de chave simétrica convencional para velocidade e criptografia de chave pública para facilitar a troca segura de chaves na comunicação. Será demonstrado abaixo como utilizar GPG no Linux e Windows!

1. Instalação:

1.1 Linux

Você consegue instalar GPG na maioria das distribuições Linux com apenas um comando. Por exemplo: apt-get install gpg 

*Em algumas distribuições o comando de instalação de pacotes varia. Portanto pesquise.

1.2 Windows

No Windows você pode utilizar o GPG4Win, não esqueça de verificar a integridade do arquivo baixado. 

Instale normalmente a aplicação, se preferir pode instalar somente o GnuPG.

2 Gerar chaves:

Para gerar sua chave em ambos sistemas basta utilizar o comando no terminal: gpg –full-generate-key

Será solicitado que você responda algumas perguntas técnicas e outras pessoais básicas para associar você a chave que está gerando. Para sua segurança opte por gerar uma chave do tipo RSA de 4096 bits. Você também pode configurar um período de tempo que a chave será considerada válida.

Após responder as perguntas, será solicitado que você forneça uma senha para proteger sua chave privada. Para isso forneça uma senha única e forte.

2.1 Linux

2.2 Windows

3 Exportar chaves públicas:

Liste todas as chaves presente em seu sistema com o comando: gpg –list-keys

Para exportar qualquer chave pública listada, inclusive a sua, use o comando: gpg –armor –output arquivo.txt –export chavepub

Substitua chavepub pelo email ou nome da chave pública que deseja exportar.

3.1 Linux

3.2 Windows

4 Importar chaves públicas:

Agora temos duas chaves públicas, uma de Fulano (Linux) e outra de Ciclano (Windows).

Fulano quer contar um segredo em uma mensagem para Ciclano, para isso Fulano pede Ciclano sua chave pública para enviar a mensagem com o segredo.

O comando para importar a chave pública no Windows é o mesmo: gpg –import arquivo.txt

Substitua arquivo.txt pelo nome do arquivo que contém uma chave pública.

5 Criptografar mensagem / arquivo

De posse da chave pública de Ciclano. Fulano criou um arquivo com uma mensagem secreta e criptografou com a chave pública de Ciclano para que somente Ciclano possa ler seu conteúdo. 

O comando para criptografar um arquivo no Windows é o mesmo: gpg –encrypt –recipient chavepub arquivo.txt

Substitua chavepub pelo email ou nome da chave pública do destinatário. Substitua arquivo.txt pelo nome do arquivo que deseja criptografar.

Agora Fulano pode enviar o arquivo mensagemSecreta.txt.gpg para Ciclano por qualquer meio de comunicação sem se preocupar que o arquivo possa ser interceptado.

6 Decriptar mensagem / arquivo

Ciclano recebeu o arquivo mensagemSecreta.txt.gpg de Fulano. Curioso, Ciclano decriptou o arquivo e conseguiu ler seu conteúdo.

Ao utilizar o comando para decriptar será solicitado a senha que você configurou quando gerou sua chave.

O comando para decriptar um arquivo no Linux é o mesmo: gpg –output arquivo2.txt –decrypt arquivo1.txt

Substitua arquivo1.txt pelo arquivo que contém a mensagem criptografada e o arquivo2.txt é o nome para o arquivo de saída que mostrará a mensagem decriptada.

7 Assinar mensagem / arquivo

Ciclano resolveu responder Fulano, mas como não tem a chave pública de Fulano e não irá enviar informações sigilosas apenas criou uma mensagem e a assinou para provar que o conteúdo da mensagem é de sua autoria.

Será solicitado sua senha para assinar a mensagem.

O comando para assinar um arquivo no Linux é o mesmo: gpg –output arquivo2.txt –sign arquivo1.txt

Substitua arquivo1.txt pelo arquivo que contém a mensagem que quer assinar e o arquivo2.txt é o nome para o arquivo de saída que mostrará a mensagem assinada.

Note que a mensagem assinada não é criptografada, é possível ler seu conteúdo! Mas você pode criptografar a mensagem assinada conforme aprendido anteriormente no passo 5.

8 Verificar assinatura de mensagem / arquivo

Fulano ao receber o arquivo assinado por Ciclano, verificou sua assinatura e visualizou seu conteúdo sem compressão.

O comando para verificar assinatura de um arquivo no Linux é o mesmo: gpg –output arquivo2.txt –decrypt arquivo1.txt

Substitua arquivo1.txt pelo arquivo assinado e o arquivo2.txt é o nome para o arquivo de saída que mostrará a mensagem assinada.

9 Como deletar chaves


O comando: gpg –delete-keys email

Apaga chaves públicas presente em seu sistema listadas por: gpg –list-keys

Já o comando: gpg –delete-secret-keys email

Apaga chaves privadas presente em seu sistema listadas por: gpg –list-secret-keys

É importante apagar chaves privadas quando você não irá mais utilizar seu par de chaves nunca mais. Pois se alguém obter sua chave privada, essa pessoa pode assumir sua identidade associada a sua chave pública.

10 Mais informações

Use o comando: gpg –help

Para obter mais informações sobre a utilização dessa poderosa ferramenta.




Source link