OpenSSL

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 09:17, 24 июня 2016.

OpenSSL — универсальный криптографический инструмент, построенный вокруг протоколов SSL/TLS и сертификатов X.509. Помимо того, что этот инструмент позволяет работать с соединениями SSL/TLS, сертификатами X.509, он может делать множество других полезных вещей: шифровать и расшифровывать файлы, создавать и проверять цифровые подписи, проверять числа на простоту, тестировать производительность компьютера и другое. Доступен для большинства UNIX-подобных операционных систем и Microsoft Windows.

Алгоритмы

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

  • Симметричные;
  • Хеш-функции;
  • Асимметричные;
  • Поддержка алгоритмов ГОСТ появилась в версии 1.0.0.

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

  • Создание ключа для SSL-сертификата. Если не указывать -des3, то он будет без пароля:
 # openssl genrsa -des3 -out example.com.key 2048
  • CSR-запрос:
 # openssl req -new -key example.com.key -out example.com.csr
  • Убрать пароль с ключа:
 # openssl rsa -in example.com.key -out example.com-nopass.key -passin stdin
  • Прочитать содержимое CSR-файла в более удобном для чтения текстовом виде:
 # openssl req -noout -text -in example.com.csr

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

Уязвимость в реализации дистрибутива Debian

В Debian версии 0.9.8c-1 к OpenSSL был преднамеренно повреждавший генератор случайных чисел. Все ключи, сгенерированные через эту версию генератора, и все данные, зашифрованные такими ключами, могут считаться скомпрометированными. Проблема была исправлена в версии 0.9.8c-4etch3 дистрибутива Debian 4.0; в версии 0.9.8g-9 дистрибутива Debian 5.0.

Heartbleed

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 и пароли. Первый патч 1.0.1g был представлен в этот же день. По состоянию на 21 июня 2014, 309197 серверов остались уязвимыми.

Ссылки

1. xgu.ru
2. wiki.yola.ru
3. opennet.ru