Red Hat e Google hanno introdotto Sigstore, un servizio per la verifica del codice crittografico

Red Hat e Google, insieme alla Purdue University, hanno fondato il progetto Sigstore, volto a creare strumenti e servizi per verificare il software utilizzando firme digitali e mantenere un registro pubblico per confermarne l'autenticità (transparency log). Il progetto sarà sviluppato sotto gli auspici dell'organizzazione no-profit Linux Foundation.

Il progetto proposto migliorerà la sicurezza dei canali di distribuzione del software e proteggerà dagli attacchi volti a sostituire componenti e dipendenze del software (catena di fornitura). Uno dei principali problemi di sicurezza nel software open source è la difficoltà di verificare l'origine del programma e verificare il processo di creazione. Ad esempio, la maggior parte dei progetti utilizza gli hash per verificare l'integrità di una versione, ma spesso le informazioni necessarie per l'autenticazione vengono archiviate su sistemi non protetti e in repository di codice condivisi, in seguito ai quali gli aggressori possono compromettere i file necessari per la verifica e introdurre modifiche dannose. senza destare sospetti.

Solo una piccola percentuale di progetti utilizza le firme digitali durante la distribuzione delle versioni a causa delle difficoltà nella gestione delle chiavi, nella distribuzione delle chiavi pubbliche e nella revoca delle chiavi compromesse. Affinché la verifica abbia senso, è anche necessario organizzare un processo affidabile e sicuro per la distribuzione delle chiavi pubbliche e dei checksum. Anche con una firma digitale, molti utenti ignorano la verifica perché devono dedicare tempo allo studio del processo di verifica e alla comprensione della chiave affidabile.

Sigstore è pubblicizzato come l'equivalente di Let's Encrypt for code, fornendo certificati per la firma digitale del codice e strumenti per automatizzare la verifica. Con Sigstore, gli sviluppatori possono firmare digitalmente gli artefatti relativi alle applicazioni come file di rilascio, immagini di contenitori, manifest ed eseguibili. Una caratteristica speciale di Sigstore è che il materiale utilizzato per la firma si riflette in un registro pubblico a prova di manomissione che può essere utilizzato per la verifica e l'auditing.

Al posto delle chiavi permanenti, Sigstore utilizza chiavi temporanee di breve durata, che vengono generate in base alle credenziali confermate dai provider OpenID Connect (al momento della generazione delle chiavi per una firma digitale, lo sviluppatore si identifica tramite un provider OpenID collegato a un'e-mail). L'autenticità delle chiavi viene verificata utilizzando un registro pubblico centralizzato, che consente di verificare che l'autore della firma sia esattamente chi afferma di essere e che la firma sia stata apposta dallo stesso partecipante responsabile delle versioni precedenti.

Sigstore fornisce sia un servizio già pronto che puoi già utilizzare, sia una serie di strumenti che ti consentono di implementare servizi simili sulle tue apparecchiature. Il servizio è gratuito per tutti gli sviluppatori e fornitori di software ed è distribuito su una piattaforma neutrale: la Linux Foundation. Tutti i componenti del servizio sono open source, scritti in Go e distribuiti sotto la licenza Apache 2.0.

Tra i componenti sviluppati possiamo notare:

  • Rekor è un'implementazione di registro per l'archiviazione di metadati firmati digitalmente che riflettono le informazioni sui progetti. Per garantire l'integrità e proteggere dalla corruzione dei dati a posteriori, viene utilizzata una struttura ad albero "Merkle Tree", in cui ogni ramo verifica tutti i rami e i nodi sottostanti, grazie all'hashing congiunto (ad albero). Avendo l'hash finale, l'utente può verificare la correttezza dell'intera cronologia delle operazioni, nonché la correttezza degli stati passati del database (l'hash di verifica root del nuovo stato del database viene calcolato tenendo conto dello stato passato ). Per verificare e aggiungere nuovi record, viene fornita un'API Restful e un'interfaccia CLI.
  • Fulcio (SigStore WebPKI) è un sistema per la creazione di autorità di certificazione (Root-CA) che emettono certificati di breve durata basati su email autenticate tramite OpenID Connect. La durata del certificato è di 20 minuti, durante i quali lo sviluppatore deve avere il tempo di generare una firma digitale (se il certificato dovesse poi cadere nelle mani di un utente malintenzionato, sarà già scaduto).
  • Сosign (Container Signing) è un toolkit per generare firme per contenitori, verificare le firme e inserire contenitori firmati in repository compatibili con OCI (Open Container Initiative).

Fonte: opennet.ru

Aggiungi un commento