Deweloperzy projektu OpenBSD zaprezentowali wydanie przenośnej edycji pakietu LibreSSL 3.7.0, w ramach którego rozwija się fork OpenSSL, mający na celu zapewnienie wyższego poziomu bezpieczeństwa. Projekt LibreSSL koncentruje się na jakościowej obsłudze protokołów SSL/TLS poprzez usunięcie zbędnej funkcjonalności, dodanie dodatkowych środków ochrony oraz przeprowadzenie znacznego oczyszczenia i przearanżowania kodu źródłowego. Wydanie LibreSSL 3.7.0 jest traktowane jako eksperymentalne, w którym rozwijane są możliwości, które wejdą w skład OpenBSD 7.3.
Cechy LibreSSL 3.7.0:
- Dodano wsparcie dla podpisu cyfrowego z kluczem publicznym Ed25519, opracowanego przez Daniela Bernsteina, opartego na zastosowaniu krzywej eliptycznej Curve25519 i hasha SHA-512. Wsparcie Ed25519 dostępne jest zarówno w formie oddzielnego prymitywu, jak i w interfejsie EVP.
- W interfejsie EVP dodano wsparcie dla podpisów cyfrowych X25519, które różnią się od podpisów Ed25519 używaniem tylko współrzędnych „X” podczas manipulacji punktami na krzywej eliptycznej, co pozwala znacznie zmniejszyć rozmiar kodu potrzebnego do stworzenia i weryfikacji podpisów.
- Zaimplementowano zgodny z OpenSSL 1.1 niskopoziomowy API do pracy z kluczami publicznymi i prywatnymi, wspierający klucze EVP_PKEY_ED25519, EVP_PKEY_HMAC oraz EVP_PKEY_X25519.
- Zamiast funkcji systemowych timegm() i gmtime() do konwersji dat wykorzystano funkcje POSIX z BoringSSL.
- W bibliotece BN (BigNum) przeprowadzono czyszczenie starego i nieużywanego kodu, który działał z liczbami pierwszymi.
- Usunięto wsparcie dla HMAC PRIVATE KEY.
- Przerobiono wewnętrzny kod do generowania i weryfikacji podpisów DSA.
- Przepisano kod do eksportu kluczy dla TLSv1.2.
- Przeprowadzono czyszczenie i przeróbkę starego stosu TLS.
- Zachowanie funkcji BIO_read() i BIO_write() zbliżono do OpenSSL 3.
Źródło: opennet.ru
