HTTPS (Hypertext Transfer Protocol Secure) — это расширение протокола HTTP, обеспечивающее защищенную передачу данных между клиентом (браузером) и сервером.
Основные отличия и принципы работы HTTP:
- Шифрование: Использует протоколы SSL/TLS для шифрования данных, защищая их от перехвата и изменения.
- Целостность: Гарантирует, что данные, отправленные клиентом, придут на сервер без изменений.
- Аутентификация: Позволяет клиенту проверить подлинность сервера, убедившись, что он взаимодействует с нужным ресурсом.
Этапы установки защищенного соединения:
- Client Hello: Клиент отправляет серверу список поддерживаемых версий SSL/TLS, алгоритмов шифрования и другие параметры.
- Server Hello: Сервер выбирает из предложенных клиентом параметров наиболее подходящие и отправляет их обратно, а также свой сертификат.
- Certificate Verify: Клиент проверяет сертификат сервера (подлинность, срок действия, цепочку доверия).
- Client Key Exchange: Клиент генерирует секретный ключ сессии, шифрует его открытым ключом сервера (из сертификата) и отправляет серверу.
- Server Change Cipher Spec, Finished: Сервер расшифровывает секретный ключ, запускает сессионное шифрование и подтверждает готовность к обмену зашифрованными данными