GitHub je otvorio raspravu o prijedlogu za implementaciju Sigstore usluge za verifikaciju paketa putem digitalnih potpisa i vođenje javnog registra za potvrdu autentičnosti prilikom distribucije izdanja. Primjena Sigstore-a omogućit će dodatni nivo zaštite od napada usmjerenih na zamjenu softverskih komponenti i zavisnosti (supply chain). Na primjer, predložena promjena zaštitiće izvorne kodove projekata u slučaju kompromitacije računa programera neke od zavisnosti u NPM-u i formiranja zlonamjernog ažuriranja paketa sa malicioznim kodom.
Zahvaljujući novom nivou zaštite, programeri će moći povezati generisani paket sa korišćenim izvorom koda i okruženjem za gradnju, omogućujući korisnicima da se uvjere da sadržaj paketa odgovara sadržaju izvornih kodova u glavnom repozitorijumu projekta. Primjena Sigstore-a značajno pojednostavljuje proces upravljanja ključevima i omogućava izbjegavanje složenosti vezanih za registraciju, povlačenje i upravljanje kriptografskim ključevima. Sigstore se predstavlja kao analog Let’s Encrypt za kod, pružajući certifikate za potpisivanje koda digitalnim potpisima i alat za automatizaciju provjere.
Umjesto stalnih ključeva, Sigstore koristi kratkoročne efemerne ključeve koji se generišu na osnovu ovlašćenja. Materijal koji se koristi za potpisivanje odražava se u javnom registru zaštićenom od izmjena, što omogućava potvrdu da je potpisivač upravo onaj za koga se izdaje, i da je potpis generisao isti učesnik koji je bio odgovoran za prethodna izdanja. Za osiguranje integriteta i zaštitu od promjena podataka unazad koristi se stablasta struktura “Merkle Tree”, u kojoj svaka grana verifikuje sve donje grane i čvorove zahvaljujući zajedničkom (stablaste) heširanju. Imajući konačni heš, korisnik može potvrditi tačnost cijele istorije operacija, kao i ispravnost prethodnih stanja baze podataka (korenjski verifikacijski heš novog stanja baze izračunava se uzimajući u obzir prethodno stanje).
Izvor: opennet.ru
