Как работает HTTPS?
Hypertext Transfer Protocol Secure (HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с помощью Transport Layer Security (TLS). Если данные украдены онлайн, все, что получает перехватчик - это двоичный код.
Как данные шифруются и расшифровываются?
Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение.
Шаг 2 - Клиент отправляет "клиентское приветствие” на сервер. Сообщение содержит набор необходимых алгоритмов шифрования (пакеты шифров) и последнюю поддерживаемую версию TLS. Сервер отвечает "серверным приветствием", поэтому клиент знает, может ли сервер поддерживать алгоритмы и версию TLS.
Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, даты истечения срока действия и т. д. Клиент проверяет сертификат.
Шаг 3 - После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сессии и расшифровывает его с помощью закрытого ключа.
Шаг 4 - Теперь, когда и клиент, и сервер имеют один и тот же ключ сессии (симметричное шифрование), зашифрованные данные передаются по безопасному двунаправленному каналу.
Почему HTTPS переключается на симметричное шифрование во время передачи данных?
На это есть две основные причины:
1. Безопасность: асимметричное шифрование идет только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой может расшифровать данные с помощью открытого ключа.
2. Ресурсы сервера: асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сеансах.
https://t.me/itarchitecture
Post #216
327

- 🔥 4