Pagsusuri ng remote electronic na sistema ng pagboto ng Central Election Commission ng Russian Federation

Noong Agosto 31, 2020, naganap ang isang pampublikong pagsubok ng remote electronic na sistema ng pagboto (mula rito ay tinutukoy bilang DEG) gamit ang teknolohiyang blockchain, na binuo sa pamamagitan ng utos ng Central Election Commission ng Russian Federation, ay naganap.

Upang maging pamilyar sa bagong electronic na sistema ng pagboto at maunawaan kung ano ang papel na ginagampanan ng teknolohiya ng blockchain at kung ano ang iba pang mga bahagi na ginagamit, nagsisimula kami ng isang serye ng mga publikasyon na nakatuon sa mga pangunahing teknikal na solusyon na ginagamit sa system. Iminumungkahi namin na magsimula sa pagkakasunud-sunod - kasama ang mga kinakailangan para sa system at ang mga pag-andar ng mga kalahok sa proseso

Pangangailangan sa System

Ang mga pangunahing kinakailangan na nalalapat sa anumang sistema ng pagboto ay karaniwang pareho para sa tradisyonal na personal na pagboto at para sa malayong elektronikong pagboto, at tinutukoy ng Pederal na Batas ng Hunyo 12.06.2002, 67 N 31.07.2020-FZ (gaya ng sinusugan noong Hulyo XNUMX, XNUMX) "Sa Mga Pangunahing Garantiya sa mga karapatan sa pagboto at ang karapatang lumahok sa isang reperendum ng mga mamamayan ng Russian Federation."

  1. Ang pagboto sa mga halalan at referendum ay sikreto, hindi kasama ang posibilidad ng anumang kontrol sa kalooban ng isang mamamayan (Artikulo 7).
  2. Ang pagkakataong bumoto ay dapat ibigay lamang sa mga taong may aktibong karapatang bumoto para sa boto na ito.
  3. Isang botante – isang boto, hindi pinapayagan ang β€œdobleng” pagboto.
  4. Ang proseso ng pagboto ay dapat na bukas at malinaw sa mga botante at tagamasid.
  5. Dapat tiyakin ang integridad ng mga boto.
  6. Hindi dapat makalkula ang mga resulta ng pansamantalang pagboto bago matapos ang pagboto.

Kaya, mayroon tayong tatlong kalahok: ang botante, ang komisyon sa halalan at ang tagamasid, kung saan tinutukoy ang pagkakasunud-sunod ng pakikipag-ugnayan. Posible ring mag-isa ang ikaapat na kalahok - ang mga katawan na nagsasagawa ng pagpaparehistro ng mga mamamayan sa teritoryo (pangunahin ang Ministry of Internal Affairs, pati na rin ang iba pang mga ehekutibong awtoridad), dahil ang aktibong pagboto ay nauugnay sa pagkamamamayan at lugar ng pagpaparehistro.

Ang lahat ng mga kalahok na ito ay nakikipag-ugnayan sa isa't isa.

Protocol ng pakikipag-ugnayan

Isaalang-alang natin ang proseso ng pagboto sa isang tradisyunal na istasyon ng botohan, na may ballot box at papel na mga balota. Sa karaniwang pinasimpleng anyo, ganito ang hitsura: isang botante ang pumupunta sa istasyon ng botohan at nagpapakita ng dokumento ng pagkakakilanlan (pasaporte). Mayroong isang komisyon sa halalan sa presinto sa istasyon ng botohan, na ang miyembro ay nagpapatunay ng pagkakakilanlan ng botante at ang kanyang presensya sa listahan ng mga botante na naipon kanina. Kung ang botante ay natagpuan, isang miyembro ng komisyon ang magbibigay sa botante ng isang balota, at ang botante ay pumipirma para sa pagtanggap ng balota. Pagkatapos nito, pupunta ang botante sa booth ng pagboto, punan ang balota, at inilalagay ito sa kahon ng balota. Upang matiyak na ang lahat ng mga pamamaraan ay mahigpit na sinusunod ng batas, ang lahat ng ito ay sinusubaybayan ng mga tagamasid (mga kinatawan ng mga kandidato, mga pampublikong institusyon sa pagsubaybay). Matapos makumpleto ang pagboto, ang komisyon sa halalan, sa presensya ng mga tagamasid, ay nagbibilang ng mga boto at nagtatatag ng mga resulta ng pagboto.

Ang mga ari-arian na kinakailangan para sa pagboto sa tradisyunal na sistema ng pagboto ay ibinibigay ng mga hakbang sa organisasyon at ang itinatag na pamamaraan para sa pakikipag-ugnayan ng mga kalahok: pagsuri sa mga pasaporte ng mga botante, personal na pagpirma para sa mga balota, paggamit ng mga booth ng pagboto at mga selyadong kahon ng balota, ang pamamaraan para sa pagbibilang ng mga boto, atbp. .

Para sa isang sistema ng impormasyon, na isang malayuang elektronikong sistema ng pagboto, ang pagkakasunud-sunod ng pakikipag-ugnayan na ito ay tinatawag na isang protocol. Dahil nagiging digital na ang lahat ng aming pakikipag-ugnayan, maaaring ituring ang protocol na ito bilang isang algorithm na ipinapatupad ng mga indibidwal na bahagi ng system, at isang hanay ng mga pang-organisasyon at teknikal na hakbang na ginagawa ng mga user.

Ang digital na pakikipag-ugnayan ay nagpapataw ng ilang mga kinakailangan sa mga ipinatupad na algorithm. Tingnan natin ang mga pagkilos na isinagawa sa isang tradisyunal na site sa mga tuntunin ng mga sistema ng impormasyon at kung paano ito ipinapatupad sa sistema ng DEG na aming isinasaalang-alang.

Sabihin natin kaagad na ang teknolohiya ng blockchain ay hindi isang "silver bullet" na lumulutas sa lahat ng mga isyu. Upang lumikha ng gayong sistema, kinakailangan na bumuo ng isang malaking bilang ng mga bahagi ng software at hardware na responsable para sa iba't ibang mga gawain, at ikonekta ang mga ito sa isang proseso at protocol. Ngunit sa parehong oras, ang lahat ng mga sangkap na ito ay nakikipag-ugnayan sa platform ng blockchain.

Mga bahagi ng system

Mula sa teknikal na pananaw, ang DEG system ay isang software at hardware complex (mula rito ay tinutukoy bilang STC), na pinagsasama ang isang hanay ng mga bahagi upang matiyak ang interaksyon sa pagitan ng mga kalahok sa proseso ng elektoral sa isang pinag-isang kapaligiran ng impormasyon.

Ang diagram ng pakikipag-ugnayan ng mga bahagi at kalahok ng DEG PTC system ay ipinapakita sa figure sa ibaba.

Pagsusuri ng remote electronic na sistema ng pagboto ng Central Election Commission ng Russian Federation
Naki-click

Remote na proseso ng pagboto

Ngayon ay isasaalang-alang namin nang detalyado ang proseso ng malayuang elektronikong pagboto at ang pagpapatupad nito ng mga bahagi ng DEG software at hardware complex.

Ayon sa Pamamaraan para sa malayong elektronikong pagboto, upang maisama sa listahan ng mga kalahok sa malayong elektronikong pagboto, ang isang botante ay dapat magsumite ng aplikasyon sa portal ng Mga Serbisyo ng Estado. Kasabay nito, tanging ang mga user na may kumpirmadong account at matagumpay na naihambing sa rehistro ng mga botante, ang mga kalahok sa referendum ng sistema ng "Eleksiyon" ng State Automated System ay maaaring magsumite ng naturang aplikasyon. Pagkatapos matanggap ang aplikasyon, ang data ng botante ay muling susuriin ng Central Election Commission ng Russia at ia-upload sa Bahagi ng Listahan ng Botante PTC DEG. Ang proseso ng pag-download ay sinamahan ng pagtatala ng mga natatanging identifier sa blockchain. Ang mga miyembro ng komisyon ng halalan at mga tagamasid ay may access na tingnan ang listahan gamit ang isang espesyal na automated workstation na matatagpuan sa lugar ng komisyon ng halalan.

Kapag bumisita ang isang botante sa isang istasyon ng botohan, siya ay napatotohanan (kumpara sa data ng pasaporte) at nakikilala sa listahan ng mga botante, pati na rin ang pag-check na ang botante na ito ay hindi pa nakatanggap ng balota. Ang isang mahalagang punto dito ay imposibleng matukoy kung inilagay ng botante ang natanggap na balota sa kahon ng balota o hindi, ang katotohanan lamang na ang balota ay naibigay na nang mas maaga. Sa kaso ng PTC DEG, ang pagbisita ng isang botante ay kumakatawan sa kahilingan ng isang gumagamit sa DEG portal ay isang website na matatagpuan sa vybory.gov.ru Tulad ng isang tradisyunal na istasyon ng botohan, ang website ay naglalaman ng mga materyales ng impormasyon tungkol sa mga kasalukuyang kampanya sa halalan, impormasyon tungkol sa mga kandidato at iba pang impormasyon. Upang magsagawa ng pagkakakilanlan at pagpapatunay, ang ESIA ng State Services Portal ay ginagamit. Kaya, ang pangkalahatang pamamaraan ng pagkakakilanlan ay pinananatili kapwa kapag nag-aaplay at kapag bumoto.

Pagkatapos nito, magsisimula ang pamamaraan ng anonymization - binibigyan ang botante ng isang balota na walang anumang mga marka ng pagkakakilanlan: wala itong numero, hindi ito konektado sa botante kung kanino ito ibinigay. Kagiliw-giliw na isaalang-alang ang opsyon kapag ang istasyon ng botohan ay nilagyan ng mga electronic voting complex - sa kasong ito, ang anonymization ay ginagawa tulad ng sumusunod: sa halip na isang papel na balota, ang botante ay hinihiling na pumili mula sa isang stack ng anumang card na may barcode kung saan lalapit siya sa voting device. Walang impormasyon tungkol sa botante sa card, isang code lamang na tumutukoy kung aling balota ang dapat ibigay ng device kapag nagpapakita ng naturang card. Sa ganap na digital na pakikipag-ugnayan, ang pangunahing gawain ay ang magpatupad ng anonymization algorithm na, sa isang banda, imposibleng magtatag ng anumang data ng pagkakakilanlan ng user, at sa kabilang banda, upang magbigay ng kakayahang bumoto lamang sa mga user na ay dating nakilala sa listahan. Upang malutas ang problemang ito, ang DEG PTK ay gumagamit ng cryptographic algorithm, na kilala sa propesyonal na kapaligiran bilang isang "blind electronic signature." Pag-uusapan natin ito nang detalyado sa mga sumusunod na publikasyon, at mai-publish din ang source code; maaari ka ring mangolekta ng karagdagang impormasyon mula sa mga publikasyon sa Internet gamit ang mga keyword - "cryptographic secret voting protocols" o "blind signature"

Pagkatapos ay pupunan ng botante ang balota sa isang lugar kung saan imposibleng makita ang ginawang pagpili (isang saradong booth) - kung sa aming sistema ng impormasyon ang botante ay bumoto nang malayuan, kung gayon ang tanging lugar na iyon ay ang personal na aparato ng gumagamit. Para magawa ito, ililipat muna ang user sa ibang domain βˆ’ sa anonymous zone. Bago lumipat, maaari mong itaas ang iyong koneksyon sa VPN at baguhin ang iyong IP address. Sa domain na ito ipinapakita ang balota at pinoproseso ang pinili ng user. Ang source code na tumatakbo sa device ng user ay unang bukas - makikita ito sa browser.

Kapag nagawa na ang pagpili, ang balota ay naka-encrypt sa device ng user gamit ang isang espesyal na encryption scheme, na ipinadala at naitala sa bahagi na "Ipinamahagi na imbakan at pagbibilang ng mga boto", na binuo sa blockchain platform.

Ang isa sa pinakamahalagang katangian ng protocol ay ang imposibilidad na malaman ang mga resulta ng pagboto bago ito makumpleto. Sa isang tradisyunal na istasyon ng botohan, sinisigurado ito sa pamamagitan ng pagtatatak sa ballot box at pagsubaybay ng mga nagmamasid. Sa mga digital na pakikipag-ugnayan, ang pinakamahusay na solusyon ay i-encrypt ang pinili ng botante. Ang encryption algorithm na ginamit ay pumipigil sa mga resulta na maihayag bago makumpleto ang pagboto. Para dito, ginagamit ang isang scheme na may dalawang key: isang (pampublikong) key, na alam ng lahat ng kalahok, ay ginagamit upang i-encrypt ang boses. Hindi ito ma-decrypt gamit ang parehong key; kailangan ng pangalawang (pribadong) key. Ang pribadong susi ay nahahati sa pagitan ng mga kalahok sa proseso ng halalan (mga miyembro ng mga komisyon sa halalan, pampublikong silid, mga operator ng pagbibilang ng mga server, at iba pa) sa paraang walang silbi ang bawat indibidwal na bahagi ng susi. Maaari mo lamang simulan ang pag-decryption pagkatapos makolekta ang pribadong key. Sa system na isinasaalang-alang, ang key separation procedure ay kinabibilangan ng ilang yugto: separation of part of the key within the system, separation of the key outside the system, at generation of a common public key. Ipapakita namin nang detalyado ang proseso ng pag-encrypt at pagtatrabaho sa mga cryptographic key sa mga publikasyon sa hinaharap.

Matapos makolekta at ma-download ang susi, magsisimula ang pagkalkula ng mga resulta para sa kanilang karagdagang pag-record sa blockchain at kasunod na anunsyo. Ang isang tampok ng system na isinasaalang-alang ay ang paggamit ng homomorphic encryption technology. Ilalarawan namin ang algorithm na ito nang detalyado sa mga publikasyon sa hinaharap at pag-uusapan kung bakit malawakang ginagamit ang teknolohiyang ito upang lumikha ng mga sistema ng pagboto. Ngayon pansinin natin ang pangunahing tampok nito: ang mga naka-encrypt na balota na naitala sa sistema ng accounting ay maaaring pagsamahin nang walang pag-decryption sa paraang ang resulta ng pag-decrypting ng naturang pinagsamang ciphertext ay ang summed value para sa bawat pagpipilian sa mga balota. Kasabay nito, ang sistema, siyempre, ay nagpapatupad ng mga patunay sa matematika ng kawastuhan ng naturang pagkalkula, na naitala din sa sistema ng accounting at maaaring ma-verify ng mga tagamasid.

Nasa ibaba ang isang balangkas ng proseso ng pagboto.

Pagsusuri ng remote electronic na sistema ng pagboto ng Central Election Commission ng Russian Federation
Naki-click

Platform ng Blockchain

Ngayong napagmasdan natin ang mga pangunahing tampok ng pagpapatupad ng isang remote electronic voting system, sagutin natin ang tanong kung saan tayo nagsimula - anong papel ang ginagampanan ng teknolohiya ng blockchain dito at anong mga problema ang pinapayagan nitong lutasin?

Sa ipinatupad na malayuang sistema ng pagboto, ang teknolohiya ng blockchain ay nilulutas ang isang tiyak na hanay ng mga problema.

  • Ang pangunahing gawain ay upang matiyak ang integridad ng impormasyon sa loob ng balangkas ng pagboto, at, una sa lahat, mga boto.
  • Tinitiyak ang transparency ng pagpapatupad at immutability ng program code na ipinatupad sa anyo ng mga smart contract.
  • Tinitiyak ang proteksyon at immutability ng data na ginamit sa proseso ng pagboto: ang listahan ng mga botante, ang mga susi na ginamit upang i-encrypt ang mga balota sa iba't ibang yugto ng cryptographic protocol, at iba pa.
  • Ang pagbibigay ng desentralisadong imbakan ng data, na ang bawat kalahok ay may ganap na magkaparehong kopya, na kinumpirma ng mga katangian ng pinagkasunduan sa network.
  • Ang kakayahang tingnan ang mga transaksyon at subaybayan ang progreso ng pagboto, na ganap na makikita sa block chain, mula sa simula nito hanggang sa pagtatala ng mga kinakalkula na resulta.

Kaya, nakikita natin na nang hindi ginagamit ang teknolohiyang ito, halos imposibleng makamit ang mga kinakailangang katangian sa sistema ng pagboto, gayundin ang pagtitiwala dito.

Ang functionality ng blockchain platform na ginamit ay pinayaman ng paggamit ng mga smart contract. Sinusuri ng mga matalinong kontrata ang bawat transaksyon gamit ang mga naka-encrypt na balota para sa pagiging tunay ng electronic at "bulag" na mga lagda, at nagsasagawa rin ng mga pangunahing pagsusuri sa kawastuhan ng pagpuno sa naka-encrypt na balota.

Higit pa rito, sa itinuturing na malayong elektronikong sistema ng pagboto, ang bahagi ng "Ipinamahagi na imbakan at pagbibilang ng mga boto" ay hindi limitado lamang sa mga blockchain node. Para sa bawat node, maaaring mag-deploy ng hiwalay na server na nagpapatupad ng mga pangunahing cryptographic function ng protocol ng pagboto - mga server ng pagbibilang.

Nagbibilang ng mga server

Ito ay mga desentralisadong bahagi na nagbibigay ng pamamaraan para sa ipinamahagi na pagbuo ng susi sa pag-encrypt ng balota, pati na rin ang pag-decryption at pagkalkula ng mga resulta ng pagboto. Kasama sa kanilang mga gawain ang:

  • Tinitiyak ang ipinamahagi na henerasyon ng bahagi ng susi sa pag-encrypt ng balota. Ang pangunahing pamamaraan ng pagbuo ay tatalakayin sa mga sumusunod na artikulo;
  • Sinusuri ang kawastuhan ng naka-encrypt na balota (nang hindi ito nade-decrypt);
  • Pagproseso ng mga balota sa naka-encrypt na anyo upang makabuo ng panghuling ciphertext;
  • Ibinahagi ang pag-decode ng mga huling resulta.

Ang bawat yugto ng pagpapatupad ng cryptographic protocol ay naitala sa blockchain platform at maaaring suriin para sa kawastuhan ng mga nagmamasid.

Upang mabigyan ang system ng mga kinakailangang katangian sa iba't ibang yugto ng proseso ng pagboto, ang mga sumusunod na cryptographic algorithm ay ginagamit:

  • Electronic Signature;
  • Bulag na pagpirma sa pampublikong susi ng botante;
  • ElGamal elliptic curve encryption scheme;
  • Zero-knowledge proofs;
  • Pedersen 91 DKG (Distributed Key Generation) protocol;
  • Private key sharing protocol gamit ang scheme ni Shamir.

Ang serbisyong cryptographic ay tatalakayin nang mas detalyado sa mga sumusunod na artikulo.

Mga resulta ng

Ibuod natin ang ilang intermediate na resulta ng pagsasaalang-alang ng remote electronic voting system. Maikling inilarawan namin ang proseso at ang mga pangunahing bahagi na nagpapatupad nito, at natukoy din ang mga paraan upang makamit ang mga katangiang kinakailangan para sa anumang sistema ng pagboto:

  • Pagpapatunay ng Botante. Ang sistema ay tumatanggap lamang ng mga boto mula sa mga na-verify na botante. Ang ari-arian na ito ay tinitiyak sa pamamagitan ng pagtukoy at pagpapatunay ng mga botante, pati na rin ang pagtatala ng listahan ng mga botante at ang katotohanan ng pagbibigay ng access sa balota sa blockchain.
  • hindi pagkakilala. Tinitiyak ng system ang lihim ng pagboto, na nakasaad sa batas ng Russian Federation; ang pagkakakilanlan ng botante ay hindi maaaring matukoy mula sa isang naka-encrypt na balota. Ipinatupad gamit ang algorithm na "bulag na lagda" at isang hindi kilalang sona para sa pagpuno at pagpapadala ng balota.
  • Pagiging kompidensyal ng mga boto. Ang mga tagapag-ayos at iba pang kalahok sa pagboto ay hindi malalaman ang resulta ng pagboto hanggang sa ito ay nakumpleto, ang mga boto ay binibilang at ang mga huling resulta ay natukoy. Ang pagiging kumpidensyal ay nakakamit sa pamamagitan ng pag-encrypt ng mga balota at ginagawang imposibleng i-decrypt ang mga ito hanggang matapos ang pagboto.
  • Pagkakabago-bago ng Data. Ang data ng botante ay hindi maaaring baguhin o tanggalin. Ang hindi nababagong imbakan ng data ay ibinibigay ng blockchain platform.
  • Pagpapatunay. Maaaring patunayan ng tagamasid na ang mga boto ay binilang nang tama.
  • Pagkamaaasahan. Ang arkitektura ng system ay batay sa mga prinsipyo ng desentralisasyon, na tinitiyak ang kawalan ng isang solong "punto ng kabiguan".

Pinagmulan: www.habr.com

Magdagdag ng komento