Sequoia 1.0, unha biblioteca que implementa os estándares OpenPGP

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.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado.

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

bool (verdadeiro)