Red Hat og Google introduserte Sigstore, en tjeneste for verifisering av kryptografisk kode

Red Hat og Google, sammen med Purdue University, grunnla Sigstore-prosjektet, med sikte på å lage verktøy og tjenester for å verifisere programvare ved hjelp av digitale signaturer og opprettholde en offentlig logg for å bekrefte autentisitet (transparenslogg). Prosjektet skal utvikles i regi av den ideelle organisasjonen Linux Foundation.

Det foreslåtte prosjektet vil forbedre sikkerheten til programvaredistribusjonskanaler og beskytte mot angrep rettet mot å erstatte programvarekomponenter 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.

Bare en liten andel av prosjektene bruker digitale signaturer når de distribuerer utgivelser på grunn av vanskelighetene med å administrere nøkler, distribuere offentlige nøkler og tilbakekalle kompromitterte nøkler. For at verifisering skal gi mening, er det også 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å å studere verifiseringsprosessen og forstå hvilken nøkkel som er pålitelig.

Sigstore er utpekt som ekvivalenten til Let's Encrypt for kode, og gir sertifikater for digital signering av kode og verktøy for automatisering av verifisering. Med Sigstore kan utviklere digitalt signere applikasjonsrelaterte artefakter som utgivelsesfiler, containerbilder, manifester og kjørbare filer. Et særtrekk ved Sigstore er at materialet som brukes til signering reflekteres i en manipulasjonssikker offentlig logg som kan brukes til verifisering og revisjon.

I stedet for permanente nøkler, bruker Sigstore kortlivede flyktige nøkler, som genereres basert på legitimasjon bekreftet av OpenID Connect-leverandører (på tidspunktet for generering av nøkler for en digital signatur, identifiserer utvikleren seg gjennom en OpenID-leverandør 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 dannet av samme deltaker som var ansvarlig for tidligere utgivelser.

Sigstore leverer både en ferdig tjeneste som du allerede kan bruke, og et sett med verktøy som lar deg distribuere lignende tjenester på eget utstyr. Tjenesten er gratis for alle utviklere og programvareleverandører, og distribueres på en nøytral plattform – Linux Foundation. Alle komponenter i tjenesten er åpen kildekode, skrevet i Go og distribuert under Apache 2.0-lisensen.

Blant de utviklede komponentene kan vi merke oss:

  • Rekor er en loggimplementering for lagring av digitalt signert metadata som reflekterer informasjon om prosjekter. For å sikre integritet og beskytte mot datakorrupsjon i ettertid, brukes en trelignende struktur "Merkle Tree", der hver gren verifiserer alle underliggende grener og noder, takket være felles (trelignende) 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 ). For å verifisere og legge til nye poster, leveres en Restful API, samt et cli-grensesnitt.
  • Fulcio (SigStore WebPKI) er et system for å lage sertifiseringsmyndigheter (Root-CAer) som utsteder kortlivede sertifikater basert på e-post autentisert via 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).
  • Сosign (Container Signing) er et verktøysett for å generere signaturer for containere, verifisere signaturer og plassere signerte containere i repositories som er kompatible med OCI (Open Container Initiative).

Kilde: opennet.ru

Legg til en kommentar