Red Hat ja Google, koos Purdue Ălikooliga, asutasid projekti Sigstore, mille eesmĂ€rk on luua tööriistu ja teenuseid tarkvara autentimise tagamiseks digitaalsete allkirjade kaudu ning avaliku logi pidamiseks autentsuse kinnitamiseks (transparency log). Projekt areneb mittetulundusĂŒhingu Linux Foundation toetusel.
Pakutav projekt tĂ”stab tarkvara levitamise kanalite turvalisust ja kaitseb rĂŒnnakute eest, mis on suunatud tarkvarakomponentide ja sĂ”ltuvuste petmisele (supply chain). Ăks peamisi probleemide kohta avatud lĂ€htekoodiga tarkvara turvalisusega on programmide allika ja ehitamise kontrollimise keerukus. NĂ€iteks kasutavad enamik projekte vĂ€ljaande terviklikkuse kontrollimiseks rĂ€sikoodide (hash) sĂŒsteemi, kuid sageli talletatakse vajalikud autentimise kontrollimisandmed kaitsmata sĂŒsteemides ja ĂŒhistes koodirepositooriumides. Nende kompromiteerimise korral vĂ”ivad rĂŒndajad vajalikud kontrollimiseks mĂ”eldud failid asendada ja kahtlusi tekitamata pahatahtlikke muudatusi sisse viia.
Ainult vÀike osa projektidest kasutab vÀljalaskmise ajal digitaalallkirju, kuna vÔtmete haldamine, avalike vÔtmete jagamine ja kompromiteeritud vÔtmete tagasivÔtmine on keeruline. Verifitseerimise tÀhenduslikuks muutmiseks on samuti vajalik korraldada usaldusvÀÀrne ja turvaline avalike vÔtmete ja kontrollsummade levitusprotsess. Isegi digitaalallkirjade olemasolu korral ignoreerivad paljud kasutajad kontrollimist, kuna verifitseerimisprotsessiga tutvumiseks ja usaldusvÀÀrse vÔtme leidmiseks on aega kulutada.
Sigstore esitleb ennast kui Letâs Encrypti analooge koodile, pakkudes sertifikaate koodi digitaalse allkirjastamise jaoks ning vahendeid automaatseks kontrollimiseks. Sigstore abil saavad arendajad luua digitaalallkirju rakendusega seotud artefaktidele, nagu vabastatud failid, konteineripildid, manifesid ja kĂ€ivitatavad failid. Sigstore'i eripĂ€ra on see, et allkirjastamiseks kasutatav materjal kajastub muudetamatutes avalikes logides, mida saab kasutada kontrollimiseks ja auditeerimiseks.
Sigstore'is ei kasutata pĂŒsivaid vĂ”tmeid, vaid lĂŒhiajalisi efemerid, mis genereeritakse pĂ”hinedes OpenID Connect pakkujate poolt kinnitatud volitustele (vĂ”tmete genereerimise hetkel tuvastab arendaja end OpenID pakkuja kaudu, sidudes oma meiliaadressiga). VĂ”tmete autentimist kontrollitakse avalikus tsentraliseeritud logis, mis vĂ”imaldab veenduda, et allkirja autor on tĂ”epoolest see, kelleks ta end peab, ja et allkiri on loodud samas osales, kes vastutas varasemate vĂ€ljaannete eest.
Sigstore pakub nii valmis teenust, mida saab kohe kasutada, kui ka tööriistade komplekti, mis vĂ”imaldab sarnaste teenuste rakendamist oma riistvaral. Teenus on tasuta kĂ”igile arendajatele ja tarkvara tarnijatele ning on rajatud neutraalsesse keskkonda â Linux Foundation'i. Teenuse kĂ”ik komponendid on avatud, kirjutatud Go keeles ja jagatud Apache 2.0 litsentsi alusel.
Arendatavaid komponente saab nimetada:
- Rekor â logirealisatsiooni lahendus, mis salvestab digitaalsete allkirjadega kinnitatud metaandmeid projektide kohta. Andmete terviklikkuse ja tagasivaatavate muutuste eest kaitsmise tagamiseks rakendatakse puustruktuuri nimega âMerkle puuâ (Merkle Tree), kus iga haru kinnitab kĂ”iki alluvaid harusid ja sĂ”lmi, tĂ€nu ĂŒhiselle (puustruktuuri) hĂ€gustamisele. Olles saanud lĂ”pliku hĂ€guse, saab kasutaja veenduda kogu tehingute ajaloos ja andmebaasi varasemates olekutes (uue oleku juurekontrolli hĂ€gune arvutatakse arvesse vĂ”ttes varasema oleku). Uute kirjade kontrollimiseks ja lisamiseks on saadaval Restful API ning cli-liides.
- Fulcio (SigStore WebPKI) â sĂŒsteem, mis loob tunnustuskeskusi (Root-CA), andes vĂ€lja lĂŒhiajalisi sertifikaate e-posti pĂ”hjal, autentitud lĂ€bi OpenID Connect. Sertifikaadi kehtivusaeg on 20 minutit, mille jooksul peab arendaja Ă€ra vormistama digitaalse allkirja (kui sertifikaat satub hiljem kurjategija kĂ€tte, on see juba aegunud).
- ĐĄosign (Container Signing) â tööriistade komplekt konteinerite allkirjastamiseks, allkirjade kontrollimiseks ja allkirjastatud konteinerite salvestamiseks OCI (Open Container Initiative) ĂŒhilduvatesse registritesse.
Allikas: opennet.ru
