Sequoia 1.0, een bibliotheek die OpenPGP-standaarden implementeert

Na drieënhalf jaar ontwikkeling werd het Sequoia 1.0 -pakket uitgebracht , een bibliotheek met functies en commandoregeltools die de OpenPGP-standaard (RFC-4880) implementeert.

Het persbericht gaf een samenvatting van het werk aan de low-level API , die voldoende OpenPGP-standaarddekking biedt voor volledig gebruik. De projectcode is geschreven in Rust en wordt gedistribueerd onder de GPLv2+-licentie.

Het project is opgericht door drie GnuPG-bijdragers van g10code, een ontwikkelaar van GnuPG-plugins en een bedrijf dat cryptosystemen controleert. Het Sequoia-team staat ook bekend om het creëren van de Hagrid-sleutelserver, die wordt gebruikt door de service keys.openpgp.org.

Het doel van het nieuwe project was om de architectuur opnieuw te ontwerpen en nieuwe technieken toe te passen om de veiligheid en betrouwbaarheid van de codebase te verbeteren.

Om de beveiliging te verbeteren, gebruikt Sequoia niet alleen veilige programmeertools die gebruikmaken van de Rust-taal, maar ook foutbescherming op API-niveau.

De API voorkomt bijvoorbeeld dat u per ongeluk geheime sleutelgegevens exporteert , aangezien exportbewerkingen standaard een expliciete selectie vereisen. Op dezelfde manier zorgt de API ervoor dat er geen belangrijke stappen worden overgeslagen bij het bijwerken van een digitale handtekening; standaard worden de aanmaaktijd, het hash-algoritme en de uitgever van de handtekening automatisch bijgewerkt.

Sequoia probeert ook de tekortkomingen van GnuPG weg te nemen , zoals de desynchronisatie van de functionaliteit van de commandoregeltools met de functiebibliotheek (sommige acties kunnen alleen via de utility worden uitgevoerd) en de te sterke koppeling tussen componenten, wat het moeilijk maakt om wijzigingen aan te brengen, de codebase ondoorzichtig maakt en de ontwikkeling van een compleet unit-testsysteem verhindert.

Sequoia ontwikkelt het commandoregelprogramma sq met ondersteuning voor subopdrachten in Git-stijl , het programma sqv (een vervanging voor gpgv) voor het verifiëren van afzonderlijke handtekeningen, het hulpprogramma sqop (Stateless OpenPGP CLI) en de sequoia-openpgp-bibliotheek.

Er zijn links voor de talen C en Python. De meeste functies die in de OpenPGP-standaard worden beschreven, zijn compatibel met codering, decodering, aanmaak en verificatie van digitale handtekeningen.

Onder de geavanceerde functies wordt opgemerkt dat het verificatie ondersteunt met behulp van afzonderlijk geleverde digitale handtekeningen (afzonderlijke handtekening), aanpassing voor integratie met pakketbeheerders (APT, RPM, uploaden, enz.), De mogelijkheid om handtekeningen te beperken door drempel- en tijdwaarden.

Om ontwikkeling, foutopsporing en incidentanalyse te vereenvoudigen, worden pakketinspectietools geleverd, die worden geïntegreerd met de analysator en waarmee u de structuur van gecodeerde berichten, digitale handtekeningen en sleutels visueel kunt analyseren.

Om veiligheidsredenen is het gebruik van cryptografische diensten, zoals coprocessors voor berekeningen in geïsoleerde enclaves, toegestaan. Voor verdere isolatie worden diensten die met publieke en private sleutels werken, gescheiden in afzonderlijke processen (procesinteractie wordt georganiseerd met behulp van het Cap'n Proto-protocol). Een sleutelopslag is bijvoorbeeld geïmplementeerd als een apart proces.

Er zijn twee API-opties: een op laag niveau en een op hoog niveau. De API op laag niveau reproduceert zo nauw mogelijk de mogelijkheden van OpenPGP en enkele gerelateerde extensies, zoals ECC-ondersteuning, notarisatie (handtekening-op-handtekening) en elementen uit het concept van de toekomstige editie van de standaard.

Het is gebleken dat Sequoia, volgens de geplande functionaliteit, een jaar geleden al klaar was voor versie 1.0. De ontwikkelaars hebben echter besloten om geen overhaaste beslissingen te nemen en in plaats daarvan meer tijd te besteden aan het opsporen van bugs en het schrijven van complete, hoogwaardige documentatie met links naar informatie in de OpenPGP-standaard en gebruiksvoorbeelden.

Versie 1.0 omvat momenteel alleen de sequoia-openpgp box en het sqv-hulpprogramma voor digitale handtekeningverificatie. De "sq" CLI en de API's op hoog niveau worden nog afgerond en zijn nog niet gestabiliseerd.

Beperkingen die in toekomstige releases zullen worden verwijderd, zijn onder meer de implementatie van services om privé- en openbare sleutels op te slaan, ondersteuning voor digitale handtekeningen in platte tekst en de mogelijkheid om reguliere expressies te gebruiken om vertrouwde handtekeningen te bepalen.


Voeg dit toe als voorkeursbron in Google.