
Mantém o repositório TUF que entrega com segurança a raiz de confiança do Sigstore (trusted_root.json) aos clientes, usando assinatura por limiar de detentores de chaves, assinatura online via KMS e publicação automatizada.
O projeto root-signing mantém o repositório TUF usado para entregar com segurança a raiz de confiança do Sigstore (trusted_root.json) aos clientes do Sigstore.
O repositório é publicado para consumo pelos clientes do Sigstore em https://tuf-repo-cdn.sigstore.dev/.
As fontes de metadados podem ser encontradas na pasta metadata/, e os artefatos (como trusted_root.json) na pasta targets/. Consulte Operação para mais detalhes sobre como modificar essas fontes.
A segurança do root-signing depende dos detentores de chave: eles devem ser membros confiáveis da comunidade que estejam dispostos e aptos a desempenhar funções de detentor de chave, como verificar o novo conteúdo de trusted_root.json e assinar em eventos de assinatura.
Todas as alterações em artefatos ou metadados exigem assinaturas criptográficas dos detentores de chave do Sigstore. Os detentores de chave atuais, os requisitos de assinatura e o cronograma de assinatura estão documentados no repositório publicado
| Detentores de chave | Mandato |
|---|---|
| Lance Ball | Julho de 2025 - |
| Joshua Lock | Julho de 2022 - |
| Bob Callaway | Junho de 2021 - |
| Marina Moore | Junho de 2021 - |
| Santiago Torres-Arias | Junho de 2021 - |
| Detentores de chave eméritos | Mandato |
|---|---|
| Luke Hinds | Junho de 2021 - Julho de 2022 |
| Dan Lorenc | Junho de 2021 - Julho de 2025 |
O repositório TUF é modificado de duas maneiras:
Eventos de assinatura são pull requests criados e gerenciados pelo root-signing, nos quais os detentores de chave assinam as alterações propostas. Eventos de assinatura ocorrem por vários motivos:
Em todos os casos, o gatilho para a criação de um PR de evento de assinatura é um push para um branch "sign/*" (seja pelo mantenedor ou por um workflow).
Existe um repositório separado root-signing-staging: quaisquer alterações não triviais (em metadados ou nos artefatos) devem ser testadas no root-signing-staging antes de serem introduzidas em um evento de assinatura do root-signing.
A assinatura online ocorre em duas situações:
Na prática, a assinatura online ocorre pelo menos a cada três dias, devido ao vencimento das assinaturas online.
A assinatura online leva a uma implantação de "pré-produção" em https://sigstore.github.io/root-signing/. Este é um repositório TUF totalmente funcional usado para executar tanto testes genéricos de clientes TUF quanto testes específicos de clientes Sigstore (com cosign e outros clientes Sigstore). Testes bem-sucedidos levam à implantação em produção em https://tuf-repo-cdn.sigstore.dev/.
Os workflows importantes no root-signing são:
create-signing-events cria branches para eventos de assinatura quando as assinaturas estão próximas do vencimento.
Executa conforme agendamentosigning-event cria e gerencia os pull requests de eventos de assinatura. Executa quando branches "sign/*"
são enviadosonline-sign faz commit e merge de assinaturas online, também dispara publish. Executa quando
"main" recebe push (mas pode ser disparado manualmente a qualquer momento)publish publica um repositório de teste no GitHub Pages, executa testes de cliente e, por fim, publica
o repositório. Executa por dispatch a partir de online-signAgradecimentos especiais a Dan Lorenc, Trishank Kuppusamy, Marina Moore, Santiago Torres-Arias e toda a comunidade SigStore!
Uma gravação da cerimônia de assinatura está disponível aqui.