Технологическая архитектура ДЭГ
Первый и самый важный этап - убедиться, что голосует именно тот человек, который имеет на это право, и делает это один раз. В современных системах (включая российскую) для этого используется экосистема государственных услуг. Избиратель авторизуется через подтвержденную учетную запись, что часто требует двухфакторной аутентификации (пароль + СМС/пуш-уведомление). В перспективных системах рассматривается использование Единой биометрической системы (ЕБС) или усиленной квалифицированной электронной подписи (УКЭП) для гарантированного подтверждения личности.
Для достижения этой цели в ДЭГ используется технология распределенного реестра (блокчейн). В техническом смысле блокчейн представляет собой выстроенную по определенным правилам непрерывную последовательную цепочку блоков, содержащих информацию. Связь между блоками обеспечивается не только нумерацией, но и включением в каждый последующий блок части кода предыдущего, что делает всю цепочку устойчивой к фальсификации: изменение информации в любом из блоков неизбежно требует изменения всех последующих, что в условиях распределенного хранения копий реестра у множества независимых участников делает такое изменение практически невозможным. Схемы и структуру работы блокчейна рекомендуем изучить в статье Сатоши Накамото, хоть она и не является первоисточником самой технологии, в ней суть работы описана достаточно простым языком. Но ДЭГ не работает только на «сыром» блокчейне в его естественном виде.
Чтобы обеспечить тайну и целостность голоса, ДЭГ опирается на следующие механизмы:
Асимметричное шифрование: у системы есть «открытый ключ» (публичный), которым шифруется бюллетень, и «закрытый ключ» (секретный), которым он расшифровывается только в момент подсчета, такой способ шифрования по-научному называется криптографическим протоколом. Закрытый ключ хранится разделенным на части у разных членов избирательного процесса, чтобы ни один человек не мог расшифровать голоса в одиночку (это как раз и происходит с помощью применения блокчейн-технологии)Хеширование: каждый бюллетень получает уникальный криптографический «отпечаток» (хеш). Если в текст бюллетеня изменить хотя бы одну букву, хеш изменится полностью, это обеспечивается благодаря использованию шифрования типа SHA 256. Несмотря на сложные названия, достаточно запомнить то, что при любом изменении данных зашифрованный их вид полностью изменится. Это гарантирует, что голос не был подменен по пути.
Слепая подпись (протокол Дэвида Чаума): еще в 1982 году (до создания блокчейна) американский криптограф Дэвид Чаум в своей диссертации описал протоколы, позволяющие создавать системы, которым доверяют взаимно подозрительные группы. Это механизм для обеспечения анонимности. Объясним аналогично бумажному бюллетеню: избиратель «упаковывает» свой голос в конверт с копировальной бумагой. Система (сервер) ставит на конверте свою цифровую подпись, подтверждая, что голос подан легитимным избирателем, не видя содержимого конверта. Так система подтверждает право на голос, не связывая личность избирателя с его выбором.
Опишем «жизненный цикл» электронного бюллетеня на ДЭГ:1. Избиратель заходит в систему и проходит аутентификацию.
2. Система выдает ему зашифрованный шаблон бюллетеня.
3. Избиратель делает выбор на экране.
4. Приложение на устройстве шифрует выбор открытым ключом избирательной комиссии.
5. Применяется механизм «слепой подписи» для отвязки голоса от личности.
6. Зашифрованный бюллетень записывается в распределенный реестр (блокчейн).
7. После окончания времени голосования смарт-контракт автоматически расшифровывает голоса (при совместном вводе ключей членами комиссии) и публикует результат.