Das Projekt gittuf entwickelt ein kryptographisches Schutzsystem für Git-Repositories

Die Veröffentlichung des Projekts gittuf 0.4 ist verfügbar, das ein hierarchisches System zur Verifizierung von Inhalten in Git-Repositories entwickelt, um Risiken bei einer Kompromittierung einzelner Entwickler, die Zugriff auf das Repository haben, zu minimieren. Gittuf bietet eine zusätzliche Sicherheitsebene für Git und ein Set von Tools zur Verwaltung der Schlüssel aller Entwickler, die Zugriff auf das Repository haben, sowie zur Regelung des Zugriffs auf Branches, Tags und einzelne Dateien. Der Code des Projekts ist in Go geschrieben und steht unter der Apache 2.0 Lizenz. Das Projekt befindet sich in aktiver Entwicklung und hat die Qualität einer Alpha-Version, die für Experimente geeignet ist, aber derzeit noch nicht für den produktiven Einsatz bereit ist.

Informationen und Artefakte, die eine zusätzliche Verifizierung der vorgenommenen Änderungen ermöglichen, werden in einem spezifischen Git-Objektspeicher in einem eigenen Namensraum für gittuf gespeichert, was die Rückwärtskompatibilität mit vorhandenen Tools und Diensten, einschließlich GitHub und GitLab, gewährleistet. Bei der Verwendung von Tools ohne Unterstützung für gittuf bleibt das Repository vollständig zugänglich, jedoch ist die Möglichkeit zur erweiterten Verifizierung seiner Integrität eingeschränkt. Die Architektur von gittuf basiert auf bewährten Elementen des TUF (The Update Framework), das zum Schutz der Update-Prozesse in Projekten wie Docker, Fuchsia, AGL (Automotive Grade Linux) und PyPI eingesetzt wird.

Das Verifizierungsmodell in gittuf basiert auf der Anwendung eines hierarchischen Systems zur Verteilung von Vertrauen. Der Vertrauenswurzel (root of trust) gehört dem Besitzer des Repositories, der Schlüssel für die Mitwirkenden erzeugen und Regeln festlegen kann, nach denen die erstellten Schlüssel verwendet werden dürfen. Gittuf ermöglicht es, flexible, granulare Regeln zu erstellen, die die Berechtigungen jedes Entwicklers und den Bereich des Repositories definieren, in dem er Änderungen vornehmen kann. Zum Beispiel kann ein Entwickler autorisiert werden, Tags zu erstellen, Änderungen in bestimmten Branches vorzunehmen oder nur einzelne Dateien im Repository zu ändern.

Entwickler und die von ihnen vorgenommenen Änderungen werden durch Schlüssel und digitale Signaturen identifiziert. Gittuf ermöglicht das Generieren neuer Schlüssel, die sichere Verbreitung von Schlüsseln, die regelmäßige Rotation von Schlüsseln, den Widerruf kompromittierter Schlüssel, das Management von Zugriffskontrolllisten (ACL) sowie von Namensräumen in Git-Repositorys. Gittuf führt auch das Führen eines Referenzlogs aller Änderungen (RSL - Reference State Log) durch, dessen Integrität und Schutz vor nachträglicher Manipulation durch eine baumartige Struktur, den Merkle-Baum, gewährleistet werden. Jeder Zweig verifiziert alle darunter liegenden Zweige und Knoten dank baumartiger Hashing-Techniken (Durch den End-Hash kann der Benutzer die Richtigkeit der gesamten Historie der Operationen sowie die Korrektheit der früheren Zustände überprüfen).

Zur Verifizierung digitaler Signaturen von Commits und Tags erstellt und verteilt der Repository-Besitzer öffentliche Schlüssel, die direkt mit dem Repository assoziiert sind. Um dem Missbrauch von Änderungen entgegenzuwirken, die nach dem Zugriff auf die Schlüssel, um digitale Signaturen bestimmter Entwickler zu erstellen, durch Angreifer vorgenommen wurden, werden Widerrufs- und Austauschmechanismen für Schlüssel eingesetzt. Schlüssel haben eine begrenzte Lebensdauer und erfordern regelmäßige Aktualisierungen, um zu verhindern, dass alte Schlüssel für die Erstellung von Signaturen verwendet werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4