Как стать автором
Обновить

Анонимный канал, как средство улучшения существующего протокола электронного голосования

Время на прочтение4 мин
Количество просмотров2.4K
В качестве прототипа рассмотрена система электронного голосования, которая применялась в Эстонии на выборах в местные органы государственной власти в 2005 году. На Хабре уже есть материал про эстонские выборы. Например, здесь. Была статья и про эстонскую идентификационную карту, которые использовались для участия в выборах. Но я не нашел материал про саму схему электронного голосования, а она довольна интересна, хотя и имеет недостатки. Я бы хотел представить Вам данную схему и показать, как можно улучшить такое важное свойство для системы электронного голосования, как анонимность избирателей. Но обо всем по порядку.

Эстонская схема электронного голосования

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

Схема электронного голосования

Процесс голосования заключается в следующем (схема представлена выше):
1. Избиратель через HTTPS-протокол получает доступ к Серверу Перенаправления Голоса (СПГ) и удостоверяет свою личность с помощью идентификационной карты.
2. СПГ отправляет запрос в базу данных избирателей, используя личный идентификационный код (ЛИК) избирателя, и получает информацию о принадлежности его к определенному избирательному округу. Если избиратель не имеет право голосовать, то выводится соответствующее сообщение и он/она направляется в службу X-tee, предоставляемую Системой учета населения, где избиратель может проверить свой статус по отношению к праву голосовать.
3. СПГ запрашивает в Сервер Хранения Голосов (СХГ) информацию о том, голосовал ли уже данный избиратель. Если ответ положительный, то избиратель об этом информируется.
4. СПГ отправляет запрос, используя данные из базы данных избирателей, и получает список кандидатов избирательного округа, к которому относится избиратель. Этот список выводится на экран избирателя.
5. Избиратель выбирает кандидата.
6. Прикладная программа избирателя просит подтвердить его/ее свой выбор.
7. Прикладная программа зашифровывает голос и случайное число открытым ключом Приложения Подсчета Голосов (ППГ). Избиратель подписывает криптограмму (далее: голос) своей цифровой подписью.
8. Прикладная программа избирателя передает конверт, подписанный электронной подписью, в СПГ, который проверяет формальную правильность полученного материала и тот ли же человек, который удостоверил свою личность в начале сеанса, поставил цифровую подпись.
9. СПГ направляет полученный голос в СХГ. СХГ получает доступ на сервер подтверждения действительности и получает сертификат, подтверждающий действительность цифровой подписи, который затем добавляется к подтвержденному голосу.
10. В случае успешного проведения процедуры СХГ отсылает СПГ подтверждение, что голос получен. Избирателю также доставляется соответствующее сообщение. В системном журнале делается запись в форме [ ЛИК, хэш ] о том, что голос получен.
11. Избиратель может голосовать несколько раз. Однако, принимается во внимание только результат последнего голосования. Все голоса передаются через СПГ в СХГ.
12. После окончания электронного голосования СПГ прекращает все процессы передачи информации.
13. Удаляются повторные голоса. Голоса сортируются по округам. В системном электронном журнале делаются необходимые записи.
14. Голоса и цифровая подпись отделяются. (Цифровая подпись должна храниться отдельно.)
15. Голоса отправляются в ППГ.
16. Производится подсчет голосов в ППГ.
Данный протокол электронного голосования не обеспечивает, однако, полной анонимности результатов голосования, поскольку это базируется на честности избирательной комиссии.
Данный протокол можно значительно улучшить, используя концепцию анонимного канала, который встраивается между СХГ и ППГ.

Анонимный канал

Воспользуемся анонимным каналом, который представят из себя улучшенный анонимный канал Шаума. Подробнее о нем можно почитать здесь.
Анонимный канал представляет из себя последовательность из k серверов. Будем называть их MIX серверами. У каждого такого сервера имеется пара ключей (открытый и закрытый).
Используется КС Эль – Гамаля. Изменения касаются 7-го и 15-го этапов протокола голосования.
1. На 7-м этапе избиратель сначала зашифровывает свой голос на открытом ключе ППГ. Потом он последовательно зашифровывается на открытых ключах всех MIX серверов.
2. На 15-м этапе криптограммы передаются в ППГ через анонимный канал.
Каждый сервер из анонимного канала принимает на вход список криптограмм. Затем расшифровывает их с использованием своего секретного ключа и отправляет результат в лексикографическом порядке следующему серверу. В конце этой процедуры формируется в перемешенном порядке список голосов, зашифрованных на открытом ключе ППГ. В данном случае скрывается взаимосвязь между избирателем и его голосом, благодаря тому, что невозможно установить взаимосвязи между входными и выходными данными серверов, если хотя бы один из них является “честным”. Чем большее количество серверов k используется в протоколе, тем меньше вероятность нарушения тайны голосования.

Используемые источники

1. Efficient Anonymous Channel and All/Nothing Election Scheme
2. НИК Эстонии. Обзор системы электронного голосования
3. Эстонская ID-карта

Перенесен из «Будущее здесь», чтобы был виден не только подписчикам блога. Надеюсь это будет кому-нибудь интересно в данном блоге.
Теги:
Хабы:
+3
Комментарии0

Публикации