Skip to content
Latchkey

Cosign vs GPG: Assinando Artefatos e Containers

Ambos assinam artefatos, mas para eras diferentes. O GPG é a ferramenta de assinatura geral de longa data com chaves de vida longa que você gerencia; o Cosign (Sigstore) é feito para containers e supply chain, com assinatura keyless via OIDC e um log de transparência público.

Cosign e GPG ambos provam que um artefato veio de você e não foi adulterado. O GPG é geral e maduro, mas coloca o gerenciamento de chaves por sua conta; o Cosign mira imagens de container e artefatos OCI e pode assinar sem que você mantenha chaves de vida longa. Aqui está a comparação honesta.

CosignGPG
Feito paraContainers, artefatos OCI, supply chainAssinatura/criptografia de propósito geral
ChavesKeyless (OIDC) ou pares de chavesPares de chaves de vida longa que você gerencia
Log de transparênciaSim (Rekor)Não
Suporte a containersPrimeira classe (assina imagens por digest)Manual, não nativo para containers
Carga de gerenciamento de chavesBaixa com keylessMaior (rotação, distribuição)
MaturidadeMais novo, amplamente adotadoDécadas de idade, ubíquo

Gerenciamento de chaves vs keyless

O GPG depende de chaves privadas de vida longa que você gera, protege, rotaciona e distribui, o que é poderoso mas operacionalmente pesado, especialmente em runners de CI efêmeros onde armazenar uma chave de assinatura é arriscado. A assinatura keyless do Cosign usa certificados de vida curta atrelados a uma identidade OIDC (por exemplo, a identidade do seu job de CI), então não há secret de vida longa para vazar, e cada assinatura é registrada no log de transparência Rekor.

Nativo para containers por design

O Cosign assina e verifica imagens de container por digest e armazena assinaturas junto às imagens no registry, o que o GPG nunca foi projetado para fazer. Para imagens OCI e attestations de supply chain (SBOMs, provenance), o Cosign é o encaixe natural. O GPG continua excelente para assinar releases, commits e pacotes em workflows tradicionais.

No CI

A assinatura keyless do Cosign combina perfeitamente com o CI: o token OIDC do runner torna-se a identidade do assinante, sem secret para gerenciar, e políticas de verificação podem exigir assinaturas antes do deploy. Se você já assina releases com GPG, isso pode continuar em paralelo.

O veredito

Escolha o Cosign para assinar imagens de container e artefatos de supply chain, especialmente com assinatura keyless em CI e logging de transparência; mantenha o GPG para assinatura geral, artefatos de release e commits. Eles atendem a necessidades diferentes e frequentemente coexistem.

Guias relacionados