Após oito meses de desenvolvimento, foi lançado o OpenSSL 3.2.0 com a implementação dos protocolos SSL/TLS e diversos algoritmos de criptografia. O suporte ao OpenSSL 3.2 será mantido até 23 de novembro de 2025. O suporte às versões anteriores OpenSSL 3.1 e 3.0 LTS continuará até março de 2025 e setembro de 2026, respectivamente. O suporte à versão 1.1.1 foi encerrado em setembro deste ano. O código do projeto é distribuído sob a licença Apache 2.0.
Novidades principais do OpenSSL 3.2.0:
- Foi adicionada a suporte do cliente para o protocolo QUIC (RFC 9000), utilizado como transporte no protocolo HTTP/3. A implementação inclui, entre outras coisas, a possibilidade de transmissão de múltiplos fluxos por meio de um único canal de comunicação. Componentes para utilização do QUIC em servidores serão incluídos no lançamento do OpenSSL 3.3, que está previsto para ser publicado até 30 de abril de 2024.
O QUIC é uma camada adicional sobre o protocolo UDP, suportando o multiplexamento de várias conexões e fornecendo métodos de criptografia equivalentes ao TLS/SSL. O protocolo foi criado em 2013 pela Google como uma alternativa à combinação TCP+TLS para a Web, abordando problemas de longa latência na configuração e negociação de conexões TCP e eliminando a latência em caso de perdas de pacotes durante a transmissão de dados.
- No TLS, foi implementado o suporte à extensão para compressão de certificados na etapa de negociação de conexões (RFC 8879), permitindo acelerar a configuração da conexão, visto que a transmissão de dados de certificados representa a maior parte do tráfego durante a negociação. Suporte à compressão utilizando as bibliotecas zlib, zstd e Brotli.
- Adicionou-se o suporte a uma variante determinística de assinaturas digitais ECDSA (Deterministic ECDSA, RFC 6979), em que, ao invés de uma sequência aleatória na geração da assinatura, é usado o hash HMAC-SHA256 da chave privada e do texto da mensagem a ser assinada, permitindo sempre obter a mesma assinatura em diferentes operações de assinatura, mas não permitindo a exposição de dados que possam ser usados para a recuperação da chave privada (a chave privada pode ser descoberta se pelo menos duas assinaturas para dados diferentes forem geradas usando uma sequência aleatória repetitiva).
- Foi adicionado suporte a variantes avançadas de assinaturas digitais com chave pública Ed25519 e Ed448: Ed25519ctx, Ed25519ph e Ed448ph (RFC 8032).
- Suporte adicionado para o modo de criptografia AES-GCM-SIV (RFC 8452), que combina o alto desempenho do modo GCM (Galois/Counter Mode) com resistência a vazamentos ao reutilizar códigos nonce aleatórios.
- Implementada a função de geração de chave Argon2 (RFC 9106), vencedora do concurso de funções de hash de senhas em 2015. Adicionada a possibilidade de usar um pool de threads.
- Suporte adicionado para a criptografia híbrida com base no mecanismo HPKE (Hybrid Public Key Encryption, RFC 9180), que combina a facilidade de transmissão de chaves na criptografia de chave pública com o alto desempenho da criptografia simétrica (dados são criptografados com uma chave simétrica rápida, enquanto a chave é criptografada com um método assimétrico mais lento).
- No TLS, foi implementada a possibilidade de usar chaves públicas 'cruas' (raw) (RFC 7250).
- Suporte adicionado para o mecanismo de abertura rápida de conexões TCP (TFO — TCP Fast Open, RFC 7413), que reduz o número de etapas de instalação de conexão ao combinar em uma solicitação os primeiros e segundos passos do clássico processo de três etapas de estabelecimento de conexão, permitindo o envio de dados na fase inicial da instalação da conexão.
- No TLS, foi implementado suporte para esquemas de assinatura digital plugáveis, permitindo o uso de implementações de algoritmos de terceiros, por exemplo, para usar algoritmos resistentes a ataques de computadores quânticos no TLS.
- No TLS 1.3, foi adicionado suporte para curvas elípticas protegidas Brainpool.
- Suporte adicionado para instruções de processador SM4-XTS.
- Na plataforma Windows, foi implementada a possibilidade de usar o armazenamento de certificados raiz do sistema (desativado por padrão). Para acessar os certificados no armazenamento do Windows, um URI 'org.openssl.winstore://' foi proposto.
Fonte: opennet.ru
