GitHub tõi arutusele ettepaneku rakendada Sigstore'i teenust pakettide digitõendite verifitseerimiseks ja avaliku logi pidamiseks, et kinnitada autentsust väljaannete levitamisel. Sigstore'i kasutamine võimaldab luua täiendava kaitse taseme, et vältida rünnakuid, mis on suunatud tarkvarakomponentide ja sõltuvuste asendamisele (supply chain). Näiteks kaitseb rakendatav muudatus projektide lähtekoodi juhtumeid, kus arendaja konto NPM-i sõltuvustes on kompromiteeritud, võimaldades ründajal luua pahatahtliku koodiga paketi uuendust.
Uue kaitseastme abil saavad arendajad seotud paketi siduda kasutatud lähtekoodi ja ehituskeskkonnaga, andes kasutajale võimaluse veenduda, et pakendi sisu vastab peamise projekti lähtekoodide sisu. Sigstore'i rakendamine lihtsustab oluliselt võtmehalduse protsessi ning aitab kõrvaldada keerukused, mis on seotud võtmete registreerimise, tühistamise ja haldamisega. Sigstore esitatakse kui Let’s Encrypti analoog koodile, pakkudes sertifikaate koodi digitaalse allkirjastamise kinnitamiseks ja tööriistu kontrollimise automatiseerimiseks.
Sigstore'is ei kasutata püsivaid võtmeid, vaid lühiajalisi efemeerseid võtmeid, mis genereeritakse volituste alusel. Allkirjastamiseks kasutatud materjal kajastub kaitstud ja muutmiskindlas avalikus logis, mis võimaldab veenduda, et allkirja autor on just see, kelleks ta end peab, ning et allkiri on koostatud sama osaleja poolt, kes vastutas varasemate väljalaset eest. Andmete terviklikkuse ja tagasiviimise kaitsmiseks kasutatakse puustruktuuri, mida nimetatakse Merkle'i puuks, mille iga oks kinnitab kõik allolevad oksad ja sõlmed tänu ühiselt (puudepõhisele) räsi genereerimisele. Lõpphäsi abil saab kasutaja veenduda kogu tehingute ajaloo õigsuses ning ka varasemate andmebaasi seisundite õigsuses (uue andmebaasi oleku juurekontrolli häsi arvutatakse arvesse võttes varasema seisundi).
Allikas: opennet.ru
