RetroShare + Tor: классический darknet и сокрытие IP-адреса от доверенного окружения

Отличительной чертой тёмных сетей до момента выхода RetroShare версии 0.6 была принципиальная затруднительность сокрытия IP-адреса участника от доверенного окружения. Несмотря на то, что деятельность участников сети – публикации в форумах и каналах, общение в чатах, файлообмен и пр. – скрыта всегда, факт наличия IP-адресов в сертификатах зачастую несколько охлаждал интерес к сети у потенциальных пользователей. Указанная особенность всегда отмечалась в статьях о RetroShare и, как результат, важный акцент делался если не на необходимости избирательного подхода к обмену сертификатами с незнакомыми людьми, то хотя бы на требовании отказаться от прямой передачи файлов к доверенным пирам, что гарантировало предельную степень безопасности работы в криптосети. Сказанное иллюстрируется рисунками ниже.

Анонимность в RetroShareРисунок 1 — Безопасность деятельности в регулярной сети RetroShare 0.6

Для регулярной сети доверенному окружению доступна лишь информация о том, что данный пользователь подключён к сети RetroShare. Более далёким в топологическом смысле пользователям неизвестен даже факт подключения того или иного пользователя к сети. В силу того, что подавляющее большинство транзакций (файлообмен, распространение каналов, форумов, публикаций и чатов) не отличимы друг от друга и используют анонимное туннелирование по цепочкам контактов, а также исходя из парадигмы равноправия всех пользователей друг перед другом, в узком, строгом смысле анонимность соблюдается всегда, т.е. любая деятельность пользователя скрыта даже от доверенного окружения, за исключением случаев, когда пользователь сам указывает на свою идентичность. Исключением в списке является лишь VoIP, где используется прямое соединение между двумя участниками с PGP-шифрованием приватным ключом.

Анонимность в RetroShare + TorРисунок 2 — Безопасность деятельности в сети RetroShare версии 0.6 на основе скрытых узлов сети Tor

В версии 0.6 криптоплатформы (рисунок 2) решение проблемы особого поведения с доверенным окружением перекладывается на сеть Tor. То есть, до тех пор, пока последняя надёжна, RetroShare в пределах доверенного окружения также надёжна и безопасна, несмотря на возможную беспорядочность и неразборчивость в обмене сертификатами пользователем криптоплатформы, а также спецификой настроек клиент-сервера. Если расстояние до целевого узла составляет два и более скачков, то абсолютная безопасность криптоплатформы RetroShare обеспечивается парадигмой friend-to-friend самой по себе и сеть Tor не играет здесь совершенно никакой роли, т.к. клиент напрямую работает только с собственным доверенным окружением и ни с кем более. К слову, на рисунке 3 приведена анонимность открытых сетей, таких как DC++ или BitTorrent, в которых физический адрес пользователя не скрывается.

Анонимность в открытых сетяхРисунок 3 — Анонимность в p2p-сетях

Стрелками на рисунке указано принципиальное отсутствие избирательности в осуществлении соединений между пользователем и удалёнными клиентами в p2p-сетях, что в огромной степени усугубляет проблемы безопасности коммуникаций и файлообмена в подобных сетях.

Обмен данными в криптосети RetroShare при её работе через Tor

В криптоплатформе RetroShare версии 0.6 возможны три конфигурации сетевого подключения:

  1. регулярное соединение с участниками тёмной сети – классическая схема; в роли сервера выступает узел с открытым портом („зелёный“ NAT);
  2. подключение регулярного узла к скрытому – IP-адреса обоих узлов скрыты друг от друга; регулярный узел на своей стороне должен иметь настроенный и запущенный Tor; скрытый узел всегда выступает в роли сервера;
  3. соединение скрытых участников – в роли сервера выступает узел с более быстрым откликом.

Следует отметить особо: прямой связи между знанием IP-адресов некоторых или всех сетевых узлов анонимных сетей и деанонимизацией деятельности их пользователей – нет. Все соединения всех анонимных сетей в существующем варианте Интернета обеспечиваются посредством TCP/IP-протокола (или UDP), который предполагает обязательное наличие IP-адресов корреспондентов в заголовках передаваемых сетевых пакетов. Анонимность пользователей обеспечивается совершенно иными алгоритмическими, методологическими и организационными подходами; некоторые подробности можете посмотреть в этой статье.

Вторая и третья конфигурации иллюстрируются рисунками ниже.

Поток RS - TorРисунок 4 — Подключение регулярного узла к скрытому

Поток Tor - TorРисунок 5 — Соединение двух скрытых сервисов сети RetroShare

В случае с подключением регулярного узла к скрытому при соединении доверенных узлов (рисунок 4) клиент-серверу 1 не будет известен IP-адрес клиент-сервера 2, т.к. последний отдаёт данные через скрытый сервис de77jgyfphhb2f45.onion сети Tor, являющимся единственным публичным идентификатором узла 2 в сети RetroShare. В обратном направлении поток данных от узла 1 к узлу 2 проходит через цепочку случайных узлов сети Tor и со стороны узла 2 виден лишь IP-адрес её выходного узла.

В случае соединения двух скрытых сервисов (рисунок 5) узлы 1 и 2 криптосети RetroShare обмениваются данными опосредованно через скрытые сервисы de77jgyfphhb2f45.onion и ab45c7777bdd44hh.onion. Физические адреса двух узлов сети RetroShare при таком соединении скрыты. Порты шлюзов могут быть произвольными и указываются в настройках криптоплатформы RetroShare и конфигураторе Tor.

Подчеркнём ещё раз: речь здесь ведётся о сокрытии IP-адреса в пределах доверенного окружения, так как за его пределами невозможность обнаружения IP-адреса пользователей криптосети RetroShare является абсолютной и обеспечивается базовыми принципами функционирования тёмных сетей. Friend-to-friend сети в контексте сетевой анонимности обладают, пожалуй, самым высоким потенциалом, так как в них противник не имеет возможности свободно соединяться с произвольно выбранным пользователем сети – здесь строго соблюдается принцип приватности. В отличие от открытых (не приватных) анонимных сетей (i2p, Perfect Dark и пр.), пользователь имеет полное право выбора, с кем соединяться, а кому отказать в соединении; но даже в случае соединения с недоброжелателем он (пользователь) имеет возможность отказаться (и отказать) частично или полностью от трансляции данных через подозрительный узел. И, как сказано выше, сама возможность определения IP-адресов пользователей RetroShare, находящихся за пределами доверенного окружения, сведена к нулю.

Подключение к сети RetroShare через скрытые сервисы Tor

(Материал устарел в части использования Vidalia. Воспользуйтесь этой статьёй)

Необходимые компоненты на примере ОС Windows:

Алгоритм запуска криптосети на базе RetroShare + Tor

  1. В произвольном месте на жёстком диске создаём папку с произвольным названием, например „Hidden_service“. Пусть её полный путь будет следующим: «d:\Install\Hidden_service».  В этой папке будет храниться onion-адрес создаваемого вами скрытого сервиса и соответствующий ему приватный ключ шифрования.
  2. Запускаем панель управления Vidalia, заходим в настройки, переходим во вкладку „Сервисы“. Жмём кнопку с пиктограммой в виде зелёного знака „плюс“ справа. Двойным щелчком левой кнопки мыши вносим в поле «Виртуальный порт» порт доступа к создаваемому onion-сервису. Пусть он будет таким же, как и на рисунке 5: 12040. В поле «Цель» указываем внутренний порт, который будет „слушать“ ваш компьютер при приёме TCP-пакетов: 127.0.0.1:13080. В поле «Путь к каталогу» указываем „d:\Install\Hidden_service“. Копируем onion-адрес созданного скрытого сервиса в буфер обмена, нажав кнопку с пиктограммой в виде белого круга.
  3. Запускаем RetroShare. В мастере создания сертификата устанавливаем галочки «Create a new identity» и «create a Hidden Location». Задаём логин, пароль и местоположение. В поле «Tor address» вставляем из буфера обмена onion-адрес вашего скрытого сервиса, через который впоследствии вы будете обмениваться данными с ближним окружением.
  4. Делаем следующий переход: Параметры → Сервис → Tor Configuration. У поля «Локальный адрес» указываем порт 13080, у поля «Onion address» – 12040. Внимание! Не перепутайте номера портов!

Клиент и система настроены. На всякий случай, проверьте содержимое файла torrc (находится по пути c:\Users\<Имя пользователя>\AppData\Local\Vidalia\). Там должны появиться следующие строки:

HiddenServiceDir D:\Install\Hidden_service
HiddenServicePort 12040 127.0.0.1:13080

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

Внимание! Для впервые подключающихся к тёмной сети RetroShare!

Действующий сертификат одного работающего узла:

CQEGAf8AAAJYxsBNBFP9wdkBCACr1mmpZdsiNJ1TRdAXN4GdA1+D7gWd7tHnvB8t
zHy1IVorUn0B4dYvzpLEm2RVdcrlgwUP5HUMjh98ouhD0L/fSs1NtXceGa8k6gXp
jS+l8zmKKIhR+r9IcGvLqsr1RpJkbUF2P7IXC0cxKjCNEx8VUuf4qLo4lF3D+N8T
affF58brw7cRrZXmda/OVuMRMEfRbSydnTfMkCwtrZWk4t5GMO6kqUIpBNzIrYgI
9+6vuD0x9fxqE5fVhTdhF59h3bux308cnhso/1e2RMFokuUdEkXzThx5IYilj93Z
DJHMf1vbasqrO3P969fEZfLY1JOXQG2npwjuMw0zHrzo0/vbABEBAAHNJHdyZXdv
bGYgKEdlbmVyYXRlZCBieSBSZXRyb1NoYXJlKSA8PsLAXwQTAQIAEwUCU/3B2QkQ
tVrvnAMJ5a0CGQEAAPEWB/9poO+eENz+dBLygDIOjY4NS+LBqMjJREGik9W1cXZa
3Y6zIwD3FiJWwHgdhnII7Tf+SZksxa6qooBJvQGg9l/WQzffssFm4+oLljxQcTbs
/Ox7rNdyWKHYiHSx58y9oLI7NZy2uTwE8jVzIUbUn6QkkZCKA0s56V2leXHWqyM0
oYXwpF1u4lkhvD6qHiN9vMBf0tVQK/EQo3HfidVpXDPlVZ/n35+Vg8bNbCSCTfN6
Oz3ApjJ40nr9XZhpXJrl4GM9SRjUSlrtJ/8seFqFkw16cjQH0HEth707DpSr7wtU
PCDZ9ZcVGTuEM/2xibGiNTUuaC7lpJiGH28yOu+7peP4CBt5emx6aHRwNmN4ajMy
bHptLm9uaW9uOjc4MTIGA3RvcgUQisFfCUPoqdwwvqjYk7+8awcDzmME

Для отсылки собственного сертификата используйте следующий адрес в сети BitMessage: BM-2cXYZkxQ2qk75ApZgZWjPTuVZsMsUQVp19. Скачать клиент BitMessage можно здесь. Как только присланный вами сертификат заметят – вас обязательно добавят в круг доверенных. Пользователи, у которых возникли те или иные вопросы по RetroShare, могут подписаться на тематический публичный канал RetroShare в BitMessage: BM-2cUsYWk3KUfSUxGnYR3RLcQBZumA8zZ46v. Более опытные пользователи подскажут что делать, если что-то пошло не так при подключении к криптоплатформе.

Для соединения регулярного клиент-сервера со скрытым (рисунок 4) требуется, чтобы на стороне первого имелся установленный и функционирующий Tor. В ином случае регулярный узел „не поймёт“ как подключиться к onion-адресу, фигурирующему в сертификате скрытого узла. Ведь IP-адресов в таком сертификате нет.

Целевая функция

При подключении к сети RetroShare через анонимную сеть Tor решается проблема доступности ближнему окружению IP-адреса пользователя, который даёт злоумышленнику информацию о факте подключения к тёмной сети RetroShare. Любая файлообменная и коммуникационная деятельность пользователя, благодаря системе туннелирования данных GXS, анонимна всегда и для всех узлов, если только пользователь сам не пожелал обозначить свою личность. Платой за решение использовать Тор является существенно более низкая скорость файлообмена, составляющая в среднем от 1/5 до 1/2 от предельной пропускной способности имеющегося интернет-соединения.

Показания к применению

  • Требуется быстрый безопасный обмен сертификатами через публичный чат RetroShare. Требуется быстрое вхождение в сеть.
  • Ситуация, когда в сети участвуют лишь два участника, которым требуется сохранить анонимность (для сети из двух участников туннелирование GXS, по понятным причинам, не реализует анонимизирующую функцию).
  • Принципиальное нежелание участвовать в файлообменной сети, где хотя бы одному пользователю будет известен IP-адрес личного компьютера (речь ведётся лишь об известности IP-адреса доверенному окружению! любая сетевая активность в RetroShare анонимна и шифрована всегда, если только вы сами не обозначиваете собственную личность; пользователь может свободно публиковать свои сообщения в каналах / форумах / облаке публикаций, а также общаться в многочисленных чатах от имени одной или множества анонимных личностей, созданных ранее).
  • Подключение к Интернету не прямое, а обеспечивается через прокси-сервер локальной сети организации. Возможен также прокси-сервер с необходимостью обязательной аутентификации.
  • Сложность или принципиальная невозможность обеспечения „проброса“ внешнего порта на внутренний, непрозрачный NAT.
  • Требуется возможность безопасной публикации личного сертификата в открытых сетях для последующего установления прямой связи с анонимным корреспондентом.

Противопоказания к применению: нет.

Ситуации, когда применение связки RetroShare + Tor нецелесообразно

  • Файлообмен и коммуникации предполагается вести с друзьями либо с людьми, заслуживающими доверия. Следовательно, обмен сертификатами можно свободно осуществлять в публичном чате или по открытым сетям.
  • Пользователь по объективным причинам не беспокоится о доверенном окружении в тёмной сети.
  • Требуются максимально возможные скорости файлообмена с пользователями криптоплатформы.
  • Основной файлообмен предполагается вести в локальных вычислительных сетях.

Концепция безопасности и практические рекомендации

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

Материал статьи будет незначительно изменяться и дополняться.

6 responses

  1. На оффсайте Vidalia Relay Bundle отсутствует. Нужен именно этот пакет (последняя версия датируется прошлым годом) или пойдет Expert Bundle?

    Like

    1. Только Expert Bundle. Vidalia по соображениям безопасности больше не поддерживается.

      Like

  2. Expert Bundle не просто подойдёт, а под Windows на данный момент лучше использовать именно его. Для возможности устанавливать исходящие соединения (с чужими Tor-сервисами) достаточно запустить иполняемый файл. Для GNU/Linux и OS X необходимо самостоятельно компилировать исходники и обеспечить автозапуск бинарного файла Tor.

    Если же Вы хотите запустить собственный Tor-сервис (так, чтобы RS-узлы могли присоединяться к Вам – входящие соединения), то лучше воспользоваться обновлённой статьёй: https://adorabilis.wordpress.com/2015/03/26/security-3d/

    Like

  3. Помогите со след. проблемой.
    На дебиант установил пакет тор, добавил его в автозапуск, далее создал тор-сервер, расскоментив в файле torrc
    HiddenServiceDir /var/lib/tor/hidden_service/
    HiddenServicePort 12040 127.0.0.1:13080

    Далее все сделал по инструкции https://adorabilis.wordpress.com/2015/03/26/security-3d

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

    RetroShare проверил Все Известные Адреса, без успеха
    DHT необходима, если ваши друзья используют динамические IP-адреса.
    Отключать DHT рекомендуется только опытным пользователям RetroShare.

    Перейдите в Параметры –> Сервер и измените конфигурацию режима обнаружения на «Публичный режим: DHT и обнаружение»
    ________________________________________________________
    Пожалуйста, объясните в чем дело?

    Like

  4. Итак, проблема, как я понимаю, такова:
    при добавлении приведённого в тексте статьи сертификата не происходит соединения.

    Здесь два замечания:
    1) не факт, что данный узел активен сам по себе;
    2) добавление сертификатов обязательно должно быть взаимным, владелец данного сертификата также должен добавить в своё окружение ваш сертификат.

    По манипуляциям с Tor. Вы не указали, создаёте ли вы регулярный узел RetroShare или его скрытый аналог. Поэтому варианты.

    1. При создании регулярного узла RS нет необходимости создавать скрытые сервисы Тор. Достаточно запущенной в системе программы Тор. Проверка её корректной работы осуществляется в RS: Параметры –> Сеть –> Hidden Service Configuration. Если для Тор горит зелёный индикатор, значит, всё в порядке. Вы сумеете соединиться как со скрытыми, так и с регулярными узлами сети RetroShare. Если же индикатор серый, то следует проверить правильность порта, указанного в RS, и в конфигурационном файле torrc. По умолчанию порт 9050 и здесь, как правило, проблем не возникает. В ином случае, следует убедиться, а работает ли Тор вообще. Проще всего это сделать, пустив трафик веб-браузера через Socks5 – 127.0.0.1:9050

    2. Создание скрытого узла требует развёртывания на локальной машине скрытых сервисов Тор и соответствующей настройки криптоплатформы. Скрытый сервис создаётся так, как указано в статье и как сделали вы: редактируется torrc, запускается Тор, проверяется создание двух файлов в папке скрытого сервиса. Настройка RetroShare начинается с создания новой пары публичного и приватного ключей (крайне рекомендуется). Далее, при запуске RS указывается “Advanced”, прописывается скрытый сервис и порты. Проверить работоспособность вашего сервиса также можно в “Параметры –> Сеть –> Hidden Service Configuration”.

    Like

  5. […] Если в вашем клиент-сервере индикатор «Outgoing Okay» не горит зелёным цветом, то в этом нет ничего страшного. Вы всё равно имеете возможность соединяться с регулярными узлами криптосети RetroShare. Исключение составят лишь те узлы сети, в сертификате которых вместо IP-адреса указан onion-адрес сети Tor. Такие узлы, в отличие от регулярных, называются Tor-узлами. Подробнее об этом можете почитать в статье, описывающей подключение к RetroShare через сеть Tor. […]

    Like

Leave a comment