Red Hat a Google predstavili Sigstore, službu na overovanie kryptografických kódov

Red Hat a Google spolu s Purdue University založili projekt Sigstore zameraný na vytváranie nástrojov a služieb na overovanie softvéru pomocou digitálnych podpisov a udržiavanie verejného denníka na potvrdenie pravosti (transparency log). Projekt bude vyvinutý pod záštitou neziskovej organizácie Linux Foundation.

Navrhovaný projekt zlepší bezpečnosť distribučných kanálov softvéru a ochráni pred útokmi zameranými na nahradenie softvérových komponentov 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 overenie 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 kódu, v dôsledku čoho môžu útočníci kompromitovať súbory potrebné na overenie a zaviesť škodlivé zmeny. bez vzbudzovania podozrenia.

Len malá časť projektov používa digitálne podpisy pri distribúcii vydaní 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 musia stráviť čas štúdiom overovacieho procesu a pochopením, ktorý kľúč je dôveryhodný.

Sigstore je ponúkaný ako ekvivalent Let's Encrypt pre kód, 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áciami, ako sú súbory vydania, obrázky kontajnerov, manifesty a spustiteľné súbory. Špeciálnou vlastnosťou Sigstore je, že 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é sa generujú na základe poverení potvrdených poskytovateľmi OpenID Connect (v čase generovania kľúčov pre digitálny podpis sa vývojár identifikuje prostredníctvom poskytovateľa OpenID prepojeného s e-mailom). Pravosť kľúčov sa overuje pomocou verejného centralizovaného denníka, ktorý umožňuje overiť, ž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.

Sigstore poskytuje hotovú službu, ktorú už môžete používať, ako aj sadu nástrojov, ktoré vám umožňujú nasadiť podobné služby na vašom vlastnom zariadení. Služba je bezplatná pre všetkých vývojárov a poskytovateľov softvéru a je nasadená na neutrálnej platforme – Linux Foundation. Všetky komponenty služby sú open source, napísané v Go a distribuované pod licenciou Apache 2.0.

Medzi vyvinutými komponentmi môžeme poznamenať:

  • Rekor je logová implementácia na ukladanie digitálne podpísaných metadát odrážajúcich informácie o projektoch. Na zaistenie integrity a ochranu 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 vďaka spoločnému (stromovému) hashovaniu. 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 ). Na overenie a pridanie nových záznamov je k dispozícii Restful API, ako aj rozhranie cli.
  • Fulcio (SigStore WebPKI) je systém na vytváranie certifikačných autorít (Root-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 neskôr dostane do rúk útočníka, jeho platnosť už vyprší).
  • Сosign (Container Signing) je súprava nástrojov na generovanie podpisov pre kontajnery, overovanie podpisov a umiestňovanie podpísaných kontajnerov do úložísk kompatibilných s OCI (Open Container Initiative).

Zdroj: opennet.ru

Pridať komentár