Сообщество RSS DEV

Как работает HTTPS?

HTTPS (Hypertext Transfer Protocol Secure) — это расширение HTTP, использующее Transport Layer Security (TLS) для шифрования связи между клиентом и сервером. Любые перехваченные данные будут нечитаемыми и защищены от подмены и прослушивания. Как происходит шифрование и дешифрование данных? Процесс начинается с установления клиентом (например, вашим браузером) TCP-соединения с сервером. Затем следует «клиентское приветствие» (client hello), где браузер отправляет сообщение, содержащее поддерживаемые наборы шифров (cipher suites) и самую высокую поддерживаемую версию TLS. Наборы шифров — это наборы алгоритмов, которые обычно включают: метод обмена ключами для совместного использования ключей между устройствами, алгоритм блочного шифрования для шифрования данных и алгоритм кода аутентификации сообщений для проверки целостности данных. Сервер отвечает «серверным приветствием» (server hello), подтверждая выбранный набор шифров и версию TLS, которые они оба понимают. Затем сервер отправляет клиенту TLS-сертификат, содержащий его доменное имя, подпись центра сертификации и открытый ключ сервера. Клиент проверяет этот сертификат, чтобы убедиться в его достоверности и принадлежности серверу. После проверки TLS-сертификата клиент создаёт сеансовый ключ, который будет использоваться для шифрования основного обмена данными. Основной обмен данными относится к передаче фактических данных приложения между клиентом и сервером после установления защищённого TLS-соединения. Для безопасной отправки этого сеансового ключа на сервер он шифруется с помощью открытого ключа сервера. Сервер, используя свой закрытый ключ, является единственным, кто может расшифровать этот зашифрованный сеансовый ключ. Теперь, когда обе стороны имеют секретный сеансовый ключ, они переходят к симметричному шифрованию. Это как будто они договорились о частном языке, который понимают только они. Это делает передачу данных очень безопасной. Симметричное шифрование намного быстрее для больших объёмов данных. Автор: @synacyb
favicon
dev.to
How does HTTPS work?
Изображение к статье: Как работает HTTPS?
Create attached notes ...