Выпуск криптографической библиотеки 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