De release van de OpenSSL bibliotheek 4.0.0 heeft plaatsgevonden, die implementaties van de TLS-protocollen en verschillende versleutelingsalgoritmen biedt. OpenSSL 4.0 valt onder de reguliere onderhoudsuitgaven, waarbij updates gedurende 13 maanden worden uitgebracht. De ondersteuning voor eerdere versies van OpenSSL 3.6, 3.5 LTS, 3.4 en 3.0 LTS duurt tot respectievelijk november 2026, april 2030, oktober 2026 en september 2026. De projectcode wordt verspreid onder de Apache 2.0-licentie.
Belangrijkste vernieuwingen:
- Ondersteuning voor de TLS-extensie ECH (Encrypted ClientHello, RFC 9849) is toegevoegd, bedoeld voor de versleuteling van informatie over TLS-sessieparameters, zoals de gevraagde domeinnaam. In tegenstelling tot de ESNI-extensie (Encrypted Server Name Indication) versleutelt ECH in plaats van afzonderlijke velden, het hele ClientHello-TLS-bericht, wat voorkomt dat gegevenslekken via velden die niet door ESNI worden gedekt, zoals het PSK-veld (Pre-Shared Key), kunnen optreden.
- Ondersteuning voor bepaalde algoritmes gedefinieerd in RFC 8998, die gebruikmaken van de in China gestandaardiseerde set cryptografische algoritmen SM2: het algoritme voor het genereren van digitale handtekeningen sm2sig_sm3, de sleuteluitwisselingsgroep curveSM2 en de post-kwantum groep curveSM2MLKEM768.
- Een cryptografische hashfunctie cSHAKE is toegevoegd, gebaseerd op het SHA-3-algoritme, waarmee verschillende hashes kunnen worden gegenereerd op basis van dezelfde invoergegevens ter bescherming tegen aanvallen die hergebruik van gegevens manipuleren.
- Een hybride algoritme 'ML-DSA-MU' is toegevoegd, dat het postkwantumalgoritme voor digitale handtekeningen ML-DSA (CRYSTALS-Dilithium) combineert met de klassieke hashfunctie SHAKE256.
- Ondersteuning voor sleutelgeneratiefuncties SNMP KDF op basis van HMAC-SHA en SRTP KDF op basis van AES-CM is toegevoegd, die in netwerkprotocollen SNMPv3 en SRTP worden gebruikt voor het creëren van cryptografische sleutels.
- Aan het commando 'openssl fipsinstall' is de optie '-defer_tests' toegevoegd, waardoor de uitvoering van tests bij de installatie van FIPS-modules kan worden uitgesteld.
- Voor het Windows-platform is ondersteuning geïmplementeerd voor het gebruik van statische of dynamische koppelingen met Visual C++ Runtime.
- In TLS 1.2 is ondersteuning toegevoegd voor de sleuteluitwisselingsonderhandeling op basis van het FFDHE-algoritme, overeenkomstig RFC 7919.
- De ondersteuning voor SSLv3 en SSLv2 Client Hello is beëindigd.
- Ondersteuning voor dynamisch geladen engines is verwijderd, en in plaats daarvan moet de concept van plug-in providers worden gebruikt om de functionaliteit van OpenSSL uit te breiden.
- Bij TLS is de ondersteuning voor verouderde elliptische krommen op compileertijd uitgeschakeld. Je kunt de optie «enable-tls-deprecated-ec» gebruiken om deze weer in te schakelen.
- De c_rehash tool is verwijderd, gebruik in plaats daarvan de «openssl rehash» opdracht.
- De verouderde optie «msie-hack» is verwijderd uit de «openssl ca» opdracht.
- Ondersteuning voor eigen EVP_CIPHER, EVP_MD, EVP_PKEY en EVP_PKEY_ASN1 methoden is verwijderd.
- Verouderde SSL/TLS functies die aan vaste versie van protocollen zijn gebonden, zoals «TLSv1_client_method()», zijn verwijderd.
- De verouderde functies ERR_get_state(), ERR_remove_state() en ERR_remove_thread_state() zijn verwijderd.
- Ondersteuning voor de doelplatformen darwin-i386{,-cc} en darwin-ppc{,64}{,-cc} is gestopt.
Bron: opennet.ru
