id: Гость   вход   регистрация
текущее время 10:33 06/10/2024
Владелец: unknown (создано 04/06/2010 15:14), редакция от 11/06/2010 12:21 (автор: unknown) Печать
Категории: атаки
http://www.pgpru.com/Библиотека/Статьи/SAC/51Ранниесистемылуковичноймаршрутизации
создать
просмотр
редакции
ссылки

5.1 Ранние системы луковичной маршрутизации


В первоначальном проекте, вместо того чтобы маршрутизировать каждый анонимный пакет по отдельности, первое сообщение открывало цепочку через сеть. Цепочки помечались различными идентификаторами каждым луковичным маршрутизатором в сети. По соответствию входящих и исходящих идентификаторов луковичные маршрутизаторы могли маршрутизировать каждое сообщение по предопределённому пути. В итоге могло быть послано сообщение, чтобы закрыть путь. Часто мы ссылаемся на уровень информации приложений, проходящих каждый из этих помеченных цепочек, как анонимный поток.


Первое сообщение, посланное через сеть, зашифровано слоями, которые могут быть расшифрованы только цепочкой луковичных маршрутизаторов с использованием соответствующих закрытых ключей. Первое сообщение содержит ключевой материал, разделяемый между исходным отправителем и луковичными маршрутизаторами, также как и адрес следующего узла. Это сообщение и есть луковица, давшая имя всей конструкции — поскольку содержимое этого сообщения эффективно закрывает себя слоями; в нём нет ничего другого, кроме слоёв. Также как и с миксами Чаума принимаются меры для обеспечения побитовой несвязываемости, так что путь, которым пойдёт первое сообщение не является тривиальным только из результатов наблюдения битовых паттернов сообщения. Также присутствует шифрование связей, которое снижает угрозу инсайдера. Была также предложена свободная маршрутизация, при которой маршрутизаторы перенаправляли потоки не так, как было напрямую определено в оригинальном сообщении открытия пути. При этом надеялись на то, что такая схема сможет позволить цепочкам существовать даже если некоторые луковичные маршрутизаторы не будут иметь прямого соединения со следующим луковичным маршрутизатором, определённым в цепочке.


Данные, перемещающиеся по установленной цепочке, также зашифрованы послойно, но с использованием симметричных ключей, распространяемых через луковичные маршрутизаторы. Это определило название "луковицы данных"; потому что они отвечают за перенос содержимого отдельно от самих слоёв. Для принадлежности пакетов к определённым цепочкам используются метки. Для различных связей используются различные метки, для гарантий побитовой несвязываемости, метки на цепочках зашифрованы секретным ключом совместно используемым парой луковичных маршрутизаторов. Все коммуникации также проходят через сеть в ячейках фиксированного размера. Это не даёт возможности пассивному наблюдателю делать выводы на основании размера пакетов о том, принадлежат ли они одному и тому же анонимному потоку, но это не скрывает такую информацию от потенциально недобросовестного луковичного маршрутизатора.


Цель луковичной маршрутизации — в затруднении анализа трафика для противника. Это достигается за счёт несвязываемости по отношению к третьей стороне двух участников, которые знают друг друга, а во-вторых за счёт защиты от передачи друг другу идентифицирующих данных двух сторон коммуникации.


Луковичная маршрутизация допускает уязвимость к определённому классу атак. Это ожидалось всегда и впоследствии было подтверждено анализом, что в отсутствии больших объёмов покрывающего трафика паттерны трафика позволяют пассивному наблюдателю связать потоки в местах входов и выходов из сети, что приведёт к идентификации связывающихся сторон. Такие атаки были названы тайминг-атаками и атаками оконечной корреляции. Они приводились в литературе [164] в течении многих лет, детали их работы и то, насколько они эффективны были представлены в [40, 129, 152, 174, 193, 200, 201].


Для изучения того, насколько возможна защита от тайминг атак, проект следующего поколения от NRL включил смешивание пакетов в реальном времени для данных, проходящих через луковичный маршрутизатор на различных потоках и для цепочек шейпинг трафика (с дополнениями и ограничениями), основанный на скользящем окне средневзвешенного значения предыдущего трафика [165, 183]. Также было добавлено как к этому проекту, так и к последующему проекту NRL (Tor) то, что структурные данные протокола позволяли частичную маршрутизацию, дополняемую между клиентом и луковичным маршрутизатором в цепочке для затруднения анализа трафика инсайдерами внутри пути.


В отличие от миксов ISDN [158], даже эта смешивающая конструкция луковичной маршрутизации не выполняет никакого синхронного смешивания запросов на открытие или закрытие каналов. Они лишь смешиваются с любым другим потоком, который активен на том же самом луковичном маршрутизаторе. Крайне маловероятно, чтобы анонимность сообщений на основе установления цепочек могла бы поддерживаться против участвующих луковичных маршрутизаторов за исключением цепочек, устанавливаемых синхронно, что не является частью дизайна. Действительно, Бауэер и др. показали, что атакующий может следовать за сообщением и компрометировать анонимность корреспондентов. Конечно это несколько меньший повод для беспокойства в сетях со свободной маршрутизацией, чем в каскадах, таких как ISDN-миксах и вэб-миксах [15], где точно известно где смотреть за каналами корреспондентов в момент открытия и закрытия (вот почему эти конструкции подразумевают синхронное установление цепочки). Кроме того, для активного атакующего есть возможность тривиально индуцировать временной отпечаток, даже если дополнения адекватно скрывают пассивные отпечатки. Помимо тайминга уже на начальном этапе проекта было ясно, что атакующий на любом этапе пути может повредить отправляемое сообщение, так что это будет заметно на последнем луковичном маршрутизаторе. Это аналогично атаке маркирования против Mixminion, описанной выше. Однако, поскольку луковичная маршрутизация основана на цепочках и малых задержках, меры противодействия этому, которые выполнены в Mixminion, здесь бессмысленны и недоступны. По этой причине, так как исследование по выработке эффективного сопротивления активным атакам провалилось, был предложен проект третьего поколения от NRL, называемый Tor, в котором вернулись к оригинальному подходу, просто не используя никаких дополнений и подразумевая уязвимость к тайминг-корреляции. Проект Tor будет обсуждаться далее.


Ради упрощения внедрения было признано, что некоторые пользователи не захотят выступать в роли серверов. Проект второго поколения отошёл от чистого пиринга первого поколения и позволил клиентам луковичной маршрутизации строить цепочки, но не пропускать через себя чужой трафик. Также некоторые луковичные маршрутизаторы могли по желанию предоставлять сервисы только определённым клиентам. Для этого была внедрена концепция входящих политик [165, 182], позволяющая маршрутизаторам определить, какие сетевые соединения они могут обслуживать. Луковичные маршрутизаторы также могли выбирать обмен трафиком только с подмножеством других роутеров, с которыми они поддерживают долговременные соединения. Аналогично подразумевалось, что некоторые луковичные маршрутизаторы могут позволять выпускать трафик из сети только к определённым сетевым адресам и/или портам (протоколам). Так были добавлены ещё и исходящие политики. Это может быть объявлено так, чтобы маршруты проходили через соответствующие сетевые исходящие точки. Такое разделение основного клиента от сервера луковичной маршрутизации и допускаемая гибкость для входящих и исходящих политик стали вероятно наиболее существенными отличиями от оригинального дизайна, что способствовало необычайно широкому принятию луковичной маршрутизации. Удобство использования и гибкость как для индивидуальных пользователей, так и для операторов серверов, позволило им участвовать в системе, согласуя свои противоречивые интересы и стимулы, что привело к снятию ограничений и возможностям небывалого роста системы [2, 63].


По образцу и коду NRL в конце девяностых были независимо выполнены сети луковичной маршрутизации, но первой независимо спроектированной системой луковичной маршрутизации была Freedom Network (сеть свободы), созданная и выполненная с конца 1999 до конца 2001 канадской компанией Zero Knowledge Systems (ныне называемая Radialpoint и не предлагающая ничего похожего на Freedom среди своих продуктов и сервисов). Главным создателем сети был Ян Голдберг [86], который опубликовал совместно с Адамом Шостаком и другими серию инструкций, описывающих систему на различных уровнях детализации [8, 9, 23, 87, 88]. Эта система имела множество важных отличий от дизайна NRL: UDP транспорт вместо TCP, блочные шифры вместо потоковых для шифрования данных, глубоко интегрированную систему псевдонимов и сертификатов и т. д., Но основа построения маршрутов и прохождения сообщений по сети в сущности следовали вышеописанным конструкциям двух первых поколений NRL.


Одним из наиболее важных вкладов Freedom явилось значительное коммерческое развёртывание. Прототип первого поколения, который NRL запускала с 1996 по 2000 годы, обрабатывал соединения от сотен до тысяч IP-адресов и в среднем 50000 соединений в день при пиковой нагрузке за месяц, но всё это проходило через малую систему всего из пяти узлов NRL. Фактически она не была распределённой. Некоторые реализации второго поколения имели свыше десятка узлов, разбросанных по США и Канаде, но это были тестовые стенды, что не рассматривалось ни как широкомасштабность, ни как открытое публичное использование. Помимо прочих вещей, Freedom была системой с луковичной маршрутизацией с широким распространением независимо запущенных серверов-узлов и двадцатью пятью тысячами подписчиков по пиковой оценке. Это было важной и первой успешной демонстрацией того, что широкомасштабные развёртывания и управление системами луковичной маршрутизации технически возможны.


Назад | Оглавление | Дальше


 
Комментариев нет [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3