O Que É uma Chave Pública? Explicado
Uma chave pública é a metade compartilhável de um par de chaves criptográficas, usada para verificar assinaturas e criptografar mensagens para o dono da chave.
Uma chave pública é feita para ser distribuída. É a contraparte de uma chave privada, e ao contrário de sua parceira secreta, é seguro - na verdade útil - publicá-la amplamente. As pessoas usam sua chave pública para verificar suas assinaturas e para criptografar dados que só você pode ler. No CI, chaves públicas são como um pipeline confirma que um artifact, imagem ou commit realmente veio de um signatário confiável.
O que é uma chave pública
Uma chave pública é uma metade de um par de chaves, derivada da chave privada mas segura de compartilhar. Ela verifica o que a chave privada assina e criptografa dados que apenas a chave privada pode descriptografar. Distribuí-la não compromete a segurança, porque ela não pode ser usada para assinar ou descriptografar.
O que uma chave pública faz
Duas tarefas complementares às da chave privada: verificação e criptografia. Você verifica uma assinatura com a chave pública do signatário para confirmar autoria e integridade. Você criptografa dados com a chave pública de um destinatário para que apenas ele, que possui a chave privada, possa lê-los.
Por que é seguro publicá-la
A matemática é de mão única: conhecer uma chave pública não revela a chave privada. Então você pode publicá-la em um repositório, um servidor de chaves ou um certificado. O ponto central da criptografia de chave pública é que a distribuição ampla da chave pública permite verificação sem nunca expor o segredo.
Chaves públicas no CI
Um pipeline verifica artifacts assinados usando uma chave pública confiável: confirmar que um commit assinado, um release assinado ou uma imagem de container assinada vieram do signatário esperado. Chaves de deploy SSH e passos de verificação de assinatura ambos dependem de ter a chave pública correta configurada como confiável.
# Verify a signed image with a public key in CI
steps:
- run: cosign verify --key cosign.pub \
ghcr.io/acme/app:1.4.0Nota Latchkey
Verificar assinaturas com uma chave pública é um passo de CLI comum que roda igual nos runners Latchkey, então adicionar um portão de verificação de assinatura ao seu pipeline não precisa de configuração específica do Latchkey.
Principais conclusões
- Uma chave pública é a metade compartilhável de um par de chaves, usada para verificar assinaturas e criptografar para seu dono.
- Ela não pode assinar nem descriptografar, então publicá-la é seguro e é o uso pretendido.
- O CI usa chaves públicas para verificar que commits, releases e imagens assinados vieram de um signatário confiável.