Выпуск LibreSSL 2.6.3
6 ноября 2017 года
Разработчики проекта 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 теперь возвращается набор протоколов по умолчанию.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.