Seu entendimento está correto. A assinatura de pacotes permite que você verifique se os pacotes baixados vieram dos desenvolvedores confiáveis. Isso elimina a possibilidade de um servidor de distribuição não autorizado alterar de qualquer maneira qualquer informação que tenha sido assinada.
Mas como você disse - What if Person A is malicious? Is that just up to your discretion?
- Exatamente - o processo de assinatura não tem nada a ver com as intenções da pessoa. Isso só ajudará você a garantir que os dados vieram deles e não foi adulterado.
A assinatura digital é como um passaporte - prova a identidade de seu titular, mas não informa nada sobre suas intenções.
I'm having a hard time understanding why this makes software more inherently safe
Porque impede que pessoas não autorizadas alterem pacotes ou código-fonte nos servidores de distribuição. Por exemplo, se eu estiver hospedando um espelho público de uma distribuição Linux no meu próprio computador, posso substituir o pacote OpenSSL legítimo pelo meu próprio malicioso. Se alguém fizer o download e executar o processo de verificação de assinatura, ele falhará, já que eu mudei o pacote. Um usuário pode decidir não instalá-lo.
Para que esse esquema funcione, os usuários finais precisam baixar chaves criptográficas públicas de seus desenvolvedores e confirmar que confiam nelas. Depois disso, eles devem ativar o processo de verificação de assinatura em seu sistema operacional.
Aqui está um extrato da documentação do Gentoo referente a este assunto.
How does the whole thing work from a high level? I was also reading about GPG rings of trust. Are GPG using the same keys as ssh or https? If not, what's the difference?
Embora eu possa tentar explicar, duvido que possa fazer melhor do que as pessoas do link .
Além disso, o YouTube tem muitos vídeos sobre esse assunto.