paint-brush
Как шифрование может защитить онлайн-голосованиек@nerv
628 чтения
628 чтения

Как шифрование может защитить онлайн-голосование

Слишком долго; Читать

Самой большой проблемой дистанционного электронного голосования является достижение высокого уровня безопасности в неконтролируемой среде и на небезопасной платформе. Свойства электронного голосования и множество различных классификаций, устанавливающих минимальные требования, уже установлены. Цель всегда состоит в том, чтобы совместить два, казалось бы, взаимоисключающих принципа: проверяемость и конфиденциальность.
featured image - Как шифрование может защитить онлайн-голосование
Network Emergency Response Volunteers HackerNoon profile picture


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


«Самая большая проблема дистанционного электронного голосования — достичь высокого уровня безопасности в неконтролируемой среде и на незащищенной платформе. Свойства электронного голосования и множество различных классификаций, устанавливающих минимальные требования, уже установлены. Некоторые из этих классификаций совершенно одинаковы. Самой большой проблемой дистанционного электронного голосования является достижение высокого уровня безопасности в неконтролируемой среде и на небезопасной платформе. Свойства электронного голосования и множество различных классификаций, которые устанавливают минимальные требования, уже установлены. Цель всегда состоит в том, чтобы совместить два, казалось бы, взаимоисключающих свойства. : проверяемость и конфиденциальность. свойства под разными названиями, такие как: конфиденциальность, целостность, конфиденциальность, демократия, универсальность, проверяемость и т. д. Несмотря на это, цель всегда состоит в том, чтобы примирить два, казалось бы, взаимоисключающих свойства: проверяемость и конфиденциальность».


Фундаментальной идеей онлайн-голосования является проверяемость в том смысле, что голоса должны быть зашифрованы и обнародованы, что позволяет без малейших сомнений убедить избирателей в том, что вся процедура проводилась регулярно. Давайте углубимся в то, как этого можно достичь, но прежде чем читать остальную часть статьи, предлагаем посмотреть презентацию этой идеи Роном Ривестом[ 1 ] до 5:07.


Тогда давайте рассмотрим:


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


Избиратели однозначно знают запись, соответствующую их голосу.


удостоверение личности избирателя зашифровано

Здесь v — это голосование, которое можно полностью расшифровать только с помощью закрытого ключа, а E(v) — добавленная криптография.


А теперь математическая магия...


Используя гомоморфное шифрование в E(v1), E(v2), E(v3) и E(v4), мы можем продемонстрировать, что E(v1)+ E(v2) + E(v3) + E(v4) = E( v1+v2+v3+v4) !


Таким образом, окончательный результат равен D( E(v1+v2+v3+v4)), где D — функция дешифрования, которую может вычислить любой после завершения опроса без необходимости индивидуального доступа к v: D(E(v1)), D(E(v2)) и т. д., которые можно расшифровать только с помощью закрытых ключей...


владение секретным ключом


Только сами избиратели могут индивидуально расшифровать v и реально проверить правильность регистрации собственного голоса! В заключение, избиратели могут проверить как свои голоса, так и окончательный результат конфиденциально и точно!


Гомоморфное шифрование


Ух ты! Я могу подтвердить, что мой голос правильный! Но как я могу быть уверен, что голоса, поданные другими людьми, также законны, не используя их закрытые ключи?


Допустим, мы приписываем значение 0 означающему отказ от данного политического предложения, которое опрашивается, а 1 — согласованному, образуя набор возможных ответов {0,1}. Верификатор, которым может быть кто угодно, может захотеть убедиться, что все записи, опубликованные в таблице, доступной только для добавления, соответствуют допустимому элементу в наборе возможных ответов, а не чему-либо еще, например, записи со значением 100. Доказательства с нулевым разглашением позволяют именно это. Чтобы понять, как это сделать, возможно, сначала стоит понять, что такое ZKP на самом деле. «В криптографии доказательство с нулевым разглашением или протокол с нулевым разглашением — это метод, с помощью которого одна сторона (доказывающая) может доказать другой стороне (проверяющей), что данное утверждение истинно, в то время как доказывающая избегает передачи какой-либо дополнительной информации, кроме тот факт, что это утверждение действительно верно».[ 2 ]


доказательства с нулевым разглашением


Это может показаться противоречивым, но с помощью ЗКП любой избиратель может однозначно доказать законность своего голоса! Опять же, голосование — это всего лишь представление элемента из множества возможных вариантов. Чтобы понять, как ZKP следует применять к голосованию, мы предлагаем взглянуть на следующие статьи[ 3 ], [ 4 ], в которых этот вопрос рассматривается более подробно.


проверка ЗКП


Затем этот метод можно расширить, включив в него наборы размером более {0,1}, сохраняя при этом математические свойства как гомоморфного шифрования, так и ZKP, что позволяет проводить более сложные опросы, чем простые ответы «да», «нет», «согласен», «не согласен». Это создает интересные варианты использования, такие как выборы нескольких кандидатов, референдумы, на которых могут быть разные предложения по решению одной конкретной проблемы, анкеты при исследовании рынка...


Мы только что обсудили, как любой может проверить окончательный подсчет голосов, правильность своего голоса и законность всех остальных голосов! При этом сохраняя конфиденциальность избирателей! Способ объединения этих алгоритмов, сохраняющий свойства как гомоморфного шифрования, так и ZKP, сложен и требует глубоких знаний криптографии, истинность которых можно доказать математически.[ 5 ]


Любой избиратель может провести эту проверку самостоятельно, не прибегая к помощи третьих лиц! В соответствующих приложениях для дистанционного электронного голосования избиратели являются аудиторами голосования!


Существуют и другие детали и криптографические методы кибербезопасного онлайн-голосования, например, использование скрытых адресов[ 6 ], по крайней мере, в блокчейнах, которые сохраняют все транзакции открытыми, таких как Ethereum. Они используются, чтобы избежать связи избирателей и их кошельков. Но мы считаем это технической деталью, волнующей только разработчиков программного обеспечения, а не тем, о чем должны знать все пользователи онлайн-голосования, в отличие от гомоморфного шифрования и ZKP, знания которых помогают укрепить доверие к системе.


Как эти закрытые ключи генерируются и передаются избирателю без ущерба для безопасности?


В конечном счете, закрытые ключи должны быть привязаны к истинной личности пользователя, чтобы предотвратить двойные расходы. Один из подходов заключается в использовании PKI, предоставленных доверенными органами, таких как выданные государством eID, встроенные в смарт-карты национальной идентификации... Потому что, конечно, государственные учреждения продумали свои собственные механизмы для обеспечения безопасности этих ключей, не так ли?


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


«Некоторых людей можно обманывать несколько раз, но нельзя обманывать всех подряд»


Что произойдет, если избиратель обнаружит мошенничество или если его физически принудят голосовать определенным образом?


Первая мера, которую необходимо принять, — это предоставить канал, по которому люди смогут сообщать о таких ситуациях, чтобы эти происшествия были приняты во внимание. Если они маргинальны и составляют, например, 0,01% от общего числа голосов, это не будет действительно проблематичной ситуацией, если только мы не обсуждаем очень деликатный референдум, который требует соблюдения демократических ценностей и где окончательный результат близок к эквивалент ситуации 50/50. Это можно смягчить, потребовав, чтобы консенсус большинства был выше, например 55/45, чтобы опрос считался действительным.


В сценарии, когда кто-то видит, что его голос был зарегистрирован неправильно, учитывая, что все устройство поддерживается блокчейном и, следовательно, не контролируется конкретным системным администратором, предоставляющим услугу, более разумным подходом будет предположить, что сама машина для голосования скомпрометирована. а не весь блокчейн. В этом случае самой прямой защитной мерой будет необходимость замены избирателем машины и/или операционной системы. Эта проблема больше связана с угрозами кибербезопасности, такими как социальная инженерия и вредоносное ПО. Рекомендуется использовать оборудование и программное обеспечение с открытым исходным кодом, а также использовать амнезическую ОС[ 7 ]. Программное обеспечение Amnesic всегда возвращается в исходное настроенное состояние, поэтому, даже если избиратели устанавливают вредоносное ПО, непреднамеренно щелкнув и запустив вирус, перезагрузка компьютера откатывает программное обеспечение до неизмененной конфигурации, эффективно смягчая подобные случаи.


Другая ситуация, которую, возможно, стоит принять во внимание, — это ситуация, когда избирателя принуждают голосовать определенным образом, либо физически, либо путем шантажа. Единственный способ защититься от принуждения, кроме жизни в приличном обществе, — это допустить возможность повторного голосования в одном и том же опросе. В этой области проводятся исследования[ 8 ], хотя, насколько нам известно, способы объединения этой техники со всеми остальными, упомянутыми выше, еще предстоит реализовать. Конечно, есть способ. В любом случае возобновление этапа голосования всегда возможно. Следует также отметить, что предотвращение принуждения также предотвратит продажу голосов по очевидным причинам.


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

Мы уже на месте?

Как красноречиво выразился ученый-компьютерщик Джеффри Дин:


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


Проблема технологии блокчейн заключается именно в ее способности масштабироваться по мере роста пользовательской базы и спроса на вычисления. Текущие реализации криптографических алгоритмов онлайн-голосования, поддерживаемые блокчейном, оценивают затраты примерно в 10 долларов за голос, как это реализовано в Ethereum.[ 14 ] Мы в Brightgov считаем, что можно внести улучшения, чтобы снизить это значение до менее 1 доллара, используя более быстрый блокчейн, а также настройку основных математических алгоритмов.


На протяжении всей истории криптография играла важную роль в изменении хода событий. Шифр Цезаря, один из самых простых криптографических методов, известен тем, что его использовал римский император два тысячелетия назад. Способность союзников перехватывать и расшифровывать сообщения, зашифрованные японской шифровальной машиной Purple и немецкой Enigma, имела решающее значение для обеспечения ключевого преимущества, необходимого для прекращения Второй мировой войны.


Тем, кто умеет программировать и хочет узнать больше, мы предлагаем прочитать нашу исследовательскую работу.[ 15 ] Вы также можете поиграть в CryptoBallot, чтобы познакомиться с этим типом программного обеспечения.[ 16 ]


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


Использованная литература:


[1] « Был ли ВАШ голос учтен? (с участием гомоморфного шифрования) », профессор Рон Ривест, Numberphile, на YouTube, 2016. https://www.youtube.com/watch?v=BYRTvoZ3Rho


[2] Запись о доказательстве с нулевым разглашением в Википедии, https://en.wikipedia.org/wiki/Zero-knowledge_proof .


[3] « Как использовать ZKP для подтверждения членства в наборе, не раскрывая набор или член», Андерс Борх, блог автора, 2019. https://blog.cyborch.com/how-to-use-cryptographic-accumulators-to -доказать-членство-множества-без-разоблачения-множества-или-члена/


[4] « Доказательства с нулевым разглашением для членства в наборе », Дарио Фиоре, по стандартам ZKProof, 2020. https://zkproof.org/2020/02/27/zkp-set-membership/


[5] « Неинтерактивное нулевое знание из гомоморфного шифрования », Иван Дамгкард и др., Конференция по теории криптографии, 2006. https://cs.nyu.edu/\~nicolosi/papers/NonIntSi.pdf .


[6] « Скрытый адрес (криптовалюта) », Джейк Франкенфилд, Investopedia, 2022. https://www.investopedia.com/terms/s/stealth-address-cryptocurrency.asp


[7] Запись Tails (операционная система) в Википедии, https://en.wikipedia.org/wiki/Tails_(operating_system).


[8] « VoteAgain: масштабируемая система голосования, устойчивая к принуждению », автор Wouter Lueks и др., Spring Labs, Университет Карлоса III в Мадриде, 2020. https://arxiv.org/pdf/2005.11189.pdf


[9] Фонд «Наследие» , https://www.heritage.org/.


[10] Запись « Ainda mais indícios de Fracee nas Legislativas 2022? » на YouTube, на португальском языке, 2022 год . https://www.youtube.com/watch?v=L8fA9aOuR9k


[11] Запись AnaKarina denuncia «FRAUDE ELEITORAL» por parte da CNE » на YouTube, на португальском языке, Ангола, 2022 г. https://www.youtube.com/watch?v=hLm8ocLgXCU


[12] « Часто задаваемые вопросы – мошенничество на выборах », https://www.voteaustralia.org.au/faq_voter_fraud


[13] « Индекс демократии 2020: в болезни и в здоровье? », отчет The Economist Intelligence Unit, 2020. https://www.eiu.com/n/campaigns/democracy-index-2020/


[14] « ethVote: На пути к безопасному голосованию с помощью распределенных реестров », Йоханнес Молс и Эммануил Василоманолакис, Ольборгский университет, Дания, 2020 г. https://www.researchgate.net/publication/341000573_ethVote_Towards_secure_voting_with_distributed_ledgers


[15] « Обзор дистанционного электронного голосования » от NERV, документ, представленный на 14-й конференции ICEGOV в 2021 году, https://ia601401.us.archive.org/33/items/remote-e-voting-overview/Remote e -обзор голосования.pdf


[16] CryptoBallot , https://github.com/cryptoballot/cryptoballot .


Также появляется здесь .