Biztonság 2 perc olvasás

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.

Facebook X LinkedIn
Hálózati csatlakozók és világító állapotjelzők egy szerverteremben
Hálózati csatlakozók és világító állapotjelzők egy szerverteremben AI-generált illusztráció

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