Mixminion

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Mixminion
Mixminion-Windows frontend.jpg
Тип

Анонимная сеть ремейлеров

Разработчик

Nick Mathewson

Написана на

Python

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

0.0.7.1

Тестовая версия

0.0.8alpha3

Лицензия

Лицензия BSD

Сайт

mixminion.net

Mixminion — стандарт реализации третьего типа протокола анонимной пересылки электронной почты. Mixminion может отсылать и принимать анонимные сообщения электронной почты. Mixminion основан на пересылаемых защищённых одноразовых блоках. Разработан Ником Мэтьюсоном при непосредственном консультировании Дэвида Чаума.[1]

Общее описание[править | править вики-текст]

Mixminion использует архитектуру «перемешанных сетей» (англ. Mix network (англ.)) для предоставления очень высокой степени анонимности, а также для предотвращения прослушивания и других видов атак при пересылке сообщений. Серверы, названные «миксерами», которые запускают волонтёры, принимают сообщения, расшифровывают их, разделяют на блоки, перемешивают и передают другим «миксерам». Каждое письмо электронной почты проходит через несколько серверов так, что не существует единственного сервера, связывающего отправителя сообщения и его получателя.[2]

Основные принципы Mixminion[править | править вики-текст]

  • Возможность приёма и посылки анонимных электронных сообщений — пользователи должны быть способны принимать сообщения от анонимных отправителей и посылать сообщения анонимным получателям с помощью стандартного почтового SMTP-клиента.
  • Гарантирование целостности сообщения — если письмо дойдёт, то только целиком.
  • Лёгкость использования — протокол должен использовать существующие архитектуры, не предъявляя особых требований к аппаратному обеспечению системы.
  • Передовая анонимность — раскрытие одного сообщения не влечёт раскрытие других.[3][4]

Отсылая анонимные сообщения, Mixminion разбивает его на одинаковые по размеру участки, приводя пакеты в одинаковый вид и выбирая путь для отправления через смешанную сеть для каждого пакета. Программа шифрует каждый пакет публичным ключом для каждого сервера на его пути, один за другим. При отправлении пакета, Mixminion посылает его в первый «микс-сервер» на пути. Первый сервер расшифровывает пакет, читая, какой следующий сервер должен принять пакет, и передаёт его. В итоге, пакет прибывает к конечному «микс-серверу», который посылает его выбранному получателю. Так как ни один сервер не знает более чем одного смежного сервера, они не могут связать получателя с отправителем.[2]

Функции[править | править вики-текст]

Mixminion разрешает Алисе посылать сообщения Бобу одним из трёх способов:

  1. Forward — только Алиса сохраняет анонимность.
  2. Direct reply — только Боб сохраняет анонимность.
  3. Anonymized reply — и Алиса, и Боб сохраняют анонимность.[5]

Архитектура[править | править вики-текст]

Узел[править | править вики-текст]

Базовая структура перемешанных сетей. Перемешанная сеть состоит из серверов, называемых узлами. Каждый узел ассоциирован с публичным ключом. Когда узел получает зашифрованное сообщение, происходит расшифровка, разделение на пакеты одинаковой длины по 28Кб, затем пакеты перемешиваются и отправляются дальше без информации об отправителе.[2]

Сервера директорий[править | править вики-текст]

Сервера, которые управляют списком публичных ключей в узлах, а также наблюдают за функционированием узлов и их загруженностью.[6]

NYM-сервера[править | править вики-текст]

Сервера, которые используются для отправки и получения писем без раскрытия личности.[7]

SURBs (Single-Use Reply Blocks)[править | править вики-текст]

Mixminion поддерживает технологию «одноразовых блоков ответа» (англ. «Single-Use Reply Blocks», сокр. «SURB») для опознания анонимных адресатов. SURB кодирует половину пути к адресату, далее, каждый «микс-сервер» в очереди «разворачивает» один слой в пути, а после этого зашифровывает сообщение для получателя-адресата. Когда сообщение достигает адресата, он может расшифровать сообщение и прочитать, какой SURB был использован для его отправки, но отправитель не знает, какой получатель принял анонимное сообщение.[8]

Известные атаки[править | править вики-текст]

Тэговая атака[править | править вики-текст]

Тэговая атака характеризуется модифицированием сообщения путём изменения его части (к примеру, применение побитовой операции НЕ) таким образом, что сообщение может быть позже идентифицировано по этому отличительному признаку.[9]

Атака на выходные узлы[править | править вики-текст]

Выходной узел имеет доступ к расшифрованному письму и может принадлежать злоумышленнику, который будет прослушивать узел втайне от пользователей сети.[10]

Отказ в обслуживании[править | править вики-текст]

Злоумышленник может послать большое количество сообщений в определённом направлении, повреждая узлы и нарушая нормальную работу сети.[7]

Потенциал для улучшения[править | править вики-текст]

  • Нахождение простого способа для того, чтобы предотвращать тэговые атаки.[11]
  • Улучшение алгоритма выбора наилучшего пути доставки при большом количестве сообщений.[11]

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]

Литература[править | править вики-текст]