written on Tuesday, July 31, 2012
Технічне описання механізму електронних виборів, заснованих на стійкій криптографії.
Існуючий механізм паперових виборів має ряд фундаментальних проблем:
і всі можуть тільки вірити їй.
Можливість фальсифікацій при голосуванні, підрахунку і відправці підрахованих даних (три різних види фальсифікації), разом з централізованим механізмом підрахунку і низькою довірою до ЦВК, дають привід для заяв про нелегітимність виборів, вимог їх перегляду, обвинувачень конкретних політичних сил в узурпації влади і т.д.
Оскільки виборець не може перевірити, чи був врахований його голос, то у випадку якщо він голосував за партію, яка робить такі заяви, він вимушений вірити або їм, або центральному виборчкому, безсторонність якого визиває сумніви у всіх учасників процесу.
Дороговизна виборів перетворює їх з рутинного механізму у велику подію, політичне шоу, яке відбувається дуже рідко.
Прив'язка до конкретної дати і місця не дозволяє проголосувати заздалегідь, проголосувати, будучи за кордоном, у відрядженні, на відпочинку і т.д.
Неможливість відкликати голос дозволяє обраним політичним силам забувати про свої обов'язки, оскільки виборці не мають ніякого контролю над ними в проміжку між кількома процедурами виборів.
Низька довіра до ненадійної технології виборів і незручність її використання, яка полягає у прив'язці до місця і часу, а також чергах на дільницях, знижують явку виборців.
Вказані вище недоліки можна вирішити, якщо змінити принцип, за допомогою якого виборці подають свої голоси на підтримку визначеної політичної сили.
Використовуючи стійку криптографію, можна створити більш вдалий механізм виборів, який має в основі окреме зберігання кожного голосу, забезпечене електронним підписом виборця, який його подав, і вільний доступ до цієї інформації всіх бажаючих.
Стійкість паперової системи виборів полягає у складності підробки бланка бюлетеня, контролі над їх поширенням і довірі до людей або апаратури, яка підраховує результати, вказані в бланках.
На відміну від неї, криптографічна система не має бланків, тому її стійкість полягає у
Перший етап у побудові системи виборів, заснованих на стійкій криптографії, полягає у видачі виборцям індивідуальних електронних підписів.
Процедура отримання електронного підпису повинна відбуватися наступним чином:
підписується ключем центру сертифікації і утворює сертифікат (електронний підпис). при цьому приватна частина повинна залишитися в таємниці і доступ до неї повинен охоронятися громадянином.
сертифікат, який використовується для виборів, не повинен містити особисті дані громадянина для забезпечення таємного голосування.
для інших цілей може бути створений сертифікат, який підписує публічний ключ разом з особистими даними, що утворює електронний підпис, який засвідчує особу, але не є предметом опису цього документу.
для зручності дана процедура може бути суміщена з процедурою отримання паспорта — для участі в голосуванні, громадянину достатньо сформувати повідомлення, яке містить в собі
після чого підрахувати контрольну суму цього повідомлення і зашифрувати своїм приватним ключем, утворивши підпис
включаючи інтернет або паперового листа в центр тієї партії, яку підтримує громадянин. вказаний у повідомленні вибір неможливо підмінити при пересилці. — всі опубліковані повідомлення перенаправляються в центральну виборчу комісію для підрахунку підсумкової кількості голосів і можуть бути опубліковані для альтернативного підрахунку з метою виключення фальсифікацій.
Для перевірки суми підрахованих голосів, потрібно мати у відкритому доступі всі відправлені громадянами повідомлення і публічні ключі центру сертифікації.
Процедура перевірки кожного повідомлення:
сертифікації. — перевірити, що вказаний сертифікат не застарів — перевірити, що вказаний час не знаходиться у майбутньому — підрахувати контрольну суму від всіх частин повідомлення, крім підпису — розшифрувати підпис за допомогою публічного ключа, використаного в сертифікаті, і порівняти з контрольною сумою — перевірити, що той самий публічний сертифікат не використовується повторно, якщо використовується — врахувати той, в якому вказано більш пізній час, а анулювати більш ранній — додати одиницю до лічильника вказаного кандидата
За умови, що всі повідомлення доступні публічно в електронній формі, будь-хто бажаючий, включаючи кожного виборця і кандидата, може перевірити коректність підрахунку і відсутність фальсифікацій, маючи необхідні обчислювальні ресурси, даному стандарту, опису алгоритму шифрування і форматам сертифікатів і повідомлень.
При існуванні такої процедури державі не потрібно тратити ресурси на друк бюлетенів, організацію виборчих дільниць і підрахунок голосів, а тільки на обчислювальні потужності, які виконують автоматичний підрахунок, прийом голосів і публікацію результату.
Замість цього, необхідно буде створити центри сертифікації, які видають виборчі сертифікати.
Оскільки держава не друкує бюлетені, громадяни можуть самостійно почати відправку голосів у будь-який момент і використовуючи будь-який набір політичних партій, а стосовно референдуму — будь-який набір цікавлячих питань, включаючи прийняття або відміну законів.
Оскільки відправка голосу можлива у будь-який момент, а підрахунок може продовжуватися будь-який необхідний час, процедура відкликання голосів зводиться до відправки нового голосу за іншого кандидата.
Описаний вище комплекс процедур ніяк не описує механізмів відповідальності, які повинні бути застосовані до центрів сертифікації. Без цих механізмів центри сертифікації можуть створювати сертифікати без відома громадян або для неіснуючих громадян.
За умови, що всі громадяни приймуть участь у голосуванні і перевірять, чи був врахований їхній голос, сума голосів буде більшою за населення країни, але відокремити фіктивні голоси від справжніх буде неможливо.
Вказана процедура дозволяє громадянам продати свій підпис або вкрасти чужий сертифікат, а також голосувати від імені своїх родичів, які не приймають особистої участі у виборах, а також від імені померлих.
Маючи доступ до чужого сертифікату, можна дізнатися, за кого проголосував цей чоловік.
Опаньки, я не один такий розумний: http://habrahabr.ru/post/156423/