Após sete anos de desenvolvimento, foi lançado o conjunto de ferramentas de linha de comando sq 1.0, destinado a trabalhar com artefatos OpenPGP. O conjunto de ferramentas foi preparado pelo projeto Sequoia PGP, que também desenvolve uma biblioteca de funções com a implementação do padrão OpenPGP (RFC-4880). O lançamento 1.0 é marcado como a primeira versão estável do projeto, significando a estabilização da base de código e a interrupção de alterações que comprometem a compatibilidade. O código foi escrito na linguagem Rust e é distribuído sob a licença GPLv2+.
O conjunto de ferramentas está incluído na distribuição Red Hat Enterprise Linux 10 como uma alternativa ao GnuPG, utilizado para trabalhar com PGP nos gerenciadores de pacotes DNF e RPM, e é usado por padrão na ramificação experimental do gerenciador de pacotes APT quando componentes do Sequoia estão presentes no sistema. O servidor de chaves Hagrid, criado pelos desenvolvedores do Sequoia, é aplicado no serviço keys.openpgp.org.
O projeto Sequoia foi fundado por três desenvolvedores do GnuPG da empresa g10code, que se especializa em auditoria de criptossistemas e desenvolvimento de complementos para o GnuPG. O objetivo do projeto é reformular a arquitetura e implementar novas técnicas para aumentar a segurança e confiabilidade da base de código. Além de usar a linguagem Rust para reduzir a probabilidade de erros de manipulação de memória, o Sequoia implementa uma proteção adicional contra erros no nível da API. Por exemplo, a API não permite a exportação acidental de material da chave secreta e protege contra a omissão de ações importantes durante a atualização da assinatura digital. Para uma maior isolamento, é usado o particionamento em processos separados para os serviços que lidam com chaves públicas e privadas.
Além das funções para criptografar dados, trabalhar com assinaturas eletrônicas e gerenciar chaves, semelhantes às capacidades do gpg, o sq também oferece uma infraestrutura descentralizada de chaves públicas (PKI). A PKI é utilizada para autenticar certificados e mensagens, permitindo verificar que a chave pública recebida e a mensagem aceita estão ligadas ao autor declarado, e não foram geradas por um invasor.
Ao carregar um certificado do keys.openpgp.org ou de outro servidor de chaves, a ferramenta sq salvará automaticamente as informações do certificado no sistema local e usará essas informações em operações futuras para detectar certificados falsificados. Nota-se que o sistema implementado pode ser usado como base para criar uma versão distribuída de uma autoridade certificadora (CA), cobrindo vários servidores de chaves.
Por exemplo, antes de verificar a autenticidade das compilações do sistema operacional Qubes, o usuário pode inicialmente verificar o certificado Qubes, fornecido pelo servidor principal de chaves do projeto Qubes: sq network search https://keys.qubes-os.org/keys/qubes-release-4.2-signing-key.asc
O comando especificado irá baixar o certificado do servidor keys.qubes-os.org e, em seguida, verificará sua presença em servidores de chaves conhecidos, como keys.openpgp.org e keyserver.ubuntu.com, ou tentará obtê-lo por meio dos mecanismos WKD (Web Key Directory) e DANE (DNS-Based Authentication of Named Entities). Em seguida, a ferramenta comparará os certificados obtidos e, se eles estiverem associados a um único proprietário, sugerirá usar o comando 'sq pki link add' para salvar o certificado no sistema local para futuras verificações. Após a salvaguarda, o certificado será considerado confiável e, para baixar compilações com verificação de autenticidade, será suficiente executar o 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
Fonte: opennet.ru
