Значительный выпуск криптографической библиотеки OpenSSL 1.1.1

После двух лет разработки состоялся релиз библиотеки OpenSSL 1.1.1 с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Новая ветка включает изменения, не нарушающие обратную совместимость на уровне API и ABI, т.е. все приложения, собранные с OpenSSL 1.1.0, продолжат работу без пересборки и в большинстве случаев смогут обеспечить поддержку TLSv1.3 путём замены версии библиотеки. Поддержка выпуска OpenSSL 1.1.1 будет осуществляться в течение как минимум пяти лет.

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

  • Поддержка TLS 1.3 (RFC 8446), который представляет собой улучшенную версию протокола TLS и отличается удалением устаревших и ненадёжных криптографических примитивов (MD5, SHA-224) и возможностей (сжатие, повторное согласование, не-AEAD шифры, статический обмен ключами RSA и DH, указание unix-времени в Hello-сообщениях и т.п.), работает только в режиме forward secrecy (компрометации одного из долговременных ключей не позволяет расшифровать перехваченный сеанс),
    обеспечивает более высокую производительность, поддерживает режим 0-RTT (устраняет задержки при возобновлении ранее установленных HTTPS-соединений), поддерживает
    потоковый шифр ChaCha20, алгоритм аутентификации сообщений (MAC) Poly1305, ключи аутентификации на основе цифровых подписей Ed25519, HKDF (HMAC-based Extract-and-Expand Key Derivation Function), ключи на основе алгоритмов x25519 (RFC 7748) и x448 (RFC 8031);

  • Значительная переработка встроенного генератора псевдослучайных чисел. По умолчанию для генерации случайных чисел задействован метод AES-CTR DRBG (Deterministic Random Bit Generator) ), соответствующий требованиям стандарта
    NIST SP 800-90Ar1. Поддерживается использование цепочки из нескольких экземпляров DRBG, а также публичные и закрытые экземпляры DRBG и привязка отдельных экземпляров DRBG к каждому потоку. DRBG корректно обрабатывает операции fork() и может размещаться в отдельной защищённой области памяти;

  • Настройки конфигурации перенесены в файл configdata.pm;
  • Обеспечена возможность использования в сборочном скрипте Configure переменных для утилиты make в стиле GNU;
  • Определены пространства имён OSSL и OPENSSL, реализованные в виде префиксов;
  • Добавлена поддержка формирования ключей RSA на основе более чем двух случайных простых чисел (multi-prime, RFC 8017);
  • Реализованы криптографические хэши SM2, SM3 (GB/T 32905-2016) и SM4 (GB/T 32907-2016), стандартизированные для учреждений Китая;
  • Поддержка расширения TLS для согласования максимального размера фрагмента (Maximum Fragment Length);
  • Значительно усилена защита от атак по сторонним каналам;
  • Добавлен модуль STORE (OSSL_STORE), предоставляющий унифицированный API для доступа к ключам, сертификатам, CLR и другим объектам в хранилищах, используя схему на базе URI;
  • Поддержка алгоритма симметричного блочного шифрования ARIA;
  • Поддержка алгоритмов хэширования SHA3, SHA512/224 и SHA512/256;
  • Поддержка алгоритма создания цифровых подписей EdDSA, включая схемы Ed25519 и Ed448;
  • Поддержка хеш-функции SipHash;
  • Переписан движок devcrypto.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.