Droša elektroniskā balsošana

(12 comments)

Palasot pēdējā laika diskusijas par e-balsošanu cilvēkiem dažreiz nolaižas rokas un liekas, ka labāk aizmirst par e-balsošanu - jo redz nevar būt droši un tāpēc labak to nedarīt vispār. Izmanto pat frāzes kā 'NP complete', lai atbaidītu cilvēkus.

Patiesībā drošā e-balsošana ir iespējama. Tā nav triviāla, bet ar pareizu arhitektūru var sasniegt pietiekoši labu drošības, caurskatāmības un pārbaudāmības līmeni.

Sāksim ar vienkāršu modeli: balsotājs Andris nobalso, balsotāju protokolā parādās, ka balsotājs Andris ir nobalsojis (ekvivalents zīmogam pasē), balsu skaitīšanas protokolā parādās, ka ir atdota +1 balss par sarakstu 13 un, ka balsošanas GUID ir 0xdeadbeef. Pēc balsošanas beigām tiek publicēts balsu skaitīšanas protokols (sajauktā kārtībā) un visi var paši saskaitīt cik balsu katra partija ir ieguvusi un ka viņu balsojums ar GUID 0xdeadbeef ir sarakstā un tātad ir saskaitīts. Salīdzinot balsu skaitu ar nobalsojošo cilvēku skaitu var arī pārliecinaties, ka nav parādījušās 'liekas' balsis un, ka balsis nav dzēstas.

Šāda sistēma ir vienkārša un atrisina 'gandrīz' visas ar balsošanu saistītās problēmas, izņemot vienu - piespiedu balsošanu. Jebkuram risinājumam, kas risinātu piespiedu balsošanu scenārijā, kad balsošana ir iespējama ārpus balsošanas iecirkņa, ir jāļauj balsot vairāk nekā vienu reizi un jāsaskaita tikai pēdējais balsojums. Līdz ar to šādai sistēmai ir jābūt iespējai pierakstīt 'negatīvu' balsi, kas ir identiska tam kā šis cilveks ir nobalsojis iepriekš. Līdz ar to, vismaz tajā laika sprīdī, kamēr ir atvērta balsošanas iespēja, ir jāglabā saikne starp balsotāja identitāti un viņa pēdējo balsojumu. Šo datubāzi var droši dzēst pēc vēlēšanu iecirkņu slēgšanas.

Attiecīgi ar tādu sistēmu vēlētājs, kuram ģimene vai noziedzinieks piespiež balso par 1. sarakstu, var to droši izdarīt un iedot 'ļaundarim' balsošanas identifikātoru 0xeeeeefffff, tas parādīsies balsu skaitīšanas protokolā un ļaundaris būs pārliecināts, ka vēlētājs ir nobalsojis tieši tā, kā 'ļaundaris' pieprasījis. Tācu, ja vēlētājs pēc tam nobalso vēlreiz (par viņam vēlamo 13. sarakstu), tad balsošanas sarakstā parādīsies divi jauni ieraksti: -1 balss 1. sarakstam ar GUID 0x34824932472 un +1 balss 13. sarakstam ar GUID 0x398759293959. Visi GUID būs dažādi, nejauši un pilnīgi neatkarīgi, līdz ar to tos nevar saistīt savā starpā. Cilvēkiem, kas balso iecirknī var iedot izdruku ar viņu balsojuma GUID lai tos būtu vieglāk atcerēties (pa vienai lapiņai uz katru balsojumu, ieskaitot negatīvo), var arī nolikt atkritumu grozus balsošanas kabīnēs, lai cilvēks var nepamanāmi izmest bīstamo īsto balsojumu, vai arī vispār viņu nedrukāt.

Currently unrated

Comments

Ģirts Karnītis 5 years, 5 months ago

Es teiktu absolūti nedroša balsošana.
Pirkārt balsošanas protokols nav matemātiski drošs, jo sistēmas darbības laikā var redzēt, kurš kā balso. Kurš garantēs, ka sistēmā nav kļūdu, nav programmas, kas saglabā datus par to, kā kurš balsojis utt.? Programmas izstrādātāji? Kaut kādi auditori? Domāju, ka LV nav tāda brīnumbērna, kurš šādas sarežģītības sistēmā var garantēt, ka tajā nav ievietots kāds programmatūras vai aparatūras līmeņa spiegs.
Otrkārt, neviens nevar nogarantēt pret motivāciju - ja jau es esmu kādu motivējis balsot tā vai savādāk, es viņu varu pamotivēt līdz vēlēšanu beigām tā, lai viņam nav iespējas pēc tam savu balsi mainīt. Kāpēc liekas, ka es iešu, iedošu piecīti un došo tālāk? Ja tas ir mans darbinieks, tad vēlēšanu dienā viņam būs garā darbdiena līdz brīdim, kamēr beidzas vēlēšanas un viņš būs spiests novēlēt tā, kā es gribēšu, bez tiesībām un iespējas pārbalsot.
Treškārt, tāds muļķīgs jautājums - ja jau tik viegli ir šādu sistēmu izveidot, tad kāpēc ASV veica izpēti un šo projektu nežēlīgi pārtrauca drošības problēmu pēc? Kāpēc Vācijā šādas vēlēšanas nav spēkā, kāpēc Igaunijai jātaisnojas, ka ir problēmas ar drošību? Vai tiešām tur ir tik dumji cilvēki, ka nespēja tik triviālu algoritmu izdomāt?

Link | Reply

atis 5 years, 5 months ago

Problēmu ir pa pilnam - piemēram kā balsošanas kopsavilkumā uzrodas negatīvās balsis, un kā saprast ka tās ir īstas, nevis balošanas sistēmā iestrādātas un automātiski ģenerētas.

Ģirt - par garo darbadienu - Igaunijā tas tiek risināts elektronisko balsošanu izdarot dienu/nedēļu ātrāk kā vēlēšanas.

Es nesaku ka e-balsošanu mums nevajag - es ļoti gribētu lai tā tiktu ieviesta, diemžēl neviena balsošanas sistēma nav 100% droša.

Savukārt ja papīra balsošanas sistēmā lai nozīmīgi ietekmētu rezultātus ir nepieciešami ļoti lieli līdzekļi un piemēram jāuzpērk daudzi cilvēki, tad elektroniskajā balsošanā sistēma ir centralizētāka un līdzekļi sistēmas uzlaušanai vairāk pieejami.

Link | Reply

kzh 5 years, 5 months ago

Piekrītu Ģirta bažām par balsojumu logošanu un sistēmas kļūdām. Pat gadījumā, ja nekādas aizdomīgas darbības nenotiktu, ar vēlēšanu rezultātiem neapmierināti dalībnieki varēs gana veiksmīgi palaist paniku, ka viss ir falsificēts. Vai arī tavuprāt visām partijām būtu tagadējo "vēlēšanu vērotāju" vietā jāalgo koderi, kuri inspicē vēlēšanu softu un atzīst to par godīgu esam?

Link | Reply

aigarius 5 years, 5 months ago

Palaist paniku par falsifikācijām var vienmēr un visur. Panikai faktus nevajag un paniku ar faktiem neapturēsi.

Arī parastajā balsošanā var: sabāzt biļetenus urnās, ar mikrokamerām skatīties kā kurš balso, pieprasīt uzņemt biļetena foto (un ar uzpirktu novērotāju sekot kurš ņemo otru), pārtvert un izmainīt jau saskaitītos rezultātus kad tie ir ceļā uz CVK, ...

Manis piedāvātā sistēma ir drošāka par esošo. Un to var realizēt pietiekoši vienkārši, bez baisajiem miljoniem koda rindu. ASV ir kaudze visādas likumdošanas un tendence visu vienmēr taisīt 100 reizes sarežģītāku nekā vajag un tad kaut kas tajā visā sarežģītajā mehānismā vienmēr nojūk.

Link | Reply

atis 5 years, 5 months ago

Aigarius - mikrokameras, foto, novērotāju uzpirkšana ir papīra balsošanas krāpšanās metodes - ar kurām kā es teicu ir nepieciešami ievērojami līdzekļi lai panāktu rezultāta izmaiņas.

Savukārt ar programmatūru viss ir krietni vienkāršāk - wireshark, keyloggeri, nozagti sertifikāti, trojāņi lietotāju datoros - tas viss ir mūsdienu realitāte kas ir pieejama bez īpašiem ieguldījumiem.

Link | Reply

aigarius 5 years, 5 months ago

Trojānu tīkls ar kuru varētu panākt ievērojamas rezultāta izmaiņas arī ir dārgs prieks. Lai jebko pārtvertu jābūt uz attiecīgās mašīnas, jo citādi traffiks jau ir šifrēts.

Realistiski bāzējoties uz esošajām tehnologijām visu sistēmu (bez UI un tās koda daļas, kas ar e-paraksta veŗķi runā) varētu viegli 4000-5000 koda rindiņās sarakstīt kaut kādā Python+Django tā, lai jebkurš programmētājs to varētu apskatīt un saprast. Pēc iespējas vienkāršāka arhitektūra un kods, lai nav kur kaut ko slēpt. Viss kods servera pusē - klients praktiski triviāls: no servera saņemam balsojuma variantus, izvēlamies vienu, parakstam ar e-parakstu, nosūtam uz serveri, atpakaļ saņemam atskaiti ar GUID. Viss.

Serverī ir statiskais saturs (balsošanas varianti) un 1 funkcija: nobalsot, kas saņem parakstītu balsojumu, pārbauda parakstu, uzzina balsotāja identitāti no paraksta, ieraksta protokolos attiecīgos ierakstus un atgriež balsotājam GUID. Protokoli ir vienkārši teksta faili: 1 rindiņa = 1 ieraksts. Balsotāju iepriekšējo izvēļu reģists ir īslaicīgas glabāšanas datubāze, iespējams, vienkārši dictionary iekš RAM. Ja balsošanas laikā serveris nobrūk un mēs tos datus pazaudējam, tad sistēma vienkārši aizliegs atkārtoti balsot tiem, kas jau ir nobalsojuši (jau ir balsotāju protokolā). Viss.

Link | Reply

lul 5 years, 5 months ago

āzis par dārznieku

Link | Reply

Ģirts Karnītis 5 years, 5 months ago

2. kursa studenta kvalifikācijas darbs - uzrakstīt iepriekšminēto funkcionalitāti ar papildus fīču - info kas par ko balsoja nosūtīt uz adresi x.
Bakalaura darbs - uzrakstīt skriptu, kas pirms balsošanas sākuma ielādē modificēto studenta rakstīto programmiņu un pēc balsošanas beigām izdzēš visas pēdas un atstājar "tīru" funkciju.
Abi darbi pēc grūtības pakāpes vairāk kā uz 7 nevelk.

Link | Reply

aigarius 5 years, 5 months ago

Ģirts - pēc tāda paša principa var nomainīt konsolidētos balsošanas rezultātus uz CVK servera. Pašlaik esošajā balsošanas sistēmā. Tur pat uz 4 nevelk.

Link | Reply

Ģirts Karnītis 5 years, 5 months ago

Paralēli ir protokola papīra kopijas vēlēšanu iecirkņos un n-tie liecinieki iecirkņos no dažādām partijām. Tos visus nomainīt būs grūti. E-vēlēšanās nekā tāda nav.

Link | Reply

Aleksejs 5 years, 4 months ago

Ar prieku uzzinātu, par kuru tieši vēlēšanu sistēmu runā Ģirts (nu to NP-pilno), vai varētu uz aprakstiņu norādi?

Literatūras saraksts:
Open Vote Network - http://sites.google.com/site/haofeng662/OpenVote_final.pdf?attredirects=0
Covert channel vulnerabilities in anonymity systems - http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-706.html
Electoral Commission releases e-voting and e-counting reports - http://www.lightbluetouchpaper.org/2007/08/02/electoral-commission-releases-e-voting-and-e-counting-reports/
The role of software engineering in electronic elections - http://www.lightbluetouchpaper.org/2007/07/13/the-role-of-software-engineering-in-electronic-elections/
“No confidence” in eVoting pilots - http://www.lightbluetouchpaper.org/2007/06/20/no-confidence-in-evoting-pilots/
We don't trust voting computers - http://events.ccc.de/congress/2006/Fahrplan/events/1423.en.html
Canadian New Democratic Party's e-voting system attacked - http://www.h-online.com/security/news/item/Canadian-New-Democratic-Party-s-e-voting-system-attacked-1497287.html
US e-voting system cracked in less than 48 hours - http://www.h-online.com/security/news/item/US-e-voting-system-cracked-in-less-than-48-hours-1463881.html
Diebold e-voting systems vulnerable to attack - http://www.h-online.com/security/news/item/Diebold-e-voting-systems-vulnerable-to-attack-1352743.html
Hacking at Random: CCC demonstrates TEMPEST measurement of voting machines - http://www.h-online.com/security/news/item/Hacking-at-Random-CCC-demonstrates-TEMPEST-measurement-of-voting-machines-742969.html
Free software and transparency are not enough - http://www.h-online.com/open/features/Electronic-voting-Free-software-and-transparency-are-not-enough-746573.html

Link | Reply

cuu508 5 years, 4 months ago

Ģirts: Math is hard, let's go shopping? :-)

Man ir sajūta, ka aizklāta balsošana un drošība ir konfliktējošas prasības, gan tradicionālās, gan elektroniskās vēlēšanās. Vai nu katrs redz, par ko katrs cits balsojis, vai arī vienmēr kādam paliks šaubas, ka kaut kur ir bijusi šmaukšanās.

Ja vēlēšanas būtu ne-aizklātas, vēlēšanu sistēma kļūtu par vienkārši datu savākšanu un apkopošanu.

"aizklāta balsošana" un "demokrātija" man kaut kā nelīmējas kopā. Kas tā par demokrātiju, kad tev piespiež par kaut ko vēlēt, un savu patieso balsi kaut kā paslepus jāiesniedz? Tehniski triki vēlēšanās (anonīmi protokoli, papīrgrozi liekajiem biļeteniem utt.) nešķiet pareizais līdzeklis, kā tikt galā ar iluzoru demokrātiju.

Link | Reply

New Comment

required

required (not published)

optional

Recent Posts

Archive

2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005

Categories

Authors

Feeds

RSS / Atom