Когда в адресной строке есть https://, это означает, что между браузером и сервером работает TLS — протокол, который защищает данные от перехвата и подмены. SSL — это старое название: сегодня корректно говорить именно TLS.
Зачем нужен HTTPS:
- Шифрование — логины, пароли, cookies и API-запросы нельзя прочитать по пути
- Целостность — данные нельзя незаметно изменить
- Аутентификация — браузер проверяет, что вы подключились к настоящему сайту, а не к подделке
Как это работает под капотом:
1. Клиент инициирует соединение
Браузер отправляет серверу ClientHello:
- поддерживаемые версии TLS
- наборы шифров
- случайное число
- расширения, например SNI и ALPN
2. Сервер отвечает
Сервер присылает ServerHello, выбирает параметры соединения и отправляет TLS-сертификат. В сертификате указано, для какого домена он выпущен и кем подписан.
3. Проверка сертификата
Браузер проверяет:
- совпадает ли домен
- не истёк ли срок действия
- доверяет ли центру сертификации (CA)
- не отозван ли сертификат
Если всё в порядке, браузер считает сервер подлинным. ✅
4. Обмен ключами
В современных HTTPS-соединениях обычно используется ECDHE. Это механизм, при котором клиент и сервер независимо вычисляют общий секретный ключ, не передавая его по сети напрямую.
Почему это важно: даже если кто-то перехватит трафик, расшифровать его без приватных параметров сторон не получится.
5. Переход на симметричное шифрование
После handshake стороны получают одинаковые сеансовые ключи и начинают шифровать трафик быстрыми алгоритмами, например AES-GCM или ChaCha20-Poly1305.
Асимметричная криптография нужна для установления доверия, симметричная — для скорости. ⚙️
6. Защищённая передача данных
Только после этого идут HTTP-запросы и ответы — но уже внутри TLS. Именно поэтому мы говорим HTTPS = HTTP over TLS.
Что ещё важно знать:
- TLS 1.3 быстрее и безопаснее старых версий
- Perfect Forward Secrecy защищает старые сессии, даже если ключ сервера когда-то утечёт
- HSTS заставляет браузер использовать только HTTPS
- Без HTTPS современные браузеры помечают сайт как небезопасный 🚫
Частые мифы:
- “HTTPS скрывает всё” — нет, домен обычно виден, как и факт подключения
- “Достаточно сертификата — и сайт безопасен” — нет, TLS защищает канал, но не уязвимости приложения
- “SSL и TLS — одно и то же” — в речи да, технически SSL устарел
Итог:
HTTPS — это не просто “замочек”, а целая цепочка проверки подлинности, обмена ключами и шифрования трафика. Без TLS невозможно представить безопасный веб, онлайн-банкинг, API и авторизацию в современных сервисах. 🛡️
Подборку полезных каналов про IT стоит сохранить отдельно — там часто публикуют практику по безопасности, DevOps, backend и архитектуре.