Meu cliente GnuPG atualizou automaticamente as chaves em seu chaveiro de um servidor de chaves e importou uma chave envenenada. Como posso consertar meu chaveiro sem simplesmente deletar a chave pública envenenada?
No mês passado, vários certificados pgp de alto nível foram atacados por meio de um ataque de inundação de certificados ( CVE-2019-13050 ), enviando spam para sua chave pública com dezenas de milhares (ou centenas de milhares) de assinaturas e enviando suas chaves públicas envenenadas para servidores de chaves.
Se, por exemplo, você tinha " Tor Browser Developers (chave de assinatura) " em seu chaveiro e tentou --refresh-keys
acessar de um servidor de chaves após 30/06/2019 (quando a chave foi inundada com 121.000 assinaturas falsas), então seu gpg (e consequentemente, seu e-mail se, por exemplo, você estiver usando o thunderbird com enigmail) travará e ficará inutilizável .
A maior parte da cobertura deste problema diz que a solução é simplesmente excluir a chave - mas como posso limpar a chave pública localmente sem ter que baixar uma nova cópia (que introduz vetores desnecessários para adulteração)?
Passei algum tempo procurando como consertar isso e publiquei um artigo sobre isso em meu site . Abaixo está um resumo da solução para esta questão.
1. Identificando a chave envenenada
Primeiro, podemos listar o tamanho das chaves públicas em nosso chaveiro (em bytes) usando o seguinte comando (conforme relatado no rastreador de problemas do GnuPG):
Se o comando acima demorar mais do que alguns segundos para ser executado, você terá um problema. Aguarde 20 minutos ou mais e você verá teclas problemáticas na parte inferior. Qualquer coisa com 8 dígitos (>10 MB) é uma bandeira vermelha.
2. Exportando a chave envenenada
Agora que identificamos a chave envenenada, vamos exportá-la para mantê-la segura antes de excluí-la.
Após alguns minutos, o comando terminará e você deverá ter um arquivo nomeado
pubkey.asc
com o conteúdo da chave pública envenenada. Observe que este arquivo blindado ASCII contendo exatamente uma chave pública é 22M!3. Excluindo a chave envenenada
Agora que temos um backup seguro da chave envenenada em disco, vamos excluí-la de nosso chaveiro.
4. Reimportando a chave limpa
Para reimportar uma cópia limpa da chave pública, usaremos o
gpg
argumento--import-filters
para descartar todas as assinaturas (drop-sig
) feitas na data em que o certificado foi inundado com assinaturas.Dado um arquivo de chave pública (como o backup que acabamos de exportar acima), podemos listar uma contagem do número de assinaturas que o certificado recebeu para cada dia com o seguinte comando:
A saída acima mostra que
Podemos importar a chave omitindo essas assinaturas de spam nesses dois dias da seguinte maneira (certifique-se de substituir as datas pelos dias correspondentes impressos no comando acima em sua máquina):
E agora as coisas devem ser muito mais sãs:
5. Atualizando sua configuração GnuPG
Como Robert J. Hansen (cuja chave pgp recebeu spam com 149.100 assinaturas em 19/06/2019) apontou em sua excelente essência abrangente sobre esse problema, você pode impedir que seu cliente gpg se quebre:
Esse
keys.openpgp.org
servidor de chaves é um novo servidor experimental (curiosamente, foi lançado apenas algumas semanas antes do upload desses certificados envenenados) que é mais resistente a esses ataques. Observe que os certificados que ele atende carecem totalmente de assinaturas de terceiros e também retira os pacotes UID da chave, a menos que um usuário opte explicitamente por entrar .6. Atualizando sua configuração MUA
Você também pode precisar atualizar seu MUA. Por exemplo, enigmail em thunderbird também pode ser configurado para atualizar as chaves em seu chaveiro.
Para evitar que o enigmail atualize suas chaves de um servidor de chaves, vá para as preferências do thunderbird -> Avançado -> Editor de configuração... -> Aceito o risco!
E definir
extensions.enigmail.keyRefreshOn
parafalse
Termo aditivo
Observe que o formato de chaveiro de caixa de chaves se recusará a importar chaves posicionadas, pois tem um tamanho máximo de chave de 5 MiB e que os usuários com instalações antigas devem considerar migrar seu chaveiro para o formato de caixa de chaves.
Isso pode ser feito facilmente em sistemas baseados em Debian usando o comando migration-pubring-from-classic-gpg
Método não testado:
gpg --edit-key <keyid> clean save
.Outro método:
--export-options export-clean
(o que ignorará todas as assinaturas que não podem ser verificadas em relação a chaves confiáveis em seu chaveiro).Ainda outro método:
--keyserver-options self-sigs-only
, se você optar por usar um servidor de chaves).