Oznámený kryptografický overovací systém Sigstore

Google oznámil vytvorenie prvých stabilných vydaní komponentov, ktoré tvoria projekt Sigstore, ktorý je vyhlásený za vhodný na vytváranie pracovných implementácií. Sigstore vyvíja nástroje a služby na overenie softvéru pomocou digitálnych podpisov a udržiavanie verejného denníka potvrdzujúceho pravosť zmien (záznam transparentnosti). Projekt je vyvíjaný pod záštitou neziskovej organizácie Linux Foundation by Google, Red Hat, Cisco, vmWare, GitHub a HP Enterprise za účasti OpenSSF (Open Source Security Foundation) a Purdue University.

Sigstore si možno predstaviť ako Let's Encrypt for code, ktorý poskytuje certifikáty na digitálne podpisovanie kódu a nástroje na automatizáciu overovania. Pomocou Sigstore môžu vývojári digitálne podpisovať artefakty súvisiace s aplikáciou, ako sú napríklad súbory vydania, obrázky kontajnerov, manifesty a spustiteľné súbory. Materiál použitý na podpisovanie sa odráža vo verejnom denníku odolnom voči falšovaniu, ktorý možno použiť na overenie a audit.

Namiesto trvalých kľúčov používa Sigstore krátkodobé efemérne kľúče, ktoré sú generované na základe poverení overených poskytovateľmi OpenID Connect (v čase generovania kľúčov potrebných na vytvorenie digitálneho podpisu sa vývojár identifikuje prostredníctvom poskytovateľa OpenID s väzbou na e-mail ). Pravosť kľúčov je overená verejným centralizovaným protokolom, ktorý vám umožňuje uistiť sa, že autor podpisu je presne ten, za koho sa vydáva, a že podpis vytvoril ten istý účastník, ktorý bol zodpovedný za predchádzajúce vydania.

Pripravenosť Sigstore na implementáciu je spôsobená vytvorením vydaní dvoch kľúčových komponentov - Rekor 1.0 a Fulcio 1.0, ktorých programovacie rozhrania sú deklarované ako stabilné a naďalej si zachovávajú spätnú kompatibilitu. Komponenty služby sú napísané v Go a distribuované pod licenciou Apache 2.0.

Komponent Rekor obsahuje implementáciu logu na ukladanie digitálne podpísaných metadát, ktoré odrážajú informácie o projektoch. Na zabezpečenie integrity a ochrany pred poškodením údajov sa používa stromová štruktúra Merkle Tree, v ktorej každá vetva overuje všetky základné vetvy a uzly prostredníctvom spoločného (stromového) hashovania. Po konečnom hashu môže používateľ overiť správnosť celej histórie operácií, ako aj správnosť minulých stavov databázy (koreňový overovací hash nového stavu databázy sa vypočíta s prihliadnutím na minulý stav ). K dispozícii je RESTful API na overovanie a pridávanie nových záznamov, ako aj rozhranie príkazového riadka.

Komponent Fulcio (SigStore WebPKI) obsahuje systém na vytváranie certifikačných autorít (koreňových CA), ktoré vydávajú krátkodobé certifikáty na základe e-mailu overeného cez OpenID Connect. Životnosť certifikátu je 20 minút, počas ktorých musí vývojár stihnúť vygenerovať digitálny podpis (ak sa certifikát v budúcnosti dostane do rúk útočníka, jeho platnosť už vyprší). Okrem toho projekt vyvíja súpravu nástrojov Cosign (Container Signing), ktorá je určená na generovanie podpisov pre kontajnery, overovanie podpisov a umiestňovanie podpísaných kontajnerov do úložísk kompatibilných s OCI (Open Container Initiative).

Zavedenie Sigstore umožňuje zvýšiť bezpečnosť distribučných kanálov softvéru a chrániť pred útokmi zameranými na nahradenie knižníc a závislostí (supply chain). Jedným z kľúčových bezpečnostných problémov v softvéri s otvoreným zdrojovým kódom je obtiažnosť overenia zdroja programu a overenia procesu zostavovania. Napríklad väčšina projektov používa hash na kontrolu integrity vydania, ale často sú informácie potrebné na overenie uložené na nechránených systémoch a v zdieľaných úložiskách s kódom, v dôsledku čoho môžu útočníci v prípade kompromitácie nahradiť súbory potrebné na overenie a bez vzbudenia podozrenia zavádzať škodlivé zmeny.

Používanie digitálnych podpisov na overenie vydania sa zatiaľ nerozšírilo kvôli ťažkostiam so správou kľúčov, distribúciou verejných kľúčov a odvolaním kompromitovaných kľúčov. Aby malo overovanie zmysel, je okrem toho potrebné zorganizovať spoľahlivý a bezpečný proces distribúcie verejných kľúčov a kontrolných súčtov. Dokonca aj s digitálnym podpisom mnohí používatelia ignorujú overenie, pretože trvá nejaký čas, kým sa naučia proces overovania a pochopia, ktorý kľúč je dôveryhodný. Projekt Sigstore sa snaží tieto procesy zjednodušiť a zautomatizovať tým, že poskytuje hotové a osvedčené riešenie.

Zdroj: opennet.ru

Pridať komentár