Foi lançado o OpenSSL 4.0.0, que oferece a implementação dos protocolos TLS e vários algoritmos de criptografia. O OpenSSL 4.0 é classificado como uma versão com suporte normal, com atualizações sendo lançadas ao longo de 13 meses. O suporte para versões anteriores do OpenSSL 3.6, 3.5 LTS, 3.4 e 3.0 LTS continuará até novembro de 2026, abril de 2030, outubro de 2026 e setembro de 2026, respectivamente. O código do projeto é distribuído sob a licença Apache 2.0.
Principais inovações:
- Adicionada a suporte à extensão TLS ECH (Encrypted ClientHello, RFC 9849), destinada a criptografar informações sobre os parâmetros das sessões TLS, como o nome do domínio solicitado. Ao contrário da extensão ESNI (Encrypted Server Name Indication), o ECH criptografa toda a mensagem TLS ClientHello, em vez de criptografar em nível de campos individuais, o que ajuda a bloquear vazamentos através de campos que não são cobertos pelo ESNI, como o campo PSK (Pre-Shared Key).
- Adicionada suporte a algoritmos definidos na RFC 8998 que utilizam um conjunto de algoritmos criptográficos padronizados na China, o SM2: o algoritmo de assinatura digital sm2sig_sm3, grupos de troca de chaves curveSM2 e o grupo pós-quântico curveSM2MLKEM768.
- Adicionada a função criptográfica de hash cSHAKE, que se baseia no algoritmo SHA-3 e permite gerar diferentes hashes a partir dos mesmos dados de entrada para proteção contra ataques que manipulam a reutilização de dados.
- Adicionado um algoritmo híbrido 'ML-DSA-MU', que combina o algoritmo de assinatura digital pós-quântico ML-DSA (CRYSTALS-Dilithium) com a função de hash clássica SHAKE256.
- Adicionada suporte para funções de geração de chaves SNMP KDF baseadas em HMAC-SHA e SRTP KDF baseadas em AES-CM, usadas em protocolos de rede SNMPv3 e SRTP para criar chaves criptográficas.
- Na equipe 'openssl fipsinstall' foi adicionada a opção '-defer_tests', permitindo adiar a execução dos testes ao instalar módulos FIPS.
- Para a plataforma Windows, foi implementado suporte para utilização de vinculação estática ou dinâmica com o Visual C++ Runtime.
- No TLS 1.2, foi adicionada suporte para negociação de troca de chaves baseada no algoritmo FFDHE, conforme a RFC 7919.
- O suporte para SSLv3 e SSLv2 Client Hello foi descontinuado.
- O suporte para motores carregáveis dinamicamente foi removido; em vez disso, a funcionalidade do OpenSSL deve ser expandida usando a conceito de provedores plugáveis.
- No suporte a curvas elípticas obsoletas foi desativado durante a compilação do TLS. Para reverter, você pode usar a opção «enable-tls-deprecated-ec».
- A ferramenta c_rehash foi removida, e agora deve-se usar o comando «openssl rehash».
- A opção obsoleta «msie-hack» foi removida do comando «openssl ca».
- O suporte a métodos personalizados EVP_CIPHER, EVP_MD, EVP_PKEY e EVP_PKEY_ASN1 foi removido.
- Funções obsoletas de SSL/TLS vinculadas a versões fixas de protocolos, como «TLSv1_client_method()», foram removidas.
- As funções obsoletas ERR_get_state(), ERR_remove_state() e ERR_remove_thread_state() foram removidas.
- O suporte às plataformas-alvo darwin-i386{,-cc} e darwin-ppc{,64}{,-cc} foi encerrado.
Fonte: opennet.ru
