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

2

Existem muitos pacotes no AUR que, quando você tenta 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 fornece a chave.

Eu tenho algumas perguntas sobre isso:

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

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

  3. Se importar cegamente a chave do encadeamento de comentários do AUR for ruim, quais etapas devo adotar para "verificar" a chave?

  4. Onde devo encontrar a chave se ninguém se incomodar em postar nos comentários, e se eu não tiver tempo para postar um comentário e esperar que o mantenedor responda?

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

    
por Bagalaw 29.11.2017 / 02:46

2 respostas

4

What exactly do these keys do? What is being verified with GPG, and why is it necessary?

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 do malware contra cavalo de Troia de um servidor de repositório que pode ter sido infiltrado com êxito 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 genuíno do AUR. 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.

Why is it necessary to import keys by hand? Why can't it be automated?

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

A confiança necessária & o nível de confiança depende do que você está fazendo: um sistema doméstico particular para diversão, um servidor que manipulará as informações de saúde e / ou cartão de crédito de uma empresa e um servidor de suporte auxiliar para um sistema nacional de defesa antimísseis. requisitos diferentes.

If blindly importing the key from the AUR comment thread is bad, what steps am I supposed to take to "verify" the key?

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 tomar 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 conhecer o desenvolvedor para obter uma confirmação mais strong de que você tem a chave certa.

Where am I supposed to find the key if nobody's bothered to post it in the comments, and if I don't have time to post a comment and hope the maintainer replies?

As chaves públicas GPG que são usadas amplamente são comumente publicadas em servidores de chaves SKS: se você não tem a chave certa, as ferramentas de pacote devem poder exibir o keyID da chave requerida, e você pode usar isso para procurar a chave nos servidores de chaves.

Veja aqui mais informações sobre a rede SKS keyserver: link

Você também pode pesquisar no google pelo keyID.

    
por 22.01.2018 / 10:34
1

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

A assinatura é uma verificação digital de quem assinou o pacote com a garantia de que ele não foi modificado desde que foi feito. Geralmente assinado pelo mantenedor do pacote ou gerenciador de liberação ou por alguém de "autoridade" no grupo de manutenção do projeto principal de distribuições. Em essência, é uma verificação de integridade aprimorada e automatizada sobre o que você está prestes a instalar - o novo "postamos o hash md5sum da lista de arquivos, você deve comparar o que você faz com esses".

A forma como funciona é chave pública / privada - eu crio uma chave privada com uma senha (boa e strong) e goto uma chave pública com ela. Eu posso dar a chave pública. Eu gero o pacote, assino e quando você o instala, é informado que a chave pública que corresponde ao ABC321FF ou o que for necessário é 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 deste software - ah, e a chave também". Se for a chave para uma distribuição (algumas versões possuem suas próprias chaves, ou revogaram e criaram novas chaves), então não importa, você está executando o software a partir de sua distribuição de qualquer maneira. Observe que quando você entra em repositórios de terceiros (como o Ubuntu e os PPAs de projeto), você acaba 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 funciona para qualquer outra coisa que a chave tenha assinado. Dependendo do seu nível de paranóia, você pode querer 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ê está criando mais trabalho e etapas para atualizar.

E se você é tão paranóico com essa chave que está assinando algo desagradável, você provavelmente não deveria estar tentando instalar nada do repositório.

    
por 29.11.2017 / 03:13