Az OpenSSL 4.1.0 DTLS 1.3 támogatást hoz, négy ismert hibával
Működő kapcsolatot zárhat le, vagy egy már használhatatlanon várakozhat az alkalmazás az OpenSSL új DTLS-kódjának félrevezető hibajelzései miatt. A 4.1.0 kiadás már támogatja a DTLS 1.3 protokollt, de négy ismert problémát is nyilvántart. A változások a fordítási beállításokat és a tsget segédprogram függőségeit is érintik.
Két hibakód félreviheti a kapcsolat kezelését
A DTLS az UDP-t használó alkalmazásoknak készült, a TLS-hez hasonló biztonsági protokoll. Az új megvalósítás problémái a DTLS 1.3 támogatását, illetve az OpenSSL kapcsolatfogadó programozási felületének most hozzáadott DTLS-lehetőségeit használó fejlesztőket érintik.
Az egyik esetben a kapcsolatfogadó végleges fogadási hibát jelezhet SSL_ERROR_WANT_READ kóddal. Ez normálisan további adatokra várakozást kér a programtól. A későbbi állapotlekérdezések és kapcsolatelfogadási hívások is elvéthetik a problémát, így az alkalmazás egy már használhatatlan kapcsolaton várhat tovább.
A másik esetben egy nem blokkoló módban elfogadott kapcsolat újrapróbálható írási hibája SSL_ERROR_SYSCALL jelzésként jelenhet meg. Ha ezt a program végzetesnek tekinti, lezárhat egy még működő kapcsolatot. A javításig a két kód önmagában nem ad megbízható támpontot ezekben a helyzetekben.
A kapcsolatfelépítés és a munkamenet folytatása is elakadhat
A harmadik ismert probléma miatt a DTLS 1.3 szerver unexpected_message riasztással megszakíthatja a kapcsolatfelépítést. Ez akkor történhet meg, ha a kliens a saját válasza előtt visszaigazolja a szerver első üzenetcsoportjának egy részét vagy egészét. Ilyen helyzet csomagvesztés után is előállhat.
A negyedik gond a menet közbeni titkosításikulcs-cserét jelző KeyUpdate üzenethez kötődik. Ennek vételekor az OpenSSL törli az újraküldési pufferből a kapcsolatfelépítés után küldött, még függőben lévő többi rekordot. Ha a munkamenet későbbi folytatását lehetővé tevő NewSessionTicket elsőre elveszett, már nem küldi el újra.
Utóbbi javításán dolgozik a projekt; a másik három javításának állapotáról a forrás nem ad információt.
Kikerült két, félrevezetően működő fordítási kapcsoló
Az OpenSSL eltávolította a no-ecdsa és a no-ecdh beállítást a fordítás előkészítésére szolgáló Configure eszközből. Ezek valójában nem tiltották le a nevükben megjelölt megvalósításokat: a velük készített változat is tartalmazta a kihagyni kívánt kódot.
A projekt helyettük a no-ec lehetőségre mutat rá, ez azonban az elliptikus görbéken alapuló támogatást teljes egészében kikapcsolja. A kiadásból emellett kikerültek az Itanium-alapú Windows és a Windows CE fordítási célplatformjai.
A tsget használatához új Perl-modul szükséges
Az időbélyegzésre szolgáló tsget segédprogram mostantól a Net::Curl::Easy Perl-modult igényli. Ez váltja az elhagyott WWW::Curl::Easy modult.
Aki erre az eszközre támaszkodik, annak a frissítés előtt telepítenie kell az új függőséget. A DTLS 1.3 használatához külön kézikönyvoldal is érkezett a kiadással, ossl-guide-dtlsv13(7) néven.
A titkosítási műveleteket is optimalizálták
A posztkvantum kulcscserére szolgáló ML-KEM és az aláíráshoz használt ML-DSA számításait ppc64le architektúrán optimalizálták. Utóbbi x86_64 környezetben is kapott további fejlesztéseket, és ezen a platformon az AES-CBC visszafejtését is gyorsító módosítások készültek.
Bekerült az RFC 8701 szerinti GREASE támogatása is. Ez véletlenszerű, fenntartott értékeket küld a kapcsolatfelépítés során, hogy előhozza az ismeretlen értékeket hibásan kezelő szerverek problémáit. A csomag IKEv2-kulcsszármaztatási eljárással és az Elbrus2000 architektúra kezdeti támogatásával is bővült.
A cikk mesterséges intelligencia segítségével készült; a szerkesztőség ellenőrizte és jóváhagyta. Impresszum