Выпуск криптографической библиотеки LibreSSL 3.9.0
Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 3.9.0, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. Выпуск LibreSSL 3.9.0 рассматривается как экспериментальный, в котором развиваются возможности, которые войдут в состав OpenBSD 7.5. Одновременно сформирован стабильный выпуск LibreSSL 3.8.3, в котором исправлено несколько специфичных для Windows ошибок и усилена поддержка механизма защиты CET (Control-flow Enforcement Technology).
Особенности LibreSSL 3.9.0:
- Добавлена поддержка алгоритмов цифровой подписи на базе ECDSA с хэшами SHA-3.
Добавлена поддержка HMAC с усечёнными хэшами SHA-2 и SHA-3 в качестве PBE PRF.
- Внесены изменения для улучшения переносимости на другие платформы. Для избежания проблем при статическим связывании большая часть используемых для обеспечения совместимости экспортируемых символов LibreSSL снабжена префиксом «libressl_». В сборках на базе CMake прекращён экспорт compat-символов libcrypto.
Внесены изменения, нацеленные на улучшение совместимости с OpenSSL. Например, добавлены имена-псевдонимы ChaCha20 и chacha20 для алгоритма ChaCha, унифицирована работа функций SSL_library_init () и OPENSSL_init_ssl (), приведены к поведению OpenSSL вызовы EVP_{CIPHER, MD}_CTX_init ().
В утилиту openssl добавлена поддержка флагов »-new -force_pubkey»,»-multivalue-rdn»,»-set_issuer»,»-set_subject» и »-utf8».
- Осуществлён переход с использования вызова OBJ_bsearch_() на стандартную функцию bsearch ().
- Упрощена реализация функции by_file_ctrl (), EVP_Cipher{Init, Update, Final}() и API OBJ_*.
- Проведена большая реорганизация API EVP. Удалены функции EVP_add_{cipher, digest}().
- Упрощена обработка X509_TRUST.
Переписаны функции BIO_dump*().
Прекращена поддержка глобальных таблиц, не адаптированных для многопоточного использования. В связи с этим теперь не поддерживается назначение псевдонимов шифрам и хэшам, добавление собственных строк, методов ASN.1, PKEY и CRL.
- Удалены функции BIO_set (), BIO_{sn, v, vsn}printf (), sk_find_ex () и OBJ_bsearch_(), а также множество устаревших функций API CRYPTO.
- Прекращён публичный доступ к API X509_CERT_AUX и X509_TRUST.
Прекращена поддержка алгоритмов GOST и STREEBOG.
Расширена поддержка механизма CET (Control-flow Enforcement Technology), применяемого для защиты от выполнения эксплоитов, построенных с использованием приёмов возвратно-ориентированного программирования (ROP, Return-Oriented Programming).
Источник: http://www.opennet.ru/opennews/art.shtml? num=60765
© OpenNet