OpenSSL

OpenSSL
Логотип программы OpenSSL
Скриншот программы OpenSSL
Тип библиотека функций, шифрующее программное обеспечение и утилита
Разработчики Richard Levitte[вд][2], Stephen Henson[вд], Matt Caswell[вд], Hugo Landau[вд] и OpenSSL Corporation[вд][3]
Написана на Си[4][5], язык ассемблера и Perl
Операционные системы GNU/Linux[6], GNU/Hurd[вд][6], BSD[вд][6], macOS[6] и Windows[6]
Дата выпуска 1998
Последняя версия
Репозиторий github.com/openssl
Лицензия Apache License 2.0[7]
Сайт openssl-library.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

OpenSSL — полноценная криптографическая библиотека с открытым исходным кодом, широко известна из-за расширения SSL/TLS, используемого в веб-протоколе HTTPS.

Поддерживает почти все низкоуровневые алгоритмы хеширования, шифрования и электронной подписи, а также реализует большинство популярных криптографических стандартов, в том числе позволяет создавать ключи RSA, DH, DSA, сертификаты X.509, подписывать их, формировать CSR (Certificate Signing Request) и CRT (файл сертификата безопасности), шифровать данные и тестировать SSL/TLS соединения.

Доступна в виде пакетов для большинства UNIX-подобных операционных систем (включая Solaris/OpenSolaris, Linux, macOS, QNX4[8], QNX6 и четырёх операционных систем BSD с открытым исходным кодом), а также для OpenVMS и Microsoft Windows.

OpenSSL основана на SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, когда начали работу в проекте RSA Security.

Основные релизы

История релизов OpenSSL[9][10]
Версия Дата релиза Комментарий
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 года
  • Текущий релиз [11][12]
  • Поддержка DTLS 1.2
1.1.0 25 августа 2016 года
1.1.0g 2 ноября 2017 года
1.1.1 11 сентября 2018 года
  • Более 5000 изменений
  • Поддержка TLS v1.3 [13]
1.1.1a 20 ноября 2018 года
  • Исправление ошибок[14]
1.1.1b 26 февраля 2019 года
  • Исправление ошибок
1.1.1c 28 мая 2019 года
  • Исправление ошибок

Алгоритмы

Blowfish, Camellia, DES, RC2, RC4, RC5, IDEA, AES, ГОСТ 28147-89[15]
Хеш-функции
MD5, MD2, SHA, MDC-2, ГОСТ Р 34.11-94[15]
Асимметричные
RSA, DSA, Diffie-Hellman key exchange, ГОСТ Р 34.10-2001 (34.10-94)[15]

Поддержка алгоритмов ГОСТ появилась в версии 1.0.0, выпущенной 29 марта 2010 года, и была реализована сотрудниками фирмы «Криптоком»[16].

Выявленные уязвимости

Уязвимость в реализации дистрибутива 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”, чтобы снизить уязвимость до момента обновления[17].

Форки

LibreSSL

После обнаружения уязвимости Heartbleed разработчики проекта OpenBSD объявили о создании форка OpenSSL на основе ветки 1.0.1g под названием LibreSSL[18]. Акцент разработчиков сделан на устранении ошибок, удалении излишней функциональности, повышении защищённости и читаемости кода.

BoringSSL

В июле 2014 компания Google анонсировала собственный форк OpenSSL под названием BoringSSL[19]. Google намеревается сотрудничать и обмениваться патчами с разработчиками OpenSSL и LibreSSL.

Примечания

  1. OpenSSL 4.0.1 — 2026.
  2. https://github.com/openssl/openssl/graphs/contributors?type=a
  3. https://openssl-corporation.org/about/us/
  4. The openssl Open Source Project on Open Hub: Languages Page — 2006.
  5. https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv — 2025.
  6. 1 2 3 4 5 Free Software Directory
  7. Change license to the Apache License v2.0 · openssl/openssl@1513331 · GitHub
  8. OpenSSL для QNX4. СВД Встраиваемые Системы. Архивировано из оригинала 10 февраля 2012 года.
  9. OpenSSL - Project Newsflash. OpenSSL Software Foundation. Дата обращения: 25 ноября 2012. Архивировано из оригинала 26 февраля 2013 года.
  10. r. r. Дата обращения: 14 ноября 2019. Архивировано 29 сентября 2019 года.
  11. OpenSSL 1.x Changelog. OpenSSL Software Foundation. Дата обращения: 25 ноября 2012. Архивировано из оригинала 26 февраля 2013 года.
  12. OpenSSL 1.0.2 Changelog. OpenNET. Дата обращения: 26 января 2012. Архивировано 19 марта 2015 года.
  13. OpenSSL Foundation, Inc. OpenSSL 1.1.1 Is Released - OpenSSL Blog (англ.). www.openssl.org. Дата обращения: 12 сентября 2018. Архивировано 15 сентября 2018 года.
  14. Changes between 1.1.1 and 1.1.1a. Дата обращения: 8 января 2019. Архивировано 13 сентября 2016 года.
  15. 1 2 3 GOST engine для OpenSSL 1.0
  16. Поддержка ГОСТ в разрабатываемой версии OpenSSL 1.0.0 Архивировано 11 февраля 2011 года. на сайте фирмы «Криптоком».
  17. OpenSSL Vulnerability | CISA (англ.). www.cisa.gov (27 августа 2018). Дата обращения: 15 января 2026.
  18. Проект OpenBSD представил LibreSSL, форк OpenSSL. OpenNET. Дата обращения: 26 ноября 2015. Архивировано 20 ноября 2015 года.
  19. Компания Google представила BoringSSL, форк OpenSSL. OpenNET. Дата обращения: 26 ноября 2015. Архивировано 8 декабря 2015 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.