The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск криптографических библиотек OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 и Rustls 0.23.15

23.10.2024 20:22

Опубликованы несколько новых версий криптографических библиотек:

Релиз библиотеки OpenSSL 3.4.0 с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Поддержка OpenSSL 3.4 будет осуществляться до октября 2025 года. Поддержка прошлых веток OpenSSL 3.3, 3.2, 3.1 и 3.0 LTS продлится до апреля 2026 года, ноября 2025 года, марта 2025 года и сентября 2026 года соответственно. Код проекта распространяется под лицензией Apache 2.0. Основные новшества:

  • Добавлена поддержка набора шифров для TLSv1.3, ограниченного функциями проверки целостности данных (RFC 9150) и включающего алгоритмы TLS_SHA256_SHA256 и TLS_SHA384_SHA384.
  • Добавлена опциональная возможность использования в генераторе псевдослучайных чисел дополнительного источника энтропии на основе джиттера (jitter), реализованного при помощи библиотеки jitterentropy. Формирование энтропии производится путём измерения различий во времени повторного исполнения определённого набора инструкций на CPU, зависящего от множества внутренних факторов и непредсказуемого без физического контроля над CPU.
  • Добавлена начальная поддержка авторизационных сертификатов (AC - Attribute Certificate, RFC 5755), которые включают информацию о правах доступа, полномочиях и атрибутах владельца сертификата, удостоверяющих возможность совершения определённых действий. Например, AC-сертификат может определять право подключения к какому-то сервису.
  • Добавлена поддержка расширений X.509v3, связанных с авторизационными сертификатами.
  • В провайдере FIPS реализована поддержка FIPS 140-3 Indicator API, позволяющего определить использовалась ли та или иная операция в одобренном сервисе или нет.
  • В API BIO (Basic Input/Output) улучшена обработка ввода в формате Base64.
  • Добавлена поддержка сборки утилиты openssl в режиме PIE (Position Independent Executable), позволяющем использовать рандомизацию адресного пространства (ASLR).
  • Добавлена поддержка напрямую извлекаемых комбинированных алгоритмов цифровой подписи, таких как RSA-SHA2-256.
  • В PKCS#12 добавлена поддержка PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579).
  • В утилиту openssl добавлены опции '-not_before' и '-not_after' для явного указания начального и конечного времени действия сертификата.
  • Предоставлена возможность использования заранее вычисленных значений при инициализации криптографических алгоритмов на базе эллиптических кривых P-256.
  • Объявлены устаревшими функции TS_VERIFY_CTX_set_*, на замену которым пришли функции TS_VERIFY_CTX_set0_* с улучшенной семантикой.
  • Объявлены устаревшими функции SSL_SESSION_get_time(), SSL_SESSION_set_time() и SSL_CTX_flush_sessions() вместо которых следует использовать SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() и SSL_CTX_flush_sessions_ex(), избавленные от проблемы 2038 года.
  • Ожидавшаяся в OpenSSL 3.4 поддержка протокола QIUC на стороне сервера отложена до следующего выпуска.



Релиз проекта LibreSSL 4.0.0, развивающего форк OpenSSL, нацеленный на предоставление более высокого уровня безопасности и качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. Значительная смена номера версии связана с использованием десятичной нумерации (после 3.9 следует версия 4.0). Наиболее заметные изменения:

  • Добавлена начальная поддержка сборки с использованием Emscripten, компилятора из C/C++ в WebAssembly.
  • В команду "openssl cms" добавлена опция CRLfile для указания дополнительных списков отозванных сертификатов (CRL), которые будут использованы при верификации.
  • Прекращена поддержка платформы mips32.
  • Прекращено предоставление доступа к функциям, написанным на языке ассемблер, через публичный API (подобные функции теперь предоставляются только через функции-обвязки на языке Си). Удалены ассемблерные реализации устеревших шифров для устаревших архитектур.
  • Удалён код для кэширования валидности сертификатов, которое потеряло смысл после оптимизации производительности.
  • Улучшена реализация расширений X.509v3, унифицированы методы X.509v3 и проведена чистка связанных с X.509v3 API.
  • Полностью переписана реализация типа CRYPTO_EX_DATA.
  • В libcrypto функции atoi() и strtol() заменены на strtonum().
  • Добавлен заголовочный файл crypto_arch.h, в который вынесен код, специфичный для аппаратных архитектур.
  • Переработана и оптимизирована реализация алгоритма DES.
  • Удалены заголовочные файлы pem2.h, ssl2.h, ssl23.h и ui_compat.h.
  • Удалена поддержка алгоритма хэширования Whirlpool.
  • Удалены функции HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust().
  • Удалены типы PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD и SSL_AEAD_CTX.
  • В libssl добавлены функции SSL_CTX_set1_cert_store() и SSL_CIPHER_get_handshake_digest().



Доступен выпуск криптографической библиотеки Botan 3.6.0, применяемой в проекте NeoPG, форке GnuPG 2. Библиотека предоставляет большую коллекцию готовых примитивов, используемых в протоколе TLS, сертификатах X.509, шифрах AEAD, модулях TPM, PKCS#11, хэшировании паролей и постквантовой криптографии (подписи на основе хэша и согласование ключей на основе McEliece). Библиотека написана на языке C++ и поставляется под лицензией BSD. В новой версии:

  • Интегрирована новая библиотека с криптоалгоритмами на основе эллиптических кривых, операции на базе типовых кривых в которой выполняются в 2-3 раза быстрее. Также предложен новый API для низкоуровневой работы с эллиптическими кривыми.
  • Добавлена поддержка недавно стандартизированных в NIST алгоритмов постквантового шифрования: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) и FIPS 205 SLH-DSA (SPHINCS+).
  • Добавлена поддержка чипов TPM2.
  • Расширено использование вычислений с постоянным временем выполнения операций для защиты от атак по сторонним каналам.
  • Добавлена генерация дополнительной энтропии при помощи библиотеки jitterentropy.
  • Повышена производительность обработки данных в шестнадцатеричном формате и кодировке base64.
  • Добавлена поддержка процессорных расширений AVX2-VAES и GFNI-AVX2.
  • Добавлено определение возможностей CPU armv7, aarch64 и ppc64 на платформе OpenBSD.
  • Добавлена сборочная опция для отключения всех ассемблерных inline-вставок.



Релиз проекта Rustls 0.23.15, развивающего клиентскую и серверную реализацию протоколов TLS1.2 и TLS1.3 для проектов на языке Rust. Rustls не предоставляет собственную реализацию криптографических примитивов, а использует подключаемые провайдеры криптографических функций (поддерживаются алгоритмы ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM и AES256-GCM). По умолчанию в Rustls используется криптопровайдер на базе библиотеки aws-lc-rs, которая развивается компанией Amazon и базируется на С++ коде AWS-LC, ответвлённом от проекта BoringSSL (сопровождаемый Google форк OpenSSL). В качестве криптопровайдера также может использоваться библиотека ring, частично основанная на BoringSSL и комбинирующая код на ассемблере, С++ и Rust.

Новая версия примечательна значительными оптимизациями производительности. Утверждается, что при использовании криптопримитивов aws-lc-rs библиотека Rustls теперь опережает библиотеки OpenSSL и BoringSSL в тестах, измеряющих пропускную способность и скорость согласования/возобновления соединения.





  1. Главная ссылка к новости (https://openssl-library.org/po...)
  2. OpenNews: Выпуск криптографической библиотеки LibreSSL 3.9.0
  3. OpenNews: Выпуск криптографической библиотеки OpenSSL 3.3.0
  4. OpenNews: В Rustls обеспечена совместимость с OpenSSL и nginx
  5. OpenNews: Реструктуризация проекта OpenSSL. Переход под крыло OpenSSL библиотек Bouncy Castle и Cryptlib
  6. OpenNews: Выпуск криптографической библиотеки Botan 3.0.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62095-openssl
Ключевые слова: openssl, libressl, botan, tls, crypt, rustls
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:01, 23/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Классные диаграммы. Сразу видно, кто круче.
     
     
  • 2.53, Аноним (53), 18:12, 25/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Неудивительно, их же специально так составили, чтобы круче выглядел тот, кто нужно.
     

  • 1.2, Выключатель (?), 21:09, 23/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В OpenSSL поддержку ECH еще не добавили?
     
  • 1.3, Аноним (3), 21:11, 23/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    С gnutls стесняются сравнивать. А когда там http/3 завезут? Чёт сделали, но вон автор curl вроде говорит, что не то, да и производительность просаживается неприлично.
     
  • 1.4, Аноним (4), 21:14, 23/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Добавлена поддержка набора шифров для TLSv1.3, ограниченного функциями проверки целостности данных (RFC 9150) и включающего алгоритмы TLS_SHA256_SHA256 и TLS_SHA384_SHA384
    > but there are use cases, specifically in Internet of Things (IoT) and constrained environments, that do not require confidentiality of exchanged messages while still requiring integrity protection, server authentication, and optional client authentication

    Давайте-давайте, доморощенные писуны threat model'ей, посмотрим сколько интересного по вашим IoTам бегает и так ли оно нетребоватеьно к конфиденциальности.

     
     
  • 2.11, нах. (?), 22:08, 23/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Самое замечательное в том, что героическая борьба с tls 1 и даже 1.2 шла под лозунги "в них МОГУТ (если ты их вручную включишь и если сервер вообще на это согласится) использоваться небезопастные шифры!"

    Ну ок, вот теперь-то тоооочно безопастно. Нет шифрования, нет проблемы.

     
     
  • 3.21, qetuo (?), 05:45, 24/10/2024 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     

  • 1.7, Аноним (7), 21:45, 23/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Патч для NTRU Prime от DJB и компании они принимать не спешат...
     
  • 1.20, Аноним (20), 05:28, 24/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почему кто то должен доверять графикам ? Где сказано на каких операционных системах получена эта производительность. Где другие ос в сравнении как на них F IPC. Или все операционные системы из один в один состоят библиотек?
     
     
  • 2.25, Аноним (25), 11:31, 24/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Методология была показана на сайте приведенным в статье.
    Похоже что тестировалось все на Debian bookworm.
    <https://gist.github.com/ctz/deaab7601f20831d0f9d4bf5f3ac734a>
     

  • 1.22, ИмяХ (ok), 07:05, 24/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>возможность использования заранее вычисленных значений при инициализации криптографических алгоритмов

    А вот и свежий бекдор завезли

     
  • 1.23, Аноним (23), 07:27, 24/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поддержку наших алгоритмов в садах добавлять планируют: https://www.opennet.dev/openforum/vsluhforumID10/5680.html ?

    Или как в libressl - выкидывают уже написанное.

     
     
  • 2.27, Аноним (27), 14:22, 24/10/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.57, Sem (??), 05:15, 31/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В openssl поддержка Gost была. Её убрали, когда появились сомнения в надёжности.
     

  • 1.33, Аноним (33), 18:13, 24/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Если приводятся красивые диаграммы с бенчмарками, значит снова обман и попытка пропихнуть. Было уже такое с systemd.
     
     
  • 2.40, Вы забыли заполнить поле Name (?), 21:21, 24/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если приводятся красивые диаграммы с бенчмарками, значит снова обман и попытка пропихнуть.
    > Было уже такое с systemd.

    Достаточно упоминания Amazon.

     

  • 1.54, Аноним (53), 18:14, 25/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Невоспроизводимые графики с неясной методологией. Ага, все ясно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру