Napovedana je pripravljenost sistema za preverjanje kriptografske kode Sigstore

Google je napovedal oblikovanje prvih stabilnih izdaj komponent, ki tvorijo projekt Sigstore, ki je razglašen za primernega za ustvarjanje delujočih izvedb. Sigstore razvija orodja in storitve za preverjanje programske opreme z uporabo digitalnih podpisov in vzdrževanje javnega dnevnika, ki potrjuje pristnost sprememb (transparency log). Projekt pod okriljem neprofitne organizacije Linux Foundation razvijajo Google, Red Hat, Cisco, vmWare, GitHub in HP Enterprise ob sodelovanju organizacije OpenSSF (Open Source Security Foundation) in univerze Purdue.

Sigstore si lahko predstavljamo kot analog kode Let's Encrypt, ki zagotavlja certifikate za digitalno podpisovanje kode in orodja za avtomatsko preverjanje. S Sigstore lahko razvijalci digitalno podpišejo artefakte, povezane z aplikacijami, kot so datoteke za izdajo, slike vsebnikov, manifesti in izvršljive datoteke. Podpisni material se odraža v javnem dnevniku, zaščitenem pred posegi, ki se lahko uporablja za preverjanje in revizijo.

Namesto trajnih ključev Sigstore uporablja kratkotrajne efemerne ključe, ki se generirajo na podlagi poverilnic, ki jih potrdijo ponudniki OpenID Connect (v času generiranja ključev, potrebnih za ustvarjanje digitalnega podpisa, se razvijalec identificira prek ponudnika OpenID, ki je povezan z E-naslov). Verodostojnost ključev se preverja z javnim centraliziranim dnevnikom, ki omogoča preverjanje, ali je avtor podpisa točno tisti, za katerega se predstavlja, in je podpis ustvaril isti udeleženec, ki je bil odgovoren za pretekle objave.

Pripravljenost Sigstore na implementacijo je posledica oblikovanja izdaj dveh ključnih komponent - Rekor 1.0 in Fulcio 1.0, katerih programski vmesniki so razglašeni za stabilne in bodo še naprej združljivi nazaj. Komponente storitve so napisane v Go in se distribuirajo pod licenco Apache 2.0.

Komponenta Rekor vsebuje implementacijo dnevnika za shranjevanje digitalno podpisanih metapodatkov, ki odražajo informacije o projektih. Za zagotovitev celovitosti in zaščito pred poškodbami podatkov po dejstvu se uporablja drevesna struktura Merkle Tree, v kateri vsaka veja preveri vse osnovne veje in vozlišča s skupnim (drevesnim) zgoščevanjem. S končnim hashom lahko uporabnik preveri pravilnost celotne zgodovine operacij, pa tudi pravilnost preteklih stanj baze podatkov (korenski verifikacijski hash novega stanja baze podatkov se izračuna ob upoštevanju preteklega stanja ). Na voljo je API RESTful za preverjanje in dodajanje novih zapisov ter vmesnik ukazne vrstice.

Komponenta Fulcio (SigStore WebPKI) vključuje sistem za ustvarjanje certifikacijskih organov (root CA), ki izdajajo kratkotrajna potrdila na podlagi elektronske pošte, overjene prek OpenID Connect. Življenjska doba potrdila je 20 minut, v tem času pa mora razvijalec imeti čas za ustvarjanje digitalnega podpisa (če potrdilo pozneje pride v roke napadalcu, bo že poteklo). Poleg tega projekt razvija komplet orodij Cosign (Container Signing), zasnovan za ustvarjanje podpisov za vsebnike, preverjanje podpisov in postavitev podpisanih vsebnikov v repozitorije, združljive z OCI (Open Container Initiative).

Implementacija Sigstore omogoča povečanje varnosti programskih distribucijskih kanalov in zaščito pred napadi, katerih cilj je zamenjava knjižnic in odvisnosti (oskrbovalna veriga). Ena ključnih varnostnih težav pri odprtokodni programski opremi je težava pri preverjanju vira programa in preverjanju postopka gradnje. Na primer, večina projektov uporablja zgoščene vrednosti za preverjanje celovitosti izdaje, vendar so informacije, potrebne za avtentikacijo, pogosto shranjene v nezaščitenih sistemih in v deljenih repozitorijih kode, zaradi česar lahko napadalci ogrozijo datoteke, potrebne za preverjanje, in uvedejo zlonamerne spremembe ne da bi vzbudili sum.

Uporaba digitalnih podpisov za preverjanje izdaje še ni postala razširjena zaradi težav pri upravljanju ključev, distribuciji javnih ključev in preklicu ogroženih ključev. Da bi bilo preverjanje smiselno, je dodatno potrebno organizirati zanesljiv in varen proces distribucije javnih ključev in kontrolnih vsot. Tudi z digitalnim podpisom mnogi uporabniki ignorirajo preverjanje, ker morajo porabiti čas za učenje postopka preverjanja in razumevanje ključa, ki je vreden zaupanja. Projekt Sigstore poskuša poenostaviti in avtomatizirati te procese z zagotavljanjem že pripravljene in preverjene rešitve.

Vir: opennet.ru

Dodaj komentar