Sequoia 1.0, uma biblioteca que implementa os padrões OpenPGP

Após três anos e meio de desenvolvimento, foi publicado o pacote de edição Sequoia 1.0, desenvolvendo uma biblioteca de ferramentas e funções de linha de comando com a implementação do padrão OpenPGP (o RFC-4880).

O lançamento resumiu o trabalho na API de baixo nível, que implementa a cobertura do padrão OpenPGP, suficiente para uso completo. O código do projeto é escrito em Rust e é distribuído sob a licença GPLv2 +.

O projeto foi fundado por três contribuidores GnuPG da g10code, um desenvolvedor de plugins GnuPG e auditoria de criptosistemas. A equipe Sequoia também é conhecida por criar o servidor de chaves Hagrid, que é usado pelo serviço keys.openpgp.org.

O objetivo do novo projeto era redesenhar a arquitetura e aplicar novas técnicas para melhorar a segurança e confiabilidade da base de código.

Para melhorar a segurança, O Sequoia não usa apenas ferramentas de programação com certeza eles usam a linguagem Ferrugem, mas também proteção contra erros em nível de API.

Por exemplo a API não permite que você exporte acidentalmente material de chave secretauma vez que, por padrão, as operações de exportação requerem uma seleção explícita. Além disso, a API garante que nenhuma etapa importante seja perdida ao atualizar uma assinatura digital; Por padrão, a hora de criação, o algoritmo de hashing e o emissor da assinatura são atualizados automaticamente.

Sequóia você também está tentando se livrar das deficiências do GnuPGcomo a dessincronização da funcionalidade das ferramentas de linha de comando com a biblioteca de funções (algumas ações só podem ser realizadas usando o utilitário) e o acoplamento muito forte entre os componentes, tornando difícil fazer alterações, ofusca a base do código e evita a criação de um sistema de unidades completo. -testes.

Sequóia desenvolve utilitário de linha de comando sq com suporte ao subcomando do estilo Git, o programa sqv (substituição de gpgv) para verificar assinaturas separadas, o utilitário sqop (Stateless OpenPGP CLI) e a biblioteca sequoia-openpgp.

Existem links para as linguagens C e Python. A maioria das funções descritas no padrão OpenPGP são compatíveis com criptografia, descriptografia, criação e verificação de assinaturas digitais.

Entre os recursos avançados, é possível notar que ele suporta verificação usando assinaturas digitais fornecidas separadamente (assinatura separada), adaptação para integração com gerenciadores de pacotes (APT, RPM, upload, etc.), capacidade de limitar assinaturas por valores de limite e tempo.

Para simplificar o desenvolvimento, a depuração e a análise de incidentes, são fornecidas ferramentas de inspeção de pacotes, que se integram ao analisador e permitem que você analise visualmente a estrutura de mensagens criptografadas, assinaturas digitais e chaves.

Por razões de segurança, O uso de serviços criptográficos, como coprocessadores para computação em enclaves isolados, é suportado. Para isolamento adicional, a separação em processos separados dos serviços que trabalham com chaves públicas e privadas é praticada (a interação dos processos é organizada usando o protocolo Cap'n Proto). Por exemplo, um keystore é desenvolvido na forma de um processo separado.

Existem duas opções de API: nível baixo e nível alto. A API de baixo nível reproduz o mais próximo possível as capacidades do OpenPGP e algumas extensões relacionadas, como suporte ECC, notarização (assinatura na assinatura) e elementos do rascunho da edição futura do padrão.

Observa-se que de acordo com a funcionalidade planejada, O Sequoia está pronto para a versão 1.0 há um ano, mas os desenvolvedores decidiram não se apressar e gastar mais tempo para procurar erros e escrever documentação completa de alta qualidade com links para informações no padrão OpenPGP e exemplos de uso.

A versão 1.0 até agora cobre apenas a caixa sequoia-openpgp e o utilitário de verificação de assinatura digital sqv. A CLI "sq" e as APIs de alto nível ainda não se estabilizaram e estão sendo finalizadas.

As limitações planejadas para serem removidas em versões futuras incluem a implementação de serviços para armazenar chaves privadas e públicas, suporte para assinaturas digitais de texto não criptografado e a capacidade de usar expressões regulares para determinar assinaturas confiáveis.


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.