Dissent — протокол анонимной связи малых закрытых сообществ

в 7:09, , рубрики: анонимность, информационная безопасность, метки:
Предисловие


Для понимания работы dissent надо вспомнить классическую работу Дэвида Чаума (основоположника идей практической реализации сетевой анонимности), опубликованную в 1988 году и протокол «обедающих криптографов (dining cryptographers)».

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

Криптографы знают, что этим доброжелателем мог быть один из них, но, кроме того, им мог быть АНБ. Они хотят выяснить, действительно ли заплатил за обед один из них, или это дело рук АНБ. Но при этом они очень тактичны, Если заплатит кто-то из них, то они будут уважать право на анонимность и не будут выяснять, кто же заплатил. Но им будет интересно получить ответ на вопрос в такой форме: «заплатил кто-то из присутствующих или всё-таки АНБ?». Для этого нужно провести анонимную широковещательную передачу одного бита информации.
Каждый криптограф бросает монету. И показывает результат (орёл или решка) своему соседу справа. Таким образом есть три броска монетки, и каждый криптограф знает результат двух из них. Далее, каждый из них говорит вслух следующую информацию: одинаковые два результата он видел, или разные, но с одним исключением: тот из них, который заплатил за обед говорит наоборот, т.е. если он видит два разных результата, говорит «одинаковые», если видит два одинаковых, говорит «разные».

Если число различий за столом — нечётное, то обед оплачен кем-то из криптографов, если чётное — то АНБ. При этом если обед всё-таки оплатил криптограф, то двое других на основании сделанных всеми заявлений не могут узнать, что это был он.

Однако данный протокол непрактичен. При увеличении числа участников пропускная способность падает экспоненциально. Из-за коллизий при попытке одновременно передать сообщения на передачу одного байта может тратиться от 2n до 2^n байтов, где n — число участников.
Поэтому данный протокол долгое время не имел никакого практического применения, хотя в течении многих лет предпринимались попытки его улучшения (протоколы «криптографы на дискотеке» и др. ).

Рассмотрение работы


Henry Corrigan-Gibbs и Bryan Ford из Йелльского Университета (США) предоставили открытый доступ к черновому варианту работы Accountable Anonymous Group Messaging — «Анонимные групповые сообщения со свойством ответственности», в которой получили развитие идеи Чаума и произведена попытка решения сопутствующих проблем.

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

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

Исследователи представили первый протокол такого рода, удовлетворяющий этим условиям, названный Dissent (Dining-cryptographers Shuffled-Send Network). Dissent обеспечивает доказуемую целостность, анонимность и подотчётность перед лицом угроз мощных методов анализа трафика и наличия скомпрометированных участников. Экспериментальный прототип показывает его эффективность к передаче сообщений, для которых несущественна задержка, среди малых, но широко распространенных групп. В противоположность mix- и DC- сетям, Dissent использует shuffled send (примитив перетасованной отправки), делая возможным каждому участнику группы пересылать ровно одно сообщение за раунд и делая возможным голосование с назначением псевдонима для привязки псевдонима для участников группы по принципу «один к одному». В отличие от криптографических перетасовок с проверкой, Dissent использует только широко доступные криптопримитивы и оперирует сообщениями произвольной длины в условиях дисбаланса нагрузки так эффективно, что один участник может производить утечку многогигабайтного документа в то время, когда другим нечего посылать.

Две стадии Dissent — перемешивание и накопление. Протокол перемешивание основан на работах Брикеля и Шматикова по перемешиванию сообщений фиксированной длины от каждого и анонимной передаче всем участникам группы. Для предотвращения DoS-атак используются техники go/no-go и «осуждения» для отслеживания нечестных участников протокола.

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

Разумеется, Dissent имеет ограничения. Он не подходит для широкомасштабных обменов сообщениями в среде открытого доступа или для файлообменных сетей, хотя может использоваться для них как отдельный строительный блок. Dissent эффективен в малых закрытых группах и неэффективен в больших группах. Dissent также не является системой голосования общего назначения, так как он предоставляет только ограниченную форму защиты от принуждения. Задержки в протоколе перетасовки делают также непрактичным его использование в приложениях, чувствительных к таким задержкам. Исследователи протестировали рабочий прототип Dissent в среде Emulab на группах до 44 участников, соединённых эмулированными каналами передачи. Анонимное распределение сообщений размером до 16 MB на 16 узлов даёт задержку 100 миллисекунд между узлами, перетасовка Dissent и другие стартовые процедуры создают задержку 1.4 минуты, но с учётом использования как сбалансированных так и несбалансированных загрузок большими сообщениями это занимает время в 3.5 большее, чем требуется для неанонимной передачи по TCP всем участникам группы. В зависимости от размера группы, Dissent позволяет отправлять анонимные сообщения размером 1 MB менее, чем за минуту для группы из четырёх участников, 4 минуты для группы из 20 узлов и 14 минут для группы из 40 узлов.

Автор: 3ffff

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js