Drei Jahre nach Beginn der Entwicklung veröffentlichte Release Sequoia 1.0. Es ist eine Rust-Implementierung von OpenPGP, die eine umfangreiche Bibliothek von Funktionen und Befehlszeilentools enthält. Veröffentlichung veröffentlicht, nachdem die Entwickler die Arbeit an einer Low-Level-API abgeschlossen haben - sie hat gerade den OpenPGP-Standard vollständig implementiert .
All dies ist in Rust geschrieben und das Paket wird unter der GPLv2 + -Lizenz verteilt. Es gibt Versionen für alle wichtigen Plattformen - Linux, FreeBSD, Windows, MacOS, Android und iOS. Das Entwicklungsteam ist klein und basiert auf drei GnuPG-Entwicklern von g10code. Mit demselben Befehl wurde der Hagrid-Schlüsseldienst erstellt, der im Dienst keys.openpgp.org verwendet wird .... Über das, was das Paket ist - unter dem Schnitt.
Das Hauptziel der Entwickler ist eine vollständige Neugestaltung der Architektur und der Einsatz neuer Techniken zur Verbesserung der Sicherheit und Zuverlässigkeit der Codebasis.
Um das Schutzniveau in Sequoia zu erhöhen, wird zusätzlich zu den sicheren Programmiertools, die die Sprache Rust verwenden, ein Fehlerschutz auf API-Ebene angewendet. Ein Beispiel ist die Unfähigkeit, den Inhalt eines privaten Schlüssels versehentlich zu exportieren, da die Standardexportvorgänge eine explizite Auswahl erfordern. Darüber hinaus versichert die API, dass wichtige Schritte während der Aktualisierung der digitalen Signatur fehlen. Diese Operation sollte die Erstellungszeit, den Hashing-Algorithmus und den Signaturaussteller aktualisieren.
Darüber hinaus sind die Entwickler mit den Mängeln von gnuPGP sehr vertraut, da sie die Autoren dieses Projekts sind. In der neuen Version haben sie versucht, sie loszuwerden. Beispielsweise wurden Maßnahmen ergriffen, um die Desynchronisation der Funktionalität der Befehlszeilentools mit der Funktionsbibliothek zu verhindern. Einige Aktionen können nur in der Schnittstelle des Dienstprogramms selbst ausgeführt werden. Außerdem verschwand das Problem einer zu engen Kopplung zwischen Komponenten - es war schwierig, Änderungen an der Codebasis vorzunehmen. Infolgedessen gibt es Verwirrung und Komplexität bei der Organisation von Unit-Tests.
Die Entwickler haben Tools zur Paketinspektion erstellt, indem sie diese in den Parser integriert haben. Mit ihnen können Sie die Entwicklung, das Debuggen und die Vorfallanalyse vereinfachen. Darüber hinaus erhält der Benutzer die Möglichkeit, die Struktur verschlüsselter Nachrichten, einschließlich digitaler Signaturen und Schlüssel, visuell zu analysieren.
Sequoia entwickelt außerdem das Befehlszeilenprogramm sq mit Unterstützung für Unterbefehle im Git-Stil, das Programm sqv (Ersatz für gpgv ) zum Überprüfen getrennter Signaturen, das Dienstprogramm sqop (Stateless OpenPGP CLI) und die Bibliothek sequoia-openpgp . Die Entwickler haben Bindungen für die Sprachen C und Python bereitgestellt.
Die neue Version unterstützt die überwiegende Mehrheit der für den OpenPGP-Standard spezifischen Funktionen, einschließlich Verschlüsselung, Entschlüsselung, Erstellung und Überprüfung digitaler Signaturen. Die erweiterten Funktionen unterstützten die Überprüfung durch separat bereitgestellte digitale Signaturen (getrennte Signatur), die Anpassung an die Integration mit Paketmanagern (APT, RPM, Fracht usw.) und die Möglichkeit, Signaturen durch Schwellenwerte und Zeit zu begrenzen.
Es gibt auch zwei API-Optionen - Low-Level und entsprechend High-Level. Die erste Version gibt die Funktionen von OpenPGP und verwandten Erweiterungen am genauesten wieder. Darüber hinaus werden Aufrufe zum ungepufferten Verarbeiten, Parsen und Serialisieren von Nachrichtenfeldern in Zertifikaten und Schlüsseln bereitgestellt. Die zweite API, eine übergeordnete, umfasst sowohl Hilfsprogramme als auch domänenspezifische Funktionen. Dies sind Funktionen für die Speicherung öffentlicher Schlüssel und den Netzwerkzugriff. Leider wird die High-Level-API noch weiterentwickelt - sie befindet sich erst in einem frühen Entwicklungsstadium.
Interessanterweise hatten die Entwickler die Veröffentlichung nicht eilig, obwohl die meisten aktuellen Funktionen und Fähigkeiten vor einem Jahr verfügbar waren. Sie zogen es vor, die Codebasis auf Fehler zu überprüfen und erneut zu überprüfen. Darüber hinaus hat das Team eine umfassende Dokumentation mit Verweisen auf OpenPGP verfasst. Die Entwickler haben die Anwendungsfälle nicht vergessen.
Die Version 1.0 enthält jetzt die Sequoia-OpenPGP-Kiste und das Dienstprogramm zur Überprüfung der digitalen Signatur von sqv . Und hier ist die sq CLI und die High-Level-APIs sind noch nicht stabilisiert und werden finalisiert. In naher Zukunft plant das Entwicklungsteam, Dienste zum Speichern privater und öffentlicher Schlüssel zu integrieren, Unterstützung für unverschlüsselte digitale Signaturen hinzuzufügen und reguläre Ausdrücke zu verwenden, um vertrauenswürdige Signaturen zu ermitteln.