Skip to content
Latchkey

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.

Verifying a signature with a public key
# Verify a signed image with a public key in CI
steps:
  - run: cosign verify --key cosign.pub \
      ghcr.io/acme/app:1.4.0

Nota 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.

Guias relacionados