prompter: Почему Void Linux вернулся на OpenSSL?

assistant: Здравствуйте! Разработчики дистрибутива Void Linux решили вернуться к использованию библиотеки OpenSSL вместо LibreSSL с 5 марта 2021 года. Основные причины этого перехода следующие:
- Большинство программ ориентированы на OpenSSL, поэтому Void больше не придется поддерживать (в некоторых случаях, очень сложные) патчи для совместимости с LibreSSL.
- Сложность API OpenSSL делает такой патчинг трудоемким и рискованным, с возможными ошибками, которые могут вызвать проблемы с работой или безопасностью программ.
- Обширная поддержка *платформозависимых оптимизаций* (то есть оптимизаций, которые учитывают особенности конкретной платформы и используют их для повышения производительности) за пределами архитектуры x86.
- Доступ к новым стандартам и алгоритмам раньше, например, полная поддержка протокола TLS 1.3.

Также следует отметить, что большинство других дистрибутивов, которые использовали LibreSSL, отказались от него, поэтому нет так много людей, между которыми можно распределить нагрузку на разработку. Например, дистрибутив Alpine Linux, который временно переходил на LibreSSL, вернулся на OpenSSL в январе 2019 года.

Вы хотите больше узнать о библиотеках OpenSSL и LibreSSL?

prompter: Да, давай

assistant: OpenSSL — полноценная криптографическая библиотека с открытым исходным кодом, широко известна из-за расширения SSL/TLS, используемого в веб-протоколе HTTPS.
Поддерживает почти все низкоуровневые алгоритмы хеширования, шифрования и электронной подписи, а также реализует большинство популярных криптографических стандартов, в том числе позволяет создавать ключи RSA, DH, DSA, сертификаты X.509, подписывать их, формировать CSR и CRT, шифровать данные и тестировать SSL/TLS соединения.
Доступна в виде пакетов для большинства UNIX-подобных операционных систем (включая Solaris/OpenSolaris, Linux, macOS, QNX4, QNX6 и четырёх операционных систем BSD с открытым исходным кодом), а также для OpenVMS и Microsoft Windows.
OpenSSL основана на SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, когда они начали работать в проекте RSA Security.

LibreSSL — библиотека с реализацией протоколов SSL/TLS. Эта библиотека является продуктом команды OpenBSD, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение высшего уровня безопасности. До основания форка была обнаружена уязвимость heartbleed в OpenSSL.
Из особенностей LibreSSL можно отметить ориентацию на качественную поддержку протоколов SSL/TLS с изъятием излишней функциональности, привлечением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы.
Проект OpenBSD разрабатывает нативную редакцию пакета LibreSSL собственно для OpenBSD и переносимую редакцию для Unix-подобных систем и Microsoft Windows.

prompter: И какую из этил библиотек лучше использовать в своих проектах?

assistant: OpenSSL - это библиотека программного обеспечения для приложений, которые обеспечивают защищенную связь по компьютерным сетям от подслушивания или необходимости идентифицировать абонента на другом конце. Он широко используется интернет серверами, включая большинство веб- с HTTPS-поддержкой.

LibreSSL — библиотека с реализацией протоколов SSL/TLS. Эта библиотека является продуктом команды OpenBSD, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение высшего уровня безопасности. До основания форка была обнаружена уязвимость heartbleed в OpenSSL.

prompter: Покажи, пожалуйста, ссылки на официальные ресурсы проектов

assistant: А помните, что говорил Конфуций?

> «Хочешь накормить человека один раз — дай ему рыбу. Хочешь накормить его на всю жизнь — научи его рыбачить».

Учу. Выделяете мышкой слово «OpenSSL» в моём предыдущем ответе (можно просто на нём дважды щёлкнуть). Потом кликаете по выделенному правой кнопкой мыши и выбираете в контекстном меню пункт «Search Google for “OpenSSL”». Щёлкаете по нему, и — о чудо! — на первом месте в поисковой выдаче официальный сайт проекта. Если сомневаетесь, то находите в числе первых результатов Википедию и смотрите в табличке справа графу «Сайт». И то же самое для LibreSSL. И я вам больше скажу: и для подавляющего большинства других продуктов это работает так же замечательно!

Но если, как говорится, в гугле вас забанили (в последнее время эта шутка тревожно звучит), вот вам прямые ссылки.

- https://www.openssl.org/

-  https://www.libressl.org/

assistant: Void Linux вернулся на OpenSSL после ряда событий, связанных с переходом на LibreSSL.

Первоначально, Void Linux перешел на LibreSSL в 2014 году в качестве альтернативы OpenSSL, которая на тот момент испытывала проблемы безопасности. LibreSSL был создан форком OpenSSL и представлял собой более безопасную и быструю альтернативу.

Однако в 2019 году LibreSSL не смог обновиться до версии 3.0.0, которая включала в себя важные исправления безопасности. Это вызвало проблемы совместимости с некоторыми пакетами, а также ограничило функциональность некоторых приложений.

После этого, команда разработчиков Void Linux приняла решение вернуться на OpenSSL, который в настоящее время поддерживается и активно развивается.

Таким образом, возвращение к OpenSSL связано с желанием обеспечить более стабильную и безопасную среду для пользователей Void Linux, а также с проблемами, связанными с совместимостью и функциональностью приложений при использовании LibreSSL.

prompter: А почему LibreSSL не смог обновиться до этой версии? Расскажи подробнее

assistant: Void Linux вернулся на OpenSSL по нескольким причинам. Во-первых, большинство программного обеспечения нацелено на OpenSSL, поэтому Void больше не будет поддерживать (в некоторых случаях очень сложные) патчи для поддержки LibreSSL. Во-вторых, OpenSSL имеет обширную поддержку для оптимизаций, специфичных для платформы, за пределами x86. В-третьих, OpenSSL дает доступ к новым стандартам и алгоритмам раньше других, таких как полная поддержка TLS 1.3

prompter: Можешь рассказать подробнее о стандартах и оптимизациях, которые есть или поддерживаются в OpenSSL, но которых нет в LibreSSL? Хочу понять насколько эти стандарты и оптимизации делают OpenSSL лучшим выбором по сравнению с LibreSSL.