Sigstore kryptografisk verifiseringssystem annonsert

Google annonserte dannelsen av de første stabile utgivelsene av komponentene som utgjør Sigstore-prosjektet, som er erklært egnet for å lage fungerende implementeringer. Sigstore utvikler verktøy og tjenester for programvareverifisering ved bruk av digitale signaturer og vedlikehold av en offentlig logg som bekrefter ektheten av endringer (transparenslogg). Prosjektet utvikles i regi av den ideelle organisasjonen Linux Foundation av Google, Red Hat, Cisco, vmWare, GitHub og HP Enterprise med deltakelse av organisasjonen OpenSSF (Open Source Security Foundation) og Purdue University.

Sigstore kan tenkes på som en analog av Let's Encrypt for kode, som gir sertifikater for digital signering av kode og verktøy for å automatisere verifisering. Med Sigstore kan utviklere digitalt signere applikasjonsrelaterte artefakter som utgivelsesfiler, containerbilder, manifester og kjørbare filer. Signaturmaterialet gjenspeiles i en manipulasjonssikker offentlig logg som kan brukes til verifisering og revisjon.

I stedet for permanente nøkler, bruker Sigstore kortvarige flyktige nøkler, som genereres basert på legitimasjon bekreftet av OpenID Connect-leverandører (på tidspunktet for generering av nøklene som er nødvendige for å lage en digital signatur, identifiserer utvikleren seg gjennom OpenID-leverandøren knyttet til en e-post). Nøklenes autentisitet verifiseres ved hjelp av en offentlig sentralisert logg, som gjør det mulig å verifisere at forfatteren av signaturen er nøyaktig den han utgir seg for å være, og signaturen ble generert av samme deltaker som var ansvarlig for tidligere utgivelser.

Sigstores beredskap for implementering skyldes dannelsen av utgivelser av to nøkkelkomponenter - Rekor 1.0 og Fulcio 1.0, hvis programvaregrensesnitt er erklært stabile og vil fortsette å være bakoverkompatible. Tjenestekomponentene er skrevet i Go og distribuert under Apache 2.0-lisensen.

Rekor-komponenten inneholder en loggimplementering for lagring av digitalt signert metadata som reflekterer informasjon om prosjekter. For å sikre integritet og beskytte mot datakorrupsjon i ettertid, brukes en Merkle Tree-trestruktur, der hver gren verifiserer alle underliggende grener og noder gjennom felles (tre) hashing. Etter å ha den endelige hashen, kan brukeren verifisere riktigheten av hele operasjonshistorikken, så vel som riktigheten av de tidligere tilstandene til databasen (rotverifiserings-hashen til den nye tilstanden til databasen beregnes under hensyntagen til tidligere tilstand ). En RESTful API er tilgjengelig for verifisering og legge til nye poster, samt et kommandolinjegrensesnitt.

Fulcio-komponenten (SigStore WebPKI) inkluderer et system for å lage sertifiseringsmyndigheter (root-CAer) som utsteder kortlivede sertifikater basert på e-post som er autentisert gjennom OpenID Connect. Levetiden til sertifikatet er 20 minutter, hvor utvikleren må ha tid til å generere en digital signatur (hvis sertifikatet senere faller i hendene på en angriper, vil det allerede være utløpt). I tillegg utvikler prosjektet Cosign (Container Signing)-verktøysettet, designet for å generere signaturer for containere, verifisere signaturer og plassere signerte containere i repositories som er kompatible med OCI (Open Container Initiative).

Implementeringen av Sigstore gjør det mulig å øke sikkerheten til programdistribusjonskanaler og beskytte mot angrep rettet mot å erstatte biblioteker og avhengigheter (forsyningskjeden). Et av de viktigste sikkerhetsproblemene i åpen kildekode-programvare er vanskeligheten med å verifisere kilden til programmet og verifisere byggeprosessen. For eksempel bruker de fleste prosjekter hasher for å verifisere integriteten til en utgivelse, men ofte lagres informasjonen som er nødvendig for autentisering på ubeskyttede systemer og i delte kodelagre, som et resultat av at angripere kan kompromittere filene som er nødvendige for verifisering og innføre skadelige endringer uten å vekke mistanke.

Bruken av digitale signaturer for utgivelsesverifisering har ennå ikke blitt utbredt på grunn av vanskeligheter med å administrere nøkler, distribuere offentlige nøkler og tilbakekalle kompromitterte nøkler. For at verifisering skal gi mening, er det i tillegg nødvendig å organisere en pålitelig og sikker prosess for distribusjon av offentlige nøkler og kontrollsummer. Selv med en digital signatur ignorerer mange brukere verifisering fordi de trenger å bruke tid på å lære seg bekreftelsesprosessen og forstå hvilken nøkkel som er pålitelig. Sigstore-prosjektet forsøker å forenkle og automatisere disse prosessene ved å tilby en ferdig og velprøvd løsning.

Kilde: opennet.ru

Legg til en kommentar