Назад | Перейти на главную страницу

Наборы шифров Centos / Fedora

Я создал самоподписанный сертификат на моем сервере командной строки Fedora с помощью команды openssl

openssl req -x509 -sha256 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 100

Насколько я понимаю, TLS работает так:

  1. Клиент отправляет серверу настройки набора шифров
  2. Сервер выбирает набор шифров, а также отправляет клиенту сертификат и (rsa) открытый ключ.
  3. клиент генерирует ключ Premaster (в основном случайные биты). Шифрует его заданным открытым ключом и отправляет на сервер.
  4. Клиент и сервер независимо друг от друга генерируют главный ключ, а затем сеансовый ключ. Ключ сеанса - это симметричный ключ, который обеспечивает «безопасный канал».

Вопрос 1. Как узнать, какой алгоритм симметричного шифрования используется для сеансового ключа?

Вопрос 2. Какое отношение имеет эта команда openssl к openssl ciphersкоманда?

Вопрос 3. Использует ли имплицит TLS Диффи Хеллмана? Я использую Диффи Хеллмана?

Вопрос 4. Я видел в Интернете сообщение, в котором рекомендовалось отключить некоторые шифры. Как я могу это сделать?

Любая помощь будет принята с благодарностью, спасибо

РЕДАКТИРОВАТЬ

Вопрос 5. Итак, если мое приложение (скажем, HTTP-сервер Apache) использует и TLS, и этот сертификат x509, а клиент использует https-запросы для подключения к этому серверу, то согласованный набор шифров будет выглядеть примерно так: TLS_RSA_WITH_NULL_SHA ? (Я только что поместил эти элементы из своей команды)

Я думаю, вы запутались с сертификатами X.509 и TLS. TLS - это всего лишь одно (но самое большое) приложение сертификатов.

  1. Алгоритм сеансового ключа зависит от приложения. Если, например, вы используете сертификат с веб-сервером Apache для TLS, то список возможных алгоритмов настраивается в файле конфигурации Apache. После того, как вы настроили веб-сервер для использования вашего сертификата и закрытого ключа, вы можете проверить, какие алгоритмы используются с различными инструментами, такими как openssl s_client или nmap или если ваш сервер доступен из Интернета через веб-сайт, например SSL Labs
  2. Нет, за исключением того, что они оба начинаются с openssl. OpenSSL - это набор инструментов для работы с несколькими криптографическими технологиями. Приведенная выше команда сгенерировала пару ключей и сертификат X.509; то openssl ciphers Команда перечисляет наборы шифров SSL / TLS, используя ту же логику «строки шифров», что и при настройке приложений, таких как Apache, что дает удобный способ проверить эти параметры. В openssl Программа также может использоваться для шифрования / дешифрования файлов, вычисления дайджестов сообщений и случайных чисел среди прочего.
  3. TLS может использовать множество алгоритмов, согласованных вашим сервером и клиентом. Вы не используете Диффи-Хеллмана для создания сертификата X.509. Этот сертификат может использоваться для TLS, который может используйте простую (целую) форму или форму эллиптической кривой Диффи-Хеллмана.
  4. Включение и отключение шифров обычно контролируется приложением (например, Apache), а не сертификатом, хотя есть несколько угловых случаев (например, сертификат DSA несовместим с RC4).