113 / 736MIX

Mix Network

Сеть, затрудняющая выяснение того, кто с кем общается

Запечатанный конверт защищает письмо от чтения, но наблюдатель за почтой всё ещё может видеть отправителя и получателя. В интернете похожая проблема: даже зашифрованное общение оставляет следы того, кто, когда и кому пишет. Mix Network пытается скрыть эти связи. Она передаёт сообщения через посредников, меняет их внешний вид и нарушает порядок и временные закономерности, по которым их можно отследить.

Mix Network передаёт сообщения через компьютеры, пересылающие сообщения и называемые узлами, или миксами. Они снимают слои шифрования и обрабатывают трафик так, чтобы было сложнее сопоставить входящее сообщение с исходящим. Основы описал Дэвид Чаум в 1981 году. Цель — защитить связь отправителя с получателем, а не только содержание. Результат зависит от протокола, остального трафика и возможностей наблюдателя; само количество посредников не гарантирует анонимности.

Анна пишет Петру личное сообщение. По дороге никто не может прочитать его, но иногда видно, что от Анны ушли данные и вскоре Пётр их получил. Повторяющаяся последовательность позволяет предположить, кто с кем общается. Эти следы называют метаданными: сведениями вокруг сообщения, например временем, размером и сетевыми адресами. Статья Чаума 1981 года рассматривала именно эту проблему электронной почты. Вопрос был не только в том, как запереть письмо, но и в том, как затруднить отслеживание его пути. Поэтому микс-сеть даёт иную защиту, чем одно лишь шифрование содержания. [1] [2] [9]

Представим упрощённый маршрут через A, B и C. Анна сначала шифрует сам текст для Петра. Затем заворачивает его для последнего узла C, этот пакет — для B и наконец для первого узла A. Она использует их открытые ключи: данные, позволяющие создать зашифрованную оболочку, которую откроет соответствующий закрытый ключ. Ключи — это числовые данные, с которыми работает программа шифрования. Открытым ключом можно делиться, а закрытый соответствующий узел хранит в тайне. Сняв свой слой, A узнаёт, куда передать внутренний пакет, но не получает остальные ключи. Слои готовят в обратном порядке, чтобы снимать их по ходу пути. Это учебная модель, а не утверждение, что в каждой такой сети ровно три узла. [1] [4] [5]

Если в A пришло только сообщение Анны и сразу вышло одно сообщение, наблюдателю будет легко. Поэтому классический пакетный микс собирает группу сообщений перед пересылкой. Обработка группы увеличивает число возможных соответствий между входом и выходом. Важно и выровнять размеры пакетов: необычно большое отправление иначе останется узнаваемым. Дополнение до заданной длины называют padding. Число людей или сообщений само по себе не измеряет приватность точно; важно и то, что наблюдатель уже о них знает. [1] [3]

Микс снимает свой слой шифрования, проверяет сообщение по правилам протокола и не пересылает простую копию той же внешней оболочки. Поэтому недостаточно искать одинаковые данные на входе и выходе. Меняется и порядок: первоначальное предложение Чаума сортировало выход группы по данным, другие конструкции используют другие способы. Главное, чтобы порядок выхода не выдавал порядок поступления. Микс также проверяет повторно поданные сообщения. Следующий узел продолжает похожую работу, а последний направляет отправление к получателю. Текст для Петра остаётся защищён отдельным шифрованием для получателя. [1] [3] [5]

Сообщения можно передавать и непрерывно, с разными случайными задержками, не дожидаясь общей группы. Это ослабляет временную связь между поступлением и отправкой пакета — порции данных. Помогает и маскирующий трафик: сообщения без реального пользовательского содержания должны выглядеть для наблюдателя как настоящие. По одному движению данных становится труднее понять, когда Анна действительно что-то написала. Так устроен, например, Loopix, чьи идеи использует Nym. Защита требует дополнительных данных, работы устройств и ожидания. Настройки этих затрат влияют и на полученную приватность. [3] [5]

В классической модели хотя бы один микс, соблюдающий протокол и не раскрывающий соответствия своих входов и выходов, может сохранить это внутреннее сопоставление в тайне. Честный здесь означает именно такое поведение, а не общую оценку оператора. Это не обещание, что один честный сервер решит любую ситуацию. Если атакующий распознал все остальные сообщения группы, сообщение Анны может найтись методом исключения. Важны также наблюдение на краях сети, долговременная активность пользователей и возможность менять трафик. Поэтому исследования задают модель угроз: что именно противник видит и контролирует. [1] [3]

Атакующий может повторно отправить перехваченный пакет и искать соответствующие повторения на другом конце. Он может попытаться пометить сообщение изменением данных, задержать трафик или отбросить часть сообщений. Поэтому защита включает проверку целостности и учёт повторов. Формат Sphinx, используемый в Loopix и Nym, даёт узлам данные для таких проверок. В некоторых конструкциях маскирующие сообщения помогают также обнаруживать потери трафика. Это конкретные меры с конкретными предпосылками, а не обещание неуязвимости. Зашифрованное сообщение тоже может не дойти. [3] [5]

Анна может передать Петру зашифрованные инструкции обратного пути. Он ответит по ним, не зная её обычного сетевого адреса. Подобные обратные адреса описывал уже Чаум. Некоторые современные системы используют одноразовые блоки ответа, SURB (Single-Use Reply Block); одноразовость — часть защиты, а не произвольная помеха. Псевдоним позволяет распознать сообщения одного автора, не раскрывая его настоящего имени, но одновременно связывает эти сообщения. Если Анна представится в тексте или отправит личные данные, скрытый маршрут не отменит такое раскрытие. [1] [10]

Tor тоже проводит связь через нескольких посредников, но делает упор на малую задержку для обычного просмотра веба. Удачно расположенный на обоих концах наблюдатель может сравнивать время и объём трафика. У Tor тоже есть механизмы padding, поэтому утверждать, что маскирующего трафика там совсем нет, было бы неверно. Классические микс-сети готовы принять большее ожидание, например при доставке сообщений. Loopix исследует компромисс с задержками порядка секунд. Nym различает режим mixnet и более быстрый dVPN. В режиме dVPN данные идут по зашифрованным туннелям вместо описанного здесь перемешивания сообщений. Названия и длины пути недостаточно: важны фактическая передача и угроза, от которой требуется защита. [4] [9] [8] [3] [5] [11]

Биткоин-кошелёк — это приложение, которое помогает получать и отправлять платежи. Если кошелёк или другое приложение поддерживает подходящий сетевой путь, микс-сеть может затруднить привязку его трафика к определённому интернет-соединению. Это не автоматическая функция протокола Bitcoin и не то же самое, что сервис смешивания монет. Открытые связи между транзакциями остаются в блокчейне, общем реестре транзакций: скрытый путь их не стирает. BIP 324 также шифрует соединения между узлами, а не перемешивает сообщения, чтобы скрыть отправителя. Значит, приватность передачи и приватность истории платежей — разные вещи. Mix Network помогает понять первый уровень, но не превращает каждый платёж в анонимные наличные. [6] [7]

Для полной картины прочитайте эту статью вместе с David Chaum, Приватность в Bitcoin, Псевдонимность, Bitcoin, Bitcoin Anonymity Networks, BIP324.

DOC · 001David Chaum — Untraceable Electronic Mail, Return Addresses, and Digital PseudonymsПервичный источник DOC · 002ACM — Chaum's 1981 mix-network paperИздатель DOC · 003The Loopix Anonymity SystemПервичный источник DOC · 004Tor: The Second-Generation Onion RouterПервичный источник DOC · 005Nym — Mixnet traffic flowДокументация DOC · 006Bitcoin.org — Protect your privacyДокументация DOC · 007BIP 324 — Version 2 P2P Encrypted Transport ProtocolСпецификация DOC · 008Tor Specifications — Connection-level paddingСпецификация DOC · 009Tor Project — Traffic correlation using netflowsПервичный источник DOC · 010Nym — Anonymous replies with SURBsДокументация DOC · 011Nym — dVPN protocolПервичный источник
Обновлено: Сначала источники · Не является инвестиционной рекомендацией