Red Hat en Google het Sigstore bekendgestel, 'n diens vir kriptografiese kodeverifikasie

Red Hat en Google, saam met Purdue Universiteit, het die Sigstore-projek gestig, wat daarop gemik is om gereedskap en dienste te skep om sagteware te verifieer deur digitale handtekeninge te gebruik en 'n publieke logboek in stand te hou om egtheid (deursigtigheidlog) te bevestig. Die projek sal ontwikkel word onder die vaandel van die nie-winsgewende organisasie Linux Foundation.

Die voorgestelde projek sal die sekuriteit van sagtewareverspreidingskanale verbeter en beskerm teen aanvalle wat daarop gemik is om sagtewarekomponente en afhanklikhede (voorsieningsketting) te vervang. Een van die belangrikste sekuriteitsprobleme in oopbronsagteware is die moeilikheid om die bron van die program te verifieer en die bouproses te verifieer. Die meeste projekte gebruik byvoorbeeld hashes om die integriteit van 'n vrystelling te verifieer, maar dikwels word die inligting wat nodig is vir stawing op onbeskermde stelsels en in gedeelde kodebewaarplekke gestoor, as gevolg daarvan kan aanvallers die lêers wat nodig is vir verifikasie kompromitteer en kwaadwillige veranderinge instel. sonder om agterdog te wek.

Slegs 'n klein deel van projekte gebruik digitale handtekeninge wanneer vrystellings versprei word as gevolg van die probleme met die bestuur van sleutels, die verspreiding van publieke sleutels en die herroeping van gekompromitteerde sleutels. Om verifikasie sin te maak, is dit ook nodig om 'n betroubare en veilige proses vir die verspreiding van publieke sleutels en kontrolesomme te organiseer. Selfs met 'n digitale handtekening ignoreer baie gebruikers verifikasie omdat hulle tyd moet spandeer om die verifikasieproses te bestudeer en te verstaan ​​watter sleutel betroubaar is.

Sigstore word voorgehou as die ekwivalent van Let's Encrypt for code, wat sertifikate verskaf vir die digitale ondertekening van kode en gereedskap vir die outomatisering van verifikasie. Met Sigstore kan ontwikkelaars toepassingsverwante artefakte digitaal onderteken soos vrystellinglêers, houerbeelde, manifeste en uitvoerbare programme. 'n Spesiale kenmerk van Sigstore is dat die materiaal wat vir ondertekening gebruik word, weerspieël word in 'n peutervrye publieke logboek wat vir verifikasie en ouditering gebruik kan word.

In plaas van permanente sleutels, gebruik Sigstore kortstondige kortstondige kortstondige sleutels, wat gegenereer word op grond van geloofsbriewe wat deur OpenID Connect-verskaffers bevestig is (ten tyde van die generering van sleutels vir 'n digitale handtekening, identifiseer die ontwikkelaar homself deur 'n OpenID-verskaffer wat aan 'n e-pos gekoppel is). Die egtheid van die sleutels word geverifieer met behulp van 'n publieke gesentraliseerde logboek, wat dit moontlik maak om te verifieer dat die outeur van die handtekening presies is wie hy beweer om te wees en die handtekening is gevorm deur dieselfde deelnemer wat verantwoordelik was vir vorige vrystellings.

Sigstore bied beide 'n klaargemaakte diens wat jy reeds kan gebruik, en 'n stel gereedskap wat jou toelaat om soortgelyke dienste op jou eie toerusting te ontplooi. Die diens is gratis vir alle ontwikkelaars en sagtewareverskaffers, en word op 'n neutrale platform ontplooi - die Linux-stigting. Alle komponente van die diens is oopbron, geskryf in Go en versprei onder die Apache 2.0-lisensie.

Onder die ontwikkelde komponente kan ons let op:

  • Rekor is 'n log-implementering vir die berging van digitaal ondertekende metadata wat inligting oor projekte weerspieël. Om integriteit te verseker en teen data-korrupsie ná die tyd te beskerm, word 'n boomagtige struktuur "Merkle Tree" gebruik, waarin elke tak alle onderliggende takke en nodusse verifieer, danksy gesamentlike (boomagtige) hashing. Met die finale hash, kan die gebruiker die korrektheid van die hele geskiedenis van bedrywighede verifieer, sowel as die korrektheid van die vorige toestande van die databasis (die wortelverifikasie-hash van die nuwe toestand van die databasis word bereken met inagneming van die vorige toestand ). Om nuwe rekords te verifieer en by te voeg, word 'n Restful API voorsien, sowel as 'n cli-koppelvlak.
  • Fulcio (SigStore WebPKI) is 'n stelsel vir die skep van sertifiseringsowerhede (Root-CA's) wat kortstondige sertifikate uitreik gebaseer op e-pos wat geverifieer is via OpenID Connect. Die leeftyd van die sertifikaat is 20 minute, waartydens die ontwikkelaar tyd moet hê om 'n digitale handtekening te genereer (as die sertifikaat later in die hande van 'n aanvaller val, sal dit reeds verval wees).
  • Сosign (Container Signing) is 'n gereedskapstel vir die generering van handtekeninge vir houers, die verifikasie van handtekeninge en die plasing van getekende houers in bewaarplekke wat versoenbaar is met OCI (Open Container Initiative).

Bron: opennet.ru

Voeg 'n opmerking