Red Hat e Google hanno presentato Sigstore, un servizio di verifica crittografica del codice.

Le aziende Red Hat e Google, insieme all'Università di Purdue, hanno fondato il progetto Sigstore, mirato a creare strumenti e servizi per la verifica del software tramite firme digitali e la gestione di un registro pubblico per confermare l'autenticità (transparency log). Il progetto si svilupperà sotto l'egida dell'organizzazione no-profit Linux Foundation.

Il progetto proposto consentirà di aumentare la sicurezza dei canali di distribuzione dei software e di proteggersi dagli attacchi mirati alla sostituzione dei componenti software e delle dipendenze (supply chain). Una delle principali problematiche di sicurezza nel software open source è la complessità di verifica della fonte di origine del programma e della verifica del processo di creazione. Ad esempio, per controllare l'integrità di una release, la maggior parte dei progetti utilizza hash, ma spesso le informazioni necessarie per la verifica dell'autenticità sono memorizzate su sistemi non protetti e in repository pubblici di codice, il cui compromesso consente agli attaccanti di sostituire i file necessari per la verifica e, senza destare sospetti, di introdurre modifiche dannose.

Solo una minima parte dei progetti utilizza firme digitali nella distribuzione delle release a causa delle complessità nella gestione delle chiavi, nella distribuzione delle chiavi pubbliche e del ritiro delle chiavi compromesse. Affinché la verifica abbia senso, è necessario organizzare anche un processo di distribuzione delle chiavi pubbliche e dei checksum che sia affidabile e sicuro. Anche in presenza di una firma digitale, molti utenti ignorano la verifica, poiché è necessario dedicare tempo allo studio del processo di verifica e comprendere quale chiave sia degna di fiducia.

Sigstore è presentato come l'equivalente di Let's Encrypt per il codice, fornendo certificati per la certificazione del codice tramite firme digitali e strumenti per l'automazione della verifica. Con Sigstore gli sviluppatori potranno generare firme digitali per artefatti legati all'applicazione, come file di release, immagini di container, manifesti ed eseguibili. La caratteristica distintiva di Sigstore è che il materiale utilizzato per la firma viene registrato in un registro pubblico protetto da modifiche, che può essere utilizzato per la verifica e l'audit.

Invece di chiavi costanti, in Sigstore vengono utilizzate chiavi effimere a vita breve, generate in base ai diritti confermati dai fornitori di OpenID Connect (al momento della generazione delle chiavi per la firma digitale, lo sviluppatore si identifica tramite il fornitore OpenID collegato all'email). L'autenticità delle chiavi è verificata tramite un registro pubblico centralizzato, che garantisce che l'autore della firma sia esattamente chi afferma di essere e che la firma sia stata formata dallo stesso partecipante responsabile per i rilasci precedenti.

Sigstore offre sia un servizio pronto all'uso, già utilizzabile, sia un insieme di strumenti che consentono di implementare servizi analoghi sulle proprie apparecchiature. Il servizio è gratuito per tutti gli sviluppatori e fornitori di software, ed è ospitato su una piattaforma neutrale — la Linux Foundation. Tutti i componenti del servizio sono open source, scritti in Go e distribuiti con licenza Apache 2.0.

Tra i componenti in fase di sviluppo si possono notare:

  • Rekor — un'implementazione di registro per la conservazione di metadati certificati tramite firme digitali, riflettendo informazioni sui progetti. Per garantire l'integrità e proteggere i dati da alterazioni retroattive, viene utilizzata una struttura ad albero denominata "Albero di Merkle" (Merkle Tree), in cui ogni ramo verifica tutti i rami e nodi sottostanti, grazie a un hashing congiunto (ad albero). Possedendo un hash finale, l'utente può verificare la correttezza dell'intera storia delle operazioni, nonché la correttezza degli stati passati del database (l'hash di verifica radice del nuovo stato del database è calcolato tenendo conto dello stato precedente). Per la verifica e l'aggiunta di nuovi registri, è fornito un'API Restful, oltre a un'interfaccia cli.
  • Fulcio (SigStore WebPKI) — un sistema per la creazione di autorità di certificazione (Root-CA) che rilasciano certificati a vita breve basati su email, autenticati tramite OpenID Connect. La vita del certificato è di 20 minuti, durante i quali lo sviluppatore deve riuscire a formare una firma digitale (se successivamente il certificato dovesse cadere nelle mani di un malintenzionato, esso sarà già scaduto).
  • Cosign (Container Signing) — un insieme di strumenti per la creazione di firme per container, verifica delle firme e pubblicazione di container firmati in repository compatibili con OCI (Open Container Initiative).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster