Après sept ans de développement, la version 1.0 de l'outil en ligne de commande sq, conçu pour travailler avec les artefacts OpenPGP, a été finalisée. Cet outil a été préparé par le projet Sequoia PGP, qui développe également une bibliothèque de fonctions implémentant la norme OpenPGP (RFC-4880). La sortie de la version 1.0 est marquée comme le premier lancement stable du projet, signifiant une stabilisation de la base de code et l'arrêt des changements qui compromettent la compatibilité. Le code est écrit en Rust et est distribué sous la licence GPLv2+.
L'outil est inclus dans la distribution Red Hat Enterprise Linux 10 comme alternative à GnuPG, utilisé pour travailler avec PGP dans les gestionnaires de paquets DNF et RPM, et est utilisé par défaut dans la branche expérimentale du gestionnaire de paquets APT si des composants Sequoia sont présents dans le système. Le serveur de clés Hagrid, créé par les développeurs Sequoia, est utilisé dans le service keys.openpgp.org.
Le projet Sequoia a été créé par trois développeurs de GnuPG de l'entreprise g10code, spécialisée dans l'audit des systèmes cryptographiques et le développement d'extensions pour GnuPG. L'objectif déclaré du projet est de repenser l'architecture et d'introduire de nouvelles techniques pour améliorer la sécurité et la fiabilité de la base de code. En plus de l'utilisation du langage Rust pour réduire la probabilité d'erreurs liées à la gestion de la mémoire, Sequoia implémente une protection supplémentaire contre les erreurs au niveau de l'API. Par exemple, l'API n'autorise pas l'exportation accidentelle du matériel clé secrète et aide à ne pas manquer d'actions importantes lors de la mise à jour de la signature numérique. Pour une isolation supplémentaire, une séparation en processus distincts est appliquée aux services travaillant avec des clés publiques et privées.
En plus des fonctions pour le chiffrement des données, la gestion des signatures électroniques et des clés, similaires à celles de gpg, sq propose également une infrastructure décentralisée de clés publiques (PKI). La PKI est utilisée pour l'authentification des certificats et des messages, et permet de s'assurer que la clé publique reçue et le message accepté sont liés à l'auteur déclaré, et non générés par un acteur malveillant.
Lors du téléchargement d'un certificat depuis keys.openpgp.org ou un autre serveur de clés, l'utilitaire sq enregistrera automatiquement les informations sur le certificat sur le système local et utilisera ces informations lors des opérations ultérieures pour identifier les certificats contrefaits. Il est à noter que le système implémenté peut servir de base à la création d'une sorte d'autorité de certification (CA) distribuée, couvrant différents serveurs de clés.
Par exemple, avant de vérifier l'authenticité des builds du système d'exploitation Qubes, l'utilisateur peut d'abord vérifier le certificat Qubes fourni par le serveur de clés principal du projet Qubes : sq network search https://keys.qubes-os.org/keys/qubes-release-4.2-signing-key.asc
La commande spécifiée téléchargera le certificat depuis le serveur keys.qubes-os.org, puis vérifiera sa présence sur des serveurs de clés connus, tels que keys.openpgp.org et keyserver.ubuntu.com, ou tentera d'obtenir des informations via les mécanismes WKD (Web Key Directory) et DANE (DNS-Based Authentication of Named Entities). Ensuite, l'utilitaire comparera les certificats reçus et, s'ils sont associés à un même propriétaire, proposera d'utiliser la commande « sq pki link add » pour enregistrer le certificat sur le système local pour de futures vérifications. Après l'enregistrement, le certificat sera considéré comme digne de confiance, et pour télécharger des builds avec vérification de leur authenticité, il suffira d'exécuter la commande : sq download —signature-url https://mirrors.edge.kernel.org/qubes/iso/Qubes-R4.2.3-x86_64.iso.asc —url https://mirrors.edge.kernel.org/qubes/iso/Qubes-R4.2.3-x86_64.iso —output /tmp/qubes.iso
Source : opennet.ru
