Bekanntgabe der Fertigstellung des Krypto-Verifizierungssystems Sigstore

Google hat die ersten stabilen Versionen der Komponenten bekannt gegeben, die das Sigstore-Projekt bilden, das in der Erstellung von produktiven Implementierungen als geeignet erachtet wird. Sigstore entwickelt Werkzeuge und Dienste zur Verifizierung von Software mittels digitaler Signaturen und zur Führung eines öffentlichen Logs, das die Authentizität von Änderungen belegt (Transparency-Log). Das Projekt wird unter dem Dach der gemeinnützigen Organisation Linux Foundation von Unternehmen wie Google, Red Hat, Cisco, VMware, GitHub und HP Enterprise sowie mit Beteiligung der OpenSSF (Open Source Security Foundation) und der Purdue University vorangetrieben.

Sigstore kann als das Pendant zu Let’s Encrypt für Code betrachtet werden, das Zertifikate zur Bestätigung von Code durch digitale Signaturen und ein Toolkit zur Automatisierung der Verifizierung bereitstellt. Mit Sigstore können Entwickler digitale Signaturen für anwendungsspezifische Artefakte erstellen, wie z. B. Release-Dateien, Container-Images, Manifeste und ausführbare Dateien. Das Material, das zur Signierung verwendet wird, wird in einem unmodifizierbaren öffentlichen Log erfasst, das zur Überprüfung und Prüfung verwendet werden kann.

Anstelle von permanenten Schlüsseln verwendet Sigstore kurzlebige, ephemeral Schlüssel, die auf der Grundlage von Berechtigungen generiert werden, die von OpenID Connect-Anbietern bestätigt werden (zum Zeitpunkt der Schlüsselerzeugung, die zur Erstellung einer digitalen Signatur erforderlich ist, identifiziert sich der Entwickler über den OpenID-Anbieter mit einer E-Mail-Adresse). Die Authentizität der Schlüssel wird durch ein öffentliches zentrales Protokoll überprüft, das sicherstellt, dass der Unterzeichner tatsächlich die Person ist, für die er sich ausgibt, und dass die Signatur von demselben Teilnehmer erstellt wurde, der auch für frühere Releases verantwortlich war.

Die Bereitschaft von Sigstore zur Implementierung ist durch die Freigabe zweier Schlüsselkomponenten - Rekor 1.0 und Fulcio 1.0 - gegeben, deren Programmierschnittstellen als stabil erklärt wurden und die künftig rückwärtskompatibel bleiben. Die Komponenten des Dienstes sind in der Programmiersprache Go geschrieben und stehen unter der Lizenz Apache 2.0.

Die Rekor-Komponente bietet eine Implementierung eines Log-Systems zur Speicherung von mit digitalen Signaturen zertifizierten Metadaten, die Informationen über Projekte widerspiegeln. Um die Integrität zu gewährleisten und Datenmanipulationen rückwirkend zu verhindern, kommt eine baumartige Struktur, das „Merkle-Baum“-Modell, zum Einsatz. Dabei verifiziert jeder Ast alle darunter liegenden Äste und Knoten durch eine gemeinsame (baumartige) Hashing-Methode. Mit einem endgültigen Hash kann der Benutzer die Korrektheit der gesamten Transaktionshistorie sowie der vorherigen Zustände der Datenbank überprüfen (der Wurzel-Hash des neuen Zustands wird unter Berücksichtigung des vorherigen Zustands berechnet). Um neue Einträge zu verifizieren und hinzuzufügen, steht ein RESTful API sowie eine Kommandozeilen-Schnittstelle zur Verfügung.

Die Fulcio-Komponente (SigStore WebPKI) umfasst ein System zur Erstellung von Zertifizierungsstellen (Root CA), die kurzlebige Zertifikate basierend auf E-Mail ausstellen, die über OpenID Connect authentifiziert werden. Die Lebensdauer des Zertifikats beträgt 20 Minuten, in denen der Entwickler eine digitale Signatur erstellen muss (wenn das Zertifikat später in die falschen Hände gerät, ist es bereits abgelaufen). Zusätzlich wird im Rahmen des Projekts das Tool Cosign (Container Signing) entwickelt, das zur Erstellung von Container-Signaturen, zur Überprüfung von Signaturen und zur Ablage von signierten Containern in OCI-kompatiblen Repositories dient.

Die Implementierung von Sigstore erhöht die Sicherheit der Vertriebswege von Software und schützt vor Angriffen, die auf das Ersetzen von Bibliotheken und Abhängigkeiten (Supply Chain) abzielen. Ein zentrales Sicherheitsproblem in der Open-Source-Software ist die Schwierigkeit, die Quelle des Programms zu überprüfen und den Build-Prozess zu verifizieren. Beispielsweise nutzen die meisten Projekte zur Überprüfung der Integrität eines Releases Hashes, doch oft wird die zur Authentifizierung benötigte Information auf ungeschützten Systemen und in öffentlichen Koderepositories gespeichert. Dadurch können Angreifer die für die Verifizierung notwendigen Dateien austauschen und, ohne Verdacht zu erregen, schädliche Änderungen einfügen.

Der Einsatz digitaler Signaturen zur Verifizierung von Releases hat bisher aufgrund von Schwierigkeiten bei der Verwaltung der Schlüssel, der Verteilung öffentlicher Schlüssel und dem Widerruf kompromittierter Schlüssel noch keine breite Akzeptanz gefunden. Damit eine Verifizierung sinnvoll ist, ist zudem ein zuverlässiger und sicherer Prozess zur Verteilung öffentlicher Schlüssel und Prüfziffern erforderlich. Selbst bei Vorhandensein einer digitalen Signatur ignorieren viele Benutzer die Überprüfung, da sie Zeit aufwenden müssen, um den Verifizierungsprozess zu verstehen und herauszufinden, welcher Schlüssel vertrauenswürdig ist. Das Projekt Sigstore versucht, diese Prozesse zu vereinfachen und zu automatisieren, indem es eine bereite und geprüfte Lösung anbietet.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster