Історія Tor: від onion routing до сьогодення
Tor виник у 1995 році як дослідження onion routing у U.S. Naval Research Laboratory. Дізнайтеся ключові дати та хто фінансує мережу сьогодні.
Коротка історія Tor
Історія Tor починається у 1995 році в U.S. Naval Research Laboratory — науково-дослідній установі ВМС США. Девід Голдшлаг, Майкл Г. Рід і Пол Сайверсон створили там перші прототипи onion routing. У власній хронології Tor Project зазначено, що вони поставили запитання, чи «можна створити інтернет-з’єднання, які не розкривають, хто з ким спілкується». Мережу, якою користуються сьогодні, розгорнули в жовтні 2002 року, а її код випустили за умовами вільної ліцензії на програмне забезпечення з відкритим кодом. Некомерційну організацію Tor Project, Inc. заснували у 2006 році.
Усі наведені нижче дати взято з опублікованої хронології Tor Project, його приміток до випусків або власних сторінок підтримки. Якщо певне твердження є спірним, наприклад щодо фінансування цієї роботи, у розділі зазначено наявні докази та джерела, де це можна перевірити самостійно.
Що насправді робить onion routing
Onion routing розділяє два факти, які інтернет зазвичай пов’язує: хто ви та що саме ви запитали. Tor-клієнт вибирає три ретранслятори й будує через них circuit. Він обгортає ваш traffic у три шари шифрування — по одному шару на кожен ретранслятор. Кожен ретранслятор знімає один шар, дізнається лише адресу наступного вузла та передає пакет далі. Саме від цієї багатошаровості походить назва.
Перший ретранслятор, який називають guard, бачить вашу IP-адресу, але не бачить призначення. Останній ретранслятор, exit, бачить призначення, але не бачить вашу IP-адресу. Середній ретранслятор не бачить ні того, ні іншого. Жоден окремий ретранслятор не має обох частин, і саме на цьому ґрунтується вся модель безпеки. Тому ретранслятори мають належати незалежним операторам. Якщо одна організація керує і вашим guard, і вашим exit, розділення зникає, а шифрування не дає вам захисту.
Відомою слабкою стороною є кореляція traffic. Спостерігач, який одночасно може контролювати обидва кінці circuit, може зіставити час і розміри пакетів, що надходять, із пакетами, які виходять. Tor не захищає від зловмисника, здатного одночасно спостерігати за всім інтернетом. У документі про дизайн від 2004 року, написаному Roger Dingledine, Nick Mathewson і Paul Syverson, "Tor: The Second-Generation Onion Router", це прямо зазначено в моделі загроз.
Чому приватна мережа була б марною
Це та частина, яку пропускають короткі резюме. Вона пояснює все інше на цій сторінці.
Військова або розвідувальна організація не може отримати анонімність у мережі, яка передає лише її власний трафік. Анонімність залежить від наявності великої групи користувачів, а не від шифру. Якщо кожне з’єднання, що виходить із мережі, належить одному офісу, спостерігач, який бачить це з’єднання, уже знає відповідь. Шифрування все одно працює бездоганно. Але анонімності немає, бо немає з ким переплутати цей трафік.
Тому система мала бути публічною, а її трафік — змішуватися з трафіком інших людей. У жовтні 2002 року код опублікували за вільною ліцензією на програмне забезпечення, і будь-хто міг запустити relay. Журналісти, активісти, дослідники та звичайні люди, які прагнули уникати advertising network, стали тією групою, що захищає всіх інших учасників мережі. Dingledine і Mathewson виклали цей аргумент у 2006 році в статті "Anonymity Loves Company: Usability and the Network Effect", представленій на Workshop on the Economics of Information Security. Висновок полягає в тому, що розмір і різноманітність бази користувачів є властивістю безпеки системи. Це не marketing number.
Від альфа-коду до неприбуткової організації
Хронологія The Tor Project і опубліковані ним наукові роботи фіксують такі етапи:
- October 2002: мережу Tor розгорнуто, а код поширюється «за вільною ліцензією на відкрите програмне забезпечення».
- End of 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, оскільки національні firewalls починають блокувати загальнодоступний список relay.
- 2008: розпочинається розробка Tor Browser.
Для сучасного використання мережі важливі ще дві пізніші дати. У хронології The Tor Project зазначено, що Tor використовували під час Arab Spring наприкінці 2010 року для захисту особи та доступу до заблокованих сайтів. Там також зазначено, що документи Snowden за 2013 рік стали моментом, коли роль Tor стала широко зрозумілою, і що на той час документи підтвердили: Tor не було зламано. Жодна з цих подій не змінила протокол. Обидві змінили коло користувачів, які його встановлювали.
Хто фінансує Tor і як це перевірити
Tor Project відповідає на це на власних сторінках підтримки: «Tor Project підтримують державні гранти, приватні фонди та окремі донори». Державні кошти є частиною цього фінансування від самого початку. На сторінці прихильників названо U.S. Department of State, а також Ford Foundation, Open Technology Fund, Craig Newmark Philanthropies і такі компанії, як Brave, DuckDuckGo, Mullvad VPN та Fastly. Аудировані фінансові звіти публікують у вигляді дописів у блозі; останній із них, опублікований у December 2025, охоплює фінансовий рік із 2023 до 2024 року. Заявлена позиція проєкту така: «відкрите обговорення наших спонсорів і моделі фінансування — найкращий спосіб зберігати довіру спільноти».
Корисне питання полягає не в тому, хто платив. Важливо, що саме можна було б купити за ці кошти. Tor — не сервіс, у який ви входите. Це специфікація протоколу, клієнт із відкритим вихідним кодом і мережа ретрансляторів, якими керують сторонні оператори. Той, хто хотів би додати бекдор, мав би розмістити його в одному з трьох місць. Кожне з них можна перевірити.
- У вихідному коді. Клієнт має відкритий вихідний код, а протокол описано публічно. Академічні дослідники регулярно публікують атаки на Tor і мають професійну мотивацію першими знаходити вразливості.
- У бінарному файлі. Збірки Tor Browser є детермінованими з August 2013, тому незалежний збирач може повторно зібрати реліз і порівняти його байт у байт з опублікованим завантаженням. Якщо бінарний файл не відповідає вихідному коду, це можна виявити без довіри до того, хто його випустив.
- У ретрансляторах. Tor Project не керує мережею. «Мережа Tor покладається на волонтерів, які надають пропускну здатність», а guard-вузли, проміжні ретранслятори, вихідні вузли та мости належать тисячам не пов’язаних між собою операторів. Компрометація організації, яка надає фінансування, не означає компрометацію цих операторів.
Власна заява проєкту коротка: «У Tor немає бекдорів. Програмне забезпечення має відкритий вихідний код, його код можна незалежно перевірити, а кожен реліз підписано для захисту від підміни». Це твердження має значення лише тому, що кожен його пункт описує те, що можна перевірити самостійно.
Є важливе застереження, і воно стосується пріоритетів, а не доброчесності. Грантове фінансування визначає, яка робота виконується першою, тому обходу цензури приділяли стабільніше фінансування, ніж, наприклад, продуктивності мережі. Це обґрунтована критика проєкту. Вона відрізняється від твердження «код скомпрометовано». Відповідь на неї слід шукати у фінансових звітах, а не в чиїхось запевненнях.
Приховані сервіси стали onion-сервісами
Onion-сервіс — це сервер, який ніколи не розкриває свою IP-адресу. Клієнт і сервер окремо будують власні ланцюги до точки зустрічі всередині мережі, тому жодна зі сторін не дізнається адресу іншої. Адреса не є іменем, яке комусь призначив реєстратор. Вона походить із відкритого ключа сервера, тому адреса .onion має вигляд випадкового набору символів.
Хронологія onion-сервісів містить такі випуски:
- 8 April 2004: приховані сервіси вперше реалізовано в Tor 0.0.6pre1.
- 21 September 2007: з’явилися приховані сервіси версії 2 у Tor 0.2.0.7-alpha.
- 19 December 2016: розпочалася розробка версії 3 у Tor 0.3.0.1-alpha.
- 9 January 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, що містить адресу. Рядок порту зіставляє порт onion-адреси з локальною адресою на тому самому комп’ютері. Тому вебсервер може залишатися прив’язаним до 127.0.0.1 і взагалі не прослуховувати публічний інтерфейс. Версія 3 є типовою, тому створений сьогодні за допомогою цих двох рядків сервіс отримує адресу v3.
Onion-адреса також не є доменним ім’ям. RFC 7686, опублікований у October 2015, зарезервував .onion як доменне ім’я спеціального призначення, щоб звичайні резолвери припинили передавати ці запити до публічної DNS (системи доменних імен). Правило, яке він встановлює, однозначне: «Авторитетні сервери MUST відповідати на запити для .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 September 2020, Tor 0.4.4.x: Tor починає попереджати операторів і клієнтів, що v2 застаріла.
- 15 July 2021, Tor 0.4.6.x: підтримку v2 вилучено з кодової бази.
- 15 October 2021: нові стабільні випуски клієнта для кожної підтримуваної серії вимикають v2.
Заявлена причина була криптографічною. «У міру розвитку розуміння математики та криптографії основа версії 2 стала ненадійною і на цей момент небезпечною». Усічений до 80 біт хеш SHA-1 і ключ RSA довжиною 1024 біти до 2021 року вже не відповідали прийнятному рівню безпеки. Формат адреси також не залишав можливості замінити жоден із них.
Для читача наслідок простий, тому його варто сформулювати прямо. Кожне посилання .onion довжиною 16 символів, опубліковане до 2021 року, назавжди недійсне, і перенаправлення немає. Адресу v2 не можна було оновити, оскільки адреса і була старим ключем. Оператори мали створити новий сервіс і опублікувати нову адресу через канал, якому їхні користувачі вже довіряли.
Мости та pluggable transports: цензура не припиняла розвиватися
Список публічних ретрансляторів навмисно публікують, щоб клієнт міг самостійно вибрати маршрут, а не покладатися на один сервер, який вибере його замість нього. Водночас цей опублікований список стає готовим списком блокування для будь-якої країни, яка хоче зупинити Tor. Робота над мостами розпочалася у 2007 році. Міст — це ретранслятор, якого немає у публічному списку. Ви запитуєте невелику кількість мостів через вебсайт або електронною поштою, і цензор не може блокувати адреси, які не може перелічити.
Потім блокування перемістилося від адрес до характеристик трафіку. Deep packet inspection розпізнає протокол 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, а не вводьте вручну. Кожен transport протидіє окремому методу блокування:
- obfs4 робить трафік невпізнаваним, тому фільтр не може зіставити його із заголовком протоколу. Власна рекомендація Tor — спочатку спробувати саме його, оскільки це transport із рандомізацією, який працює для більшості користувачів.
- snowflake перенаправляє вас через короткочасні проксі, які волонтери запускають у звичайних веббраузерах, тому адреса підключення постійно змінюється. Він увійшов до стабільної версії Tor Browser у версії 10.5 6 липня 2021 року.
- meek маршрутизує підключення через великого хмарного провайдера, тому трафік виглядає так, ніби він надходить до цього провайдера, а блокування такого трафіку означало б блокування і самого провайдера.
- webtunnel використовує підхід, протилежний obfs4. Замість того щоб виглядати як невизначений трафік, він виглядає як звичайне HTTPS-підключення до вебсервера, «обгортаючи payload-підключення в HTTPS-підключення, подібне до WebSocket». Tor Project випустив його у стабільній версії Tor Browser 12 березня 2024 року для мереж, які дозволяють лише короткий список протоколів.
Ця послідовність показує реальний перебіг останніх двадцяти років. Кожен новий transport з’являється тому, що починає працювати конкретна техніка блокування, а дати цих випусків показують, які дії цензори виконували того року.
Tor — це не VPN, а VPS — і поготів
Багато людей приходять до Tor після ознайомлення з VPN, тому важливо чітко розуміти різницю. VPN (virtual private network) передає ваш трафік на один сервер, яким керує одна компанія. Ця компанія одночасно бачить вашу реальну адресу та адресу призначення. Tor передає ваш трафік через три relay, якими керують різні люди, тому жоден окремий relay не має обох цих відомостей. Це різні моделі довіри з різними сценаріями відмови. У матеріалі Різниця між VPS і VPN пояснюється, де застосовують кожен із них.
Якщо вам потрібен приватний тунель між машинами, якими ви керуєте, а не анонімність серед інших користувачів, вам потрібен VPN, який ви запускаєте самостійно. Ви можете самостійно розгорнути WireGuard VPN на VPS приблизно за сорок рядків конфігурації. Це захищає ваш трафік від локальної мережі та інтернет-провайдера. Однак це не забезпечує анонімності від компанії, яка хостить сервер, оскільки ви орендували цей сервер, використавши власні платіжні дані. Окреме питання безпеки VPS-хостингу стосується іншої загрози: хто ще може отримати доступ до вашого сервера.
Запуск relay — це інший напрям, і мережа залежить від операторів relay. Bridges, guard, middle relay та exits потребують операторів, а посібник Tor для операторів relay чітко зазначає, що «для запуску relay потрібні технічні навички та готовність постійно ним займатися». Exits пов’язані з юридичними ризиками, оскільки трафік інших людей виходить в інтернет із вашої IP-адреси, і ваш хостинг-провайдер отримуватиме відповідні звернення. Прочитайте цей посібник до запуску relay, а не після нього.
FAQ
Чи створив Tor уряд США?
Маршрутизація через onion-мережу розпочалася в U.S. Naval Research Laboratory у 1995 році. Там David Goldschlag, Michael G. Reed і Paul Syverson створили перші прототипи. Сам Tor був наступним поколінням цієї розробки. Роботу над ним Roger Dingledine, Nick Mathewson і Paul Syverson розпочали приблизно у 2001 та 2002 роках. Мережу розгорнули в жовтні 2002 року за ліцензією на вільне програмне забезпечення. Tor Project, Inc. є незалежною неприбутковою організацією зі статусом 501(c)(3) з 2006 року. Походження за підтримки уряду є реальним. Саме тому мережу довелося відкрити для всіх: мережа, яка передає трафік лише однієї організації, не забезпечує їй анонімності, оскільки кожне з’єднання, що виходить із неї, ідентифікує відправника самим фактом використання цієї мережі.
Чи означає державне фінансування, що в Tor є бекдор?
Відповідь Tor Project така: «У Tor немає бекдорів. Програмне забезпечення має відкритий вихідний код, його код можна незалежно перевірити, а кожен реліз підписано для захисту від підміни». Те, що це можна перевірити, а не лише прийняти як обіцянку, забезпечує відповідна структура. Протокол описано у відкритому доступі. Збірки Tor Browser є детермінованими, тому незалежний збирач може повторно створити реліз і порівняти його з опублікованим бінарним файлом. Ретрансляторами керують волонтери, а не донори. Фінансування впливає на те, які завдання виконують першими. Аудитовані фінансові звіти в блозі Tor показують джерела коштів. Це питання пріоритетів, а не коду.
Чому моя стара адреса .onion перестала працювати?
Це була адреса версії 2, а onion-сервіси v2 припинили підтримувати у 2021 році. Tor почав попереджати про це 15 September 2020, вилучив v2 з кодової бази в Tor 0.4.6.x 15 July 2021 і вимкнув його у стабільних релізах 15 October 2021. Адреса v2 містить 16 символів перед .onion, а адреса v3 — 56. Перенаправлення та спосіб оновлення не передбачені, оскільки адресу було отримано зі старого ключа. Тому оператор мав створити новий сервіс і опублікувати нову адресу.
Чи є Tor тим самим, що й VPN?
Ні. VPN надсилає ваш трафік на один сервер, яким керує одна компанія. Ця компанія може одночасно бачити вашу реальну IP-адресу та призначення трафіку. Tor передає трафік через три ретранслятори, якими керують різні люди. Перший ретранслятор бачить вашу адресу, але не бачить призначення. Останній бачить призначення, але не бачить вашу адресу. Tor працює повільніше. Його призначено для анонімності від спостерігача, який не контролює весь інтернет. VPN працює швидше. Його призначено для захисту приватності від локальної мережі та інтернет-провайдера.
Що таке pluggable transport і чи потрібен він мені?
Pluggable transport — це оболонка, яка змінює вигляд трафіку Tor у мережі, не змінюючи принцип роботи Tor. Завдяки цьому фільтр, який розпізнає протокол Tor, не може зіставити трафік із цим протоколом. Він потрібен лише тоді, коли звичайний Tor не може встановити з’єднання. Зазвичай це означає, що ваша мережа або країна блокує Tor. Tor Browser постачається з obfs4, snowflake, meek і webtunnel в одному бінарному файлі під назвою lyrebird. Почніть з obfs4, оскільки це транспорт із рандомізацією, який працює для більшості користувачів. Якщо з’єднання через нього не встановлюється, спробуйте webtunnel або snowflake.