После полутора лет разработки и нескольких исправлений в предыдущей версии, запуск новая версия библиотеки «Открытый SSL 3.1.0» с реализацией протоколов SSL/TLS и различных алгоритмов шифрования.
Поддержка этой новой версии OpenSSL 3.1 будет продолжаться до марта 2025 года, а поддержка устаревших версий OpenSSL 3.0 и 1.1.1 — до сентября 2026 года и сентября 2023 года соответственно.
Для тех, кто не знает OpenSSL, они должны знать, что это проект бесплатного программного обеспечения, основанный на SSLeay, который состоит из надежного пакета связанных с криптографией библиотек и инструментов администрирования, которые предоставляют криптографические функции другим пакетам, таким как OpenSSH и веб-браузерам (для безопасного доступа к сайтам HTTPS).
Эти инструменты помогают системе внедрить Secure Sockets Layer (SSL), а также другие протоколы, связанные с безопасностью, такие как Transport Layer Security (TLS). OpenSSL также позволяет создавать цифровые сертификаты, которые можно применять к серверу, например Apache.
OpenSSL используется в зашифрованной проверке почтовые клиенты, веб-транзакции для платежей по кредитным картам и во многих случаях в системах, требующих защиты информации, которая будет раскрыта в сети «конфиденциальные данные».
Основные новые функции OpenSSL 3.1.0
В этой новой версии OpenSSL 3.1.0 подчеркивается, что Модуль FIPS реализует поддержку криптографических алгоритмов. которые соответствуют стандарту безопасности ФИПС 140-3, Кроме того начался процесс сертификации модуля для получения сертификата соответствия FIPS 140-3.
Упоминается, что до завершения сертификации после обновления OpenSSL до версии 3.1 пользователи могут продолжать использовать сертифицированный FIPS 140-2 модуль FIPS. Из изменений в новой версии модуля выделяется включение алгоритмов Triple DES ECB, Triple DES CBC и EdDSA, которые еще не прошли проверку на соответствие требованиям FIPS. Также в новой версии произведены оптимизации для повышения производительности и сделан переход на запуск внутренних тестов при каждой загрузке модуля, а не только после установки.
Еще одно важное изменение: внесены изменения в длину соли по умолчанию для подписей PKCS#1 RSASSA-PSS до максимального размера, который меньше или равен длине дайджеста, чтобы соответствовать
ФИПС 186-4. Это реализовано новой опцией `OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO_DIGEST_MAX` ("auto-digestmax") для параметра `rsa_pss_saltlen`, которая теперь используется по умолчанию.
Кроме того, переработан код OSSL_LIB_CTX, новый вариант свободен от ненужных блокировок и обеспечивает более высокую производительность.
также выделена улучшенная производительность фреймворков кодировщика и декодера, а также оптимизация производительности, связанная с использованием внутренних структур (хеш-таблиц) и кэшированием, а также повышенная скорость генерации ключей RSA в режиме FIPS.
Алгоритмы Оптимизированы AES-GCM, ChaCha20, SM3, SM4 и SM4-GCM. ассемблерные пакеты для разных процессорных архитектур. Например, код AES-GCM ускоряется с помощью инструкций AVX512 vAES и vPCLMULQDQ.
Был добавлен поддержка алгоритма KMAC (код аутентификации сообщения KECCAK) в KBKDF (функция получения ключа на основе ключа), а также несколько функций "OBJ_*" были адаптированы для использования в многопоточном коде.
Добавлена возможность использовать инструкцию RNDR и регистры RNDRRS, доступные на процессорах на базе архитектуры AArch64, для генерации псевдослучайных чисел.
С другой стороны, упоминается, что макрос `DEFINE_LHASH_OF` теперь объявлен устаревшим в пользу макроса `DEFINE_LHASH_OF_EX`, в котором отсутствует соответствующая функция, зависящая от типа, для определений этих функций, независимо от того, определен ли `OPENSSL_NO_DEPRECATED_3_1`. Вот почему пользователи `DEFINE_LHASH_OF` могут начать получать предупреждения об устаревании этих функций независимо от того, используют ли они их. Пользователям рекомендуется перейти на новый макрос `DEFINE_LHASH_OF_EX`.
Наконец, если вам интересно узнать об этом больше об этом новом выпуске, вы можете проверить подробности наl по следующей ссылке.