CyberScan
Vulnerability assessment e pentest automatizzato. Asset discovery continuo, AI risk prioritization, NIS2 compliance manager integrato.
Scopri CyberScan →
Cyber Security
Consulenza CISO-as-a-service: postura, roadmap di remediation, supporto continuativo.
Scopri →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:
- Maintainer esegue
cosign sign container-image:tag - cosign apre browser per autenticazione OIDC (Google, GitHub, Microsoft, GitLab)
- Fulcio emette certificato X.509 con validità 10 minuti, legato all’identità OIDC
- cosign firma l’artefatto con la chiave privata, che viene scartata dopo la firma
- 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:
- Prendere un container image
- Calcolarne l’hash
- Cercare il hash in Rekor
- 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.