Агляд сістэмы дыстанцыйнага электроннага галасавання ЦВК РФ

31 жніўня 2020 года адбыўся публічны тэст сістэмы дыстанцыйнага электроннага галасавання (далей ДЭГ) з ужываннем тэхналогіі блокчейн, якая распрацоўваецца па замове ЦВК РФ.

Для знаёмства з новай сістэмай электроннага галасавання і разумення таго, якую ролю ў ёй гуляе тэхналогія блокчейн і якія яшчэ кампаненты выкарыстоўваюцца, мы пачынаем серыю публікацый, прысвечаных асноўным тэхнічным рашэнням, якія ўжываюцца ў сістэме. Пачаць прапануем па парадку — з патрабаванняў да сістэмы і функцый удзельнікаў працэсу

Патрабаванні да сістэмы

Асноўныя патрабаванні, якія прад'яўляюцца да любой сістэмы для галасавання, у цэлым аднолькавыя і для традыцыйнага вочнага галасавання, і для дыстанцыйнага электроннага галасавання, і вызначаны Федэральным законам ад 12.06.2002/67/31.07.2020 N XNUMX-ФЗ (рэд. ад XNUMX) «Аб асноўных гарантыях выбарчых правоў і права на ўдзел у рэферэндуме грамадзян Расійскай Федэрацыі».

  1. Галасаванне на выбарах і рэферэндуме з'яўляецца таемным, які выключае магчымасць якога-небудзь кантролю за волевыяўленнем грамадзяніна (арт.7).
  2. Магчымасць галасавання павінна быць дадзена толькі асобам, якія валодаюць актыўным выбарчым правам на гэтым галасаванні.
  3. Адзін выбаршчык - адзін голас, не дапускаецца "двайное" галасаванне.
  4. Працэс галасавання павінен быць адкрытым і галосным для выбаршчыкаў і наглядальнікаў.
  5. Павінна забясьпечвацца нязьменнасьць пададзенага голасу.
  6. Павінна адсутнічаць магчымасць падлічыць прамежкавыя вынікі галасавання да яго завяршэння.

Такім чынам, у нас тры ўдзельнікі: выбаршчык, выбарчая камісія і назіральнік, паміж якімі вызначаны парадак узаемадзеяння. Яшчэ можна вылучыць чацвёртага ўдзельніка - органы, якія ажыццяўляюць рэгістрацыйны ўлік грамадзян на тэрыторыі (перш за ўсё, органы МУС, а таксама іншыя органы выканаўчай улады), паколькі актыўнае выбарчае права звязана з грамадзянствам і месцам рэгістрацыі.

Усе гэтыя ўдзельнікі ўзаемадзейнічаюць сябар з сябрам.

Пратакол узаемадзеяння

Разгледзім працэс галасавання на традыцыйным участку, са скрыняй і папяровымі бюлетэнямі. У агульным спрошчаным выглядзе ён выглядае так: выбаршчык прыходзіць на ўчастак і прад'яўляе дакумент, які пацвярджае асобу (пашпарт). На ўчастку працуе ўчастковая выбарчая камісія, член якой правярае асобу выбаршчыка і наяўнасць яго ў спісе выбаршчыкаў, які быў складзены раней. Калі выбаршчык знойдзены, член камісіі выдае выбаршчыку бюлетэнь, а выбаршчык распісваецца ў атрыманні бюлетэня. Пасля гэтага выбаршчык адпраўляецца ў кабінку для галасавання, запаўняе бюлетэнь і апускае яго ў скрыню. Каб усе працэдуры выконваліся строга па законе, за ўсім гэтым сочаць назіральнікі (прадстаўнікі кандыдатаў, грамадскіх інстытутаў назірання). Пасля завяршэння галасавання выбарчая камісія ў прысутнасці назіральнікаў робіць падлік галасоў і ўстанаўлівае вынікі галасавання.

Неабходныя для правядзення галасавання ўласцівасці ў традыцыйнай сістэме галасавання забяспечваюцца арганізацыйнымі мерамі і ўстаноўленым парадкам узаемадзеяння ўдзельнікаў: праверкай пашпартоў выбаршчыкаў, асабістым роспісам за бюлетэні, выкарыстаннем кабінак для галасавання і апячатаных урнаў для бюлетэняў, парадкам падліку галасоў і г.д.

Для інфармацыйнай сістэмы, якой з'яўляецца сістэма дыстанцыйнага электроннага галасавання, гэты парадак узаемадзеяння называецца пратаколам. Паколькі ўсё ўзаемадзеянне ў нас становіцца лічбавым, гэты пратакол можа разглядацца як алгарытм, які рэалізуюць асобныя кампаненты сістэмы, і комплекс арганізацыйна-тэхнічных мерапрыемстваў, якія выконваюцца карыстальнікамі.

Лічбавае ўзаемадзеянне накладвае пэўныя патрабаванні да рэалізуемых алгарытмаў. Давайце разгледзім дзеянні, якія выконваюцца на традыцыйным участку, у тэрмінах інфармацыйных сістэм і тое, як гэта рэалізавана ў разгляданай намі сістэме ДЭГ.

Адразу скажам - тэхналогія блокчейн не з'яўляецца тут "сярэбранай куляй", якая вырашае ўсе пытанні. Для стварэння падобнай сістэмы запатрабавалася распрацаваць вялікую колькасць праграмных і апаратных кампанентаў, якія адказваюць за розныя задачы, і звязаць іх адзіным працэсам і пратаколам. Але пры гэтым усе гэтыя кампаненты ўзаемадзейнічаюць з блокчейн-платформай.

Кампаненты сістэмы

З тэхнічнага пункту гледжання сістэма ДЭГ уяўляе з сябе праграмна-тэхнічны комплекс (далей ПТК), які аб'ядноўвае набор кампанентаў для забеспячэння ўзаемадзеяння ўдзельнікаў выбарчага працэсу ў адзіным інфармацыйным асяроддзі.

Схема ўзаемадзеяння кампанентаў і ўдзельнікаў сістэмы ПТК ДЭГ прыведзена ніжэй на малюнку.

Агляд сістэмы дыстанцыйнага электроннага галасавання ЦВК РФ
Клікабельна

Працэс дыстанцыйнага галасавання

Цяпер падрабязна разгледзім працэс дыстанцыйнага электроннага галасавання і яго рэалізацыю кампанентамі ПТК ДЭГ.

Згодна з Парадкам дыстанцыйнага электроннага галасавання, для ўключэння ў спіс удзельнікаў дыстанцыйнага электроннага галасавання выбаршчыку неабходна падаць заяву на партале Дзяржпаслуг. Пры гэтым падаць такую ​​заяву могуць толькі тыя карыстальнікі, якія маюць пацверджаны ўліковы запіс і паспяхова супастаўлены з рэгістрам выбаршчыкаў, удзельнікаў рэферэндуму сістэмы ГАС "Выбары". Пасля атрымання заявы дадзеныя выбаршчыка яшчэ раз праходзяць праверку ў ЦВК Расіі і загружаюцца ў кампанент «Спіс выбаршчыкаў» ПТК ДЭГ. Працэс загрузкі суправаджаецца запісам унікальных ідэнтыфікатараў у блокчейн. Доступ да прагляду спісу маюць сябры выбарчай камісіі і назіральнікі з дапамогай спецыяльнага АРМ, размешчанага ў памяшканні выбарчай камісіі.

Пры візіце выбаршчыка на ўчастак адбываецца яго аўтэнтыфікацыя (супастаўленне з дадзенымі пашпарта) і ідэнтыфікацыя ў спісе выбаршчыкаў, а таксама праверка таго, што гэты выбаршчык раней яшчэ не атрымліваў бюлетэнь. Тут важны момант - немагчыма ўстанавіць, апусціў выбаршчык атрыманы бюлетэнь у скрыню ці не, толькі факт таго, што бюлетэнь ужо выдаваўся раней. У выпадку ПТК ДЭГ візіт выбаршчыка ўяўляе сабой зварот карыстальніка на Партал ДЭГ - гэта сайт, размешчаны па адрасе vybory.gov.ru Як і на традыцыйным участку, на сайце размешчаны інфармацыйныя матэрыялы аб праводзімых выбарчых кампаніях, звесткі аб кандыдатах і іншая інфармацыя. Для правядзення ідэнтыфікацыі і аўтэнтыфікацыі выкарыстоўваецца ЕСІА Партала Дзяржпаслуг. Такім чынам, захоўваецца агульная схема ідэнтыфікацыі як пры падачы заявы, гэтак і пры ўдзеле ў галасаванні.

Пасля гэтага пачынаецца працэдура ананімізацыі - выбаршчыку выдаецца бюлетэнь, які не змяшчае ніякіх ідэнтыфікацыйных адзнак: у яго няма нумара, ён ніяк не звязаны з выбаршчыкам, якому ён быў выдадзены. Цікава разгледзець варыянт, калі ўчастак абсталяваны комплексамі электроннага галасавання – у гэтым выпадку ананімізацыя выконваецца наступным чынам: замест папяровага бюлетэня выбаршчыку прапануецца выбраць са стосы любую картку са штрых-кодам, з якой ён падыдзе да прылады для галасавання. На картцы няма ніякіх звестак аб выбаршчыку, толькі код, які вызначае, які бюлетэнь павінен быць прадастаўлены прыладай пры прад'яўленні такой карткі. Пры цалкам лічбавым узаемадзеянні асноўная задача - рэалізаваць такі алгарытм ананімізацыі, каб, з аднаго боку, немагчыма было ўсталяваць ніякія ідэнтыфікацыйныя дадзеныя карыстальніка, а з другога боку - даць магчымасць галасавання толькі тым карыстальнікам, хто раней быў ідэнтыфікаваны ў спісе. Для яе вырашэння ў ПТК ДЭГ прымяняецца крыптаграфічны алгарытм, вядомы ў прафесійным асяроддзі як «сляпы электронны подпіс». Мы падрабязна раскажам пра яго ў наступных публікацыях, а таксама апублікуем зыходны код, вы таксама можаце сабраць дадатковую інфармацыю з публікацый у інтэрнэце па ключавых словах - "крыптаграфічныя пратаколы тайнага галасавання" або "сляпы подпіс"

Затым выбаршчык запаўняе бюлетэнь у месцы, дзе немагчыма ўбачыць зроблены выбар (закрытая кабінка) - калі ў нашай інфармацыйнай сістэме выбаршчык галасуе дыстанцыйна, то адзінае такое месца - гэта асабістая прылада карыстальніка. Для гэтага карыстач спачатку перакладаецца на іншы дамен – у ананімную зону. Перад пераходам можна падняць VPN-злучэнне і змяніць IP-адрас. На гэтым дамене і адбываецца адлюстраванне бюлетэня і апрацоўка выбара карыстальніка. Зыходны код, які выконваецца на прыладзе карыстальніка, першапачаткова адкрыты - яго можна ўбачыць у браўзэры.

Пасля таго як выбар зроблены, бюлетэнь зашыфроўваецца на прыладзе карыстальніка з ужываннем спецыяльнай схемы шыфравання, адпраўляецца і запісваецца ў кампанент «Размеркаванае захоўванне і падлік галасоў», пабудаваны на базе блокчэйн-платформы.

Адна з найважнейшых характарыстык пратакола - гэта немагчымасць даведацца вынікі галасавання да яго завяршэння. На традыцыйным участку гэта забяспечваецца апячатваннем выбарчай урны і кантролем з боку назіральнікаў. У лічбавым узаемадзеянні лепшым рашэннем з'яўляецца шыфраванне выбару выбаршчыка. Алгарытм шыфравання, які выкарыстоўваецца, выключае магчымасць раскрыцця вынікаў да завяршэння галасавання. Для гэтага выкарыстоўваецца схема з двума ключамі: адным (адкрытым) ключом, які вядомы ўсім удзельнікам, робіцца шыфраванне голасу. Расшыфраваць яго гэтым жа ключом нельга, патрэбен другі (закрыты) ключ. Закрыты ж ключ падзелены паміж удзельнікамі выбарчага працэсу (сябрамі выбарчых камісій, грамадскай палаты, аператарамі сервераў падліку, і гэтак далей) такім чынам, што кожная асобная частка ключа бескарысная. Прыступіць да расшыфроўкі можна толькі пасля таго, як зачынены ключ будзе сабраны. У разгляданай сістэме працэдура падзелу ключоў уключае ў сябе некалькі этапаў: падзел часткі ключа ўсярэдзіне сістэмы, падзел ключа па-за сістэмай і фармаванне агульнага публічнага ключа. Мы падрабязна пакажам працэс шыфравання і працы з крыптаграфічнымі ключамі ў наступных публікацыях.

Пасля таго як ключ сабраны і загружаны, пачынаецца падлік вынікаў для іх далейшай фіксацыі ў блокчейне і наступнага абвяшчэння. Асаблівасцю разгляданай сістэмы з'яўляецца выкарыстанне тэхналогіі гомаморфнага шыфравання. Мы падрабязна апішам гэты алгарытм у наступных публікацыях і раскажам пра тое, чаму гэтая тэхналогія шырока выкарыстоўваецца для стварэння сістэм галасавання. А зараз адзначым яе асноўную асаблівасць: запісаныя ў сістэму ўліку зашыфраваныя бюлетэні можна без расшыфравання скамбінаваць такім чынам, што вынікам расшыфроўкі такога камбінаванага шыфратэксту будзе сумаванае значэнне па кожным варыянце выбару ў бюлетэнях. Пры гэтым у сістэме, вядома, рэалізаваны матэматычныя доказы карэктнасці такога разліку, якія таксама запісваюцца ў сістэму ўліку і могуць быць правераны назіральнікамі.

Ніжэй прыведзена схема працэсу галасавання.

Агляд сістэмы дыстанцыйнага электроннага галасавання ЦВК РФ
Клікабельна

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

Цяпер, калі мы разабралі асноўныя асаблівасці рэалізацыі сістэмы дыстанцыйнага электроннага галасавання, адкажам на пытанне, з якога пачыналі - а якую ролю ў гэтым адыгрывае тэхналогія блокчейн і якія задачы яна дазваляе вырашыць?

У рэалізаванай сістэме дыстанцыйнага галасавання тэхналогія блокчэйн вырашае пэўнае кола задач.

  • Базавая задача - забеспячэнне нязменнасці інфармацыі ў рамках галасавання, і, у першую чаргу, галасоў выбаршчыкаў.
  • Забеспячэнне празрыстасці выканання і нязменнасці праграмнага кода, які рэалізуецца ў выглядзе смарт-кантрактаў.
  • Забеспячэнне абароны і нязменнасці дадзеных, якія выкарыстоўваюцца ў працэсе галасавання: спісу выбаршчыкаў, ключах, якія выкарыстоўваюцца для шыфравання бюлетэняў на розных этапах крыптаграфічнага пратакола, і гэтак далей.
  • Забеспячэнне дэцэнтралізаванага захоўвання дадзеных, пры гэтым кожны ўдзельнік мае абсалютна ідэнтычную з усімі копію, пацверджаную ўласцівасцямі кансенсусу ў сетцы.
  • Магчымасць праглядаць транзакцыі і адсочваць ход галасавання, якое поўнасцю адлюстроўваецца ў ланцужках блокаў, ад яго пачатку да запісу разлічаных вынікаў.

Такім чынам, мы бачым, што без выкарыстання гэтай тэхналогіі дабіцца наяўнасці ў сістэме галасавання неабходных уласцівасцей, як і даверу да яе, практычна немагчыма.

Функцыянальнасць прымяняецца блокчейн-платформы ўзбагачана выкарыстаннем смарт-кантрактаў. Смарт-кантракты правяраюць кожную транзакцыю з зашыфраванымі бюлетэнямі на сапраўднасць электроннага і "сляпога" подпісаў, а таксама праводзяць базавыя праверкі карэктнасці запаўнення зашыфраванага бюлетэня.

Пры гэтым у разгляданай сістэме дыстанцыйнага электроннага галасавання кампанент "Размеркаванае захоўванне і падлік галасоў" не абмяжоўваецца толькі блокчэйн-вузламі. Для кожнага вузла можа быць разгорнуты асобны сервер, які рэалізуе асноўныя крыптаграфічныя функцыі пратакола галасавання - серверы падліку.

Серверы падліку

Гэта дэцэнтралізаваныя кампаненты, якія забяспечваюць працэдуру размеркаванай генерацыі ключа шыфравання бюлетэняў, а таксама расшыфраванне і падлік вынікаў галасавання. У іх задачы ўваходзіць:

  • Забеспячэнне размеркаванай генерацыі часткі ключа шыфравання бюлетэняў. Працэдура генерацыі ключа будзе разгледжана ў наступных артыкулах;
  • Праверка карэктнасці зашыфраванага бюлетэня (без яго расшыфравання);
  • Апрацоўка бюлетэняў у зашыфраваным выглядзе для фарміравання выніковага шыфратэксту;
  • Размеркаванае расшыфраванне выніковых вынікаў.

Кожны этап выканання крыптаграфічнага пратакола фіксуецца ў блокчэйн-платформе і можа быць правераны на карэктнасць назіральнікамі.

Для надання сістэме неабходных уласцівасцей на розных этапах працэсу галасавання выкарыстоўваюцца наступныя крыптаграфічныя алгарытмы:

  • Электронная подпіс;
  • Сляпы подпіс публічнага ключа выбаршчыка;
  • Схема шыфравання Эль-Гамаля на эліптычных крывых;
  • Доказы з нулявым разгалашэннем;
  • Пратакол DKG (Distributed Key Generation) Pedersen 91;
  • Пратакол падзелу зачыненага ключа па схеме Шаміра.

Больш падрабязна крыптаграфічны сэрвіс будзе разгледжаны ў наступных артыкулах.

Вынікі

Давайце падвядзем нейкі прамежкавы вынік разгляду сістэмы дыстанцыйнага электроннага галасавання. Мы коратка апісалі працэс і асноўныя кампаненты, якія яго рэалізуюць, а таксама вызначы сродкі дасягнення неабходных для любой сістэмы галасавання ўласцівасцей:

  • Верыфікаванасць выбаршчыкаў. Сістэма прымае галасы толькі ад верыфікаваных выбаршчыкаў. Гэтая ўласцівасць забяспечваецца з дапамогай ідэнтыфікацыі і аўтэнтыфікацыі галасуючых, а таксама фіксацыі спісу выбаршчыкаў і факта прадастаўлення доступу да бюлетэня ў блокчэйн.
  • ананімнасць. Сістэма забяспечвае таямніцу галасавання, замацаваную ў заканадаўстве РФ, асобу галасуе немагчыма вызначыць па зашыфраваным бюлетэню. Рэалізавана з дапамогай алгарытму "сляпога подпісу" і ананімнай зоны для запаўнення і адпраўкі бюлетэня.
  • Канфідэнцыяльнасць галасоў. Арганізатары і іншыя ўдзельнікі галасавання не могуць даведацца пра вынік галасавання да яго заканчэння, падліку галасоў і расшыфравання выніковых вынікаў. Канфідэнцыяльнасць дасягаецца за кошт шыфравання бюлетэняў і немагчымасці расшыфравання да заканчэння галасавання.
  • Нязменнасць дадзеных. Даныя аб волевыяўленні выбаршчыкаў не могуць быць зменены або выдалены. Нязменнае захоўванне дадзеных забяспечваецца блокчейн-платформай.
  • Правяральнасць. Назіральнік можа праверыць, што падлік галасоў ажыццяўляўся карэктным чынам.
  • Надзейнасць. У аснове архітэктуры сістэмы ляжаць прынцыпы дэцэнтралізацыі, якія забяспечваюць адсутнасць адзінай "кропкі адмовы".

Крыніца: habr.com

Дадаць каментар