Despois de tres anos e medio de desenvolvemento publicouse o paquete de edición Sequoia 1.0, desenvolvendo unha biblioteca de ferramentas e funcións de liña de comandos coa implementación do estándar OpenPGP (o RFC-4880).
O lanzamento resumiu o traballo sobre a API de baixo nivel, que implementa a cobertura do estándar OpenPGP, suficiente para o seu uso completo. O código do proxecto está escrito en Rust e distribúese baixo a licenza GPLv2 +.
O proxecto foi fundado por tres colaboradores de GnuPG de g10code, un desenvolvedor de complementos GnuPG e auditoría de criptosistemas. O equipo Sequoia tamén é coñecido por crear o servidor de chaves Hagrid, que é usado polo servizo keys.openpgp.org.
O obxectivo do novo proxecto era redeseñar a arquitectura e aplicar novas técnicas para mellorar a seguridade e fiabilidade da base de código.
Para mellorar a seguridade, Sequoia non só usa ferramentas de programación seguro que usan a linguaxe Rust, pero tamén protección contra erros a nivel API.
Por exemplo a API non permite exportar accidentalmente material clave secretoxa que, por defecto, as operacións de exportación requiren unha selección explícita. Ademais, a API garante que non se falten pasos importantes ao actualizar unha sinatura dixital; por defecto, o tempo de creación, o algoritmo de hash e o emisor da sinatura actualízanse automaticamente.
Sequoia tamén está intentando desfacerse das deficiencias de GnuPGcomo a desincronización da funcionalidade das ferramentas da liña de comandos coa biblioteca de funcións (algunhas accións só se poden realizar mediante a utilidade) e o acoplamento demasiado axustado entre compoñentes, dificultando a realización de cambios, ofuscan a base do código e impide a creación dun sistema de unidades completo. -probas.
Sequoia desenvolve a utilidade de liña de comandos sq con soporte de subcomandos estilo Git, o programa sqv (substitución gpgv) para verificar sinaturas separadas, a utilidade sqop (Stateless OpenPGP CLI) e a biblioteca sequoia-openpgp.
Hai ligazóns para as linguas C e Python. A maioría das funcións descritas no estándar OpenPGP son compatibles co cifrado, descifrado, creación e verificación de sinaturas dixitais.
Entre as características avanzadas, nótase que admite a verificación mediante sinaturas dixitais subministradas por separado (sinatura separada), adaptación para a integración con xestores de paquetes (APT, RPM, subida, etc.), a capacidade de limitar as valores limiares e de tempo.
Para simplificar o desenvolvemento, depuración e análise de incidentes, ofrécense ferramentas de inspección de paquetes que se integran co analizador e permiten analizar visualmente a estrutura de mensaxes cifradas, sinaturas dixitais e claves.
Por motivos de seguridade, Admítese o uso de servizos criptográficos, como coprocesadores para computar en enclaves illados. Para un illamento adicional, practícase a separación en procesos separados dos servizos que funcionan con claves públicas e privadas (a interacción dos procesos organízase usando o protocolo Cap'n Proto). Por exemplo, un almacén de claves desenvólvese en forma de proceso separado.
Hai dúas opcións de API: baixo nivel e alto nivel. A API de baixo nivel reproduce o máis preto posible as capacidades de OpenPGP e algunhas extensións relacionadas, como soporte ECC, notarización (sinatura en sinatura) e elementos do borrador da futura edición do estándar.
Obsérvase que segundo a funcionalidade planificada, Sequoia chegou á disposición para a versión 1.0 hai un ano, pero os desenvolvedores decidiron non apresurarse e pasar máis tempo para buscar erros e escribir documentación completa e de alta calidade con ligazóns a información no estándar OpenPGP e exemplos de uso.
A versión 1.0 ata agora só abrangue o cadro sequoia-openpgp e a utilidade de verificación de sinatura dixital sqv. A CLI "sq" e as API de alto nivel aínda non se estabilizaron e están a finalizarse.
As limitacións que se planean eliminar en futuras versións inclúen a implementación de servizos para almacenar claves privadas e públicas, soporte para sinaturas dixitais de texto claro e a posibilidade de usar expresións regulares para determinar sinaturas de confianza.
Sexa o primeiro en opinar sobre