Votul electronic nu este încă o soluție

  • Posted on: 7 June 2019
  • By: Redacția ApTI

Rezumat

Astăzi, România nu poate implementa niciun sistem de vot prin Internet, care să asigure securitatea votului în condiții de anonimat, imposibilitatea fraudei și auditarea pe scara largă a unui astfel de sistem și a rezultatelor, indiferent de soluția tehnică aleasă, din motivele explicate mai jos. Riscurile sunt mult prea mari față de potențialele beneficii și de aceea sunt extrem de puține state în lume care au astfel de sisteme funcționale.

Considerăm că este inutil și total neproductiv sa vorbim despre o inițiativă legislativă anume. Peste 5 ani, în funcție de dezvoltările tehnologice, am putea să reanalizăm această concluzie.

Pe larg, despre problemele votului electronic

Acum 4 ani, în 2015, a existat un mare avânt pentru adoptarea votului electronic și, mai exact, a votului pe Internet, pentru prima dată în România. Am scris atunci mai multe articole [1], analizând atât situația din România, cât și din străinătate.

Acum, după 4 ani de relativă liniște pe frontul mioritic, această idee nefastă se arată din nou, fără a avea măcar o dezbatere substanțială pe analize științifice și fără a le cere experților în securitate informatică să studieze mai în detaliu riscurile și problemele inerente.

În primul rând, înțelegem problemele repetate ale votului în diaspora, inclusiv dorința absolut normală într-o societate care își dorește digitalizarea de a găsi o soluție electronică, care ar putea să rezolve nu doar problema participării la vot, dar și pe cea a deplasării la urne, în situația în care ești departe de locul unde trebuie să votezi. Cei de la Centrul de Inovare Publică au analizat mai în detaliu opțiunile alternative pentru îmbunătățirea votului din diaspora, inclusiv pentru proximele alegeri. Soluțiile se bazează pe îmbunătățirea votului pe hârtie, nicidecum pe folosirea votului pe Internet.

Noi ne vom raporta exclusiv la votul prin Internet, propus de mai multe partide prin diverse inițiative legislative în Parlament, care are probleme multiple la nivel principial, indiferent de soluția aleasă, exprimate pe scurt: securitatea votului în condiții de anonimat, fraudabilitatea și auditabilitatea.

De asemenea, ar trebui să mai evidențiem 3 aspecte noi, care au apărut după 2015:

  • Sunt relativ extrem de puține state care au sisteme de vot prin Internet (cu excepția notabilă a Estoniei). În schimb, Franța a renunțat la votul prin Internet în 2017 din motive de securitate, iar după un studiu realizat in 2017, Canada a decis sa nu permită votul online în alegeri federale din motive similare, la fel ca multe alegeri statale. Iar în 2019 Elevetia a renuntat la sistemul de vot electronic la urmatoarele alegeri, dupa ce s-a demonstrat ca nu este sigur.

  • Au existat dezvoltări tehnologice noi în ultimii ani, ce ne pot face mai optimiști cu privire la existența în viitor a unui astfel de sistem, dar nu trebuie să comparăm sisteme de autentificare din zona de Internet banking, unde este necesară identificarea continuă a clientului și unde există riscuri de securitate (dar pe care instituțiile bancare le pot asigura cu societăți de asigurare). În votul online nu există nicio plasă de siguranță, dacă ceva a mers greșit, iar nevoia de secretizare a votului se complică cu necesitatea asigurării anonimității votului.

  • Pentru a înțelege cât de departe suntem încă de un sistem de vot prin Internet funcțional, considerăm că cea mai apropiată șansă este cea inițiată de DARPA în SUA, care a anunțat abia în martie 2019 un proiect de 10 milioane de dolari pentru crearea unui sistem de vot open source, dar nu prin Internet, ci cu mașini de vot (deci secure hardware), sistem care ar trebui validat la două conferințe majore de securitate informatică (DEFCON), deci imposibil de aplicat înainte de 2021. Acest exemplu ar trebui să demonstreze cât de complicat tehnic este sistemul, dar și nivelul de securitate care trebuie dovedit pentru ca orice sistem de vot electronic să îndeplinească niște cerințe de securitate minimale.

    Explicat prozaic: Nu e vorba de vot prin Internet, ci de vot prin mașini de vot, unde mașina este sigură din punct de vedere hardware. La DEFCON, participarea este gratuită pentru toți hackerii. Dacă reușește ceva să supraviețuiască unui DEFCON, e spectaculos. Dacă reușește să supraviețuiască la două DEFCON-uri, e un miracol!

 

De atunci până acum, situația de fond nu s-a schimbat, problemele rămânând aceleași în mare. Așadar, un sistem de vot electronic prin Internet este nefezabil din punct de vedere tehnic în condițiile actuale (sau în condiții care pot fi întrevăzute pe termen scurt sau mediu), deci opțiunea votului electronic este o falsă ipoteză.

 

Astfel, sunt 3 elemente nesigure în orice comunicație:
 

1. Dispozitivul utilizatorului: Calculatorul de la care votul prin Internet se transmite nu poate fi sigur. Aceasta depinde doar de măsurile de securitate ale calculatorului folosit pentru a vota (care sunt aproape imposibil de verificat pentru fiecare calculator în parte). Infectarea calculatoarelor care rulează pe Windows (care sunt majoritatea) este extrem de ușoară.

Explicat simplu: Tu votezi candidatul A și de pe calculatorul tău pleacă faptul că ai votat candidatul B.
 

2. Conexiunea prin care are loc comunicația între dispozitivul utilizatorului și server: Există posibilitatea criptării de la un capăt la altul, dar tehnologiile de criptare nu au fost niciodată și nu au cum să fie, chiar și din punct de vedere teoretic, infailibile. Membrii comunității de securitate informatică știu asta de multă vreme iar pentru restul populației aceste lucruri au fost dovedite de ultimele revelații ale lui Edward Snowden: comunicațiile pot fi accesate și modificate cel puțin de NSA și alte agenții de securitate externe.

Explicat simplu: Tu votezi candidatul A și de pe calculatorul tău pleacă faptul că ai votat candidatul A, dar ajunge la final faptul că ai votat candidatul B.

 

3. Serverul: Calculatorul care primește votul cu software-ul care contorizează poate că e sigur (deși orice expert în securitate informatică va spune că niciun calculator conectat la rețea nu poate fi sigur). Soft-ul de primire și contorizare a voturilor este imposibil de auditat perfect, astfel încât rezultatul votului poate fi ușor falsificat (indiferent de software-ul folosit), în special de națiuni care angajează hackeri (vezi incidentele recente cu Rusia sau chiar Coreea de Nord). Dacă nu este public codul sursă al software-ului, acest software este, practic, o cutie neagră în care bagi votul și nu se știe ce iese. Dacă este public codul sursă al software-ului, riscul este mai mic, însă posibilitatea de a găsi cineva o gaură de securitate pe care să nu o raporteze, ci să o exploateze în interes propriu, este uriașă. Putem să spunem că e obligatoriu să fie open Source software codul, sau să se facă auditări exhaustive, dar ce se întâmplă de la codul sursă până la executabilul / executabilele care rulează pe dispozitivele respective este o cale foarte lungă. Pot fi găsite breșe în codul sursă, poate fi atacat compilatorul astfel încât executatbilele create să facă altceva decât spune codul sursă, pot fi înlocuite executatbilele create corect cu executabile compromise înaintea sau chiar în timpul votului. Atacatorii pot fi la distanță sau se pot ascunde chiar printre cei care organizează votul. Suprafața de atac (attack surface) este imensă și, cu cât sistemul devine mai complex, cu atât suprafața de atac crește ca un balon. Și asta se aplică atât pentru software-ul de pe server cât și pentru software-ul de pe dispozitivul utilizatorului (alegătorului).

Explicat simplu: Tu votezi candidatul A și de pe calculatorul tău pleacă faptul că ai votat candidatul A, ajunge la calculatorul care face contorizarea că ai votat candidatul A. Cu toate acestea, în contorizarea voturilor, unde cineva cu interes a avut acces și se notează că ai votat candidatul B.

Mai sunt și multe alte probleme conexe:

  • Secretul și anonimatul votului nu pot fi asigurate. Explicat simplu: Tu votezi candidatul A și cineva poate ști ca ai votat candidatul A. Sunt mulți care spun “În ziua de azi, avem online banking, comerț electronic, comunicații criptate etc. De ce nu avem și vot pe Internet?”
    Răspunsul este un pic mai tehnic, dar crucial: modelul de securitate în cazul domeniilor online banking / comerț electronic / comunicații criptate etc. și cel din cazul votului pe Internet diferă în mod fundamental și radical. În cazurile enumerate, utilizatorul și serverul au același obiectiv: să comunice în siguranță și nimeni altcineva să nu interfereze cu comunicația lor. Ambele părți au același scop și lucrează împreună pentru a atinge acest scop. Chiar și în aceste condiții, există fraude ale sistemului, acoperite de obicei de bănci - fie direct, fie prin asigurare. La votul pe Internet, utilizatorul și serverul au doar parțial același obiectiv: ambii vor să contorizeze votul în mod corect, dar utilizatorul vrea și să-și păstreze anonimatul, în timp ce serverul ar vrea ca utilizatorul să nu fie anonim, pentru a verifica dreptul la vot și a împiedica votul multiplu. Așadar, ca în cazul sistemului de vot pe Internet din Estonia, se poate folosi o procedură complicată, dar până la urmă neverificabilă, pentru încercarea parțială de asigurare anonimității utilizatorului (alegătorului).
    Nu în ultimul rând, secretul votului și anonimitatea sunt un drept al omului, recunoscut prin Convenția Internațională privind Drepturile Civile și Politice (International Covenant on Civil and Political Rights)[2]. România a aderat la această Convenție ONU pe 27 iunie 1968, a ratificat-o pe 9 decembrie 1974 și aceasta a intrat în vigoare în România pe 23 martie 1976. Doar declararea faptului că secretul votului este important, fără garanții temeinice, este inutilă. Niciun sistem de vot pe Internet nu poate, la nivel tehnic, să ofere aceste garanții și se pare că această stare de fapt nu se va schimba, în mod realist, în viitorul apropiat sau mediu.

  • Sistemul de vot pe hârtie este robust la atacuri: Sistemul de vot pe hârtie este, de fapt, un sistem masiv distribuit și foarte robust. Este foarte greu să corupi întregul sistem. Poți corupe părți, mai mici sau mai mari ale acestuia, dar întregul sistem nu poate fi corupt cu ușurință. Practic, singura excepție care poate fi dată când un astfel de sistem a fost corupt în întregime în România este cea a alegerilor fraudate de către comuniști după ce de-Al Doilea Război Mondial. Dar acest lucru a fost posibil doar din cauza ocupației sovietice, așa că putem să spunem că situația era una excepțională. Într-o situație normală, fraudarea completă a alegerilor desfășurate pe hârtie este de domeniul teoriei, dar imposibilă în practică. În cazul unui sistem de vot electronic, situația se schimbă dramatic. Cu cât porțiuni mai mari ale sistemului sunt informatizate, cu atât sistemul devine mai centralizat. Cu cât sistemul este mai centralizat, cu atât orice compromitere a sistemului ridică spectrul compromiterii complete a votului. Un sistem de vot pe Internet reprezintă maximul de informatizare al unui sistem de vot și, prin urmare, reprezintă maximul de centralizare al unui sistem de vot. Așadar, compromiterea acestui sistem duce la compromiterea în întregime a tuturor voturilor sau a suficiente voturi pentru a determina câștigătorul.

  • Sistemul pe hârtie permite reverificarea procesului și rezultatelor sistemului de votare de la un capăt la celalalt, pe când sistemul electronic nu permite această facilitate, datele electronice fiind în esența lor volatile, deci este improbabilă verificarea lui, mai ales în condițiile asigurarii anonimitătii votului. Explicat simplu: Cum poți verifica faptul că cei care au votat candidatul A au fost înregistrați ca votând A?

  • Autentificare: cum trimiți datele de acces în sistem astfel încât nimeni să nu aibă acces la ele în afara alegătorului? Experiența cu Poșta Romana pentru trimiterea cardurilor de sănătate (total nesigură) ne arată că statul român nu are o minimă competență în acest sens.

  • Utilizabilitate: Cum te asiguri că software-ul este făcut suficient de "pe înțelesul tuturor" astfel încât cel care votează A să înțeleagă faptul că votează A și nu B?

  • Observabilitate: Cum găsești niște observatori care chiar pot să auditeze tot sistemul de la un capăt la altul? Cum pot observatorii să observe toate “secțiile de votare” dacă practic secția de votare se mută în calculatorul personal?

  • Suport tehnic: Cum poți să asiguri răspunsurile tehnice corecte și inteligibile la întrebările primite de la toți cei interesați?

 

Concluzie: Nivelul tehnic actual nu permite asigurarea unui sistem electronic de vot (și cu atât mai puțin a unui sistem de vot prin Internet) la un nivel de siguranță măcar acceptabil.
 

Autori: Matei-Eugen Vasile si Bogdan Manolea

 


 

Bibliografie relevantă:

 


 

[1]. Pentru referință, iată, mai întâi, link-uri către toată seria de articole ApTI din 2015 privind votul electronic:

https://apti.ro/raspuns-apti-consultare-sar-vot-electronic

https://apti.ro/consultare-sar-vot-electronic-aar

https://apti.ro/workshop-tehnic-vot-electronic

https://apti.ro/electronic-voting-workshop-after-action-report

https://apti.ro/votul-electronic-in-lume

https://apti.ro/esecurile-votului-electronic-partea-1

https://apti.ro/esecurile-votului-electronic-partea-2

https://apti.ro/privire-critica-vot-estionia

https://apti.ro/vot_electronic_pozitie_de_politici_publice_apti_sponge

Cerem scuze tuturor în privința referințelor din link-urile de mai sus care, din păcate, după 4 ani, nu mai sunt funcționale. Ar fi fost un adevărat miracol să mai fie! Dar, chiar și așa, resursele respective pot fi regăsite și în ziua de azi cu relativă ușurință de un cititor interesat și cu acces la oricare motor de căutare.

[2] Convenția Internațională privind Drepturile Civile și Politice (International Covenant on Civil and Political Rights) spune la Articolul 25 (b): "Every citizen shall have the right and the opportunity, without any of the distinctions mentioned in article 2 and without unreasonable restrictions: […] (b) To vote and to be elected at genuine periodic elections which shall be by universal and equal suffrage and shall be held by secret ballot, guaranteeing the free expression of the will of the electors; [...]".

Photo credit: smjbk on Visualhunt / CC BY

Comments

Dragi autori, ati ales o misiune riscanta, anume sa argumentati ca ceva nu se poate face.
Voi lua din articolul vostru numai partea pozitiva a lui, adica listarea problemelor identificate.
Este de fapt singura care ar putea duce la progres.
Am sa va spun cinstit ca unele din problemele identificate m-au pus pe ganduri, dar in mod pozitiv.
Tot cinstit va spun ca pentru o alta parte din ele, pentru ca nu citisem articolul dvs. si atfel eu nu stiam ca nu se pot rezolva, fiind interesat de subiect de mai mult de un an, le-am rezolvat. Am imaginat structuri de date, algoritmi, cazuri concrete de utilizare, am scris cod, am facut verificari, am rescris... concluzia ar fi ca m-am concentrat in directia votului electronic transparent(usor verificabil) dar in acelasi timp secret si trasabil.

Iata cele 3 mari domenii in care am impartit eu problemele la care am lucrat sa le rezolv:

1. nivelul colectiv
- lista votantilor sa fie corecta si protejata la modificari
- rezultatul votului sa fie disponibil la nivel de lista de voturi exprimate astfel incat sa poata oricine calcula rezultatul final
- faptul ca rezultatul votului nu este modificat sa fie verificabil de oricine

2. nivelul individual
- fiecare sa poata vota o singura data
- legatura dinspre votant catre vot sa fie unidirectionala, adica fiecare votant sa poara recupera votul sau din lista voturilor exprimate dar legatura inversa sa nu se poata face
- fiecare dintre cei care nu au votat sa poata verifica faptul ca votul sau nu a fost exprimat

3. domeniul timp
- informatiile stocate sa ofere o metoda prin care terti sa poata verifica oricand mai tarziu faptul ca nu au fost alterate si sa poata sa le foloseasca din nou oricand pentru analize

Dar eu sunt doar un om, cu siguranta ca faptul ca ati scos pe tabla problemele votului electronic, dar mai ales faptul ca le-ati declarat prea greu de rezolvat, va face o intreaga comunitate sa caute si sa gaseasca solutii.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.