Регистрация
Инструкции

Что такое .onion сайты и как это работает? Разбираемся с OnlineSim

  • 4 сент. 2023 г., 14:04
  • 8 минут

Тайный интернет, часть 2: как устроены .onion сайты

Когда люди рассказывают о темном интернете, часто подразумевают именно onion сайты и Tor. Но Tor — только часть Даркнета. Есть и другие сети в темном интернете.

Чтобы статья была понятнее, сначала рекомендуем прочитать «Что такое сеть Тор и как она работает», в которой мы подробно рассказали о принципах работы сети Tor.

В предыдущих статьях:

  • Тайный интернет, часть 1: что такое Dark Web и зачем его используют

  • Тайный интернет, часть 2: как устроены .onion сайты ← вы здесь

  • Тайный интернет, часть 3: что такое Freenet

  • Тайный интернет, часть 4: что такое I2P и как он работает 

  • Тайный интернет, часть 5: как попасть в Darkweb через Tor, I2P и Freenet

Что такое .onion сервисы

Onion services — это сервисы, доступ к которым возможен только через Tor. Запуск службы Onion обеспечивает вашим пользователям всю безопасность HTTPS с дополнительными преимуществами конфиденциальности Tor Browser.

Даркнет отличается от обычного интернета тем, что сайты в темной сети называются набором цифр и букв и оканчиваются доменом верхнего уровня не .com или что-то похожее, а .onion.

Домен верхнего уровня — начальная точка отсчета названия сайта. При этом домены .onion нельзя открыть нигде, кроме Tor, потому что они хранятся только в его сети. Домены обычного интернета хранятся на DNS-серверах. 


Разница между DNS и Onion-запросами

Например, сайт может называться так: https://duckduckgfgjdkgjtkjgjkjefi59u49u34fji3fjzad.onion. Поэтому, чтобы зайти на какой-то сайт в темной сети — нужно знать его адрес. 

Чем onion сайты и сервисы отличаются от аналогичных в привычном интернете

Сеть onion повышает конфиденциальность и безопасность пользователей несколькими способами:

  • скрывает их местоположение;

  • использует сквозную аутентификацию;

  • использует сквозное шифрование.

Скрывает местоположение

Tor — это оверлейная сеть. По сути, это интернет, который работает поверх обычного интернета. И в обычном интернете используются протоколы TCP / IP, благодаря которым удается узнать местоположение пользователей. Так как Tor работает поверх обычного интернета — работает поверх TCP / IP и не использует их в своих протоколах.

Использует сквозную аутентификацию

В сети Tor каждый пользователь знает, что получает конкретную информацию от какого-то конкретного узла. При этом узел со стороны не может вмешаться в передачу запроса и стать якобы отправителем информации. Разберемся на примере магазина брендовой одежды.

Допустим, человек решил купить одежду в магазине PARA. Он приходит в магазин и видит, что по соседству расположены два магазина PARA. Только один из них торгует оригинальными вещами, а второй — поддельными. А сам владелец второго магазина мошенник и обманывает людей. Ошибиться и купить подделку очень легко, ведь два магазина полностью идентичны и никто не знает, где продают оригинальные вещи.

В случае с onion-сайтами пользователей обмануть не получится — информация в сети привязана к конкретному узлу и никто другой не может выдавать себя за узел с такой же информацией.

А в обычном интернете такой вид мошенничества существует, его называют DNS-атаками. Атака работает так: в DNS-системе хакер меняет реальный IP-адрес сайта на поддельный. Когда человек захочет зайти на сайт, попадет на поддельный и даже не заметит разницы, ведь адрес фейкового сервиса не будет отличаться от оригинального. 

Например, если подменить DNS-запись сайта mysite.com на фейк, то все ссылки в интернете будут вести на поддельный сайт для этого пользователя. А чтобы человек не заметил разницы, хакер скопирует дизайн оригинала, чтобы подделка ничем себя не выдавала.

На самом поддельном сайте могут быть вирусы или фишинговое ПО, с помощью которых мошенник украдет пользовательскую информацию. Но существуют различные методы защиты от DNS-атак, поэтому подменить DNS-запись сайта достаточно сложно.

Использует сквозное шифрование

Сквозное шифрование защищает трафик, который идет от отправителя к получателю в сети Tor и никто не знает, какая информация передается по зашифрованному каналу, в том числе и промежуточные узлы.

Такой метод защиты существует и в обычном интернете. Трафик защищают с помощью SSL/HTTPS-шифрования. Но отличие от Tor в том, что в обычном интернете не все сайты защищены таким протоколом.

Как происходит взаимодействие пользователя и onion сайта

Onion services — сетевые службы на основе TCP, которые доступны только через сеть Tor и обеспечивают взаимную анонимность: клиент Tor анонимен для сервера, а сервер анонимен для клиента. 

Клиенты получают доступ к сайтам через onion домены, которые работают только внутри сети Tor. 

Между клиентом и площадкой есть шесть узлов Tor. И путь строится с двух сторон: от клиента до узла, и от сети Tor до такого же узла. Ни одна из сторон не узнает IP-адрес другой.


В сети Tor есть несколько узлов. Guard — узел-охранник. Это первый узел в цепочке из трех других, составляющих цепь Tor. Он образует и заканчивает цепочку Tor и следит, чтобы информация из цепочки не была скомпрометирована. Middle — средний узел, является ни охраной, ни выходом, а действует как посредник между ними.

Взаимодействие с сайтом в сети Tor происходит пошагово. Рассказываем о каждом шаге.

Первый шаг

На первом шаге onion-ресурс вычисляет закрытый и публичный ключи → выбирает случайные узлы в качестве точек входа → сообщает этим точкам свой открытый ключ. Точка входа нужна только для установления соединения, в передачи информации она не участвует.


Открытый ключ отправляет получатель данных или сообщения. Его можно публиковать везде — если его кто-то узнает, ничего не произойдет. Ведь публичный ключ используется только для шифрования сообщения отправителем, а расшифровать с его помощью ничего нельзя. 

Закрытый ключ никому не передается и его предназначение — расшифровать полученное сообщение. При этом для одного закрытого ключа есть только один открытый и ключи всегда работают в связке. Это особенности алгоритма шифрования.

Закрытый ключ сайта не знает никто, а на основе публичного ключа формируется доменное имя сайта. Кроме того, все узлы, с которыми связывается сайт, не знают о местоположении ресурса.

А сам onion-ресурс скрывается в сети Tor и защищает себя от нежелательных посещений, разрешая доступ только через три точки входа, по которым идет запрос.

Второй шаг

На втором шаге используются приватные ключи. Для того, чтобы пользователи находили сайты и сеть Tor могла их показывать, ресурсы собираются в распределенной хеш-таблице, по сути, справочнике. Только этот справочник хранится по частям на разных узлах сети. 

А чтобы площадка попала в этот справочник, сеть собирает его дескриптор — техническое описание сайта. 

Дескриптор содержит список точек входа и ключи аутентификации с первого шага, которые нужны для доступа к сайту.

Потом эта информация подписывается приватным ключом, который является закрытой частью открытого ключа. Он закодирован в адресе onion-ресурса.


Третий шаг

Первые два шага происходят независимо от клиента и человек не может за ними наблюдать. О них мы рассказали, чтобы стало понятно, как сайты появляются в сети Tor.

Теперь перейдем к тому моменту, когда реальный клиент хочет посетить ресурс.

Допустим, пользователь хочет зайти на onion-ресурс SecureDrop. Для этого браузер переходит к распределенной хеш-таблице с шага 2 и запрашивает подписанный дескриптор SecureDrop onion-ресурса.



Но на самом деле, пользователь обращается к хеш-таблице опосредованно, через сторонний ресурс. Например, он возьмет ссылку на SecureDrop в общедоступном интернете или на другом onion-сайте. 

Когда пользователь перейдет по адресу сайта, он подключится к распределенной таблице и запросит хэш ресурса. Хеш выглядит как пометка $hash.onion — 16-символьное имя, полученное из открытого ключа сервиса.

И если такой хеш действительно существует, сеть Tor автоматически проверит открытый ключ, который закодирован в onion-адресе. Так сеть поймет, что дескриптор в таблице связан с определенным ресурсом, а не каким-то другим. Это обеспечивает свойство безопасности сквозной аутентификации.


Кроме того, внутри дескриптора есть точки входа, через которые происходит присоединение к платформе SecureDrop. По сути, благодаря точкам браузер узнает, куда делать запрос для подключения к сайту.

Четвертый шаг

Перед тем, как отправить запрос в сеть Tor, пользователь выбирает случайный узел и подключается к нему. По сути, клиент просит узел стать его точкой встречи и передает ему адрес точки встречи и "одноразовый секрет", который будет использоваться для процедуры подключения к сайту. Затем сообщение шифруется с помощью открытого ключа скрытой службы.


Пятый шаг

Входная точка передает данные пользователя (секретную строку и адрес встречи) в ресурс, который запускает несколько процессов проверки и решает, заслуживаете вы доверия или нет.


Шестой шаг

Через анонимный канал ресурс подключается к точке встречи, специальная скрытая служба расшифровывает вводное сообщение с помощью своего закрытого ключа и благодаря этому узнает о точке встречи и одноразовом секрете. 

Точка встречи делает одну окончательную проверку соответствия секретных строк от вас и ресурса, а потом устанавливает соединение между клиентом и сайтом.


В результате клиент и скрытая служба общаются друг с другом через эту точку встречи. Весь трафик защищен сквозным шифрованием, а точка встречи ретранслирует его туда и обратно. 

В общем, для сквозной связи используется 6 узлов. Три из них выбираются специальной службой, а три выбираются клиентом, включая точку встречи.


Общая схема работы сайтов без учета наличия узлов — они сильно усложняют схему для понимания

Кратко подытожим, что происходит на схеме:

  1. Скрытый сервер отправляет свой открытый ключ на вводную точку. Это нужно для того, чтобы анонимизировать создателя сайта. Благодаря этому соединение будет устанавливаться через вводную точку, а передаваться данные будут совсем через другие точки.

  2. Скрытый сервер отправляет дескриптор в распределенную хеш-таблицу. Дескриптор содержит открытый ключ, информацию о вводной точке и подписывает ее закрытым ключом службы.

  3. Клиент запрашивает название сайта xyz.onion, в котором xyz — 16 символьное имя, построенное на основе открытого ключа.

  4. После запроса от клиента идет информация в две стороны: на вводную точку и точку встречи. Точка встречи выбирается наугад и она нужна для того, чтобы в дальнейшем на нее пришла информация с onion-ресурса. При этом у каждого пользователя свой маршрут к точке встречи, поэтому единого пути передачи информации в сети Tor нет.

  5. На вводную точку отправляется информация о точке встречи и вводное сообщение, которое зашифровано публичным ключом сервиса.

  6. Информация с вводной точки отправляется на скрытый сервер. Так последний узнает о точке встречи.

  7. Скрытый сервер отправляет информацию на точку встречи.

  8. Точка встречи последний раз проверяет соответствие секретных строк от пользователя и ресурса.

  9. Точка встречи отправляет информацию о ресурсе клиенту.

  10. Между пользователем и скрытым сервером устанавливается соединение и теперь они могут обмениваться информацией.

Почему нельзя подключаться к .onion сайтам через прокси Tor2Web и другие

Прокси Tor2Web и другие похожие помогают подключаться к .onion сайтам через обычные браузеры. Выглядит это так: сначала прокси-сервер подключается к Tor, а потом перенаправляет трафик к вам через обычный интернет.

Использовать этот вариант небезопасно. Вы теряете анонимность, потому что интернет-провайдер, хакеры и правительство смогут отследить, к какому сайту вы подключились, какие устройства для этого использовали и так далее. 

Они узнают, что вы используете Tor2Web прокси и будут отслеживать конфиденциальную информацию, которую вы получаете из сети. Ведь после выхода из Tor теряется сквозное шифрование и аутентификация, из-за чего завладеть вашим трафиком становится проще.