Sequoia 1.0, une bibliothèque qui implémente les standards OpenPGP

Après trois ans et demi de développement, il a été publié le package d'édition Séquoia 1.0, développant une bibliothèque d'outils et de fonctions en ligne de commande avec l'implémentation du standard OpenPGP (RFC-4880).

Le lancement a résumé les travaux sur l'API de bas niveau, qui met en œuvre la couverture de la norme OpenPGP, suffisante pour une utilisation complète. Le code du projet est écrit en Rust et est distribué sous la licence GPLv2 +.

Le projet a été fondé par trois contributeurs GnuPG de g10code, un développeur de plugins GnuPG et d'audit de cryptosystème. L'équipe Sequoia est également connue pour avoir créé le serveur de clés Hagrid, qui est utilisé par le service keys.openpgp.org.

Le but du nouveau projet était de repenser l'architecture et d'appliquer de nouvelles techniques pour améliorer la sécurité et la fiabilité de la base de code.

Pour améliorer la sécurité, Sequoia n'utilise pas que des outils de programmation sûr qu'ils utilisent la langue Rust, mais aussi une protection contre les erreurs au niveau de l'API.

Par exemple, l'API ne vous permet pas d'exporter accidentellement du matériel de clé secrètecar, par défaut, les opérations d'exportation nécessitent une sélection explicite. En outre, l'API garantit qu'aucune étape importante n'est manquée lors de la mise à jour d'une signature numérique; Par défaut, l'heure de création, l'algorithme de hachage et l'émetteur de la signature sont mis à jour automatiquement.

Séquoia vous essayez également de vous débarrasser des carences de GnuPGcomme la désynchronisation de la fonctionnalité des outils en ligne de commande avec la bibliothèque de fonctions (certaines actions ne peuvent être effectuées qu'à l'aide de l'utilitaire) et le couplage trop étroit entre les composants, rendant difficile les modifications, obscurcit la base du code et empêche la création d'un système d'unités complet. -tests.

Séquoia développe un utilitaire de ligne de commande sq avec la prise en charge des sous-commandes de style Git, le programme sqv (remplacement de gpgv) pour vérifier les signatures séparées, l'utilitaire sqop (Stateless OpenPGP CLI) et la bibliothèque sequoia-openpgp.

Il existe des liens pour les langages C et Python. La plupart des fonctions décrites dans la norme OpenPGP sont compatibles avec le cryptage, le décryptage, la création et la vérification des signatures numériques.

Parmi les fonctionnalités avancées, il est à noter qu'il prend en charge la vérification à l'aide de signatures numériques fournies séparément (signature séparée), l'adaptation pour l'intégration avec les gestionnaires de packages (APT, RPM, téléchargement, etc.), la possibilité de limiter les signatures par valeurs de seuil et de temps.

Pour simplifier le développement, le débogage et l'analyse des incidents, des outils d'inspection de paquets sont fournis, qui s'intègrent à l'analyseur et vous permettent d'analyser visuellement la structure des messages chiffrés, des signatures numériques et des clés.

Pour des raisons de sécurité, L'utilisation de services cryptographiques, tels que des coprocesseurs pour le calcul dans des enclaves isolées, est prise en charge. Pour une isolation supplémentaire, la séparation en processus séparés des services qui fonctionnent avec des clés publiques et privées est pratiquée (l'interaction des processus est organisée à l'aide du protocole Cap'n Proto). Par exemple, un magasin de clés est développé sous la forme d'un processus séparé.

Il existe deux options d'API: bas niveau et haut niveau. L'API de bas niveau reproduit aussi fidèlement que possible les capacités d'OpenPGP et de certaines extensions associées, telles que le support ECC, la notarisation (signature sur signature) et des éléments du projet de la future édition de la norme.

On constate que selon la fonctionnalité prévue, Sequoia est prêt pour la version 1.0 il y a un an, mais les développeurs ont décidé de ne pas se précipiter et de passer plus de temps pour rechercher des erreurs et rédiger une documentation complète et de haute qualité avec des liens vers des informations dans la norme OpenPGP et des exemples d'utilisation.

La version 1.0 jusqu'à présent ne couvre que la boîte sequoia-openpgp et l'utilitaire de vérification de signature numérique sqv. La CLI "sq" et les API de haut niveau ne sont pas encore stabilisées et sont en cours de finalisation.

Les limitations qui devraient être supprimées dans les versions futures incluent la mise en œuvre de services de stockage de clés privées et publiques, la prise en charge des signatures numériques en texte clair et la possibilité d'utiliser des expressions régulières pour déterminer les signatures de confiance.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.