Red Hat och Google introducerade Sigstore, en tjänst för verifiering av kryptografisk kod

Red Hat och Google, tillsammans med Purdue University, grundade Sigstore-projektet, som syftade till att skapa verktyg och tjänster för att verifiera programvara med digitala signaturer och upprätthålla en offentlig logg för att bekräfta äktheten (transparenslogg). Projektet kommer att utvecklas i regi av den ideella organisationen Linux Foundation.

Det föreslagna projektet kommer att förbättra säkerheten för distributionskanaler för programvara och skydda mot attacker som syftar till att ersätta programvarukomponenter och beroenden (försörjningskedjan). Ett av de viktigaste säkerhetsproblemen i programvara med öppen källkod är svårigheten att verifiera källan till programmet och verifiera byggprocessen. Till exempel använder de flesta projekt hash för att verifiera integriteten av en utgåva, men ofta lagras informationen som krävs för autentisering på oskyddade system och i delade kodlager, vilket resulterar i att angripare kan äventyra de filer som krävs för verifiering och införa skadliga ändringar utan att väcka misstankar.

Endast en liten del av projekten använder digitala signaturer när de distribuerar utgåvor på grund av svårigheterna med att hantera nycklar, distribuera publika nycklar och återkalla komprometterade nycklar. För att verifieringen ska vara meningsfull är det också nödvändigt att organisera en pålitlig och säker process för att distribuera publika nycklar och kontrollsummor. Även med en digital signatur ignorerar många användare verifiering eftersom de behöver lägga tid på att studera verifieringsprocessen och förstå vilken nyckel som är pålitlig.

Sigstore utses som motsvarigheten till Let's Encrypt for code, som tillhandahåller certifikat för digital signering av kod och verktyg för att automatisera verifiering. Med Sigstore kan utvecklare digitalt signera applikationsrelaterade artefakter som releasefiler, containerbilder, manifest och körbara filer. En speciell egenskap hos Sigstore är att materialet som används för signering återspeglas i en manipuleringssäker offentlig logg som kan användas för verifiering och revision.

Istället för permanenta nycklar använder Sigstore kortlivade tillfälliga nycklar, som genereras baserat på referenser bekräftade av OpenID Connect-leverantörer (vid tidpunkten för generering av nycklar för en digital signatur identifierar sig utvecklaren genom en OpenID-leverantör kopplad till ett e-postmeddelande). Nycklarnas äkthet verifieras med hjälp av en offentlig centraliserad logg, vilket gör det möjligt att verifiera att författaren till signaturen är exakt den han utger sig för att vara och signaturen bildades av samma deltagare som var ansvarig för tidigare utgivningar.

Sigstore tillhandahåller både en färdig tjänst som du redan kan använda, och en uppsättning verktyg som gör att du kan distribuera liknande tjänster på din egen utrustning. Tjänsten är gratis för alla utvecklare och mjukvaruleverantörer och distribueras på en neutral plattform - Linux Foundation. Alla komponenter i tjänsten är öppen källkod, skrivna i Go och distribuerade under Apache 2.0-licensen.

Bland de utvecklade komponenterna kan vi notera:

  • Rekor är en loggimplementation för att lagra digitalt signerad metadata som återspeglar information om projekt. För att säkerställa integritet och skydda mot datakorruption i efterhand, används en trädliknande struktur "Merkle Tree", där varje gren verifierar alla underliggande grenar och noder, tack vare gemensamma (trädliknande) hashing. Med den slutliga hashen kan användaren verifiera riktigheten av hela operationshistoriken, såväl som riktigheten av de tidigare tillstånden i databasen (rotverifieringshashen för databasens nya tillstånd beräknas med hänsyn till det tidigare tillståndet ). För att verifiera och lägga till nya poster tillhandahålls ett Restful API, samt ett cli-gränssnitt.
  • Fulcio (SigStore WebPKI) är ett system för att skapa certifieringsmyndigheter (Root-CA) som utfärdar kortlivade certifikat baserat på e-post som autentiserats via OpenID Connect. Certifikatets livslängd är 20 minuter, under vilken utvecklaren måste ha tid att generera en digital signatur (om certifikatet senare hamnar i händerna på en angripare kommer det redan att löpa ut).
  • Сosign (Container Signing) är en verktygslåda för att generera signaturer för behållare, verifiera signaturer och placera signerade behållare i förråd som är kompatibla med OCI (Open Container Initiative).

Källa: opennet.ru

Lägg en kommentar