OpenSSL 3.3 traz suporte ampliado ao QUIC e capacidades avançadas de API
OpenSSL 3.3 estreia com recursos avançados de QUIC, funções de API aprimoradas, novas opções criptográficas e mais.
A recém-lançada versão 3.3 do OpenSSL, esta biblioteca fundamental de comunicações seguras, introduz muitos recursos, otimizações e melhorias para aumentar a funcionalidade, segurança e eficiência do OpenSSL. Então, vamos dar uma olhada neles.
O que há de novo no OpenSSL 3.3?
- Suporte aprimorado ao protocolo QUIC: O OpenSSL 3.3 oferece suporte ao QUIC, um protocolo de rede moderno da camada de transporte. As adições notáveis incluem suporte ao qlog para rastrear conexões QUIC, APIs para gerenciar tempos de inatividade de conexões QUIC, criação de streams e desativação do processamento implícito de eventos QUIC.
- Melhoria no Manuseio de Streams e Conectividade: A introdução da API
SSL_write_ex2permite sinalização otimizada de fim de stream dentro do QUIC, complementando a nova capacidade de consultar tamanhos e utilização do buffer de streams do QUIC. Esta versão também possibilita a consulta limitada de objetos de conexão e stream do QUIC em modos não bloqueantes, aprimorando ainda mais a responsividade das aplicações. - Melhorias em Criptografia: O OpenSSL 3.3 amplia suas capacidades criptográficas com várias funcionalidades notáveis. A nova API EVP_DigestSqueeze() permite diferentes tamanhos de saída para algoritmos de digest SHAKE. Além disso, o algoritmo de hashing BLAKE2s agora suporta comprimentos de saída configuráveis, refletindo a flexibilidade do BLAKE2b. Ademais, o EVP_PKEY_fromdata aprimora as funcionalidades de derivação de chaves, incluindo suporte para os parâmetros do Teorema do Resto Chinês.
- Melhorias na Construção e Configuração: Esta versão introduz um exportador para CMake tanto no Unix quanto no Windows, facilitando a integração e a implantação. Também adiciona uma nova opção de configuração atexit para gerenciar o OPENSSL_cleanup ao descarregar a biblioteca, juntamente com aprimoramentos na ativação de provedores e nas configurações de carregamento.
- Otimizações de Segurança e Protocolo: O OpenSSL 3.3 inclui uma série de otimizações voltadas para diversas plataformas, incluindo Microsoft Azure Cobalt 100, ARM Neoverse, Apple Silicon M3 e arquiteturas RISC-V. Essas otimizações garantem que o OpenSSL continue na vanguarda em desempenho e segurança em diferentes ambientes de hardware.
- Aprimoramentos na API e Funcionalidade: Entre as diversas melhorias, esta versão oferece novas APIs para gerenciamento de tempo de sessão, ignorando entradas desconhecidas nas configurações de algoritmos de assinatura TLS, e gerenciando certificados X509 de forma mais eficaz em cenários multithread. Além disso, introduz um limite nos cabeçalhos de resposta HTTP para aumentar a segurança do cliente.
Abordando Compatibilidade e Segurança
O OpenSSL 3.3 também trata de potenciais problemas de compatibilidade e preocupações de segurança. Ele introduz verificações para comprimentos mínimos de strings de entrada de acordo com os padrões ITU-T, ajusta o gerenciamento das configurações de configuração e define novos limites para os cabeçalhos do cliente HTTP. Além disso, migra a função de hash padrão de MD5 para SHA256 para operações HMAC.
Correções de Bugs e Além
Esta versão corrige bugs específicos, como a limitação do valor máximo da função BIO_get_new_index(), garantindo que o OpenSSL continue confiável e robusto. Para desenvolvedores e usuários interessados em aproveitar as novas funcionalidades do QUIC, a equipe do OpenSSL recomenda a leitura do arquivo README do QUIC, que oferece documentação valiosa e código de exemplo.
A lista detalhada de todas as mudanças no OpenSSL 3.3 pode ser encontrada no changelog do projeto.
