Перевод Анонимность сети в Monero

Тема в разделе "Статьи", создана пользователем TheFuzzStone, 16 июн 2019.

  1. TheFuzzStone

    Команда форума Администратор Модератор

    Регистрация:
    18 авг 2017
    Сообщения:
    181
    Симпатии:
    42
    В настоящее время в Monero интегрированы Tor и I2P. Использование этих сетей все еще считается экспериментальным - есть несколько пессимистичных случаев утечки конфиденциальной информации. Эта схема должна обеспечить максимальную конфиденциальность источника транзакции, передавая её по анонимной сети, полагаясь при этом на IPv4 для остальных сообщений, что усложняет атаки на узел (через sybil).

    Модель поведения


    Если включена какая-либо анонимная сеть, транслируемые транзакции, не имеющие действительного «контекста» (т.е. транзакция не была осуществлена через p2p соединение), будут отправляться только пирам в анонимных сетях. Если анонимная сеть включена, но пиры в ней недоступны, возникает ошибка и транзакция сохраняется для дальнейшей трансляции через анонимную сеть. Транзакция не будет транслироваться до тех пор, пока не будет установлено анонимное соединение или пока monerod не будет выключен и перезапущен с включенным публичным соединением.

    Анонимные сети могут также использоваться с monero-wallet-cli и monero-wallet-rpc - кошельки будут подключаться к демону через прокси. Демон должен предоставлять скрытую службу для самого RPC, которая отделена от скрытой службы для P2P-соединений.

    P2P-команды

    Только хэндшейки, синхронизация по времени и трансляция сообщений о транзакциях поддерживаются в анонимных сетях. Если указан один --add-exclusive-node p2p-адрес узла, то синхронизация выполняться не будет, и может осуществляться только трансляция транзакций. Поэтому рекомендуется --add-exclusive-node комбинировать с дополнительным эксклюзивным IPv4 адресом(ами).

    Использование

    Анонимные сети не имеют seed-узлов (функция все еще считается экспериментальной), поэтому пользователь должен указать адрес. При правильной настройке дополнительные пиры могут быть найдены с помощью стандартного обмена p2p-списками.

    Исходящие соединения


    Подключение к анонимному адресу требует опции командной строки --proxy, которая сообщает monerod порт / ip socks-прокси, предоставляемый отдельным процессом. На большинстве систем конфигурация будет выглядеть следующим образом:

    HTML:
    --proxy tor,127.0.0.1:9050,10--proxy i2p,127.0.0.1:9000
    которая сообщает monerod, что ".onion" p2p адреса могут быть перенаправлены на socks-прокси по IP 127.0.0.0.1 порт 9050 с максимум десятью исходящими соединениями и ".b32.i2p" p2p-адреса могут быть перенаправлены на socks-прокси по IP 127.0.0.1 порт 9000 со стандартным максимальным количеством исходящих соединений. Поскольку не существует seed-узлов для анонимных подключений, пиры должны быть указаны вручную:

    HTML:
    --add-exclusive-node rveahdfho7wo4b2m.onion:28083 --add-peer rveahdfho7wo4b2m.onion:28083
    Любая опция может быть перечислена несколько раз и может указывать любое сочетание Tor, I2P и IPv4 адресов. Использование --add-exclusive-node предотвратит использование seed-узлов ВСЕХ сетей, что обычно бывает нежелательным.

    Входящие соединения

    Получение анонимных подключений осуществляется с помощью опции --anonymous-inbound. Эта опция сообщает monerod о входящем адресе, типе сети и максимальном количестве подключений:

    HTML:
    --anonymous-inbound rveahdfho7wo4b2m.onion:28083,127.0.0.1:28083,25 --anonymous-inbound cmeua5767mz2q5jsaelk2rxhf67agrwuetaso5dzbenyzwlbkg2q.b32.i2p:5000,127.0.0.1:3000
    которая сообщает monerod, что максимум 25 входящих Tor соединений принимаются по адресу "rveahdfho7wo4b2m.onion:28083" и передаются на порт 28083 localhost monerod, и по умолчанию максимум I2P соединений поступают на адрес "cmeua5767mz2q5jsaelk2rxhf67agrwuetaso5dzbenyzwlbkg2q.b32.i2p:5000" и переправляются на порт 30000 localhost monerod. Эти адреса будут совместно использоваться с исходящими пирами в сети одного типа, в противном случае пиринговый адрес не будет оповещен прокси-сервером.

    RPC кошелёк

    Анонимная сеть может быть настроена на переадресацию входящих соединений на RPC-порт monerod, который не зависит от конфигурации для входящих P2P анонимных соединений. Анонимная сеть (Tor/i2p) настроена таким же образом, за исключением того, что порт localhost должен быть портом RPC (обычно 18081 для mainnet), вместо p2p порта:

    HTML:
    HiddenServiceDir /var/lib/tor/data/monero HiddenServicePort 18081 127.0.0.1:18081
    Затем кошелек будет настроен на использование Tor/i2p адреса:

    HTML:
    --proxy 127.0.0.1:9050--daemon-address rveahdfho7wo4b2m.onion
    Прокси-сервер должен соответствовать типу адреса - Tor-прокси не будет корректно работать с адресами i2p и т.д.

    i2p и onion-адреса предоставляют информацию, необходимую для аутентификации и сквозного шифрования соединения. При желании SSL также может быть применен к соединению с --daemon-address https://rveahdfho7wo4b2m.onion, которое требует сертификат сервера, подписанного "root"-сертификатом на компьютере с установленным кошельком. Кроме того, --daemon-cert-file может быть использован для указания сертификата для аутентификации сервера.

    Прокси-серверы также могут использоваться для подключения к "клирнет" (адреса ipv4 или домены ICANN), но для аутентификации и шифрования необходимо использовать --daemon-cert-file.

    Типы сетей
    • Tor & I2P
    Опции --add-exclusive-node и --add-peer распознают ".onion" и ".b32.i2p" адреса и будут правильно перенаправлять эти адреса на прокси, предоставляемые с --proxy tor,... или --proxy i2p,... .

    Опция --anonymous-inbound также распознает адреса ".onion" и ".b32.i2p" и будет автоматически отправляться на исходящие Tor/I2P соединения, чтобы пир мог раздавать адрес другим пирам.
    • Конфигурация
    Tor должен быть настроен для скрытых служб. Пример конфигурации ("torrc") может выглядеть следующим образом:

    HTML:
    HiddenServiceDir /var/lib/tor/data/monero HiddenServicePort 28083 127.0.0.1:28083
    Это позволит сохранить информацию в /var/lib/tor/data/monero и перенаправить "Tor port" 28083 на порт 28083 с IP 127.0.0.1. Файл /usr/lib/tor/data/monero/hostname будет содержать ".onion" адрес для использования с --anonymous-inbound.

    I2P должен быть сконфигурирован со стандартным серверным туннелем. Конфигурация отличается в зависимости от реализации I2P.

    Ограничения приватности

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

    - Временные метки

    Функция синхронизации по времени отправляет текущее время в сообщении. Это значение можно использовать для связки onion-адреса с IPv4/IPv6 адресом. Если пир первым видит транзакцию через Tor, он может предположить (возможно, ошибочно), что транзакция произошла от пира. Если и Tor, и IPv4/IPv6 соединения имеют временные метки, которые приблизительно близки по значению, они могут быть использованы для связки этих двух соединений. Это маловероятно, если системные часы достаточно точны - у многих пиров в сети Monero должны быть одинаковые временные метки.

    Уменьшение воздействия:

    Поддерживайте точность системных часов, чтобы затруднить процесс идентификации. В будущем к анонимным сетям может быть применено случайное смещение, так что если системные часы заметно отстают (и поэтому более пригодны для идентификации), связывание публичных IPv4/IPv6 соединений с анонимными сетями будет более сложным.

    - Пропускная способность

    Интернет-провайдер может отслеживать соединения monerod и наблюдать, когда транзакция отправляется по Tor/I2P соединению через временной анализ + размер данных, отправляемых в течение этого промежутка времени. I2P должен обеспечить лучшую защиту от этой атаки - его соединения не основаны на цепочках. Однако если узел использует I2P только для трансляции транзакций Monero, общая совокупность данных I2P также приведет к утечке информации.

    Уменьшение воздействи:

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

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

    - Периодическая синхронизация Monero

    Если пользователь запускает monerod только для отправки транзакции, а затем выходит, это также может быть использовано интернет-провайдером для связи пользователя с транзакцией.

    Уменьшение воздействия:

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

    - Активное формирование пропускной способности

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

    Уменьшение воздействия:

    Лучшим способом снизить риск является использование I2P вместо Tor. Тем не менее I2P имеет меньшее количество пользователей (меньше трафика покрытия) и академических исследований, поэтому есть компромисс в потенциальных проблемах. Также любой, кто пытается применить эту стратегию, действительно хочет раскрыть пользователя, но это кажется маловероятным, что будет применено против каждого Tor/I2P пользователя.

    Источник: Anonymity Networks with Monero

    Перевод:
    TheFuzzStone (@TheFuzzStone)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    #1 TheFuzzStone, 16 июн 2019
    Последнее редактирование модератором: 16 июн 2019
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.