Skip to content
Latchkey

O Que É Assinatura Keyless? Assinar Sem Gerenciar Chaves

A assinatura keyless produz uma assinatura válida usando um certificado de curta duração vinculado à sua identidade, então não há chave privada de longa duração para armazenar, proteger ou perder.

O termo "keyless" é um tanto enganoso: as chaves ainda existem, mas apenas por instantes. A assinatura keyless gera uma nova chave de assinatura, obtém um certificado vinculado à sua identidade autenticada, assina e descarta a chave. A prova de quem assinou vive no certificado e em um log de transparência, não em um cofre que você tem que proteger para sempre.

O problema com chaves de longa duração

Uma chave de assinatura tradicional precisa ser gerada, armazenada com segurança, ter backup e nunca vazar, por anos. Se ela vazar, cada assinatura que já fez se torna suspeita, e rotacioná-la é disruptivo. Chaves de longa duração são um risco permanente.

Como o keyless evita isso

  • Autentique-se com uma identidade existente (um token OIDC).
  • Uma CA emite um certificado válido por apenas alguns minutos.
  • Gere uma chave efêmera, assine e descarte-a.
  • Registre a assinatura e o certificado em um log público.

De onde vem a confiança

A verificação não depende de reconhecer uma chave pública armazenada. Ela depende do certificado (provando qual identidade assinou) e do log de transparência (provando que a assinatura existiu). A confiança muda de "proteja esta chave" para "confie nesta identidade e neste log".

Por que o CI se beneficia mais

O CI é exatamente onde chaves de longa duração são mais arriscadas: muitos jobs, muitas pessoas, muita automação. A assinatura keyless permite que um pipeline assine usando sua workload identity, sem nada durável para vazar, razão pela qual projetos como o Sigstore foram construídos em torno dela.

A identidade precisa ser confiável

A assinatura keyless é apenas tão forte quanto a identidade por trás dela. O token OIDC que um pipeline apresenta precisa ser emitido por um ambiente de build confiável e isolado, para que um atacante não possa se passar pelo builder e assinar artefatos maliciosos.

Principais conclusões

  • A assinatura keyless usa certificados de curta duração vinculados à identidade em vez de chaves armazenadas.
  • A confiança muda de proteger uma chave para verificar uma identidade e um log de transparência.
  • Ela remove o maior risco de assinar em pipelines de CI automatizados.

Guias relacionados