Red Hat en Google introduceerden Sigstore, een dienst voor cryptografische codeverificatie

Red Hat en Google hebben samen met Purdue University het Sigstore-project opgericht, gericht op het creëren van tools en diensten voor het verifiëren van software met behulp van digitale handtekeningen en het bijhouden van een openbaar logboek om de authenticiteit te bevestigen (transparantielogboek). Het project zal worden ontwikkeld onder auspiciën van de non-profitorganisatie Linux Foundation.

Het voorgestelde project zal de veiligheid van softwaredistributiekanalen verbeteren en beschermen tegen aanvallen gericht op het vervangen van softwarecomponenten en afhankelijkheden (supply chain). Een van de belangrijkste beveiligingsproblemen bij open source-software is de moeilijkheid om de bron van het programma en het bouwproces te verifiëren. De meeste projecten gebruiken bijvoorbeeld hashes om de integriteit van een release te verifiëren, maar vaak wordt de informatie die nodig is voor authenticatie opgeslagen op onbeveiligde systemen en in gedeelde codeopslagplaatsen, waardoor aanvallers de bestanden die nodig zijn voor verificatie kunnen compromitteren en kwaadaardige wijzigingen kunnen doorvoeren. zonder argwaan te wekken.

Slechts een klein deel van de projecten maakt gebruik van digitale handtekeningen bij het distribueren van releases vanwege de problemen bij het beheren van sleutels, het distribueren van publieke sleutels en het intrekken van gecompromitteerde sleutels. Om verificatie zinvol te maken, is het ook noodzakelijk om een ​​betrouwbaar en veilig proces te organiseren voor het distribueren van publieke sleutels en checksums. Zelfs met een digitale handtekening negeren veel gebruikers de verificatie omdat ze tijd moeten besteden aan het bestuderen van het verificatieproces en het begrijpen welke sleutel betrouwbaar is.

Sigstore wordt aangeprezen als het equivalent van Let's Encrypt voor code en biedt certificaten voor het digitaal ondertekenen van code en tools voor het automatiseren van verificatie. Met Sigstore kunnen ontwikkelaars applicatiegerelateerde artefacten, zoals releasebestanden, containerimages, manifesten en uitvoerbare bestanden, digitaal ondertekenen. Bijzonder aan Sigstore is dat het materiaal dat wordt gebruikt voor ondertekening wordt weerspiegeld in een fraudebestendig openbaar logboek dat kan worden gebruikt voor verificatie en auditing.

In plaats van permanente sleutels gebruikt Sigstore kortstondige sleutels, die worden gegenereerd op basis van inloggegevens die zijn bevestigd door OpenID Connect-providers (op het moment dat sleutels voor een digitale handtekening worden gegenereerd, identificeert de ontwikkelaar zichzelf via een OpenID-provider die aan een e-mail is gekoppeld). De authenticiteit van de sleutels wordt geverifieerd met behulp van een openbaar gecentraliseerd logboek, dat het mogelijk maakt om te verifiëren dat de auteur van de handtekening precies is wie hij beweert te zijn en dat de handtekening is gevormd door dezelfde deelnemer die verantwoordelijk was voor eerdere releases.

Sigstore biedt zowel een kant-en-klare dienst die u al kunt gebruiken, als een set tools waarmee u soortgelijke diensten op uw eigen apparatuur kunt inzetten. De dienst is gratis voor alle ontwikkelaars en softwareleveranciers en wordt ingezet op een neutraal platform: de Linux Foundation. Alle componenten van de dienst zijn open source, geschreven in Go en gedistribueerd onder de Apache 2.0-licentie.

Onder de ontwikkelde componenten kunnen we het volgende opmerken:

  • Rekor is een logimplementatie voor het opslaan van digitaal ondertekende metagegevens die informatie over projecten weerspiegelen. Om de integriteit te garanderen en te beschermen tegen gegevenscorruptie achteraf, wordt een Merkle Tree-boomstructuur gebruikt, waarbij elke tak alle onderliggende takken en knooppunten verifieert, dankzij gezamenlijke (boomachtige) hashing. Met de laatste hash kan de gebruiker de juistheid van de gehele geschiedenis van bewerkingen verifiëren, evenals de juistheid van de eerdere statussen van de database (de rootverificatiehash van de nieuwe status van de database wordt berekend rekening houdend met de vroegere staat ). Om nieuwe records te verifiëren en toe te voegen, is er een Restful API beschikbaar, evenals een cli-interface.
  • Fulcio (SigStore WebPKI) is een systeem voor het creëren van certificeringsautoriteiten (Root-CA's) die kortlopende certificaten uitgeven op basis van e-mail die is geverifieerd via OpenID Connect. De levensduur van het certificaat is 20 minuten, waarbij de ontwikkelaar de tijd moet hebben om een ​​digitale handtekening te genereren (als het certificaat later in handen komt van een aanvaller, is het al verlopen).
  • Сosign (Container Signing) is een toolkit voor het genereren van handtekeningen voor containers, het verifiëren van handtekeningen en het plaatsen van ondertekende containers in repositories die compatibel zijn met OCI (Open Container Initiative).

Bron: opennet.ru

Voeg een reactie