Мало кто будет спорить с утверждением, что на сегодняшний день системы дистанционного электронного голосования (ДЭГ, Internet Voting) являются одной из самых обсуждаемых тем в сфере информационных технологий и информационной безопасности. Особенно громко и активно об этом говорят именно в нашей стране из-за бурной подготовки к единому дню голосования в сентябре 2021 года, которому был посвящён целый круглый стол на недавно прошедшей конференции РусКрипто’21. Хотя такое довольно сложно представить, но эта тема стала даже более обсуждаемой, чем блокчейн (возможно, из-за того, что блокчейн пытаются применять и здесь, но подробнее об этом поговорим позже). И у этого есть вполне себе понятная причина: без преувеличения можно сказать, что задача создания «идеальной» системы электронного голосования — это серьёзный вызов не только IT и информационной безопасности, но и всему обществу.
После краткого лирического вступления, которое мы привели дабы вписаться в каноны хорошей статьи, давайте сразу перейдём к делу. Мы не будем говорить о том, как устроены существующие системы ДЭГ, ни зарубежные, ни отечественные, мы даже почти не будем говорить о криптографии, хотя, поверьте, и там существует много открытых задач. Мы предлагаем поговорить о том, какой должна быть идеальная система голосования, что вообще такое «система ДЭГ» и какие в ней существуют проблемы, выходящие за рамки техники и криптографии.
На пути демократии
Согласно международному пакту о гражданских и политических правах (1966 год) каждый гражданин имеет право голосовать на подлинных периодических выборах, проводимых на основе всеобщего и равного избирательного права при тайном голосовании и обеспечивающих свободное волеизъявление избирателей (статья 25).
Таким образом, мы сразу приходим к следующим основным требованиям к любой системе голосования:
- Все поданные голоса должны быть учтены и учтены корректно (подлинные выборы).
- Возможность голосования должна быть предоставлена всем лицам, обладающим активным избирательным правом (всеобщее право).
- Один избиратель — один голос, не допускается «двойное» голосование (равное право).
- Голосование должно быть анонимным (тайна голосования).
- Голосование должно исключать возможность какого-либо контроля за волеизъявлением гражданина или принуждения к нему (свободное волеизъявление).
При этом голосование не должно создавать предпосылок для манипуляций на основе политических взглядов, поэтому также должна отсутствовать возможность подсчёта промежуточных итогов голосования до его завершения, так как в противном случае это может привести к воздействию на волю гражданина.
Не менее важным является недопущение общественных разногласий, что приводит к требованию прозрачности процесса голосования (его открытости и гласности). Ярче всего, на наш взгляд, обоснование данного требования приведено в статье [1]:
«The purpose of an election is not just to select a winner, but to convince the loser, and their supporters, that they lost. Trust in the voting process is, therefore, an essential element to any voting system»
Перевод: Цель выборов — не просто выбрать победителя, но и убедить проигравшего и его сторонников в том, что они проиграли. Таким образом, доверие к процессу голосования является неотъемлемым элементом любой системы голосования.
Можно мыслить об идеальной системе голосования, удовлетворяющей всем вышеуказанным требованиям, как о распределяющей шляпе из всем известной вселенной Гарри Поттера, которую нужно всего лишь научить арифметике для подсчёта голосов и надеть на каждого избирателя. Но к сожалению, такого инструмента у нас в распоряжении нет и надо работать с тем, что есть.
На пути цифровизации
Традиционная система голосования была и остаётся самой используемой формой осуществления волеизъявления, как наиболее понятная для избирателей и полностью управляемая человеком. Однако очевидная проблема, что данная форма перестаёт удовлетворять нуждам современного общества, со временем становится более ощутимой. Человек начинает чаще пользоваться интернет-технологиями для удалённого управления своей жизнью, поэтому появление альтернативных электронных форм голосования не стало сюрпризом.
Одной из таких форм является Дистанционное электронное голосование (ДЭГ) или Internet Voting. В отличие от других форм электронного голосования, которые используют размещаемые непосредственно на избирательных участках технические устройства для печати и/или сканирования бумажных бюллетеней, ДЭГ предоставляет избирателям возможность осуществлять волеизъявление дистанционно, без необходимости личной явки на специально оборудованные участки.
Несмотря на то, что использование данной технологии влечёт за собой массу проблем (о которых мы будем говорить далее), международное сообщество не сдаётся и продолжает её развивать. (активно в этом принимают участие, например, Эстония и Швейцария). Связано это со следующими неоспоримыми преимуществами ДЭГ:
- Это удобно для избирателей, которые могут теперь голосовать в любом месте. Это решает проблему не только малоподвижных граждан или граждан, находящихся не по месту прописки на момент голосования: в свете бушующей пандемии коронавируса, идея лишний раз не выходить из дома покажется привлекательной для большинства избирателей. Такая возможность, в свою очередь, приводит к другому преимуществу, а именно, к увеличению явки, что позволяет выявить более релевантное мнение.
- Так как подсчёт голосов осуществляется автоматическим способом, он становится быстрее и точнее (лишён ошибок, вызываемых человеческим фактором).
- Дешевизна и простота процесса подготовки выборов. Действительно, при наличии таких систем не надо привлекать большое количество людей для организации процесса и арендовать специальные обширные площадки.
При этом достоинства системы не ограничиваются указанными выше, к ним также относят и скорость исправления ошибок в тексте бюллетеней, уменьшение количества испорченных бюллетеней и некоторые другие свойства (подробнее см. [2]). Все они весьма привлекательны и очень греют душу организациям, ответственным за проведение выборов, но, к сожалению, придётся добавить ложку дёгтя в бочку мёда, а точнее — целый половник.
Если в любом поисковике набрать «Internet Voting», то сразу же натыкаешься на статьи скорее с негативными, чем вселяющими надежду на светлое будущее заголовками: «ДЭГ — это по-настоящему плохая идея[3]», «Почему ДЭГ — это опасность для демократии[4]» и т.д.
Откуда растут ноги у таких статей? Это зависть приверженцев традиционной формы голосования? Страх перед чем-то новым и непонятным? В данной статье мы предлагаем провести расследование и разобраться, почему отношение к ДЭГ такое неоднозначное.
На пути признания проблем
Представьте себе процесс голосования в его традиционном варианте: вы приходите на участок, показываете паспорт, получаете бюллетень (обычный листок с вариантами выбора), в закрытой кабинке ставите галочку за нужного кандидата и бросаете бюллетень в урну. После окончания голосования ответственная комиссия вытряхивает урну и осуществляет подсчёт. Согласитесь, сложно представить что-то более простое и понятное.
А теперь опишем тот же процесс, но в дистанционном формате: вы из дома через браузер заходите на сайт голосования, проходите аутентификацию (например, по паролю и смс-коду), после чего вам отображается бюллетень. Вы, убедившись, что никто не подсматривает, кликаете на нужного кандидата и жмёте кнопку «проголосовать». После окончания голосования система голосования автоматически осуществляет подсчёт.
С первого взгляда кажется, что и тут все просто и понятно. Однако в отличие от традиционного варианта, где есть только люди, урна и бумага, в дистанционном случае за красивыми интерфейсами, отображаемыми избирателям, стоят нетривиальные протоколы и тонны программного кода. В этом и заключается корень возникающих в ДЭГ проблем, а именно, в логической и технической сложности системы. При этом, данная сложность — это не следствие некачественного проектирования системы, а её неотъемлемое свойство. Действительно, все преимущества ДЭГ появляются благодаря использованию сложных технологий: Интернета и сопутствующих технических решений для удалённого доступа и автоматизации процесса.
Далее мы обсудим некоторые, с нашей точки зрения, острые проблемы, отмечая, что приведённым нами списком они не исчерпываются. При рассмотрении этих проблем мы старались оставаться максимально беспристрастными, не преуменьшая и не преувеличивая их серьёзности. В то же время, мы старались оставаться в позитивном ключе, не оставляя проблемы без предложений путей их решения, которые обсуждаются в мировом сообществе.
Ну что ж, поехали!
От доверия к контролю: проблемы децентрализации
Одним из основных принципов, используемых при разработке систем, где участники не доверяют друг другу (так как могут преследовать различные интересы), является принцип децентрализации. Так, например, в традиционных системах голосования подсчёт голосов осуществляется комиссиями, состоящими из независимых участников, представляющих конкурирующие стороны.
Для дальнейшего обсуждения данного принципа в рамках электронного голосования детально раскроем понятие децентрализации:
Ответственность за корректное выполнение критичных функций, например, аутентификацию избирателей, выдачу анонимных бюллетеней, приём заполненных бюллетеней и их хранение, подсчёт голосов, должна быть разделена между несколькими участниками процесса. С точки зрения безопасности, это означает, что в системе должны быть обеспечены все целевые свойства (тайна волеизъявления, неизменность голосов и т.д.), даже если некоторые участники ведут себя «нечестно» и выполняют свои функции некорректно.
Руководствуясь этими принципами, специалисты по безопасности создают распределённые протоколы в виде системы противовесов из нескольких участников, которые контролируют друг друга. В теории этих участников просто характеризуют, как «независимых»: «есть Алиса, есть Боб, считаем, что они не вступают в сговор». Такие протоколы обычно используют сложную криптографию, для них даже существуют строгие математические доказательства того, что они обеспечивают целевые свойства в предположении независимости определённых участников. Однако при попытках имплементировать такой протокол на практике, разработчики сталкиваются с проблемой: а где взять этих «независимых» участников и как гарантировать их независимость?
Ответы на эти вопросы кроются непосредственно в идее самого процесса голосования. Ведь, что такое голосование по своей сути? Это соревнование между различными мнениями в обществе и их лидерами (различные партии, различное отношение к тем или иным изменениям в стране), то есть противоборствующие стороны в данном процессе присутствуют априори. Кажется, что, если использовать данный «ресурс независимости» при выборе ответственных за выполнение тех или иных функций, все проблемы будут решены. Но не все так просто...
Проблемы децентрализации при аутентификации
Рассмотрим подробнее функцию идентификации и аутентификации избирателей.
В некоторых системах ДЭГ данная функция реализуется путём разовой выдачи гражданам персонифицированных устройств (например, токенов или sim-карт с ключами) или идентификационных данных, как, например, в Швейцарии, с помощью которых они будут проходить аутентификацию при всех дальнейших голосованиях. Однако в масштабах такой большой страны, как Российская Федерация, такой путь является сложно реализуемым, так как на выдачу таких устройств уйдёт много времени, от их утери никто не застрахован, да и проблемы централизации при выдаче полностью не исчезают. Поэтому оставим эту скользкую тропинку.
Более простым способом является делегирование аутентификации уже существующей в стране системе идентификации и аутентификации, в которой зарегистрировано большинство избирателей и которая обеспечивает достаточный уровень безопасности и доверия к результатам аутентификации. Такой подход реализуется в Эстонии. Данная система должна идентифицировать и аутентифицировать пользователей в лице граждан страны и, поэтому, подразумевает регистрацию пользователей по удостоверяющим документам с тем, чтобы обеспечить юридическую значимость совершаемых пользователями действий. С точки зрения голосования, необходимо, чтобы данная система была отделена от системы ДЭГ. В нашей стране такой системой является ЕСИА (единая система идентификации и аутентификации). Ещё одной системой является ЕБС (единая биометрическая система), однако эта система является достаточно новой, и поэтому в ней пока не зарегистрировано достаточное количество избирателей, чтобы можно было ею пользоваться в ближайшее время в рамках электронного голосования.
Проблемы децентрализации при волеизъявлении
Переходя к основной части процесса голосования, мы сталкиваемся с новыми сторонами проблемы децентрализации. Если говорить о голосовании в масштабах целой страны, то выдача анонимных бюллетеней, приём заполненных бюллетеней и их хранение становятся критичными и с точки зрения технической нагруженности. Только представьте, компонент, отвечающий, например, за приём бюллетеней, должен быть в состоянии параллельно обрабатывать в пиковые моменты десятки, а может быть и сотни тысяч запросов. Более того, компоненты, имеющие внешние интерфейсы, должны быть защищены от DDoS атак, которые в данной системе перестают быть чем-то второстепенным, так как надёжность и доступность являются не менее важными, чем другие целевые свойства. Таким образом, высоконагруженные функции должны реализовываться специально подготовленными центрами обработки данных (ЦОД), которые оснащены надёжным техническим оборудованием и обслуживаются квалифицированными специалистами. Вряд ли каждый участник процесса обладает таковым ЦОД. При этом отметим, что применение блокчейн-технологии, которая, казалось бы, предназначена для повышения отказоустойчивости, не может полностью решить данную проблему. Действительно, блокчейн-технология как криптографический протокол может обеспечить, например, сохранность и валидность поданных голосов только при условии, что доля корректно функционирующих (т.е. «честных») узлов является достаточно большой. Однако если существенное количество узлов не выдерживают нагрузки и сбоят, то они становятся, по сути, нечестными узлами, что может привести к превышению критической для протокола доли нечестных участников и, как следствие, нарушению целевых свойств безопасности.
Как решать перечисленные выше проблемы?
В случае невозможности передачи определённых элементов системы под управление независимых участников в системах ДЭГ должны были предусмотрены механизмы аудита и контроля со стороны наблюдателей, например, представителей партий, и самих избирателей. Система должна позволять
- избирателям убедиться в том, что их бюллетень не был утерян или модифицирован;
- наблюдателям убедиться в том, что за каждым принятым бюллетенем стоит реальный избиратель (не было вбросов);
- наблюдателям убедиться в том, что подсчёт голосов был произведён корректно.
Механизмы аудита должны позволять бесспорно устанавливать факт некорректного функционирования системы, в том числе для исключения возможности саботажа выборов со стороны избирателей или наблюдателей, которым оказались не по нраву итоги голосования.
В случае использования централизованной федеративной системы аутентификации аудит может быть реализован следующим образом. Система аутентификации передаёт в систему ДЭГ подтверждение об успешной аутентификации каждого конкретного избирателя без возможности в дальнейшем отказаться от него (это может быть реализовано, например, с помощью электронных подписей, обеспечивающих свойство неотказуемости). Данные подтверждения далее предоставляются уполномоченным наблюдателям для проверки, в том числе, путём прямого опроса избирателей о факте прохождения аутентификации. Это может быть выборочный обзвон или рассылка с уведомлениями по почте или смс. В случае обнаружения подлога избиратели должны иметь возможность подать жалобу. Большое количество жалоб дискредитирует систему аутентификации, что может привести к привлечению к ответственности лиц, отвечающих за данную систему (в английском языке есть подходящая для этого фраза: skin in the game — «шкура на кону»).
Описанный выше подход не является панацеей и имеет свои недостатки, например, те же наблюдатели, получив персональные данные избирателей, могут их продать. Отметим, что это лишь путь, по которому можно двигаться и который нужно «расчищать» общими усилиями экспертов. Спешить нельзя, так как упущение маленькой лазейки может оказаться критичным для безопасности всей системы.
От тайного к явному: проблемы доверия к ПО
Представим, что нам удалось спроектировать близкую к идеальной систему ДЭГ, все эксперты на нее посмотрели и одобрили. Осталось лишь подготовить программно-аппаратное обеспечение и дело в шляпе. Однако даже если закрыть глаза на технические трудности, связанные с созданием быстрой, безопасной и безошибочной реализации компонентов, встаёт логичный вопрос о доверии, а именно
- почему можно считать, что в реализации нет закладок или каких-либо уязвимостей?
- как можно удостовериться, что в боевой системе будет функционировать правильное программное обеспечение?
Традиционно первая проблема решается независимым аудитом программного кода. Для проанализированных реализаций считаются контрольные суммы, которые могут быть проверены при установке на конечные устройства.
Однако указанный подход не позволяет решить вторую проблему, а именно, не даёт возможность заинтересованным лицам убедиться, что на компонентах, неподконтрольных им, функционирует проверенное экспертами программное обеспечение. Например, такая проблема встаёт в случае использования процедуры разделения ключа расшифрования бюллетеней с помощью некоторого выделенного для этой цели устройства. Даже если эта процедура проводится гласно под контролем наблюдателей и СМИ, сложно убедить их в том, что им не подсунули кота в мешке.
Подходом к решению этой проблемы может являться экспертиза таких устройств несколькими независимыми организациями, их последующее опечатывание и безопасное хранение/уничтожение, а также внедрение механизмов аудита выполнения программного кода и результатов голосования (и снова мы приходим к необходимости вовлечения в процесс как можно большего количества экспертов и широкомасштабным исследованиям).
От слепой веры к осознанному пониманию: проблемы квалификации избирателей
Разделение ответственности, всесторонняя экспертиза, возможность контроля и аудита — все это инструменты для обеспечения безопасности системы на практике. Открытые спецификации и программный код позволяют экспертному сообществу проанализировать систему, сформировать своё мнение о ней и поделиться им на открытых площадках для обсуждения. Конечно, наивно полагать, что каждый избиратель является экспертом и сможет разобраться в системе без соответствующего образования и опыта, поэтому им остаётся принимать решение о том, доверять системе или нет, на основании мнений экспертов (и это ещё одна причина, почему так важно, чтобы этих экспертов было как можно больше).
В целом, можно на этом и остановиться, но помимо формирования доверия к системе у обычных избирателей существует и другая важная задача, а именно, обучение избирателей, как правильно пользоваться системой голосования. И вот почему это так важно.
Почти в любой системе ДЭГ избиратель должен отправить уже заполненный бюллетень так, чтобы этот бюллетень нельзя было связать с конкретным пользователем по так называемому цифровому следу/отпечатку, например, по времени аутентификации и времени отправки бюллетеня или по IP-адресу. Если для решения первой проблемы достаточно попросить избирателей выждать некоторое время перед отправкой и не голосовать в периоды низкой активности, то для решения второй проблемы обычно предлагают использовать дополнительные технические средства, такие как прокси-сервера, VPN. Большинство избирателей даже не знает эти термины, не то что умеет пользоваться этими технологиями. Поэтому важно обучить избирателей работе с такими средствами, предоставив для этого удобные инструменты.
Помимо обучения правильному порядку волеизъявления, необходимо уведомить избирателей о наличии у них дополнительной роли по аудиту и контролю за процессом (при наличии таковой в системе). Необходимо пояснить, в чем состоит процесс аудита и почему он важен. В том числе должно быть рассказано, куда обращаться, если избиратель заметил подлог. Для вовлечения обычных избирателей в этот процесс могут быть введены методы поощрения граждан, осуществляющих аудит.
Таким образом, активное взаимодействие с избирателями при подготовке к голосованию позволит не только повысить доверие к системе, но и улучшить её безопасность, поэтому оно стоит потраченного времени и усилий.
Выводы
Описанные в статье проблемы являются лишь верхушкой айсберга, а подходы к решению этих проблем требуют детальной проработки. Как было явно сказано на круглом столе Рускрипто, для того, чтобы развить технологию ДЭГ до состояния признания всеми экспертами, нужно много времени и усилий всех вовлечённых в процесс.
Поэтому можно сказать, что сентябрь 2021 — это очередной необходимый шаг на тернистом пути к идеальной системе электронного голосования. Реализация системы и порядок её применения в боевых условиях будут неминуемо отклоняться от теоретических описаний и моделей. Как следствие, это позволит выявить те аспекты безопасности, которые теоретикам и практикам важно будет совместно уточнить и проработать.
- https://www.csoonline.com/article/3269297/online-voting-is-impossible-to-secure-so-why-are-some-governments-using-it.html
- http://www.eods.eu/library/IDEA.Introducing-Electronic-Voting-Essential-Considerations.pdf
- https://www.motherjones.com/politics/2019/11/online-voting-problems/
- https://engineering.stanford.edu/magazine/article/david-dill-why-online-voting-danger-democracy