Sequoia, uma biblioteca que implementa os padrões OpenPGP

Sequóia é uma biblioteca de funções e um kit de ferramentas de linha de comando que implementa os padrões OpenPGP (RFC-4880), esta biblioteca está sendo desenvolvida por três membros do projeto GnuPG, que decidiram criar uma nova implementação gratuita do OpenPGP na linguagem Rust para melhorar a segurança e confiabilidade da base de código, que fornece ferramentas para trabalhar com segurança com memória.

Além de melhorar a segurança, o Sequoia também está tentando se livrar das falhas no GnuPG, que não pode ser corrigido no projeto principal sem quebrar a compatibilidade ou retrabalhar significativamente a base de código.

Por exemplo O GnuPG é fortemente acoplado entre os componentes, tornando difícil fazer alterações, ele confunde a base do código e torna difícil criar um sistema de teste de unidade completo. O kit de ferramentas de linha de comando gpupg não está sincronizado funcionalmente com a biblioteca de funções e algumas ações só podem ser executadas por meio do utilitário.

Sequóia apresenta o utilitário de linha de comando sq com suporte ao subcomando do estilo Git e duas opções de API: baixo nível e alto nível. Existem links para as linguagens C e Python.

A maioria das funções descrito no padrão Criptografia de suporte OpenPGP, descriptografia, criação e verificação de assinaturas digitais.

Entre os recursos avançados, observa-se que admite a verificação por assinaturas digitais fornecidas separadamente, adaptação para integração com gerenciadores de pacotes (APT, RPM, carga, etc.), a capacidade de limitar assinaturas por valores limite e tempo.

A API de baixo nível reproduz o mais fielmente possível os recursos do OpenPGP e algumas extensões relacionadas, como suporte ECC e elementos de rascunho da edição futura do padrão. As únicas exceções são as partes herdadas da especificação que podem afetar negativamente a segurança, como suporte para hashing MD5.

A API de baixo nível também suporta processamento de mensagens sem buffer. A API de baixo nível já está muito perto da cobertura total do padrão OpenPGP e pronta para manipular dados OpenPGP em um nível baixo (versão estável 1.0 esperada em breve).

Por outro lado, a API de alto nível ainda está começando a evoluir e até agora cobre apenas recursos como armazenamento de chave pública e acesso pela rede. Outros recursos específicos de domínio e de suporte serão adicionados à medida que o projeto se desenvolve.

O pacote também oferece ferramentas poderosas de inspeção de pacotes que pode ser usado durante o desenvolvimento, depuração e análise de incidentes. As ferramentas de inspeção são integradas ao analisador para analisar visualmente a estrutura de mensagens criptografadas, assinaturas digitais e chaves.

Atualmente a As plataformas compatíveis com o Sequoia são Linux, FreeBSD, Windows, macOS, Android e iOS, Além disso, é possível utilizar os serviços criptográficos fornecidos pela plataforma, como coprocessadores para o cálculo em enclaves isolados.

Para fornecer isolamento adicional, é praticado separar os serviços que funcionam com chaves públicas e privadas em processos separados. Por exemplo, um keystore é desenvolvido na forma de um processo separado. O protocolo Cap'n Proto é usado para interação do processo.

Finalmente, resta mencionar que recentemente uma nova versão foi lançada do Sequoia, sendo a versão mais atual Sequoia 0.20.0 em que se adicione o pacote sequoia-openpgp baixo nível, o programa sqv (substituição de gpgv) para verificar assinaturas separadas e o utilitário sqop com a implementação do Stateless OpenPGP CLI.

Os requisitos para a linguagem Rust foram aumentados para a versão 1.46 e o ​​uso do sistema de integração contínua para verificar as mudanças foi expandido e o conjunto de testes de compatibilidade OpenPGP foi aprimorado.

Se você quiser saber mais sobre isso sobre esta biblioteca, você pode verificar os detalhes em seu site oficial no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.