Когда SSL используется, насколько я понял, сервер отправляет клиенту открытый ключ для шифрования отправленных данных и делает его безопасным для отправки данных ОТ КЛИЕНТА СЕРВЕР. С другой стороны, чтобы отправить данные от сервера к клиенту в безопасном порядке, также, какова процедура, которая имеет место? Клиент (например, обычный домашний компьютер) генерирует свою собственную пару ключей и отправляет свой собственный открытый ключ на сервер?Обмен ключами между сервером и клиентом
0
A
ответ
1
Для защиты передачи вы следуете определенному протоколу, называемому рукопожатием. Для TLS (который является обновленной версией SSL) это выглядит следующим образом:
- Клиент сообщает о своем намерении сделать шифрование на сервер (это ясный текст сообщение)
- Сервер отвечает с помощью посылая свой сертификат, протокол, на который он согласен, и случайное число (текст).
- Клиент генерирует предварительный общий ключ (PSK) и шифрует его с сертификатом сервера
- клиента и сервер генерирует с ФМном и случайным числом в мастере секретного ключа
- Клиентом и сервер теперь может связываться с главным ключом , который никто не знает.
Подробнее wikipedia