Vývojáři projektu OpenBSD nedávno oznámili vydání přenosné edice balíčku. "FreeSSL 3.8.0", verze, ve které bylo provedeno několik změn a vylepšení zaměřených na stabilitu a kompatibilitu.
Pro ty, kteří neznají LibreSSL, měli byste vědět, že toto je implementace s otevřeným zdrojovým kódem protokolu TLS vyvíjí vidlici OpenSSL určené k zajištění vyšší úrovně zabezpečení. LibreSSL byl původně vyvinut jako zamýšlená náhrada za OpenSSL na OpenBSD a byl portován na jiné platformy, jakmile byla stabilizována oříznutá verze knihovny.
Projekt LibreSSL se zaměřuje na vysoce kvalitní podporu protokolů SSL/TLS odstraněním nepotřebných funkcí, přidáním dalších bezpečnostních prvků a významným vyčištěním a přepracováním kódové základny.
Hlavní nové funkce LibreSSL 3.8.0
LibreSSL verze 3.8.0 je považována za experimentální verzi která vyvíjí funkce, které budou součástí OpenBSD 7.4. Zároveň vznikly stabilní verze LibreSSL 3.6.3 a 3.7.3, ve kterých byly opraveny různé chyby.
V této nové verzi LibreSSL 3.8.0 je zdůrazněno, že vylepšená kompatibilita endian.h s makry hto* a *toh, Kromě přidání podpora SHA-2 a SHA-3 zkrácen a proces vnitřního čištění a přepracování kódu SHA byl zahájen.
Další pozoruhodnou změnou jsou přepsané interní funkce BN_exp() a BN_copy() a také nahrazení implementace funkce BN_mod_sqrt().
Kromě toho je také zdůrazněno, že přidány pokyny assembler pro architekturu AMD64 použijte instrukce endbr64 (Ukončit nepřímou větev).
Také vyniká, že byl přidán oprava špatně promyšlené změny v OpenSSL 3, která narušila podporu oddělení oprávnění v libtls, Kromě toho byl portován kód BoringSSL pro ověření pravidel definovaných v RFC 5280 a překlad libcrypto nadále používá rozhraní CBB (bytebuilder) a CBS (bytestring).
Na druhou stranu je třeba zdůraznit, že byl importován a použit ověřovací kód zásad BoringSSL RFC 5280
nahradit starý exponenciální časový kód, kromě odstranění podpory pro GF2m:BIGNUM, protože nepodporuje binární rozšíření, odstranění většiny veřejných symbolů, které byly v OpenSSL 0.9.8 zastaralé.
Z dalších změn které vyčnívají z této nové verze:
- Odebráno veřejné API X9.31 (RSA_X931_PADDING je stále k dispozici).
- Odstraněn režim krádeže šifrovaného textu.
- Odebrána podpora pro SXNET a NETSCAPE_CERT_SEQUENCE, včetně
příkaz openssl(1) nseq. - Podpora certifikátu proxy (RFC 3820) byla zrušena.
- POLICY_TREE a související struktury a rozhraní API byly odstraněny.
- Opravena kontrola chyb pro i2d_ECDSA_SIG() v ossl_ecdsa_sign().
- Opravená detekce rozšířených operací (XOP) na hardwaru AMD.
- Opraveno zpracování chyb v tls_check_common_name().
- Přidáno chybějící zneplatnění ukazatele v SSL_free().
- Opraveny X509err() a X509V3err() a jejich interní verze.
- Výrazně vylepšené testovací pokrytí BN_mod_sqrt() a GCD.
- Jako vždy je přidáno nové testovací pokrytí, protože jsou opraveny chyby a subsystémy
jsou vyčištěny.
Konečně, pokud máte zájem dozvědět se o tom více, můžete konzultovat podrobnosti Na následujícím odkazu.
Jak nainstalovat novou verzi LibreSSL?
Pro ty, kdo mají zájem o instalaci této nové verze, by měli vědět, že v tuto chvíli se nedostala do většiny distribucí Linuxu, takže aktuálně dostupná instalace je sestavili balíček sami.
Ale nebojte se, sestavení LibreSSL Je to velmi jednoduché a k tomu stačí otevřít terminál a spusťte následující příkazy (musíte mít následující závislosti automake, autoconf, git, libtool, perl a git).
První věcí je získat zdrojový kód, což můžete udělat pomocí tohoto příkazu:
git klon https://github.com/libressl/portable.git
Jakmile je toto hotovo, nyní připravíme způsob, jak provést kompilaci, zadáme složku, která obsahuje zdrojový kód LibreSSL a napíšeme:
cd portable ./autogen.sh ./dist.sh
Jakmile je toto hotovo, přistoupíme ke kompilaci s:
./configure make check make install
Nebo pokud to chcete udělat s CMake:
mkdir build cd build cmake .. make make test