Sequoia 1.0, et bibliotek, der implementerer OpenPGP-standarder

Efter tre et halvt års udvikling blev Sequoia 1.0- udgaven udgivet , der udviklede et bibliotek med funktioner og kommandolinjeværktøjer med implementeringen af ​​OpenPGP-standarden (RFC-4880).

Udgivelsen opsummerede arbejdet med lavniveau-API'en , som implementerer OpenPGP-standarddækning med tilstrækkelig dækning til fuld brug. Projektkoden er skrevet i Rust og distribueret under GPLv2+-licensen.

Projektet blev grundlagt af tre GnuPG-bidragydere fra g10code, en GnuPG-plugin-udvikler og et kryptosystemrevisionsfirma. Sequoia-teamet er også kendt for at have skabt Hagrid-nøgleserveren, som bruges af keys.openpgp.org-tjenesten.

Målet med det nye projekt var at redesigne arkitekturen og anvende nye teknikker for at forbedre kodebasens sikkerhed og pålidelighed.

For at forbedre sikkerheden bruger Sequoia ikke kun sikre programmeringsværktøjer , der bruger Rust-sproget, men også fejlbeskyttelse på API-niveau.

For eksempel forhindrer API'en dig i utilsigtet at eksportere hemmeligt nøglemateriale , da eksporthandlinger som standard kræver eksplicit valg. På samme måde sikrer API'en, at ingen vigtige trin overses, når en digital signatur opdateres; som standard opdateres oprettelsestidspunktet, hash-algoritmen og signaturudstederen automatisk.

Sequoia forsøger også at slippe af med manglerne ved GnuPG , såsom desynkroniseringen af ​​kommandolinjeværktøjernes funktionalitet med funktionsbiblioteket (nogle handlinger kan kun udføres ved hjælp af værktøjet) og den alt for tætte kobling mellem komponenter, hvilket gør det vanskeligt at foretage ændringer, tilslører kodebasen og forhindrer oprettelsen af ​​et komplet enhedstestsystem.

Sequoia udvikler kommandolinjeværktøjet sq med understøttelse af underkommandoer i Git-stil , sqv-programmet (en erstatning for gpgv) til verifikation af separate signaturer, sqop-værktøjet (Stateless OpenPGP CLI) og sequoia-openpgp-biblioteket.

Der er links til sprogene C og Python. De fleste af de funktioner, der er beskrevet i OpenPGP-standarden, er kompatible med kryptering, dekryptering, oprettelse og verifikation af digitale signaturer.

Blandt de avancerede funktioner bemærkes det, at det understøtter verifikation ved hjælp af separat leverede digitale signaturer (separat signatur), tilpasning til integration med pakkehåndtering (APT, RPM, upload osv.), Evnen til at begrænse signaturer ved tærskel- og tidsværdier.

For at forenkle udvikling, fejlretning og hændelsesanalyse leveres der pakkeinspektionsværktøjer, der integreres med analysatoren og giver dig mulighed for visuelt at analysere strukturen for krypterede meddelelser, digitale signaturer og nøgler.

Af sikkerhedsmæssige årsager er brugen af ​​kryptografiske tjenester, såsom coprocessorer til beregning i isolerede enklaver, tilladt. For yderligere isolering er tjenester, der arbejder med offentlige og private nøgler, opdelt i separate processer (procesinteraktion organiseres ved hjælp af Cap'n Proto-protokollen). For eksempel implementeres et nøglelager som en separat proces.

Der er to API-muligheder: lavniveau og højniveau. Lavniveau-API'en replikerer så tæt som muligt funktionerne i OpenPGP og nogle relaterede udvidelser, såsom ECC-understøttelse, notarisering (signatur-på-signatur) og elementer fra udkastet til den fremtidige udgave af standarden.

Det observeres, at Sequoia, ifølge den planlagte funktionalitet, nåede klarhed til version 1.0 for et år siden, men udviklerne besluttede ikke at forhaste sig og i stedet bruge mere tid på at finde fejl og skrive komplet dokumentation af høj kvalitet med links til information i OpenPGP-standarden og brugseksempler.

Version 1.0 dækker i øjeblikket kun sequoia-openpgp-boksen og sqv-værktøjet til verificering af digitale signaturer. "sq" CLI og API'er på højt niveau er stadig under færdiggørelse og er endnu ikke stabiliserede.

Begrænsninger, der planlægges fjernet i fremtidige udgivelser, inkluderer implementering af tjenester til opbevaring af private og offentlige nøgler, understøttelse af klare tekst digitale signaturer og muligheden for at bruge regelmæssige udtryk til at bestemme pålidelige signaturer.


Tilføj som foretrukken kilde i Google