U 31 d'aostu di u 2020, hè stata fatta una prova publica di u sistema di votu elettronicu remotu (in seguitu DEG) utilizendu a tecnulugia blockchain, sviluppata per ordine di a Cummissione Elettorale Centrale di a Federazione Russa.
Per fà cunnosce u novu sistema di votu elettronicu è capisce chì u rolu di a tecnulugia blockchain ghjoca in questu è ciò chì altri cumpunenti sò usati, avemu principiatu una seria di publicazioni dedicate à i principali suluzioni tecnichi utilizati in u sistema. Suggeremu di principià in ordine - cù i requisiti per u sistema è e funzioni di i participanti in u prucessu
Requisiti di u sistema
I requisiti basi chì si applicanu à qualsiasi sistema di votu sò generalmente listessi per u votu tradiziunale in persona è per u votu elettronicu à distanza, è sò determinati da a Legge Federale di u 12.06.2002 di ghjugnu 67 N 31.07.2020-FZ (modificata u XNUMX di lugliu di u XNUMX). "In u dirittu di votu nantu à a Garanzia di Base è u dirittu di participà à un referendum di i citadini di a Federazione Russa".
- U votu in l'alizzioni è i referendums hè sicretu, escludendu a pussibilità di ogni cuntrollu di a vulintà di un citatinu (Articulu 7).
- L'uppurtunità di votu deve esse furnita solu à e persone chì anu un dirittu attivu di votu per stu votu.
- Un votante - un votu, u votu "doppiu" ùn hè micca permessu.
- U prucessu di votu deve esse apertu è trasparente à l'elettori è l'osservatori.
- L'integrità di u votu deve esse assicurata.
- Ùn deve esse pussibule di calculà i risultati di u votu interim prima chì u votu hè cumpletu.
Dunque, avemu trè participanti: l'elettore, a cummissione elettorale è l'osservatore, trà quale l'ordine di interazzione hè determinatu. Hè ancu possibbili di un quartu participante - i corpi chì realizanu a registrazione di i citadini in u territoriu (principalmente u Ministeru di l'Affari Interni, è ancu altre autorità esecutive), postu chì u suffragiu attivu hè assuciatu cù a citadinanza è u locu di iscrizzione.
Tutti sti participanti interagisce cù l'altri.
Protocolu d'interazzione
Pensemu à u prucessu di votu in un postu di votu tradiziunale, cù una urna è un votu di carta. In una forma generale simplificata, pare cusì: un votante vene à u postu di votu è presenta un documentu d'identificazione (passaportu). Ci hè una cummissione elettorale di precinct in u centru di votazione, chì u so membru verifica l'identità di l'elettore è a so presenza in a lista di l'elettore chì hè stata cumpilata prima. Se l'elettore hè truvatu, un membru di a cumissioni dà à l'elettore un votu, è l'elettore firma per a ricezione di u votu. Dopu questu, l'elettore và à u cabine di votu, riempie u votu, è u mette in l'urna. Per assicurà chì tutte e prucedure sò strettamente seguite da a lege, tuttu questu hè monitoratu da l'osservatori (rapprisintanti di i candidati, istituzioni publichi di monitoraghju). Dopu chì u votu hè finitu, a cummissione eletturale, in presenza di l'osservatori, cunta i voti è stabilisce i risultati di u votu.
I pruprietà necessarii per u votu in un sistema di votu tradiziunale sò furnuti da e misure urganisazione è a prucedura stabilita per l'interazzione di i participanti: cuntrollà i passaporti di l'elettori, firmà personalmente per u votu, utilizendu cabine di votu è urne sigillate, a prucedura per cuntà i voti, etc. .
Per un sistema d'infurmazione, chì hè un sistema di votu elettronicu remoto, questu ordine di interazzione hè chjamatu protocolu. Siccomu tutte e nostre interazzione sò diventate digitale, stu protokollu pò esse cunsideratu cum'è un algoritmu chì hè implementatu da cumpunenti individuali di u sistema, è un inseme di misure organizzative è tecniche realizate da l'utilizatori.
L'interazzione digitale impone certi requisiti à l'algoritmi implementati. Fighjemu l'azzioni realizate nantu à un situ tradiziunale in quantu à i sistemi d'infurmazione è cumu questu hè implementatu in u sistema DEG chì avemu cunsideratu.
Dicemu subitu chì a tecnulugia di blockchain ùn hè micca una "bullet d'argentu" chì risolve tutti i prublemi. Per creà un tali sistema, era necessariu di sviluppà un gran numaru di cumpunenti di software è hardware rispunsevuli di e diverse attività, è cunnetta cù un solu prucessu è protocolu. Ma à u listessu tempu, tutti sti cumpunenti interagiscenu cù a piattaforma blockchain.
Cumpunenti di u sistema
Da un puntu di vista tecnicu, u sistema DEG hè un cumplessu di software è hardware (in seguitu chjamatu STC), chì combina un inseme di cumpunenti per assicurà l'interazzione trà i participanti in u prucessu elettorale in un ambiente d'informazione unificatu.
U schema di interazzione di i cumpunenti è i participanti di u sistema DEG PTC hè mostratu in a figura sottu.
Prucessu di votu à distanza
Avà cunsideremu in detail u prucessu di votu elettronicu remota è a so implementazione da i cumpunenti di u cumplessu di software è hardware DEG.
Sicondu a Prucedura per u votu elettronicu remota, per esse inclusu in a lista di i participanti in u votu elettronicu remota, un votante deve mandà una dumanda nantu à u portale di i servizii statali. À u listessu tempu, solu quelli utilizatori chì anu un contu cunfirmatu è sò stati paragunati cun successu cù u registru di l'elettori, i participanti di u referendum di u sistema "Elections" di u Sistema Automatizatu Statale ponu presentà una tale applicazione. Dopu avè ricivutu l'applicazione, i dati di l'elettore sò di novu verificati da a Cummissione Elettorale Centrale di Russia è caricati à Cumpunente di a lista di l'elettori PTC DEG. U prucessu di scaricamentu hè accumpagnatu da a registrazione di identificatori unichi in u blockchain. I membri di a cummissione elettorale è l'osservatori anu accessu à vede a lista utilizendu una stazione di travagliu automatizata speciale situata in i locali di a cumissioni elettorali.
Quandu un votante visita una stazione di votazione, hè autentificata (in cunfrontu cù i dati di u passaportu) è identificatu in a lista di l'elettore, è verificate chì questu votante ùn hà micca ricevutu prima un votu. Un puntu impurtante quì hè chì hè impussibile di stabilisce se l'elettore hà postu u votu ricevutu in l'urna o micca, solu u fattu chì u votu era digià emessu prima. In u casu di PTC DEG, a visita di un votante rapprisenta a dumanda di l'utilizatori Portal DEG hè un situ web situatu in vybory.gov.ru Cum'è una stazione di votazione tradiziunale, u situ web cuntene materiale d'infurmazione nantu à e campagne elettorali in corso, infurmazione nantu à i candidati è altre informazioni. Per fà l'identificazione è l'autentificazione, hè utilizatu l'ESIA di u Portale di i servizii di u Statu. Cusì, u schema d'identificazione generale hè mantinutu sia in l'applicazioni sia in u votu.
Dopu questu, a prucedura di l'anonimizazione principia - l'elettore hè datu un votu chì ùn cuntene alcuna marca d'identificazione: ùn hà micca un numeru, ùn hè micca cunnessu cù l'elettore à quale hè statu emessu. Hè interessante di cunsiderà l'opzione quandu a stazione di votazione hè dotata di complexi di votu elettronicu - in questu casu, l'anonimizazione hè realizata cum'è seguente: invece di un votu di carta, l'elettore hè dumandatu à sceglie da una pila qualsiasi carta cù un codice à barre cù quale. si avvicinà à u dispusitivu votu. Ùn ci hè micca infurmazione nantu à l'elettore nantu à a carta, solu un codice chì determina quale votu deve furnisce u dispusitivu quandu prisenta una tale carta. Cù una interazzione cumplettamente digitale, u compitu principale hè di implementà un algoritmu di anonimatu in modu chì, da una banda, hè impussibile di stabilisce qualsiasi dati d'identificazione di l'utilizatori, è da l'altra banda, di furnisce a capacità di votu solu à quelli utilizatori chì prima identificatu in a lista. Per risolve stu prublema, u DEG PTK usa un algoritmu criptograficu, cunnisciutu in l'ambiente prufessiunale cum'è "firma elettronica ceca". Ne parlemu in dettagliu in e publicazioni seguenti, è ancu pubblicà u codice fonte; pudete ancu cullà infurmazioni supplementari da e publicazioni in Internet usendu parole chjave - "protokolli di votu secretu criptograficu" o "firma cieca"
Allora l'elettore compie u votu in un locu induve hè impussibile di vede a scelta fatta (una cabina chjusa) - se in u nostru sistema d'infurmazione l'elettore vota remotamente, allora l'unicu locu hè u dispusitivu persunale di l'utilizatori. Per fà questu, l'utilizatore hè prima trasferitu à un altru duminiu - à a zona anonima. Prima di cambià, pudete elevà a vostra cunnessione VPN è cambià u vostru indirizzu IP. Hè in questu duminiu chì u votu hè visualizatu è a scelta di l'utilizatori hè trattata. U codice fonte chì corre nantu à u dispusitivu di l'utilizatori hè inizialmente apertu - pò esse vistu in u navigatore.
Una volta a scelta hè fatta, u votu hè criptatu nantu à u dispositivu di l'utilizatore utilizendu un schema di criptografia speciale, mandatu è arregistratu in cumpunente "Almacenamiento distribuitu è cunti di voti", custruitu nantu à a piattaforma blockchain.
Una di e caratteristiche più impurtanti di u protocolu hè l'impossibilità di cunnosce i risultati di u votu prima ch'ellu sia cumpletu. In un postu di votazione tradiziunale, questu hè assicuratu da u sigilamentu di l'urna è u monitoraghju da l'osservatori. In l'interazzione digitale, a megliu suluzione hè di criptà a scelta di l'elettore. L'algoritmu di criptografia utilizatu impedisce à i risultati di esse revelati prima chì u votu hè cumpletu. Per questu, un schema cù dui chjavi hè utilizatu: una chjave (pùblica), chì hè cunnisciuta da tutti i participanti, hè usata per criptà a voce. Ùn pò micca esse decriptatu cù a stessa chjave; una seconda chjave (privata) hè necessaria. A chjave privata hè divisa trà i participanti in u prucessu di l'elezzione (membri di e cumissioni elettorali, a camera publica, l'operatori di i servitori di cunti, etc.) in modu chì ogni parte individuale di a chjave hè inutile. Pudete principià a decryption solu dopu chì a chjave privata hè stata cullata. In u sistema in cunsiderà, a prucedura di separazione chjave include parechje tappe: separazione di parte di a chjave in u sistema, separazione di a chjave fora di u sistema, è generazione di una chjave publica cumuna. Vi mustraremu in detail u prucessu di criptografia è u travagliu cù e chjave criptografiche in publicazioni future.
Dopu chì a chjave hè cullata è scaricata, u calculu di i risultati principia per a so registrazione ulteriore in u blockchain è l'annunziu sussegwente. Una caratteristica di u sistema in cunsiderà hè l'usu di a tecnulugia di criptografia omomorfa. Descriveremu stu algoritmu in dettagliu in publicazioni future è parlemu perchè sta tecnulugia hè largamente usata per creà sistemi di votu. Avà nutemu a so funzione principale: i voti criptati registrati in u sistema di cuntabilità ponu esse cumminati senza decryption in tale manera chì u risultatu di decrypting tali ciphertext cumminatu serà u valore summatu per ogni scelta in i votu. À u listessu tempu, u sistema, sicuru, implementa prove matematiche di a correttezza di un tali calculu, chì sò ancu arregistrati in u sistema di cuntabilità è ponu esse verificati da l'osservatori.
Quì sottu hè un schema di u prucessu di votu.
piattaforma Blockchain
Avà chì avemu esaminatu e caratteristiche principali di l'implementazione di un sistema di votu elettronicu remotu, rispundemu à a quistione cù quale avemu principiatu - chì rolu a tecnulugia blockchain ghjucà in questu è chì prublemi permette di risolve?
In u sistema di votu remoto implementatu, a tecnulugia di blockchain risolve una certa varietà di prublemi.
- U compitu basicu hè di assicurà l'integrità di l'infurmazioni in u quadru di u votu, è, prima di tuttu, i voti.
- Assicurendu a trasparenza di l'esekzione è l'immutabilità di u codice di u prugramma implementatu in forma di cuntratti intelligenti.
- Assicurà a prutezzione è l'immutabilità di e dati utilizati in u prucessu di votu: a lista di l'elettori, i chjavi utilizati per criptà i votu in diverse tappe di u protocolu criptograficu, etc.
- Furnisce un almacenamentu di dati descentralizatu, cù ogni participante avè una copia assolutamente identica, cunfirmata da e proprietà di cunsensu in a reta.
- A capacità di vede e transazzione è seguità u prugressu di u votu, chì si riflette cumplettamente in a catena di bloccu, da u so principiu à a registrazione di i risultati calculati.
Cusì, vedemu chì senza usu di sta tecnulugia, hè quasi impussibile di ottene e proprietà necessarie in u sistema di votu, è ancu di fiducia in questu.
A funziunalità di a piattaforma blockchain utilizata hè arricchita da l'usu di cuntratti intelligenti. I cuntratti intelligenti verificanu ogni transazzione cù votu criptati per l'autenticità di e firme elettroniche è "cecu", è ancu cuntrolli basi nantu à a correttezza di riempie u votu criptatu.
Inoltre, in u sistema di votu elettronicu remotu cunsideratu, u cumpunente "Almacenamiento distribuitu è cunti di voti" ùn hè micca limitatu solu à i nodi di blockchain. Per ogni nodu, un servitore separatu pò esse implementatu chì implementa e funzioni criptografiche principali di u protocolu di votu - i servitori di cuntà.
Conte i servitori
Quessi sò cumpunenti decentralizati chì furniscenu a prucedura per a generazione distribuita di una chjave di criptografia di u votu, è ancu a decifrazione è u calculu di i risultati di u votu. I so compiti includenu:
- Assicurendu a generazione distribuita di parte di a chjave di criptografia di u votu. A prucedura di generazione chjave serà discututa in l'articuli seguenti;
- Verificazione di a correttezza di u votu criptatu (senza decrypting);
- Trattamentu di votu in forma criptata per generà u testu cifratu finali;
- Decodificazione distribuita di risultati finali.
Ogni tappa di l'esekzione di u protokollu criptograficu hè arregistrata in a piattaforma blockchain è pò esse verificata per a correzione da l'osservatori.
Per dà à u sistema e proprietà necessarie in diverse tappe di u prucessu di votu, i seguenti algoritmi criptografici sò usati:
- firma elettronica;
- Firma a cieca di a chjave publica di l'elettore;
- Schema di criptografia di curva ellittica ElGamal;
- prova di cunniscenza zero;
- Protokollu Pedersen 91 DKG (Generation Key Distributed) ;
- Protokollu di spartera di chjave privata utilizendu u schema di Shamir.
U serviziu di criptografia serà discutitu in più detail in l'articuli seguenti.
Risultati
Riassumemu alcuni risultati intermedii di a cunsiderazione di u sistema di votu elettronicu remoto. Avemu descrittu brevemente u prucessu è i cumpunenti principali chì l'implementanu, è ancu identificatu i mezi per ottene e proprietà necessarie per ogni sistema di votu:
- Verificabilità di l'elettore. U sistema accetta i voti solu da i votanti verificati. Sta pruprietà hè assicurata da l'identificazione è l'autentificazione di l'elettori, è ancu di registrà a lista di l'elettori è u fattu di furnisce l'accessu à u votu in u blockchain.
- Anonimatu. U sistema assicura u sicretu di u votu, cunsacratu in a legislazione di a Federazione Russa; l'identità di l'elettore ùn pò esse determinata da un votu cifratu. Implementatu aduprendu un algoritmu di "firma cieca" è una zona anonima per riempie è mandà u votu.
- Cunfidenziale di i voti. L'urganizatori è l'altri participanti à u votu ùn ponu micca sapè u risultatu di u votu finu à ch'ellu hè cumpletu, i voti sò cuntatu è i risultati finali sò decifrati. A cunfidenzialità hè ottenuta da criptà i votu è facenu impussibile di decifrare finu à dopu à u votu.
- Immutabilità di dati. I dati di l'elettori ùn ponu esse cambiati o sguassati. L'almacenamiento di dati immutable hè furnitu da a piattaforma blockchain.
- Verificabilità. L'osservatore pò verificà chì i voti sò stati cuntati currettamente.
- Affidabilità. L'architettura di u sistema hè basatu annantu à i principii di a descentralizazione, assicurendu l'absenza di un unicu "puntu di fallimentu".
Source: www.habr.com