Ipinakilala ng Red Hat at Google ang Sigstore, isang serbisyo para sa pag-verify ng cryptographic code

Itinatag ng Red Hat at Google, kasama ng Purdue University, ang proyektong Sigstore, na naglalayong lumikha ng mga tool at serbisyo para sa pag-verify ng software gamit ang mga digital na lagda at pagpapanatili ng pampublikong log upang kumpirmahin ang pagiging tunay (transparency log). Ang proyekto ay bubuuin sa ilalim ng tangkilik ng non-profit na organisasyon na Linux Foundation.

Ang iminungkahing proyekto ay magpapahusay sa seguridad ng mga channel sa pamamahagi ng software at mapoprotektahan laban sa mga pag-atake na naglalayong palitan ang mga bahagi ng software at dependencies (supply chain). Ang isa sa mga pangunahing problema sa seguridad sa open source software ay ang kahirapan sa pag-verify ng pinagmulan ng program at pag-verify sa proseso ng pagbuo. Halimbawa, karamihan sa mga proyekto ay gumagamit ng mga hash upang i-verify ang integridad ng isang release, ngunit kadalasan ang impormasyong kinakailangan para sa pagpapatotoo ay naka-imbak sa mga hindi protektadong system at sa mga shared code na repository, bilang resulta kung saan maaaring ikompromiso ng mga attacker ang mga file na kinakailangan para sa pag-verify at magpakilala ng mga nakakahamak na pagbabago nang hindi nagtataas ng hinala.

Maliit na bahagi lamang ng mga proyekto ang gumagamit ng mga digital na lagda kapag namamahagi ng mga release dahil sa mga kahirapan sa pamamahala ng mga susi, pamamahagi ng mga pampublikong susi, at pagbawi ng mga nakompromisong key. Upang magkaroon ng katuturan ang pag-verify, kinakailangan ding ayusin ang isang maaasahan at secure na proseso para sa pamamahagi ng mga pampublikong susi at checksum. Kahit na may digital signature, hindi pinapansin ng maraming user ang pag-verify dahil kailangan nilang gumugol ng oras sa pag-aaral ng proseso ng pag-verify at pag-unawa kung aling key ang mapagkakatiwalaan.

Ang Sigstore ay tinuturing bilang katumbas ng Let's Encrypt para sa code, na nagbibigay ng mga certificate para sa digitally signing code at mga tool para sa pag-automate ng pag-verify. Sa Sigstore, ang mga developer ay maaaring digital na pumirma sa mga artifact na nauugnay sa application gaya ng mga release file, container na imahe, manifest, at executable. Ang isang espesyal na tampok ng Sigstore ay ang materyal na ginamit para sa pagpirma ay makikita sa isang tamper-proof na pampublikong log na maaaring magamit para sa pag-verify at pag-audit.

Sa halip na mga permanenteng key, gumagamit ang Sigstore ng mga panandaliang ephemeral key, na nabuo batay sa mga kredensyal na kinumpirma ng mga provider ng OpenID Connect (sa oras ng pagbuo ng mga key para sa isang digital na lagda, kinikilala ng developer ang kanyang sarili sa pamamagitan ng isang OpenID provider na naka-link sa isang email). Ang pagiging tunay ng mga susi ay na-verify gamit ang isang pampublikong sentralisadong log, na ginagawang posible na i-verify na ang may-akda ng lagda ay eksakto kung sino ang sinasabi niyang siya at ang pirma ay nabuo ng parehong kalahok na responsable para sa mga nakaraang paglabas.

Nagbibigay ang Sigstore ng parehong handa na serbisyo na magagamit mo na, at isang set ng mga tool na nagbibigay-daan sa iyong mag-deploy ng mga katulad na serbisyo sa sarili mong kagamitan. Ang serbisyo ay libre para sa lahat ng mga developer at software provider, at naka-deploy sa isang neutral na platform - ang Linux Foundation. Ang lahat ng bahagi ng serbisyo ay open source, nakasulat sa Go at ipinamahagi sa ilalim ng lisensya ng Apache 2.0.

Kabilang sa mga binuo na bahagi maaari nating tandaan:

  • Ang Rekor ay isang pagpapatupad ng log para sa pag-iimbak ng digitally signed metadata na nagpapakita ng impormasyon tungkol sa mga proyekto. Upang matiyak ang integridad at maprotektahan laban sa katiwalian ng data pagkatapos ng katotohanan, ginagamit ang isang tulad-punong istraktura na "Merkle Tree", kung saan bini-verify ng bawat sangay ang lahat ng pinagbabatayan na mga sanga at node, salamat sa magkasanib na (tulad ng puno) na pag-hash. Ang pagkakaroon ng pangwakas na hash, maaaring i-verify ng user ang kawastuhan ng buong kasaysayan ng mga operasyon, pati na rin ang kawastuhan ng mga nakaraang estado ng database (ang root verification hash ng bagong estado ng database ay kinakalkula na isinasaalang-alang ang nakaraang estado ). Upang i-verify at magdagdag ng mga bagong tala, isang Restful API ang ibinigay, pati na rin ang isang cli interface.
  • Ang Fulcio (SigStore WebPKI) ay isang sistema para sa paglikha ng mga awtoridad sa sertipikasyon (Root-CAs) na naglalabas ng mga panandaliang certificate batay sa email na na-authenticate sa pamamagitan ng OpenID Connect. Ang tagal ng certificate ay 20 minuto, kung saan ang developer ay dapat magkaroon ng oras upang makabuo ng isang digital na lagda (kung ang certificate mamaya ay mahulog sa mga kamay ng isang umaatake, ito ay mag-e-expire na).
  • Ang Π‘osign (Container Signing) ay isang toolkit para sa pagbuo ng mga lagda para sa mga container, pag-verify ng mga pirma at paglalagay ng mga nilagdaang container sa mga repository na tugma sa OCI (Open Container Initiative).

Pinagmulan: opennet.ru

Magdagdag ng komento