Google predstavený prostredníctvom blogového príspevku, oznámenia o vznik prvých stabilných verzií komponenty, ktoré tvoria projekt sigstore, ktorý je vyhlásený za vhodný na vytváranie pracovných nasadení.
Pre tých, ktorí nepoznajú Sigstore, by mali vedieť, že ide o projekt, ktorý má za cieľ vyvíjať a poskytovať nástroje a služby na overovanie softvéru používanie digitálnych podpisov a vedenie verejného registra, ktorý potvrdzuje pravosť zmien (register transparentnosti).
So Sigstore, vývojári môžu digitálne podpisovať artefakty súvisiace s aplikáciou, ako sú súbory vydania, obrázky kontajnerov, manifesty a spustiteľné súbory. Materiál použitý na podpis sa odráža vo verejnom zázname odolnom voči falšovaniu ktoré možno použiť na overenie a audit.
Namiesto trvalých kľúčov, Sigstore používa efemérne kľúče s krátkou životnosťou 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 je vývojár identifikovaný prostredníctvom poskytovateľa OpenID pomocou e-mailového odkazu).
Pravosť kľúčov overuje centralizovaný verejný register, čo 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 verzie.
Príprava Sigstore na realizáciu je kvôli verzovanie dvoch kľúčových komponentov: Rekor 1.0 a Fulcio 1.0, ktorého programovacie rozhrania sú vyhlásené za stabilné a odteraz si zachovávajú kompatibilitu s predchádzajúcimi verziami. Komponenty služby sú napísané v Go a sú vydané pod licenciou Apache 2.0.
Komponent Rekor obsahuje implementáciu registra 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 štruktúra Merkle Tree, v ktorej každá vetva overuje všetky základné vetvy a uzly prostredníctvom spoločného hashu (stromu). Pomocou konečného hashu si používateľ môže overiť správnosť celej histórie operácií, ako aj správnosť minulých stavov databázy (koreňový kontrolný hash nového stavu databázy sa vypočíta s ohľadom na minulý stav). K dispozícii je RESTful API na kontrolu a pridávanie nových záznamov, ako aj rozhranie príkazového riadku.
Komponent fulcius (SigStore WebPKI) obsahuje systém vytvárania certifikačných autorít (koreňová CA), ktoré vydávajú krátkodobé certifikáty na základe overeného e-mailu cez OpenID Connect. Životnosť certifikátu je 20 minút, počas ktorých musí mať vývojár čas na vygenerovanie digitálneho podpisu (ak sa certifikát v budúcnosti dostane do rúk útočníka, jeho platnosť už vyprší). tiež projekt vyvíja súbor nástrojov Cosign (Container Signing), určený na generovanie podpisov pre kontajnery, overovanie podpisov a umiestňovanie podpísaných kontajnerov do úložísk vyhovujúcich 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 substitúciu knižníc a závislostí (dodávateľský reťazec). 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.
Používanie digitálnych podpisov na overenie verzie zatiaľ nie je rozšírené 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 tiež potrebné zorganizovať spoľahlivý a bezpečný proces distribúcie verejných kľúčov a kontrolných súčtov. Dokonca aj pri digitálnom podpise mnohí používatelia ignorujú overenie, pretože trvá nejaký čas, kým sa naučia overovací proces a pochopia, ktorý kľúč je dôveryhodný.
Projekt je vyvíjaný pod záštitou neziskovej Linuxovej nadácie Google, Red Hat, Cisco, vmWare, GitHub a HP Enterprise za účasti OpenSSF (Open Source Security Foundation) a Purdue University.
Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete si podrobnosti prečítať v nasledujúci odkaz.