Выпуск криптографической библиотеки OpenSSL 3.1.0

После полутора лет разработки состоялся релиз библиотеки OpenSSL 3.1.0 с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Поддержка OpenSSL 3.1 будет осуществляться до марта 2025 года. Поддержка прошлых веток OpenSSL 3.0 и 1.1.1 продлится до сентября 2026 года и сентября 2023 года соответственно. Код проекта распространяется под лицензией Apache 2.0.

Основные новшества OpenSSL 3.1.0:

  • В модуле FIPS реализована поддержка криптографических алгоритмов, соответствующих стандарту безопасности FIPS 140–3. Начат процесс сертификации модуля для получения сертификата соответствия требованиям FIPS 140–3. До завершения сертификации после обновления OpenSSL до ветки 3.1 пользователи могут продолжить использование модуля FIPS, сертифицированного для FIPS 140–2. Из изменений в новой версии модуля отмечается включение алгоритмов Triple DES ECB, Triple DES CBC и EdDSA, которые пока не проверены на соответствия требованиям FIPS. Также в новой версии внесены оптимизации для повышения производительности и осуществлён переход на запуск внутренних тестов при каждой загрузке модуля, а не только после установки.

  • Переработан код OSSL_LIB_CTX. Новый вариант избавлен от излишних блокировок и позволяет добиться более высокой производительности.
  • Повышена производительность фреймворков кодировщика и декодировщика.
  • Проведена оптимизация производительности, связанная с использованием внутренних структур (хеш-таблиц) и кэшированием.
  • Повышена скорость генерации RSA-ключей в режиме FIPS.

  • Для различных процессорных архитектур в реализации алгоритмов AES-GCM, ChaCha20, SM3, SM4 и SM4-GCM внесены специфичные ассемблерные оптимизации. Например, код AES-GCM ускорен при помощи инструкций AVX512 vAES и vPCLMULQDQ.

  • В KBKDF (Key Based Key Derivation Function) добавлена поддержка алгоритма KMAC (KECCAK Message Authentication Code).

  • Различные функции «OBJ_*» адаптированы для использования в многопоточном коде.
  • Добавлена возможность использования для генерации псевдослучайных чисел инструкции RNDR и регистров RNDRRS, доступных в процессорах на базе архитектуры AArch64.
  • Переведены в разряд устаревших функции OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio и OPENSSL_LH_node_usage_stats_bio. Объявлен устаревшим макроc DEFINE_LHASH_OF.



Источник: http://www.opennet.ru/opennews/art.shtml? num=58797

© OpenNet