id: Гость   вход   регистрация
текущее время 13:41 28/03/2024
Владелец: unknown (создано 03/10/2011 14:45), редакция от 03/10/2011 18:28 (автор: SATtva) Печать
Категории: криптография, анонимность, приватность, анализ трафика, симметричное шифрование, распределение ключей, протоколы, прослушивание коммуникаций, цензура, микс-сети, атаки, отрицаемое шифрование, человек посередине
https://www.pgpru.com/Новости/2011/h00tЦензурозащищённыйАнонимныйШифрованныйОбменДаннымиЧерезTwitterИДругиеСервисы
создать
просмотр
редакции
ссылки

03.10 // #h00t: цензурозащищённый, анонимный, шифрованный обмен данными через Twitter и другие сервисы


Политические протесты в разных странах, начавшиеся в Египте и Тунисе, показывают достаточно высокую и нетривиальную роль, которую играют в их координации сервисы простого и быстрого обмена информацией по интересам — такие как Facebook и Twitter. И если в крайних случаях, как например в ходе свержения государственного строя в Египте, интернет может быть полностью отключен на значительное время, чтобы лишить граждан возможности получать информацию из неконтролируемых властями источников, то в более мирных обстоятельствах цензура может носить более ограниченный характер.


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


Исходя из такого сбалансированного понимания проблемы борьбы с цензурой, исследователи Dustin Bachrach, Christopher Nunu, Dan S. Wallach, Matthew Wright (кафедры компьютерных наук университетов Райс и Арлингтон, Техас, США), предложили систему #h00t.


Система #h00t, которая пока существует на уровне концепт-протокола, сможет превратить микроблогинг и потенциально другие открытые сервисы (FaceBook, BitTorent) в сети анонимного, цензурозащищённого, закрытого по сообществам контента, с применением свойства правдоподобной отрицаемости (по аналогии с сетями FreeNet и GNUnet).


В идеале никакой модификации самих сервисов не требуется. Система сможет работать поверх них. При этом самим пользователям не нужно будет выполнять какой-либо сложный протокол согласования или сверки ключей (наподобие создания сети доверия ключей PGP/GnuPG или проверки сертификатов SSL). По мнению авторов, система будет жизнеспособна в плане широкого распространения при условии, что пользователям вообще ничего не нужно будет знать ни о ключах, ни о криптографии. Хотя, следует отметить, что данный протокол эффективен лишь для небольших тайных групп пользователей.


Криптографические ключи выводятся из механизма hashtag Твиттера. Обычные тэги в Твиттере имеют, например, вид #usenix — для конференции Usenix. Протестующие в Египте использовали тэги #tahrir, #jan25, #25jan, #egypt. Однако, такие тэги могут содержать небольшое количество пользователей и выглядеть предосудительными для цензоров. В то время как безобидные и популярные тэги собирают гораздо больше народа. Например тэг #nsn3d связан с обсуждением документального фильма в 3D-формате о поп-исполнителе Джастине Бибере, собрал до 9 миллионов подписчиков, с этим тэгом было опубликовано 164 тысячи твитов, (в среднем по 1.6 твитов в минуту и с более высокими пиковыми значениями), что достигало до 1% трафика всего Твиттера в середине весны 2011 года.


Первоначальная идея исследователей состояла в том, чтобы создать коллизию хэшей тэгов, например, с такими популярными тэгами как #nsn3d и выводить криптографический материал для расшифровки сообщения из хэштэга. Это давало бы некоторую степень отрицаемости ("Какие такие протесты? Я всего лишь фанат Джастина Бибера!"). Конечно, это было бы совсем идеально, если бы можно было также легко имитировать сообщения фанов Бибера и вставлять в них какой-то смысл, внедрив туда ещё и текстовую стеганографию. Но это по мнению авторов нереалистичное и неприемлемое решение.


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

Модель угрозы


#h00t спроектирован для защиты от цензора, способного наблюдать весь #h00t-трафик и имеющего возможность блокировать любой твит, какой он захочет. Противник блокирует доступ к Твиттеру по SSL или осуществляет атаку "человека посредине", чтобы прослушивать постинги и осуществлять выборочное блокирование на основании идентифицирующих данных отправителя, ключевых слов содержимого или по самим хэштэгам. При этом цензор не блокирует доступ ко всему сервису и не желает по ошибке блокировать безобидные с его точки зрения дискуссии, чтобы не подогревать недовольства масс.


Сам Твиттер не считается активно сотрудничающим с цензором, хотя в некоторых случаях система может считаться применяемой и на недоверяемых сервисах.


К сожалению, в модели требуется функционирование некоего неподвластного противнику #h00t-сервера (аналога прокси), но далее будет рассмотрено, как авторы пытаются справиться с этим уязвимым местом. Также подразумевается, что среди группы Twitter-конспираторов нет доносчиков, предателей, внедрённых агентов, сотрудничающих по принуждению или потерявших секретные сведения в ходе прослушивания или взлома компьютеров, но особенности работы в такой ситуации авторы также рассматривают в обсуждении в конце работы.

Цели системы


Основная цель системы проста: дать возможность пользователю послать защищённое сообщение приватной группе частных лиц. Они должны иметь возможность прочесть открытый текст сообщения также легко, как если бы они пользовались обычным интерфейсом Твиттера.


При этом необходимо решить множество задач:


Простое распространение ключей. Необходимость сохранить использование системы как можно более простым способом, отвергает методы инфраструктуры PGP/GPG. Вместо этого ключ должен распространяться из уст в уста, от человека к человеку внутри группы. Для этого авторы предлагают вычислять ключи от открытого текста хэштэга группы, который работает как групповой пароль. Достаточно ввести его в h00t-клиент, чтобы получить ключ.


Защита от цензуры и атак отказа в обслуживании. Противник может заблокировать #h00t-группу, но при этом пострадают и другие, несвязанные с данной группы (защита от тонкой, но не грубой цензуры).


Анонимность получателя. #h00t за счёт использования шифрованных хэштэгов и выделения из них коротких тэгов смешивает получателя и подписчика с подписчиками и получателями множества других групп.


Отрицаемость для подписчика. Если пользователь системы #h00t окажется под физическим принуждением раскрытия того, на какие тэги он подписан, он будет иметь возможность правдоподобно лгать. За счёт тщательного подбора групп с коллизиями хэштэгов, он может выбрать безобидную группу (фанатов Джастина Бибера #nsn3d, невинных обсуждений религиозных проблем в группах #Bible или #Quran; в темах, которые можно представить как увлечения или профессиональную деятельность).


Анонимность и отрицаемость для отправителя. Для отправителя #h00t предоставляет лишь ограниченную защиту. Он имеет некоторую правдоподобную отрицаемость из-за коллизий хэштэгов его постов с другими топиками. Это запутает пассивного наблюдателя, но если активный атакующий вынудит его расшифровать посты, то #h00t не даст ему защиты. Здесь нужен или децентрализованный P2P-микроблоггинг, такой как BirdFeeder (но авторы ставили своей целью всё же популярный централизованный Twitter) или использование анонимизирующих сетей, таких как Tor — для сокрытия личности отправителя при контакте с Твиттером.


Атаки переотправки. Злонамеренный пользователь или владелец сервиса может не только удалять сообщения, но и размещать их повторно. Сообщения вида "встреча на площади сегодня в полдень", могут быть неверно истолкованы при отправке второй раз. Должен быть механизм распознавания дубликатов.


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


Секретные информаторы и сотрудничающие по принуждению пользователи. Вероятность похитить групповой ключ или принудить раскрыть его через кого-то из участников группы очень высока. Необходим механизм быстрого распространения нового ключа среди сохранивших доверие участников.


Совместимость. #h00t должен быть прозрачно совместим с Твиттером, включая механизмы поиска и следования интересующим сообщениям.


#h00t не ставит своей задачей скрывать сам факт пользования этой системой от цензора. Если пользователя поймут и оценят такие полезные свойства #h00t как защиту приватности сообщений, аутентификацию группы, целостность и анонимность получателя, то довольно большое число людей сочтут удобным использовать #h00t для приватного микроблоггинга, преследуя иные цели, несвязанные с уходом от цензуры. Чем больше пользователей будут его использовать, тем неудобнее цензору будет блокировать #h00t-сообщения на Твиттере.


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


Образец преобразования твита в #h00t:


TweetLong TagShort TagHoot
1 Its all bout the #bieber 100%Belieber9txrq71tfn89tx#9tx Xrtfn...
2 Don't be a drag; just be a queen whether you're broke or #CharlieSheen7prQnd121f27pr#7pr n771r...
3 #free-egypt We'll meet at the usual, 11pm.2p7rtfx9pa12p7#2p7 pp76a...
4 #free-egypt-9rqt We'll meet at the usual, 11pm.9tx79srpLtt9tx#9tx 18yyQ...

Противник может блокировать #h00t-сообщения, короткий тэг которых не соответствует известному открытому тэгу поп-звёзд. При этом возможны ложно-положительные срабатывания. Тогда организатор #h00t-группы может менять открытые тэги, проявляя изобретательность в выдумывании темы про обсуждение новой причёски поп-звезды, её хит-сингла, поведения на ток-шоу и т.д.
Разумеется, прикрытие в виде звёзд поп-индустрии рассмотрено здесь только в качестве примера информационного шума, используемого для построения скрытых каналов связи. Хотя исследователи отмечают, что и сами поп-звёзды могут тайно помогать заокеанским "фанатам", выдумывая всё больше новых тэгов, тем самым затрудняя блокирование.


Для генерации шифрованных тэгов, шифрования и аутентификации сообщений использозованы стандартные алгоритмы SHA-1, AES в режиме счётчика и HMAC-SHA1. Авторами исследована производительность системы, возможность генерации покрывающего трафика.


Сложность системы состоит в необходимости иметь #h00t-сервер. Его функционирование затратно, а доступ к нему самому может быть заблокирован. Идеально было бы уговорить саму компанию, содержащую Twitter на внедрение такого протокола, но это также может оказаться малореалистичным, так как не входит в её интересы. Можно запустить такой прокси #h00t-сервер, который бы считывал все сообщения с Твиттера и отправлял бы их обратно в шифрованном виде. Тогда там была бы перегрузка из-за двойного постинга и такой сервис может не понравиться самим владельцам Твиттера.


Хотя анонимность всех членов группы является хорошим качеством, она позволяет выдавать пользователям себя за другого (например лидера группы) и отправлять вводящие в заблуждение сообщения. Возможность подписей и хэш-цепочек авторы рассматривают для будущих исследований.


Важным авторы считают и то, чтобы на сам Twitter или прокси-сервер не отправлять открытый хэш-тэг (они и так являются излишне доверяемыми или сотрудничающими в этом протоколе, но это ещё облегчило бы и блокирование #h00t-твитов). Пользователь должен проделывать операцию шифрования локально, используя специальный клиент, что однако может быть не использовано на начальном этапе развёртывания системы из-за сложностей разработки приложения с простым интерфейсом для всех окружений, включая разнообразные мобильные устройства. Дешифрование возможно проводить при помощи исполнения javascript на клиентской стороне, непосредственно в браузере. Отправка и получение #h00t-сообщений не должны выделяться при анализе трафика при SSL-подключении к Твиттеру.


При передаче ключей не стоит полагаться только на совершенно "ручной" способ, иначе пользователи смогут создавать, запоминать и передавать только самые простые пароли (открытые тэги). Авторы предлагают также передачу случайным образом сгенерированного пароля посредством современных мобильных устройств, оснащённых средствами близкой коммуникации (WiFi, BlueTooth, ИК-порт, считывание штрихкодов с экрана на фотокамеру и даже акустическую передачу данных). Так можно защититься от подбора пароля по словарю. Также в протоколе рекомендовано использование очень ресурсоёмких функций получения ключа из открытого тэга (scrypt), которе замедляют построение таблиц перебора не только за счёт ресурсов процессора, но и расхода памяти.


Источник: Cryptography and Security Archive


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