Google představen prostřednictvím příspěvku na blogu, oznámení o vznik prvních stabilních verzí komponenty, které tvoří projekt sigstore, který je deklarován jako vhodný pro vytváření pracovních nasazení.
Pro ty, kteří o Sigstore nevědí, by měli vědět, že se jedná o projekt, který má za cíl vyvíjet a poskytovat nástroje a služby pro ověřování softwaru používání digitálních podpisů a vedení veřejného registru, který potvrzuje pravost změn (registr transparentnosti).
Se Sigstore, vývojáři mohou digitálně podepisovat artefakty související s aplikací, jako jsou soubory vydání, obrazy kontejnerů, manifesty a spustitelné soubory. Materiál použitý pro podpis se odráží ve veřejném záznamu odolném proti neoprávněné manipulaci které lze použít pro ověřování a auditování.
Místo trvalých klíčů, Sigstore používá krátkodobé efemérní klíče které jsou generovány na základě přihlašovacích údajů ověřených poskytovateli OpenID Connect (v době generování klíčů nezbytných k vytvoření digitálního podpisu je vývojář identifikován prostřednictvím poskytovatele OpenID pomocí e-mailového odkazu).
Pravost klíčů je ověřena centralizovaným veřejným registrem, což vám umožňuje ujistit se, že autor podpisu je přesně ten, za koho se vydává, a že podpis vytvořil stejný účastník, který byl zodpovědný za dřívější verze.
Příprava Sigstore pro realizaci je kvůli verzování dvou klíčových komponent: Rekor 1.0 a Fulcio 1.0, jehož programovací rozhraní jsou deklarována jako stabilní a nadále si zachovávají kompatibilitu s předchozími verzemi. Komponenty služby jsou napsány v Go a jsou vydány pod licencí Apache 2.0.
Komponenta Rekor obsahuje implementaci registru pro ukládání digitálně podepsaných metadat které odrážejí informace o projektech. Pro zajištění integrity a ochrany před poškozením dat se používá struktura Merkle Tree, ve které každá větev ověřuje všechny základní větve a uzly prostřednictvím společného hash (stromu). Pomocí konečného hashe si uživatel může ověřit správnost celé historie operací a také správnost minulých stavů databáze (kořenový kontrolní hash nového stavu databáze se vypočítá s ohledem na minulý stav). K dispozici je RESTful API pro kontrolu a přidávání nových záznamů a také rozhraní příkazového řádku.
Komponenta fulcius (SigStore WebPKI) obsahuje systém pro vytváření certifikačních autorit (kořenová CA), které vydávají krátkodobé certifikáty na základě ověřeného e-mailu prostřednictvím OpenID Connect. Životnost certifikátu je 20 minut, během kterých musí mít vývojář čas na vygenerování digitálního podpisu (pokud se certifikát v budoucnu dostane do rukou útočníka, jeho platnost již vyprší). Taky, projekt vyvíjí sadu nástrojů Cosign (Container Signing), navržený pro generování podpisů pro kontejnery, ověřování podpisů a umístění podepsaných kontejnerů do úložišť vyhovujících OCI (Open Container Initiative).
Zavedení Sigstore umožňuje zvýšit zabezpečení distribučních kanálů softwaru a chránit před útoky zaměřenými na substituci knihoven a závislostí (dodavatelský řetězec). Jedním z klíčových bezpečnostních problémů v softwaru s otevřeným zdrojovým kódem je obtížnost ověření zdroje programu a ověření procesu sestavení.
Používání digitálních podpisů pro ověřování verzí zatím není rozšířeno kvůli potížím se správou klíčů, distribucí veřejného klíče a odvoláním kompromitovaných klíčů. Aby mělo ověřování smysl, je také nutné zorganizovat spolehlivý a bezpečný proces distribuce veřejných klíčů a kontrolních součtů. I s digitálním podpisem mnoho uživatelů ignoruje ověření, protože chvíli trvá, než se naučí ověřovací proces a pochopí, který klíč je důvěryhodný.
Projekt je vyvíjen pod záštitou neziskové Linux Foundation společnosti Google, Red Hat, Cisco, vmWare, GitHub a HP Enterprise za účasti OpenSSF (Open Source Security Foundation) a Purdue University.
Nakonec, pokud vás zajímá, že se o tom můžete dozvědět více, můžete se podívat na podrobnosti v následující odkaz.