Разработчики проекта OpenBSD представили (http://permalink.gmane.org/gmane.os.openbsd.announce/269) выпуск переносимой редакции пакета LibreSSL 2.4.0 (http://www.libressl.org/), в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Одновременно доступен корректирующие обновления для стабильных веток - 2.3.5 и 2.2.8. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы.Особенности LibreSSL 2.4.0:
- Реализован рекомендуемый IETF вариант потокового шифра ChaCha20 и алгоритма аутентификации сообщений (MAC) Poly1305;
- Реализация EVP_aead_chacha20_poly1305() замерена на версию IETF, которая задействована по умолчанию
- Многочисленные улучшения в сборочной инфраструктуре на базе CMake. Добавлена поддержка Solaris, mingw-w64, Cygwin и HP-UX;
- Переработан код обработки ошибок в libtls, улучшено информирование об ошибках конфигурации;
- Для объектов ASN.1 добавлены вызовы explicit_bzero;
- Проведена чистка функций X509_*set_object на предмет возвращения нуля при проблемах с распределением памяти;
- Обеспечена корректная обработка ^C в приглашении ввода пароля openssl;
- Переведено в разряд устаревших внутреннее использование функций EVP_[Cipher|Encrypt|Decrypt]_Final;- В выпусках 2.3.5 и 2.2.8 устранена проблема, связанная с разбором некоторых элементов ASN.1, размер которых превышает 16 Кб.
URL: http://permalink.gmane.org/gmane.os.openbsd.announce/269
Новость: http://www.opennet.dev/opennews/art.shtml?num=44530
в voidlinux она по-дефолту.
обновление 2.3.5 уже прилетелео
А чем EVP_aead_chacha20_poly1305 от IETF лучше?
Зачем эти нехорошие люди похерили возможность иметь несколько инстансов состояния libtls в одном процессе, как это делает openssl?
Проще быть надо.
1 Может кто-нибудь может дать вразумительный, содержательный и обоснованный ответ на этот вопрос, по выбору наиболее криптостойкого режима симметричного шифрования с алгоритмом AES-256?
http://ru.stackoverflow.com/q/521905/2091542 Можно ли с сабжем собрать php-модуль openssl или есть ли ему функционально-подобные, но с сабжем?
Нужно использовать не просто шифрование а аутентифицированное шифрование. Шифр AES на данный момент лучше всего использовать в режиме GCM. Еще есть режим OCB, который тоже на должном уровне, но у него есть юридические тонкости с патентом [1] - в США бесплатно его можно использовать только если Ваш код под GPL или в не коммерческих целях.
> Нужно использовать не просто шифрование а аутентифицированное шифрование.Почему?
> Шифр AES на данный момент лучше всего использовать в режиме GCM.
Почему?
> Еще есть режим OCB
В php, в openssl, его нет.
...
15 = AES-256-CBC (16)
16 = AES-256-CFB (16)
17 = AES-256-CFB1 (16)
18 = AES-256-CFB8 (16)
19 = AES-256-CTR (16)
20 = AES-256-ECB (0)
21 = AES-256-OFB (16)
22 = AES-256-XTS (16)
...
98 = aes-256-cbc (16)
99 = aes-256-ccm (12)
100 = aes-256-cfb (16)
101 = aes-256-cfb1 (16)
102 = aes-256-cfb8 (16)
103 = aes-256-ctr (16)
104 = aes-256-ecb (0)
105 = aes-256-gcm (12)
106 = aes-256-ofb (16)
107 = aes-256-xts (16)
...
157 = id-aes256-CCM (12)
158 = id-aes256-GCM (12)
159 = id-aes256-wrap (8)
...
Полный ответ на вопросы "почему" будет очень длинный, и если Вы не эксперт в криптографии (я тоже не эксперт но чуток разбираюсь) я сомневаюсь что это будет полезно. Для нас простых смертных нужно просто знать что и как сегодня считается надежным использовать это.Лично я рекомендую использовать алгоритмы мега-авторитетного криптографа DJB [0] с помощью библиотеки Libsodium [1] (библиотека доступна также для PHP [2]).
Для быстрого старта "в тему" рекомендую полистать документ "Everything you need to know about cryptography in 1 Hour" [3], хоть он и немного устарел.
Если хотите поглубже капнуть в тему, пройдите задачи Матасано [4] (пару недель интересные вечера обеспечены).
[0] https://en.wikipedia.org/wiki/Daniel_J._Bernstein
[1] https://github.com/jedisct1/libsodium
[2] https://github.com/jedisct1/libsodium-php
[3] http://www.daemonology.net/papers/crypto1hr-small.pdf
[4] http://cryptopals.com/
Большое спасибо за ваши ответы и ссылки. И желание понять меня и помочь.
Узнал чуточку нового. :-)