Преглед на системата за дистанционно електронно гласуване на Централната избирателна комисия на Руската федерация

На 31 август 2020 г. се проведе публичен тест на системата за дистанционно електронно гласуване (наричана по-долу DEG) с помощта на блокчейн технология, разработена по поръчка на Централната избирателна комисия на Руската федерация.

За да се запознаете с новата електронна система за гласуване и да разберете каква роля играе блокчейн технологията в нея и какви други компоненти се използват, започваме поредица от публикации, посветени на основните технически решения, използвани в системата. Предлагаме да започнем по ред – с изискванията към системата и функциите на участниците в процеса

Системни изисквания

Основните изисквания, които се прилагат за всяка система за гласуване, като цяло са еднакви за традиционното лично гласуване и за дистанционното електронно гласуване и се определят от Федералния закон от 12.06.2002 юни 67 г. N 31.07.2020-FZ (с измененията на XNUMX юли XNUMX г.) „За основните гаранции на избирателните права и правото на участие в референдум на гражданите на Руската федерация“.

  1. Гласуването на избори и референдуми е тайно, което изключва възможността за всякакъв контрол върху волята на гражданите (чл. 7).
  2. Възможност за гласуване трябва да се предоставя само на лица, които имат активно избирателно право за този вот.
  3. Един избирател – един глас, не се допуска „двойно“ гласуване.
  4. Процесът на гласуване трябва да бъде открит и прозрачен за избирателите и наблюдателите.
  5. Почтеността на подадения вот трябва да бъде гарантирана.
  6. Не трябва да е възможно изчисляването на междинните резултати от гласуването преди гласуването да е приключило.

И така, имаме трима участници: избирателят, избирателната комисия и наблюдателят, между които се определя редът на взаимодействие. Възможно е да се отдели и четвърти участник - органите, които извършват регистрация на граждани на територията (предимно Министерството на вътрешните работи, както и други органи на изпълнителната власт), тъй като активното избирателно право е свързано с гражданството и мястото на регистрация.

Всички тези участници взаимодействат помежду си.

Протокол за взаимодействие

Нека разгледаме процеса на гласуване в традиционна избирателна секция с урна и хартиени бюлетини. В най-общо опростен вид това изглежда така: избирателят идва в избирателната секция и представя документ за самоличност (паспорт). В избирателната секция има секционна избирателна комисия, чийто член удостоверява самоличността на избирателя и присъствието му в предварително съставения избирателен списък. Ако гласоподавателят бъде намерен, член на комисията му дава бюлетина, а гласоподавателят се подписва за получаване на бюлетината. След това избирателят отива в кабината за гласуване, попълва бюлетината и я пуска в урната. За да се гарантира, че всички процедури се спазват стриктно по закон, наблюдатели (представители на кандидатите, обществени наблюдателни институции) наблюдават всичко това. След приключване на гласуването избирателната комисия в присъствието на наблюдатели преброява гласовете и установява резултатите от гласуването.

Свойствата, необходими за гласуване при традиционна система за гласуване, се осигуряват от организационни мерки и установената процедура за взаимодействие на участниците: проверка на паспортите на избирателите, лично подписване на бюлетини, използване на кабини за гласуване и запечатани урни, процедура за преброяване на гласовете и др. .

За информационна система, която е система за дистанционно електронно гласуване, този ред на взаимодействие се нарича протокол. Тъй като всички наши взаимодействия стават цифрови, този протокол може да се разглежда като алгоритъм, който се изпълнява от отделни компоненти на системата, и набор от организационни и технически мерки, извършвани от потребителите.

Цифровото взаимодействие налага определени изисквания към реализираните алгоритми. Нека да разгледаме действията, извършвани на традиционен сайт от гледна точка на информационните системи и как това се прилага в системата DEG, която разглеждаме.

Нека кажем веднага, че блокчейн технологията не е „сребърен куршум“, който решава всички проблеми. За да се създаде такава система, беше необходимо да се разработят голям брой софтуерни и хардуерни компоненти, отговорни за различни задачи, и да се свържат с един процес и протокол. Но в същото време всички тези компоненти взаимодействат с блокчейн платформата.

Системни компоненти

От техническа гледна точка системата DEG е софтуерно-хардуерен комплекс (наричан по-нататък STC), който съчетава набор от компоненти за осигуряване на взаимодействие между участниците в изборния процес в единна информационна среда.

Диаграмата на взаимодействие на компонентите и участниците в системата DEG PTC е показана на фигурата по-долу.

Преглед на системата за дистанционно електронно гласуване на Централната избирателна комисия на Руската федерация
Може да се кликне

Дистанционен процес на гласуване

Сега ще разгледаме подробно процеса на дистанционно електронно гласуване и неговото прилагане от компонентите на софтуерно-хардуерния комплекс DEG.

Съгласно Процедурата за дистанционно електронно гласуване, за да бъде включен в списъка на участниците в дистанционното електронно гласуване, избирателят трябва да подаде заявление в портала за държавни услуги. В същото време само тези потребители, които имат потвърден акаунт и са били успешно сравнени с регистъра на избирателите, участниците в референдума на системата на Държавната автоматизирана система „Избори“, могат да подадат такова заявление. След получаване на заявлението, данните на избирателя се проверяват отново от Централната избирателна комисия на Русия и се качват в Компонент Избирателен списък PTC ДЕГ. Процесът на изтегляне е придружен от запис на уникални идентификатори в блокчейна. Членовете на избирателната комисия и наблюдателите имат достъп до преглед на списъка чрез специално автоматизирано работно място, разположено в сградата на избирателната комисия.

Когато избирател посети избирателна секция, той се удостоверява (сравнява с паспортни данни) и се идентифицира в избирателния списък, както и се проверява дали този избирател не е получил преди това бюлетина. Важен момент тук е, че е невъзможно да се установи дали избирателят е пуснал получената бюлетина в урната или не, а само фактът, че бюлетината е вече издадена по-рано. В случая на PTC DEG посещението на гласоподавателя представлява искане на потребителя към DEG портал е уебсайт, намиращ се на адрес vybory.gov.ru Подобно на традиционна избирателна секция, уебсайтът съдържа информационни материали за протичащи предизборни кампании, информация за кандидати и друга информация. За извършване на идентификация и удостоверяване се използва ESIA на Портала за държавни услуги. Така общата схема за идентификация се запазва както при кандидатстване, така и при гласуване.

След това започва процедурата по анонимизиране - на избирателя се дава бюлетина, която не съдържа идентификационни знаци: няма номер, по никакъв начин не е свързана с избирателя, на когото е издадена. Интересно е да се обмисли вариантът, когато избирателната секция е оборудвана с електронни комплекси за гласуване - в този случай анонимизирането се извършва по следния начин: вместо хартиена бюлетина, избирателят е помолен да избере от купчината всяка карта с баркод, с която той ще се приближи до устройството за гласуване. В картата няма информация за гласоподавателя, а само код, който определя каква бюлетина трябва да предостави устройството при представяне на такава карта. При изцяло дигитално взаимодействие основната задача е да се приложи алгоритъм за анонимизиране, така че, от една страна, да е невъзможно да се установят каквито и да било потребителски идентификационни данни, а от друга страна, да се предостави възможност за гласуване само на онези потребители, които са били идентифицирани преди това в списъка. За да разреши този проблем, DEG PTK използва криптографски алгоритъм, известен в професионалната среда като „сляп електронен подпис“. Ще говорим за това подробно в следващите публикации и също така ще публикуваме изходния код; можете също да събирате допълнителна информация от публикации в Интернет, като използвате ключови думи - „криптографски тайни протоколи за гласуване“ или „сляп подпис“

След това избирателят попълва бюлетината на място, където е невъзможно да се види направеният избор (затворена кабина) – ако в нашата информационна система избирателят гласува дистанционно, то единственото такова място е личното устройство на потребителя. За да направите това, потребителят първо се прехвърля в друг домейн − към анонимната зона. Преди да превключите, можете да увеличите вашата VPN връзка и да промените своя IP адрес. В този домейн се показва бюлетината и се обработва изборът на потребителя. Изходният код, който се изпълнява на устройството на потребителя, първоначално е отворен - може да се види в браузъра.

След като изборът е направен, бюлетината се криптира на устройството на потребителя с помощта на специална схема за криптиране, изпраща се и се записва в компонент „Разпределено съхранение и преброяване на гласове“, изграден върху блокчейн платформата.

Една от най-важните характеристики на протокола е невъзможността резултатите от гласуването да бъдат известни преди неговото съставяне. В традиционна избирателна секция това се осигурява чрез запечатване на урната и наблюдение от наблюдатели. При дигиталните взаимодействия най-доброто решение е изборът на избирателя да се криптира. Използваният алгоритъм за криптиране предотвратява разкриването на резултатите преди гласуването да приключи. За това се използва схема с два ключа: един (публичен) ключ, който е известен на всички участници, се използва за криптиране на гласа. Не може да се дешифрира със същия ключ; необходим е втори (частен) ключ. Частният ключ се разделя между участниците в изборния процес (членове на избирателни комисии, обществена камара, оператори на сървъри за преброяване и т.н.) по такъв начин, че всяка отделна част от ключа е безполезна. Можете да започнете дешифрирането само след като частният ключ бъде събран. В разглежданата система процедурата за разделяне на ключовете включва няколко етапа: отделяне на част от ключа в системата, отделяне на ключа извън системата и генериране на общ публичен ключ. Ще покажем подробно процеса на криптиране и работа с криптографски ключове в следващите публикации.

След като ключът бъде събран и изтеглен, започва изчисляването на резултатите за по-нататъшното им записване в блокчейна и последващо обявяване. Характеристика на разглежданата система е използването на технология за хомоморфно криптиране. Ще опишем подробно този алгоритъм в бъдещи публикации и ще говорим защо тази технология се използва широко за създаване на системи за гласуване. Сега нека отбележим неговата основна характеристика: криптираните бюлетини, записани в счетоводната система, могат да бъдат комбинирани без декриптиране по такъв начин, че резултатът от декриптирането на такъв комбиниран шифрован текст ще бъде сумираната стойност за всеки избор в бюлетините. В същото време системата, разбира се, прилага математически доказателства за правилността на такова изчисление, които също се записват в счетоводната система и могат да бъдат проверени от наблюдатели.

По-долу е схема на процеса на гласуване.

Преглед на системата за дистанционно електронно гласуване на Централната избирателна комисия на Руската федерация
Може да се кликне

Блокчейн платформа

Сега, след като разгледахме основните характеристики на внедряването на система за дистанционно електронно гласуване, нека да отговорим на въпроса, с който започнахме - каква роля играе блокчейн технологията в това и какви проблеми позволява да се решат?

Във внедрената система за дистанционно гласуване блокчейн технологията решава определен кръг от проблеми.

  • Основната задача е да се осигури целостта на информацията в рамките на гласуването и на първо място на гласовете.
  • Осигуряване на прозрачност на изпълнението и неизменност на програмния код, реализиран под формата на интелигентни договори.
  • Осигуряване на защита и неизменност на данните, използвани в процеса на гласуване: списък с избиратели, ключове, използвани за криптиране на бюлетини на различни етапи от криптографския протокол и др.
  • Осигуряване на децентрализирано съхранение на данни, като всеки участник разполага с абсолютно идентично копие, потвърдено от свойствата на консенсус в мрежата.
  • Възможност за преглед на транзакциите и проследяване на хода на гласуването, което се отразява изцяло в блоковата верига, от нейното начало до записването на изчислените резултати.

Така виждаме, че без използването на тази технология е почти невъзможно да се постигнат необходимите свойства в системата за гласуване, както и доверието в нея.

Функционалността на използваната блокчейн платформа е обогатена с използването на смарт договори. Интелигентните договори проверяват всяка транзакция с криптирани бюлетини за автентичността на електронните и „слепите“ подписи, а също така извършват основни проверки за коректността на попълването на криптираната бюлетина.

Освен това в разглежданата система за дистанционно електронно гласуване компонентът „Разпределено съхранение и преброяване на гласовете“ не се ограничава само до блокчейн възли. За всеки възел може да се разположи отделен сървър, който изпълнява основните криптографски функции на протокола за гласуване - сървъри за преброяване.

Преброяване на сървъри

Това са децентрализирани компоненти, които осигуряват процедурата за разпределено генериране на ключ за криптиране на бюлетина, както и дешифриране и изчисляване на резултатите от гласуването. Техните задачи включват:

  • Осигуряване на разпределено генериране на част от ключа за криптиране на бюлетината. Процедурата за генериране на ключ ще бъде разгледана в следващите статии;
  • Проверка на коректността на криптираната бюлетина (без дешифриране);
  • Обработка на бюлетини в криптирана форма за генериране на окончателния шифрован текст;
  • Разпределено декодиране на крайните резултати.

Всеки етап от изпълнението на криптографския протокол се записва в блокчейн платформата и може да бъде проверен за коректност от наблюдатели.

За да се придадат на системата необходимите свойства на различни етапи от процеса на гласуване, се използват следните криптографски алгоритми:

  • Електронен подпис;
  • Сляпо подписване на публичния ключ на избирателя;
  • Схема за криптиране на елиптична крива ElGamal;
  • Доказателства с нулево знание;
  • протокол Pedersen 91 DKG (генериране на разпределен ключ);
  • Протокол за споделяне на частен ключ, използващ схемата на Шамир.

Криптографската услуга ще бъде разгледана по-подробно в следващите статии.

Резултати от

Нека да обобщим някои междинни резултати от разглеждането на системата за дистанционно електронно гласуване. Описахме накратко процеса и основните компоненти, които го прилагат, а също така идентифицирахме средствата за постигане на свойствата, необходими за всяка система за гласуване:

  • Проверяемост на избирателя. Системата приема гласове само от проверени избиратели. Това свойство се осигурява чрез идентифициране и удостоверяване на избирателите, както и записване на списъка с избиратели и факта на предоставяне на достъп до бюлетината в блокчейна.
  • Анонимност. Системата гарантира тайната на гласуването, залегнала в законодателството на Руската федерация, самоличността на гласоподавателя не може да бъде определена от криптирана бюлетина. Реализира се чрез алгоритъм „сляп подпис“ и анонимна зона за попълване и изпращане на бюлетината.
  • Поверителност на гласовете. Организаторите и другите участници в гласуването не могат да разберат резултата от гласуването, докато то не приключи, гласовете не бъдат преброени и окончателните резултати не бъдат дешифрирани. Поверителността се постига чрез криптиране на бюлетините и невъзможността за декриптиране до гласуването.
  • Неизменност на данните. Данните на избирателите не могат да бъдат променяни или изтривани. Неизменното съхранение на данни се осигурява от блокчейн платформата.
  • Проверяемост. Наблюдателят може да провери дали гласовете са преброени правилно.
  • Надеждност. Архитектурата на системата се основава на принципите на децентрализацията, като се гарантира липсата на единична „точка на отказ“.

Източник: www.habr.com

Добавяне на нов коментар