GitHub ka propozuar për diskutim një propozim për implementimin e shërbimit Sigstore për verifikimin e pakove me nënshkrime dixhitale dhe mbajtjen e një regjistri publik për të konfirmuar autencitetin gjatë shpërndarjes së lëshimeve. Përdorimi i Sigstore do të ofrojë një nivel shtesë mbrojtjeje ndaj sulmeve që synojnë manipulimin e komponenteve softuerike dhe varësive (supply chain). Për shembull, ky ndryshim do të mbrojë kodin burimor të projekteve në rastin e kompromiseve të llogarive të zhvilluesve të një prej varësive në NPM dhe krijimit të një azhurnimi pakete me kod të dëmshëm nga një sulmues.
FalĂ« kĂ«tij niveli tĂ« ri mbrojtjeje, zhvilluesit do tĂ« jenĂ« nĂ« gjendje tĂ« lidhin paketat e krijuara me kodin burimor tĂ« pĂ«rdorur dhe mjedisin e ndĂ«rtimit, duke i ofruar pĂ«rdoruesit mundĂ«sinĂ« pĂ«r tĂ« verifikuar se pĂ«rmbajtja e paketĂ«s pĂ«rputhet me pĂ«rmbajtjen e kodit burimor nĂ« depo kryesore tĂ« projektit. PĂ«rdorimi i Sigstore e thjeshton ndjeshĂ«m procesin e menaxhimit tĂ« çelĂ«save dhe lejon eliminimin e vĂ«shtirĂ«sive tĂ« lidhura me regjistrimin, tĂ«rheqjen dhe menaxhimin e çelĂ«save kriptografikĂ«. Sigstore Ă«shtĂ« paraqitur si njĂ« analog i Letâs Encrypt pĂ«r kodin, ofrues certifikatash pĂ«r vĂ«rtetimin e kodit me nĂ«nshkrime dixhitale dhe mjete pĂ«r automatizimin e verifikimit.
Në vend të çelësave të përhershëm, Sigstore përdor çelësa efemerë me jetëshkurtër, të cilët gjenerohen bazuar në autorizime. Materiali i përdorur për nënshkrimin pasqyrohet në një regjistër publik të mbrojtur nga ndryshimi, i cili lejon të konfirmohet se autori i nënshkrimit është në të vërtetë ai që pretendon se është, dhe nënshkrimi është krijuar nga i njëjti pjesëmarrës që është përgjegjës për lëshimet e kaluara. Për të siguruar integritetin dhe mbrojtjen nga deformimi retroaktive të të dhënave, përdoret një strukturë drunore e 'pemës Merkle' (Merkle Tree), ku çdo dege verifikon të gjitha degët dhe nyjat poshtë saj përmes hash-it të përbashkët (drunor). Me një hash të fundit, përdoruesi mund të sigurohet për saktësinë e gjithë historisë së operacioneve, si dhe për saktësinë e gjendjeve të kaluara të DB-së (hash-i verifikues i gjendjes së re të bazës llogaritet duke marrë parasysh gjendjen e kaluar).
Burimi: opennet.ru
