OpenSSL

Поделись знанием:
Перейти к: навигация, поиск
OpenSSL
Разработчик

The OpenSSL Project

Лицензия

OpenSSL License, SSLeay License

К:Википедия:Статьи без изображений (тип: не указан)

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

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

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





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

История релизов OpenSSL[2]
Версия Дата релиза Комментарий
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 года
  • Текущий релиз [3][4]
  • Поддержка DTLS 1.2|
1.1.0 25 августа 2016 года

Алгоритмы

OpenSSL поддерживает разные алгоритмы шифрования и хеширования:

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

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

Полезные команды openssl

  • Создание ключа для SSL-сертификата. Если не указывать -des3, то он будет без пароля:
# openssl genrsa -des3 -out example.com.key 2048

В случае утери пароля или файла ключа придется пересоздавать сертификат.

  • Генерация CSR-запроса:
# openssl req -new -key example.com.key -out example.com.csr

Имя домена на который создается запрос прописывается в Common Name - example.com, A challenge password и An optional company name вводить не нужно (просто нажимаем enter).

  • Убрать пароль с ключа (необходимо когда сертификат ставится в конфигурацию Apache иначе он при запуске будет просить пароль):
# openssl rsa -in example.com.key -out example.com-nopass.key -passin stdin

и вводим пароль с консоли (либо -passin pass:supersecretpassword что считается менее безопасным)

  • Прочитать содержимое CSR-файла в более удобном для чтения текстовом виде:
# openssl req -noout -text -in example.com.csr


К:Википедия:Статьи без источников (тип: не указан)

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

Уязвимость в реализации дистрибутива 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-запросом.[18] В списке CVE она значится под номером CVE-2014-0160.

Уязвимость существует с 31 декабря 2011 года; уязвимый код был распространён с выпуском версии OpenSSL 1.0.1 14 марта 2012 года. Читая оперативную память веб-сервера, атакующий может получить доступ к конфиденциальной информации как сервера, так и пользователей, позволяя перехватить приватные ключи, cookies и пароли. На момент объявления около 17 % из полумиллиона защищённых веб-серверов предполагались уязвимыми.

Форки

LibreSSL

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

BoringSSL

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

Напишите отзыв о статье "OpenSSL"

Примечания

  1. [forum.kpda.ru/index.php/topic,510.0.html OpenSSL для QNX4] (рус.). СВД Встраиваемые Системы. [www.webcitation.org/65LQF82LX Архивировано из первоисточника 10 февраля 2012].
  2. [www.openssl.org/news/ OpenSSL - Project Newsflash]. OpenSSL Software Foundation. Проверено 25 ноября 2012. [www.webcitation.org/6EiUBo3YU Архивировано из первоисточника 26 февраля 2013].
  3. [www.openssl.org/news/changelog.html OpenSSL 1.x Changelog]. OpenSSL Software Foundation. Проверено 25 ноября 2012. [www.webcitation.org/6EiUDsWXg Архивировано из первоисточника 26 февраля 2013].
  4. [www.opennet.ru/opennews/art.shtml?num=41516 OpenSSL 1.0.2 Changelog]. OpenNET. Проверено 26 января 2012.
  5. 1 2 3 [github.com/gost-engine/engine/blob/master/README.gost GOST engine для OpenSSL 1.0]
  6. [www.cryptocom.ru/opensource/openssl100.html Поддержка ГОСТ в разрабатываемой версии OpenSSL 1.0.0] на сайте фирмы «Криптоком».
  7. [www.opennet.ru/opennews/art.shtml?num=39617 Проект OpenBSD представил LibreSSL, форк OpenSSL]. OpenNET. Проверено 26 ноября 2015.
  8. [www.opennet.ru/opennews/art.shtml?num=40049 Компания Google представила BoringSSL, форк OpenSSL]. OpenNET. Проверено 26 ноября 2015.

Ссылки

  • [www.openssl.org/ OpenSSL.org]
  • [slproweb.com/products/Win32OpenSSL.html Win32 версия OpenSSL], slproweb.com
  • [slproweb.com/products/Win32OpenSSL.html Win64 версия OpenSSL], slproweb.com
  • [www.polarhome.com/openssl/ IA64, Alpha, VAX версия OpenSSL для OpenVMS ], polarhome.com
  • [www.opennet.ru/base/sec/openssl.txt.html статья «Использование OpenSSL»], opennet.ru
  • [omsk.lug.ru/OpenSSL Перевод на русский некоторых команд OpenSSL], omsk.lug.ru
  • [xgu.ru/wiki/OpenSSL OpenSSL на Xgu.ru] — перевод OpenSSL Command Line HOWTO на русский язык
  • [sergeysl.ru/check-parameters-of-ssl-tls-servers-on-freebsd-console/ Инструкция по использованию openssl s_client и производных инструментов в FreeBSD]  (рус.)

Отрывок, характеризующий OpenSSL

Во все время переезда Денисов ни слова не говорил больше с Петей и ехал молча. Когда подъехали к опушке леса, в поле заметно уже стало светлеть. Денисов поговорил что то шепотом с эсаулом, и казаки стали проезжать мимо Пети и Денисова. Когда они все проехали, Денисов тронул свою лошадь и поехал под гору. Садясь на зады и скользя, лошади спускались с своими седоками в лощину. Петя ехал рядом с Денисовым. Дрожь во всем его теле все усиливалась. Становилось все светлее и светлее, только туман скрывал отдаленные предметы. Съехав вниз и оглянувшись назад, Денисов кивнул головой казаку, стоявшему подле него.
– Сигнал! – проговорил он.
Казак поднял руку, раздался выстрел. И в то же мгновение послышался топот впереди поскакавших лошадей, крики с разных сторон и еще выстрелы.
В то же мгновение, как раздались первые звуки топота и крика, Петя, ударив свою лошадь и выпустив поводья, не слушая Денисова, кричавшего на него, поскакал вперед. Пете показалось, что вдруг совершенно, как середь дня, ярко рассвело в ту минуту, как послышался выстрел. Он подскакал к мосту. Впереди по дороге скакали казаки. На мосту он столкнулся с отставшим казаком и поскакал дальше. Впереди какие то люди, – должно быть, это были французы, – бежали с правой стороны дороги на левую. Один упал в грязь под ногами Петиной лошади.
У одной избы столпились казаки, что то делая. Из середины толпы послышался страшный крик. Петя подскакал к этой толпе, и первое, что он увидал, было бледное, с трясущейся нижней челюстью лицо француза, державшегося за древко направленной на него пики.
– Ура!.. Ребята… наши… – прокричал Петя и, дав поводья разгорячившейся лошади, поскакал вперед по улице.
Впереди слышны были выстрелы. Казаки, гусары и русские оборванные пленные, бежавшие с обеих сторон дороги, все громко и нескладно кричали что то. Молодцеватый, без шапки, с красным нахмуренным лицом, француз в синей шинели отбивался штыком от гусаров. Когда Петя подскакал, француз уже упал. Опять опоздал, мелькнуло в голове Пети, и он поскакал туда, откуда слышались частые выстрелы. Выстрелы раздавались на дворе того барского дома, на котором он был вчера ночью с Долоховым. Французы засели там за плетнем в густом, заросшем кустами саду и стреляли по казакам, столпившимся у ворот. Подъезжая к воротам, Петя в пороховом дыму увидал Долохова с бледным, зеленоватым лицом, кричавшего что то людям. «В объезд! Пехоту подождать!» – кричал он, в то время как Петя подъехал к нему.
– Подождать?.. Ураааа!.. – закричал Петя и, не медля ни одной минуты, поскакал к тому месту, откуда слышались выстрелы и где гуще был пороховой дым. Послышался залп, провизжали пустые и во что то шлепнувшие пули. Казаки и Долохов вскакали вслед за Петей в ворота дома. Французы в колеблющемся густом дыме одни бросали оружие и выбегали из кустов навстречу казакам, другие бежали под гору к пруду. Петя скакал на своей лошади вдоль по барскому двору и, вместо того чтобы держать поводья, странно и быстро махал обеими руками и все дальше и дальше сбивался с седла на одну сторону. Лошадь, набежав на тлевший в утреннем свето костер, уперлась, и Петя тяжело упал на мокрую землю. Казаки видели, как быстро задергались его руки и ноги, несмотря на то, что голова его не шевелилась. Пуля пробила ему голову.
Переговоривши с старшим французским офицером, который вышел к нему из за дома с платком на шпаге и объявил, что они сдаются, Долохов слез с лошади и подошел к неподвижно, с раскинутыми руками, лежавшему Пете.
– Готов, – сказал он, нахмурившись, и пошел в ворота навстречу ехавшему к нему Денисову.
– Убит?! – вскрикнул Денисов, увидав еще издалека то знакомое ему, несомненно безжизненное положение, в котором лежало тело Пети.
– Готов, – повторил Долохов, как будто выговаривание этого слова доставляло ему удовольствие, и быстро пошел к пленным, которых окружили спешившиеся казаки. – Брать не будем! – крикнул он Денисову.
Денисов не отвечал; он подъехал к Пете, слез с лошади и дрожащими руками повернул к себе запачканное кровью и грязью, уже побледневшее лицо Пети.
«Я привык что нибудь сладкое. Отличный изюм, берите весь», – вспомнилось ему. И казаки с удивлением оглянулись на звуки, похожие на собачий лай, с которыми Денисов быстро отвернулся, подошел к плетню и схватился за него.
В числе отбитых Денисовым и Долоховым русских пленных был Пьер Безухов.


О той партии пленных, в которой был Пьер, во время всего своего движения от Москвы, не было от французского начальства никакого нового распоряжения. Партия эта 22 го октября находилась уже не с теми войсками и обозами, с которыми она вышла из Москвы. Половина обоза с сухарями, который шел за ними первые переходы, была отбита казаками, другая половина уехала вперед; пеших кавалеристов, которые шли впереди, не было ни одного больше; они все исчезли. Артиллерия, которая первые переходы виднелась впереди, заменилась теперь огромным обозом маршала Жюно, конвоируемого вестфальцами. Сзади пленных ехал обоз кавалерийских вещей.
От Вязьмы французские войска, прежде шедшие тремя колоннами, шли теперь одной кучей. Те признаки беспорядка, которые заметил Пьер на первом привале из Москвы, теперь дошли до последней степени.
Дорога, по которой они шли, с обеих сторон была уложена мертвыми лошадьми; оборванные люди, отсталые от разных команд, беспрестанно переменяясь, то присоединялись, то опять отставали от шедшей колонны.
Несколько раз во время похода бывали фальшивые тревоги, и солдаты конвоя поднимали ружья, стреляли и бежали стремглав, давя друг друга, но потом опять собирались и бранили друг друга за напрасный страх.
Эти три сборища, шедшие вместе, – кавалерийское депо, депо пленных и обоз Жюно, – все еще составляли что то отдельное и цельное, хотя и то, и другое, и третье быстро таяло.
В депо, в котором было сто двадцать повозок сначала, теперь оставалось не больше шестидесяти; остальные были отбиты или брошены. Из обоза Жюно тоже было оставлено и отбито несколько повозок. Три повозки были разграблены набежавшими отсталыми солдатами из корпуса Даву. Из разговоров немцев Пьер слышал, что к этому обозу ставили караул больше, чем к пленным, и что один из их товарищей, солдат немец, был расстрелян по приказанию самого маршала за то, что у солдата нашли серебряную ложку, принадлежавшую маршалу.