Выпуск LibreSSL 2.6.3

Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 2.6.3, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. LibreSSL 2.6.3 объявлен первым стабильным выпуском серии 2.6.x. Поддержка прошлой стабильной ветки LibreSSL 2.4.x прекращена.

Основные изменения в LibreSSL 2.6:

  • Добавлена поддержка загрузки в libtls списков отозванных сертификатов (CRL). Как только CRL будет предоставлен в libtls через вызов функций tls_config_set_crl_file или tls_config_set_crl_mem включается проверка полной цепочки доверия для сертификатов;
  • Код проверки имени TLS-сертификата переработан в направлении более жесткого следования RFC 6125;
  • Почищен и упрощён код для обработки обращений к серверам обмена ключами на основе эллиптических кривых (EC, Elliptic Curve), а также код для обработки конфигурации ключей EC и параметров кривых;
  • Из функций BIO_get_accept_socket(), simplified
    BIO_get_host_ip() и BIO_accept() удалена неполноценная обработка IPv6;

  • Проверка SNI упрощена для обеспечения соединения к TLS-серверу на базе libtls клиентов, не соответствующих RFC и использующих внутренние IP-адреса;
  • В libtls добавлена функция tls_peer_cert_chain_pem, которую можно использовать в callback-вызовах для приватной проверки сертификатов, как это делается, например, в relayd;
  • Добавлены функции SSL{,_CTX}_set_{min,max}_proto_version();
  • Из BoringSSL перенесена реализация HKDF (HMAC Key Derivation Function);
  • Добавлена функция tls_unload_file для очистки памяти, возвращённой при вызове tls_load_file(), для того чтобы удостовериться, что осевшее в памяти содержимое недоступно после его обработки;
  • Для libtls tls_config реализован подсчёт ссылок, позволяющий вызвать
    tls_config_free как можно быстрее после финального вызова tls_configure();

  • Заполнение полей со временем при генерации сертификата через команду «openssl ca» приведено в соответствие с требованиями RFC 5280;
  • Прекращена поддержка наборов шифров, использующих аутентификацию на базе DSS (Digital Signature Standard);
  • В libssl прекращена поддержка DSS и DSA;
  • Добавлена возможность использования трёх идентификаторов OID в сертификатах с расширенной проверкой EV (Extended Validation);
  • Обеспечено разделение статусов самоподписанных сертификатов (self-signed) и самостоятельно выписанных сертификатов (self-issued);
  • Добавлен новый фреймворк для управления расширениями TLS, созданный по аналогии с подобным фреймворком из BoringSSL. Все TLS-расширения перенесены под управление нового фреймворка и добавлен новый тестовый набор для проверки расширений;
  • В libtls добавлена функция tls_config_set_ecdhecurves(), которая позволяет задавать имена эллиптических кривых для использования при обмене ключами клиентом или сервером;
  • Очередная порция кода переведена на использование подсистем CBB/CBS;
  • Удалена поддержка потерявшего актуальность TLS-расширения NPN, развившегося в паре с SPDY, на смену которому вместе с HTTP/2 пришло TLS-расширение ALPN;
  • Удален код SSL_OP_CRYPTOPRO_TLSEXT_BUG, использовавшийся для обхода проблем в старых клиентах CryptoPro;
  • Удалена поддержка TLS-расширения с методом добавочного заполнения, применявшимся для обхода ошибки в продуктах F5;
  • Удалена старая реализация набора шифров chacha20-poly1305 (на смену пришла стандартизированная реализация IETF);
    Добавлен код для обхода ошибки в обработчике завершения TLS-соединения, проявляющейся в продуктах F5;

  • Шифр ECDHE-RSA-DES-CBC3-SHA переведён из категории HIGH в MEDIUM;
    Добавлены новые man-руководства и расширены существующие.

  • При вызове функции tls_config_parse_protocols() с указателем NULL теперь возвращается набор протоколов по умолчанию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.