Existem muitos pacotes no AUR que, quando você tenta instalá-los, resulta 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 frequentemente fornecerá a chave.
Eu tenho algumas perguntas sobre isso:
O que exatamente essas chaves fazem? O que está sendo verificado com o GPG e por que é necessário?
Por que é necessário importar as chaves manualmente? Por que não pode ser automatizado?
Se importar cegamente a chave do tópico de comentários do AUR for ruim, quais etapas devo executar para "verificar" a chave?
Onde devo encontrar a chave se ninguém se preocupou 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 uma postagem de blog bem conhecida . Lamento dizer que, após várias leituras cuidadosas, ainda não entendo os pontos acima.
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 um repositório AUR genuíno. A verificação por GPG torna muito difícil para um invasor usar com sucesso os repositórios de software como um canal de distribuição de malware.
Você deve fazer uma escolha consciente sobre se confia em um determinado autor/empacotador de software ou não, e se está confiante o suficiente para seus propósitos de que a chave que recebeu é genuína e não de um impostor.
A confiança e o nível de confiança necessários dependem do que você está fazendo: um sistema doméstico privado para se divertir, um servidor que 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 a chave for assinada por outras pessoas cujas chaves você já possui e você confia no julgamento dessas pessoas pelo menos quando se trata de assinar chaves GPG, você pode considerar isso como evidência 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.
As chaves públicas GPG que se destinam a serem amplamente usadas são comumente publicadas em servidores de chaves SKS: se você não tiver a chave certa, as ferramentas do pacote devem ser capazes de exibir o keyID da chave necessária e você pode usá-lo 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 pelo keyID.
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 gerente de lançamento ou alguém de "autoridade" no grupo de manutenção do projeto principal da distribuição. Em essência, é uma verificação de integridade aprimorada e automatizada do que você está prestes a instalar - o novo "postamos o hash md5sum da lista de arquivos, você deve comparar o que baixou com estes" .
A forma como funciona é chave pública/privada - eu crio uma chave privada com uma senha (boa e forte) e gero uma chave pública com ela. Eu posso dar a chave pública. Eu gero o pacote, assino e, quando você o instala, é informado de que a chave pública correspondente a ABC321FF ou qualquer outra é necessária para verificar a assinatura. Depois de importar a chave, o software do seu lado 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 desse software - ah, e a chave também". Se for a chave para uma distribuição (alguns lançamentos têm suas próprias chaves ou revogaram e criaram novas chaves), não importa, você está executando o software de sua distribuição 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 saber é que essa chave agora funcionará apenas para qualquer outra coisa que ela tenha assinado. Dependendo do seu nível de paranóia, você pode adicionar uma chave conforme necessário e removê-la de sua lista de chaves confiáveis quando terminar de instalar o pacote. Obviamente, com atualizações frequentes, você cria mais trabalho e etapas para atualizar.
E se você é tão paranóico sobre aquela chave assinando algo desagradável, você provavelmente não deveria estar tentando instalar qualquer coisa desse repositório.