Инфобез

OpenSSL 4.0.0: Безопасность в приоритете над совместимостью

14.04.2026 20:30

Разработчики OpenSSL представили масштабное обновление, радикально меняющее внутреннее устройство и технологический стек библиотеки.

В версии 4.0.0 авторы пошли на смелый шаг: ради тотальной защиты данных они окончательно отказались от поддержки множества устаревших механизмов, которые годами сохранялись лишь для обратной совместимости.

Глобальная «чистка» устаревших стандартов

Основной упор в новом релизе сделан на актуализацию криптографических стандартов. Из библиотеки полностью вырезаны:

  • SSLv3 — признанный небезопасным еще десять лет назад;
  • SSLv2 Client Hello;
  • Классические «движки» (engines) для подключения внешних модулей.

Кроме того, в TLS по умолчанию отключена поддержка ряда слабых эллиптических кривых. Теперь их использование возможно только при специфической ручной сборке проекта.

Ревизия API и внутренние изменения

Изменения в программном интерфейсе (API) направлены на повышение строгости кода:

  • Типизация: Множество функций для работы с X.509 теперь используют модификатор const.
  • Инкапсуляция: Внутренние структуры (например, ASN1_STRING) теперь скрыты от прямого доступа извне.
  • Управление памятью: Библиотека отошла от использования atexit для очистки глобальных данных, внедрив более предсказуемые механизмы.

Усиление защиты и новые стандарты

Безопасность была усилена и на уровне проверок. В частности, ужесточен контроль параметров для PKCS5_PBKDF2_HMAC при работе с FIPS-провайдером, а проверки сертификатов и списков отзыва (CRL) стали более строгими.

Параллельно с удалением старого, OpenSSL 4.0.0 внедряет современные технологии:

  • Encrypted Client Hello (ECH): Шифрует метаданные TLS-соединения.
  • Постквантовая криптография: Реализована гибридная группа curveSM2MLKEM768.
  • Международные стандарты: Добавлена поддержка китайских алгоритмов SM2 и SM3.
  • Современные функции: Внедрены алгоритмы cSHAKE и поддержка FFDHE для протокола TLS 1.2.

Изменения в инструментарии

Инструментарий командной строки также обновился. Устаревший скрипт c_rehash окончательно заменен встроенной командой openssl rehash. Малоэффективные или некорректно работающие компоненты, такие как BIO_f_reliable, были исключены без замены.

Итог: Переход на OpenSSL 4.0.0 потребует от разработчиков адаптации кода под новый API. Однако это необходимая цена за доступ к защищенной и современной криптографической базе, свободной от «багажа» прошлых десятилетий.