Sigstore kryptografisk verifikationssystem annonceret

Google annoncerede dannelsen af ​​de første stabile udgivelser af komponenterne, der udgør Sigstore-projektet, som er erklæret egnet til at skabe fungerende implementeringer. Sigstore udvikler værktøjer og tjenester til softwareverifikation ved hjælp af digitale signaturer og vedligeholdelse af en offentlig log, der bekræfter ændringernes ægthed (gennemsigtighedslog). Projektet udvikles i regi af non-profit organisationen Linux Foundation af Google, Red Hat, Cisco, vmWare, GitHub og HP Enterprise med deltagelse af organisationen OpenSSF (Open Source Security Foundation) og Purdue University.

Sigstore kan opfattes som Let's Encrypt for kode, der giver certifikater til digital signering af kode og værktøjer til at automatisere verifikation. Med Sigstore kan udviklere digitalt signere applikationsrelaterede artefakter såsom frigivelsesfiler, containerbilleder, manifester og eksekverbare filer. Signaturmaterialet 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 de nøgler, der er nødvendige for at skabe en digital signatur, identificerer udvikleren sig selv gennem OpenID-udbyderen, 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 blev genereret af den samme deltager, som var ansvarlig for tidligere udgivelser.

Sigstores klarhed til implementering skyldes dannelsen af ​​udgivelser af to nøglekomponenter - Rekor 1.0 og Fulcio 1.0, hvis softwaregrænseflader er erklæret stabile og fortsat vil være bagudkompatible. Servicekomponenterne er skrevet i Go og distribueret under Apache 2.0-licensen.

Rekor-komponenten indeholder 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 Merkle Tree træstruktur, hvor hver gren verificerer alle underliggende grene og noder gennem fælles (træ) 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 ). En RESTful API er tilvejebragt til verifikation og tilføjelse af nye poster, samt en kommandolinjegrænseflade.

Fulcio-komponenten (SigStore WebPKI) inkluderer et system til oprettelse af certificeringsmyndigheder (root-CA'er), der udsteder kortlivede certifikater baseret på e-mail, der er godkendt 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). Derudover udvikler projektet Cosign (Container Signing) værktøjssættet, designet til at generere signaturer til containere, verificere signaturer og placere signerede containere i repositories, der er kompatible med OCI (Open Container Initiative).

Implementeringen af ​​Sigstore gør det muligt at øge sikkerheden af ​​programdistributionskanaler og beskytte mod angreb rettet mod at substituere biblioteker 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.

Brugen af ​​digitale signaturer til frigivelsesbekræftelse er endnu ikke blevet udbredt på grund af vanskeligheder med at administrere nøgler, distribuere offentlige nøgler og tilbagekalde kompromitterede nøgler. For at verifikation skal give mening, er det desuden 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 lære verifikationsprocessen og forstå, hvilken nøgle der er troværdig. Sigstore-projektet forsøger at forenkle og automatisere disse processer ved at levere en færdiglavet og gennemprøvet løsning.

Kilde: opennet.ru

Tilføj en kommentar