Red Hat und Google haben Sigstore eingeführt, einen Dienst zur kryptografischen Code-Verifizierung

Red Hat und Google gründeten zusammen mit der Purdue University das Sigstore-Projekt mit dem Ziel, Tools und Dienste zur Überprüfung von Software mithilfe digitaler Signaturen und zur Führung eines öffentlichen Protokolls zur Bestätigung der Authentizität (Transparenzprotokoll) zu entwickeln. Das Projekt wird unter der Schirmherrschaft der gemeinnützigen Organisation Linux Foundation entwickelt.

Das vorgeschlagene Projekt wird die Sicherheit von Software-Vertriebskanälen verbessern und vor Angriffen schützen, die auf den Austausch von Softwarekomponenten und -abhängigkeiten (Lieferkette) abzielen. Eines der größten Sicherheitsprobleme bei Open-Source-Software ist die Schwierigkeit, die Quelle des Programms und den Erstellungsprozess zu überprüfen. Beispielsweise verwenden die meisten Projekte Hashes, um die Integrität einer Veröffentlichung zu überprüfen. Oft werden die für die Authentifizierung erforderlichen Informationen jedoch auf ungeschützten Systemen und in gemeinsam genutzten Code-Repositorys gespeichert, wodurch Angreifer die für die Überprüfung erforderlichen Dateien gefährden und böswillige Änderungen einführen können ohne Verdacht zu erregen.

Aufgrund der Schwierigkeiten bei der Verwaltung von Schlüsseln, der Verteilung öffentlicher Schlüssel und dem Widerruf kompromittierter Schlüssel verwendet nur ein kleiner Teil der Projekte digitale Signaturen bei der Verteilung von Releases. Damit die Verifizierung sinnvoll ist, ist es auch notwendig, einen zuverlässigen und sicheren Prozess zur Verteilung öffentlicher Schlüssel und Prüfsummen zu organisieren. Selbst bei einer digitalen Signatur ignorieren viele Benutzer die Verifizierung, weil sie Zeit damit verbringen müssen, den Verifizierungsprozess zu studieren und herauszufinden, welcher Schlüssel vertrauenswürdig ist.

Sigstore wird als Äquivalent zu Let's Encrypt für Code angepriesen und bietet Zertifikate zum digitalen Signieren von Code und Tools zur Automatisierung der Verifizierung. Mit Sigstore können Entwickler anwendungsbezogene Artefakte wie Release-Dateien, Container-Images, Manifeste und ausführbare Dateien digital signieren. Eine Besonderheit von Sigstore besteht darin, dass das zum Signieren verwendete Material in einem manipulationssicheren öffentlichen Protokoll widergespiegelt wird, das zur Überprüfung und Prüfung verwendet werden kann.

Anstelle permanenter Schlüssel verwendet Sigstore kurzlebige ephemere Schlüssel, die auf der Grundlage von Anmeldeinformationen generiert werden, die von OpenID Connect-Anbietern bestätigt wurden (zum Zeitpunkt der Generierung von Schlüsseln für eine digitale Signatur identifiziert sich der Entwickler über einen mit einer E-Mail verknüpften OpenID-Anbieter). Die Authentizität der Schlüssel wird mithilfe eines öffentlichen zentralen Protokolls überprüft, wodurch überprüft werden kann, ob der Autor der Signatur genau der ist, für den er sich ausgibt, und dass die Signatur von demselben Teilnehmer erstellt wurde, der für frühere Veröffentlichungen verantwortlich war.

Sigstore bietet sowohl einen vorgefertigten Dienst, den Sie bereits nutzen können, als auch eine Reihe von Tools, mit denen Sie ähnliche Dienste auf Ihren eigenen Geräten bereitstellen können. Der Dienst ist für alle Entwickler und Softwareanbieter kostenlos und wird auf einer neutralen Plattform bereitgestellt – der Linux Foundation. Alle Komponenten des Dienstes sind Open Source, in Go geschrieben und werden unter der Apache 2.0-Lizenz vertrieben.

Zu den entwickelten Komponenten zählen:

  • Rekor ist eine Protokollimplementierung zum Speichern digital signierter Metadaten, die Informationen über Projekte widerspiegeln. Um die Integrität sicherzustellen und nachträglich vor Datenbeschädigung zu schützen, wird eine baumartige Struktur „Merkle Tree“ verwendet, bei der jeder Zweig dank gemeinsamem (baumartigem) Hashing alle zugrunde liegenden Zweige und Knoten überprüft. Mit dem endgültigen Hash kann der Benutzer die Richtigkeit des gesamten Betriebsverlaufs sowie die Richtigkeit der vergangenen Zustände der Datenbank überprüfen (der Root-Verifizierungs-Hash des neuen Zustands der Datenbank wird unter Berücksichtigung des vergangenen Zustands berechnet). ). Zum Überprüfen und Hinzufügen neuer Datensätze wird eine Restful API sowie eine CLI-Schnittstelle bereitgestellt.
  • Fulcio (SigStore WebPKI) ist ein System zur Erstellung von Zertifizierungsstellen (Root-CAs), die kurzlebige Zertifikate basierend auf über OpenID Connect authentifizierten E-Mails ausstellen. Die Lebensdauer des Zertifikats beträgt 20 Minuten, in denen der Entwickler Zeit haben muss, eine digitale Signatur zu erstellen (falls das Zertifikat später in die Hände eines Angreifers gerät, ist es bereits abgelaufen).
  • Сosign (Container Signing) ist ein Toolkit zum Generieren von Signaturen für Container, zum Überprüfen von Signaturen und zum Platzieren signierter Container in Repositorys, die mit OCI (Open Container Initiative) kompatibel sind.

Source: opennet.ru

Kommentar hinzufügen