LibreSSL 4.0: korszerűsített kriptográfiai megoldás

kami911 képe

A LibreSSL egy olyan TLS/kriptográfiai (TLS/crypto) megoldás, amely az OpenSSL-ből történt leágazás (fork) eredményeként jött létre 2014-ben. A projekt elsődleges célja a kódbázis korszerűsítése, a biztonság növelése, valamint a legjobb fejlesztési gyakorlatok alkalmazása. A fejlesztés főként az OpenBSD forrásfájljain belül történik, azzal a gondos odafigyeléssel, amelyről a projekt ismert. Rendszeresen újracsomagolják a kódot, hogy más operációs rendszereken is hordozható (portable) legyen, például Linux-on, FreeBSD-n vagy Windows-on.

Változások a hordozhatóság terén

  • Támogatás bevezetése az Emscripten számára a CMake buildjeiben.
  • A timegm() kompatibilitási réteg eltávolítása, mivel minden hívást az OPENSSL_timegm() váltott fel.
  • A mips32 platform támogatása megszűnt.
  • Javították a Windows támogatását a 2038 utáni dátumokra vonatkozóan.

Belső fejlesztések

  • A conf könyvtár bizonyos részeinek átdolgozása, logikai egyszerűsítések és memória szivárgások javítása.
  • Az X509_check_trust() belső működésének egyszerűsítése az olvashatóság érdekében.
  • A gmtime() és a timegm() belső használatának megszüntetése, helyettük a BoringSSL POSIX időkonverziós API használata.
  • Az összeszerelő függvények eltávolítása a nyilvános API-ból, ezek most C függvényekkel vannak körülvéve.
  • A TLS kiterjesztések feldolgozása és elemzése szétválasztásra került, biztosítva, hogy a kiterjesztési visszahívások előre meghatározott sorrendben történjenek.

Új funkciók

  • A CRLfile opció hozzáadása az openssl(1) CMS parancsához, amely lehetővé teszi további CRL-ek használatát az ellenőrzés során.

Dokumentációs fejlesztések

  • A már nem létező API-k dokumentációjának eltávolítása.
  • Az ENGINE paraméterek leírásának egységesítése, amely sok függvényben megmaradt, és mindig NULL értékűnek kell lennie.

Tesztelés és proaktív biztonság

  • Az utolsó tesztek új tanúsítványokkal történő futtatása.

Kompatibilitási változások

  • A libtls protokoll-elemzése megváltozott. Az elavult TLSv1.1 és TLSv1.0 protokollokat figyelmen kívül hagyják, és többé nem befolyásolják a TLSv1.2 engedélyezését vagy tiltását.
  • Az EVP_PKEY*_check(3) család veszélyes függvényei eltávolításra kerültek.
  • A statikus puffer visszaadásának támogatása megszűnt több egy lépéses hash-függvénynél, mint például az MD4(), MD5(), RIPEMD160(), SHA1() és minden SHA-2 függvénynél.
  • A Whirlpool támogatása megszűnt. Azoknak az alkalmazásoknak, amelyek még mindig használják ezt, az OPENSSL_NO_WHIRLPOOL makrót kell tiszteletben tartaniuk.

Hibajavítások

  • Az ASN1_TIME_set_string() és az ASN1_TIME_set_string_X509() dokumentációnak megfelelő működése, amelyek mindig egy RFC 5280-nak megfelelő időt állítanak be.
  • Az RSA kulcscsere konstans időben történő megvalósítása. Ez azáltal valósult meg, hogy az RSA_NO_PADDING használatával dekódolták, majd a paddinget konstans időben ellenőrizték a libssl-ben.

A LibreSSL projekt továbbra is törekszik a modern és biztonságos programozási gyakorlatok követésére. Köszönjük minden közreműködőnek, aki hozzájárult ehhez a kiadáshoz!

A LibreSSL 4.0-s verziójának letöltése és további részletei elérhetők a LibreSSL.org oldalon.