Por que às vezes é necessário importar chaves manualmente?

Por que às vezes é necessário importar chaves manualmente?

Existem muitos pacotes no AUR que, ao tentar instalá-los, resultam em um erro como:==> ERROR: One or more PGP signatures could not be verified!

Isso é resolvido importando a chave com algo como gpg --recv-keys 123456789ABCDEF. A discussão do AUR muitas vezes fornecerá a chave.

Tenho algumas perguntas sobre isso:

  1. O que exatamente essas chaves fazem? O que está sendo verificado com o GPG e por que é necessário?

  2. Por que é necessário importar chaves manualmente? Por que não pode ser automatizado?

  3. Se importar cegamente a chave do tópico de comentários do AUR for ruim, quais etapas devo seguir para "verificar" a chave?

  4. Onde devo encontrar a chave se ninguém se preocupa em postá-la nos comentários e se não tenho tempo para postar um comentário e esperar que o mantenedor responda?

Pesquisando on-line, encontrei referências a umpostagem de blog bem conhecida. Fico triste em dizer que depois de várias leituras cuidadosas ainda não entendi os pontos acima.

Responder1

O que exatamente essas chaves fazem? O que está sendo verificado com o GPG e por que é necessário?

As chaves são usadas para verificar se o software que você está baixando é o que o autor do pacote pretendia que fosse, em vez de um malware cavalo de Tróia de um servidor de repositório que pode ter sido infiltrado com sucesso por um invasor. Ou talvez um invasor possa redirecionar sua solicitação de download para seu repositório de malware disfarçado, em vez de para um repositório AUR genuíno. A verificação por GPG torna muito difícil para um invasor usar com êxito os repositórios de software como canal de distribuição de malware.

Por que é necessário importar chaves manualmente? Por que não pode ser automatizado?

Você deve fazer uma escolha consciente sobre se confia ou não em um autor/empacotador de software específico e se está confiante o suficiente para seus propósitos de que a chave que recebeu é genuína e não de um impostor.

O nível de confiança e confiança necessários depende do que você está fazendo: um sistema doméstico privado para diversão, um servidor que irá lidar com a saúde de outras pessoas e/ou informações de cartão de crédito para uma empresa e um servidor de suporte auxiliar para um sistema nacional de defesa antimísseis. cada um deve ter requisitos um pouco diferentes.

Se importar cegamente a chave do tópico de comentários do AUR for ruim, quais etapas devo seguir para "verificar" a chave?

Se a chave for assinada por outras pessoas cujas chaves você já possui e você confiar no julgamento dessas pessoas, pelo menos quando se trata de assinar chaves GPG, você pode considerar isso como prova de que a chave provavelmente é genuína. Caso contrário, você pode tentar obter a chave de várias fontes diferentes e comparar os resultados. Se for importante o suficiente para você, você pode até ligar ou encontrar o desenvolvedor para obter uma confirmação mais forte de que possui a chave certa.

Onde devo encontrar a chave se ninguém se preocupa em postá-la nos comentários e se não tenho tempo para postar um comentário e esperar que o mantenedor responda?

As chaves públicas GPG destinadas a serem amplamente utilizadas são comumente publicadas em servidores de chaves SKS: se você não tiver a chave certa, as ferramentas do pacote deverão ser capazes de exibir o keyID da chave necessária, e você poderá usá-la para procurar por a chave nos servidores de chaves.

Veja aqui mais informações sobre a rede de servidores de chaves SKS:https://sks-keyservers.net/

Você também pode pesquisar no Google o keyID.

Responder2

TL;DR - novo, aprimorado e automatizado "verifique o md5sum do download em relação à lista postada no site"

A assinatura é uma verificação digital de quem assinou o pacote com a garantia de que não foi modificado desde que foi feito. Normalmente assinado pelo mantenedor do pacote ou pelo gerente de lançamento ou por alguém com "autoridade" no grupo principal de manutenção do projeto da distribuição. Em essência, é uma verificação de integridade aprimorada e automatizada do que você está prestes a instalar - o novo "publicamos o hash md5sum da lista de arquivos, você deve comparar o que baixou com estes" .

A forma como funciona é a chave pública/privada - eu crio uma chave privada com uma senha (boa e forte) e gero uma chave pública com ela. Posso fornecer a chave pública. Eu gero o pacote, assino-o e, quando você o instala, é informado que a chave pública correspondente a ABC321FF ou qualquer outra é necessária para verificar a assinatura. Depois de importar a chave, o software pode verificar se o hash de identificação é o mesmo e se o hash foi assinado pela minha chave privada.

As preocupações de segurança quando se trata de adicionar software de um repositório ao seu sistema são "quem está por trás deste software - ah, e a chave também". Se for a chave de uma distribuição (algumas versões têm suas próprias chaves ou foram revogadas e criadas novas chaves), então não importa, você está executando software da distribuição deles de qualquer maneira. Observe que ao entrar em repositórios de terceiros (como Ubuntu e PPAs de projeto), você acabará importando uma chave para cada um deles, e isso pode ser uma preocupação para você.

O que você deve estar ciente é que essa chave agora funcionará apenas para qualquer outra coisa que a chave tenha assinado. Dependendo do seu nível de paranóia, você pode adicionar uma chave conforme necessário e removê-la da sua lista de chaves confiáveis ​​quando terminar de instalar o pacote. É claro que, com atualizações frequentes, você cria mais trabalho e etapas para atualizar.

E se você é tão paranóico com a assinatura de algo desagradável, provavelmente não deveria tentar instalar nada desse repositório de boa vontade.

informação relacionada