Tres años después del comienzo del desarrollo, se publicó la versión Sequoia 1.0. Es una implementación de Rust de OpenPGP que contiene una extensa biblioteca de funciones y herramientas de línea de comandos. Lanzamiento publicado después de que los desarrolladores hayan completado el trabajo en una API de bajo nivel; acaba de implementar completamente el estándar OpenPGP.
Todo esto está escrito en Rust y el paquete se distribuye bajo la licencia GPLv2 +. Hay versiones para todas las plataformas principales: Linux, FreeBSD, Windows, macOS, Android e iOS. El equipo de desarrollo es pequeño, basado en tres desarrolladores GnuPG de g10code. El mismo comando creó el servicio de claves Hagrid, que se utiliza en el servicio keys.openpgp.org.... Acerca de lo que es el paquete: debajo del corte.
El objetivo principal fijado por los desarrolladores es un rediseño completo de la arquitectura y el uso de nuevas técnicas para mejorar la seguridad y confiabilidad del código base.
Además de la programación segura mediante el lenguaje Rust, Sequoia también utiliza protección contra errores a nivel de API para mejorar la seguridad. Un ejemplo es la imposibilidad de exportar accidentalmente el contenido de una clave privada, ya que las operaciones de exportación predeterminadas requieren una selección explícita. Además, la API asegura que no se pierdan pasos importantes durante la actualización de la firma digital. Esta operación debe actualizar la hora de creación, el algoritmo hash y el emisor de la firma.
Además, los desarrolladores están muy familiarizados con las deficiencias de gnuPGP ya que son los autores de este proyecto. En la nueva versión, intentaron deshacerse de ellos. Por ejemplo, se han tomado medidas para eliminar la desincronización de la funcionalidad de las herramientas de línea de comando con la biblioteca de funciones. Algunas acciones solo se pueden realizar en la interfaz de la propia utilidad. Además, el problema del acoplamiento demasiado estrecho entre los componentes desapareció: fue lo que dificultó la realización de cambios en la base del código. Como resultado, existe confusión y complejidad en la organización de las pruebas unitarias.
Los desarrolladores han creado herramientas de inspección de paquetes integrándolas con un analizador. Le permiten simplificar el desarrollo, la depuración y el análisis de incidentes. Además, el usuario tiene la oportunidad de analizar visualmente la estructura de los mensajes cifrados, incluidas las firmas digitales y las claves.
Sequoia también desarrolla la utilidad de línea de comando sq con soporte de subcomando de estilo Git, la utilidad sqv (reemplazo de gpgv ) para verificar firmas separadas, la utilidad sqop (Stateless OpenPGP CLI) y la biblioteca sequoia-openpgp . Los desarrolladores han proporcionado enlaces para los lenguajes C y Python.
La nueva versión es compatible con la gran mayoría de las funciones específicas del estándar OpenPGP, incluido el cifrado, el descifrado, la creación y la verificación de firmas digitales. En cuanto a las funciones avanzadas, agregó soporte para la verificación mediante firmas digitales suministradas por separado (firma separada), adaptación para la integración con administradores de paquetes (APT, RPM, carga, etc.) y la capacidad de limitar las firmas por valores de umbral y tiempo.
También hay dos opciones de API: nivel bajo y, en consecuencia, nivel alto. En cuanto al primero, reproduce con mayor precisión las capacidades de OpenPGP y extensiones relacionadas. Además, proporciona llamadas para procesar mensajes sin búfer, analizar y serializar campos en certificados y claves. La segunda API, de alto nivel, cubre tanto las capacidades de ayuda como las específicas del dominio. Estas son funciones de acceso a la red y almacenamiento de claves públicas. Desafortunadamente, la API de alto nivel aún se perfeccionará, solo se encuentra en una etapa temprana de desarrollo.
Curiosamente, los desarrolladores no tenían prisa con el lanzamiento, aunque la mayoría de las funciones y capacidades actuales estaban listas hace un año. Preferían comprobar y volver a comprobar el código base en busca de errores. Además, el equipo ha escrito documentación completa con referencias a OpenPGP. Los desarrolladores no se han olvidado de los casos de uso.
La versión 1.0 ahora incluye la caja sequoia-openpgp y la utilidad de verificación de firma digital sqv . Y aquí está la CLI sqy las API de alto nivel aún no se han estabilizado y se están finalizando. En un futuro cercano, el equipo de desarrollo planea integrar servicios para almacenar claves públicas y privadas, agregar soporte para firmas digitales sin cifrar y la capacidad de usar expresiones regulares para determinar firmas confiables.