🔍 КАК ЭТО УСТРОЕНО

Замочек в браузере: как HTTPS прячет ваши данные на лету

Между вами и сайтом — десятки чужих узлов, и любой мог бы подслушать. Почему всё-таки не подслушивает и как два незнакомца договариваются о секрете на глазах у всех.

Ваш пароль летит через провайдера, городские узлы и десяток маршрутизаторов — и ни один из них не может его прочитать. Магия? Нет, математика.
HTTPS не прячет сам факт, что вы зашли на сайт. Он прячет содержимое — так, что перехватчик видит лишь бессмысленный поток байтов.

Что не так с обычным HTTP

Изначально веб работал по протоколу HTTP — данные шли открытым текстом. Это как отправлять открытку: почтальон, сортировщик и сосед могут прочитать всё. В случае сети «почтальонов» десятки: ваш роутер, провайдер, транзитные узлы. Любой из них теоретически видел бы ваши пароли и сообщения.

Буква S в HTTPS означает secure — защищённый. Под капотом работает протокол TLS, который превращает открытку в запечатанный конверт, причём такой, который умеет открыть только адресат.

Главный парадокс: как договориться о секрете при всех

Шифрование — это понятно: данные перемешиваются по правилу-ключу, и без ключа их не разобрать. Но вот загадка: чтобы зашифровать, вам и сайту нужен общий секретный ключ. А как передать этот ключ через канал, который подслушивают? Если отправить ключ открыто, перехватчик его тоже получит.

Решение: асимметричные ключи

Спасает красивая идея — пара ключей. Их два, и они математически связаны: то, что зашифровано одним (открытым), расшифровывается только другим (закрытым). Открытый ключ можно раздавать всем — он публичный. Закрытый сервер хранит у себя и никому не показывает.

Грубая аналогия: открытый ключ — это раскрытый висячий замок, его раздают пачками. Защёлкнуть замок может кто угодно, а вот открыть — только владелец единственного ключа. Перехватчик видит запертый замок, но открыть его не может.

Рукопожатие за миллисекунды

Когда браузер подключается к сайту, происходит TLS-рукопожатие:

  1. Браузер говорит: «привет, давай шифроваться».
  2. Сервер присылает свой сертификат с открытым ключом.
  3. Стороны с помощью этой пары ключей безопасно договариваются об общем сеансовом секрете.
  4. Дальше весь разговор шифруется этим быстрым общим ключом.

Тонкость: асимметричные ключи надёжны, но медленны. Поэтому их используют лишь в начале — чтобы тайно согласовать один общий ключ. А всю переписку шифруют им, быстрым и симметричным. Лучшее от обоих миров.

А кому, собственно, верить?

Остаётся вопрос: я получил открытый ключ, но точно ли он принадлежит настоящему сайту, а не самозванцу посередине? Здесь работают сертификаты и удостоверяющие центры. Это доверенные организации, которые подписывают сертификат сайта своей цифровой печатью, подтверждая: «да, этот ключ действительно принадлежит этому домену».

Браузер заранее знает список доверенных центров. Если печать на сертификате подлинная — он показывает замочек. Если что-то не так (сертификат просрочен, подделан или подписан непонятно кем) — браузер кричит большим красным предупреждением.

Видит перехватчикНе видит перехватчик
Что вы зашли на какой-то сайтЛогины и пароли
Примерный объём трафикаТекст страниц и сообщений
Имя сервераСодержимое форм и платежей

Почему это важно знать

Замочек в адресной строке — не украшение. Он означает, что между вами и сервером выстроен зашифрованный туннель, который не разобрать на чужих узлах. Именно поэтому опасно вводить пароли на страницах без HTTPS и в подозрительных публичных сетях.

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

#https#tls#безопасность#браузер#шифрование