Как устроено электронное голосование простым языком и в рисунках

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

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

Как говорил Стивен Хокинг, любая формула снижает количество читателей вдвое. Мне кажется, что любой IT-термин снижает аудиторию минимум втрое, поэтому я попытался не использовать профильные термины, а объяснил все «на пальцах» и в комиксе! Надеюсь, у меня это получилось.

Если Вы хотите узнать поглубже о проблемах электронного голосования, рекомендую статью Петра Жижина:
https://habr.com/ru/post/687626/

Словарь метафор

Сундук — Зашифрованная информация
Замки и ключи — Ключи шифрования
Блокчейн — Витрина

Шаг 1. Формирование списка кандидатов

Демонстрация кандидатов и их номеров наблюдателямДемонстрация кандидатов и их номеров наблюдателям

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

Шаг 2. Формировование ключей и замков

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

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


В 2022 году ключ разделили на пять частей. Перед подведением итогов голосования его соединяют обратно.

Хранителями пяти частей ключа стали:
• Руководитель Общественного штаба по наблюдению Вадим Ковалев
• Секретарь Мосгоризбиркома Владимир Попов
• Председатель Мосгордумы Алексей Шапошников
• Член ЦИК РФ Антон Лопатин
• Глава городского округа Троицк Владимир Дудочкин.

Почему именно они? Потому что

Шаг 3. Голосование

Подмена номеров канидатовПодмена номеров канидатов

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

Избиратель запирает бюллетень и прикладывает к сунудуку ключИзбиратель запирает бюллетень и прикладывает к сунудуку ключ

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

Браузер избирателя закрывает сундук на двойной замок, состоящий из половинкок Избирателя и половинки ДИТаБраузер избирателя закрывает сундук на двойной замок, состоящий из половинкок Избирателя и половинки ДИТа

Шаг 4. Секретное шифрование

ДИТ тайно засовывает настоящий сундук с бюллетенем в свой фальшивый.ДИТ тайно засовывает настоящий сундук с бюллетенем в свой фальшивый.

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

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

.

Шаг 5. Расшифровка

Дит достает бюллетень из сундуковДит достает бюллетень из сундуков

Итак, голосование заканчивается, надо подводить итоги выборов.

ДИТ берет фальшь-сундук из витрины и открывает его секретным ключом, достает из него настоящий сундук и ключ избирателя. Далее он берет свой ключ из пункта 2 и одновременно с ключом избирателя открывает ими двойной замок. И достает из сундука бюллетень с поддельными номерами кандидатов.

Шаг 6. Демонстрация итоговых результатов.

Замена фальшивых номеров кандидатов на реальныеЗамена фальшивых номеров кандидатов на реальные

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

Демонстрация итоговы результатов выборов. Нужно верить ДИТ на словоДемонстрация итоговы результатов выборов. Нужно верить ДИТ на слово

Вывод

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

  • Первая проблема: У нас нет открытого кода. Мы не знаем как он работает на самом деле,   все что вы видите на картинках, получено опытном путем через метод наружного исследования системы электронного голосования. 

  • Вторая проблема: Мы не можем независимо понять за кого проголосовал избиратель! Технически есть возможность подменить голоса за другого кандидата. Просто в табличке, где есть связка реальных и фальшивых номеров можно поменять одно число и голоса уйдут другому кандидату.

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

Поэтому мы считаем, чтобы доказать, то что ДИТ не подделывал результаты выборов, имея при этом все возможности для этого, должен:

  1. Опубликовать исходный код системы электронного голосования для независимого аудита.

  2. Опубликовать ключ шифрования, которым шифруют транзакцию перед попаданием в блокчейн.

  3. Опубликовать логи системы за время голосования и подсчета результатов.

  4. Опубликовать алгоритм или таблицу связей подставного и реального номеров кандидатов. 

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

P.S Я попытался дать выжимку информации и некторые нюансы остались за кадром, если у вас остались вопросы, то смело задавайте их в комментариях — я отвечу на все.

Автор @Peterlos
Техническая консультация @Peter_Zhizhin

© Habrahabr.ru