После более полутора лет разработки состоялся (https://www.mail-archive.com/openssl-announce%40openssl...релиз библиотеки OpenSSL 1.1.0 (https://www.openssl.org) с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Новая ветка включает изменения, нарушающие обратную совместимость на уровне API. Поддержка выпуска OpenSSL 1.1.0 будет осуществляться (https://www.openssl.org/policies/releasestrat.html) до 30 апреля 2018 года, выпуск 1.0.2 будет поддерживаться до 31 декабря 2019 года, а 1.0.1 - до 31 декабря 2016 года.Основные новшества (https://www.openssl.org/news/openssl-1.1.0-notes.html) OpenSSL 1.1.0:
- В libcrypto и libssl интегрированы потоковый шифр ChaCha20 (http://cr.yp.to/chacha.html) и алгоритм аутентификации сообщений (MAC) Poly1305 (http://cr.yp.to/mac.html), разработанные Дэниелом Бернштейном (Daniel J. Bernstein (http://cr.yp.to/djb.html)), Таней Ланге
(Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 можно рассматривать, как более быстрые и безопасные аналоги AES-256-CTR и HMAC, программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальных аппаратных ускорителей;
- Прекращена поддержка устаревших технологий, в том числе удалены компоненты, обеспечивающие работу SSLv2, Kerberos, 40- и 56-разрядных шифров. Из набора шифров по умолчанию исключён алгоритм RC4;- В libcrypto и libssl добавлена поддержка асинхронных криптографических операций;
- Поддержка TLS-расширения Extended Master Secret (RFC 7627 (https://tools.ietf.org/html/rfc7627));
- Интеграция набора блочных шифров CCM (https://en.wikipedia.org/wiki/CCM_mode);
- Переработка тестового набора, который переписан на Perl с использованием модулей Test::Harness и Test::More;
- Скрыты многие внутренние структуры libssl и libcrypto, в том числе BIGNUM, EVP_MD, EVP_MD_CTX и HMAC_CTX.
- Переписаны реализация конечного автомата для SSL/TLS, код согласования версий протокола и слой обработки записей;- Операции с эллиптическими кривыми переведены на новый метод EC_KEY_METHOD;
- В libcrypto добавлен режим работы с блочными шифрами OCB (https://en.wikipedia.org/wiki/OCB_mode) (Offset Codebook Mode);
- Все публичные заголовочные файлы перенесены в директорию include/openssl (ранее использовались символические ссылки);
- По умолчанию отключена поддержка 3DES, в связи с обнаружением (https://www.opennet.me/opennews/art.shtml?num=45023) возможности проведения атаки через подбор коллизий.URL: https://www.mail-archive.com/openssl-announce%40openssl...
Новость: http://www.opennet.me/opennews/art.shtml?num=45027
Давно интересует вопрос, если модуль openssl для PHP, собрать с сабжем, то в этом модуле появиться возможность шифровать с Poly1305/ChaCha20 сама собой, или для этого в коде самого модуля нужно будет явно добавить поддержку оного?
> возможность шифровать с Poly1305/ChaCha20Если речь про использование в SSL/TLS - нет, код модуля менять не нужно. Может быть придется изменить строку с набором используемых шифров, сделать ChaCha20 более приоритетным, но 99%, что в модуле уже есть функция для этого.
Если хочешь использовать ChaCha20 именно как криптопримитив, в отрыве от всяких сетевых протоколов, то да, придется добавлять поддержку. Хотя там менять немного, у OpenSSL есть абстракция (EVP) для шифров.
Второй релиз же был?
Небыло, был кандидат в релизы.
> Скрыты многие внутренние структуры libssl и libcrypto, в том числе BIGNUM, EVP_MD, EVP_MD_CTX и HMAC_CTX.Опаньки. А LibreSSL тем же путем пойдет?
> Опаньки. А LibreSSL тем же путем пойдет?У них сейчас API на уровне OpenSSL 1.0.1. Т.е. даже до 1.0.2 полностью не довели. Так-то их дело, может и скроют, но очень вряд ли и скорее всего очень нескоро.
API там мхом поросшее сознательно "by design" а вот Само - у них как раз Быстрее разыивается, что замечательно.
Кто-то может сделать адекватное сравнение возможностей openssl 1.1.0 и libressl 2.4.2?Заранее спасибо.
> Кто-то может сделать адекватное сравнение возможностей openssl 1.1.0 и libressl 2.4.2?Ты сам.
> Заранее спасибо.
Это СПО, деточка. Тебе никто ничего не обязан.
Гост не добавили еще?
*) The GOST engine was out of date and therefore it has been removed. An up
to date GOST engine is now being maintained in an external repository.
See: https://wiki.openssl.org/index.php/Binaries. Libssl still retains
support for GOST ciphersuites (these are only activated if a GOST engine
is present).
[Matt Caswell]
В глобальном масштабе - совершеннейшее ненужно (с) Кто хочет - может прилепить патч/модуль сам, благо опенсорс.
А зачем может быть нужен ГОСТ сегодня?
Если только для каких-то стареньких сиситем,
так для таких сиситем можно и libgost сделать?
scrypt годнота