Il progetto gittuf sviluppa un sistema di protezione crittografica per i repository Git.

È disponibile il rilascio del progetto gittuf 0.4, che sviluppa un sistema gerarchico di verifica del contenuto dei repository Git, consentendo di ridurre i rischi in situazioni di compromissione di singoli sviluppatori che hanno accesso al repository. Gittuf fornisce un ulteriore strato di sicurezza a Git e un insieme di strumenti per gestire le chiavi di tutti gli sviluppatori con accesso al repository e per stabilire regole di accesso per branch, tag e singoli file. Il codice del progetto è scritto in Go e distribuito sotto la licenza Apache 2.0. Il progetto è attualmente in fase attiva di sviluppo e presenta una qualità di rilascio alfa, adatta per esperimenti, ma non ancora pronta per implementazioni in produzione.

Le informazioni e gli artefatti che forniscono una verifica aggiuntiva delle modifiche apportate sono memorizzati nel deposito oggetti Git in uno spazio dei nomi specifico per gittuf, il che consente di mantenere la retrocompatibilità con gli strumenti e i servizi esistenti, inclusi GitHub e GitLab. Quando si utilizzano strumenti senza supporto per gittuf, il repository rimane completamente accessibile, ma è limitata la possibilità di una verifica avanzata della sua integrità. L'architettura di gittuf si basa su elementi collaudati del framework TUF (The Update Framework), utilizzato per proteggere i processi di aggiornamento in progetti come Docker, Fuchsia, AGL (Automotive Grade Linux) e PyPI.

Il modello di verifica in gittuf si basa sull'uso di un sistema gerarchico di distribuzione della fiducia. La radice di fiducia appartiene al proprietario del repository, il quale può generare chiavi per i partecipanti allo sviluppo e definire le regole secondo cui le chiavi generate possono essere utilizzate. Gittuf consente di creare regole granulari flessibili che definiscono i poteri di ogni sviluppatore e l'area del repository in cui possono apportare modifiche. Ad esempio, uno sviluppatore può essere autorizzato a creare tag, effettuare modifiche in specifici branch o modificare solo singoli file nel repository.

Gli sviluppatori e le modifiche che apportano sono identificati tramite chiavi e firme digitali. Gittuf consente di generare nuove chiavi, distribuire le chiavi in modo sicuro, effettuare la rotazione periodica delle chiavi, revocare chiavi compromesse, gestire liste d'accesso (ACL) e spazi dei nomi nei repository Git. Gittuf tiene anche un registro di riferimento di tutte le modifiche (RSL - Reference State Log), la cui integrità e protezione da manipolazioni retroattive sono garantite grazie alla struttura ad albero nota come “albero di Merkle” (Merkle Tree) — ogni ramo verifica tutti i rami e nodi sottostanti grazie all'hashing ad albero (avendo un hash finale, l'utente può assicurarsi della correttezza dell'intera cronologia delle operazioni e della validità degli stati passati).

Per verificare le firme digitali dei commit e dei tag, il proprietario del repository genera e distribuisce chiavi pubbliche, direttamente associate al repository. Per contrastare la diffusione di modifiche malevole create dopo l'accesso alle chiavi per la generazione delle firme digitali di singoli sviluppatori, vengono adottati meccanismi di revoca e sostituzione delle chiavi. Le chiavi hanno un tempo di vita limitato e richiedono un aggiornamento costante per proteggere da firme create con chiavi obsolete.

Fonte: opennet.ru

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