Может ли система дистанционного онлайн-голосования решить проблему доверия и безопасности в процедуре волеизъявления граждан? Могут ли последние разработки российских криптографистов устранить страхи и риски, вызванные многочисленными примерами компрометации традиционных систем выборов в прошлом?
- Введение
- История разработки федеральной системы ДЭГ
- Развитие федеральной системы ДЭГ в области безопасности
- «Пришла беда откуда не ждали…»
- Практика голосований
- Голосование 2023 года
- Московская система ДЭГ
- Нужны ли системы ДЭГ?
- Выводы
Введение
7 августа 2023 года, за месяц до единого дня голосования в РФ, Минцифры сообщило, что на портал госуслуг поступило уже более 400 тыс. заявлений для дистанционного (онлайн) участия в голосовании. В этом году оно будет проводиться 10 сентября и охватит 25 регионов, находящихся в пяти часовых поясах. Избирателям предстоит выбрать депутатов Госдумы и региональных парламентов, глав субъектов и органов местного самоуправления. Лидерами по подаче заявок стали пять регионов: Московская область, Алтайский край, Псковская, Воронежская и Нижегородская области.
К текущему моменту в России созданы две системы голосования: федеральная и московская. Их головными разработчиками выступают «Ростелеком» и ДИТ Москвы соответственно.
Речь далее пойдёт прежде всего о федеральной системе дистанционного электронного голосования (ДЭГ), разработанной «Ростелекомом». Она соответствует требованиям сформулированным в марте 2022 года, когда в федеральный закон № 67-ФЗ «Об основных гарантиях избирательных прав» была введена статья 64.1, разрешившая применять ДЭГ на региональных и муниципальных выборах.
Московская система ДЭГ развивается по своему пути, хотя тоже основана на блокчейне, как и федеральная. Пока информации о московской системе онлайн-голосования мало. Хочется надеяться, что в ДИТ Москвы оценят создавшееся положение и рассмотрят возможности для его исправления, предоставив больше сведений о строении и функциях столичной системы ДЭГ.
Добавим к этому, что в 2020 году команда Polys «Лаборатории Касперского» готовила к запуску собственную систему дистанционного электронного голосования на базе российских криптографических алгоритмов. Продукт, получивший название «Polys.ГОСТ», был предназначен для проведения масштабных государственных голосований с участием неограниченного количества избирателей на любом уровне — от муниципального до федерального. Однако этот проект так и не получил полномасштабного внедрения.
Достоинства онлайн-голосования очевидны. Это прежде всего экономия бюджетных средств и времени избирателей. Очевидны и недостатки: боязнь цифровизации, родственная тезисам «все ходы записаны» и «большой брат следит за тобой».
Цель этой статьи — рассказать больше о федеральной системе ДЭГ, обсудить надёжность, достоверность и безопасность учёта голосов в ней. Мы не ставим себе задачу развеять все существующие страхи, потому что карта рисков только формируется. Однако первые оценки в области безопасности можно сделать уже сейчас.
Материалы для этой статьи были подготовлены по результатам конференции, проведенной 19 июля компанией «Ростелеком» при участии Центральной избирательной комиссии РФ (ЦИК РФ) и поддержке компании «Криптонит» - одного из основных участников разработки федеральной системы ДЭГ.
История разработки федеральной системы ДЭГ
Первая версия была создана в «Ростелекоме» в 2019 году. Впервые она была применена на практике в том же году на выборах депутатов Московской гордумы.
Отличительной особенностью этой системы голосования стало применение технологии блокчейна для хранения собранных данных и реализации процедуры подсчёта голосов. Основой стала блокчейн-платформа Waves Enterprise от российской компании Web3 Tech, адаптированная к требованиям ЦИК РФ при участии самого её разработчика. Механизм должен был обеспечить одновременную обработку «более 1000 заявок» (фактически в 2021 году этот показатель вырос до 1700). Общая производительность механизма должна была обеспечить обработку до 10 млн голосов в течение 12 часов.
Обработка каждого голоса первоначально требовала выполнения двух транзакций: для обработки заявки и для электронной подписи. Соответственно, реальная производительность блокчейн-платформы должна была составлять до 463 транзакций в секунду. Позднее система была усовершенствована и процедура обработки разделилась на две транзакции: формирование заявки и окончательная запись.
Логика обработки, а также реализация механизмов защиты прописаны в смарт-контрактах. Обеспечивается выполнение следующих правил:
- гарантированный учёт всех голосов;
- невозможность раскрытия содержания голоса и его принадлежности конкретному участнику;
- невозможность раскрытия результатов до завершения процесса голосования;
- невозможность подделки итогов голосования;
- проверка соблюдения всего вышеперечисленного.
При такой системе подтасовка результатов голосования становится трудноосуществимой. Например, для вброса «неучтённых» бюллетеней потребуется привязка каждого голоса к определённому аккаунту на «Госуслугах». Копирование промежуточных состояний накопленной блокчейн-базы данных наблюдателями также делает невозможным массовый «вброс бюллетеней». Подсчитать текущую раскладку голосов до окончания процедуры волеизъявления становится невозможным, потому что данные хранятся в зашифрованном виде, а ключи доступа распределены по нескольким местам — на стороне сервера (ЦИК) и на стороне голосовавших. «Правильно» пересчитать голоса тоже не получится, потому что в момент завершения обработки создаётся копия итогового блокчейна, которая многократно копируется наблюдателями от различных конкурирующих между собой партий.
Блокчейн-механизм федеральной системы ДЭГ выстроен по трёхслойной схеме. Первый слой представляет собой блокчейн-сеть для хранения заполненных бюллетеней и транспорта служебных данных. На втором уровне работают криптографические сервисы, защищающие от различных угроз, в том числе от фильтрации голосов и компрометации главного ключа шифрования. Третий уровень — это клиент-серверный слой, который служит для взаимодействия голосующих с системой ДЭГ, а также для решения задач администрирования.
Рисунок 1. Трёхслойная структура федеральной системы ДЭГ
Подробное описание защиты системы от действий злоумышленников дано здесь.
Развитие федеральной системы ДЭГ в области безопасности
Сначала предполагалось, что дальнейшее развитие системы (после 2019 года) пойдёт по пути её оптимизации и улучшения пользовательского интерфейса. Но жизнь преподнесла сюрпризы.
Как рассказал Юрий Сатиров, главный архитектор федеральной системы ДЭГ «Ростелекома», за прошедшие годы имел место ряд важных, принципиальных изменений. Они коснулись в первую очередь подходов к реализации единого средства криптографической защиты информации (СКЗИ).
Первоначально, безопасное тайное электронное голосование было выстроено на принципах протокола тайного голосования Хе-Су. Он закреплял обязательные и желательные признаки для этой системы.
- Обязательные:
- никто кроме голосующего не должен знать, какой выбор был сделан;
- только легитимные участники могут проголосовать, причём только один раз;
- сделанный голосующим выбор не может быть изменён (тайно или явно).
- Желательные:
- каждый участник может проверить, правильно ли зачтён его голос;
- каждый легитимный участник может передумать и изменить свой выбор в течение заранее оговорённого интервала времени;
- система должна быть защищена от продажи голосов избирателями;
- если голос был зачтён неправильно, то каждый легитимный участник может сообщить об этом системе, не нарушая своей анонимности;
- должно быть невозможно отследить, откуда именно избиратель проголосовал;
- все операторы системы подлежат строгой аутентификации;
- система должна быть отказоустойчива при технических проблемах (таких как потеря электропитания) и непреднамеренных неисправностях (потеря избирателем ключа), а также при действиях злоумышленников (участие от имени другого избирателя, попытка вызвать отказ в обслуживании (DDoS) и пр.).
Анонимизация осуществлялась за счёт использования алгоритма слепой подписи Шнорра. Его особенностью является то, что подписывающая сторона (избирательная комиссия) не может восстановить в полном объёме содержимое подписываемого документа (бюллетеня). Для лучшего понимания можно представить себе закрытый конверт, внутри которого лежат документ и копирка. Если вместо ручки использовать твёрдую палочку и поставить ею подпись, то на поверхности конверта графических следов не останется, однако на документе, лежащем внутри, появится отпечаток. При вскрытии конверта документ окажется подписанным, а без вскрытия невозможно определить, есть ли подпись или какой был сделан выбор.
Также для анонимизации «Ростелеком» использовал гомоморфное шифрование — специальный криптографический механизм, позволяющий подписывать бюллетени без доступа к их содержимому (их расшифровки). В результате ЦИК не имеет возможности определить содержимое подписанных бюллетеней или их авторство, но при этом гомоморфное шифрование обеспечивает выполнение необходимых операций, таких как подсчёт суммарного количества голосов в пользу того или иного кандидата.
Правильность заполнения бюллетеней контролируется через механизм «доказательства с нулевым разглашением». В работе системы ДЭГ применяется также механизм разделения ключей шифрования: один из них попадает к избирателю, другой — в ЦИК. Разделение происходит на этапе инициализации процедуры голосования.
Рисунок 2. Архитектура федеральной системы ДЭГ («Криптонит», 2023)
«Пришла беда откуда не ждали…»
В декабре 2020 года идиллия полной защищённости нарушилась: криптографисты из Google и Berkeley опубликовали статью с анализом безопасности протокола слепой подписи, который использовался в том числе и в системе ДЭГ «Ростелекома». В статье приводилось доказательство того, что этот криптопротокол работает идеально только в изолированной среде. В то же время при запуске в составе реальной многопользовательской системы, как оказалось, возникает риск компрометации слепой подписи.
Для реализации «опасного» сценария требовалось, чтобы злоумышленники смогли открыть несколько параллельных сессий одновременно. В результате возникала возможность высчитать дополнительную слепую подпись, которую можно было использовать как валидную. Подобный сценарий напоминал ситуацию заблаговременного сговора между несколькими избирателями.
Рисунок 3. Направления модернизации системы ДЭГ в 2021 году
Хотя описанную в статье ситуацию можно было отнести к числу гипотетических, разработчики не оставили теоретическую нестойкость системы безопасности без внимания. Для исправления ситуации им пришлось выбрать те технологии, на надёжность и безопасность которых они могли положиться (рис. 3), и переделать свою систему, рассматривая её как единую СКЗИ (рис. 4). Для этого им пришлось отказаться от слепой подписи Шнорра и перейти на подпись RSA.
Рисунок 4. Система ДЭГ 2022 года разработана как единое СКЗИ
Поддержку в разработке криптографических алгоритмов оказала компания «Криптонит». Там провели всесторонний аудит на стойкость для трех основных криптоалгоритмов, отвечающих за безопасность системы ДЭГ (рис. 5). Также использовались алгоритмы от внешних разработчиков, прошедшие всестороннюю проверку: механизм поддержки «подписи вслепую» (blind signature), протокол разделения секрета с доверенным поставщиком, или схема Шамира (secret sharing), и схема обязательств (commitment).
Рисунок 5. Проверенные «Криптонитом» криптомеханизмы составе федеральной системы ДЭГ
В результате появились токены и пассивные хранилища секретных ключей «КриптоПро CSP 5.0», которые обеспечивают невозможность подделки данных (unforgeability) и их отслеживания (blindness).
В 2022 году на базе разработанных технологий были выпущены программно-аппаратные комплексы «КриптоПро HSM 2.0». Пользовательские ключи хранятся теперь в самом HSM и зашифровываются там с использованием специальных мастер-ключей. Те, в свою очередь, шифруются при помощи ключа активации HSM, который защищён посредством схемы разделения секрета «3 из 5» с хранением компонентов на смарт-картах администраторов безопасности.
Для создания разделяемого ключа применяются аппаратные генераторы случайных чисел. Генерация ключей происходит непосредственно в ЦИК.
Производительность таких комплексов на операциях формирования электронной подписи составляет 50 000 операций в секунду. Каждый генерируемый ключ соответствует определённому часовому поясу. Для предстоящего голосования 2023 года будут создаваться отдельные наборы ключей для всех пяти часовых поясов, в которых пройдут голосования.
Рисунок 6. Программно-аппаратный комплекс «КриптоПро HSM 2.0»
Практика голосований
Первые испытания обновлённой федеральной системы ДЭГ состоялись в 2022 году. Они охватывали семь регионов в трёх часовых поясах. Всего для голосования через портал ДЭГ было зарегистрировано 110,6 тыс. избирателей. Услугой воспользовались от 33 % (Курская область) до 59 % (Псковская область) заявителей.
Электронное голосование в 2022 году проходило также в Москве на портале mos.ru (московская система ДЭГ), однако статистики по активности избирателей на этой площадке мы не нашли.
Как отметил Юрий Сатиров, выборы 2022 года стали полномасштабной проверкой устойчивости новой модели голосования, её безопасности. Новый главный принцип гласил: «нет доверия ни к одному из участников». Модель угроз предусматривала возможность существования как внешних, так и внутренних нарушителей. Нарушители обоих видов рассматривались как обладающие максимальным потенциалом. Общая карта угроз насчитывала 60 показателей, по которым велось наблюдение.
При оценке работы системы рассматривалась также устойчивость модели к сговору между внешними и внутренними нарушителями. Специальный протокол позволял фиксировать любые действия нарушителей.
По словам Юрия Сатирова, голосование прошло успешно и фактов компрометации не было обнаружено.
Голосование 2023 года
Новшеством этого года станет то, что итоги ДЭГ будут выводиться сразу после завершения голосования на конкретных выборах. Таким образом, если раньше подтвердить прозрачность выборов могли только наблюдатели, то теперь избиратели должны увидеть результаты сразу. На наблюдателей ляжет задача подтвердить, что итоговые данные получены действительно из консенсусной базы.
Наблюдатели будут представлены в двух группах. Первая — технические наблюдатели, группа экспертов от Общественной палаты, которые будут иметь прямой канал наблюдения за блокчейном. Вторая — удалённые наблюдатели, которых сможет назначать официально любой участвующий в выборах субъект. Они будут работать с порталом наблюдений системы ДЭГ, куда каждые 30 минут будет выгружаться консенсусная копия блокчейна. Фактически, контролировать содержимое блокчейна сможет любой зарегистрированный наблюдатель, находящийся в любой точке мира.
Хотя блокчейн не позволит деанонимизировать данные, даже в этой их форме можно выполнить ряд операций:
- удостовериться в отсутствии транзакций выдачи бюллетеней до начала голосования и транзакций их приёма по истечении 15-минутного периода после официального окончания процедуры голосования (15 минут выделяется на завершение операций обработки транзакций в очереди и их размещение в блокчейне);
- скопировать выгрузку транзакций на момент начала подведения итогов для исключения подделки итоговой БД;
- убедиться, что принятых бюллетеней не больше, чем выданных (отсутствие вбросов);
- провести проверки по 60 различным параметрам из составленной карты угроз.
Как отметил Олег Артамонов, генсекретарь Партии прямой демократии и зампредседателя ТИК ДЭГ, исходные коды всех утилит, которые будут использованы для проверки, размещены на GitHub. В случае недоверия к утилитам от ЦИК наблюдатели смогут использовать для проверки открытые копии с этого ресурса.
Согласно оценкам, размер итоговой блокчейн-БД будет составлять «единицы гигабайт».
При обнаружении наблюдателями ошибки предусматривается их обращение в ЦИК с запросом. В случае форс-мажорной причины обращения будет созываться экстренное заседание комиссии.
В этом году также планируется упростить процесс регистрации для участия в проверке работы системы. Участвующие партии смогут сформировать список наблюдателей непосредственно на обсервационном портале федеральной системы ДЭГ.
Московская система ДЭГ
Как мы уже отметили, Москва проводит ДЭГ в собственной системе, её разработкой занималось ИТ-подразделение мэрии — ДИТ Москвы.
Первое полномасштабное внедрение московской системы ДЭГ произошло в сентябре 2021 года. Предложенный тогда сервис позволил москвичам следить за ходом электронного голосования через специальный сервис («обзервер»). Имелась возможность контролировать все действия, которые происходили в блокчейне.
В качестве платформы для московской системы ДЭГ первоначально был выбран открытый фреймворк Exonum от голландской компании Bitfury, предназначенный для создания приватных блокчейнов. Компания Bitfury хорошо известна многим айтишникам как производитель популярного оборудования для майнинга. ДИТ Москвы не называл причин выбора именно этой платформы, но, скорее всего, важным аргументом в её пользу была возможность легко помещать данные в блокчейн биткоина. Именно туда разработчики ДИТ Москвы стали записывать служебную информацию о текущем состоянии своего блокчейна во время работы московской системы ДЭГ. Данные в блокчейне биткоина служили независимым свидетельством достоверности результатов голосования.
Разработчики ДИТ Москвы также предоставили через интерфейс обзервера ряд функций, которые помогали наглядно отслеживать работу блокчейна. Сервис позволял отследить 12 типов действий, таких как проверка права пользователя голосовать онлайн, выдача бюллетеня, получение голоса и др. Наблюдатели имели возможность скачать полный «слепок» базы данных, что серьёзно облегчало контроль и избавляло от системных ошибок.
Несмотря на положительные отзывы о работе системы, в 2022 году была представлена новая (с технической точки зрения) её версия, подвергшаяся глубокой модификации, включая смену платформы блокчейна (о новом выборе не сообщалось). Была также изменена схема составления и шифрования бюллетеней.
Как отметил Олег Артамонов, московская система ДЭГ отработала в 2022 году надёжно. Единственной замеченной проблемой стала выдача т. н. «белого бюллетеня» для небольшой части избирателей (их число не называлось). Речь идёт об ошибках, когда при открытии бюллетеня в браузере избиратель получал пустую страницу, а при последующей попытке обновить содержимое получал ответ, что бюллетень уже выдан, а голосовать повторно запрещено.
На портале наблюдения (observer.mos.ru) в 2022 году также несколько раз приостанавливалась выгрузка файлов с транзакциями блокчейна. По всей видимости, это было связано с техническими ошибками из-за тайм-аута вследствие значительного размера формируемого архива (5,9 ГБ).
Рисунок 7. Общественный штаб по наблюдению за выборами в Москве в 2022 году (habr.ru)
Нужны ли системы ДЭГ?
Анализ созданных в России систем ДЭГ позволяет сделать вывод, что этот способ голосования является на сегодняшний день не только экономически выгодным, но и наиболее защищённым и надёжным среди механизмов волеизъявления граждан. Он позволяет достоверно подсчитать итоговое распределение голосов без деанонимизации участников и без раскрытия сделанного ими выбора.
Поскольку прежние системы автоматизации приёма и подсчёта голосов в настоящее время неработоспособны (ранее использовались продукты компании ABBYY, ушедшей с российского рынка), новые системы ДЭГ могут стать главным инструментом и для очного голосования на избирательных участках. Для этого потребуется установить на компьютеры сертифицированное антивирусное ПО, которое будет гарантировать отсутствие программ для сохранения снимков экрана и перехвата нажатий на клавиши.
Но вопросы всё-таки остаются. Пока нет полной ясности по процедуре рассмотрения заявок в случае выявления ошибок в работе системы ДЭГ. Большое значение также имеет тема привязки списков избирателей к системе «Госуслуг». Контроль этого механизма ограничен и непубличен.
Созданные системы ДЭГ также нуждаются в проверке защищённости с привлечением экспертных команд с заслуженной репутацией. Традиционные программы поиска уязвимостей за вознаграждение (bug bounty) здесь вряд ли реализуемы, потому что предполагают проведение активных кибератак во время голосований, что нежелательно.
Выводы
В России созданы две системы ДЭГ, которые способны укрепить доверие общества к процедурам народного волеизъявления. Их использование пока ограничено, в первую очередь из-за недоверия общества к цифровым технологиям вообще. Возможно, эта статья посодействует устранению подобного недоверия.