Google teatas, et on loonud esimesed stabiilsed väljaanded Sigstore'i projekti komponente, mis on kuulutatud sobivaks töötavate rakenduste loomiseks. Sigstore arendab tööriistu ja teenuseid tarkvara kontrollimiseks digitaalsete allkirjade abil ja avaliku logi pidamisega, mis tõendab muudatuste autentsust (transparency log). Projekt areneb Linux Foundationi mittetulundusühingu juhtimisel koos Google'i, Red Hati, Cisco, vmWare, GitHubi ja HP Enterprise'iga ning OpenSSF (Open Source Security Foundation) ja Purdue ülikooli osalusel.
Sigstore'i võib pidada sarnasuseks Let’s Encryptiga koodile, pakkudes sertifikaate koodide digitaalsete allkirjade kinnitamiseks ja tööriistu kontrollimise automatiseerimiseks. Sigstore'i abil saavad arendajad luua digitaalallkirju rakendusega seotud artefaktide, nagu väljaandefailid, konteinerite pildid, manifestid ja käivitatavad failid, jaoks. Allkirjastatavate materjalide andmed kajastuvad muudetud sisestuste kaitstud avalikus logis, mida saab kasutada kontrollimiseks ja auditeerimiseks.
Sigstore'is kasutatakse püsivate võtmete asemel lühiajalisi efemerseid võtmeid, mis genereeritakse OpenID Connect pakkujate poolt kontrollitud volituste alusel (võtmete genereerimise hetkel, mis on vajalikud digitaalallkirja loomiseks, tuvastab arendaja end OpenID pakkuja kaudu, sidudes selle e-posti aadressiga). Võtmete autentsust kontrollitakse avalikus tsentraliseeritud logis, mis võimaldab veenduda, et allkirja autor on täpselt see, kelleks ta end pretendeerib, ja allkiri on loodud sama osaleja poolt, kes vastutas varasemate väljaannete eest.
Sigstore'i rakendamise valmidus on tingitud kahe põhikomponendi — Rekor 1.0 ja Fulcio 1.0 — väljaannete loomise lõpetamisest, mille programmiliideseid on nüüd kuulutatud stabiilseteks ja mis tulevad säilitama tagasipöörduvat ühilduvust. Teenuse komponendid on kirjutatud Go keeles ja levitatakse Apache 2.0 litsentsi alusel.
Rekor komponent sisaldab logi implementeerimist, et salvestada digitaalse allkirjaga kinnitatud metaandmeid, mis peegeldavad teavet projektide kohta. Andmete terviklikkuse tagamiseks ja tagantjärele tehtud muudatuste kaitsmiseks kasutatakse puustruktuuri, mida nimetatakse Merkle puuks, kus iga haru kinnitab kõiki allpool olevaid harusid ja sõlmi tänu koostoime (puu) hashingule. Omades lõpphashi, saab kasutaja veenduda, et kogu toimingute ajalugu on õige, samuti ka varasemate andmebaasi seisundite korrektsuses (uus andmebaasi juure kontrollhashi arvutatakse arvesse võttes eelmise seisundi). Uute kirjeid valideerimiseks ja lisamiseks on saadaval RESTful API ning käsurea liides.
Fulcio komponent (SigStore WebPKI) hõlmab süsteemi, mis loob tunnustuskeskusi (root CA), mis väljastavad lühiajalisi sertifikaate e-posti alusel, mida autentitakse OpenID Connect kaudu. Sertifikaadi kehtivusaeg on 20 minutit, mille jooksul peab arendaja jõudma vormistada digitaalse allkirja (kui sertifikaat satub hiljem pahatahtlike kätte, on see juba aegunud). Lisaks arendab projekt tööriistu Cosign (Container Signing), mis on mõeldud konteinerite allkirjastamiseks, allkirjade kontrollimiseks ja allkirjastatud konteinerite paigutamiseks OCI (Open Container Initiative) ühilduvatesse registritesse.
Sigstore'i rakendamine võimaldab suurendada tarkvara levitamise kanalite turvalisust ja kaitsta end rünnakute eest, mis on suunatud teekide ja sõltuvuste asendamisele (supply chain). Üks peamisi turbeprobleeme avatud tarkvaras on keerukus programmi allika kontrollimisel ja koostamise protsessi kinnitamisel. Näiteks kasutavad enamik projekte versiooni terviklikkuse kontrollimiseks harschisid, kuid sageli vajalikud autenticiteedi kinnitusandmed on salvestatud kaitsmata süsteemides ja avatud koodiregistrites, mille hoidmine on rünnakute korral kompromiteeritud, võimaldades ründajatel asendada vajalikud faili ja, mitte kahtlusi äratamata, sisestada pahatahtlikke muudatusi.
Digitaalsete allkirjade kasutamine väljaannete kinnitamiseks pole laiemalt levinud, kuna võtmete haldamine, avalike võtmete levitamine ja kompromiteeritud võtmete tühistamine on keerulised. Kinnituse mõistmiseks on lisaks vajalik korraldada usaldusväärne ja turvaline avalike võtmete ja kontrollsummade levitamise protsess. Isegi digitaalsete allkirjade olemasolu korral ei pööra paljud kasutajad kinnitusele tähelepanu, kuna protsessi õppimiseks ja usaldusväärse võtme mõistmiseks tuleb aega kulutada. Sigstore projekt püüab neid protsesse lihtsustada ja automatiseerida, pakkudes välja töötatud ja testitud lahendust.
Allikas: opennet.ru
