Выпуск криптографической библиотеки LibreSSL 2.9.0
Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 2.9.0, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. Выпуск LibreSSL 2.9.0 рассматривается как экспериментальный, в котором развиваются возможности, которые войдут в состав OpenBSD 6.5.
Особенности LibreSSL 2.9.0:
- Реализован криптографический хэш SM3 (GB/T 32905-2016), стандартизированный для учреждений Китая;
- Обеспечена автоматическая инициализация CRYPTO_LOCK. Для обеспечения совместимости добавлены заглушки callback-вызовов, ранее применяемых для инициализации;
- Для улучшения совместимости с OpenSSL добавлены дополнительные макросы OPENSSL_NO_*. Реализованы тесты совместимости с OpenSSL 1.0 и 1.1;
- Упрощены обработка опций для алгоритмов формирования цифровых подписей (sigalg) и алгоритм подписи при согласовании соединений ( handshake signing);
- Добавлена возможность применения алгоритма RSA PSS для подписей при согласовании соединений;
- Добавлена функция bn_rand_interval, которая задействована в коде, использующем ограниченный диапазон случайных значений;
- Добавлена функциональность для раннего получения, согласования и применения секретов в соответствии с требованиями RFC8446;
- Добавлена реализация конечного автомата для согласования соединений (handshake state machine), определенного в RFC8446;
- Из libcrypto удален код, связанный с поддержкой ASN.1, которая не используется с на начала 2000-х годов;
- Добавлены ассемблерные оптмизация для 32-разрядных систем ARM;
- Усилена защита от атак по сторонним каналам в коде генерации цифровых подписей ECDSA;
- В реализацию некоторых эллиптических кривых добавлены скоординированные шумы для противодействия уязвимости PortSmash в SMT/Hyper-Threading.
Одновременно подготовлены корректирующие выпуски LibreSSL 2.8.3 и 2.7.5, в которых решены проблемы при сборке с использованием cmake, добавлена дополнительная защита от уязвимости PortSmash, добавлена защита от атак по сторонним каналам при генерации ключей DSA и ECDSA, внесены исправления в реализацию вызова getentropy.