2014-12-15 4 views
0

Когда SSL используется, насколько я понял, сервер отправляет клиенту открытый ключ для шифрования отправленных данных и делает его безопасным для отправки данных ОТ КЛИЕНТА СЕРВЕР. С другой стороны, чтобы отправить данные от сервера к клиенту в безопасном порядке, также, какова процедура, которая имеет место? Клиент (например, обычный домашний компьютер) генерирует свою собственную пару ключей и отправляет свой собственный открытый ключ на сервер?Обмен ключами между сервером и клиентом

ответ

1

Для защиты передачи вы следуете определенному протоколу, называемому рукопожатием. Для TLS (который является обновленной версией SSL) это выглядит следующим образом:

  • Клиент сообщает о своем намерении сделать шифрование на сервер (это ясный текст сообщение)
  • Сервер отвечает с помощью посылая свой сертификат, протокол, на который он согласен, и случайное число (текст).
  • Клиент генерирует предварительный общий ключ (PSK) и шифрует его с сертификатом сервера
  • клиента и сервер генерирует с ФМном и случайным числом в мастере секретного ключа
  • Клиентом и сервер теперь может связываться с главным ключом , который никто не знает.

Подробнее wikipedia