OpenSSL 3.0.0 vem com uma série de mudanças e melhorias importantes

Após três anos de desenvolvimento e 19 versões de teste o lançamento da nova versão do OpenSSL 3.0.0 foi anunciado recentemente a qual tem mais de 7500 mudanças contribuído por 350 desenvolvedores e que também representa uma mudança significativa no número da versão e que se deve à transição para a numeração tradicional.

A partir de agora, o primeiro dígito (Principal) no número da versão mudará apenas quando a compatibilidade for violada no nível API / ABI, e o segundo (Menor) quando a funcionalidade for aumentada sem alterar a API / ABI. As atualizações corretivas serão enviadas com uma alteração de terceiro dígito (patch). O número 3.0.0 foi escolhido imediatamente após 1.1.1 para evitar colisões com o módulo FIPS em desenvolvimento para OpenSSL, que foi numerado 2.x.

A segunda grande mudança para o projeto foi o transição de uma licença dupla (OpenSSL e SSLeay) para uma licença Apache 2.0. A licença OpenSSL nativa usada anteriormente era baseada na licença Apache 1.0 legada e exigia menção explícita do OpenSSL em materiais promocionais ao usar as bibliotecas OpenSSL, e uma nota especial se o OpenSSL foi enviado com o produto.

Esses requisitos tornaram a licença anterior incompatível com a GPL, dificultando o uso do OpenSSL em projetos licenciados GPL. Para contornar essa incompatibilidade, os projetos GPL foram forçados a cumprir acordos de licença específicos, nos quais o texto principal da GPL foi complementado com uma cláusula permitindo explicitamente que o aplicativo se vincule à biblioteca OpenSSL e mencionando que a GPL não se aplica à vinculação ao OpenSSL .

O que há de novo no OpenSSL 3.0.0

Pela parte das novidades que são apresentadas no OpenSSL 3.0.0, podemos descobrir que um novo módulo FIPS foi proposto, que inclui a implementação de algoritmos criptográficos que atendem ao padrão de segurança FIPS 140-2 (o processo de certificação do módulo está planejado para começar este mês, e a certificação FIPS 140-2 é esperada no próximo ano). O novo módulo é muito mais fácil de usar e conectar-se a muitos aplicativos não será mais difícil do que alterar o arquivo de configuração. Por padrão, o FIPS está desabilitado e requer que a opção enable-fips seja habilitada.

Na libcrypto, o conceito de provedores de serviços conectados foi implementado que substituiu o conceito de motores (a ENGINE API foi descontinuada). Com a ajuda de fornecedores, você pode adicionar suas próprias implementações de algoritmo para operações como criptografia, descriptografia, geração de chave, cálculo de MAC, criação e verificação de assinaturas digitais.

Destaca-se também que adicionado suporte para CMPo que Ele pode ser usado para solicitar certificados do servidor CA, renovar e revogar certificados. O trabalho com o CMP é feito pelo novo utilitário openssl-cmp, que também implementa suporte para o formato CRMF e a transmissão de solicitações por HTTP / HTTPS.

Também Uma nova interface de programação para geração de chaves foi proposta: EVP_KDF (Key Derivation Function API), que simplifica a incorporação de novas implementações KDF e PRF. A API EVP_PKEY antiga, por meio da qual os algoritmos scrypt, TLS1 PRF e HKDF estavam disponíveis, foi reprojetada como uma camada intermediária implementada no topo das APIs EVP_KDF e EVP_MAC.

E na implementação do protocolo O TLS oferece a capacidade de usar o cliente e o servidor TLS embutido no kernel Linux para acelerar as operações. Para habilitar a implementação de TLS fornecida pelo kernel Linux, a opção "SSL_OP_ENABLE_KTLS" ou a configuração "enable-ktls" deve ser habilitada.

Por outro lado, é mencionado que uma parte significativa da API foi movida para a categoria obsoleta- Usar chamadas obsoletas no código do projeto irá gerar um aviso durante a compilação. As API de baixo nível ligado a certos algoritmos foram oficialmente declarados obsoletos.

O suporte oficial no OpenSSL 3.0.0 agora é fornecido apenas para APIs EVP de alto nível, extraídas de certos tipos de algoritmos (esta API inclui, por exemplo, as funções EVP_EncryptInit_ex, EVP_EncryptUpdate e EVP_EncryptFinal). APIs obsoletas serão removidas em uma das próximas versões principais. Implementações de algoritmo legado, como MD2 e DES, disponíveis por meio da API EVP, foram movidas para um módulo "legado" separado, que é desabilitado por padrão.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes 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.