Mixminion (Mixminion)

Перейти к навигации Перейти к поиску
Mixminion
Скриншот программы Mixminion
Тип Анонимная сеть ремейлеров
Разработчик Nick Mathewson
Написана на Python
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 0.0.7.1
Тестовая версия 0.0.8alpha3
Репозиторий github.com/nmathewson/mi…
Лицензия Лицензия BSD
Сайт mixminion.net

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

Общее описание

[править | править код]

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

Основные принципы Mixminion

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

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

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

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

Архитектура

[править | править код]

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

Серверы директорий

[править | править код]

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

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

SURBs (Single-Use Reply Blocks)

[править | править код]

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

Известные атаки

[править | править код]

Тэговая атака

[править | править код]

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

Атака на выходные узлы

[править | править код]

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

Отказ в обслуживании

[править | править код]

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

Потенциал для улучшения

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

Примечания

[править | править код]

Литература

[править | править код]