3

Когда два компьютера устанавливают соединение HTTPS, они должны решить, какой ключ будет использоваться, верно?

Итак, чтобы сделать это, в какой-то момент ключ должен перемещаться в незашифрованном виде с одного компьютера на другой, нет? В этот момент не может ли человек-посредник понюхать его и получить ключ, чтобы он мог просто читать / записывать зашифрованные пакеты вместе с ним?

Как протокол HTTPS избегает этого?

2 ответа2

3

SSL использует два ключа, приватный и публичный. Отправляется только открытый ключ, и этот ключ не имеет значения, если вы не знаете личный.

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

Это означает, что перехват трафика - не такая уж большая проблема, хотя, конечно, атаки методом "грубой силы" будут зависеть от размера ключа и используемого алгоритма.

Атаки «человек посередине», основанные на перехвате трафика и замене сервера, представляют более высокий риск, но обычно предотвращаются использованием доверенных центров сертификации. Однако он будет побежден, если вы проигнорируете предупреждения, которые отображает ваш браузер, когда сертификат сервера не соответствует имени сайта или не был выдан доверенной цепочкой органов (например, самозаверяющий сертификат).

1

Протокол HTTPS/SSL использует закрытые / открытые ключи для обеспечения безопасного соединения. http://en.wikipedia.org/wiki/Transport_Layer_Security

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .