После восьми месяцев разработки сформирован релиз библиотеки OpenSSL 3.2.0 с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Поддержка OpenSSL 3.2 будет осуществляться до 23 ноября 2025 года. Поддержка прошлых веток OpenSSL 3.1 и 3.0 LTS продлится до марта 2025 года и сентября 2026 года соответственно. Поддержка ветки 1.1.1 прекращена в сентябре этого года. Код проекта распространяется под лицензией Apache 2.0.
Основные новшества OpenSSL 3.2.0:
- Добавлена клиентская поддержка протокола QUIC (RFC 9000), используемого в качестве транспорта в протоколе HTTP/3. Реализация включает среди прочего возможность передачи нескольких потоков через один канал связи. Компоненты для использования QUIC на серверах будут включены в выпуск OpenSSL 3.3, который планируют опубликовать не позднее 30 апреля 2024 года.
QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных.
- В TLS реализована поддержка расширения для сжатия сертификатов на этапе согласования соединений (RFC 8879), позволяющего ускорить установку соединения так как на передачу данных сертификатов приходится львиная доля трафика на этапе согласования соединения. Поддерживается сжатие с использованием библиотек zlib, zstd и Brotli.
- Добавлена поддержка детерминированного варианта цифровых подписей ECDSA (Deterministic ECDSA, RFC 6979) в котором вместо случайной последовательности при генерации подписи используется хэш HMAC-SHA256 от закрытого ключа и текста подписываемого сообщения, что позволяет всегда получать одну и ту же подпись в разных операциях подписывания, но не допускает утечки данных, которые могут быть использованы для подбора закрытого ключа (закрытый ключ можно подобрать, если хотя бы две подписи для разных данных сформированы с использованием повторяющейся случайной последовательности).
- Добавлена поддержка расширенных вариантов цифровых подписей с открытым ключом Ed25519 и Ed448: Ed25519ctx, Ed25519ph и Ed448ph (RFC 8032).
- Добавлена поддержка режима шифрования AES-GCM-SIV (RFC 8452), который сочетает высокую производительность режима GCM (Galois/Counter Mode) c устойчивостью к утечкам при повторном использовании случайного кода nonce.
- Реализована функция формирования ключа Argon2 (RFC 9106), в 2015 году победившая на конкурсе функций хеширования паролей. Добавлена возможность использования пула потоков.
- Добавлена поддержка гибридного шифрования на основе механизма HPKE (Hybrid Public Key Encryption, RFC 9180), совмещающего простоту передачи ключа в шифровании с открытым ключом с высокой производительностью симметричного шифрования (данные шифруются быстрым симметричным ключом, а сам ключ шифруется медленным асимметричным).
- В TLS реализована возможность использования “сырых” (raw) открытых ключей (RFC 7250).
- Добавлена поддержка механизма быстрого открытия TCP-соединений (TFO – TCP Fast Open, RFC 7413), который позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения и даёт возможность отправки данных на начальном этапе установки соединения.
- В TLS реализована поддержка подключаемых схем цифровых подписей, позволяющих использовать сторонние реализации алгоритмов, например, для использования в TLS алгоритмов устойчивых к подбору на квантовых компьютерах.
- В TLS 1.3 добавлена поддержка защищённых эллиптических кривых Brainpool.
- Добавлена поддержка процессорных инструкций SM4-XTS.
- На платформе Windows реализована возможность использования системного хранилища корневых сертификатов (по умолчанию отключено).Для обращения к сертификатам в хранилище Windows предложен URI “org.openssl.winstore://”.