URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5646
[ Назад ]

Исходное сообщение
"Обмен ключами в TLS ServerHello"

Отправлено Lun2 , 21-Апр-23 21:06 
Добрый вечер!
Начать изучать TLS - помогите разобраться с обменом ключами (пока в голове каша).

Насколько я понял для получения сеансового симметр. ключа, в своем сообщении ServerHello :

1) сервер передает клиенту свой сертификат, затем сообщение HelloDone,
2.1) если используется RSA, клиент генерит случайное число зашифровывает открытым ключом сервера из сертификата и передает его серверу,
В этом варианте в ServerHello передается только 1 расширение - supported_versions.

2.2) сервер расшифровывает это случайное число и использует его как premaster-key

если используется алгоритм DH (без эллипт. кривых), то в п. 2.1 клиент и сервер должны обменяться параметрами для него.

Вопрос1: правильно ли я понимаю порядок действий в ServerHello ?

Вопрос2: в р. 4.1.3. RFC (перевод) говорится следующее когда речь идет о расширениях в ServerHello - см. цитату далее:
Можете более понятно объяснить фразу в фигурных скобках - в каком соотношении она находится с алгоритмом, описанным выше ?

Вопрос3: какую роль играют pre_shared_key и key_share (пока не очень понимаю) в обмене ?

----------читата из р. 4.1.3 к вопросу -----------------
• extensions: список расширений. ServerHello ДОЛЖЕН включать только расширения, необходимые для установления криптографического контекста и согласования версии протокола. Все сообщения TLS 1.3 ServerHello ДОЛЖНЫ содержать расширение «supported_versions».
{{ Текущие сообщения ServerHello дополнительно содержат либо расширение «pre_shared_key», либо расширение «key_share», или оба (при использовании ключа PSK с (EC) DHE). }}
Другие расширения (см. Раздел 4.2) отправляются отдельно в сообщении EncryptedExtensions.


Содержание

Сообщения в этом обсуждении