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
