Значительный выпуск криптографической библиотеки 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);
  • Настройки конфигурации перенесены в файл configdata.pm;
  • Обеспечена возможность использования в сборочном скрипте Configure переменных для утилиты make в стиле GNU;
  • Новый модуль STORE (OSSL_STORE);
  • Определены пространства имён OSSL и OPENSSL, реализованные в виде префиксов;
  • Добавлена поддержка формирования ключей RSA на основе более чем двух случайных простых чисел (multi-prime, RFC 8017);
  • Реализованы криптографические хэши SM3 (GB/T 32905–2016) и SM4 (GB/T 32907–2016), стандартизированные для учреждений Китая;
  • Поддержка расширения TLS для согласования максимального размера фрагмента;
  • Поддержка алгоритма симметричного блочного шифрования ARIA;
  • Поддержка алгоритма хэширования SHA3;
  • Поддержка хеш-функции SipHash;
  • Переписан движок devcrypto;
  • Значительная переработка встроенного генератора псевдослучайных чисел.

© OpenNet