В российских выборах задействуют блокчейн. Цена вопроса – 6 млрд рублей

Для того, чтобы предоставить цифровые сервисы участникам избирательного процесса, из федерального бюджета выделят 6,2 млрд рублей. Соответствующая информация содержится в федеральном проекте «Цифровое государственное управление» нацпрограммы «Цифровая экономика».
В результате планируется обеспечить:
- доступность процедуры голосования для избирателей вне зависимости от места их нахождения;
- организацию деятельности избирательных комиссий на основе цифровых данных об избирателях и других участниках избирательного процесса, получаемых в том числе с использованием национальной системы управления данными;
- предоставления цифровых сервисов для избирателей, кандидатов на замещаемую посредством выборов должность, наблюдателей, средств массовой информации.
Обязательно должны быть разработаны такие документы, как:
- методологии перехода на цифровую платформу реализации основных гарантий избирательных прав и права на участие на референдуме граждан России,
- функциональные и технические требования к цифровой платформе для реализации цифровых сервисов, требования к ним и регламенты их предоставления.
Кроме того, в законодательные и нормативные акты Центральной избирательной комиссии (ЦИК) должны быть внесены такие изменения, которые необходимые для функционирования цифровых сервисов для участников избирательного процесса. Сами цифровые сервисы должны работать в личных кабинетах участников избирательного процесса.
Еще одна необходимая мера — централизованное ведение, хранение, актуализация и анализ данных об избирателях и участниках референдума с учетом данных, предоставляемых из государственных информационных систем и других государственных органов в рамках Национальной системы управления данными (НСУД). Избирательным комиссиям должны получить доступ к цифровой платформе для обеспечения реализации их полномочий, планирования и проведения избирательных кампаний, определения результатов выборов.
Федеральное решение разработано «Ростелекомом» совместно с Waves Enterprise. Исходный код системы был размещен в репозитории Github, а то, как работает решение, было рассказано «Ростелекомом» на «Хабрахабре». От системы требовалось:
- обеспечение тайного голоса;
- допуск к голосованию только лиц с избирательным правом;
- обеспечение требования «один избиратель — один голос»;
- открытость голосования для избирателей и наблюдателей;
- обеспечение неизменности поданного голоса;
- отсутствие возможности подсчитывать промежуточные итоги голосования до его завершения.
В качестве участников системы определены избиратель, избирательная комиссия и наблюдатели. Также в процессе могут быть задействованы органы МВД (Министерства внутренних дел). Чтобы принять участие в выборах, избиратель должен был иметь подтвержденную учетные запись на Едином портале государственных и муниципальных услуг (ЕПГУ) и заранее подать через него заявление.
Как только заявление было получено, данные избирателя проходили проверку ЦИК и загружались в компонент «Список избирателей» программно-технического комплекса Дистанционное электронное голосование (ПТК ДЭГ). При этом процесс загрузки сопровождался записью уникальных идентификаторов в блокчейн. Допуск к просмотру списка имели члены избирательной комиссии и наблюдатели с помощью автоматизированного комплекса (АРМ), размещенного в помещении избирательной комиссии.
Само голосование происходило на портале госуслуг, а авторизация избирателей осуществлялась через Единую систему идентификации и аутентификации. Для обеспечения анонимности голосования вместе с допуском к выбору только авторизированных избирателей был применен криптографический алгоритм.
Для получения электронного бюллетеня пользователя переводят в другой домен -«анонимную зону». При этом человек может использовать VPN или сменить свой IP-адрес. Бюллетень заполняется на устройстве пользователя. Для шифрования бюллетеня на устройстве пользователя генерируется пара открытый и закрытый ключ.
Далее подписанный бюллетень в зашифрованном виде направляется в компонент «Распределенное хранение и подсчет голосов», построенной на базе блокчейн-платформы. Однако для принятия бюллетена был принят, другой компонент, «Список избиратель» должен получить открытый ключ избирателя и удостовериться, что он присутствует в списке избирателей.
Сохранение тайны голосования достигается за счет того, что открытый ключ никому, кроме самого избирателя, не передается. Доя этого он проходит процедуру маскировки («ослепления») с помощью алгоритма RSA с длиной ключа 4096 бит. В результате валидатор ставит подпись на замаскированном открытом ключ, не зная исходного ключа. В свою очередь пользователь после получения подписи на замаскированный ключ, может совершить обратные преобразования. В итоге он получит подпись — валидную и для исходного, незамаскированного ключа.
Чтобы не допустить определения результатов голосования до его завершения, шифрование голосов происходит с использованием схемы из открытого и закрытого ключей. Открытый ключ известен всем участникам процесса, он непосредственно шифрует голоса. Выработка ключа осуществляется с помощью алгоритмов DKG Pedersen 91 и протокола разделения ключей Шамира. Расшифровать голоса можно только с помощью закрытого ключа. Он разделен между участниками избирательного процесса таким образом, что каждая его отдельная часть бесполезна.
Подсчет голосов возможен только для сборки ключа. Голоса обычно, считаются вместе с их фиксацией в блокчейне. В процессе задействована схема гомоморфного шифрования по схеме Эль-Гамаля на эллиптических кривых: записанные в систему учета зашифрованные бюллетени можно без расшифрования скомбинировать таки что результатом расшифровки такого комбинированного шифротекста будет суммирование значения по каждому варианту выбора в бюллетенях. Для доказательства корректности содержимого бюллетеня без его расшифрования используется протокол Disjunctive Chaum-Pedersen range proof.
Блокчейн в обозначенной схеме обеспечивает;
- неизменность информации в рамках голосования;
- прозрачность исполнения и неизменности программного кода в виде смарт-контрактов;
- обеспечение защиты и неизменности данных, используемых в процессе голосования
- обеспечение децентрализованного хранения данных, благодаря чему каждый участник имеет абсолютно идентичную со всеми копию, подтвержденную свойствами системы;
- возможность просматривать транзакции и отслеживать ход голосования, полностью — отражающегося в цепочках блоков, от его начала до записи рассчитанных итогов.
Смарт-контракты проверяют каждую транзакцию с зашифрованными бюллетенями на подлинность электронной и «слепой» подписей, а также проводят базовые проверки корректности заполнения зашифрованного бюллетеня. Обращает на также внимание тот факт, что компонент «Распределенное хранение и подсчет голосов» не ограничивается только блокчейн-узлами: для каждого узла может быть развернут отдельный сервер, которые реализует основные критографические функции протокола голосования — серверы подсчета.
Что касается серверов подсчета, то они являются децентрализованными компонентами, обеспечивающие процедуру распределенной генерации ключа шифрования бюллетеней, а также расшифровку и подсчет итогов голосования. В задачи серверов подсчета входит:
- обеспечение распределенной генерации части ключа шифрования бюллетеней;
- проверка корректности зашифрованного бюллетеня без его расшифрования;
- обработка бюллетеней в зашифрованном виде для формирования итогового шифротекста, распределенного расшифрования итоговых результатов.
Интересные ссылки
Читать новость в источнике ict-online