Red Hat un Google ieviesa Sigstore, pakalpojumu kriptogrāfiskā koda pārbaudei

Red Hat un Google kopā ar Purdue universitāti nodibināja projektu Sigstore, kura mērķis ir izveidot rīkus un pakalpojumus programmatūras pārbaudei, izmantojot ciparparakstus, un uzturēt publisku žurnālu, lai apstiprinātu autentiskumu (caurspīdīguma žurnāls). Projekts tiks izstrādāts bezpeļņas organizācijas Linux Foundation paspārnē.

Ierosinātais projekts uzlabos programmatūras izplatīšanas kanālu drošību un aizsargās pret uzbrukumiem, kuru mērķis ir nomainīt programmatūras komponentus un atkarības (piegādes ķēde). Viena no galvenajām atklātā pirmkoda programmatūras drošības problēmām ir grūtības pārbaudīt programmas avotu un būves procesu. Piemēram, vairumā projektu laidiena integritātes pārbaudei tiek izmantota jaucējfunkcija, taču bieži vien autentifikācijai nepieciešamā informācija tiek glabāta neaizsargātās sistēmās un koplietojamos kodu krātuvēs, kā rezultātā uzbrucēji var kompromitēt verifikācijai nepieciešamos failus un ieviest ļaunprātīgas izmaiņas. neradot aizdomas.

Tikai neliela daļa projektu izmanto digitālos parakstus, izplatot laidienus, jo ir grūtības pārvaldīt atslēgas, izplatīt publiskās atslēgas un atsaukt uzlauztās atslēgas. Lai verifikācijai būtu jēga, ir arī jāorganizē uzticams un drošs publisko atslēgu un kontrolsummu izplatīšanas process. Pat ar digitālo parakstu daudzi lietotāji ignorē verifikāciju, jo viņiem ir jāpavada laiks, lai izpētītu verifikācijas procesu un saprastu, kura atslēga ir uzticama.

Sigstore tiek reklamēts kā līdzvērtīgs kodam Let's Encrypt, nodrošinot sertifikātus koda ciparparakstīšanai un rīkus verifikācijas automatizēšanai. Izmantojot Sigstore, izstrādātāji var digitāli parakstīt ar lietojumprogrammām saistītus artefaktus, piemēram, laidiena failus, konteinera attēlus, manifestus un izpildāmos failus. Īpaša Sigstore iezīme ir tā, ka parakstīšanai izmantotais materiāls tiek atspoguļots pret viltojumiem aizsargātā publiskajā žurnālā, ko var izmantot pārbaudei un auditēšanai.

Pastāvīgo atslēgu vietā Sigstore izmanto īslaicīgas īslaicīgas atslēgas, kas tiek ģenerētas, pamatojoties uz OpenID Connect nodrošinātāju apstiprinātiem akreditācijas datiem (ciparaksta atslēgu ģenerēšanas laikā izstrādātājs identificē sevi, izmantojot OpenID nodrošinātāju, kas ir saistīts ar e-pastu). Atslēgu autentiskums tiek pārbaudīts, izmantojot publisku centralizētu žurnālu, kas ļauj pārbaudīt, vai paraksta autors ir tieši tas, par ko viņš uzdodas, un parakstu veidojis tas pats dalībnieks, kurš bija atbildīgs par iepriekšējiem izlaidumiem.

Sigstore nodrošina gan gatavu pakalpojumu, kuru jau varat izmantot, gan rīku komplektu, kas ļauj izvietot līdzīgus pakalpojumus savā iekārtā. Pakalpojums ir bezmaksas visiem izstrādātājiem un programmatūras nodrošinātājiem, un tas ir izvietots uz neitrālas platformas - Linux Foundation. Visi pakalpojuma komponenti ir atvērtā pirmkoda, rakstīti Go un izplatīti saskaņā ar Apache 2.0 licenci.

Starp izstrādātajām sastāvdaļām var atzīmēt:

  • Rekor ir žurnāla ieviešana digitāli parakstītu metadatu glabāšanai, kas atspoguļo informāciju par projektiem. Lai nodrošinātu integritāti un aizsargātu pret datu sabojāšanu pēc fakta, tiek izmantota kokam līdzīga struktūra “Merkle Tree”, kurā katrs zars pārbauda visus pamatā esošos zarus un mezglus, pateicoties kopīgai (kokam līdzīgai) jaukšanai. Izmantojot pēdējo jaucējkodu, lietotājs var pārbaudīt visas operāciju vēstures pareizību, kā arī datu bāzes pagātnes stāvokļu pareizību (bāzes jaunā stāvokļa saknes verifikācijas hash tiek aprēķināta, ņemot vērā pagātnes stāvokli ). Lai pārbaudītu un pievienotu jaunus ierakstus, tiek nodrošināta Restful API, kā arī klikšķa saskarne.
  • Fulcio (SigStore WebPKI) ir sistēma sertifikācijas iestāžu (Root-CA) izveidei, kas izsniedz īslaicīgus sertifikātus, pamatojoties uz e-pastu, kas autentificēts, izmantojot OpenID Connect. Sertifikāta kalpošanas laiks ir 20 minūtes, kuru laikā izstrādātājam jāpaspēj ģenerēt ciparparakstu (ja sertifikāts vēlāk nonāks uzbrucēja rokās, tam jau būs beidzies derīguma termiņš).
  • Сosign (konteinera parakstīšana) ir rīku komplekts konteineru parakstu ģenerēšanai, parakstu pārbaudei un parakstīto konteineru ievietošanai krātuvēs, kas ir saderīgi ar OCI (Open Container Initiative).

Avots: opennet.ru

Pievieno komentāru