OpenSSL — полноценная криптографическая библиотека с открытым исходным кодом, широко известна из-за расширения SSL/TLS, используемого в веб-протоколе HTTPS.
Поддерживает почти все низкоуровневые алгоритмы хеширования, шифрования и электронной подписи, а также реализует большинство популярных криптографических стандартов, в том числе позволяет создавать ключи RSA, DH, DSA, сертификаты X.509, подписывать их, формировать CSR (Certificate Signing Request) и CRT (файл сертификата безопасности), шифровать данные и тестировать SSL/TLS соединения.
Доступна в виде пакетов для большинства UNIX-подобных операционных систем (включая Solaris/OpenSolaris, Linux, macOS, QNX4, QNX6 и четырёх операционных систем BSD с открытым исходным кодом), а также для OpenVMS и Microsoft Windows.
OpenSSL основана на SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, когда начали работу в проекте RSA Security.
Основные релизы +История релизов OpenSSLВерсияДата релизаКомментарий 0.9.1c 23 декабря 1998 года 0.9.2c 22 марта 1999 года Преемник 0.9.1c 0.9.3 25 мая 1999 года Преемник 0.9.2b 0.9.4 9 августа 1999 года Преемник 0.9.3a 0.9.5 28 февраля 2000 года Преемник 0.9.4 0.9.6 25 сентября 2000 года Преемник 0.9.5a 0.9.7 31 декабря 2002 года Преемник 0.9.6h 0.9.8 5 июля 2005 года Преемник 0.9.8za (5 июня 2014) 1.0.0 29 марта 2010 года Преемник 0.9.8x 1.0.1 14 марта, 2012 года Преемник 1.0.0e Поддерживает TLS v1.2 Поддержка SRP 1.0.1k 8 января, 2015 года CVE-2014-3572, CVE-2015-0204, CVE-2015-0205 1.0.2 22 января 2015 года Текущий релиз Поддержка DTLS 1.2 1.1.0 25 августа 2016 года1.1.0g2 ноября 2017 года1.1.111 сентября 2018 года Более 5000 изменений Поддержка TLS v1.3 1.1.1a20 ноября 2018 года Исправление ошибок1.1.1b26 февраля 2019 года Исправление ошибок1.1.1c28 мая 2019 года Исправление ошибок
Алгоритмы
Blowfish, Camellia, DES, RC2, RC4, RC5, IDEA, AES, ГОСТ 28147-89GOST engine для OpenSSL 1.0 Хеш-функции MD5, MD2, SHA, MDC-2, ГОСТ Р 34.11-94 Асимметричные RSA, DSA, Diffie-Hellman key exchange, ГОСТ Р 34.10-2001 (34.10-94) Поддержка алгоритмов ГОСТ появилась в версии 1.0.0, выпущенной 29 марта 2010 года, и была реализована сотрудниками фирмы «Криптоком»Поддержка ГОСТ в разрабатываемой версии OpenSSL 1.0.0 на сайте фирмы «Криптоком»..
Выявленные уязвимости
Уязвимость в реализации дистрибутива Debian В Debian версии 0.9.8c-1 к OpenSSL был применён патч, преднамеренно повреждавший генератор случайных чисел. Эта версия OpenSSL была включена в релиз Debian 17 сентября 2006. Все ключи, сгенерированные через эту версию генератора, и все данные, зашифрованные такими ключами, могут считаться скомпрометированными. Проблема была исправлена в версии 0.9.8c-4etch3 дистрибутива Debian 4.0; в версии 0.9.8g-9 дистрибутива Debian 5.0.
Heartbleed bug
7 апреля 2014 года было объявлено о критической уязвимости OpenSSL 1.0.2-beta и всех версий OpenSSL 1.0.1, кроме 1.0.1g. Уязвимость связана с расширением TLS Heartbeat и позволяет считывать до 64Кб оперативной памяти приложения с каждым heartbeat-запросом. В списке CVE она значится под номером CVE-2014-0160.
Уязвимость существует с 31 декабря 2011 года; уязвимый код был распространён с выпуском версии OpenSSL 1.0.1 14 марта 2012 года. Читая оперативную память веб-сервера, атакующий может получить доступ к конфиденциальной информации как сервера, так и пользователей, позволяя перехватить приватные ключи, cookies и пароли. На момент объявления около 17 % из полумиллиона защищённых веб-серверов предполагались уязвимыми.
Уязвимые версии OpenSSL
1.0.1 по 1.0.1f, и 1.0.2-бета1
Разработчикам Обновить затронутые TLS/TDLS-клиенты и серверы до версии OpenSSL 1.0.1g.
В качестве альтернативы затронутые версии OpenSSL можно перекомпилировать с опцией “-DOPENSSL_NO_HEARTBEATS”, чтобы снизить уязвимость до момента обновления.
Форки
LibreSSL
После обнаружения уязвимости Heartbleed разработчики проекта OpenBSD объявили о создании форка OpenSSL на основе ветки 1.0.1g под названием LibreSSL. Акцент разработчиков сделан на устранении ошибок, удалении излишней функциональности, повышении защищённости и читаемости кода.
BoringSSL
В июле 2014 компания Google анонсировала собственный форк OpenSSL под названием BoringSSL. Google намеревается сотрудничать и обмениваться патчами с разработчиками OpenSSL и LibreSSL.
Примечания
Ссылки OpenSSL.org Win32 версия OpenSSL , slproweb.com Win64 версия OpenSSL , slproweb.com IA64, Alpha, VAX версия OpenSSL для OpenVMS , polarhome.com статья «Использование OpenSSL» , opennet.ru Перевод на русский некоторых команд OpenSSL, omsk.lug.ru OpenSSL на Xgu.ru — перевод OpenSSL Command Line HOWTO на русский язык
Категория:Свободные библиотеки программ Категория:FSF/UNESCO Категория:Криптографическое программное обеспечение