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.
| Cosign | GPG | |
|---|---|---|
| Feito para | Containers, artefatos OCI, supply chain | Assinatura/criptografia de propósito geral |
| Chaves | Keyless (OIDC) ou pares de chaves | Pares de chaves de vida longa que você gerencia |
| Log de transparência | Sim (Rekor) | Não |
| Suporte a containers | Primeira classe (assina imagens por digest) | Manual, não nativo para containers |
| Carga de gerenciamento de chaves | Baixa com keyless | Maior (rotação, distribuição) |
| Maturidade | Mais novo, amplamente adotado | Dé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.