Kompania Google njoftoi formimin e lëshimeve të para stabile të komponentëve që përbëjnë projektin Sigstore, i cili është shpallur i përshtatshëm për krijimin e zbatimeve funksionale. Sigstore zhvillon mjete dhe shërbime për verifikimin e softuerit përmes nënshkrimeve digjitale dhe mbajtjes së një regjistri publik që konfirmon origjinalitetin e ndryshimeve (transparency log). Projekti është në zhvillim nën kujdesin e organizatës jofitimprurëse Linux Foundation, me kontributet e kompanive Google, Red Hat, Cisco, vmWare, GitHub dhe HP Enterprise, në bashkëpunim me OpenSSF (Open Source Security Foundation) dhe universitetin Purdue.
Sigstore mund tĂ« shihet si njĂ« ekuivalent i Letâs Encrypt pĂ«r kodin, duke ofruar certifikata pĂ«r nĂ«nshkrimin e kodit me nĂ«nshkrime digjitale dhe mjete pĂ«r automatizimin e verifikimit. NĂ«pĂ«rmjet Sigstore, zhvilluesit do tĂ« jenĂ« nĂ« gjendje tĂ« krijojnĂ« nĂ«nshkrime digjitale pĂ«r artefaktet e lidhura me aplikacionin, siç janĂ« skedarĂ«t e lĂ«shimeve, imazhet e konteinerĂ«ve, manifestet dhe skedarĂ«t ekzekutivĂ«. Materiali qĂ« pĂ«rdoret pĂ«r nĂ«nshkrimin reflektohet nĂ« njĂ« regjistĂ«r publik tĂ« mbrojtur nga modifikimi, i cili mund tĂ« pĂ«rdoret pĂ«r verifikim dhe auditim.
Në Sigstore përdoren çelësa efemerë me jetëshkurtër, të cilët gjenerohen mbi bazën e autorizimeve të vërtetuara nga ofruesit e OpenID Connect (në momentin e gjenerimit të çelësave të nevojshëm për krijimin e nënshkrimeve digjitale, zhvilluesi identifikon veten përmes ofruesit të OpenID me lidhje me email). Origjinaliteti i çelësave verifikohet përmes një regjistri publik të qendruar, që lejon të konfirmohet se autori i nënshkrimit është pikërisht ai që thotë që është, dhe nënshkrimi është formuar nga i njëjti participant që ishte përgjegjës për lëshimet e mëparshme.
GatishmĂ«ria e Sigstore pĂ«r zbatim Ă«shtĂ« e lidhur me formimin e lĂ«shimeve tĂ« dy komponentĂ«ve kyç â Rekor 1.0 dhe Fulcio 1.0, interfisat e programit tĂ« tĂ« cilĂ«ve janĂ« shpallur tĂ« stabilizuar dhe do tĂ« ruajnĂ« pĂ«rputhshmĂ«rinĂ« prapa. KomponentĂ«t e shĂ«rbimit janĂ« shkruar nĂ« gjuhĂ«n Go dhe shpĂ«rndahen nĂ«n licencĂ«n Apache 2.0.
Komponenti Rekor përmban implementimin e regjistrit për ruajtjen e metadatat e verifikuar me nënshkrime digjitale që përshkruajnë informacionin për projektet. Për të garantuar integritetin dhe mbrojtjen nga modifikimi retroaktiv, përdoret një strukturë në formë peme e quajtur "pemë Merkle" (Merkle Tree), në të cilën çdo degë verifikon të gjitha degët dhe nodet që janë nën të, falë heshimeve të përbashkëta (pemore). Duke pasur heshin përfundimtar, përdoruesi mund të sigurohet për saktësinë e gjitha historisë së operacioneve dhe gjithashtu për saktësinë e gjendjeve të kaluara të DB-së (heshi kontrollues i gjendjes së re të bazës llogaritet duke e marrë parasysh gjendjen e kaluar). Për verifikimin dhe shtimin e regjistrave të rinj ofrohet një API RESTful, si dhe një ndërfaqe të komandës.
Komponenti Fulcio (SigStore WebPKI) përfshin një sistem për krijimin e autoriteteve sertifikuese (root CA) që lëshojnë certifikata me jetëshkurtër mbi bazën e emailit, të verifikuar përmes OpenID Connect. Kohëzgjatja e certifikatës është 20 minuta, gjatë të cilave zhvilluesi duhet të arrijë të krijojë një nënshkrim digjital (nëse më vonë certifikata i kalon në duar ndonjë keqbërësi, ajo do të jetë tashmë e skaduar). Së funit, projekti po zhvillon mjete të quajtura Cosign (Container Signing), të dedikuara për krijimin e nënshkrimeve për konteinerët, verifikimin e nënshkrimeve dhe vendosjen e konteinerëve të nënshkruar në depo që janë në përputhje me OCI (Open Container Initiative).
Zbatimi i Sigstore ofron mundësi për të përmirësuar sigurinë e kanaleve të shpërndarjes së softuerit dhe për të mbrojtur nga sulmet që synojnë zëvendësimin e biblioteka dhe varësive (supply chain). Një nga problemet kyçe të sigurisë në softuerin e hapur është vështirësia e verifikimit të burimit të programit dhe verifikimi i procesit të ngritjes. Për shembull, për të verifikuar integritetin e lëshimeve, shumica e projekteve përdorin heshë, por shpesh informacioni i nevojshëm për verifikimin e origjinalitetit ruhet në sisteme të pa mbrojtura dhe në depo të zakonshme me kod, si rezultat, nëse ato kompromentohen, sulmuesit mund të zëvendësojnë skedarët e nevojshëm për verifikim dhe, pa shkaktuar dyshime, të fusin ndryshime të dëmshme.
Përdorimi i nënshkrimeve dixhitale për verifikimin e publikimeve ende nuk është përhapur në mënyrë të gjerë për shkak të vështirësive në menaxhimin e çelësave, shpërndarjen e çelësave publikë dhe tërheqjen e çelësave të komprometuar. Për qëllimin e verifikimit, nevojitet gjithashtu të organizohet një proces i besueshëm dhe të sigurt për shpërndarjen e çelësave publikë dhe kontrolleve. Edhe me praninë e një nënshkrimi dixhital, shumë përdorues e injorojnë verifikimin, pasi është e nevojshme të kalojnë kohë për të studiuar procesin e verifikimit dhe të kuptojnë se cili çelës meriton besimin. Projekti Sigstore përpiqet ta thjeshtojë dhe automatizojë këto procese, duke ofruar një zgjidhje të gatshme dhe të verifikuar.
Burimi: opennet.ru
