02.08 // PIR-Tor: концепт-проект доказуемо-безопасного перевода сети Tor на p2p-архитектуру
Ключевая проблема архитектуры сети Tor состоит в том, что он требует от пользователей поддержания глобальных сведений о состоянии системы, что потребует затрат по мере роста системы. Было предложено множество решений на основе p2p-сетей для преодоления опасения по поводу масштабируемости сети Tor, но они обеспечивали только эвристическую безопасность. Фактически, сообщество исследователей в области безопасности было достаточно успешно в преодолении защиты передовых систем, как путём пассивных, так и активных атак.
Исследования новых примитивов в области масштабируемых анонимных коммуникаций, сфокусированные на обеспечении гарантий доказуемой безопасности, представили Prateek Mittal, Nikita Borisov (Кафедра электротехники и компьютерного проектирования университета Иллинойса в Урбана-Шампейн при частичной поддержке национального научного фонда США) и Carmela Troncoso, Alfredo Rial (Католический университет Лёвен, группа по изучению вопросов компьютерной безопасности и промышленной криптографии, Бельгия, совместно с междисциплинарным институтом широкополосных технологий в рамках программы поддержки BCRYPT и программы межуниверситетского взаимодействия, финансируемой правительством Бельгии, а также фламандским исследовательским научным фондом).
Работа этих исследователей называется Scalable Anonymous Communication with Provable Security и принята к программе Hotsec'10, 5'th Usenix Workshop on Hot Topics in Security, проходящей совместно с 19th USENIX Security Symposium с 10 августа 2010 года в Вашингтоне.
В первую очередь исследователи сосредоточились на безопасных p2p-анонимных коммуникациях, основанных на взаимной политике соседних узлов. Во-вторых, они представили PIR-Tor, масштабируемую клиент-серверную архитектуру для анонимных коммуникаций, основанную на приватном получении информации (Private Information Retrieval).
В эру всепроникающей слежки наша онлайновая активность записывается, накапливается и анализируется. Анонимные коммуникации — это базовые технологии увеличения приватности, которые скрывают идентичность связывающихся участников от третьей стороны или идентичность пользователя от удалённой стороны. Сеть Tor на данный момент развёрнута для обслуживания сотен тысяч пользователей. Tor используется для защиты приватности журналистов, диссидентов, добровольных организаторов утечек данных о злоупотреблениях, силами охраны правопорядка и даже посольствами государств.
Ключевая проблема архитектуры Tor — необходимость поддерживать глобальные данные о состоянии системы для того, чтобы выбирать узлы случайным образом. По мере роста сети поддержание глобального отображения системы станет затратным. McLachlan и др. показали, что в ближайшем будущем сеть Tor будет использовать на порядок больше трафика для поддержания этого глобального отображения, на котором строятся анонимные коммуникации.
Существующие даже самые передовые анонимные p2p-системы, обеспечивающие лишь эвристическую безопасность, легко взламываются как пассивными, так и активными атаками. Более того, эти системы слишком сложны и их применимость возможна только в сетях со структурированной топологией. Авторы приводят краткий обзор атак на анонимные p2p-системы на примере дизайна MorphMix, сетей с безопасными операциями запроса DHT. Все они дают существенную утечку информации об инициаторе и сторонах соединения.
Первое предложение авторов — это создание p2p-анонимных коммуникаций на основе взаимной политики соседних узлов, которая работает даже в неструктурированных топологиях. Ключевой момент состоит в обходе таблиц отпечатков соседних узлов в топологии, т.е. если враждебный узел X попытается исключить честный узел Y из своей таблицы отпечатков, то честный узел Y также исключит злонамеренный узел X из своей таблицы отпечатков. Авторы формально доказывают, что взаимная политика соседних узлов не даёт никаких преимуществ противнику. Также они показывают механизмы для защиты самой этой политики, как в неструктурированных, так и в структурированных топологиях.
Во-вторых, PIR-Tor может выдерживать значительную долю скомпрометированных узлов в сети. Вместо опрашивания центральных директорий достаточно опросить небольшое число случайных узлов. Это является ключом к масштабируемости архитектуры, а использование PIR-техник защитит клиентов против пассивных атак от злонамеренных серверов.
В модели угрозы анонимных систем с низкой задержкой не предусмотрено сопротивление глобальному наблюдателю. Рассматривается ограниченный наблюдатель, который контролирует f узлов. Даже в сети с большим числом узлов могущественный противник, такой как правительства или крупные организации, потенциально может ввести большое число узлов в сеть, например развернув ботнет. Ботнеты размером 20000 узлов представляют реальную угрозу анонимным системам.
В протоколе взаимных политик соседних узлов пути создаются путём случайного обхода. Инициатор сначала устанавливает цепочку со случайным соседним узлом (отпечатком) A, а затем запрашивает у A его таблицу отпечатков. Затем инициатор выбирает случайный узел B через таблицу отпечатков A и расширяет свою цепочку до B через A. Путём повторения этих шагов устанавливается цепочка необходимой длины. Если узел попытается склонить случайных обход к злонамеренным узлам, то его вероятность самому быть выбранным в качестве промежуточного узла уменьшается, вплоть до сведения эффекта атаки к нулю.
При наличии дополнительных ограничений злонамеренные узлы самоизолируются в небольших участках топологии. Кроме того, политика взаимного исключения удивительно эффективна против активных атак на случайный обход, не увеличивая угрозу пассивных атак. Исследователи смоделировали этот механизм с помощью цепочек Маркова и вывели вероятности соответствующих событий.
В неструктурированных топологиях соседская политика может быть использована совместно с социальными сетями. Предусматривается совместное использование доверенного сервера с таймслотами, который хранит сведения о соседях, но за счёт использования методов слепой подписи не может анализировать эту информацию. За счёт поддержки соседской политики этим сервером, злонамеренный узел X не может сказать узлу Y, что тот включён в сертификат X, поскольку тот не включил Y в свои данные в процессе случайного обхода. По мере увеличения роста числа подписей n в каждый таймслот, поддержание такой статистики и работа с ней станет затратной. Для увеличения масштабируемости предлагается, что сперва все узлы пошлют хэш от своих таблиц маршрутизации доверенному серверу. Затем сервер построит дерево хэшей Меркла над этими сообщениями и подпишет корень дерева. Наконец, сервер пошлёт подпись корня дерева помимо log n хэшей для каждого узла, что позволит узлам доказывать, что они являются частью таблицы отпечатков дерева Меркла, подписанного доверенным сервером. Вычислительные расходы на это будут только n log n хэш-операций на каждый таймслот, а расход трафика только O(nlogn), в отличие от O(n2) в текущей архитектуре Tor. Случайный обход в социальных сетях также устойчив к Сибилл-атакам.
Если в сетях с неструктурированной топологией всё ещё требуется доверенный центральный сервер (хотя такие сети и перспективны с точки зрения противодействия атакам перехвата трафика), то в сетях со структурированной топологией авторы предлагают другой протокол. При этом подразумевается наличие инфраструктуры открытого ключа (PKI), которая используется для проверки назначенных идентификаторов Tor-узлам, но в отличие от существующего на данный момент обычного дизайна сети Tor, не требуется никакого онлайнового взаимодействия с доверенной стороной.
Основная идея в том, чтобы сопоставить каждому узлу сертификат, подписанный его отпечатками. Этот сертификат содержит список отпечатков узлов. Ключевое свойство, которое требуется применить к этому сертификату, состоит в том, что узел должен иметь возможность создавать только единственный сертификат за таймслот, который является глобально проверяемым. Глобальная проверяемость должна гарантировать, что соседние узлы могут проверить этот сертификат и принять решение о его включении в свою собственную таблицу отпечатков и каждый узел в сети также должен иметь возможность проверить сертификат для безопасного процесса случайного обхода. Единственный проверяемый сертификат в таймслоте гарантирует, что узел X не может сказать узлу Y, что тот включен в сертификат X путём предоставления другого сертификата, который не включает Y в процессе случайного обхода.
Для уникальности сертификатов в таймслотах применяется методика проверки дистанции. Для проверки уникальности узлы вычисляют среднюю дистанцию между оптимальными отпечатками, основанными на структуре топологии отпечатков, перечисленных в сертификате. Если дистанция больше порогового значения, то сертификат отбрасывается.
PIR-Tor
Защита анонимных коммуникаций в peer-to-peer сетях чрезвычайно сложное дело. Для гарантии случайного выбора узлов в качестве переотправителей коммуникации в проектах безопасных систем делается предположение, что идентификаторы узлов распределены равномерно и случайно в пространстве идентификаторов, а доля злонамеренных узлов не выше 20%. Сегодня сеть Tor имеет всего-лишь около 2500 узлов и если их сейчас перевести на peer-to-peer архитектуру, то для противника будет несложно внедрить 500 узлов для пересечения 20%-ного порога. Новая предполагаемая архитектура способна выдерживать компрометацию такого же количества узлов, как и в текущей сети Tor, но позволяет значительно увеличить сеть.
Пользователям не нужно будет больше получать полный список узлов сети от центральных серверов директорий. Достаточно знать только несколько узлов, чтобы построить случайную цепочку. Однако знание только нескольких узлов сети делается пользователя уязвимым к атакам на получения пассивных отпечатков маршрута от злонамеренной директории, даже в модели "честный-но-любопытный", что является текущей моделью угрозы для Tor, также как и для его расширений. Следует отметить, что злонамеренные серверы представляют собой реальную угрозу: ранее сервер директорий Tor уже был взломан.
В PIR-Tor используется модель приватного получения информации для решения проблемы масштабируемости Tor. Центральные серверы содержат базы данных IP-адресов доступных Tor-маршрутизаторов, а клиенты получают отдельные данные по узлам путём такого запроса, повторяя его столько раз, сколько им требуется для построения цепочки. Это уменьшает расходы на трафик при передаче всего списка. В тоже время этот протокол сохраняет приватность пользователя против враждебных серверов директорий. За счёт применения PIR-протокола результат такого выбора также безопасен, как если бы клиент скачал весь список и выбрал узлы самостоятельно. При этом требуется минимальное внесение изменений в существующую архитектуру Tor, а в дополнение система получает гарантии доказуемой безопасности.
В сети Tor клиенты не выбирают узлы полностью случайно, а в соответствии со значительными ограничениями. Например, первый узел должен быть сторожевым (стабильным в смысле значительного нахождения по времени в онлайне), а последний узел должен быть исходящим. В PIR-Tor информация о каждой политике и аптайме маршрутизатора также включается в базу данных, однако это замедляет приватный поиск. Для этого серверы директорий планируется разделить на три типа: только для исходящих, промежуточных и входящих узлов. Поскольку многие серверы включены сразу в несколько этих категорий, то потребуются дополнительные запросы. Предусмотрено оптимизированное представление сторожевых узлов и учёт пропускной способности.
Симуляция производительности Tor-сети проводилась при использовании схемы приватного получения информации Кушевитца-Островского, основанной на гомоморфном шифровании Гольдвассера-Миккали с размером ключа 1024 бита. PIR-протокол является информационно-теоретически стойким и позволяет множеству серверов хранить копию базы данных, так что клиент может запрашивать все из них для получения информации. Это безопасно, пока t из l серверов не сотрудничают в злонамеренном сговоре.
По данным симуляции время на получение одного IP-адреса Tor-маршрутизатора слабо возрастает в зависимости от количества узлов, миллисекунды:
Nodes | 1500 | 2500 | 5000 | 10000 | 15000 | 20000 |
CPIR | 2.3 | 2.9 | 4.2 | 6.0 | 7.2 | 7.9 |
Источник: ESAT/COSIC, IBBT-K.U.Leuven