Луковая маршрутизация, анонимные узлы и многоуровневое шифрование — разбираем технологию по шагам
Tor (The Onion Router) — это программное обеспечение и одноимённая сеть, созданная для анонимизации интернет-трафика. Название «луковая маршрутизация» отражает суть: данные оборачиваются в несколько слоёв шифрования, как слои лука.
Тысячи серверов-добровольцев по всему миру формируют сеть узлов без единого центра управления.
Каждый пакет данных шифруется три раза — по одному разу для каждого узла на маршруте.
Данные передаются через цепочку из трёх узлов. Каждый узел знает лишь предыдущий и следующий адреса.
Сайты с доменом .onion доступны только через сеть Tor и не индексируются обычными поисковиками.
Перед отправкой Tor-клиент оборачивает данные в три слоя шифрования. Каждый узел маршрута снимает один слой, как слои лука.
Сам запрос (URL, HTTP-заголовки и т.д.), который никогда не виден ни одному из промежуточных узлов в открытом виде.
Шифрование для первого узла маршрута. Снимается входным узлом, который знает только ваш IP.
Снимается средним ретранслятором. Он не знает ни источник, ни назначение — только соседей в цепочке.
Снимается последним узлом. Видит назначение и данные, но не знает, кто их отправил.
Нажмите «Отправить запрос», чтобы увидеть пошаговое прохождение пакета через цепочку узлов.
Tor-клиент на вашем устройстве сначала получает список узлов от Directory Server, строит цепочку, а затем оборачивает данные по одному слою за раз.
Tor-клиент загружает актуальный список ретрансляторов с доверенных серверов-авторитетов. Список содержит публичные ключи каждого узла.
Клиент случайно выбирает три узла: Guard (входной), Middle (промежуточный), Exit (выходной). С каждым устанавливается сессионный ключ Диффи–Хеллмана.
Исходные данные шифруются публичным ключом Exit-узла. Только он сможет расшифровать этот слой и увидеть назначение запроса.
Уже зашифрованные данные оборачиваются ещё одним слоем — для Middle-узла. Он снимет этот слой и передаст пакет дальше, не видя содержимого.
Финальный, внешний слой шифруется для Guard-узла. Теперь пакет в трёх конвертах готов к отправке. Guard видит только ваш IP и зашифрованный «конверт».
Каждый узел снимает свой слой и передаёт пакет следующему. Выходной узел отправляет данные на целевой сервер уже без слоёв шифрования Tor (но может использоваться HTTPS).
Сайты с доменом .onion работают только внутри сети Tor. Адрес не регистрируется у регистратора доменов — он математически вычисляется из публичного ключа сервера.
Оператор сервиса генерирует пару Ed25519-ключей. Публичный ключ хэшируется в base32 и становится адресом .onion. Нельзя «угадать» или «занять» желаемый адрес без перебора.
Клиент и сервис встречаются на случайном узле-рандеву. Ни одна сторона не раскрывает свой IP. Соединение устанавливается через общую цепочку из 6 узлов (по 3 с каждой стороны).
Дескрипторы скрытых сервисов хранятся в распределённой хеш-таблице узлов-HSDir. Клиент ищет там информацию о «введении» для нужного .onion-адреса.
Каждый ретранслятор в цепочке играет свою роль и обладает разными знаниями о трафике.
От нажатия Enter в адресной строке до получения ответа от сервера.
Tor Browser или демон Tor выбирает Guard, Middle, Exit узлы и согласовывает с каждым из них сессионный ключ через протокол Diffie-Hellman, не раскрывая другим узлам.
Запрос последовательно шифруется тремя ключами: сначала ключом Exit, затем ключом Middle, затем ключом Guard. Получается «луковица» из трёх слоёв.
Входной узел расшифровывает внешний слой своим ключом. Видит: «передай это Middle-узлу с таким-то адресом». Перенаправляет пакет.
Промежуточный узел снимает свой слой шифрования. Видит: «передай это Exit-узлу». Не знает ни источника, ни конечного назначения.
Выходной узел расшифровывает последний слой. Видит исходный запрос (например, GET / HTTP/1.1) и целевой сервер. Отправляет запрос в интернет от своего имени.
Сервер отвечает Exit-узлу. Тот шифрует ответ и передаёт через Middle и Guard обратно клиенту, оборачивая в слои по пути. Клиент снимает все три слоя и читает ответ.
Tor — мощный инструмент анонимности, но не панацея. Важно понимать его возможности и границы.
Зеркало — это точная копия сайта, доступная по другому адресу. Зеркала используются для обхода блокировок и обеспечения доступности, когда основной домен недоступен.
Копия на обычном домене (.net, .org, .to и т.д.). Доступна без Tor, но может также блокироваться. Легко найти через поисковики или официальные каналы проекта.
Копия в сети Tor. Не блокируется на уровне провайдера — работает через луковую маршрутизацию. Адрес вычисляется из ключа сервера, его нельзя «отозвать» через регистратора.
Технические копии на серверах по всему миру для ускорения доставки. Используются большими сервисами (новостными, медиа). Пользователь получает данные с ближайшего сервера.
Администратор размещает материалы на основном сервере. Контент доступен по основному домену.
Сервер-зеркало периодически (вручную или автоматически) копирует все файлы с оригинала. Синхронизация может происходить раз в час, сутки или в реальном времени.
Если основной адрес заблокирован, пользователь вводит адрес зеркала. Браузер подключается к другому серверу, но получает идентичный контент.
После копирования зеркало работает автономно. Даже если оригинальный сайт отключён, зеркало продолжает отдавать последнюю сохранённую копию.
Домены блокируют, сайты переезжают. Ниже — проверенные способы найти рабочую ссылку, не попавшись на фишинговые подделки.
Самый надёжный источник. Проверяйте закреплённые сообщения в официальных Telegram-каналах, группах или аккаунтах в соцсетях. Администраторы публикуют актуальные зеркала там в первую очередь.
Установите Tor Browser и найдите .onion-версию сайта. Такой адрес невозможно заблокировать на уровне провайдера — он работает через децентрализованную сеть ретрансляторов.
Сервисы вроде Wayback Machine (web.archive.org) хранят снимки сайтов. Там можно найти прежние адреса, ссылки на зеркала, упомянутые в старых публикациях.
Используйте запросы вида site:reddit.com "название сайта" зеркало или ищите обсуждения на тематических форумах. Сообщества часто поддерживают актуальные списки зеркал.
Прежде чем вводить данные — убедитесь в подлинности. Сравните дизайн с оригиналом, проверьте SSL-сертификат, поищите упоминания домена в официальных источниках.