Red Hat og Google introducerede Sigstore, en tjeneste til verifikation af kryptografisk kode

Red Hat og Google grundlagde sammen med Purdue University Sigstore-projektet, der havde til formål at skabe værktøjer og tjenester til at verificere software ved hjælp af digitale signaturer og vedligeholde en offentlig log for at bekræfte ægtheden (gennemsigtighedslog). Projektet vil blive udviklet i regi af non-profit organisationen Linux Foundation.

Det foreslåede projekt vil forbedre sikkerheden for softwaredistributionskanaler og beskytte mod angreb, der har til formål at erstatte softwarekomponenter og afhængigheder (forsyningskæde). Et af de vigtigste sikkerhedsproblemer i open source-software er vanskeligheden ved at verificere kilden til programmet og verificere byggeprocessen. For eksempel bruger de fleste projekter hashes til at verificere integriteten af ​​en udgivelse, men ofte gemmes de nødvendige oplysninger til godkendelse på ubeskyttede systemer og i delte kodelagre, som et resultat af hvilke angribere kan kompromittere de filer, der er nødvendige for verifikation og indføre ondsindede ændringer uden at vække mistanke.

Kun en lille del af projekterne bruger digitale signaturer, når de distribuerer udgivelser på grund af vanskelighederne med at administrere nøgler, distribuere offentlige nøgler og tilbagekalde kompromitterede nøgler. For at verifikation skal give mening, er det også nødvendigt at organisere en pålidelig og sikker proces til distribution af offentlige nøgler og kontrolsummer. Selv med en digital signatur ignorerer mange brugere verifikation, fordi de skal bruge tid på at studere verifikationsprocessen og forstå, hvilken nøgle der er troværdig.

Sigstore er udråbt til at svare til Let's Encrypt for code, der leverer certifikater til digital signering af kode og værktøjer til automatisering af verifikation. Med Sigstore kan udviklere digitalt signere applikationsrelaterede artefakter såsom frigivelsesfiler, containerbilleder, manifester og eksekverbare filer. Et særligt kendetegn ved Sigstore er, at det materiale, der bruges til signering, afspejles i en manipulationssikker offentlig log, der kan bruges til verifikation og revision.

I stedet for permanente nøgler bruger Sigstore kortlivede kortvarige nøgler, som genereres baseret på legitimationsoplysninger bekræftet af OpenID Connect-udbydere (på tidspunktet for generering af nøgler til en digital signatur, identificerer udvikleren sig selv gennem en OpenID-udbyder, der er knyttet til en e-mail). Nøglernes ægthed verificeres ved hjælp af en offentlig centraliseret log, som gør det muligt at verificere, at forfatteren til signaturen er præcis den, han hævder at være, og signaturen er dannet af den samme deltager, som var ansvarlig for tidligere udgivelser.

Sigstore leverer både en færdiglavet service, som du allerede kan bruge, og et sæt værktøjer, der giver dig mulighed for at implementere lignende tjenester på dit eget udstyr. Tjenesten er gratis for alle udviklere og softwareudbydere og implementeres på en neutral platform - Linux Foundation. Alle komponenter i tjenesten er open source, skrevet i Go og distribueret under Apache 2.0-licensen.

Blandt de udviklede komponenter kan vi bemærke:

  • Rekor er en logimplementering til lagring af digitalt signerede metadata, der afspejler information om projekter. For at sikre integritet og beskytte mod datakorruption i efterhånden, bruges en trælignende struktur "Merkle Tree", hvor hver gren verificerer alle underliggende grene og noder, takket være fælles (trælignende) hashing. Med den endelige hash kan brugeren verificere rigtigheden af ​​hele operationshistorikken såvel som rigtigheden af ​​databasens tidligere tilstande (rodbekræftelseshashen for den nye tilstand af databasen beregnes under hensyntagen til den tidligere tilstand ). For at verificere og tilføje nye registreringer leveres en Restful API samt en cli-grænseflade.
  • Fulcio (SigStore WebPKI) er et system til oprettelse af certificeringsmyndigheder (Root-CA'er), der udsteder kortlivede certifikater baseret på e-mail, der er autentificeret via OpenID Connect. Levetiden for certifikatet er 20 minutter, hvor udvikleren skal have tid til at generere en digital signatur (hvis certifikatet senere falder i hænderne på en angriber, vil det allerede være udløbet).
  • Сosign (Container Signing) er et værktøjssæt til at generere signaturer til containere, verificere signaturer og placere signerede containere i repositories, der er kompatible med OCI (Open Container Initiative).

Kilde: opennet.ru

Tilføj en kommentar