Наборы шифров 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? (Я только что поместил эти элементы из своей команды)

1
задан 21 November 2016 в 17:14
1 ответ

Я думаю, вы запутались с сертификатами 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).
2
ответ дан 3 December 2019 в 20:32

Теги

Похожие вопросы