Смешанные сети - это протоколы маршрутизации, которые создают трудно отслеживаемые коммуникации с помощью цепочки прокси серверы, известные как миксы, которые принимают сообщения от нескольких отправителей, перемешивают их и отправляют обратно в случайном порядке следующему адресату (возможно, другому узлу смешивания). Это разрывает связь между источником запроса и местом назначения, что затрудняет отслеживание сквозной связи для перехватчиков. Более того, миксам известен только узел, от которого он немедленно получил сообщение, и непосредственный пункт назначения для отправки перемешанных сообщений, что делает сеть устойчивой к вредоносным микшерным узлам.
Каждое сообщение шифруется для каждого прокси с использованием криптография с открытым ключом ; результирующее шифрование является слоистым, как русская кукла (за исключением того, что каждая «кукла» имеет одинаковый размер) с сообщением в качестве самого внутреннего слоя. Каждый прокси-сервер снимает собственный уровень шифрования, чтобы показать, куда отправить сообщение дальше. Если все прокси-серверы, кроме одного, скомпрометированы трассировщиком, невозможно отследить защиту от некоторых более слабых противников.
Концепция смешанных сетей была впервые описана Дэвидом Чаумом в 1981 году. Приложения, основанные на этой концепции, включают анонимные ремейлеры (например, Mixmaster ), луковая маршрутизация, чесночная маршрутизация и маршрутизация на основе ключей (включая Tor, I2P, и Freenet ).
Участник A подготавливает сообщение для доставки участнику B, добавляя случайное значение R в сообщение, запечатав его открытым ключом адресата , добавив адрес B, а затем запечатав результат открытым ключом микса . M открывает его своим закрытым ключом, теперь он знает адрес B, и отправляет на B.
Для этого отправитель берет открытый ключ микса () и использует его для шифрования конверта, содержащего случайную строку (), вложенный конверт, адресованный получатель и адрес электронной почты получателя (B). Этот вложенный конверт зашифрован открытым ключом получателя () и содержит другую случайную строку (R0) вместе с телом отправляемого сообщения.. После получения зашифрованного конверта верхнего уровня микс использует свой секретный ключ, чтобы открыть его. Внутри он находит адрес получателя (B) и зашифрованное сообщение, привязанное к B. Случайная строка () отбрасывается.
необходим в сообщении, чтобы злоумышленник не мог угадать сообщения. Предполагается, что злоумышленник может наблюдать за всеми входящими и исходящими сообщениями. Если случайная строка не используется (т.е. только отправляется на ) и злоумышленник имеет хорошее предположение, что сообщение было отправлено, он может проверить, действительно ли удерживается, посредством чего он может узнать содержание сообщения. Добавив случайную строку , злоумышленник не сможет выполнить этот вид атаки; даже если он угадывает правильное сообщение (например, верно), он не узнает, прав ли он, так как он не знает секретное значение . На практике функционирует как соль.
Теперь необходимо, чтобы B отвечал на A, пока все еще сохраняя идентификатор A в секрете от B.
Решение для A состоит в том, чтобы сформировать неотслеживаемый адрес возврата где - его собственный реальный адрес, - это открытый одноразовый ключ, выбранный только для текущего случая, а - это ключ, который также будет действовать как случайная строка для целей пломбирования. Затем A может отправить этот обратный адрес B как часть сообщения, отправленного с помощью уже описанных методов.
B отправляет в M, и M преобразует его в .
Этот микс использует строку битов , которую он находит после дешифрования адресной части как ключ для повторного шифрования части сообщения . Только получатель A может расшифровать полученный результат, поскольку A создал и , и . Дополнительная клавиша гарантирует, что микс не может видеть содержимое ответного сообщения.
Ниже показано, как B использует этот неотслеживаемый адрес возврата для формирования ответа на A с помощью нового вида смеси:
Сообщение от A B:
Ответное сообщение от B A:
Где: = B's открытый ключ, = открытый ключ микса.
Пункт назначения может отвечать источнику, не жертвуя анонимностью источника. Ответное сообщение разделяет все преимущества производительности и безопасности с анонимными сообщениями от источника к месту назначения.
Хотя смешанные сети обеспечивают безопасность, даже если злоумышленник может просматривать весь путь, смешивание не является абсолютно идеальным. Злоумышленники могут обеспечивать долговременные корреляционные атаки и отслеживать отправителя и получателя пакетов.
Противник может выполнить пассивную атаку, отслеживая трафик в смешанную сеть и из нее. Информация может быть получена путем анализа времени прибытия между несколькими пакетами. Поскольку в пакеты не вносятся активные изменения, такую атаку трудно обнаружить. В худшем случае атаки мы предполагаем, что все звенья сети наблюдаются злоумышленником, а стратегии и инфраструктура смешанной сети известны.
Пакет на входном канале не может быть коррелирован с пакетом на выходном канале на основе информации о времени получения пакета, размере пакета или содержимом пакета. Корреляция пакетов на основе синхронизации пакетов предотвращается пакетированием, а корреляция на основе содержимого и размера пакета предотвращается за счет шифрования и заполнения пакетов соответственно.
Межпакетные интервалы, то есть разница во времени между наблюдением двух последовательных пакетов на двух сетевых каналах, используется для определения того, передают ли эти каналы одно и то же соединение. Шифрование и заполнение не влияют на интервал между пакетами, относящийся к одному и тому же IP-потоку. Последовательности межпакетных интервалов сильно различаются между соединениями, например, при просмотре веб-страниц трафик происходит пачками. Этот факт можно использовать для идентификации соединения.
Активные атаки могут быть выполнены путем введения пакетов пакетов, содержащих уникальные временные сигнатуры, в целевой поток. Злоумышленник может выполнять атаки, чтобы попытаться идентифицировать эти пакеты на других сетевых ссылках. Злоумышленник может не иметь возможности создавать новые пакеты из-за необходимого знания симметричных ключей для всех последующих миксов. Пакеты воспроизведения также нельзя использовать, поскольку их легко предотвратить с помощью хеширования и кэширования.
В целевом потоке могут быть созданы большие промежутки, если злоумышленник отбрасывает большие объемы последовательных пакетов в потоке. Например, имитация запускается с отправкой 3000 пакетов в целевой поток, где злоумышленник отбрасывает пакеты через 1 секунду после начала потока. По мере увеличения числа отбрасываемых подряд пакетов эффективность защитного отбрасывания значительно снижается. Введение большого зазора почти всегда создает узнаваемую деталь.
Злоумышленник может создавать искусственные пачки. Это делается путем создания подписи из искусственных пакетов, удерживая их на ссылке в течение определенного периода времени, а затем выпуская их все сразу. Отключение защиты не обеспечивает защиты в этом сценарии, и злоумышленник может идентифицировать целевой поток. Есть и другие меры защиты, которые можно предпринять для предотвращения этой атаки. Одним из таких решений могут быть алгоритмы адаптивного заполнения. Чем больше задерживаются пакеты, тем легче определить поведение и, таким образом, можно наблюдать лучшую защиту.
Злоумышленник может также изучить другие временные атаки, отличные от межпакетных интервалов. Злоумышленник может активно изменять потоки пакетов, чтобы наблюдать за изменениями, вызванными поведением сети. Пакеты могут быть повреждены для принудительной повторной передачи TCP-пакетов, поведение которых легко проследить, чтобы раскрыть информацию.
Предполагается, что злоумышленник может видеть отправляемые и получаемые сообщения в пороговых смесях но они не могут видеть внутреннюю работу этих миксов или то, что они отправляют. Если злоумышленник оставил свои собственные сообщения в соответствующих миксах и получил одно из двух, он может определить отправленное сообщение и соответствующего отправителя. Злоумышленник должен поместить свои сообщения (активный компонент) в микс в любой момент времени, и сообщения должны оставаться там до отправки сообщения. Обычно это не активная атака. Более слабые противники могут использовать эту атаку в сочетании с другими атаками, чтобы вызвать больше проблем.
Смешанные сети обеспечивают безопасность, изменяя порядок сообщений, которые они получают, чтобы избежать существенной связи между входящими и исходящими сообщениями. Миксы создают помехи между сообщениями. Помехи накладывают ограничения на скорость утечки информации для наблюдателя за миксом. В миксе размера n злоумышленник, наблюдающий за входом и выходом из микса, имеет неопределенность порядка n при определении совпадения. Атака спящего может воспользоваться этим. В многоуровневой сети пороговых миксов со спящим в каждом миксе есть уровень, принимающий входные данные от отправителей, и второй уровень миксов, которые пересылают сообщения конечному месту назначения. Из этого злоумышленник может узнать, что полученное сообщение не могло прийти от отправителя ни в один микс уровня 1, который не сработал. Существует более высокая вероятность сопоставления отправленных и полученных сообщений с этими спящими, поэтому общение не является полностью анонимным. Миксы также могут быть чисто синхронизированными: они рандомизируют порядок сообщений, полученных в определенном интервале, и присоединяют некоторые из них к миксам, пересылая их в конце интервала, несмотря на то, что было получено в этом интервале. Сообщения, которые доступны для микширования, будут мешать, но если сообщения недоступны, нет никакого вмешательства в полученные сообщения.
Дэвид Чаум опубликовал концепцию Mix Networks в 1979 году в своей статье : «Не отслеживаемая электронная почта, обратные адреса и цифровые псевдонимы». Эта статья была написана для его магистерской диссертации вскоре после того, как он впервые познакомился с криптографией благодаря работе криптографии с открытым ключом, Мартина Хеллмана, Уитфилда Диффи и Ральф Меркл. В то время как криптография с открытым ключом зашифровывала безопасность информации, Чаум считал, что в метаданных, обнаруженных в сообщениях, есть уязвимости в отношении личной конфиденциальности. Некоторые уязвимости, которые позволили поставить под угрозу личную конфиденциальность, включали время отправки и получения сообщений, размер сообщений и адрес исходного отправителя. В своей работе он цитирует статью Мартина Хеллмана и Уитфилда «Новые направления в криптографии» (1976).