Sigstore GA: firma crittografica di artefatti software senza chiavi da gestire

Sigstore GA ottobre 2022 (Linux Foundation, Red Hat, Google, Chainguard): cosign per firmare container e SBOM, Fulcio come CA short-lived OIDC-based, Rekor come transparency log pubblico. Supply chain security senza key management.

Cyber SecurityOpen Source SigstorecosignFulcioRekorSupply ChainCyber SecurityOIDCOpen Source

Il problema della firma crittografica

Firmare un artefatto software (container image, binario, SBOM, commit Git) consente al consumatore di verificare provenienza e integrità. Storicamente il tema è stato ostacolato dalla gestione della chiave privata:

  • Chi genera la chiave?
  • Dove la conserva?
  • Come la protegge da compromissione?
  • Come la ruota?
  • Come la revoca se compromessa?

Per progetti open source con molti maintainer distribuiti, queste domande hanno risposte operative difficili. Il risultato: firma poco diffusa.

Sigstore

Sigstore — progetto avviato nel marzo 2021 con sponsorship di Red Hat, Google, Purdue University, Chainguard e altri, sotto Linux Foundation — risponde al problema con un’idea innovativa: firma con chiavi effimere legate a identità OIDC.

Al 17 ottobre 2022 Sigstore raggiunge General Availability con servizi pubblici stabili. Licenza Apache 2.0.

I tre componenti

cosign

Il client CLI. Firma e verifica:

  • Container images (OCI registry)
  • Software artifacts (binari, tarball)
  • SBOM (SPDX, CycloneDX)
  • Helm charts

Modalità operative:

  • Keyless (raccomandata) — usa identità OIDC del maintainer
  • Key-based — chiavi tradizionali, per compatibilità

Fulcio

Certificate Authority short-lived operata da Sigstore. Flow:

  1. Maintainer esegue cosign sign container-image:tag
  2. cosign apre browser per autenticazione OIDC (Google, GitHub, Microsoft, GitLab)
  3. Fulcio emette certificato X.509 con validità 10 minuti, legato all’identità OIDC
  4. cosign firma l’artefatto con la chiave privata, che viene scartata dopo la firma
  5. La firma + certificato sono pubblicate su Rekor

Il maintainer non gestisce mai chiavi persistenti: ogni firma è effimera, l’identità è OIDC.

Rekor

Transparency log pubblico e append-only, basato su Merkle tree con log di integrità (simile a Certificate Transparency). Ogni firma Sigstore è inserita in Rekor con:

  • Hash dell’artefatto
  • Firma + certificato Fulcio
  • Timestamp
  • Indice di inclusione

I verificatori possono:

  1. Prendere un container image
  2. Calcolarne l’hash
  3. Cercare il hash in Rekor
  4. Confermare che sia stato firmato da un’identità attesa

Il log è trustworthy per design: modifiche retroattive romperebbero le proof Merkle e sarebbero rilevabili.

Gitsign

Estensione per firmare Git commit con Sigstore invece di GPG. Comando: git commit -S con gitsign come gpg program. Benefici:

  • No gestione di chiavi GPG (notoriamente fastidiose)
  • Identità commit collegata a OIDC (il tuo @azienda.com, @github.com)
  • Verifica commit via Rekor log

Adozione

Al GA ottobre 2022 Sigstore ha già adozione significativa:

  • Kubernetes — tutte le release firmate Sigstore
  • npm — firma di pacchetti (primi packages firmati)
  • Python Package Index (PyPI) — in rollout
  • GitHub — GitHub Actions pubblica provenance Sigstore su artifact
  • Distroless images (Google) — firmate
  • Homebrew — planning integration

Regulatory

Sigstore soddisfa requisiti di SLSA level 3+ su artifact provenance. È citato in:

  • Executive Order 14028 (USA, 2021) per software supply chain
  • CISA Secure Software Development Framework
  • EU Cyber Resilience Act (proposta 2022)

Nel contesto italiano

Al 2022 Sigstore è ancora agli inizi dell’adozione italiana:

  • Team DevOps avanzati su K8s — integrano cosign in pipeline
  • Software house con export verso USA — abilitano Sigstore per compliance EO 14028
  • PA — osservano, adozione più lenta

Riferimenti: Sigstore GA (17 ottobre 2022). Linux Foundation, Red Hat, Google, Purdue University, Chainguard. Licenza Apache 2.0. Componenti: cosign, Fulcio (CA), Rekor (transparency log), gitsign. OIDC (Google, GitHub, Microsoft). Integrazione: Kubernetes, npm, PyPI, GitHub Actions.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi