Шифрование на бытовой аналогии
Представьте, что вы отправляете письмо. Обычная открытка - это незашифрованные данные: любой, через чьи руки она прошла, может перевернуть и прочитать. Письмо в конверте чуть лучше, но конверт легко вскрыть и заклеить обратно.
Шифрование - это как если бы вы написали письмо на языке, который знаете только вы и получатель. Открытку по-прежнему можно перехватить, посмотреть, сфотографировать - но толку от этого нет: набор знаков бессмысленный. Почтальон видит, что письмо идёт от вас к конкретному адресату, видит размер конверта, но содержимое для него потеряно.
Из аналогии следуют три важных свойства настоящего шифрования:
- Читать может только тот, у кого есть ключ. Не «сложно прочитать», а «невозможно за разумное время» - современные шифры подбирать ключом дольше, чем существует вселенная.
- Шифрование не прячет сам факт отправки. Почтальон видит конверт, адрес и вес. Это называется метаданные, и к ним мы ещё вернёмся.
- Получатель в итоге читает открытый текст. Шифрование защищает дорогу, а не пункт назначения.
Два разных шифрования: канал и содержимое
Фраза «трафик зашифрован» может означать две разные вещи, и путаница между ними - главный источник вопросов про VPN.
Шифрование содержимого - это когда конкретное приложение договаривается с конкретным сервером о секретном языке. Пример - HTTPS: ваш браузер и сайт банка шифруют переписку между собой. Никто по дороге - ни провайдер, ни владелец Wi-Fi-точки, ни VPN-сервер - не прочитает, что вы ввели в форму.
Шифрование канала - это когда шифруется всё, что уходит с устройства, на определённом участке пути. VPN делает именно это: между вашим устройством и сервером VPN строится зашифрованный туннель, и внутри него едет вообще весь трафик - браузер, мессенджеры, обновления, всё сразу.
Разница принципиальная:
| Шифрование содержимого (HTTPS) | Шифрование канала (VPN) | |
|---|---|---|
| Кто с кем договорился | Браузер и конкретный сайт | Устройство и VPN-сервер |
| Что покрывает | Одно соединение с одним сайтом | Весь трафик устройства |
| Где заканчивается | На сервере сайта | На VPN-сервере |
| Что скрывает от провайдера | Содержимое переписки | Содержимое и адреса назначения |
Эти два слоя не мешают друг другу. Когда вы открываете HTTPS-сайт через VPN, содержимое зашифровано дважды: один раз между вами и сайтом, второй - поверх, между вами и VPN-сервером. Каждый слой снимается на своей точке - VPN-слой на VPN-сервере, HTTPS-слой на сервере сайта.
Что даёт HTTPS и что видно поверх него
Сегодня большинство сайтов работают по HTTPS - это тот самый замочек в адресной строке. HTTPS хорошо делает свою работу: защищает содержимое. Пароли, сообщения, номера карт, тексты писем в веб-почте - всё это превращается в бессмысленный набор байт для любого, кто слушает линию.
Но у HTTPS есть границы, и важно знать, что остаётся видимым даже с замочком:
- Какой сайт вы посещаете. Имя сайта запрашивается при переводе имени в адрес (через DNS) и при установке соединения. Провайдер видит, что вы были на конкретном сайте, хоть и не видит, какую именно страницу открыли.
- Когда и сколько. Время соединения, его длительность, объём переданных данных. По размеру и ритму трафика часто можно угадать, смотрите вы видео или листаете ленту.
- Сам факт использования сервиса. Если соединение с неким адресом заблокировано, провайдер просто не даст его установить - содержимое шифровать уже нечего.
То есть HTTPS отвечает на вопрос «что вы сказали сайту», но не на вопрос «с кем вы вообще разговаривали». Подробнее о механике блокировок - в статье «Как работают блокировки и DPI».
Что добавляет VPN сверх HTTPS
VPN шифрует канал целиком: от вашего устройства до VPN-сервера. В GigaDollarVPN это делает протокол VLESS + Reality - приложение на устройстве упаковывает весь исходящий трафик в зашифрованный поток к серверу, а сервер распаковывает его и передаёт дальше по назначению. О том, как устроен сам протокол, - в статье «Протокол VLESS: почему именно он».
Что это меняет по сравнению с «голым» HTTPS:
- Провайдер перестаёт видеть адреса назначения. Весь ваш трафик выглядит как один зашифрованный поток к одному адресу - серверу VPN. Какие сайты, приложения и сервисы за ним стоят, из потока не извлекается.
- Защищается трафик без HTTPS. Не весь трафик в интернете шифрован сам по себе: встречаются старые HTTP-сайты, служебные запросы приложений, DNS-запросы. Внутри VPN-туннеля всё это тоже зашифровано на участке до сервера.
- Меняется точка выхода в интернет. Для сайтов вашим адресом становится адрес VPN-сервера, а не ваш домашний.
Теперь о том, чего VPN не скрывает. Провайдер по-прежнему видит сам факт подключения к VPN-серверу: один непрерывный зашифрованный поток к одному адресу. Он видит, когда этот поток начался, сколько длился и сколько данных через него прошло. То есть из списка метаданных исчезают адреса сайтов, но остаются время, объём и ритм активности. VPN сужает картину, которую видит провайдер, до одной строчки «подключён к VPN, передал столько-то гигабайт», но не стирает её полностью.
Вторая граница: VPN-туннель заканчивается на VPN-сервере. Дальше, от сервера до сайта, трафик идёт как обычно - и вот там снова работает HTTPS, если сайт его поддерживает. Поэтому связка выглядит так: на участке «устройство - VPN-сервер» всё защищает VPN, на участке «VPN-сервер - сайт» содержимое защищает HTTPS. Оба слоя на своём месте.
Тонкое место: DNS-запросы мимо туннеля
DNS-запрос - это маленькое сообщение «какой адрес у такого-то сайта», и оно может уйти мимо VPN-туннеля: например, если система или приложение настроены так, что отправляют DNS-запросы напрямую к DNS-серверу провайдера. Тогда основной трафик защищён, но провайдер видит все ваши DNS-запросы в открытом виде - а это фактически тот же список посещённых сайтов, который вы включали VPN, чтобы скрыть. Такая ситуация называется утечкой DNS. Как проверить, нет ли утечки у вас, и как её закрыть, разобрано в статье «Утечки DNS: что это и как закрыть».
Где данные снова становятся открытыми
Шифрование не бывает бесконечным: в конце пути данные всегда расшифровываются, иначе получатель просто не сможет ими воспользоваться. Точек, где информация существует в открытом виде, несколько:
- Ваше устройство. До того как данные попали в туннель, и после того как пришёл ответ - они открыты для приложений на самом устройстве. Поэтому вредоносная программа на телефоне обходит любое шифрование: она читает данные до того, как они зашифрованы.
- VPN-сервер. Здесь заканчивается VPN-туннель. Содержимое HTTPS-сессий сервер прочитать не может - оно зашифровано между вами и сайтом. А вот незашифрованный трафик на этой точке технически открыт.
- Сервер сайта или сервиса. Конечный получатель всегда видит ваши данные в открытом виде: соцсеть читает ваши сообщения в ней, магазин знает, что вы заказали.
Это нормально и не является слабостью. Шифрование решает конкретную задачу: защитить данные в пути от посторонних - провайдера, владельца публичного Wi-Fi, перехватчика на линии. Оно не предназначено скрывать информацию от того, кому вы её сами отправили. Поэтому максимальную защиту в пути даёт комбинация: VPN скрывает от провайдера, куда вы ходите, а HTTPS скрывает от всех по дороге, что вы там делаете. Включённый VPN - не повод игнорировать предупреждения браузера о незащищённых сайтах, а HTTPS - не повод считать, что провайдер ничего о вас не знает.
Как это выглядит на практике
Соберём всё в одну картинку: вы сидите в кафе с публичным Wi-Fi и заходите в интернет-банк через GigaDollarVPN.
- Браузер и банк договариваются о HTTPS: содержимое зашифровано от вашего устройства до сервера банка.
- Приложение VPN упаковывает этот (и весь остальной) трафик в туннель VLESS + Reality до VPN-сервера.
- Владелец Wi-Fi-точки и провайдер кафе видят один зашифрованный поток к одному адресу. Ни сайт банка, ни суммы, ни пароли из него не извлекаются.
- VPN-сервер распаковывает туннель и передаёт трафик банку. Содержимое для него по-прежнему закрыто HTTPS.
- Банк получает и расшифровывает ваши данные - это конечная точка, здесь они открыты по определению.
О том, чем опасен публичный Wi-Fi без такой защиты, - в статье «Публичный Wi-Fi: чем он опасен и что делать». А проверить, что туннель действительно работает и трафик идёт через сервер, поможет статья «Как убедиться, что VPN действительно работает».