EA048492B1 - VOTING SOFTWARE SYSTEM - Google Patents
VOTING SOFTWARE SYSTEM Download PDFInfo
- Publication number
- EA048492B1 EA048492B1 EA202392403 EA048492B1 EA 048492 B1 EA048492 B1 EA 048492B1 EA 202392403 EA202392403 EA 202392403 EA 048492 B1 EA048492 B1 EA 048492B1
- Authority
- EA
- Eurasian Patent Office
- Prior art keywords
- voter
- ballot
- ballots
- batch
- api
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 33
- 238000012795 verification Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000013475 authorization Methods 0.000 claims description 5
- 238000007792 addition Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000012550 audit Methods 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 2
- 238000006467 substitution reaction Methods 0.000 claims description 2
- 230000000737 periodic effect Effects 0.000 claims 1
- 230000008859 change Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005266 casting Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007865 diluting Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001004 polyvinyl nitrate Polymers 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
Центральными целями ядра программного обеспечения Accountable Democracy являются предоставление гарантий избирателям (и диспетчерам по обработке голосов), что 1) индивидуальные голоса избирателей учитываются и точно подсчитываются, 2) голоса всех участвующих избирателей учитываются и точно подсчитываются и 3) неавторизованные голоса не включаются и 4) неавторизованные голоса исключаются в подсчетах избирательного органа. Вторичные цели включают в себя предоставление удобства голосования заблаговременно до дня выборов, возможности или возможностей для избирателя изменить свое мнение в течение конкретного интервала времени после своего голосования, уведомление избирателя о том, что голос или голоса были приняты, предоставление необязательной квитанции, показывающей, за кого человек проголосовал, способность видеть свой голос в режиме онлайн с момента ввода избирателем своего голоса до выборочного момента времени после выборов, легкость пересчетов и существенно повышенная безопасность и надежность. Вышеуказанные цели достигаются посредством предоставления программного обеспечения для подсчета голосов, которое одновременно является в равной степени прозрачным и безопасным. В то время как прозрачность может казаться конфликтующей с безопасностью, этот уникальный проект системы достигает обеих целей одновременно.The central goals of the Accountable Democracy core software are to provide assurances to voters (and vote processors) that 1) individual voters' votes are counted and accurately tallied, 2) the votes of all participating voters are counted and accurately tallied, and 3) unauthorized votes are not included and 4) unauthorized votes are excluded from the election authority's tallies. Secondary goals include providing convenience in voting well in advance of election day, the ability or abilities for a voter to change their mind within a specified time interval after their vote, notification to the voter that a vote or votes have been accepted, an optional receipt showing who the person voted for, the ability to view one's vote online from the time the voter enters their vote until a selectable time after the election, ease of recounts, and significantly increased security and reliability. The above goals are achieved by providing vote tabulation software that is both transparent and secure. While transparency may seem to conflict with security, this unique system design achieves both goals simultaneously.
Уровень техникиState of the art
Существует множество новых приложений системы программного обеспечения, доступных в настоящее время и/или разрабатываемых и тестируемых, которые относятся к выборам, включающим в себя регистрацию избирателя, процесс голосования и различные функции наблюдения. Несколько важных аспектов голосования рассматриваются посредством такого программного обеспечения, которые будут благоприятствовать участию и поддерживать его в процессе голосования голосующей общественности. Настоящий прикладной программный интерфейс (API) используется такими приложениями, чтобы выполнять хранение бюллетеней и подсчет, в то же время предоставляя цельный, эргономичный пользовательский интерфейс для облегчения многих аспектов процесса голосования. В настоящем изобретении, ролью системы и способа использования является предоставление внутренней поддержки для таких приложений, которая является прозрачной, неизменяемой, невзламываемой (т.е., нередактируемой) и проверяемой, в то же время предоставляя непрерывный доступ избирателя к предоставленным на рассмотрение бюллетеням.There are many new software system applications currently available and/or being developed and tested that relate to elections, including voter registration, the voting process, and various monitoring functions. Several important aspects of voting are addressed by such software that will encourage and support participation in the voting process by the voting public. The present application programming interface (API) is used by such applications to perform ballot storage and counting, while providing a seamless, ergonomic user interface to facilitate many aspects of the voting process. In the present invention, the role of the system and method of use is to provide back-end support for such applications that is transparent, immutable, unhackable (i.e., not editable), and auditable, while providing continuous voter access to the submitted ballots.
Invote, предоставленный компанией Scytl, описывает текущий уровень техники реализуемых систем голосования и проблемы безопасности, устраняемые посредством каждой из них. Система Scytl является известным дополнением в отрасль программного обеспечения для голосования с точки зрения конфиденциальности и безопасности. Однако, она является значительно менее прозрачной и, следовательно, предоставляет меньшую пользу по сравнению с представленным проектом Accountable Democracy.Invote, provided by Scytl, describes the current state of the art of implemented voting systems and the security issues addressed by each. Scytl's system is a notable addition to the voting software industry in terms of privacy and security. However, it is significantly less transparent and therefore provides less benefit than the presented Accountable Democracy project.
В системе Scytl, общественность не может непосредственно верифицировать целостность системы Scytl (т.е., что система является безопасной и не взломана), после того как бюллетени принимаются сервером подсчета голосов В то время как система Scytl может подтверждать, что бюллетени избирателей были приняты, после того как бюллетень избирателя был передан серверу подсчета, цифровые (подтверждающие) подписи удаляются, и связь бюллетеня с избирателем, и системой регистрации избирателя, необратимо теряется, когда все данные шифруются и помещаются в цифровой ящик для бюллетеней. Этот ящик для бюллетеней является смешанным и перетасованным, таким образом, отдельные избиратели не могут быть привязаны к бюллетеню. Очевидно, дополнительные (поддельные) бюллетени могут вводиться в систему необнаруженными, таким образом, разбавляя или превосходя законные голоса, тем самым, создавая электронное наполнение ящика для бюллетеней фальшивыми бюллетенями, когда отсутствует возможность неразрывного учета между подачей бюллетеней и избирателями. Также, если злоумышленники получают ключи дешифрования, бюллетени могут быть модифицированы, и результаты выборов могут быть изменены - все получается в результате отсутствия непрерывной способности отслеживать путь от отдельных избирателей до их бюллетеней, делая систему непроверяемой. Тогда как настоящее изобретение эффективно задействует отдельных избирателей в процессе наблюдения за системой, система Scytl содержит роковую ошибку в том, что она не имеет возможности или способности обеспечивать электорат полномочием непрерывно отслеживать и наблюдать за своими собственными голосами.In the Scytl system, the public cannot directly verify the integrity of the Scytl system (i.e. that the system is secure and not hacked) once ballots are accepted by the counting server. While the Scytl system can verify that voters' ballots have been accepted, once a voter's ballot has been transmitted to the counting server, the digital (verifying) signatures are removed and the ballot's association with the voter and the voter registration system is irreversibly lost when all data is encrypted and placed in a digital ballot box. This ballot box is mixed and shuffled so that individual voters cannot be linked to a ballot. Obviously, additional (counterfeit) ballots can be entered into the system undetected, thereby diluting or overwhelming legitimate votes, thereby creating an electronic stuffing of the ballot box with counterfeit ballots, where there is no continuous record-keeping between the ballot submission and the voters. Also, if attackers obtain the decryption keys, the ballots can be modified and the election results can be changed - all due to the lack of continuous ability to trace the path from individual voters to their ballots, making the system unauditable. While the present invention effectively involves individual voters in the process of monitoring the system, the Scytl system contains a fatal flaw in that it does not have the ability or capability to provide the electorate with the authority to continuously track and monitor their own votes.
Сущность изобретенияThe essence of the invention
Настоящий проект Accountable Democracy является на порядок более прозрачным, чем имеющиеся системы, в том, что 1) избиратель никогда не теряет непосредственный доступ к своему бюллетеню и 2) настоящая система использует другой криптографический способ, чтобы защищать бюллетени, предоставляя возможность им оставаться незашифрованными и считываемыми посредством объектовсущностей для подсчета голосов. Файл бюллетеней может быть сделан публичным после дня выборов, и фактические голоса легко считываются и подсчитываются любым компетентным компьютерным специалистом. Этот публичный учет происходит в дополнение к индивидуальной верификации бюллетеней гражданами и служит в качестве дополнительного уровня подотчетности, прозрачности иThe current Accountable Democracy project is an order of magnitude more transparent than existing systems in that 1) the voter never loses direct access to their ballot and 2) the current system uses a different cryptographic method to protect the ballots, allowing them to remain unencrypted and readable by vote-counting entities. The ballot file can be made public after election day, and the actual votes are easily read and counted by any competent computer scientist. This public record-keeping occurs in addition to individual citizen verification of ballots, and serves as an additional layer of accountability, transparency, and
- 1 048492 верификации целостности в системе. Вкратце, настоящая система и изобретение предоставляют возможность для безопасности (1) от избирателя в восходящем направлении (посредством привязки бюллетеня 1:1 и неразрывной связи избиратель/бюллетень) и (2) сверху вниз (система подведения итогов) посредством доступности открытого исходного кода с прозрачным непрерывным наблюдением за выборами.- 1 048492 integrity verification in the system. In short, the present system and invention provide the ability for security (1) from the voter upstream (via 1:1 ballot binding and seamless voter/ballot linkage) and (2) from the top down (tax tabulation system) via open source availability with transparent, end-to-end election monitoring.
Кроме того, в описываемой в настоящий момент системе, избиратели имеют возможность осуществлять доступ к своим бюллетеням для исправления, в то же время оставаясь анонимными для системы в целом. Программное обеспечение может быть направлено на экспертную оценку, и программы 'в использовании' могут публично контролироваться и наблюдаться на протяжении всего процесса голосования посредством использования специальной технологии шифрования в дополнение к публичному и конфиденциальному доступу к хэш-значениям.In addition, in the system currently described, voters have the ability to access their ballots for correction while remaining anonymous to the system as a whole. The software can be submitted to peer review, and programs 'in use' can be publicly monitored and observed throughout the voting process through the use of special encryption technology in addition to public and private access to hash values.
Очевидно, существует множество факторов, затрагиваемым при использовании систем онлайнголосования. Одним ресурсом, который всесторонне описывает такие факторы, является The Electoral Knowledge Network. Этот ресурс обсуждает несколько типов вопросов безопасности и многие, если не все, вопросы, которые относятся к предоставлению гражданам возможности голосования и наблюдения в режиме онлайн. Однако, многие из проблемных ситуаций, рассматриваемых этим обсуждением, просто не существуют в системе Accountable Democracy. Например, не существуют подсчеты голосов, сохраненные где угодно в системе, таким образом, не существуют подсчеты для манипуляций или подделки. И, поскольку связь бюллетеня с фактическими избирателями и регистрациями избирателей поддерживается, добавление поддельных бюллетеней или какое-либо удаление бюллетеней легко наблюдается, проверяется и является обнаруживаемым. Что еще важно отметить, в настоящей системе, процесс голосования является развернутым и имеет место в поддающемся учету более размеренном темпе заблаговременно перед днем выборов, который распределяет данные в более пригодных к потреблению количествах для наблюдения и безопасности. Это благоприятствует участию избирателя и предоставляет возможность обнаружения и корректировки каких-либо аномалий своевременным, неспешным образом, порождая целостность в системе, доверие к системе голосования и, более важно, повышенное удовлетворение избирателя/потребителя - все превращается в большее участие избирателей и точное представление всего населения.There are obviously many factors involved in using online voting systems. One resource that covers these factors in depth is The Electoral Knowledge Network. This resource discusses several types of security issues and many, if not all, of the issues that apply to allowing citizens to vote and observe online. However, many of the issues addressed in this discussion simply do not exist in an Accountable Democracy system. For example, there are no vote tallies stored anywhere in the system, so there are no tallies to manipulate or forge. And, because the link between the ballot and the actual voters and voter registrations is maintained, the addition of fraudulent ballots or any removal of ballots is easily observed, verified, and detectable. What is also important to note is that in a real system, the voting process is extensive and takes place at a more measured pace well in advance of Election Day, which distributes the data in more consumable quantities for observation and security. This encourages voter participation and provides the ability to detect and correct any anomalies in a timely, unhurried manner, creating integrity in the system, trust in the voting system and, more importantly, increased voter/consumer satisfaction - all of which translates into greater voter participation and an accurate representation of the entire population.
Последнее, но не менее важное, Microsoft® создал комплект компьютерных программ с открытым исходным кодом, которые реализуют множество особенностей в системе Scytl. Это предоставляет всеобъемлющий подход к использованию электронных бюллетеней вместе с бумажными бюллетенями, что составляет монументальный шаг вперед в технологии подсчета голосов. К несчастью, множество существующих моментов уязвимости голосования сохраняется. Эти моменты рассматриваются в данном документе.Last but not least, Microsoft® has created a suite of open source software that implements many of the features in the Scytl system. This provides a comprehensive approach to using electronic ballots alongside paper ballots, representing a monumental step forward in vote counting technology. Unfortunately, many existing voting vulnerabilities remain. These vulnerabilities are addressed in this paper.
Дополнительно, Election Guard® использует усложненный способ шифрования бюллетеней, который предоставляет возможность их подсчета, в то время как они остаются в зашифрованной форме. К несчастью, опять, это является существенным шагом назад, когда это касается доверия избирателей. Создание бюллетеней нечитаемыми за исключением нескольких избранных является именно той областью, в которой люди не доверяют какой-либо форме электронной обработки голосов, и является готовым для манипулирования и фальсификации.Additionally, Election Guard® uses a sophisticated method of encrypting ballots, allowing them to be counted while remaining in encrypted form. Unfortunately, again, this is a significant step backwards when it comes to voter trust. Making ballots unreadable except for a select few is precisely the kind of area where people do not trust any form of electronic vote processing, and is ripe for manipulation and fraud.
В отличие от способа Accountable Democracy, в Election Guard®:Unlike the Accountable Democracy approach, in Election Guard®:
1. Если хакер задействует исполнение программного обеспечения, которое действует подобно немодифицированной версии, но изменяет бюллетени выборочно во время процесса регистрации, это действие будет происходить необнаруженным. По сути, оно будет действовать как самозванец. Кроме того, поскольку Election Guard® имеет открытый исходный код, будет относительно легко создать такую программу. Не существует способа, в Election Guard®, непрерывно гарантировать, что программное обеспечение фактически используется немодифицированным.1. If a hacker were to implement an implementation of software that acts like the unmodified version, but selectively modifies ballots during the registration process, this action would occur undetected. In effect, it would act as an impostor. Furthermore, since Election Guard® is open source, it would be relatively easy to create such a program. There is no way in Election Guard® to continually ensure that the software is actually being used unmodified.
2. Избиратель не имеет способа позволить системе впоследствии информировать избирателя о том, за кого он или она проголосовал(а). Таким образом, снова, аналогично шифрованию (выше), технология говорит просто доверься мне.2. The voter has no way to allow the system to subsequently inform the voter who he or she voted for. So again, similar to encryption (above), the technology says just trust me.
3. Поскольку (1) бюллетени не отслеживаются непрерывно по отношению к регистрационным данным избирателей, (2) множество зарегистрированных избирателей не голосуют, и (3) все бюллетени шифруются, не будет трудным для злоумышленника добавить бюллетени в смесь законного пула голосования без обнаружения или возможности проверки, когда система будет видеть эти бюллетени как просто дополнительные поданные голоса.3. Since (1) ballots are not tracked continuously against voter registration data, (2) many registered voters do not vote, and (3) all ballots are encrypted, it would not be difficult for an attacker to add ballots to the mix of the legitimate voting pool without detection or auditability, when the system would see these ballots as simply additional votes cast.
4. Самой важной уязвимостью Election Guard® является то, что она предназначена, чтобы поддерживать бумажные бюллетени, очевидно, чтобы заверять избирателей, что пересчеты являются возможными. Но в действительности это открывает дверь к нескольким уязвимостям безопасности. Посредством географической децентрализации голосования с помощью бумажных бюллетеней, которое происходит все в один день (т.е., способ, которым голосование проводится в наши дни), невозможно4. The most important vulnerability of Election Guard® is that it is designed to support paper ballots, apparently to reassure voters that recounts are possible. But in reality, this opens the door to several security vulnerabilities. By geographically decentralizing paper ballot voting that all happens on the same day (i.e., the way voting is done today), it is impossible to
- 2 048492 предотвращать значительную мошенническую деятельность в многочисленных местоположениях или нарушения в конкретных пунктах подсчета голосов (или даже кабинках для голосования в пунктах).- 2 048492 prevent significant fraudulent activity in multiple locations or irregularities at specific counting sites (or even polling booths within sites).
Проект Accountable Democracy устраняет множество существующих моментов уязвимости вместо попытки контролировать их, регулировать их или улучшать или нейтрализовать их исполнение.The Accountable Democracy project addresses many existing vulnerabilities rather than attempting to control them, regulate them, or improve or neutralize their implementation.
К слову, если избирательный орган хочет напечатать твердую копию (бумажный бюллетень), резервную по отношению к электронной системе, в день выборов, эта возможность может также быть предоставлена изначально, чтобы укреплять доверие к системе и комфорт для тех, кто полностью не доверяет компьютерной технологии. Эта возможность может оставаться в качестве унаследованной функции или быть устранена совсем.Incidentally, if the electoral body wants to print a hard copy (paper ballot) as a backup to the electronic system on election day, this option may also be provided initially to build confidence in the system and comfort for those who do not fully trust computer technology. This option may remain as a legacy feature or be eliminated altogether.
По сути, Accountable Democracy является системой серверного уровня, которая фундаментально изменяет способ, которым записи голосования вводятся, принимаются, управляются, наблюдаются, защищаются, хранятся, подсчитываются и верифицируются. Она строго обеспечивает анонимность и безопасность, в то же время предоставляя избирателям доступ к их собственным бюллетеням в целях безопасности и верификации, также как в целях внесения правок.At its core, Accountable Democracy is a server-side system that fundamentally changes the way votes are entered, received, managed, monitored, secured, stored, counted, and verified. It strictly enforces anonymity and security while still allowing voters access to their own ballots for security and verification purposes, as well as for the purpose of making edits.
Существующие приложения для голосования помогают с регистрацией голосов, при этом бюллетени отделяются от избирателей (через внесения бумажных бюллетеней), оставляя дверь открытой для необнаруженного изменения голосов и подделки, также как вычитаний и добавлений голосов. Дополнительно, существует возможность ошибок подсчета, как намеренных, так и непреднамеренных, в результате чего, аномалии и несогласованности могут возникать в результате использования бумажных бюллетеней, посредством человеческой ошибки или намерения. Сотни, а в некоторых случаях тысячи, отдельных подсчетов используются традиционными системами голосования. Машины для голосования, центры голосования, округа, регионы и федеральные органы проведения голосования, все накапливают и подсчитывают голоса (например, результаты голосования). Система Accountable Democracy устраняет мошенничество и злоупотребление посредством того, что НЕ зависит от способа, которым голоса подсчитываются, ни от самих результатов голосования. Она фокусируется на целостности файла бюллетеней и используемом программном обеспечении для голосования, и кое-чем еще.Existing voting applications assist with vote registration, but the ballots are separated from the voters (via paper ballot deposits), leaving the door open to undetected vote alteration and fraud, as well as vote subtractions and additions. Additionally, there is the potential for counting errors, both intentional and unintentional, whereby anomalies and inconsistencies can arise from the use of paper ballots, through human error or intent. Hundreds, and in some cases thousands, of individual tallies are used by traditional voting systems. Voting machines, voting centers, counties, states, and federal polling agencies all accumulate and tally votes (e.g., election returns). Accountable Democracy eliminates fraud and abuse by NOT relying on the way votes are counted, nor on the election returns themselves. It focuses on the integrity of the ballot file and the voting software used, among other things.
Предыдущие патенты и электронные системы голосования, как иностранные, так и отечественные, фокусируются на устаревших системах, выбирающих некие исторически определенные признаки (например, непрослеживаемость бумажных бюллетеней или их цифровых представлений) на протяжении транзакций с электронными данными, которые показывают удобство, предоставляют аутентификацию избирателя, безопасность волеизъявления и анонимность избирателя, защищенную посредством современных использований сбора данных, обработки данных, хранения данных, защищенных каналов связи и криптографической технологии. В то время как изобретатель признает пользу таких приложений, эти устаревшие системы страдают от многочисленных недостатков, фундаментально характеризуемых машинами для обработки бюллетеней, отделяющими бюллетени (т.е., данные) от их создателей избирателей, и зависимостью от результатов голосования, собранных и подсчитанных во множестве рассредоточенных мест. Очевидно, они прилагают усилия, чтобы обеспечивать анонимность избирателя, но ценой потери прозрачности, продолжающейся слабостью в аутентификации, безопасности и целостности - все краеугольные камни здоровой демократии. Предшествующий уровень техники до сих пор явно не фокусируется на:Previous patents and electronic voting systems, both foreign and domestic, focus on legacy systems that select certain historically defined features (e.g., untraceability of paper ballots or their digital representations) throughout electronic data transactions that provide convenience, voter authentication, voter security, and voter anonymity protected through modern use of data collection, data processing, data storage, secure communications, and cryptographic technology. While the inventor acknowledges the utility of such applications, these legacy systems suffer from numerous shortcomings, fundamentally characterized by ballot processing machines separating ballots (i.e., data) from their voter creators, and reliance on votes being collected and tabulated in multiple, dispersed locations. They obviously make efforts to ensure voter anonymity, but at the cost of loss of transparency, continued weaknesses in authentication, security, and integrity - all cornerstones of a healthy democracy. The prior art still does not explicitly focus on:
1. прозрачности исходного кода программного обеспечения верифицируемым образом перед, во время и после процесса выборов;1. transparency of software source code in a verifiable manner before, during and after the election process;
2. непрерывном контроле бюллетеней и верифицируемости, обеспечивающем избирателей возможностью просматривать или изменять свои бюллетени со временем;2. continuous ballot monitoring and verifiability, providing voters with the ability to view or change their ballots over time;
3. уведомлении избирателя, уведомляющем независимо избирателей, что они проголосовали, что препятствует возможности для других людей посягать на право голоса избирателя;3. voter notification, which independently notifies voters that they have voted, thereby preventing others from interfering with the voter's right to vote;
4. способах обнаружения и восстановления после отказа среды или намеренного изменения или подделки бюллетеня;4. methods for detecting and recovering from a failure of the environment or from deliberate alteration or forgery of the bulletin;
5. публичной инспекции конечного файла бюллетеня.5. public inspection of the final file of the bulletin.
Как показано выше, предшествующие изобретатели фокусируются больше на одноразовой аутентификации, которая, в то время как является оправданной и легитимной, служит только для дополнения новых особенностей настоящего изобретения. Остается фактом, что аутентификация избирателя и верификация должны решительно поддерживаться как естественное следствие настоящего изобретения, в результате чего, после того как голосование происходит, доступ остается открытым для каждого избирателя.As shown above, prior inventors focus more on one-time authentication, which, while justifiable and legitimate, only serves to complement the novel features of the present invention. The fact remains that voter authentication and verification must be strongly supported as a natural consequence of the present invention, so that once voting occurs, access remains open to every voter.
В настоящее время избирателям не предоставляется извещение, подтверждающее голоса, и бюллетени больше не являются доступными для избирателей. В результате, избиратель должен быть верифицирован в момент, когда избиратель осуществляет доступ к бюллетеню, и непосредственно перед подачей голоса или голосов, а не в другое время в текущем процессе. В резком контрасте, настоящее изобретение предоставляет возможность для аутентификации и верификации на протяжении всего процесса голосования, а вернее значительно позже того, как голос подается.Currently, voters are not provided with a notice confirming votes, and ballots are no longer accessible to voters. As a result, a voter must be verified at the time the voter accesses the ballot and immediately before casting a vote or votes, rather than at any other time in the ongoing process. In stark contrast, the present invention provides the ability to authenticate and verify throughout the voting process, or rather well after a vote is cast.
- 3 048492- 3 048492
Фокус настоящего изобретения, в частности, находится на том, что происходит с бюллетенем, после того как избиратель выразил свои предпочтения (проголосовал), и с этого времени вперед до времени значительно позже выборов. Текущее изобретение позволяет избирателям не только аутентифицировать свою личность и право голосовать (посредством верификации своей регистрации), но также верифицировать то, что их голос был принят и записан корректно (например, не пропущен, изменен, сфабрикован или продублирован), все с возможностью изменять свое мнение и повторно отдавать голос, который может отличаться от их предыдущего голоса или голосов. Настоящая система также устраняет возможность изменения результатов голосования, поскольку результаты не хранятся в настоящей системе кроме как временно и на мгновение. И вычисленные результаты голосования могут быть верифицированы внешне посредством выгрузки файла бюллетеней для общего пользования для целей мониторинга, проверки, точности и безопасности. Таким образом, настоящее изобретение обеспечивает анонимность избирателя от общественного контроля, в то же время одновременно предоставляя непрерывную видимость бюллетеня и доступность голосов отдельных избирателей для подсчета бюллетеней, первичных выборов, второго тура, референдумов, внеочередных выборов и всеобщих выборов, среди прочего.The focus of the present invention is, in particular, on what happens to the ballot paper after the voter has expressed their preferences (voted), and from that time forward until well after the election. The present invention allows voters to not only authenticate their identity and right to vote (by verifying their registration), but also to verify that their vote was received and recorded correctly (e.g., not omitted, altered, fabricated, or duplicated), all with the ability to change their mind and recast a vote that may be different from their previous vote or votes. The present system also eliminates the ability to change the voting results, since the results are not stored in the present system except temporarily and momentarily. And the calculated voting results can be verified externally by uploading a file of the ballot papers for public use for monitoring, verification, accuracy, and security purposes. Thus, the present invention provides voter anonymity from public scrutiny while simultaneously providing continuous visibility of the ballot and availability of individual votes for ballot counting, primaries, runoffs, referenda, special elections, and general elections, among others.
Однако, более подробное понимание изобретения будет получено из последующего описания, подлежащего рассмотрению вместе с сопровождающими таблицами на всем протяжении данного документа. Кроме того, эти варианты осуществления не следует истолковывать как ограничения рамок какого-либо варианта осуществления, но, более того, как примеры различных вариантов его осуществления. Само изобретение является конфигурируемым и модифицируемым во множество других разновидностей, возможных в этом варианте применения и предоставленных посредством учений различных вариантов осуществления, которые будут очевидны специалистам в области техники. Таким образом, рамки следует определять посредством прилагаемой формулы изобретения и ее эквивалентов, которые интерпретируются в свете настоящего описания, а не просто посредством приведенных примеров.However, a more detailed understanding of the invention will be obtained from the following description, which should be considered together with the accompanying tables throughout this document. Furthermore, these embodiments should not be construed as limitations of the scope of any embodiment, but rather as examples of various embodiments thereof. The invention itself is configurable and modifiable in many other variations possible in this application and provided by teachings of various embodiments that will be obvious to those skilled in the art. Therefore, the scope should be determined by the appended claims and their equivalents, which are interpreted in the light of the present description and not merely by the examples given.
Краткое описание чертежейBrief description of the drawings
В то время как новые признаки и способ использования изобретения изложены выше, само изобретение, также как предпочтительный вариант использования и его преимущества, будут лучше поняты посредством обращения к последующему подробному описанию при его изучении совместно с сопроводительными чертежами с учетом прилагаемой формулы изобретения, при этом:While the novel features and method of using the invention have been set forth above, the invention itself, as well as the preferred mode of use and advantages thereof, will be better understood by reference to the following detailed description when read in conjunction with the accompanying drawings and taking into account the appended claims, wherein:
фиг. 1 изображает общее представление текущего процесса для проведения голосования;Fig. 1 shows a general representation of the current process for conducting voting;
фиг. 2 изображает общее представление нового процесса для проведения голосования;Fig. 2 shows a general representation of the new process for conducting voting;
фиг. 3 иллюстрирует настоящее изобретение Ядро Accountable Democracy;Fig. 3 illustrates the present invention Accountable Democracy Core;
фиг. 4 является настоящим изобретением, предоставляющим основу для защиты личности избирателя;Fig. 4 is the present invention providing a basis for protecting the identity of a voter;
фиг. 5 иллюстрирует один предпочтительный вариант осуществления, представляющий операции Главного Сервера.Fig. 5 illustrates one preferred embodiment representing the operations of the Main Server.
И в то время как само изобретение и способ использования поддаются различным модификациям и альтернативным конфигурациям, конкретные варианты его осуществления были показаны в качестве примера на чертежах и описываются в данном документе достаточно подробно, чтобы обучить специалистов в области техники тому, как его создавать и применять на практике. Следует, однако, понимать, что вышеприведенное описание и предпочтительные раскрытые варианты осуществления не предназначаются для ограничения изобретения отдельным раскрытым вариантом осуществления, а напротив, раскрытие изобретения предназначено для охвата всех модификаций, альтернатив и эквивалентов, подпадающих под дух и рамки изобретения, которые определены в самой широкой разумной интерпретации формулы изобретения, согласующейся с этим описанием.And while the invention itself and the method of use are susceptible to various modifications and alternative configurations, specific embodiments thereof have been shown by way of example in the drawings and are described herein in sufficient detail to teach those skilled in the art how to make and practice the same. It should be understood, however, that the foregoing description and preferred disclosed embodiments are not intended to limit the invention to the particular disclosed embodiment, but on the contrary, the disclosure of the invention is intended to cover all modifications, alternatives and equivalents falling within the spirit and scope of the invention, which are defined in the broadest reasonable interpretation of the claims consistent with this description.
Подробное описание изобретенияDetailed description of the invention
Для более полного понимания настоящего раскрытия, ссылка выполняется на последующее подробное описание. Хотя настоящее раскрытие описывается подробно с помощью примерных вариантов осуществления, настоящее раскрытие не подразумевает ограничения конкретными вариантами осуществления, изложенными в данном документе. Понятно, что различные опущения и замены эквивалентов рассматриваются изобретателем, как обстоятельства могут подсказывать или представлять целесообразным, и такие модификации, исправления и вариации предназначаются, чтобы охватывать вариант применения или его реализацию без отступления от духа или рамок настоящего раскрытия.For a more complete understanding of the present disclosure, reference is made to the following detailed description. Although the present disclosure is described in detail with reference to exemplary embodiments, the present disclosure is not intended to be limited to the specific embodiments set forth herein. It is understood that various omissions and substitutions of equivalents are contemplated by the inventor as circumstances may suggest or seem expedient, and such modifications, corrections and variations are intended to cover the application or implementation thereof without departing from the spirit or scope of the present disclosure.
Дополнительно, следует понимать, что ограничение в рамках раскрытия при этом не подразумевается, и дополнительные варианты применения принципов раскрытия, как иллюстрировано в данном документе, как предполагается, придут на ум специалисту в области техники, к которой раскрытие относится. Также, должно быть понятно, что фразеология и терминология, применяемая здесь, используются с целью описания и не должна быть расценена как ограничение. Кроме того, появления таких фраз и терминов, в различных местах, предусмотренных в данном документе, необязательно все ссылаются на один и тот же вариант осуществления. Указание термина вAdditionally, it is to be understood that no limitation to the scope of the disclosure is intended, and additional applications of the principles of the disclosure as illustrated herein are expected to occur to one skilled in the art to which the disclosure pertains. It is also to be understood that the phraseology and terminology employed herein are for the purpose of description and are not to be construed as limiting. Furthermore, the appearances of such phrases and terms in various places provided herein are not necessarily all referring to the same embodiment. The designation of a term in
- 4 048492 единственном числе в данном документе не означает ограничение количества, а скорее означает наличие по меньшей мере одного из упомянутых элементов. Наконец, оптимальный режим или режимы реализации и применения на практике настоящего изобретения раскрываются при этом, и такие подробности, необходимые для осуществления работы представленной системы голосования, предоставляются, которые позволят специалисту в области техники создавать и осуществлять их на практике.- 4 048492 singular in this document does not mean a limitation of quantity, but rather means the presence of at least one of the mentioned elements. Finally, the optimal mode or modes of implementation and application in practice of the present invention are disclosed herein, and such details necessary for the implementation of the presented voting system are provided that will allow a person skilled in the art to create and implement them in practice.
Настоящее раскрытие предоставляет средство и способ проведения процесса голосования, предоставляющие устойчивость к условиям использования, надежность и верифицируемость упомянутой системе, в результате чего, избиратели и аудиторы могут взаимодействовать с системой голосования и избирательным органом, чтобы одновременно обеспечивать точность, прозрачность и безопасность. Кроме того, настоящая система обеспечивает легкость идентификации избирателя и записи голоса-предпочтения, а также подачи голоса (т.е. заморозки) в эффективном и модифицируемом конструктиве голосования, который остается изменяемым избирателем (в течение назначенного периода перед подсчетом голосов) и верифицируемым посредством верифицирующего объекта-сущности (в течение определяемых периодов после подачи голоса или дня выборов). Наконец, настоящая система предоставляет уникальное средство обеспечения целостности системы для системы посредством сообщения хэш-значений и поддержки раздельных механизмов и серверов для дублируемых операций в целях проверки и наблюдения. Как предусмотрено ниже, этот процесс начинается с самой процедуры выборов.The present disclosure provides a means and method for conducting a voting process that provides robustness, reliability and verifiability to the system, whereby voters and auditors can interact with the voting system and the electoral body to simultaneously ensure accuracy, transparency and security. In addition, the present system provides ease of voter identification and recording of a vote preference and casting a vote (i.e., freezing) in an efficient and modifiable voting construct that remains modifiable by the voter (for a designated period before the vote is counted) and verifiable by a verification entity (for designated periods after the vote is cast or on election day). Finally, the present system provides a unique means of ensuring system integrity for the system by communicating hash values and maintaining separate mechanisms and servers for duplicated operations for verification and observation purposes. As provided below, this process begins with the election process itself.
Процедура выборов.Election procedure.
Существующие процедуры выборов требуют от избирателей зарегистрироваться в системе регистрации избирателей государства, региона, района, княжества, участка (или другого избирательного органа). Это будет оставаться обязательным требованием.Current election procedures require voters to register with the voter registration system of their state, region, district, principality, precinct (or other electoral body). This will remain a mandatory requirement.
Каждому избирателю назначается (1) публичный номер избирателя (PVN) и (2) секретный номер избирателя (SVN). Секретные номера избирателей не раскрываются или не публикуются для кого-либо. SVN также являются неизвестными для их назначенных (избирателей), а PVN являются открыто доступными и используются для устранения двусмысленностей и потенциальных расхождений между и среди имен. Эта идея доказывается и объясняется более подробно ниже (см., в частности, раздел Неизвестность секретного номера).Each voter is assigned (1) a public voter number (PVN) and (2) a secret voter number (SVN). Secret voter numbers are not disclosed or made public to anyone. SVNs are also unknown to their assignees (voters), while PVNs are publicly available and are used to eliminate ambiguities and potential discrepancies between and among names. This idea is proven and explained in more detail below (see especially the Secret Number Obscurity section).
В целях настоящего изобретения, голосование имеет место перед днем выборов. День выборов определяется как день, когда все бюллетени голосов требуется принять и собрать избирательным органом. Подсчет может быть проведен, и результаты делаются доступными либо в день выборов, либо в последующий день. Избирательный орган, согласованно с законами государства и местными законами и должностными лицами, определяет, когда выборы начнутся, и когда бюллетени будут подсчитаны. Типично, отведенное время равно шести неделям, но может быть меньше или больше в зависимости от законов каждого государства и от типа выборов (например, предварительные, второй тур и т.п.).For purposes of this invention, voting takes place before election day. Election day is defined as the day on which all ballots are required to be received and collected by the election authority. The counting may be conducted and the results made available either on election day or on the following day. The election authority, in accordance with state and local laws and officials, determines when the election will begin and when the ballots will be counted. Typically, the allotted time is six weeks, but may be less or more depending on the laws of each state and the type of election (e.g., primary, runoff, etc.).
Когда операция голосования отдельного лица выполняется, избиратель информируется о том, что квитанция, цифровая или бумажная, сделана доступной для каждого избирателя. Если избиратель предпочитает получить квитанцию, цифровая или печатная квитанция выдается электронным образом или в бумажной форме, подтверждающая, за кого проголосовал избиратель, также как индивидуальный публичный номер избирателя (PVN). Кроме того, каждая квитанция не содержит идентификационную информацию избирателя (например, имя, адрес и т.д.) или дату, в которую бюллетень был подан. Только PVN избирателя подтверждается, чтобы предотвращать ненадлежащее использование информации об избирателе или использование содержимого заполненного бюллетеня. В настоящем примере, голосование осуществляется в предоставленном органами власти центре голосования или, альтернативно, через Интернет. Печатные квитанции также идентифицируют механизм взаимодействия избирателя (например, через центр голосования, через телефонное приложение или на компьютере), использованный для регистрации голоса.When an individual vote is performed, the voter is informed that a receipt, either digital or paper, is made available to each voter. If the voter chooses to receive a receipt, a digital or printed receipt is issued electronically or in paper form, confirming who the voter has voted for, as well as the voter's individual public number (PVN). In addition, each receipt does not contain the voter's identifying information (e.g. name, address, etc.) or the date on which the ballot was cast. Only the voter's PVN is verified to prevent misuse of voter information or use of the contents of the completed ballot. In this example, voting is performed at a government-provided voting center or, alternatively, via the Internet. Printed receipts also identify the voter's interaction mechanism (e.g., through a voting center, via a phone application, or on a computer) used to register the vote.
Когда голос или голоса обрабатываются настоящим изобретением, каждый голос или голоса (единственного избирателя) создают запись бюллетеня в ядре Accountable Democracy (ADE) с той же информацией, которая представлена на квитанции, за исключением того, что вместо публичного номера избирателя (PVN) она содержит зашифрованный секретный номер избирателя (SVN) (см. также Неизвестность секретного номера ниже).When a vote or votes are processed by the present invention, each vote or votes (of a single voter) creates a ballot record in the Accountable Democracy (ADE) core with the same information as that presented on the receipt, except that instead of a public voter number (PVN), it contains an encrypted secret voter number (SVN) (see also Secret Number Obscurity below).
Ядро Accountable Democracy будет предоставлять прикладной программный интерфейс (API) для приложений голосования в режиме онлайн и машин для голосования избирательного органа, используемых для авторизации и регистрации голосов. ADE-авторизация избирателя будет использовать систему избирательного органа, чтобы получать зарегистрированные удостоверения личности (водительские права или государственный ID, и т.д.) и коды авторизации, и будет передавать их третьесторонним приложениям для голосования конечного пользователя для верификации личности избирателя. ADE будет запоминать и хранить конфиденциальные (зашифрованные) секретные номера избирателей, в то время как оно авторизует процесс голосования для публичного номера избирателя. Ядро будет также включать в себя API (API 2) для использования избирательными органами для запроса.The Accountable Democracy Core will provide an application programming interface (API) for online voting applications and election authority voting machines used to authorize and record votes. The ADE voter authorization will use the election authority system to obtain registered IDs (driver's license or state ID, etc.) and authorization codes, and will pass them on to third-party end-user voting applications to verify the voter's identity. The ADE will remember and store confidential (encrypted) voter secret numbers while it authorizes the voting process for the public voter number. The core will also include an API (API 2) for use by election authorities to query.
- 5 048492- 5 048492
Третьестороннее приложение конечного пользователя будет запрашивать ADE, предоставляя идентифицирующую избирателя поисковую информацию, и ADE будет отыскивать применимую регистрацию избирателя и действовать в качестве арбитра в процессе идентификации избирателя. После того как избиратель правильно сопоставляется с регистрацией избирателя, ADE будет предоставлять структуру бюллетеня и PVN в приложение в форме шаблона бюллетеня, который должен быть заполнен и возвращен.The third party end user application will query the ADE by providing voter identification information, and the ADE will retrieve the applicable voter registration and act as an arbitrator in the voter identification process. Once the voter is correctly matched to the voter registration, the ADE will provide the ballot structure and VAT to the application in the form of a ballot template that must be filled out and returned.
Программное обеспечение пользовательского интерфейса (клиента), которое обеспечивает фактический процесс голосования (и необязательно предоставляет квитанцию), может быть или может не быть соединено с Интернетом во время, когда голос подается. Авторизация голосования может быть получена в режиме офлайн посредством сохранения локальной копии публичного файла регистрации избирателей (исключающего секретные номера избирателей). Временный бюллетень может тогда быть создан в режиме офлайн и позже предоставлен на рассмотрение приложением в ядро Accountable Democracy (ADE). Если избиратель еще не проголосовал, когда бюллетень позже предоставляется на рассмотрение в ядро, он проходит через тот же процесс верификации избирательным органом и уведомления избирательного органа, который имел бы место в случае голосования пользователя в режиме онлайн. Если избиратель ранее проголосовал, и кто-то пытается зарегистрировать голос или голоса в ADE, голос блокируется, и фактический авторизованный пользователь уведомляется о том, что неудачная попытка проголосовать была выполнена с помощью его учетных данных. Время и место или механизм неавторизованной попытки будут задокументированы.The user interface (client) software that provides the actual voting process (and optionally provides the receipt) may or may not be connected to the Internet at the time the vote is cast. Vote authorization may be obtained offline by storing a local copy of the public voter registration file (excluding secret voter numbers). A temporary ballot may then be created offline and later submitted by the application to the Accountable Democracy (ADE) core. If the voter has not yet voted when the ballot is later submitted to the core, it goes through the same process of verification by the electoral authority and notification to the electoral authority that would have occurred had the user voted online. If the voter has previously voted and someone attempts to register a vote or votes in the ADE, the vote is blocked and the actual authorized user is notified that an unsuccessful attempt to vote has been made using their credentials. The time and place or mechanism of the unauthorized attempt will be documented.
Когда ядро Accountable Democracy обрабатывает бюллетень, оно создает запись бюллетеня внутри, и избиратель уведомляется о том, что избиратель проголосовал (посредством текста, электронной почты, записанного телефонного сообщения и/или почтовым отправлением). В это время, запись о регистрации избирателя в избирательном органе обновляется, чтобы показывать дату, время и центр для голосования, использованный для регистрации голоса. Ядро, конечно, знает, проголосовал ли избиратель, поскольку упомянутое ядро имеет доступ ко всем бюллетеням.When the Accountable Democracy core processes a ballot, it creates a ballot record internally, and the voter is notified that the voter has voted (via text, email, recorded phone message, and/or postal mail). At this time, the voter's registration record at the electoral authority is updated to show the date, time, and polling center used to register the vote. The core, of course, knows whether the voter has voted, since said core has access to all ballots.
После того как запись бюллетеня создана, избиратель волен контролировать и запрашивать свою собственную запись бюллетеня в режиме онлайн (служба, предлагаемая избирательным органом с помощью API 2 ADE), чтобы удостовериться, что каждый голос или голоса были правильно зарегистрированы. Если существует расхождение между поданными голосом или голосами и/или первоначальной печатной квитанцией, упомянутый избиратель может размещать возражение с помощью избирательного органа. В любой момент после этого, во время и после выборов, и пока избирательный орган считает это надлежащим, или в периоде времени, допустимом по закону, избиратель может напечатать другую квитанцию бюллетеня с полной информацией бюллетеня, но не датой или деталями механизма, использованного для голосования.Once a ballot record has been created, the voter is free to monitor and query his or her own ballot record online (a service offered by the electoral authority via the ADE API 2) to ensure that each vote or votes have been correctly recorded. If there is a discrepancy between the vote or votes cast and/or the original printed receipt, the voter in question may lodge an objection with the electoral authority. At any time thereafter, during and after the election, and for as long as the electoral authority deems it appropriate, or for as long as the law allows, the voter may print another ballot receipt with the full ballot information but not the date or details of the mechanism used to cast the vote.
После того как голос подан, и запись бюллетеня создана, избиратель имеет заданное время (определенное избирательным органом - типично не менее 72 часов), чтобы аннулировать свой голос, если он так пожелает. В каждом голосовании будет существовать предельный срок (типично 24 часа перед днем выборов), после которого аннулирования не допускаются. Если избиратель аннулирует свой голос или голоса, он волен проголосовать снова. Ограничение может быть помещено на количество допустимых повторных голосований.Once a vote has been cast and a record of the ballot paper created, the voter has a set time (determined by the electoral authority - typically at least 72 hours) to cancel their vote if they so wish. There will be a deadline in each vote (typically 24 hours before election day) after which no cancellations are permitted. If a voter cancels their vote or votes, they are free to vote again. A limit may be placed on the number of repeat votes allowed.
Фиг. 1 показывает общее представление текущего процесса и процедуры голосования, посредством которых выборы в настоящее время проводятся, в результате чего идентифицируются выборочные потенциальные слабые места безопасности в потоке данных. Как проиллюстрировано, избиратель 110 может голосовать посредством предоставляемой государством машины 114 для голосования, которая формирует бумажный бюллетень 116. Очевидно, промежуточное, физическое или ручное одобрение 113 необходимо, при этом используются государственные печатные реестры избирателей для регистрации избирателя. После того как голос подан, избиратель 110, таким образом, формирует бумажный бюллетень 116, который собирается в дополнение к бумажным бюллетеням 118 других избирателей, коллективные бюллетени 120 центра голосования затем сводятся в таблицу с помощью машины 122 для обработки (табулятора) бюллетеней центра голосования. Бумажный бюллетень 116 избирателя 110 затем помещается на хранение для последующей инспекции в отдельном хранилище 117. Машины 122 для обработки бюллетеней центра голосования могут состоять из любого количества (n), необходимого для обслуживания каждого центра голосования. Поданные голоса могут затем быть собраны в машине 122 для обработки бюллетеней округа 125, региона 130 и национального уровня 145 для окончательного подведения итогов для определения результата выбора или выборов. Потенциальные места для манипуляции, вмешательства или ошибки (имеющие серьезные последствия переломные точки), показанные в заштрихованных областях, существуют наиболее явно при ручном одобрении 113, в бумажном бюллетене 116 отдельного избирателя, хранилище 117, машинах 122 для обработки бюллетеней центра голосования, в машинах 125 для обработки бюллетеней округа, машинах 130 для обработки бюллетеней региона и, потенциально, национальных машинах 145 для обработки бюллетеней, где внешнее вмешательство или внутреннее манипулирование системой для подсчета голосов является наиболее чувствительным.Fig. 1 shows a general representation of the current voting process and procedure by which elections are currently conducted, whereby selective potential security vulnerabilities in the data stream are identified. As illustrated, a voter 110 may vote by means of a state-provided voting machine 114, which generates a paper ballot 116. Obviously, an intermediate, physical or manual approval 113 is necessary, whereby state printed voter registers are used to register the voter. After the vote is cast, the voter 110 thus generates a paper ballot 116, which is collected in addition to the paper ballots 118 of other voters, the collective ballots 120 of the voting center are then tabulated by means of a machine 122 for processing (tabulating) ballots of the voting center. The paper ballot 116 of the voter 110 is then stored for later inspection in a separate storage facility 117. The voting center ballot processing machines 122 may consist of any number (n) necessary to service each voting center. The cast votes may then be collected in the county 125, region 130, and national 145 ballot processing machine 122 for final tabulation to determine the outcome of the election or selection. Potential points of manipulation, tampering, or error (high-consequence tipping points) shown in the shaded areas exist most clearly at the manual endorsement 113, the individual voter paper ballot 116, the vault 117, the vote center ballot processing machines 122, the county ballot processing machines 125, the region ballot processing machines 130, and potentially the national ballot processing machines 145, where external tampering or internal manipulation of the vote counting system is most sensitive.
- 6 048492- 6 048492
Альтернативно, на фиг. 2 поток данных изображается с помощью настоящего изобретения посредством новой и ранее не существовавшей процедуры голосования, описываемой в данном документе. Избиратель 110 может подавать свой голос, как традиционно осуществлялось, через предоставляемый государством терминал 215 для голосования или посредством другого компьютеризированного устройства ввода, такого как домашний компьютер 215, которое, в настоящем раскрытии, может также быть осуществлено посредством смартфона или другого устройства 220 ввода. Если избиратель 110 использует центр голосования или домашний компьютер 215, избиратель 110 может выбирать бумажный бюллетень 222 в качестве подтверждения поданного голоса или голосов. Избиратели могут также получать цифровое изображение своей квитанции. Независимо от способа, однако, голосование проходит через настоящее ядро Accountable Democracy (ADE) 225, описанное подробно в данном документе, чтобы гарантировать правильное подтверждение голоса в безопасной системе голосования, которая является настоящим изобретением. Исходя из этого, ADE 225 будет информировать избирателя 110 о приеме бюллетеня, предоставляя избирателю 110 извещение или извещения через телефон, текст, электронную почту, почту США или другим способом 230 такого оповещения, или их сочетание. По завершении всего голосования ADE 225 должна предоставить коллективные поданные бюллетени избирателей в форме сведенных в таблицу городских результатов 240, результатов 250 округа, результатов 260 региона и государственных итогов для национальных результатов 270 или их сочетания.Alternatively, in Fig. 2, the data flow is depicted using the present invention through a new and previously non-existent voting procedure described herein. The voter 110 may cast his vote as traditionally done through a government-provided voting terminal 215 or through another computerized input device, such as a home computer 215, which, in the present disclosure, may also be done through a smartphone or other input device 220. If the voter 110 uses a voting center or home computer 215, the voter 110 may select a paper ballot 222 as evidence of the vote or votes cast. Voters may also receive a digital image of their receipt. Regardless of the method, however, the vote passes through the present Accountable Democracy (ADE) core 225, described in detail herein, to ensure that the vote is correctly verified in the secure voting system that is the present invention. Accordingly, the ADE 225 shall inform the voter 110 of the receipt of the ballot by providing the voter 110 with a notice or notices via telephone, text, email, U.S. mail, or other means 230 of such notification, or a combination thereof. Upon completion of all voting, the ADE 225 shall provide the collective voter ballots cast in the form of tabulated city results 240, county results 250, region results 260, and state totals for national results 270, or a combination thereof.
Отметим, что множество ADE 225, представляющих множество регионов, будут сотрудничать (не показано), чтобы совместно использовать итоги регионов для сообщения национальных результатов 270. Так как сложение итогов регионов между множеством регионов является относительно тривиальным, нет необходимости предоставлять отдельный национальный центр объединения данных. Однако, связь между ADE регионов происходит через Интернет. Опубликованные файлы бюллетеней не объединяются между регионами. Национальные отчеты будут одинаковыми для каждого ADE региона в сети.Note that multiple ADEs 225 representing multiple regions will collaborate (not shown) to share regional totals to report national results 270. Since adding regional totals across multiple regions is relatively trivial, there is no need to provide a separate national data aggregation center. However, communication between regional ADEs occurs over the Internet. Published bulletin files are not merged across regions. National reports will be the same for each regional ADE in the network.
Накопление записей бюллетеней.Accumulation of ballot records.
Фиг. 3 дополнительно иллюстрирует вышеупомянутое ADE более подробно, при этом процедуры голосования могут происходить на любом компьютеризированном средстве для подачи голосов, в центре голосования, через домашний компьютер или приложение 300 на смартфоне, при этом записям бюллетеней назначается порядковый номер как часть их структуры, который может быть использован для последующего доступа к записям. Как отмечалось, избиратели 110, голосующие с помощью компьютера или смартфона 300, должны отдавать голоса непосредственно на основной или главный сервер 350 ADE. Также избиратель 110 может получать уведомления, как описано со ссылкой на 230 на фиг. 2. Записи бюллетеней замораживаются, упоминаются здесь в качестве замороженных бюллетеней 310, спустя 72 часа (или другой точно указываемый период, как определено выше) с момента их создания. По мере накопления замороженных бюллетеней 310, они собираются в пачки 320. Списки номеров бюллетеней (пачки 320) хранятся в файле пачек, при этом размер пачки может быть установлен во время настройки системы, и каждой пачке выпускается 256-байтное SHA или другое хэш-значение и номер пачки. Хэш-значение принадлежит всем данным бюллетеней в пачке, в том числе зашифрованным SVN.Fig. 3 further illustrates the above-mentioned ADE in more detail, wherein the voting procedures can take place on any computerized means for casting votes, at a voting center, via a home computer or an application 300 on a smartphone, wherein the ballot records are assigned a serial number as part of their structure, which can be used for subsequent access to the records. As noted, voters 110 voting using a computer or smartphone 300 must cast votes directly to the main or primary ADE server 350. Also, the voter 110 can receive notifications, as described with reference to 230 in Fig. 2. The ballot records are frozen, referred to herein as frozen ballots 310, after 72 hours (or another precisely specified period, as defined above) from the time of their creation. As frozen 310 ballots accumulate, they are collected into 320 batches. Lists of ballot numbers (320 batches) are stored in a batch file, the batch size can be set during system setup, and each batch is issued a 256-byte SHA or other hash value and a batch number. The hash value belongs to all the ballot data in the batch, including SVN encrypted ones.
Содержимое записи пачки:Contents of the pack entry:
бюллетень номер A;Bulletin number A;
бюллетень номер B;bulletin number B;
бюллетень номер C;Bulletin number C;
бюллетень номер [(N)n];bulletin number [(N) n ];
хэш-значение данных бюллетеней;hash value of the ballot data;
номер пачки.pack number.
Сами данные бюллетеней (отличные от множества SVN) хранятся в незашифрованном состоянии. Голоса за конкурирующих кандидатов выражаются посредством двоичной системы нумерации кандидатов. Например, если четыре человека баллотируются на конкретную должность, они будут пронумерованы внутренним образом как 1, 2, 4 и 8. Вместо наличия специально выделенной графы для галочки внутренним образом, они будут иметь один номер кандидата на каждую открытую должность. Это гарантирует, что, если какие-либо бюллетени изменяются, резкое изменение произойдет в хэшзначении пачки. Возможными альтернативами этому являются 1) выражение номеров кандидатов на место с помощью алфавитных значений или 2) номера выражаются с помощью алфавитных знаков.The ballot data itself (other than the SVN set) is stored in an unencrypted state. Votes for competing candidates are expressed using a binary candidate numbering system. For example, if four people are running for a particular position, they would be numbered internally as 1, 2, 4, and 8. Instead of having a dedicated checkbox internally, they would have one candidate number for each open position. This ensures that if any of the ballots change, there will be a drastic change in the batch hash value. Possible alternatives to this are 1) expressing the candidate numbers per seat using alphabetic values, or 2) expressing the numbers using alphabetic characters.
Сами пачки 320 группируются (перечисляются) в записях группы пачек (группах пачек 330), которые хранятся в файле группы пачек, и каждой группе 330 пачек выпускается порядковый номер и хэш-значение, которое принадлежит всем записям пачек в группе. Существуют два типа записей группы: 1) записи, которые принадлежат пачкам 320, и 2) записи, которые принадлежат группам 330 пачек. Записям групп 330 пачек назначаются номера уровней таким образом, чтобы группы могли образовываться (т.е. компоноваться) иерархически. Первый уровень (уровень 1), который перечисляет записи пачек. Уровень 2 и выше записывает список (и хэш) записей групп на уровне, непосредственно ниже их.The 320 batches themselves are grouped (listed) in batch group records (330 batch groups) which are stored in a batch group file, and each 330 batch group is issued a sequence number and a hash value which belongs to all the batch records in the group. There are two types of group records: 1) records which belong to 320 batches, and 2) records which belong to 330 batch groups. The 330 batch group records are assigned level numbers so that the groups can be formed (i.e., composed) hierarchically. The first level (level 1) which lists the batch records. Level 2 and above write a list (and hash) of the group records at the level immediately below them.
- 7 048492- 7 048492
Бюллетени, хранящиеся в файле незамороженных бюллетеней 360, защищаются посредством индивидуальных хэш-значений бюллетеней, сохраненных в отдельном файле незамороженных хэшзначений (не показан).Ballots stored in the 360 unfrozen ballot file are protected by individual ballot hash values stored in a separate unfrozen hash value file (not shown).
В общих словах, существует управляемый избирательным органом файл регистрации 112 избирателей, файл незамороженных бюллетеней 360, файл замороженных бюллетеней 310, файл пачки 320, файл группы 330 пачек и файл удаленных бюллетеней 370. Кроме того, программное обеспечение может существовать на двух зеркальных серверах, работающих в тандеме, посредством чего вторичный сервер 380 верифицирует обработку первичного или главного сервера 350, обеспечивая избыточность и помощь в действиях по наблюдению и верификации. Более того, этот второй сервер 380 может работать параллельно или в тандеме с главным сервером 350, но в другом или отличном облачном сервисе или центре обработки данных. Кроме того, каждый сервер или множество серверов могут функционировать для создания одного или более отчетов 390, которые можно использовать для мониторинга, верификации, безопасности системы или для комбинации упомянутого. Кроме того, избиратели 110, голосуя с помощью компьютера или смартфона 300, могут опционально связываться как с главным сервером 350, так и со вторым сервером 380 через вторичный канал 395 связи в дополнение к связи, происходящей между главным сервером 350 и вторым сервером 380, что показано связью 399.In general, there is a voter registration file 112 managed by the electoral authority, a file of unfrozen ballots 360, a file of frozen ballots 310, a file of a batch 320, a file of a group of batches 330 and a file of deleted ballots 370. In addition, the software can exist on two mirror servers operating in tandem, whereby the secondary server 380 verifies the processing of the primary or main server 350, providing redundancy and assistance in monitoring and verification activities. Moreover, this second server 380 can operate in parallel or in tandem with the main server 350, but in a different or different cloud service or data center. In addition, each server or a plurality of servers can function to create one or more reports 390, which can be used for monitoring, verification, system security or a combination thereof. In addition, voters 110, when voting using a computer or smartphone 300, may optionally communicate with both the main server 350 and the second server 380 via a secondary communication channel 395 in addition to the communication occurring between the main server 350 and the second server 380, which is shown by communication 399.
Дополнительно изобретателем рассматривается то, что третий ADE-сервер (не показан), работающий в тандеме или параллельно с существующим сервером или серверами, может быть другой системой, управляемой объектом-сущностью, отличной от управляемого на региональном или федеральном уровне объекта-сущности (например, частным образом управляемой, публично управляемой или иным не спонсируемым государством предприятием), или через партнерство между системой, управляемой на региональном/федеральном уровне, и частным предприятием, при этом система проверок и противовесов создается, чтобы добавлять надзор, наблюдение и/или легитимность к настоящей системе.Additionally, the inventor contemplates that the third ADE server (not shown), operating in tandem or parallel with the existing server or servers, may be another system operated by an entity other than the state or federally operated entity (e.g., a privately operated, publicly operated, or other non-government sponsored entity), or through a partnership between a state/federal operated system and a private entity, wherein a system of checks and balances is created to add oversight, surveillance, and/or legitimacy to the present system.
Безопасность и прозрачность.Security and transparency.
Определение терминов.Definition of terms.
Хэш-значение - значение, которое является накоплением битов из потока данных способом, который использует математический алгоритм, такой как SHA-256, для обеспечения результата фиксированной длины. Оно также называется контрольной суммой или просто хэшем.A hash value is a value that is an accumulation of bits from a data stream in a way that uses a mathematical algorithm, such as SHA-256, to provide a result of a fixed length. It is also called a checksum or simply a hash.
Ассиметричное шифрование - тип шифрования, который использует два различных ключа. Каждый ключ может дешифровать то, что другой шифрует. Часто они называются открытым и закрытым ключами. Однако при использовании настоящего изобретения никакие ключи не становятся общедоступными. Каждый канал связи использует безопасность транспортного уровня, которая создает уникальные пары ключей для каждого соединения.Asymmetric encryption is a type of encryption that uses two different keys. Each key can decrypt what the other key encrypts. These are often called public and private keys. However, with the present invention, no keys are made publicly available. Each communication channel uses transport layer security, which creates unique key pairs for each connection.
Намерением изобретателя является создание исходного кода главного сервера для ядра Accountable Democracy (ADE), в том включающего в себя операционную систему, доступного для общественного контроля и лицензирования упомянутой системы для использования при проведении выборов. Здесь описывается то, как общественности гарантируется, что используемое программное обеспечение является точным программным обеспечением, которое выпущено для общественности.The intention of the inventor is to make the source code of the main server for the Accountable Democracy (ADE) core, including the operating system, available for public inspection and licensing of said system for use in elections. It describes how the public is assured that the software used is the exact software that is released to the public.
ADE 225 проектируется для работы одновременно на двух до множества выделенных серверах 350, 380 (типично предоставляемых конкурирующими облачными службами), и ядро включает в себя свою собственную операционную систему (OS). Первоначально ей может быть уменьшенный по масштабу Linux или ОС типа BSD. Во время начальной загрузки текущая программа устанавливает всю неиспользуемую память в ноль, а по завершении начальной загрузки она устанавливает хэш-значение для исполняемого кода ОС и другое хэш-значение для исполняемых модулей приложения.The ADE 225 is designed to run simultaneously on two to multiple dedicated 350, 380 servers (typically provided by competing cloud services), and the kernel includes its own operating system (OS). Initially, this may be a scaled-down Linux or BSD-type OS. During boot, the running program sets all unused memory to zero, and after boot completes, it sets a hash value for the OS executable code and another hash value for the application executables.
Со случайными интервалами настоящая система повторно вычисляет и сравнивает эти программные хэш-значения с хэш-значениями, установленными при начальной загрузке, чтобы гарантировать, что программы не изменились. Она также периодически повторно подтверждает (проверяет) хэш-значения всех файлов (таблиц), чтобы гарантировать целостность данных. Программы выделения памяти, используемые программным обеспечением, обнуляют память при ее освобождении.At random intervals, the system recalculates and compares these software hashes with the hashes set at boot time to ensure that the programs have not changed. It also periodically revalidates (verifies) the hashes of all files (tables) to ensure data integrity. The memory allocators used by the software zero out memory when it is freed.
Программное обеспечение, также по запросу или инструкции, повторно вычисляет хэш-значение всех исполняемых модулей, которые обрабатывают записи бюллетеня 310, пачек 320 и групп 330 пачек, и предоставляет их клиентским и правительственным приложениям через API. Весь исходный код в главном ADE 225-сервере 350 является доступным для независимой проверки и компиляции в целях верификации хэша исполняемого кода (таким образом, обеспечивая управление на уровне государства и общественный надзор). Это включает в себя исходный и объектный код для вычисления хэш-значений. Это предоставит повышенную проверку правильности результатов выборов посредством открытой проверки способов и процессов, но не раскроет идентификацию избирателя или фактические результаты бюллетеней во время выборов.The software, also upon request or instruction, recalculates the hash value of all executable modules that process the records of the ballot 310, batches 320 and batch groups 330, and makes them available to client and government applications via an API. All source code in the main ADE 225 server 350 is available for independent inspection and compilation for the purpose of verifying the hash of the executable code (thus providing government control and public oversight). This includes the source and object code for calculating the hash values. This will provide increased verification of the correctness of the election results through open verification of the methods and processes, but will not reveal the identity of the voter or the actual results of the ballots during the election.
Ожидается, что во время выборов 8 символов низшего порядка этих критических хэш-значений будут опубликованы в СМИ и/или сделаны доступными на публично доступном веб-сайте, и этиIt is expected that during the election, the 8 lowest order characters of these critical hash values will be published in the media and/or made available on a publicly accessible website, and these
- 8 048492 значения будут динамически получаться от ядра и отображаться на клиентских пользовательских интерфейсах при голосовании.- 8 048492 values will be dynamically retrieved from the core and displayed on client UIs when voting.
Функциональность второго сервера.Functionality of the second server.
Второй сервер 380 работает в подчиненном режиме и, по сути, дублирует все процессы учета бюллетеней, выполняемые главным сервером 350. Главный сервер 350 пересылает копию всего входящего трафика данных второму серверу 380. Второй сервер 380 может также принимать входные данные непосредственно от клиентских приложений в целях верификации (см. путь 395). Периодически, верхние хэш-значения групп, созданные двумя серверами 350, 380, сравниваются, чтобы гарантировать, что оба функционируют аналогично. Необязательный третий сервер (не показан), или множество серверов (не показаны), могут быть присоединены к конфигурации, для большей безопасности и для идентификации корректной информации бюллетеня в случае расхождения между главным 350 и вторым 380 серверами. И третий сервер (не показан) может быть где-угодно в Интернете, как, например, в аудиторском центре.The second server 380 operates in a slave mode and essentially duplicates all the ballot accounting processes performed by the main server 350. The main server 350 forwards a copy of all incoming data traffic to the second server 380. The second server 380 may also accept input data directly from client applications for verification purposes (see path 395). Periodically, the top group hashes created by the two servers 350, 380 are compared to ensure that both are functioning similarly. An optional third server (not shown), or multiple servers (not shown), may be added to the configuration for greater security and to identify the correct ballot information in the event of a discrepancy between the main 350 and the second 380 servers. And the third server (not shown) may be anywhere on the Internet, such as in an audit center.
В случае, когда главный сервер 350 компрометируется или отключается, изменение ролей может иметь место посредством 1) помещения главного сервера 350 в двухсторонний только пересылающий режим или перемаршрутизации сетевого трафика к и от второго сервера, и 2) переключения второго сервера 380 в автономный режим. После того как главный сервер 350 либо защищен, либо восстановлен, этот сервер может использоваться в качестве вторичного сервера или быть переклассифицирован в качестве первичного сервера, как диктуют условия, действующего в качестве зеркального сервера или сервера подтверждения.In the event that the primary server 350 is compromised or goes offline, a change of roles may occur by 1) placing the primary server 350 in a two-way forwarding-only mode or rerouting network traffic to and from the second server, and 2) switching the second server 380 to an offline mode. After the primary server 350 is either protected or restored, that server may be used as a secondary server or reclassified as a primary server, as conditions dictate, acting as a mirror server or an acknowledgment server.
Несколько вспомогательных функций главного сервера 350 не предоставляются в автономном режиме, но он включает в себя всю обработку бюллетеней и обработку записей групп, уведомление избирателей и поддержку запросов избирателей. Файлы, созданные и сохраненные вторым сервером в автономном режиме, являются идентичными файлам на главном сервере.Several support functions of the main 350 server are not provided in offline mode, but it includes all ballot processing and group record processing, voter notification, and voter query support. Files created and saved by the second server in offline mode are identical to those on the main server.
Поскольку бюллетени группируются иерархически, все уровни могут сравниваться между серверами посредством сравнения единственного хэш-значения на верхнем уровне каждого файла группы. Если расхождение происходит, программное обеспечение может быстро идентифицировать группы бюллетеней и фактические бюллетени, которые различаются между двумя серверами 350, 380 или множеством серверов, изучая хэши групп вниз до самого нижнего расхождения хэшей, и затем сравнивая записи фактических бюллетеней в каждой группе, чьи ключи не совпадают. Второй сервер следовательно обеспечивает функцию мониторинга для того, чтобы обнаруживать и точно указывать расхождения, существующие в хэшах групп, вниз до уровня индивидуальной пачки. После того как ошибочная пачка идентифицирована, другое средство используется для идентификации расхождений в пачке (например, сравнение с резервными копиями и зеркальными данными).Since ballots are grouped hierarchically, all levels can be compared between servers by comparing a single hash value at the top level of each group file. If a discrepancy occurs, the software can quickly identify groups of ballots and the actual ballots that differ between two servers 350, 380, or multiple servers by examining the group hashes down to the lowest hash discrepancy, and then comparing the actual ballot records in each group whose keys do not match. The second server therefore provides a monitoring function to detect and pinpoint discrepancies that exist in the group hashes down to the individual batch level. Once the faulty batch has been identified, another means is used to identify discrepancies within the batch (e.g., comparison with backups and mirror data).
Программное обеспечение, следовательно, может быстро идентифицировать любые ошибочно записанные бюллетени (т.е., бюллетени, которые различаются между дублирующими наборами данных бюллетеней) и сообщать конкретные расхождения в таких бюллетенях. Посредством создания прогрессивных наборов резервных копий в третьем местоположении совершенно легко увидеть, какие оригинальные значения были в таких бюллетенях. Конечно, с величиной защиты, которую эти бюллетени имеют, бюллетени будут очень редко изменяться, но ошибки среды не могут быть исключены, поскольку они происходят случайно.The software can therefore quickly identify any erroneously recorded ballots (i.e., ballots that differ between duplicate sets of ballot data) and report specific discrepancies in such ballots. By creating progressive sets of backup copies in a third location, it is quite easy to see what the original values were in such ballots. Of course, with the amount of protection these ballots have, the ballots will very rarely change, but environmental errors cannot be ruled out, as they occur randomly.
Обработка исключения.Exception handling.
С точно указанными или случайными интервалами программа-инспектор выгружается в настоящую систему с сервера Accountable Democracy (или аудитора выборов) (не показан), которая затем использует динамический алгоритм для модификации своего собственного хэша после запуска. Программа не знает, каким ее собственный хэш является или будет, но внешний сервер Accountable Democracy имеет доступ к этой информации. Программа-инспектор проверяет окружение и сообщает свое собственное хэшзначение вместе со своими обнаружениями со ссылкой на все хэш-значения исполняемого кода и карту динамически выделенной памяти.At precisely specified or random intervals, the inspector program is downloaded to the live system from the Accountable Democracy server (or election auditor) (not shown), which then uses a dynamic algorithm to modify its own hash after it has run. The program does not know what its own hash is or will be, but the external Accountable Democracy server has access to this information. The inspector program examines the environment and reports its own hash value along with its findings, with a link to all the hashes of the executable code and a map of dynamically allocated memory.
Как на фиг. 3 и 4 по запросу от избирательного органа или другого наблюдающего учреждения, полный аудит файлов 400 бюллетеней (т.е. замороженный бюллетень 310 на фиг. 3) может быть выполнен посредством отправки избирательным органом списка всех (зашифрованных) секретных номеров 420 избирателей тех избирателей, которые проголосовали, в ADE 225. ADE 225 затем найдет и отследит все бюллетени, ассоциированные с предоставленным списком. Какие-либо ненормальности, отсутствующие или лишние бюллетени, или их комбинация будут затем сообщены в отчете.As in Fig. 3 and 4, upon request from the electoral authority or other monitoring institution, a full audit of the ballot files 400 (i.e., the frozen ballot 310 in Fig. 3) can be performed by sending the electoral authority a list of all (encrypted) secret voter numbers 420 of those voters who voted to the ADE 225. The ADE 225 will then find and track all ballots associated with the provided list. Any abnormalities, missing or extra ballots, or a combination of these will then be reported.
Периодически система будет проверять файлы файла 310/400 бюллетеней, пачек 320 и групп 330 пачек, повторно вычисляя все хэш-значения в файлах пачек 320 и групп 330 пачек и сопоставляя результаты с сохраненными значениями, выполняя проверку, чтобы быть уверенной, что каждый номер 410 бюллетеня появляется в одной и только одной пачке 320, и выполняя проверку, чтобы быть уверенной, что дублирующие секретные номера 475 избирателей в данных 400 бюллетеней не существуют.Periodically, the system will check the 310/400 ballot file, 320 batch, and 330 batch group files, recalculating all hash values in the 320 batch and 330 batch group files and matching the results with the stored values, checking to ensure that each 410 ballot number appears in one and only one 320 batch, and checking to ensure that duplicate 475 voter secret numbers do not exist in the 400 ballot data.
- 9 048492- 9 048492
Перед публикацией окончательного файла 400 бюллетеней секретные номера 475 избирателей повторно шифруются с помощью новых ключей, на всякий случай, если внутренний ключ шифрования был злонамеренно получен. В это время все хэш-значения в порядке возрастания повторно вычисляются.Before the final file of 400 ballots is published, the secret numbers of 475 voters are re-encrypted with new keys, just in case the internal encryption key has been maliciously obtained. At this time, all hash values are re-calculated in ascending order.
Во время, когда окончательный файл бюллетеней выдается, соответствующий файл пачки будет сопровождать его.At the time the final ballot file is issued, the corresponding batch file will accompany it.
Табличная электронная структура бюллетеней.Tabular electronic structure of bulletins.
Широкий диапазон возможных определений бюллетеней и способов голосования поддерживается, включающий в себя первичные выборы, выборы, предвыборную борьбу, юридические меры, референдумы, законопроекты и т.п. Более того, система проектируется как многоязыковая и приспособлена для поддержки множества визуальных подсказок и оптических вспомогательных средств.A wide range of possible ballot definitions and voting methods are supported, including primaries, elections, campaigns, legal actions, referendums, bills, etc. Furthermore, the system is designed to be multilingual and is designed to support a variety of visual cues and optical aids.
Информационная панель избирательного органа.Electoral Authority Dashboard.
ADE 225 может сообщать избирательным органам географические статистические данные, касающиеся числа избирателей, которые проголосовали в каждой географической области. Эта информация будет также доступна избирательным органам через их собственные записи о том, кто проголосовал. Никакая другая, информация бюллетеней не будет предоставлена избирательным органам перед выдачей окончательных результатов подсчета.The ADE 225 can provide election officials with geographic statistics regarding the number of voters who voted in each geographic area. This information will also be available to election officials through their own records of who voted. No other ballot information will be provided to election officials before the final count is issued.
Неизвестность секретного номера (защита личности избирателя).Unknown secret number (protection of voter identity).
На государственных серверах (избирательного органа), когда избиратель регистрируется, ему или ей предоставляется учетная запись и назначается (1) публичный номер 430 избирателя и (2) секретный номер 420 избирателя. Секретный номер 420 избирателя предоставляется избирательному органу (государственному серверу в государственном органе 440) посредством ADE 350 в ассиметрично зашифрованной форме, а незашифрованный конкретный номер 420 избирателя никому не раскрывается. Однозначно, избирательному органу не предоставляются ключи 445, 450 шифрования, либо ключи 460, 465, 470 дешифрования. Незашифрованный секретный номер избирателя может содержать символы, отличные от цифр, включающие в себя, но не только: буквы верхнего и нижнего регистра и печатные специальные символы.On the state servers (of the electoral authority), when a voter registers, he or she is provided with an account and is assigned (1) a public voter number 430 and (2) a secret voter number 420. The secret voter number 420 is provided to the electoral authority (the state server in the state authority 440) via ADE 350 in an asymmetrically encrypted form, and the unencrypted specific voter number 420 is not disclosed to anyone. Definitely, the electoral authority is not provided with the encryption keys 445, 450, or the decryption keys 460, 465, 470. The unencrypted secret voter number may contain characters other than numbers, including but not limited to: upper and lower case letters and printed special characters.
Когда ADE 350 принимает зашифрованный секретный номер 420 избирателя от сервера избирательного органа 440, ADE 350 немедленно дешифрует этот номер и повторно шифрует его, с помощью другого ключа для хранения в бюллетене. Ключи дешифрования для секретных номеров 460 бюллетеня избирателя и зашифрованных номеров 465 избирателя избирательного органа сохраняются только на внешнем (обычно Accountable Democracy) сервере (в зашифрованной форме - не показана) и в памяти ADE 350.When the ADE 350 receives the encrypted voter secret number 420 from the election authority server 440, the ADE 350 immediately decrypts this number and re-encrypts it, using a different key, for storage in the ballot. The decryption keys for the voter secret numbers 460 of the ballot and the encrypted voter numbers 465 of the election authority are stored only on the external (usually Accountable Democracy) server (in encrypted form - not shown) and in the memory of the ADE 350.
Резюмируя, избирательные органы 440 не имеют доступа к ключу 450 шифрования или ключам 465 дешифрования секретного номера избирателя, а ADE 350 не имеет доступа к ключам 460 и 465 дешифрования секретного номера избирателя в бюллетеня, за исключением случая, когда они предоставляются из внешнего источника для обработки номера избирателя в бюллетене. Когда голосование происходит, публичные номера 430 избирателей используются для координации между пользовательским приложением третьей стороны, ADE 350 и серверами 440 избирательного органа. Позже когда избиратель осуществляет доступ к своему бюллетеню через систему избирательного органа, его зашифрованный секретный номер 420 отправляется в ADE 350, которое преобразует его во вторую зашифрованную версию 475 и отыскивает связанную запись бюллетеня. Избирательные органы могут использовать файл 490 промежуточного преобразования номеров избирателей, в отличие от прямого доступа к секретным номерам 420 избирателей. Пароли 425 избирателей шифруются, см. ключ № 3 455 шифрования, тогда как ключ № 3 470 дешифрования уничтожается (не существует).In summary, the election authorities 440 do not have access to the encryption key 450 or the decryption keys 465 of the voter's secret number, and the ADE 350 does not have access to the decryption keys 460 and 465 of the voter's secret number on the ballot, except when they are provided from an external source to process the voter's number on the ballot. When voting occurs, the public voter numbers 430 are used to coordinate between the third party user application, the ADE 350, and the election authority's servers 440. Later, when the voter accesses his ballot through the election authority's system, his encrypted secret number 420 is sent to the ADE 350, which converts it to a second encrypted version 475 and retrieves the associated ballot record. Electoral authorities may use a file 490 of intermediate conversion of voter numbers, as opposed to direct access to the secret numbers 420 of voters. The passwords 425 of voters are encrypted, see encryption key #3 455, while decryption key #3 470 is destroyed (does not exist).
Технические соображения.Technical considerations.
Сегодняшние компьютерные программные средства имеют очень широкую основу. Существует множество способов реализовать этот проект. С технической точки зрения ключевыми моментами для реализации настоящей системы являются:Today's computer software has a very broad base. There are many ways to implement this project. From a technical point of view, the key points for implementing this system are:
1. операционные системы с открытым исходным кодом;1. open source operating systems;
2. публично доступные компиляторы языков программирования и библиотеки исходного кода;2. publicly available programming language compilers and source code libraries;
3. публично доступные криптографические методы как для хэширования, так и для использования ассиметричных ключей;3. publicly available cryptographic methods for both hashing and using asymmetric keys;
4. способность программного обеспечения к самопроверке;4. the ability of the software to self-check;
5. способность программного обеспечения к экспертной оценке и наблюдению во время выборов посредством динамического вычисления программно-исполняемых хэш-значений.5. the ability of software to perform expert evaluation and observation during elections through dynamic computation of software-executable hash values.
В случае тревожного оповещения, вследствие несоответствий между и среди сервером(ами), данных, или посредством выражения беспокойства избирателями, простым решением является выгрузка свежего программного обеспечения для проверки, которое подтвердит статус каждого сервера. Поскольку вся обработка бюллетеней является централизованной для каждого избирательного органа, существует только одна точка искажения данных или программы, за которой необходимо наблюдать, и которая может быть легко доступна.In the event of an alert, due to inconsistencies between or among server(s), data, or through concerns expressed by voters, a simple solution is to download fresh verification software that will confirm the status of each server. Since all ballot processing is centralized for each election authority, there is only one point of data or software corruption to monitor, and it can be easily accessed.
- 10 048492- 10 048492
Фиг. 5 представляет одну возможную программную структуру для реализации этих описанных способов. Представленный предпочтительный вариант осуществления служит в качестве примера, и предполагается, что с течением времени улучшения технологии станут доступными для более лучших реализаций. Значимые аспекты проекта показаны на фиг. 5, и этот пример представляется для описания одной из множества возможных программных структур, (a) наблюдающих и осуществляющих события 600, включающие в себя, но не только, (1) время заморозки бюллетеня, (2) готовность исходящего сообщения, (3) исходящий канал доступен, (4) время для пересчета хэшей файлов, (5) время для проверки памяти, (6) время готовности для хэширования, (7) время для сопоставления хэшей между главным сервером и вторым сервером (или множеством серверов), (8) время для обработки тестового комплекта, (9) время для резервирования файлов, или их комбинацию, и/или (b) проводящих конкретные процессы 700, включающие в себя, но не только, (1) регистрацию выборок бюллетеней, (2) извлечение публичных данных избирателя, (3) извлечение текущих хэшей в памяти, (4) извлечение итогов бюллетеней избирателей, (5) извлечение выборок бюллетеней избирателей, (6) инициирование и выполнение EOD-функций, среди прочего. В качестве примера, при начальном запуске 500 программы начальная загрузка текущей программы устанавливает всю неиспользуемую память в ноль 503, и ADE 350 загружает 506 приложение, память проверяется, и хэш-значения вычисляются 509. Далее, главный сервер 350 ADE 225, второй сервер 380, или оба, осуществляют активный мониторинг на предмет сообщения 512 (здесь в течение 3-секундного периода времени). Если сообщение принимается 515 (указано как ДА) 518, упомянутое сообщение добавляется во входящую очередь 520. Если сообщение не принимается 515, но существует событие, которое должно быть обработано 522, это событие 525 обрабатывается (за которым следует Да 527), и система проверяет другое событие. Входящие сообщения 530 обрабатываются брокером 540 сообщений, чтобы выполнять процессы 1, 2, 3, n 550, приводящие в результате к исходящим сообщениям в форме (1) результатов 555 запроса, (2) хэшзначений 557, (3) отчетов 559, (4) данных 562 второго сервера, (5) извещений 565 избирателя, (6) государственных уведомлений 567 и т.п. Следует отметить, только сообщения обрабатываются при посредничестве, так как события требуют меньшего времени обработки, таким образом, они обрабатываются по циклу событий.Fig. 5 represents one possible software structure for implementing these described methods. The presented preferred embodiment serves as an example, and it is expected that over time, improvements in technology will become available for better implementations. Significant aspects of the design are shown in Fig. 5, and this example is presented to describe one of a variety of possible software structures that (a) observe and perform events 600 including, but not limited to, (1) ballot freeze time, (2) outgoing message ready, (3) outgoing channel available, (4) time to recalculate file hashes, (5) time to check memory, (6) time to be ready to hash, (7) time to compare hashes between a main server and a second server (or multiple servers), (8) time to process a test suite, (9) time to back up files, or a combination thereof, and/or (b) perform specific processes 700 including, but not limited to, (1) registering ballot samples, (2) retrieving public voter data, (3) retrieving current hashes in memory, (4) retrieving voter ballot totals, (5) retrieving samples voter ballots, (6) initiating and executing EOD functions, among other things. As an example, at program initial startup 500, the bootstrap of the current program sets all unused memory to zero 503, and ADE 350 loads 506 the application, the memory is checked, and hash values are calculated 509. Next, the main ADE 225 server 350, the second server 380, or both, actively monitor for a message 512 (here for a 3-second period of time). If the message is received 515 (indicated as YES) 518, said message is added to the incoming queue 520. If the message is not received 515, but there is an event to be processed 522, that event 525 is processed (followed by YES 527), and the system checks for another event. Incoming messages 530 are processed by message broker 540 to perform processes 1, 2, 3, n 550 resulting in outgoing messages in the form of (1) query results 555, (2) hash values 557, (3) reports 559, (4) second server data 562, (5) voter notifications 565, (6) government notifications 567, etc. It should be noted that only messages are processed through brokering, since events require less processing time, thus they are processed through an event loop.
Блокчейн (цепочка блоков) - альтернативы.Blockchain (chain of blocks) - alternatives.
Цепочки блоков широко признаны как безопасные и неизменяемые. Следовательно, они создают хороший механизм хранения бюллетеней. Однако, настоящее изобретение не использует цепочки блоков и превосходит цепочку блоков в следующих отношениях:Block chains are widely recognized as secure and immutable. Therefore, they provide a good mechanism for storing ballots. However, the present invention does not use block chains and is superior to block chains in the following ways:
1. Бюллетени являются в одно и то же время отслеживаемыми, анонимными, публично видимыми и неизменяемыми. В цепочке блоков бюллетени, по существу, не видны для избирателей в форме, которую можно было бы осмыслить. Настоящее изобретение максимизирует прозрачность, которая является центральным аспектом достоверности. При использовании цепочки блоков, если ключи дешифрования намеренно или тайком выдаются общественности, тогда личности избирателей также становятся видимыми.1. Ballots are simultaneously traceable, anonymous, publicly visible, and immutable. In a blockchain, ballots are essentially invisible to voters in a form that can be understood. The present invention maximizes transparency, which is a central aspect of trustworthiness. Using a blockchain, if decryption keys are intentionally or surreptitiously released to the public, then the identities of voters also become visible.
2. При использовании цепочки блоков усложненное программное обеспечение требуется для подсчета голосов, и это представляет точку уязвимости для вмешательства. Все, что не может быть осуществлено на виду, верифицируемым образом, подвергается вмешательству и сомнению. В настоящей системе, файл бюллетеней может быть выдан общественности для проверки, подтверждения целостности и для пересчетов.2. With the blockchain, sophisticated software is required to count the votes, and this presents a point of vulnerability for tampering. Anything that cannot be done in a visible, verifiable manner is subject to tampering and questioning. In a real system, the ballot file can be released to the public for inspection, verification of integrity, and recounts.
3. Настоящее изобретение использует значительно более эффективный формат хранения по сравнению с цепочкой блоков. Только посредством шифрования секретных номеров избирателей оно минимизирует требования к хранению, и, посредством правильного использования криптографической технологии для защиты без шифрования, настоящая система делает хранение несложным, эффективным и быстрым, чтобы идентифицировать и изолировать искажения данных, тогда как цепочка блоков должна использовать экстенсивную избыточность, сложные формы разрешения разногласий и существенную вычислительную мощность, и природные энергетические ресурсы.3. The present invention uses a significantly more efficient storage format compared to the block chain. Only by encrypting the secret numbers of voters, it minimizes the storage requirements, and by properly using cryptographic technology for protection without encryption, the present system makes storage simple, efficient and fast to identify and isolate data corruption, whereas the block chain must use extensive redundancy, complex forms of dispute resolution and significant computing power and natural energy resources.
4. Использование цепочек блоков является непригодным для избирателей, изменяющих свое мнение или аннулирующих голоса, которые являются спорными. После того как блок в цепочке сохраняется в цепочке, он является неудаляемым.4. The use of block chains is unsuitable for voters changing their minds or canceling votes that are disputed. Once a block in a chain is stored in the chain, it is irremovable.
Ключевые операции.Key operations.
Ключами к успеху (с токи зрения конфиденциальности избирателя и управления) для этого типа подсчета и учета голосов являются:The keys to success (from a voter privacy and governance perspective) for this type of vote counting and accounting are:
1. способность избирателей повторно рассматривать свои бюллетени, таким образом, предоставляя полномочие конечному пользователю гарантировать требуемую безопасность в том, что бюллетени не изменяются.1. the ability of voters to re-examine their ballots, thus providing the power to the end user to ensure the required security that ballots are not altered.
2. Способность программного обеспечения к самопроверке, в результате чего, программное обеспечение имеет контроль над всем своим операционным окружением (как ОС, так и приложениями) и может проверять и контролировать свое вычислительное окружение (также как и себя), и, с помощью методов хэширования быстро определять какие-либо искажения или отклонения.2. The ability of software to self-check, whereby the software has control over its entire operating environment (both OS and applications) and can check and monitor its computing environment (as well as itself), and, using hashing methods, quickly identify any distortions or deviations.
- 11 048492- 11 048492
3. Способность быстро определять то, существует ли расхождение между копиями файлов бюллетеней и быстро идентифицировать различия.3. The ability to quickly determine if there is a discrepancy between copies of ballot files and quickly identify differences.
4. Посредством не сохранения результатов подсчета и сохранения только бюллетеней система использует наименьший объем данных, требующих защиты. Этот ключевой аспект, совместно с достаточными прогрессивными резервными копиями, максимизирует эффективность, в то же время минимизируя уязвимость.4. By not storing the counting results and storing only the ballots, the system uses the least amount of data that requires protection. This key aspect, together with sufficient progressive backups, maximizes efficiency while minimizing vulnerability.
5. Сокрытие секретных номеров избирателей предоставляет фундамент, на который опирается пункт 1 выше. Верифицируемость избирателем бюллетеней совместно с анонимностью является фундаментальной по отношению к какому-либо процессу голосования, но не предоставляется посредством предыдущих методологий голосования. Настоящее средство защиты личности избирателя разрешает экспорт файла бюллетеней (например, для общественной проверки, резервирования и пересчетов) без компрометации идентичности и безопасности избирателей.5. Concealing voter secret numbers provides the foundation upon which point 1 above rests. Voter verifiability of ballots, coupled with anonymity, is fundamental to any voting process, but is not provided by previous voting methodologies. A true voter identity protection allows the export of the ballot file (e.g. for public inspection, backup, and recounts) without compromising the identity and security of voters.
6. Возможность периодической проверки однозначного соответствия между количеством проголосовавших избирателей и количеством подсчитываемых бюллетеней в ходе выборов.6. The possibility of periodically checking the one-to-one correspondence between the number of voters who voted and the number of ballots counted during elections.
Ясно, что настоящая система отображает и является приспособленной для осуществления следующих способов и методов посредством некоторых предпочтительных вариантов осуществления: способность безопасно проводить выборы в течение увеличенного и продлеваемого периода времени, гораздо большего, чем единственный день (например, шесть недель), заканчивающегося перед днем выборов, способом, который обеспечивает быстрое, безопасное и прозрачное (публично наблюдаемое) подведение итогов в и после дня выборов, способность электронным образом соединять процесс авторизации избирателя с базой данных регистрации избирателей избирательного органа, способность пересылать удостоверяющую информацию из базы данных избирательного органа приложениям голосования конечных пользователей (третьей стороны), способность немедленно уведомлять электронным образом сервер базы данных избирательного органа, когда избиратель проголосовал, способность избирателя анонимно просматривать свой бюллетень в режиме онлайн постоянно, пока избирательный орган позволяет, как во время, так и после выборов, способность предотвращать какоелибо обратное отслеживание от цифрового бюллетеня до избирателя, который создал его, в то же время одновременно предоставляя возможность избирателю наблюдать свой бюллетень, способность независимо уведомлять каждого избирателя о том, что его голос был принят, через множество средств, таких как аудио, текст, электронная почта и почтовое отправление, и способность для избирателя аннулировать или изменять свой голос (которая восстанавливает его правомочность голосовать) в течение конкретного периода времени (предлагаются 72 ч), после того как он проголосовал, прежде чем его голос становится замороженным (неизменяемым). В то время как другие системы могут предоставлять печатную квитанцию во время голосования (которое эта система поощряет и продвигает), настоящее изобретение поддерживает способность для избирателя получать бумажную квитанцию (через систему избирательного органа) в любое время после голосования, как перед, так и после того как бюллетени подсчитываются, пока избирательный орган позволяет, показывающую, за кого или что он проголосовал. Эта квитанция должна быть без указания даты и показывать публичный номер избирателя, но не его имя.It is clear that the present system exhibits and is adapted to implement the following methods and techniques through some preferred embodiments: the ability to securely conduct elections for an extended and extendable period of time, much longer than a single day (e.g. six weeks) ending before election day, in a manner that provides for fast, secure and transparent (publicly observable) tabulation of results on and after election day, the ability to electronically connect the voter authentication process to the voter registration database of the electoral authority, the ability to forward authentication information from the electoral authority database to end-user (third party) voting applications, the ability to immediately notify the electoral authority database server electronically when the voter has voted, the ability for a voter to anonymously view his or her ballot online at all times as long as the electoral authority allows, both during and after the election, the ability to prevent any backtracking from the digital ballot to the voter who created it, while simultaneously allowing the voter to view his or her ballot, the ability independently notify each voter that their vote has been accepted, through a variety of means such as audio, text, email and postal mail, and the ability for the voter to cancel or change their vote (which restores their eligibility to vote) within a specified period of time (72 hours is suggested) after they have voted, before their vote becomes frozen (unchangeable). While other systems may provide a printed receipt at the time of voting (which this system encourages and promotes), the present invention supports the ability for the voter to receive a paper receipt (through the election authority's system) at any time after voting, both before and after the ballots are counted, as long as the election authority allows, showing who or what they have voted for. This receipt must be undated and show the voter's public number, but not their name.
Кроме того, настоящее изобретение и система продвигают способность НЕ шифровать цифровые бюллетени (за исключением ID-номеров избирателей), которые, в конечном счете, будут помещены в публичную область, и одновременно защищать бюллетени от изменения посредством хранения хэшзначений пачки в отдельном файле, способность поддерживать динамическое отображение всех или части хэш-значений программы операционной системы ядра для подсчета итогов на устройствах голосования конечных пользователей, способность поддерживать динамическое отображение всех или части хэш-значений прикладной программы ядра для подсчета итогов на устройствах голосования конечных пользователей и способность повторно шифровать все секретные номера избирателей, сохраненные в бюллетенях, перед публикацией файла бюллетеней публично.In addition, the present invention and system promote the ability to NOT encrypt digital ballots (except for voter ID numbers) that will ultimately be placed in the public domain, while protecting the ballots from being altered by storing batch hash values in a separate file, the ability to support dynamic display of all or a portion of the hash values of the kernel operating system program for counting totals on end-user voting devices, the ability to support dynamic display of all or a portion of the hash values of the kernel application program for counting totals on end-user voting devices, and the ability to re-encrypt all voter secret numbers stored in the ballots before publishing the ballot file publicly.
Кроме того, настоящее изобретение предоставляет возможность для ADE работать на множестве скоординированных серверов на одной и той же или отдельных облачных платформах и использовать ключи дешифрования, хранящиеся только внешне и в динамической памяти ADE с целью дешифрования секретных номеров избирателей для:In addition, the present invention provides the ability for ADE to operate on multiple coordinated servers on the same or separate cloud platforms and to use decryption keys stored only externally and in the dynamic memory of the ADE for the purpose of decrypting voter secret numbers for:
Настоящее изобретение также проявляет способность индивидуально хэшировать итоговые бюллетени, сохраненные в файле незамороженных бюллетеней, и сохранять такие хэш-значения в отдельном файле, способность иерархически группировать хэш-значения пачек бюллетеней, предоставляя суммарное хэш-значение верхнего уровня для всех бюллетеней, замороженных во время выборов, способность использовать множество ассиметричных ключей шифрования, чтобы скрывать личности избирателей таким образом, что зашифрованные номера избирателей, сохраненные на серверах избирательного органа, отличаются от зашифрованной формы тех же самых номеров, сохраненных в бюллетенях, способность периодически хэшировать все биты программы, из которых состоит операционная система ядра подведения итогов, способность для ADE обнулять всю неиспользуемую компьютерную память во время выборов, также как способность принимать данные от приложенияThe present invention also exhibits the ability to individually hash the final ballots stored in the unfrozen ballot file and store such hash values in a separate file, the ability to hierarchically group the hash values of batches of ballots, providing a top-level summary hash value for all ballots frozen during an election, the ability to use a plurality of asymmetric encryption keys to obscure the identities of voters such that the encrypted voter numbers stored on the election authority's servers are different from the encrypted form of the same numbers stored in the ballots, the ability to periodically hash all the program bits that comprise the operating system of the tabulation kernel, the ability for the ADE to zero out all unused computer memory during an election, as well as the ability to receive data from an application
--
Claims (12)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/154,070 | 2021-02-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
EA048492B1 true EA048492B1 (en) | 2024-12-05 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7565540B2 (en) | Fully electronic identity authentication | |
US8061589B2 (en) | Electronic voting system | |
US20200258338A1 (en) | Secure voting system | |
US11790719B2 (en) | Tamper resistant public ledger voting system | |
US7418401B2 (en) | Secure internet transactions on unsecured computers | |
Volkamer et al. | Measures to establish trust in internet voting | |
Ottoboni et al. | Election integrity and electronic voting machines in 2018 Georgia, USA | |
US11361606B1 (en) | Tamper resistant public ledger voting system | |
Heinl et al. | Remote electronic voting in uncontrolled environments: A classifying survey | |
US20220358518A1 (en) | Voting system to prevent fraud using blockchain technology | |
Cetinkaya et al. | Towards secure e-elections in turkey: requirements and principles | |
Schneider | Election security: increasing election integrity by improving cybersecurity | |
Krips et al. | Trust assumptions in voting systems | |
US20090072031A1 (en) | method for paper-free verifiable electronic voting | |
US20230147564A1 (en) | System And Method For Conducting A Publicly Auditable Election | |
EA048492B1 (en) | VOTING SOFTWARE SYSTEM | |
US20240412316A1 (en) | Voting Software System | |
Reinhard et al. | Compliance of POLYAS with the BSI Protection Profile–Basic Requirements for Remote Electronic Voting Systems | |
Gorbatiuc | One small step for e-voting, one giant leap for democracy | |
Keshk et al. | Development of remotely secure e-voting system | |
Ansper et al. | E-voting concept security: analysis and measures | |
Muyambo et al. | Digital Forensic Readiness Model for Internet Voting | |
Kekulandara | A Blockchain-based Auditable and Secure Voting System | |
Carback et al. | On the independent verification of a Punchscan election | |
Foster et al. | Secure Remote Electronic Voting |