Сб. Июл 24th, 2021

    Переход от плохого к худшему: от интернет-голосования к блокчейн-голосованию

    Перевод статьи Going from Bad to Worse: From Internet Voting to Blockchain Voting 

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

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

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

    Что еще более важно: учитывая нынешнее состояние компьютерной безопасности, любое увеличение явки, полученное в результате голосования через Интернет или блокчейн, будет стоить потери уверенности в том, что голоса были подсчитаны так как они были отданы, а не изменены или отброшены. 

    Такое положение дел будет сохраняться до тех пор, пока будут эффективны стандартные компьютерные атаки, такие как вредоносные программы, уязвимости нулевого дня и атаки типа «отказ в обслуживании».

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

    1. Введение

    Компьютеры и интернет принесли огромную пользу: повысили эффективность, надежность, масштабируемость и удобство многих аспектов повседневной жизни. Некоторые, естественно, спрашивают: «почему бы нам не проголосовать онлайн?” Голосование онлайн кажется невероятно удобным: всего несколько нажатий на телефоне из любого места, не нарушая свой распорядок дня, не отрываясь от работы и не стоя в очереди. Однако голосование в Интернете имеет фатальный недостаток.

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

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

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

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

    Более того, онлайн-голосование не может увеличить явку избирателей. Исследования влияния онлайн-голосования на явку избирателей

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

    Последние исследования в США демонстрируют значительные демографические диспропорции в владении смартфонами (например, по полу, доходу и образованию)

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

    Ярким примером является мобильное приложение для голосования на основе блокчейна «Voatz», развернутое в 2018 году в Западной Вирджинии для иностранных военных избирателей на промежуточных выборах в США, а также в ряде других штатов США для менее масштабных (муниципальных/окружных) выборов.

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

    Система голосования на основе блокчейна также была использована в Москве, для проведения выборов в городской совет в сентябре 2019 года. Когда был опубликован ее системный код, он был проверен исследователями безопасности пригласили ее проверить и, система была показана как крайне уязвимая — причем дважды (второй раз после исправления уязвимостей, указанных в первом исследовании). И хотя Москва конструктивно отреагировала на первое сообщение об уязвимости, но, по-видимому, в значительной степени проигнорировала второе. Япония и Швейцария также провели небольшие эксперименты по голосованию на блокчейне.

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

    Устранение многих недостатков безопасности, которые были обнаружены в существующих системах голосования, также широко задокументированы для избирательного оборудования США. Однако политическая целесообразность принятия «высокотехнологичного» решения также создает риск того, что предложения могут быть рассмотрены слишком быстро, прежде чем будет выделено достаточное время и финансирование для проведения независимых аудитов и получения обратной связи от экспертов по безопасности. К новым технологиям следует подходить с особой осторожностью, ведь ошибка может подорвать демократический процесс. В конце концов, избирательные системы были определены как критическая инфраструктура национального значения. 

    Таблица 1: четыре категории систем голосования. Верхний ряд (зеленый) не зависит от программного обеспечения и гораздо менее уязвим для серьезных сбоев, чем нижний ряд (красный). Нижний ряд очень уязвим и поэтому непригоден для использования на политических выборах, как поясняется далее в разделе 2.

    Удивительная сила бумаги Естественная, но ошибочная тенденция состоит в том, чтобы полностью заменить существующие методы голосования новейшими цифровыми технологиями. Некоторые спрашивают: «Зачем ждать в очереди на избирательные участки, чтобы отдать голоса на неуклюжих старых машинах для голосования, когда голоса могут быть поданы с компьютеров и телефонов избирателей через Интернет — с использованием тех же протоколов безопасности, защищающих интернет-магазины, банковские операции, криптовалютные транзакции?”

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

    Профили безопасности для интернет-магазинов и интернет-банкинга отличаются от профилей безопасности для избирательных систем двумя ключевыми моментами:

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

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

    Однако для выборов не может быть никакой страховки или регресса против провала демократии: нет средства “сделать избирателей снова целыми” после скомпрометированных выборов.

    Пользователи биткоина и других криптовалют потеряли сотни миллионов долларов из-за кражи, мошенничества или ошибки. Криптовалюты имеют меньше механизмов поглощения рисков, чем традиционные банковские операции; потери часто несут сами жертвы, и никакая третья сторона не может оказать им помощь.

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

    С точки зрения компьютерной безопасности, обеспечение безопасности системы онлайн-голосования — это совершенно другое дело и более сложная проблема, чем обеспечение безопасности интернет-магазинов или банковской системы.

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

    1.1 Минимальные требования к безопасности выборов

    Выборы, основанные на фактических данных «Принцип «выборов, основанных на фактических данных» заключается в том, что… должностные лица избирательных органов должны не только найти истинного победителя(ей) выборов, но и… предоставить электорату убедительные доказательства того, что они это сделали.” 

    Это обязательно означает, что избирательная система должна быть проверяемой

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

    Далее мы выделяем пять минимально необходимых, но недостаточных требований для обеспечения безопасности выборов  врамках доказательной базы: (1) тайна голосования; (2) независимость программного обеспечения; (3) поддающиеся проверке избирателями бюллетени; (4) возможность оспаривания; (5) аудит.

    1. Тайна голосования

    Тайна голосования имеет важное значение для борьбы с коррупцией и принуждением избирателей. Как выразился Верховный суд США “широко распространенный и проверенный временем консенсус демонстрирует, что тайна голосования необходима для того, чтобы служить… непреодолимым интересам в предотвращении запугивания избирателей и фальсификации выборов.” 

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

    Действительно, исследователи избирательного права отмечали, что «принуждение избирателей было самым большим препятствием для целостности выборов до введения тайного голосования, факт, хорошо известный не только историкам, но и читателям Великой художественной литературы XIX века”

    2. Независимость программного обеспечения

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

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

    Например, система для сбора бюллетеней, сбора и подсчета голосов должна будет создать след доказательств с соответствующей процедурой проверки, чтобы проверить, что система: (1) записала голоса так, как предполагалось, (2) собрала их так, как было записано, и (3) подсчитала их как собранные, в каждом конкретном случае. 

    Основное вопрос независимости  программного обеспечения остается открытым — кем ошибки должны быть обнаружены?. Правильный ответ на этот вопрос зависит от контекста, но  с помощью вышеуказанного трехэтапного алгоритма, отдельные избиратели должны быть в состоянии обнаружить ошибки в (1) и (2), и любой должен быть в состоянии обнаружить ошибки в (3).

    Кто может проверить (1) и (2), ограничивается требованием о тайне голосования. Без Независимости программного обеспечения необнаруженная ошибка в фрагменте кода может привести к необнаруженной или неподтвержденной ошибке в исходе выборов — а, как обсуждалось в § 2 наше современное состояние далеко от достижения безошибочного кода. 

    Демократия и результаты голосования не могут зависеть от того, правильно ли некоторые непроверяемые программы записали выбор избирателей.

    3. Поддающиеся проверке избирателями избирательные бюллетени

    Еще до голосования избиратель, составляющий бюллетень, должен иметь возможность лично убедиться в том, что подготовленный им бюллетень отражает его предполагаемый выбор. Бумажные бюллетени по своей сути обеспечивают простую проверку того, что бюллетени учитываются правильно: свойство, которое трудно достичь для электронных избирательных систем. “При использовании бумажного бюллетеня с ручной маркировкой отметки на бюллетене обязательно отражают то, что сделал избиратель, и мы можем быть достаточно уверены в том, что читаемая человеком отметка на бюллетене предназначена для кандидата, фактически выбранного избирателем. Избиратель, глядя на заполненный им бумажный бюллетень, может непосредственно увидеть, отмечен ли его предполагаемый выбор (и, в принципе, обнаружить любые допущенные им ошибки).

    4.Состязательность

    Независимость программного обеспечения сама по себе оставляет нерешенным еще один вопрос: когда обнаруживается ошибка, может ли тот, кто ее обнаружил, убедить других, что ошибка действительно произошла? Некоторые типы ошибок могут быть публично обнаружены, что делает несущественным второй вопрос (ведь каждый может запустить процедуру проверки для себя). Однако некоторые процедуры проверки могут быть непубличными: например, определенные ошибки, связанные с голосованием данного избирателя, могут быть обнаружены только этим конкретным избирателем. Конкурсная система голосования — это система, которая предоставляет публично проверяемые доказательства того, что результаты выборов не заслуживают доверия, всякий раз, когда обнаруживается ошибка.

    5. Аудит

    Как уже упоминалось, помимо того, что выборы поддаются аудиту (что для систем подбора и подсчета голосов соответствует независимости программного обеспечения и состязательности), они должны подвергаться аудиту. Аудит проверяет достоверность доказательств для систем сбора и подсчета голосов и их соответствие объявленным результатам выборов. Для проведения выборов, основанных на фактических данных, необходимы как проверяемость, так и аудит. Такой аудит должен включать в себя аудит соответствия требованиям и аудит, ограничивающий риски. Кроме того он должен  с достаточно высокой вероятностью обнаруживать любое нетипичное поведение программного обеспечения.

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

    1.2 Категории систем голосования

    В данной статье предлагаются четыре основные категории систем голосования, определяемые двумя ключевыми системными атрибутами (также представленными в таблице 1):

    1. Принимаются ли голоса на избирательном участке лично или дистанционно?
    2. Есть ли в системе поддающиеся проверке избирателями бумажные бюллетени или бюллетени представлены в ином формате, не поддающемся проверке избирателями?

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

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

    Однако почти все предложения, выставляемые в качестве «интернет-голосования”, “мобильного голосования” или «блокчейн-голосования», включают дистанционное голосование через Интернет с электронной записью голосов; все такие схемы относятся к категории: право-вниз.

    Соответственно, эта статья использует слова “интернет-голосование” и «блокчейн-голосование” для обозначения схем внизу справа.

    Мы рассматриваем «блокчейн-голосование “как подкатегорию «интернет-голосования», поскольку все блокчейн-предложения по голосованию передают информацию через Интернет.

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

    Важно отметить, что системы верхнего ряда программно независимы, а системы нижнего ряда — нет.

    Мы считаем нижний ряд непригодным для политических выборов в обозримом будущем из-за отсутствия у них программной независимости и большего риска компромисса по сравнению с соответствующими альтернативами в верхнем ряду. Разделы 2-3 объясняют этот повышенный риск.

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

    В отличие от этого, если избиратели изолированы на физических избирательных участках, принудители или покупатели голосов не могут знать, что голос действительно отдан, что делает принуждение и покупку голосов неэффективными. 

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

    В ряде недавних законодательных актов, предложенных в США, признается необходимость использования бумажного голосования (т. е. верхняя строка таблицы 1 ) и выдвинуты требования о бумажных бюллетенях. Например, безопасный акт требует: прочных бумажных бюллетеней; чтобы избиратели могли проверять маркированные бюллетени перед подачей; чтобы избиратели с ограниченными возможностями имели эквивалентную возможность голосовать (включая конфиденциальность и независимость) с другими избирателями; чтобы технология голосования производилась внутри страны; и других основных требований безопасности, таких как герметизация.

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

    Сфера применения и терминология в данной статье термины  “онлайн-голосование” и “интернет-голосование” используются синонимично, в соответствии с распространенным употреблением, для обозначения любой системы, в которой избиратели голосуют через Интернет, включая блокчейн-системы и мобильные системы голосования. Мы используем термин «электронное голосование» для обозначения любой системы, в которой голоса

    отдаются исключительно в электронном виде (например, нижняя строка таблицы 1), онлайн-голосование — это разновидность электронного голосования.

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

    Эта статья посвящена системам голосования и подсчета голосов (в центре внимания последних онлайн и блокчейн систем по голосованию). 

    2 уязвимости систем электронного голосования

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

    Мы называем это серьезными опасностями: ситуации, когда результаты выборов были изменены (будь то простая ошибка или целенаправленная атака), и изменение может быть необнаружимым или даже если оно будет обнаружено, быть непоправимым без проведения новых выборов.

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

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

    К сожалению, независимые наблюдатели и наблюдатели имеют ограниченные возможности для предотвращения таких угроз: ни одна группа не имеет бесконечных средств, времени и опыта. Признавая такие ограничения, мы выделяем две категории уязвимостей “showstopper”, которые эффективно устраняют способность избирательных органов предотвращать или устранять серьезные сбои.

    1. масштабируемые атаки: если затраты противника на вмешательство в выборы намного меньше, чем затраты защитника затраты на предотвращение таких атак, попытки предотвратить, исправить или даже обнаружить сбои могут оказаться невозможными на практике. Масштабируемые «оптовые» атаки, влияющие на результаты выборов, гораздо опаснее, чем “розничные” атаки, затрагивающие лишь несколько голосов.

    2. необнаруживаемые атаки: если злоумышленник может изменить результат выборов без какого-либо реального риска того,, что изменение будет замечено (избирателями, должностными лицами по выборам или аудиторами), атаку становится невозможно предотвратить или ослабить.

    2.1 Системные атаки

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

    позволить злоумышленникам получить доступ к информации и/или иным образом изменить работу системы. Очевидно, что эксплуатация может обеспечить противнику невероятное количество контроля над цифровыми системами, позволяя масштабировать и скрывать атаки.

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

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

    Хуже того, любая коммуникация между системой и внешним миром может привести к эксплуатации: даже если устройство не подключено к интернету, т. е. вредоносное ПО может быть установлено на подсоединяемые устройства, например через USB и другие съемные носители.

    Системные атаки невероятно масштабируемы и экономически эффективны. Возможно вы удивитесь, что насколько могут быть недорогими вредоносные инструменты масштаба выборов. В 2012 году уязвимость «нулевого дня» Android стоила примерно 60 000 долларов. Чтобы сделать консервативную оценку, мы можем предположить, что создание, тестирование и использование эксплойта и связанных с ним вредоносных программ может увеличить стоимость на два порядка до $6 000 000. Хотя это и может показаться солидной суммой, общие расходы на предвыборную кампанию одного кандидата на президентских выборах в США в 2016 году составили примерно 768 миллионов долларов.

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

    После подготовки уязвимость может быть использована много раз, и даже однократное использование может повлиять на многие голоса.

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

    Устройства уязвимы, и отсутствует цифровая защита.

    Безопасность устройств зависит от множества различных организаций. Уязвимости могут оставлены поставщиком программного обеспечения для голосования, поставщиком аппаратного обеспечения, производителем оборудования или любой третьей стороной, которая поддерживает или поставляет код для этих организаций. Избиратель, использующий телефон для голосования, зависит не только от производителя телефона, но и от аппаратных компаний, предоставляющих драйверы для устройства, процессора основной полосы частот, авторов стороннего кода в программном обеспечении для голосования, производителя физического устройства, а также от сети или любой другой системы, на которые устройство полагается для голосования. Это также вызывает геополитические опасения: где производятся устройства и кто контролирует сеть избирателей?

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

    2.2 Атаки на системы, используемые на практике

    Исследователи неоднократно доказывали, что избирательные электронные устройства уязвимы даже без прямого подключения к Интернету. Например, документ 2006 года продемонстрировал, что система голосования, используемая большей частью Мэриленда и Джорджии, была небезопасной и легко эксплуатируемой, и более поздние анализы показали, что такие системы не улучшились.

    Были также предприняты попытки электронного голосования, связанного с интернетом, и было показано, что оно в равной степени уязвимо. Были проанализированы системы Интернет-голосования в округе Вашингтон, Эстонии и Швейцарии, и все из них оказались уязвимыми к серьезным угрозам.

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

    2.3 Бюллетени для голосования по почте

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

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

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

    2.4 Сквозное проверяемое голосование

    Некоторые многообещающие недавние предложения называются сквозными проверяемыми системами голосования (E2E-V), используют криптографические методы и размещение зашифрованных бюллетеней на публичной доске объявлений таким образом, что избиратели могут проверить был ли их голос включен в окончательный подсчет голосов. Сквозная проверяемость является желательной характеристикой для добавления либо к системам голосования на основе бумажных бюллетеней, либо к электронным системам голосования, однако она не решает основные проблемы, описанные в этом разделе. (Бумага, вероятно, является ключевым компонентом в предоставлении квитанций в практической системе E2E-V.) 

    Таким образом, любая электронная система, даже если она поддается сквозной проверке, кажется непригодной для политических выборов в обозримом будущем. Фонд голосования США отметил перспективность методов E2E-V для повышения безопасности онлайн-голосования, но опубликовал подробный отчет, рекомендующий избегать их использование в онлайн-голосовании до тех пор, пока технология не станет гораздо более зрелой и полностью протестированной.

    Существуют иные предложения расширить эти идеи. Например, Джуэлс и др. предлагает использование криптографии для обеспечения ряда форм «сопротивления принуждению».” Предложение Кларксона и др. внедряет дополнительные механизмы сопротивления принуждению, которые Иовино и др. в последующем включили в развитие их системы Селена. С нашей точки зрения, эти предложения новаторские, но не реалистичные: они довольно сложны, и самое главное, их безопасность зависит от того, что устройств избирателей не будут скомпрометированы, что является нереалистичным предположением. Они также включают сложный этап регистрации, когда избирателям может потребоваться посетить одного или нескольких регистраторов, чтобы надежно зарегистрировать свои криптографические ключи. Поскольку они полагаются на допущение о нескомпрометированности личных устройств, то могут позволить себе не использовать бумагу вообще.

    2.5 Важность прозрачности

    Программное обеспечение является сложным; очень трудно создать его правильно, и ошибки программного обеспечения являются обычным явлением. Кроме того, если программное обеспечение реализует механизмы безопасности, оно должно быть не только правильным, но и обеспечивать надежную гарантию

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

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

    уверенность в том, что они не содержит серьезных ошибок или дыр в безопасности.

    Раскрытие критически важных для безопасности конструкций систем для проверки экспертами и даже «врагом» считалось хорошей практикой безопасности с 19 века (принцип Керкхоффа). Хотя интуиция подсказывает что секрет архитектуры системы усложняет задачу противника, однако отсутствие тщательного изучения делает систему более доступной для уязвимостей, которые могли остаться незамеченными. Более того, сохранение в тайне архитектуры системы неосуществимо для широко используемых систем, что подчеркивает важность гарантий безопасности, которые сохраняются даже в том случае, когда архитектура раскрыта. Таким образом, критически важное для безопасности программное обеспечение с закрытым исходным кодом несет в себе гораздо более высокий риск и неопределенность, чем альтернативы с открытым исходным кодом. Соответственно, системы голосования должны отдавать предпочтение раскрытию

    дизайна системы и кода, когда это возможно.

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

    3 Блокчейн как избирательная урна

    Некоторые недавние предложения утверждают, что использование технологии блокчейн повышает безопасность электронного голосования. Мы показываем, что блокчейны не решают проблемы, обсуждаемые в §2, и могут привести к новым проблемам.

    Начнем с рассмотрения технологии блокчейн (§3.1,§3.2). Те, кто знаком с технологией блокчейн, могут пропустить эти подразделы. Затем §3.3 вновь подчеркивает и приводит примеры, иллюстрирующие, что блокчейн-голосование все еще является онлайн-голосованием и, таким образом, страдает той же уязвимостью к серьезным сбоям, описанным в §2. §3.4 обсуждает как электронное голосование на основе блокчейна может создать дополнительные проблемы для избирательных систем. Наконец, §3.5 описывает голосование, используемое в технологии блокчейн, которое мы отличаем от голосования на политических выборах.

    3.1 Обзор технологии блокчейн

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

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

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

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

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

    В отличие от Биткойна, протоколы голосования E2E (см. §2.4) обычно требуют аутентифицированной доски объявлений или такой, где какой-либо орган голосования подписывает содержимое, чтобы указать, что это согласованная доска для выборов.

    3.2 Как создать блокчейн-интерфейс

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

    Соглашение. Распределенный консенсус — это проблема, когда многие компьютеры соглашаются на одно значение при наличии сбоев. До биткойна разработчики консенсусных протоколов предполагали, что набор участников известен, и полагались на отправку сообщений всем. Основная инновация, лежащая в основе биткойна, — это беспроблемный распределенный консенсусный протокол, безопасность которого основана на стимулах, известный как консенсус Накамото. Биткойн использует технологию proof-of-work, чтобы выбрать следующий блок в блокчейне. В Биткойне “работа” означает вычисление частично фиксированного хэша. Участники, которые выполняют эту работу, известны как майнеры.

    Первый майнер, нашедший прообраз, транслирует свой блок в биткойн-сеть и, как только блок принят, получает оплату в биткойнах, указанных в произведенном им блоке; это называется вознаграждением за блок. Вознаграждение за блок состоит как из новоиспеченного биткоина, так и из транзакционных сборов за транзакции, включенные в блок. Майнеры должны потратить много вычислительных циклов, чтобы найти этот прообраз — это создает расходы на электроэнергию и ее стоимость преобладает в эксплуатационных расходах. Из-за этого большинство майнеров тяготеют к географическим местам с дешевой энергией, и многие крупные майнеры базируются в Китае. Гарантии безопасности консенсуса Накамото действуют только в том случае, если большинство компаний майнеров ведут себя честно (т. е. следуют протоколу).

    Некоторые криптовалюты реализуют более новый тип консенсусного протокола, называемого proof-of-stake, который гораздо менее энергоемкий. Эти протоколы больше похожи на традиционные консенсусные протоколы, за исключением того, что набор участников определяется тем, кто держит долю или монеты в системе. Гарантии безопасности этих протоколов действуют только в том случае, если определенная часть заинтересованных сторон (т. е. владельцев монет) ведет себя честно.

    Появление протоколов без разрешений заставило многих по-новому взглянуть на распределенные базы данных, где разные узлы баз данных управляются разными организациями. Эти типы баз данных иногда называются разрешенными блокчейнами, потому что, подобно блокчейнам, они являются проверяемым журналом записей, однако отличаются тем, что набор участников ограничен и определяется заранее (узлам требуется разрешение для присоединения к системе). Эти протоколы повышают отказоустойчивость и могут даже терпеть некоторую долю вредоносных узлов (обычно до трети). Технология распределенных баз данных может повысить устойчивость баз данных к компьютерным сбоям. Однако мы увидим, что это не решает основных проблем с электронным голосованием из §2.

    Идентификация. Пользователи создают цифровую подпись для авторизации транзакции, которая будет добавлена в блокчейн, возможно, тратя монеты. В системе нет “идентификатора пользователя», кроме самого ключа подписи, и у пользователя может быть много несвязанных ключей подписей. Узлы в сети проверяют подписи и проверяют, что каждая партия транзакций поддерживает финансовые инварианты, например, у плательщика должно быть достаточно средств для траты, и/или монеты создаются в соответствии с согласованным графиком. В блокчейне без связанного токена узлы могут проверять другие правила, относящиеся к конкретному приложению.

    Умные контракты. Блокчейны могут поддерживать более сложные операции, чем просто передача монет: например, монеты могут передаваться условно, с помощью скриптов или смарт-контрактов. Например, в Биткойне монеты могут быть заблокированы на определенный период времени или требовать нескольких подписей для перевода. Блокчейны, такие как Ethereum, поддерживают еще более функциональные смарт-контракты: сеть Ethereum функционирует как единый глобальный компьютер, на котором работают различные программы смарт-контрактов — к ним относятся такие приложения, как игры, биржи и рынки предсказаний.

    Тайна сделки. По умолчанию блокчейны не держат детали транзакций в секрете: все биткойн-транзакции являются публичными. Ключевая особенность технологии блокчейн заключается в том, что транзакции поддаются проверке, а публичная проверяемость, похоже, противоречит секретности. В разрешенных блокчейнах участники, управляющие блокчейном, могут ограничить доступ на чтение к блокчейну. Это может быть полезно для ограничения утечки данных, но это имеет свою цену: те, кто не имеет доступа, не могут загрузить и проверить блокчейн. В блокчейне без разрешений (например, Биткойн), набор участников не ограничен, поэтому вся история транзакций является публичной. Некоторые криптовалюты используют доказательства нулевого знания (zero-knowledge), чтобы скрыть детали транзакции (участников транзакции и сумму) при сохранении контроля. Доказательство с нулевым знанием достоверно показывает, что какое-то утверждение истинно, не раскрывая, почему это утверждение истинно. Например, используя доказательство нулевого знания, я мог бы убедить вас, что знаю решение конкретной головоломки судоку, не раскрывая истинного ответа. Доказательства нулевого знания были изобретены за много десятилетий до технологии блокчейн и могут быть полезны для электронных систем голосования (особенно систем E2E-V), хотя их одних недостаточно.

    Приложения. Блокчейны имеют применение и за пределами криптовалют. Например, IBM использует блокчейн Hyperledger Fabric для записи происхождения продуктов питания, проходящих через цепочку поставок. Участники включают данные производителей, поставщиков, производителей и розничных торговцев, и цель состоит в том, чтобы “предоставить авторизованным пользователям мгновенный доступ к актуальным данным о цепочке поставок продовольствия от фермы до магазина и, в конечном счете, к потребителю.”

    Everledger — это компания, стремящаяся отслеживать алмазы с помощью технологии блокчейн. Ее цель — «создать защищенную и постоянную цифровую запись происхождения, характеристик и права собственности актива». Обратите внимание, что эти приложения требуют, чтобы субъекты делали записи в блокчейне об активах и операциях в реальном мире.

    3.3 Технология блокчейн, применяемая к голосованию

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

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

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

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

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

    и не является исчерпывающим, но демонстрирует проблемы, которые применимы ко многим проектам.

    Монеты как голоса. Вот предложение “соломенного чучела” о «блокчейне как урне для голосования», которое подчеркивает несколько моментов, сделанных в этом разделе. Орган по голосованию, который ведет реестр избирателей, заставляет каждого зарегистрированного пользователя создать пару открытых/закрытых ключей, и каждый пользователь отправляет свой открытый ключ в реестр. Затем реестр избирателей тратит по одной монете на каждый открытый ключ. Чтобы проголосовать, каждый пользователь тратит свою монету на кандидата по своему выбору. Через некоторое время каждый может посмотреть блокчейн, подсчитать монеты каждого кандидата и выбрать победителя с наибольшим количеством монет.

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

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

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

    В-третьих, дизайн “соломенного чучела” работает только в том случае, если блокчейн правильно реализует интерфейс публичной доски объявлений. Если блокчейн скомпрометирован — например, если большинство майнеров или валидаторов вступают в сговор, то они могут создать несколько версий блокчейна, чтобы показать его разным людям, посеяв раздор. Или они могут подвергать цензуре голоса определенных пользователей. Несколько криптовалют подверглись этим типам атак, где их блокчейны были переписаны. Блокчейны часто называют «неизменяемыми», но эти атаки показывают, что что это не всегда верно на практике, особенно для небольших блокчейнов.

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

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

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

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

    Доказательства нулевого знания для тайных бюллетеней. Некоторые схемы криптовалютных систем держат содержание транзакций в секрете, в то же время позволяя публичной проверке определенных финансовых инвариантов обойти конфликт (описанный выше) между секретностью и публичной проверяемостью. Эти схемы используют доказательства нулевого знания, упомянутые в §3.2. Например, Zerocash и его последующая реализация в криптовалюте Zcash обеспечивают экранированные транзакции, которые не раскрывают суммы, отправителей или получателей. Несмотря на это, эти сделки и финансовые инварианты по-прежнему поддаются публичной проверке, как и публичные блокчейн-транзакции.

    Можно было бы использовать эти методы для модификации схемы “соломенного чучела” для поддержки экранированных транзакций. Хотя это означало бы, что данные о транзакциях больше не будут публично видны, полученная схема все еще была бы далека от обеспечения тайны голосования. 

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

    Важно отметить, что ставки на выборах гораздо выше, чем на криптовалютном рынке. Атака на многих пользователей криптовалют приведет к денежным потерям, а атака на многих избирателей может привести к смене правительства.

    3.4 Введение блокчейнами новых проблем

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

    Эта дополнительная сложность создает проблемы с исправлением ошибок и развертыванием нового программного обеспечения, потому что децентрализованные системы не имеют единой точки контроля, и изменение протокола, даже для устранения уязвимостей, требует координации. Это означает, что развертывание исправлений безопасности в децентрализованной системе занимает больше времени и усилий, чем в централизованной, и блокчейн-системы могут быть уязвимы в течение более длительных периодов времени, чем их централизованные аналоги. Например, один трекер программного обеспечения Биткойн указывает, что в 2020, 27% сети Биткойн по-прежнему уязвимы для CVE-2018-17145, уязвимости отказа в обслуживании потребления ресурсов, раскрытой в 2018 году. В таком критически важном приложении, как голосование, возможность быстрого исправления ошибок в одностороннем порядке может быть очень важна.

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

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

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

    Распределенные консенсусные протоколы и криптографические системы трудно правильно реализовать: Zcash и Monero используют относительно новые криптографические примитивы для обеспечения конфиденциальности, и обе страдают от критических ошибок. Хотя это относится ко всем новым протоколам, но блокчейны вносят свой вклад в эту проблему.

    3.5 Голосование в блокчейнах

    Блокчейн-протоколы и смарт-контракты иногда используют голосование в рамках блокчейна или контрактного приложения. Этот вид «голосования» сильно отличается от основной темы данной статьи, а именно от голосования на политических выборах. Например, в EOS держатели токенов могут голосовать за валидаторов для участия в консенсусном сетевом протоколе и выбирать блоки. Важно устранить двусмысленность использования термина «голосование» здесь: голосование в политическом смысле имеет иные цели и требования безопасности, чем голосование в консенсусном протоколе. Злонамеренно избранный валидатор EOS может замедлить валидацию или утвердить неправильные блоки, что потенциально может повлиять на держателей криптовалюты EOS. Злонамеренные же валидаторы на политических выборах могли бы сделать гораздо хуже.

    Некоторые смарт-контракты позволяют держателям токенов «голосовать» за результаты контрактов. Например, Augur — это протокол для создания рынков предсказаний, работающих на Ethereum, где пользователи могут делать ставки на исход спортивных событий, рыночные движения, погоду и многое другое. Авгур имеет встроенный токен под названием REP. Держатели токенов REP ставят свои токены на голосование по реальным результатам и сообщают о них в смарт-контракт. Держатели REP несут ответственность за участие в контрактных спорах могут быть наказаны (автоматически потеряют часть своих токенов), если не примут участие. Такого рода процессы не отвечают требованиям безопасного голосования на выборах и предназначены для совсем другой цели с другой моделью угроз.

    3.6 Резюме

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

    модернизации.

    4 Критические Вопросы

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

    Этот список не является исчерпывающим, поскольку такая короткая статья не может дать полного руководства по всем вопросам, которые могут быть подняты в связи с “голосованием в блокчейне” или электронным голосованием в целом.

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

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

    • Какие гарантии предоставляет система, если какой-либо из этих субъектов является злонамеренным?
    • Может ли какая-либо из этих групп или любая их комбинация необоснованно контролировать исход выборов?
    • Каковы возможности каждой из этих заинтересованных сторон на каждом этапе избирательного процесса?
    • Что можно сделать для того, чтобы эти субъекты вели себя хорошо? Есть ли здесь кто-нибудь, способный привлечь к ответственности других в списке?

    Цели безопасности и модель угроз: после определения участников выборов можно приступать к разработке модели угроз. Стоит отметить, что избирательные системы часто отличаются друг от друга требованиями, такими как стиль управления, насколько важны выборы (и, следовательно, какие противники ожидаются), а также полномочия участников — все это определяет цели, которые может иметь избирательная система.

    • Какими свойствами безопасности должна обладать система?
    • Что такое модель угроз? Для политических выборов рассматриваемые угрозы должны включать как минимум:

    — Компрометация аппаратного и/или программного обеспечения устройства, возможно, с помощью атак цепочки поставок;

    — Неспособность должным образом зафиксировать выбор избирателя;

    — Ошибки подсчета;

    — Продажа голосов;

    — Искажение следа доказательств;

    — Вброс бюллетеней или их уничтожение;

    • Какие виды вероятных атак не рассматриваются при проектировании системы? (Например, зависит ли безопасность системы от “надежного оборудования” или “надежного программного обеспечения”? Верны ли эти предположения?)
    • Сколько людей должен привлечь на свою сторону противник, чтобы украсть выборы?

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

    • Какие механизмы безопасности предлагаются при проектировании системы?
    • Предназначены ли эти механизмы для предотвращения нарушений безопасности или просто для выявления таких нарушений?
    • Обеспечивает ли система сопротивление принуждению, свободу получения и тайное голосование? Как?
    • Что происходит при обнаружении нарушения безопасности? Хорошо ли система справляется с разрешением споров?
    • Полагаются ли предлагаемые механизмы на конкретное поведение определенных групп (избирателей, должностных лиц избирательных органов и т. д.), Чтобы быть эффективными?
    • Если некоторые, большинство или все компьютеры или устройства системы голосования будут скомпрометированы, каков наихудший эффект, который это может оказать на сообщаемый результат выборов?

    — Будет ли этот эффект надежно обнаружен? Как?

    • Какие механизмы позволяют избирателям и наблюдателям убедиться в том, что система работает так, как она задумана и что на полученные результаты не повлияли действия противника?

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

    • Какие доказательства дает система в подтверждение заявленного результата?
    • Почему эти доказательства должны считаться заслуживающими доверия? Зависит ли достоверность доказательств от каких-либо предположений о правильной работе системы? Требует ли заключение о достоверности доказательств уверенности в том, что одна или несколько компьютерных систем работают правильно? Если да, то являются ли эти предположения достоверными и/или поддающимися проверке?
    • Можно ли проверить эти доказательства? Какие формы аудита поддерживаются? Какие гарантии они дают и кому?

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

    • Кто может проверить конструкцию и работу системы? Нейтральные третьи лица? (В США — федеральный процесс сертификации?) Кто-нибудь проводил проверку безопасности системы, кроме тех, кто имеет финансовую долю в компании?
    • Сколько различных сторон могут проверить? Каковы их опыт и стимулы?
    • Какая достоверная уверенность приходит в результате этих процессов проверки, кому, о чем?
    • Есть ли такая уверенность в тестовой реализации до выборов или в работе системы во время выборов? (Другими словами: проверяет ли верификация систему отдельно от любых выборов или конкретного результата выборов, произведенного с использованием этой системы?)
    • Какой существует надзор/проверка того, что аутсорсинговые компоненты (как люди, так и программное обеспечение) работают по назначению?
    • Что делать, если в коде обнаружена ошибка? Как вы ее обнаруживаете? Как вы к этому относитесь?
    • Если ошибка обнаружена, как вы планируете сообщить об этом общественности? Почему общественность должна верить, что эта ошибка исправлена?
    • Существуют ли условия и ограничения для тех, кто проводит анализ безопасности системы? Позволяют ли они исследователям безопасности публично раскрывать то, что они обнаружили? Могут ли исследователи проводить этот анализ без разрешения компании?
    • Является ли исходный код открытым? Может ли кто-нибудь проверить программное обеспечение или поставщик скрытен?
    • Есть ли у поставщика полная публичная документация об архитектуре системы, целях и ответах на другие вопросы, заданные в этом документе?

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

    • Как управляются ключи?
    • Что произойдет, если один или несколько ключей будут скомпрометированы?
    • Могут ли стороны «сбросить свои ключи» (выбрать новые ключи взамен утерянных или скомпрометированных)?
    • Можно ли злоупотреблять процедурой восстановления?
    • Какие полномочия требуются для голосования?
    • Как избиратели получают эти полномочия?
    • Что произойдет, если учетные данные будут утеряны или украдены?

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

    • Какие инструкции даются избирателям, должностным лицам избирательных комиссий и другим лицам для управления исключительными ситуациями или ошибками? (Например, что должен делать избиратель, если он видит неправильную распечатку или кандидата, отсутствующего в бюллетене?) Какие доказательства позволяют подтвердить ошибку?
    • В какой степени аутсорсинг поставщиков связан с оперативными аспектами выборов? Можно ли доверять результатам выборов, если не доверять поставщикам?
    • Что делать, если во время выборов обнаружится, что система работает неправильно? Как вы это обнаруживаете? Как вы к этому относитесь?
    • Легко разработать систему, которая работает нормально, если все идет так, как ожидалось. Как предлагаемая система справляется с неожиданными сбоями и нарушениями безопасности?
    • Может ли избиратель достоверно доказать, как он голосовал за третью сторону? (Это нарушило бы тайну голосования)

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

    • Какие неправительственные организации получают доступ к каким данным? Когда и как долго хранятся эти данные?
    • Знают ли избиратели об этих субъектах? Задокументированы ли они публично?
    • Существуют ли какие-либо правовые ограничения для любого из этих субъектов? Например, существуют ли договорные обязательства по использованию либо удалению данных? Например, есть ли у них публичная, подлежащая исполнению политика конфиденциальности?

    5 Сопутствующие работы

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

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

    Коллекция соответствующих онлайн-ресурсов доступна на веб-сайте Дункана Бьюэлла. Наконец, мы не можем удержаться от упоминания прекрасного комикса XKCD о блокчейн-голосовании!

    6 Заключение

    Ниже приводится краткое изложение выводов этой статьи.

    1. Технология блокчейн не решает фундаментальных проблем безопасности, с которыми сталкиваются все электронные системы голосования (§3). Более того, блокчейны могут создать новые проблемы, от которых не будут страдать системы голосования на иной основе.
    2. Электронные, онлайн и блокчейн системы голосования более уязвимы к серьезным сбоям, чем доступные альтернативы на основе бумажных бюллетеней (§2). Более того, учитывая современное состояние компьютерной безопасности, они будут оставаться таковыми и в обозримом будущем.
    3. Добавление новых технологий в системы может создать новый потенциал для атак. Особая осторожность уместна в критически важных для безопасности приложениях, особенно там, где политическое давление может способствовать ускоренному внедрению. (§3.4).

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

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