Раздел 14. Транспортное против сквозного шифрования
TLS «клиент — сервер» против end-to-end; что видит сервер в каждом случае; модель угроз — кто от кого защищается.
Главная проблема: сообщение идёт через чужие руки
Когда ты пишешь сообщение, оно не телепортируется напрямую к собеседнику. Оно проходит через длинную цепочку посредников, которых ты не контролируешь и не обязана им доверять: твой Wi-Fi-роутер, сеть кафе или аэропорта, интернет-провайдер, мобильный оператор, кабели, серверы компании-мессенджера. На каждом участке сообщение кто-то «держит в руках».
Если сообщение не зашифровано, оно идёт обычным читаемым текстом. А значит, любой на этом пути может его прочитать, скопировать и даже незаметно изменить.
Аналогия: открытка. Если ты пишешь на открытке, её прочтёт каждый, через чьи руки она пройдёт по дороге. Шифрование превращает открытку в запечатанное письмо, которое может открыть только адресат.
Что вообще делает шифрование
Если совсем просто: оно превращает сообщение в бессмыслицу, которую можно вернуть в читаемый вид только при наличии правильного «ключа». Для всех, у кого ключа нет, это просто мусор из символов.
От чего конкретно оно защищает
Три разные вещи, и это полезно различать:
- Подслушивание. Тот, кто следит за сетью, видит только кашу из байтов, а не твои слова. Это важно даже не столько для «секретов», сколько для паролей, кодов из банка, личных фото, геолокации.
- Подмена. Шифрование позволяет заметить, если кто-то по дороге изменил сообщение. Без него злоумышленник мог бы тихо переправить «переведи 100» в «переведи 10000», и никто бы не понял.
- Подмена собеседника. Когда устройство и сервер «договариваются» о шифровании, они заодно проверяют, что говорят с тем самым, а не с самозванцем, который влез посередине (это называют «человек посередине»).
Кто эти «плохие» на самом деле
Это не паранойя — речь о вполне реальных участниках пути:
- кто-то в том же публичном Wi-Fi (кафе, аэропорт);
- интернет-провайдер или мобильный оператор;
- тот, кто управляет сетью, в которой ты сидишь;
- а для сквозного шифрования — ещё и сами серверы мессенджера и любой, кто в них взломается.
А если «мне нечего скрывать»
Частое возражение, и вот почему оно не работает. Шифрование — это не только про секреты, а про то, кто распоряжается твоей информацией. Через сообщения текут пароли, коды подтверждения, личные фото, рабочие договорённости — это ценно само по себе. К тому же ты защищаешь не только себя, но и собеседника и тех, о ком вы пишете. И без этого мессенджером просто нельзя пользоваться для чего-то важного — никто не доверит ему ничего серьёзного.
Два вида шифрования
Транспортное шифрование (TLS). Шифрует канал связи между устройством и сервером. TLS — это тот самый замочек и https в браузере. Данные защищены, пока летят по сети, но на сервере они расшифровываются — то есть сервер видит содержимое.
Аналогия: бронированный фургон между тобой и почтой. По дороге письмо не вскроют. Но на почте его достают, сортируют, читают — почта видит, что внутри.
Сквозное шифрование (end-to-end, сокращённо E2EE). Шифрует само сообщение от устройства отправителя до устройства получателя. По пути — включая сам сервер — его никто не может прочитать. Сервер видит только зашифрованные байты.
Аналогия: письмо в личном сейфе-конверте, ключ от которого есть только у адресата. Почта везёт и хранит сейф, но открыть его не способна.
Важно: сквозное шифрование обычно идёт поверх транспортного, а не вместо него. То есть слоёв два — и канал зашифрован (TLS), и содержимое отдельно (E2EE).
Что видит сервер — главный вопрос
Вся разница сводится к одному: что доступно серверу.
Только транспортное (без сквозного): сервер видит полное содержимое сообщений. Он их расшифровывает у себя, хранит в открытом виде, может искать по ним, читать, строить на них серверные функции. Это модель «облачных» мессенджеров (про неё подробно — Раздел 17).
Сквозное (поверх транспортного): сервер видит только шифртекст — нечитаемую кашу из байтов. Он по-прежнему хранит сообщения и доставляет их, но прочитать не может. Текста он просто не знает.
Отсюда, кстати, ограничение из Раздела 5: при сквозном шифровании сервер не может положить текст в пуш-уведомление — он его не видит.
Модель угроз: кто от кого защищается
Модель угроз — это список, от кого и от чего мы реально защищаемся. Без него разговор о шифровании бессмысленный: «защищено» само по себе ничего не значит, важно — от кого.
Транспортное (TLS) защищает от подслушивания сети: злоумышленника на том же Wi-Fi, провайдера, перехвата сигнала в пути. Но не защищает от самого сервера: оператор видит содержимое, при взломе сервера переписка утечёт, а по запросу властей оператор может её выдать — он же её видит.
Сквозное (E2EE) добавляет защиту от самого оператора и сервера: оператор физически не может прочитать или выдать переписку, потому что не видит её. Даже взлом сервера даёт злоумышленнику лишь шифртекст.
Чего не закрывает ни одно из них:
- взлом самого устройства — если телефон в руках злоумышленника, он видит всё уже расшифрованным;
- «слив» собеседником — получатель может показать переписку кому угодно;
- метаданные — кто, кому, когда и как часто писал; это видно даже при сквозном шифровании (отдельно разберём в Разделе 19).
Зачем это знать продакту
Выбор «облачно (сервер читает) или сквозно (не читает)» — это продуктовый компромисс, а не просто галочка безопасности:
- Сквозное шифрование даёт сильное обещание приватности — «мы не можем прочитать вашу переписку» (так позиционируются Signal и WhatsApp).
- Но оно мешает облачным удобствам: поиску по сообщениям на сервере, простому мультидевайсу (вспомни Раздел 10 — нужно шифровать под каждое устройство), серверным функциям, лёгкому восстановлению истории.
Поэтому это осознанная развилка между приватностью и удобством, и её надо уметь объяснить (детали — Раздел 17).
Вопросы интервьюера (с разбором)
«В чём разница между шифрованием транспорта и сквозным?» Образец: «Транспортное шифрование (TLS) защищает канал между устройством и сервером, но на сервере данные расшифровываются — сервер видит содержимое. Сквозное шифрует сообщение от устройства до устройства, и по пути, включая сервер, его никто не читает. Обычно сквозное идёт поверх транспортного — два слоя.»
«Что сервер видит в том и другом случае?» Образец: «При только транспортном — полное содержимое: сервер хранит и может читать сообщения, искать по ним. При сквозном — только зашифрованные байты: сервер доставляет и хранит сообщения, но прочитать не может. Поэтому, например, при сквозном шифровании он не может положить текст в пуш.»
«От какой угрозы E2EE защищает, а от какой — нет?» Образец: «Защищает дополнительно от самого оператора и взлома сервера — переписку нельзя ни прочитать, ни выдать, потому что сервер её не видит. Но не спасает, если взломано само устройство или собеседник сам слил переписку, и не скрывает метаданные — кто кому и когда писал. То есть сквозное шифрование закрывает канал и сервер, но не конечные точки и не сам факт общения.»
#мессенджер #безопасность #шифрование #tls #e2ee #модель-угроз #подготовка-к-интервью