Chave pública (assimétrica) Criptografia usando GPG

Michael Galarnyk 17 de agosto

O GNU Privacy Guard (GPG, também chamado de GnuPG) é um software de criptografia gratuito que você pode usar para criptografar e descriptografar arquivos. Embora a documentação do GnuPG seja excelente, esta é uma breve tabela de dicas sobre como começar a usar o GPG.

Instale o GPG

Mac

Você precisa do homebrew para poder instalar o gpg no Mac. Se você não tiver o homebrew instalado, poderá aprender como fazer isso aqui . Depois disso, é um comando de uma linha.

 brew install gnupg 

janelas

Há muitas maneiras de instalar o gpg no Windows. Talvez a maneira mais fácil seja ir ao site do GnuPG e usar o instalador simples para o GnuPG atual.

Red Hat / CentOS

 yum instala o gnupg 

Ubuntu / Debian

Se você estiver usando estas distribuições Linux, você pode querer mudar os comandos neste tutorial para gpg2 depois de usar o comando abaixo. Você pode encontrar mais informações sobre isso aqui .

 sudo apt-get instala gnupg2 

Processo inteiro

O GPG usa um método de criptografia conhecido como criptografia de chave pública (assimétrica), que oferece várias vantagens e benefícios. Em um sistema de criptografia de chave pública (assimétrica), qualquer pessoa pode criptografar uma mensagem usando uma chave pública. Essa mensagem criptografada só pode ser descriptografada com a chave privada correspondente. Esta seção apenas passa pelos comandos GPG para fazer isso. Se você não entende a criptografia assimétrica, há um maravilhoso vídeo do youtube aqui .

Gerando Par de Chaves (Chaves Privada e Pública)

1) Crie suas chaves. Isso irá gerar um par de chaves. Uma delas é uma chave privada que você precisa manter em segurança e uma chave pública que você pode compartilhar com outras pessoas.

 gpg --gen-key 

Digite o nome, endereço de e-mail e O

2) Você terá que digitar uma senha. Mantenha-o em algum lugar seguro.

Digite e digite sua senha novamente

3) Exporte sua chave pública. Nesse caso, richter é o nome da minha chave pública. Será o que você nomeou sua chave na etapa 1.

 gpg --export --armor richter> richterPublicKey.asc 

Exportar sua chave pública

4) Envie a chave pública que você exportou para outra pessoa.

Titular de chave pública

1) Importe outra chave pública de pessoas. Você precisa substituir richterPublicKey pela chave pública que deseja importar.

 gpg --import richterPublicKey.asc 

importar a chave de outra pessoa

2) Confie na chave pública. Isso impedirá que o GPG lhe avise toda vez que você criptografar algo com essa chave pública. Você precisa substituir richter pelo nome da sua chave pública.

 gpg - richter da chave de edição 

Insira trust

Digite 5 , y e quit

3) Esta etapa mostra como criptografar um arquivo (neste caso, eu criptografei um arquivo superSecret.txt).

 gpg --encrypt - richter de destinatário superSecret.txt 

4) Transfira o arquivo criptografado para o detentor da chave privada.

Porta-chaves privada

Depois de receber o arquivo, você pode descriptografar o arquivo. Você terá que digitar sua senha.

 gpg --output superSecret.txt --decrypt superSecret.txt.gpg 

Tenha em mente que você também pode descriptografar vários arquivos usando o seguinte comando.

 gpg --decrypt-files * .gpg 

Lista de chaves no seu chaveiro

Chaves Públicas

Você pode ver uma lista de chaves públicas no seu chaveiro, bem como o nome e endereço de e-mail associado a cada chave

 gpg --list-keys 

Chaves Privadas

O comando a seguir listará as chaves privadas no seu chaveiro. Isto mostrará as chaves privadas que você possui (incluindo aquela que você criou ou importou anteriormente)

 gpg --list-secret-keys 

Excluir chaves do porta-chaves

Você também pode excluir as chaves do seu chaveiro.

Remover chave pública

 gpg --delete-key "User Name" 

Observe que, se você tentar excluir uma chave pública quando tiver sua chave privada associada, ocorrerá um erro.

Remover chave privada

 gpg --delete-secret-key "User Name" 

Como exportar e importar uma chave secreta

Exportar uma chave secreta

Você também pode exportar sua chave secreta.

 gpg --export-secret-keys richter > privateKey.asc 

Importar Chave Secreta

 gpg --import privateKey.asc 

Ainda não terminou, você ainda precisa confiar em uma chave.

Você precisará certificar-se de que você também confie em uma chave.

 gpg - orysya da chave da edição 

entre em trust

Digite 5 , y e quit

Você pode verificar isso usando o comando

 gpg --list-secret-keys 
gpg --list-keys

Tenha em mente que você também pode automatizar o processo de confiança .

 expect -c "spawn gpg --edit-key {KEY} trust quit; send "5ryr"; expect eof" 

Conclusão

Espero que você ache este tutorial útil. Se você tiver dúvidas ou pensamentos sobre o tutorial, fique à vontade para entrar nos comentários abaixo ou no Twitter .