Каким образом HTTPS изначально позволяет избежать перехвата ключа шифрования?

Каким образом HTTPS изначально позволяет избежать перехвата ключа шифрования?

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

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

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

решение1

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

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

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

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

решение2

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

Связанный контент