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

È disponibile la versione del progetto gittuf 0.4, che sviluppa un sistema gerarchico di verifica dei contenuti dei repository Git, consentendo di ridurre al minimo i rischi in situazioni di compromissione da parte di singoli sviluppatori con accesso al repository. Gittuf fornisce un ulteriore strato di sicurezza a Git e un insieme di strumenti per la gestione delle chiavi di tutti gli sviluppatori con accesso al repository e la definizione delle regole di accesso a branch, tag e singoli file. Il codice del progetto è scritto in linguaggio Go e distribuito sotto licenza Apache 2.0. Il progetto è attualmente in fase di sviluppo attivo e ha la qualità di una versione alpha, adatta per esperimenti, ma non ancora pronta per implementazioni in produzione.

Le informazioni e gli artefatti che forniscono una ulteriore verifica delle modifiche apportate sono memorizzati in uno spazio di nomi specifico per gittuf all'interno del repository degli oggetti Git, permettendo di mantenere la compatibilità con gli strumenti e i servizi esistenti, tra cui GitHub e GitLab. Quando si utilizzano strumenti che non supportano gittuf, il repository rimane completamente accessibile, ma sono limitate le capacità di 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 creazione degli aggiornamenti 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 della fiducia appartiene al proprietario del repository, che può generare chiavi per i partecipanti allo sviluppo e definire le regole in base alle quali le chiavi generate possono essere utilizzate. Gittuf consente di creare regole granulari flessibili che definiscono le autorizzazioni di ciascun sviluppatore e l'ambito del repository in cui ha la possibilità di apportare modifiche. Ad esempio, uno sviluppatore può essere autorizzato a creare tag, apportare modifiche a branch specifici 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 rotazioni periodiche delle chiavi, revocare chiavi compromesse, gestire liste di accesso (ACL) e spazi dei nomi nei repository Git. Gittuf esegue anche la registrazione di un log di riferimento (RSL - Reference State Log) di tutte le modifiche, garantendo l'integrità e la protezione da alterazioni retroattive tramite una struttura ad albero chiamata 'albero di Merkle' (Merkle Tree) — ogni ramo verifica tutti i rami e i nodi sottostanti grazie all'hashing ad albero (con un hash finale, l'utente può verificare la correttezza dell'intera storia delle operazioni, così come la correttezza degli stati passati).

Per verificare le firme digitali dei commit e dei tag, il proprietario del repository crea e distribuisce chiavi pubbliche che sono direttamente associate al repository. Per contrastare il progresso delle modifiche da parte degli aggressori, effettuate dopo aver ottenuto l'accesso alle chiavi per la creazione delle firme digitali degli sviluppatori, vengono applicati meccanismi di revoca e sostituzione delle chiavi. Le chiavi hanno un tempo di vita limitato e richiedono un aggiornamento costante per proteggere dalla creazione di firme con chiavi obsolete.

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