Mixminion

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

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

Общее описание править

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

См. также править

Примечания править

Литература править

Ссылки править