In NPM si prevede di utilizzare Sigstore per la convalida dell'autenticità dei pacchetti.

GitHub ha aperto una discussione su una proposta per l'implementazione del servizio Sigstore per la verifica dei pacchetti tramite firme digitali e per la gestione di un registro pubblico per confermare l'autenticità nella distribuzione delle release. L'uso di Sigstore permetterà di implementare un ulteriore livello di protezione contro attacchi mirati alla sostituzione di componenti software e dipendenze (supply chain). Ad esempio, la modifica implementata proteggerà i codici sorgente dei progetti in caso di compromissione dell'account di un sviluppatore di una delle dipendenze in NPM e di creazione da parte di un malintenzionato di un aggiornamento del pacchetto con codice malevolo.

Grazie al nuovo livello di protezione, gli sviluppatori potranno legare il pacchetto creato al codice sorgente utilizzato e all'ambiente di build, fornendo all'utente la possibilità di verificare che il contenuto del pacchetto corrisponda a quello dei codici sorgente nel repository principale del progetto. L'applicazione di Sigstore semplifica notevolmente il processo di gestione delle chiavi e consente di eliminare le complessità legate alla registrazione, revoca e gestione delle chiavi crittografiche. Sigstore si propone come analogo di Let’s Encrypt per il codice, fornendo certificati per convalidare il codice con firme digitali e strumenti per automatizzare la verifica.

Invece di chiavi permanenti, Sigstore utilizza chiavi effimere a vita breve, generate in base alle autorizzazioni. Il materiale utilizzato per la firma viene registrato in un log pubblico immutabile, che consente di verificare che l'autore della firma sia effettivamente chi dichiara di essere, e che la firma sia stata creata dallo stesso partecipante responsabile delle release precedenti. Per garantire l'integrità e la protezione contro la manomissione dei dati retroattivamente, 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). Avendo un hash finale, l'utente può accertarsi della correttezza della storia delle operazioni e anche della correttezza dei passati stati del database (l'hash di verifica radice del nuovo stato del database è calcolato tenendo conto dello stato precedente).

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