Значительный выпуск криптографической библиотеки OpenSSL 1.1.1
После двух лет разработки состоялся релиз библиотеки OpenSSL 1.1.1 с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Новая ветка включает изменения, нарушающие обратную совместимость на уровне API. Поддержка выпуска OpenSSL 1.1.1 будет осуществляться в течение пяти лет.
Основные новшества OpenSSL 1.1.1:
- Поддержка TLS 1.3, который представляет собой улучшенную версию протокола TLS и отличается удалением устаревших и ненадежных криптографических примитивов (MD5, SHA-224) и возможностей (сжатие, повторное согласование, не-AEAD шифры, статический обмен ключами RSA и DH, указание unix-времени в Hello-сообщениях и т. п.), работает только в режиме forward secrecy (компрометации одного из долговременных ключей не позволяет расшифровать перехваченный сеанс), обеспечивает более высокую производительность, поддерживает режим 0-RTT (устраняет задержки при согласовании соединений), поддерживает ChaCha20/Poly1305, Ed25519, x25519 и x448.
- Настройки конфигурации перенесены в файл 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;
- Значительная переработка встроенного генератора псевдослучайных чисел.