Después de siete años de desarrollo, se ha formado el lanzamiento de la herramienta de línea de comandos sq 1.0, diseñada para trabajar con artefactos OpenPGP. La herramienta ha sido preparada por el proyecto Sequoia PGP, que también está desarrollando una biblioteca de funciones que implementa el estándar OpenPGP (RFC-4880). La versión 1.0 se marca como el primer lanzamiento estable del proyecto, lo que significa la estabilización de la base de código y la finalización de los cambios que rompen la compatibilidad. El código está escrito en el lenguaje Rust y se distribuye bajo la licencia GPLv2+.
La herramienta está incluida en el distribuidor Red Hat Enterprise Linux 10 como alternativa a GnuPG, utilizada para trabajar con PGP en los gestores de paquetes DNF y RPM, y se utiliza por defecto en la rama experimental del gestor de paquetes APT cuando hay componentes de Sequoia en el sistema. El servidor de claves Hagrid, creado por los desarrolladores de Sequoia, se utiliza en el servicio keys.openpgp.org.
El proyecto Sequoia fue creado por tres desarrolladores de GnuPG de la empresa g10code, que se especializa en la auditoría de sistemas criptográficos y en el desarrollo de complementos para GnuPG. El objetivo del proyecto es rehacer la arquitectura e implementar nuevas técnicas para mejorar la seguridad y la fiabilidad de la base de código. Además de utilizar el lenguaje Rust para reducir la probabilidad de errores en la gestión de memoria, Sequoia implementa una protección adicional contra errores a nivel de API. Por ejemplo, la API no permite la exportación accidental del material de la clave secreta y asegura que no se omitan acciones importantes al actualizar la firma digital. Para una mayor aislamiento, se utiliza la separación en procesos separados de los servicios que trabajan con claves públicas y privadas.
Además de las funciones para cifrar datos, trabajar con firmas electrónicas y gestionar claves, similares a las capacidades de gpg, sq proporciona además una infraestructura descentralizada de claves públicas (PKI). La PKI se utiliza para la autenticación de certificados y mensajes, y permite verificar que la clave pública recibida y el mensaje aceptado están relacionados con el autor declarado, y no han sido generados por un atacante.
Al cargar el certificado desde keys.openpgp.org u otro servidor de claves, la utilidad sq guardará automáticamente la información del certificado en el sistema local y utilizará esta información en operaciones posteriores para identificar certificados fraudulentos. Se señala que el sistema implementado puede servir como base para crear un centro de certificación (CA) distribuido que abarque diferentes servidores de claves.
Por ejemplo, antes de verificar la autenticidad de las compilaciones del sistema operativo Qubes, el usuario puede verificar primero el certificado de Qubes, entregado desde el servidor de claves principal del proyecto Qubes: sq network search https://keys.qubes-os.org/keys/qubes-release-4.2-signing-key.asc
El comando mencionado descargará el certificado del servidor keys.qubes-os.org y luego verificará su presencia en servidores de claves conocidos, como keys.openpgp.org y keyserver.ubuntu.com, o intentará obtenerlo mediante mecanismos WKD (Web Key Directory) y DANE (DNS-Based Authentication of Named Entities). A continuación, la utilidad comparará los certificados obtenidos y, si están relacionados con un mismo propietario, ofrecerá utilizar el comando «sq pki link add» para guardar el certificado en el sistema local para futuras verificaciones. Tras guardarlo, el certificado será considerado confiable, y para descargar compilaciones verificando su autenticidad, será suficiente ejecutar el comando: 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
Fuente: opennet.ru
