История создания Tor: от Naval Research Lab до наших дней
Узнайте историю появления проекта Tor с 1995 года. В статье приведена хронология разработки onion routing, этапы развития сети и подробный разбор источников финансирования.
Краткая история Tor
История Tor началась в 1995 году в U.S. Naval Research Laboratory, исследовательской лаборатории ВМС США. Дэвид Голдшлаг, Майкл Г. Рид и Пол Сиверсон создали там первые прототипы луковой маршрутизации. В собственной хронологии Tor Project указано, что они задались вопросом, «существует ли способ создания интернет-соединений, которые не раскрывают, кто с кем общается». Сеть, которую пользователи применяют сегодня, была развернута в октябре 2002 года, а её исходный код был выпущен под свободной лицензией. Организация Tor Project, Inc. была основана как некоммерческая в 2006 году.
Все приведенные ниже даты взяты из опубликованной хронологии Tor Project, примечаний к релизам или страниц поддержки. В тех случаях, когда утверждение является спорным, например, касательно источников финансирования, в разделе приводится имеющаяся информация и указано, где вы можете проверить её самостоятельно.
Как на самом деле работает onion routing
Onion routing разделяет два факта, которые в обычном интернете связаны: кто вы и что вы запросили. Ваш Tor клиент выбирает три реле и строит через них цепочку. Он упаковывает ваш трафик в три слоя шифрования, по одному слою на каждое реле. Каждое реле снимает один слой, узнает только адрес следующего узла и передает пакет дальше. Именно от этого послойного принципа и произошло название.
Первое реле, называемое guard, видит ваш IP-адрес, но не видит пункт назначения. Последнее реле, exit, видит пункт назначения, но не видит ваш IP-адрес. Промежуточное реле не видит ни того, ни другого. Ни одно отдельное реле не обладает обеими частями информации, и в этом заключается основной аргумент безопасности. Именно поэтому реле должны управляться независимыми людьми. Если бы одна организация контролировала и ваш guard, и ваш exit, разделение было бы утрачено, а шифрование стало бы бесполезным.
Известная уязвимость — корреляция трафика. Наблюдатель, способный одновременно следить за обоими концами цепочки, может сопоставить время и размеры входящих и исходящих пакетов. Tor не защищает от злоумышленника, способного наблюдать за всем интернетом сразу, и об этом прямо говорится в модели угроз в статье 2004 года "Tor: The Second-Generation Onion Router", написанной Roger Dingledine, Nick Mathewson и Paul Syverson.
Почему частная сеть оказалась бы бесполезной
Это та часть, которую опускают краткие обзоры, и она объясняет всё остальное на этой странице.
Военная или разведывательная организация не может получить анонимность в сети, которая передает только её собственный трафик. Анонимность — это свойство толпы, а не свойство шифра. Если каждое соединение, покидающее сеть, принадлежит одному ведомству, то наблюдатель, который видит исходящее соединение, уже получил ответ. Шифрование при этом работает безупречно. Анонимность отсутствует, потому что не с кем смешаться.
Поэтому архитектура должна была быть публичной, а трафик — смешанным с трафиком других людей. Код был выпущен под лицензией свободного программного обеспечения в октябре 2002 года, и любой желающий мог запустить ретранслятор. Журналисты, активисты, исследователи и обычные люди, избегающие рекламных сетей, стали той толпой, которая защищает всех остальных внутри системы. Динглдайн и Мэтьюсон изложили этот аргумент в 2006 году в статье под названием "Anonymity Loves Company: Usability and the Network Effect", представленной на семинаре по экономике информационной безопасности (Workshop on the Economics of Information Security). Вывод заключается в том, что размер и разнообразие пользовательской базы являются свойством безопасности системы. Это не маркетинговый показатель.
От альфа-кода до некоммерческой организации
Хронология The Tor Project и опубликованные научные работы фиксируют следующие этапы:
- Октябрь 2002: развернута сеть Tor, код которой распространяется «под свободной лицензией на открытое программное обеспечение».
- Конец 2003: сеть работает на «примерно дюжине волонтерских узлов, в основном в США, плюс один в Германии».
- 2004: Dingledine, Mathewson и Syverson публикуют проектную работу «Tor: The Second-Generation Onion Router».
- 2004: Electronic Frontier Foundation (EFF) начинает финансировать работу над Tor.
- 2006: основана The Tor Project, Inc. как некоммерческая организация со статусом 501(c)(3) для поддержки разработки.
- 2007: начинается работа над bridges, так как национальные межсетевые экраны начали блокировать публичный список ретрансляторов.
- 2008: начинается разработка Tor Browser.
Две более поздние даты важны для понимания того, как сеть используется сегодня. В хронологии The Tor Project использование Tor во время «Арабской весны» в конце 2010 года отмечено как способ защиты личности и доступа к заблокированным сайтам. Также там зафиксировано, что документы Сноудена 2013 года стали моментом, когда роль Tor получила широкое признание; в документах указывалось, что на тот момент Tor не был скомпрометирован. Ни одно из этих событий не изменило протокол. Оба события изменили круг пользователей, устанавливающих его.
Кто финансирует Tor и как это проверить
The Tor Project отвечает на этот вопрос на своих страницах поддержки: «The Tor Project поддерживается за счет сочетания государственных грантов, частных фондов и индивидуальных пожертвований». Государственные средства являются частью этого финансирования с самого начала. На странице спонсоров указан Государственный департамент США наряду с Ford Foundation, Open Technology Fund, Craig Newmark Philanthropies и такими компаниями, как Brave, DuckDuckGo, Mullvad VPN и Fastly. Аудированная финансовая отчетность публикуется в виде записей в блоге, последняя из которых охватывает финансовый год с 2023 по 2024, опубликованный в декабре 2025 года. Официальная позиция проекта заключается в том, что «открытый разговор о наших спонсорах и модели финансирования — лучший способ сохранить доверие нашего сообщества».
Полезный вопрос заключается не в том, кто платил, а в том, что можно купить за эти деньги. Tor — это не сервис, в который вы входите под своей учетной записью. Это спецификация протокола, клиент с открытым исходным кодом и сеть ретрансляторов, управляемых посторонними лицами. Тот, кто захотел бы внедрить бэкдор, должен был бы разместить его в одном из трех мест, и каждое из них поддается проверке.
- В исходном коде. Клиент имеет открытый исходный код, а протокол описан публично. Академические исследователи регулярно публикуют отчеты об атаках на Tor, и у них есть все профессиональные стимулы, чтобы первыми обнаружить уязвимость.
- В бинарном файле. Сборки Tor Browser являются детерминированными с августа 2013 года, поэтому независимый разработчик может пересобрать релиз и сравнить его побайтово с опубликованным файлом для загрузки. Бинарный файл, который не совпадает с исходным кодом, можно выявить без необходимости доверять тому, кто его выпустил.
- В ретрансляторах. The Tor Project не управляет сетью. «Сеть Tor полагается на волонтеров, жертвующих пропускную способность», а входные, промежуточные, выходные узлы и мосты принадлежат тысячам независимых операторов. Компрометация спонсора не означает компрометацию этих узлов.
Собственное заявление проекта кратко: «В Tor нет бэкдоров. Программное обеспечение имеет открытый исходный код, его код может быть независимо проверен, а каждый релиз подписан для защиты от несанкционированного изменения». Это утверждение имеет ценность только потому, что каждая его часть указывает на то, что вы можете проверить самостоятельно.
Существует реальная оговорка, и она касается приоритетов, а не целостности. Грантовые средства определяют, какие работы выполняются в первую очередь, поэтому обход цензуры финансируется более последовательно, чем, например, производительность сети. Это справедливая критика проекта. Она отличается от утверждения «код скомпрометирован», и на нее следует отвечать чтением финансовых отчетов, а не доверием к чьим-либо заверениям.
Скрытые сервисы стали onion-сервисами
Onion-сервис — это сервер, который не раскрывает свой IP-адрес. Клиент и сервер строят собственные цепочки до точки встречи внутри сети, поэтому ни одна из сторон не узнает адрес другой. Адрес не является именем, назначенным кем-либо в реестре. Он вычисляется на основе открытого ключа сервера, поэтому адрес .onion выглядит как набор случайных символов.
Хронология onion-сервисов содержит следующие релизы:
- 8 апреля 2004: скрытые сервисы впервые реализованы в Tor 0.0.6pre1.
- 21 сентября 2007: появились скрытые сервисы версии 2 в Tor 0.2.0.7-alpha.
- 19 декабря 2016: начата разработка версии 3 в Tor 0.3.0.1-alpha.
- 9 января 2018: версия 3 выпущена в Tor 0.3.2.9.
Переименование из «скрытых сервисов» в «onion-сервисы» происходило постепенно, а не в конкретную дату, и документация Tor Project до сих пор использует оба термина. Старое название описывало суть неверно. Многие onion-сайты являются публичными, индексируемыми и рекламируемыми; скрыто именно местоположение сервера, а не сам сайт. Оригинальное название сохранилось в конфигурационном файле, что является полезным «ископаемым». Именно так вы объявляете сервис в torrc:
HiddenServiceDir /var/lib/tor/my_service/
HiddenServicePort 80 127.0.0.1:8080В директории хранятся ключи сервиса и файл hostname, содержащий адрес. Директива port связывает порт onion-адреса с локальным адресом на той же машине, поэтому веб-сервер может оставаться привязанным к 127.0.0.1 и вообще не слушать публичный интерфейс. Версия 3 используется по умолчанию, поэтому сервис, созданный с этими двумя строками сегодня, получит адрес v3.
Onion-адрес также не является доменным именем. RFC 7686, опубликованный в октябре 2015 года, зарезервировал .onion как доменное имя специального назначения, чтобы обычные резолверы перестали передавать эти запросы в публичную DNS (систему доменных имен). Установленное правило категорично: «Авторитетные серверы ДОЛЖНЫ отвечать на запросы для .onion кодом NXDOMAIN». Сравните это с тем, как разрешается обычное доменное имя, и вы увидите, что разница — это и есть главная цель. DNS-имя назначается вам реестром и запрашивается через серверы, которые вы не контролируете. Onion-адрес — это открытый ключ, поэтому он аутентифицирует себя сам, и поиск через внешние серверы не требуется.
Почему старые адреса .onion перестали работать
Эти два формата адресов несовместимы, и поддержка старого формата окончательно прекращена.
The data behind this chart
[
{
"version": "v2 (retired 2021)",
"address_length_chars": 16,
"service_key": "RSA-1024",
"address_hash": "SHA-1, truncated to 80 bits"
},
{
"version": "v3 (current)",
"address_length_chars": 56,
"service_key": "Ed25519",
"address_hash": "SHA3-256"
}
]Адрес v2 состоял из 16 символов, так как содержал только первые 80 бит SHA-1 хеша открытого ключа RSA-1024. Адрес v3 состоит из 56 символов, поскольку содержит полный открытый ключ Ed25519, а также контрольную сумму и байт версии. Адрес v3 длиннее, так как в нем отказались от усечения, и теперь сам адрес является полным идентификатором сервиса.
Процесс вывода из эксплуатации проходил по заранее объявленному графику:
- 15 сентября 2020 г., Tor 0.4.4.x: Tor начинает предупреждать операторов и клиентов о том, что v2 считается устаревшим.
- 15 июля 2021 г., Tor 0.4.6.x: поддержка v2 удалена из кодовой базы.
- 15 октября 2021 г.: новые стабильные клиентские релизы для всех поддерживаемых серий отключают v2.
Указанная причина — криптографическая. «По мере развития понимания математики и криптографии фундамент второй версии стал хрупким и на текущий момент небезопасным». Усеченный 80-битный SHA-1 хеш и 1024-битный ключ RSA к 2021 году перестали соответствовать разумным требованиям безопасности, а формат адреса не оставлял возможности для их обновления.
Последствие для пользователя простое, поэтому его стоит сформулировать прямо. Любая ссылка .onion из 16 символов, опубликованная до 2021 года, окончательно неработоспособна, и редиректа не существует. Адрес v2 невозможно обновить, так как сам адрес и был старым ключом. Операторам пришлось создать новый сервис и опубликовать новый адрес через каналы, которым уже доверяли их пользователи.
Мосты и подключаемые транспорты: эволюция цензуры
Список публичных ретрансляторов публикуется намеренно, чтобы клиент мог самостоятельно выбрать путь, а не доверять выбор одному серверу. Однако этот же опубликованный список становится готовым «черным списком» для любой страны, желающей заблокировать Tor. Работа над мостами началась в 2007 году. Мост — это ретранслятор, которого нет в публичном списке. Вы запрашиваете небольшое их количество через веб или электронную почту, и цензор не может заблокировать адреса, которые не может перечислить.
Затем блокировки сместились с адресов на форму трафика. Глубокий анализ пакетов (DPI) распознает протокол Tor в канале связи, независимо от того, на какой IP-адрес он направлен. Ответом стали подключаемые транспорты (pluggable transports): обертка, которая меняет внешний вид трафика Tor, не меняя его сути. В текущей версии Tor Browser они поставляются в виде одного бинарного файла под названием lyrebird, преемника obfs4proxy, а клиентская часть состоит из трех строк torrc:
UseBridges 1
ClientTransportPlugin meek_lite,obfs4,snowflake,webtunnel exec [PATH]/lyrebird
Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=<CERTIFICATE> iat-mode=0Замените [PATH] на директорию, содержащую бинарный файл lyrebird, и скопируйте всю строку Bridge с сайта мостов Tor Project, вместо того чтобы вводить её вручную. Каждый транспорт решает проблему определенного метода блокировки:
- obfs4 делает трафик нераспознаваемым, без заголовков протокола, по которым фильтр мог бы его идентифицировать. Рекомендация самого Tor — пробовать его в первую очередь, так как это рандомизирующий транспорт, который работает у большинства пользователей.
- snowflake направляет вас через кратковременные прокси, запущенные добровольцами внутри обычных веб-браузеров, поэтому адрес, к которому вы подключаетесь, постоянно меняется. Он появился в стабильной версии Tor Browser в версии 10.5 от 6 июля 2021 года.
- meek маршрутизирует соединение через крупного облачного провайдера, поэтому трафик выглядит так, будто он идет к этому провайдеру, а его блокировка означает блокировку самого провайдера.
- webtunnel использует подход, противоположный obfs4. Вместо того чтобы выглядеть как «ничто», он выглядит как обычное HTTPS-соединение с веб-сервером, «оборачивая полезную нагрузку в HTTPS-соединение, похожее на WebSocket». Tor Project выпустил его в стабильной версии Tor Browser 12 марта 2024 года для сетей, которые разрешают только ограниченный список протоколов.
Эта последовательность — реальная картина последних двадцати лет. Каждый новый транспорт существует потому, что начал работать конкретный метод блокировки, а даты этих релизов служат хроникой действий цензоров в соответствующие годы.
Tor — это не VPN, как и VPS
Многие приходят к Tor после изучения VPN, поэтому важно внести ясность. VPN (виртуальная частная сеть) направляет ваш трафик на один сервер, управляемый одной компанией, и эта компания видит ваш реальный адрес и пункт назначения одновременно. Tor направляет трафик через три реле, управляемых разными людьми, поэтому ни один из них не обладает обоими фактами сразу. Это разные модели доверия с разными сценариями сбоев. В статье Разница между VPS и VPN описано, для чего подходит каждый из этих инструментов.
Если вам нужен приватный туннель между машинами, которые вы контролируете, а не анонимность в толпе, вам нужен VPN, который вы настроите самостоятельно. Вы можете развернуть WireGuard VPN на собственном VPS, используя около сорока строк конфигурации. Это защитит ваш трафик от локальной сети и от вашего интернет-провайдера. Это не даст вам анонимности от компании, предоставляющей сервер, так как вы арендовали этот сервер, используя свои платежные данные. Отдельный вопрос о том, безопасен ли VPS-хостинг, касается другой угрозы: кто еще может получить доступ к вашему серверу.
Запуск реле — это обратная задача, и сеть зависит от неё. Мосты (bridges), входные (guards), промежуточные (middle) и выходные (exits) реле требуют операторов, и в руководстве по запуску реле от Tor Project четко сказано, что «запуск реле требует технических навыков и ответственности». Выходные реле несут юридические риски, так как чужой трафик выходит в интернет под вашим IP-адресом, и ваш хостинг-провайдер получит соответствующие уведомления. Прочитайте это руководство до того, как начнете, а не после.
FAQ
Был ли Tor создан правительством США?
Технология луковой маршрутизации (onion routing) начала разрабатываться в Исследовательской лаборатории ВМС США в 1995 году, где Дэвид Голдшлаг, Майкл Рид и Пол Сиверсон создали первые прототипы. Сам Tor стал проектом следующего поколения, разработка которого началась примерно в 2001–2002 годах Роджером Дингледайном, Ником Мэтьюсоном и Полом Сиверсоном. Сеть была развернута в октябре 2002 года под лицензией свободного программного обеспечения. The Tor Project, Inc. является независимой некоммерческой организацией со статусом 501(c)(3) с 2006 года. Правительственное происхождение — это факт, и именно по этой причине сеть пришлось открыть для всех: сеть, передающая трафик только одной организации, не обеспечивает ей анонимности, так как каждое исходящее соединение идентифицирует отправителя по самому факту использования сети.
Означает ли государственное финансирование наличие бэкдора в Tor?
Ответ The Tor Project: «В Tor нет бэкдоров. Программное обеспечение имеет открытый исходный код, его можно независимо проверить, а каждый релиз подписан для защиты от несанкционированных изменений». Гарантией этого является не обещание, а структура проекта. Протокол описан публично, сборки Tor Browser детерминированы, поэтому любой независимый разработчик может собрать релиз самостоятельно и сравнить его с опубликованным бинарным файлом, а узлы сети управляются добровольцами, а не спонсорами. Финансирование влияет на очередность задач, а аудированные финансовые отчеты в блоге Tor показывают источники поступлений. Это вопрос приоритетов, а не кода.
Почему мой старый адрес .onion перестал работать?
Это был адрес версии 2, а onion-сервисы v2 были выведены из эксплуатации в 2021 году. Tor начал предупреждать об этом 15 сентября 2020 года, удалил поддержку v2 из кодовой базы в Tor 0.4.6.x 15 июля 2021 года и отключил её в стабильных релизах 15 октября 2021 года. Адрес v2 состоит из 16 символов перед .onion, а адрес v3 — из 56. Механизма перенаправления или автоматического обновления не существует, так как адрес был производным от старого ключа, поэтому оператору необходимо создать новый сервис и опубликовать новый адрес.
Tor — это то же самое, что VPN?
Нет. VPN отправляет ваш трафик на один сервер, управляемый одной компанией, и эта компания видит ваш реальный IP-адрес и конечный пункт назначения одновременно. Tor направляет трафик через три узла, управляемых разными людьми: первый узел видит ваш адрес, но не знает пункта назначения, а последний видит пункт назначения, но не знает вашего адреса. Tor работает медленнее и предназначен для обеспечения анонимности от наблюдателя, который не контролирует весь интернет. VPN работает быстрее и предназначен для защиты конфиденциальности от вашей локальной сети и интернет-провайдера.
Что такое pluggable transport и нужен ли он мне?
Pluggable transport — это обертка, которая меняет вид трафика Tor в сети, не меняя принципов работы самого Tor. Это позволяет обходить фильтры, настроенные на распознавание протокола Tor. Он нужен только в том случае, если обычное соединение Tor не устанавливается, что обычно означает блокировку со стороны вашей сети или страны. Tor Browser включает в себя obfs4, snowflake, meek и webtunnel в составе единого бинарного файла под названием lyrebird. Начните с obfs4, так как это рандомизирующий транспорт, который работает у большинства пользователей; если соединение не устанавливается, попробуйте webtunnel или snowflake.