Como faço para verificar uma assinatura PGP?

Como faço para verificar uma assinatura PGP?
PGP (muito boa privacidade) é um programa de criptografia de chave pública. PGP complementa a tecla simétrica com algoritmos de chave assimétrica, tornando este software um sistema criptográfico híbrido, geralmente chamado Criptossistema híbrido.

O PGP não é usado apenas para garantir informações de ameaças cibernéticas, mas também para verificar a integridade do arquivo.

Este tutorial explica facilmente como o PGP funciona e como verificar as assinaturas do PGP.

Como funciona o PGP

A imagem abaixo mostra uma chave pública do PGP. Esta chave pública do PGP pode ser descriptografada apenas com uma chave PGP privada específica. O emissor da chave pública abaixo também emitiu uma chave PGP privada, pois eles são gerados no mesmo processo. Ele só compartilha a chave pública.
Se você levar a chave pública dele para criptografar uma mensagem para ele, ele poderá descriptografar a mensagem usando sua chave privada. Somente sua chave privada pode descriptografar a mensagem que você criptografou usando sua chave pública.

As informações são criptografadas usando a chave pública e descriptografadas usando a chave privada. Isso é chamado Criptografia assimétrica.

Portanto, mesmo que um invasor consiga interceptar a mensagem sem a chave privada, ele não consegue ver o conteúdo da mensagem.

A vantagem da criptografia assimétrica é a simplicidade em trocar chaves. Mas sua desvantagem é que não pode criptografar grandes quantidades de dados, e é por isso que o PGP implementa os dois.

A criptografia simétrica é aplicada quando a chave pública é usada para criptografar os dados protegidos. Com a chave pública, o remetente faz duas coisas: primeiro gera a criptografia simétrica para proteger os dados e depois aplica criptografia assimétrica, que não criptografa os dados em si, mas a chave simétrica, que protege os dados.

Para ser mais técnico, antes que a chave simétrica seja aplicada, os dados também são compactados antes de serem criptografados com a chave simétrica e a chave pública. O fluxo de gráfico a seguir mostra todo o processo:

Assinaturas PGP

O PGP também é usado para verificar a integridade dos pacotes. Isso é alcançado através da assinatura digital, o que pode ser feito com PGP.

Primeiro, o PGP gera um hash criptografado com a chave privada. Tanto a chave privada quanto o hash podem ser descriptografadas usando a chave pública.

O PGP cria uma assinatura digital, por exemplo, para uma imagem ISO usando algoritmos DSA ou RSA. Nesse caso, a chave privada está anexada ao software ou imagem ISO, ao contrário da operação descrita anteriormente. A chave pública também é compartilhada.

Os usuários usam a chave pública para verificar a assinatura anexada ao software liberado.

O fluxo do gráfico a seguir mostra como a chave privada e o hash são anexados ao software e como o usuário leva o software com o hash anexado e a chave privada juntamente com a chave pública para verificar a assinatura:

Como faço para verificar uma assinatura PGP?

O primeiro exemplo mostra como verificar a assinatura do kernel Linux. Para experimentar, acesse https: // kernel.org e baixe uma versão do kernel e seu arquivo PGP. Para este exemplo, vou baixar arquivos Linux-5.12.7.alcatrão.xz e Linux-5.12.7.alcatrão.sinal.

O primeiro exemplo mostra como verificar a assinatura com um único comando. De acordo com a página do homem, esta combinação de opções será preterida em versões futuras. No entanto, ainda é amplamente utilizado e, embora a combinação específica seja presa, as opções permanecerão.

A primeira opção -opções de chaves Permite definir opções para a tecla onde as chaves públicas são armazenadas. Basicamente, isso permite a implementação de opções de busca de chaves públicas.

O -opções de chaves é combinado com o -Auto-tecla-Retire Opção para recuperar automaticamente as chaves públicas de uma tecla ao verificar as assinaturas.

Para encontrar as chaves públicas, este comando lerá a assinatura procurando um ID preferido de chave preferido ou sinalizador por meio de um processo de pesquisa usando o diretório de chaves da web.

GPG-KeyServer-Options-key-revieve --Verify Linux-5.12.7.alcatrão.sinal

Como você pode ver, a assinatura é boa, mas há uma mensagem de aviso dizendo que o GPG não pode confirmar que a assinatura pertence ao proprietário. Qualquer um pode emitir uma assinatura pública como Greg Krohan-Hartman. Você sabe que a assinatura é legítima porque você confia no servidor de onde o baixou. Nesse caso, é especificado no .sinal baixado do kernel.org.
Esse aviso está sempre presente e você pode evitá -lo adicionando assinaturas a uma lista confiável de assinatura usando a opção -EDIT-key Trust. A verdade é que nenhum usuário faz isso, e a comunidade GPG solicitou a remoção de aviso.

Verificando SHA256Sums.gpg

No exemplo a seguir, verificarei a integridade de uma antiga imagem Kali Linux que encontrei na minha caixa. Para esse fim, baixei os SHA256Sums.Arquivos GPG e SHA256Sums pertencentes à mesma imagem ISO.

Depois de baixar uma imagem ISO, os SHA256Sums.GPG e SHA256Sums, você precisa obter as chaves públicas. No exemplo seguinte, eu busco as chaves usando wget e gpg -import (Instruções de verificação de kali link para este servidor de chaves).

Então eu verifico a integridade do arquivo ligando para GPG com o -verificar argumento:

wget -q -o -https: // arquivo.Kali.org/tecla de arquivo.ASC | gpg --import
GPG --verify SHA256Sums.GPG SHA256Sums

Como você pode ver, a assinatura é boa e a verificação foi bem -sucedida.

O exemplo a seguir mostra como verificar um download de nodejs. O primeiro comando retorna um erro porque não há chave pública. O erro indica que eu preciso procurar a chave 74F12602B6F1C4E913FAA37AD3A89613643B6201. Geralmente, você também pode encontrar o ID -chave nas instruções.

Usando a opção -KeyServer, Eu posso especificar o servidor para pesquisar a chave. Usando a opção -RECV-KEYS, Eu recupero as chaves. Então a verificação funciona:

GPG --verify shasums256.TXT.ASC

Eu copio a chave que preciso buscar e depois corro:

GPG -KeyServer Pool.SKS-KeyServers.NET-RECV-KEYS
74F12602B6F1C4E913FAA37AD3A89613643B6201
GPG --verify shasums256.TXT.ASC

Pesquisando as teclas GPG:

Se as chaves de recuperação automática não funcionarem e você não conseguir encontrar as instruções específicas de verificação, você poderá pesquisar a chave em uma tecla usando a opção -Chave de pesquisa.

GPG-Search-Key 74F12602B6F1C4E913FAA37AD3A89613643B6201

Como você pode ver, a chave foi encontrada. Você também pode recuperá -lo pressionando o número da chave que deseja recuperar.

Conclusão

Verificar os downloads da integridade pode evitar problemas sérios ou explicá -los, por exemplo, quando o software baixado não funciona corretamente. O processo com GPG é bem fácil, como mostrado acima, desde que o usuário obtenha todos os arquivos necessários.

Entendendo a criptografia assimétrica ou a criptografia baseada em chaves públicas e privadas é uma necessidade básica de interagir com segurança na Internet, por exemplo, usando assinaturas digitais.

Espero que este tutorial sobre assinaturas de PGP tenha sido útil. Continue seguindo o Linux Dint para mais dicas e tutoriais do Linux.