ClearVoting impedisce errori e brogli elettorali

translate into english


prototipo

ClearVoting impedisce errori e brogli elettorali



l'idea (riassunto)

Il software di voto è distribuito insieme ad un sistema operativo Linux il quale viene installato da zero all'inizio del voto. I media ClearVoting bootstrappabili ed auto-installanti sono prodotti sotto l'attento controllo di una commissione parlamentare tecnica bipartisan seguendo le specifiche di ClearSoftware. Per impedire manipolazioni il software è distribuito mediante media ottici non modificabili (Read-Only).

ClearVoting è ovviamente testato a fondo dalla commissione bipartisan prima di essere distribuito ai seggi. Dato che i seggi non sono collegati ad alcuna rete, e quindi durante il voto non possono essere soggetti a virus, trojan o hacker, non c'è possibilità che le distribuzioni ClearVoting abbiano problemi durante lo svolgimento delle elezioni.

Il software applicativo di ClearVoting (applicazioni di voto e di gestione) è molto "leggero" dato che le suddette applicazioni sono scritte in PHP che è un linguaggio ad alto livello che, tra l'altro, si prende cura di tutto l'I/O (letture e scritture). Grazie a ciò i sorgenti delle applicazioni non devono contenere quei noiosi e lunghissimi blocchi di codice che eseguono le letture/scritture da/a file/touchscreen.
Avere codici di dimensioni ridotte è essenziale perchè essi possono essere facilmente studiati e controllati e ciò rende altamente improbabile che pezzi di codice "maligni" eventuialmente presenti non siano scoperti.

Quando, subito dopo essere stato installato, il sistema riparte sotto Linux, in ciascun chiosco viene lanciata l'esecuzione automatica di un browser web (Firefox, Mozilla, Opera ...) avente un aspetto semplificato e cioè mancante di tutti i bottoni ("new window", "exit", "back"...) e le barre non necessari. Il browser non può essere mosso, iconizzato, chiuso (ricorda che i chioschi non hanno ne mouse ne tastiera) e quindi rimane li fermo dall'accensione dell chiosco fino alla fine delle votazioni. Il browser visualizza la pagina iniziale della applicazione richiesta (quella di gestione sui chioschi di gestione e quella di voto su quelli di voto).

Gli elettori ed i membri sel seggio interagiscono con le rispettive applicazioni "navigando" normalmente tra le pagine a loro disposizione toccandone i link (tag html <a>) sul touchscreen.

Ciascun browser web è servito da un server web in esecuzione sullo stesso chiosco.

Le applicazioni di voto raramente hanno necessità di contattare l'applicazione di gestione in esecuzione nel chiosco di gestione. Le applicazioni di gestione invece hanno necessità di contattare le applicazioni di voto in esecuzione nei chioschi di voto ogni qualvolta un nuovo elettore deve votare (proprio per abilitare il chiosco di voto ad accettare un voto). Tutte queste comunicazioni usano l'unica rete esistente, la (non wireless) LAN che connette il chiosco di gestione con i suoi chioschi di voto (tutti all'interno dello stesso seggio). A parte le suddette comunicazioni non ne avvengono mai altre.

Dei contatori tengono il conto dei voti man mano ricevuti da ciascun candidato nel chiosco. Sono dei semplici numeri che vengono incrementati di una unità ogni volta che il candidato riceve un voto.

il prototipo

Come prototicpo ho scritto dei piccoli programmi in PHP che simulano la procedura di voto utilizzata dagli elettori.

Probabilmente il vostro schermo ora non è un touchscreen, quindi devi cliccarci sopra col mouse per navigare. In una vera elezione ClearVoting dovresti utilizzare le dita di una mano perchè ogni chiosco ha uno schermo touchscreen sul quale è in esecuzione un browser che, a sua volta "parla" con il web server in esecuzione sul chiosco stesso.

In un applicazione vera il browser (Firefox, Mozilla, Opera ...) avrebbe un aspetto semplificato e cioè mancante di tutti i bottoni ("new window", "exit", "back"...) e le barre non necessari. Il browser non potrebbe essere mosso, iconizzato, chiuso (ricorda che i chioschi non hanno ne mouse ne tastiera) e quindi rimarrebbe li fermo dall'accensione del chiosco fino alla fine delle votazioni.

esegui il prototipo di voto (in una nuova finestra)

Il prototipo è costituito dai seguenti piccoli programmi PHP:

Come si vede i programmi sono di poche istruzioni. Un applicazione di voto reale necessiterebbe di più programmi ed istruzioni, ma in igni caso le dimensioni totali del software sarebbero sufficentemente piccole da poter essere controllate e verificate da una singola persona.

Tra tutti i programmi i brogli potrebbero avvenire solo nel paio le istruzioni che modificano i contatori dei voti (programma vote_count.php). Qualunque altra modifica illecita verrebbe scoperta dagli elettori (che si troverebbero schede riportanti il candidato errato).

Per evitare che l'interprete PHP distribuito con il Linux (scaricato da Internet) sia artatamente modificato, la commissione bipartisan può scaricarsi il sorgente del PHP, verificarlo, compilarlo ed includere nella distribuzione di ClearVoting il nuovo interprete PHP al posto di quello originale.



ClearVoting impedisce errori e brogli elettorali




Questa pagina segue le regole W3C WCAG P3 ma l' accessibilità è un argomento molto vasto: fammi sapere ogni problema di accessibilità che riscontri
Questa pagina è scritta in XHTML 1.0    Questa pagina usa CSS validati    Dublin Core Metadata Initiative