Sequoia 1.0, et bibliotek som implementerer OpenPGP-standarder

Etter tre og et halvt år med utvikling ble Sequoia 1.0- utgavepakken utgitt , som utviklet et bibliotek med funksjoner og kommandolinjeverktøy med implementeringen av OpenPGP-standarden (RFC-4880).

Utgivelsen oppsummerte arbeidet med lavnivå-API-et , som implementerer OpenPGP-standarddekning som er tilstrekkelig for full bruk. Prosjektkoden er skrevet i Rust og distribuert under GPLv2+-lisensen.

Prosjektet ble grunnlagt av tre GnuPG-bidragsytere fra g10code, et GnuPG-plugin-utvikler og et kryptosystemrevisjonsfirma. Sequoia-teamet er også kjent for å ha laget Hagrid-nøkkelserveren, som brukes av keys.openpgp.org-tjenesten.

Målet med det nye prosjektet var å redesigne arkitekturen og bruke nye teknikker for å forbedre sikkerheten og påliteligheten til kodebasen.

For å forbedre sikkerheten bruker Sequoia ikke bare sikre programmeringsverktøy som bruker Rust-språket, men også feilbeskyttelse på API-nivå.

For eksempel forhindrer API-et at du ved et uhell eksporterer hemmelig nøkkelmateriale , ettersom eksportoperasjoner krever eksplisitt valg som standard. På samme måte sikrer API-et at ingen viktige trinn blir oversett når du oppdaterer en digital signatur; som standard oppdateres opprettelsestidspunktet, hash-algoritmen og signaturutstederen automatisk.

Sequoia prøver også å bli kvitt manglene ved GnuPG , som desynkroniseringen av funksjonaliteten til kommandolinjeverktøyene med funksjonsbiblioteket (noen handlinger kan bare utføres ved hjelp av verktøyet) og den altfor tette koblingen mellom komponenter, noe som gjør det vanskelig å gjøre endringer, tilslører kodebasen og forhindrer opprettelsen av et komplett enhetstestingssystem.

Sequoia utvikler kommandolinjeverktøyet sq med støtte for underkommandoer i Git-stil , sqv-programmet (en erstatning for gpgv) for å verifisere separate signaturer, sqop-verktøyet (Stateless OpenPGP CLI) og sequoia-openpgp-biblioteket.

Det er lenker for språkene C og Python. De fleste funksjonene beskrevet i OpenPGP-standarden er kompatible med kryptering, dekryptering, oppretting og verifisering av digitale signaturer.

Blant de avanserte funksjonene bemerkes det at den støtter bekreftelse ved bruk av separat medfølgende digitale signaturer (separat signatur), tilpasning for integrering med pakkeforvaltere (APT, RPM, opplasting, etc.), muligheten til å begrense signaturer med terskel- og tidsverdier.

For å forenkle utvikling, feilsøking og hendelsesanalyse, leveres verktøy for pakkeinspeksjon, som integreres med analysatoren og lar deg visuelt analysere strukturen til krypterte meldinger, digitale signaturer og nøkler.

Av sikkerhetsmessige årsaker er bruk av kryptografiske tjenester, som koprosessorer for databehandling i isolerte enklaver, tillatt. For ytterligere isolering er tjenester som arbeider med offentlige og private nøkler separert i separate prosesser (prosessinteraksjon er organisert ved hjelp av Cap'n Proto-protokollen). For eksempel er et nøkkellager implementert som en separat prosess.

Det finnes to API-alternativer: lavnivå og høynivå. Lavnivå-API-et gjenskaper så tett som mulig funksjonene til OpenPGP og noen relaterte utvidelser, som ECC-støtte, notarisering (signatur-på-signatur) og elementer fra utkastet til den fremtidige utgaven av standarden.

Det observeres at Sequoia, i henhold til den planlagte funksjonaliteten, var klar for versjon 1.0 for et år siden, men utviklerne bestemte seg for å ikke forhaste seg og i stedet bruke mer tid på å finne feil og skrive komplett dokumentasjon av høy kvalitet med lenker til informasjon i OpenPGP-standarden og brukseksempler.

Versjon 1.0 dekker for øyeblikket bare sequoia-openpgp-boksen og sqv-verktøyet for verifisering av digitale signaturer. «sq» CLI og API-er på høyt nivå er fortsatt under ferdigstillelse og er ennå ikke stabilisert.

Begrensninger som er planlagt fjernet i fremtidige utgivelser inkluderer implementering av tjenester for lagring av private og offentlige nøkler, støtte for klare tekst digitale signaturer og muligheten til å bruke vanlige uttrykk for å bestemme pålitelige signaturer.


Legg til som foretrukket kilde i Google