Tor

Tor (The Onion Router) — сеть для анонимного доступа к интернету и хостинга скрытых сервисов. Работает по принципу onion routing: трафик проходит через 3 случайных узла (relay), каждый знает только соседей. Ни один узел не видит одновременно источник и назначение.

История

Изначально разработан в исследовательской лаборатории ВМС США (US Naval Research Lab) в конце 90-х как проект военной анонимной связи. С 2006 — независимая некоммерческая организация The Tor Project. Финансируется на 60-80% грантами правительства США (State Dept, NSF), плюс частные доноры (EFF, Mozilla, DuckDuckGo).

Как работает onion routing

  1. Клиент выбирает 3 relay: Guard (входной, стабильный), Middle (промежуточный), Exit (выходит в клирнет).
  2. Строит цепочку: договаривается с Guard об общем ключе через Diffie-Hellman. Через уже установленное соединение договаривается с Middle. Потом с Exit.
  3. Пакет шифруется тремя слоями (отсюда «лук»): Exit-ключом внутри, Middle-ключом снаружи, Guard-ключом самым внешним.
  4. Guard снимает свой слой, видит адрес Middle. Middle снимает свой, видит адрес Exit. Exit снимает свой, видит уже чистый пакет и отправляет его в клирнет.
  5. Ответ идёт обратно, шифруясь послойно: Exit → Middle → Guard → клиент.

Никто в цепочке не знает всё: Guard знает клиента и Middle, но не знает назначения. Exit знает назначение, но не знает клиента.

Что видит Exit

Важный момент: Exit видит открытый трафик, если он не защищён HTTPS. Пароли, куки, содержимое — всё в открытом виде. Поэтому:

Onion-сервисы (.onion)

Помимо доступа в клирнет, Tor позволяет хостить сервисы, доступные только внутри сети. Адреса v3: 56 символов base32, заканчиваются на .onion, например duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion.

Такой адрес — это фактически публичный ключ ed25519. Клиент через 6 хопов (3 своих + 3 сервера) достигает hidden service, при этом обе стороны не знают IP друг друга. Никаких Exit-узлов, весь путь внутри Tor.

Как запустить

Tor vs VPN

Проблемы Tor

См. также