Pagina pubblicata tra il 1995 e il 2013
Le informazioni potrebbero non essere più valide
Documenti e testi normativi non sono aggiornati

Attualità

Scrutini, sicurezze e specchietti (per le allodole)

di Corrado Giustozzi – 04.12.06

 

La questione tecnica sulla possibilità o la plausibilità (sono due cose diverse!) di brogli nel caso di elezioni effettuate mediante strumenti elettronici è troppo ampia perché la si possa affrontare in modo generale in poche righe: troppo dipende dallo specifico contesto in cui si opera, dalle strategie che si intende perseguire, dalle tecnologie che si intende adottare, e da moltissimi altri fattori di contorno.
È tuttavia possibile fare un po’ di chiarezza sul problema, che come viene generalmente formulato è troppo vago per ammettere risposte significative. Con l’occasione potremo anche commentare le modalità che il Governo italiano ha scelto per svolgere la sua tanto sbandierata (ma poi stranamente insabbiata!) sperimentazione abbinata alle ultime elezioni.

Iniziamo subito col… rivelare le conclusioni. Purtroppo in ogni sistema “chiuso”, ossia gestito da un singolo soggetto in modo non totalmente trasparente, i pericoli di brogli sono ovviamente sempre possibili se non si può escludere a priori la mala fede del soggetto in questione. In altre parole: il gestore di un qualsiasi sistema può sempre imbrogliare, e può farlo molto più facilmente rispetto a quanto possa fare un terzo esterno. Ciò è vero a prescindere dal tipo di strumenti utilizzati, ma è tanto più vero quanto più la gestione del processo avviene con strumenti automatici: nel caso del voto, ad esempio, falsificare migliaia o milioni di schede cartacee è intrinsecamente complesso e difficile, mentre falsificare milioni o miliardi di byte potrebbe anche essere facilissimo in mancanza di adeguate e convincenti misure di garanzia e trasparenza.

E proprio questo sarà il punto del discorso: quali misure di sicurezza sono necessarie per assicurare la correttezza del voto? Come devono essere implementate, e da chi? Ma soprattutto: cosa deve in realtà essere garantito? Un conto infatti è realizzare un sistema che impedisca i brogli, ed un altro è realizzare un sistema per cui ci si possa accorgere se ci sono stati brogli: le due cose non vanno necessariamente di pari passo, e la decisione di quale alternativa adottare è una di quelle scelte strategiche che citavamo all’inizio.

Voto o scrutinio?

Ma vediamo innanzitutto di puntualizzare i termini della questione. Quando si parla di “voto elettronico” in realtà ci si riferisce a due possibili situazioni, assai differenti sia per filosofia che per impatto sulle operazioni elettorali. Quella più radicale consiste nell’automatizzare completamente l’operazione di voto, la quale avviene dunque senza più il tramite delle schede cartacee; quella più conservatrice consiste nell’automatizzare la sola fase di scrutinio e conteggio dei voti, i quali continuano ad essere espressi mediante il ricorso alle tradizionali schede cartacee.

La prima alternativa, è ovvio, non solo comporta un profondo mutamento nelle modalità di voto, ma soprattutto richiede una grande fiducia nella correttezza dell’infrastruttura tecnologica che riceve e conteggia le preferenze: in mancanza di un riscontro oggettivo e verificabile, quale appunto la scheda cartacea, il sistema di conteggio deve infatti offrire straordinarie garanzie di sicurezza per convincere l’elettore che il suo voto sia stato regolarmente conteggiato, sia stato correttamente attribuito alla lista desiderata, e sia rimasto nel contempo anonimo e non riferibile in alcun modo al soggetto votante. In generale il problema del voto elettronico in questa accezione è di difficilissima soluzione, nel senso che ogni sistema sinora costruito o non fornisce in modo intrinseco e verificabile tutte le garanzie necessarie, o risulta troppo costoso, o… entrambe le cose contemporaneamente.

Le schede cartacee hanno il vantaggio di essere intrinsecamente anonime e di costituire una garanzia oggettiva dell’espressione del voto, per cui in caso di contestazioni è sempre possibile procedere ad un nuovo conteggio delle schede raccolte; non così gli strumenti elettronici di voto. La soluzione a questi problemi è di solito fornita in modo assiomatico: l’entità che gestisce la votazione (Governo o altro) garantisce “sul suo onore” della correttezza dei sistemi e dell’affidabilità dei processi di voto e conteggio, ma senza poter effettivamente portare evidenze oggettive a sostegno delle sue affermazioni.

Il voto in questa situazione diventa più o meno come il gioco al casinò: se il potenziale giocatore si fida della correttezza e buona fede del gestore, allora giocherà con tranquillità; se invece ha motivo di dubitare dell’affidabilità del gestore (che, per quanto detto, è l’unico che può barare facendola franca), la sua unica alternativa è scegliere di non giocare. Una situazione accettabile in determinati contesti ma non in altri, e che comunque lascia un po’ l’amaro in bocca anche quando ragionevolmente non si ha motivo di dubitare della serietà del gestore.

Per tali motivi diverse nazioni hanno optato per la seconda alternativa, più “morbida”. Essa consiste nell’automatizzare le sole operazioni di scrutinio, continuando tuttavia ad effettuare l’operazione di voto in modo tradizionale: si parla così più propriamente di “scrutinio elettronico” e non di “voto elettronico”. Così facendo si ottengono numerosi vantaggi pratici (contenimento dei costi, riduzione dei tempi, minimizzazione degli errori materiali nel conteggio e nella trasmissione dei risultati) senza tuttavia minare l’affidabilità dell’operazione di voto, la cui verificabilità ed anonimità continuano ad essere garantite dall’utilizzo delle schede cartacee: queste infatti consentono, in caso di dubbi o contestazioni, di verificare a posteriori l’attendibilità delle operazioni di scrutinio rivelando così eventuali errori o manomissioni nei conteggi. La sperimentazione effettuata dall’Italia durante le ultime elezioni è stata proprio di questo tipo.

Naturalmente un’eventuale operazione di riconto delle schede in seguito a contestazioni è onerosa, quindi va fatto di tutto per evitarla: da qui discende la necessità di adottare apposite misure tecnologiche preventive, finalizzate a rendere il sistema di scrutinio elettronico quanto più sicuro possibile contro i rischi di errori o manomissioni, sia intenzionali che accidentali, nella raccolta e nella trasmissione dei conteggi. Il problema naturalmente sussiste anche nello scrutinio manuale, ma in misura molto minore: il rischio di manomissioni intenzionali è infatti pressoché scongiurato dalla grande ed intrinseca trasparenza con la quale avviene l’operazione, che coinvolge diverse persone (scrutatori, presidente di seggio) le quali di fatto si controllano a vicenda. Nel caso dello scrutinio elettronico la trasparenza invece c’è solo fino a un certo punto, ossia sino a quando i conteggi (palesi) non vengono memorizzati su un supporto informatico per essere poi trasmessi all’organo centrale responsabile dell’aggregazione dei risultati di seggio e della divulgazione dei totali complessivi: lo strumento informatico, infatti, per sua stessa natura impedisce un controllo diretto sui dati memorizzati, i quali sono consultabili solo attraverso l’intermediazione dello strumento stesso e non più mediante verifica diretta.

È dunque perfettamente lecito temere che il software utilizzato per lo scrutinio al seggio possa essere “taroccato” a fini di broglio: esso potrebbe mostrare sullo schermo i conteggi reali producendo però nel contempo file contenenti valori non rispondenti al vero. Questa irregolarità del software potrebbe essere stata introdotta “a posteriori” nel sistema da terzi esterni, anche se con molte difficoltà di tipo tecnico e logistico; ma potrebbe essere stata prevista “a priori” dal produttore stesso, con ben maggiore facilità e rischio assai minore di essere scoperti. Naturalmente è anche possibile pensare ad attacchi rivolti ai supporti di memorizzazione o alla trasmissione dei dati verso il centro di raccolta, mirati ad alterare i conteggi inviati. Ed infine, ma non c’è neppure bisogno di dirlo, si potrebbe pensare alla mala fede del centro stesso, il quale potrebbe ricevere conteggi corretti ma produrre totali “aggiustati” alla bisogna.

Un sistema di scrutinio realmente sicuro dovrebbe proteggere i conteggi da indebite manomissioni in ogni fase della loro esistenza, ma soprattutto fornire adeguate garanzie di trasparenza delle operazioni e verificabilità dei risultati in ogni momento.

L’esperimento italiano

Vediamo dunque brevemente quali misure sono state previste dalla sperimentazione italiana, e se esse risultano realmente efficaci ai fini ora menzionati.
Cominciamo col descrivere brevemente l’architettura del “seggio elettronico”, per quanto ci è dato sapere dalle lacunose descrizioni che ne hanno fatte le fonti ufficiali. Ogni sezione è dotata di un apposito computer locale, basato su una piattaforma standard di tipo COTS (ossia commerciale) e dotato di uno speciale software di scrutinio; tale computer non è connesso in rete ed è privo di memorie di massa removibili. Durante le operazioni di conteggio delle schede, che vengono effettuate rigorosamente a mano, un operatore riporta sul computer le attribuzioni delle schede via via scrutinate: sullo schermo sono infatti presenti tutti i simboli ammessi all’elezione, e per attribuire il voto ad uno schieramento l’operatore non fa altro che cliccare col mouse sul relativo simbolo.

Ad ogni voto conteggiato il sistema fornisce sullo schermo i totali attuali (numero di schede scrutinate, valide, bianche, nulle; conteggi parziali dei vari schieramenti) e provvede inoltre a registrare su un apposito “pen-drive” USB una transazione cifrata contenente l’esito della scheda scrutinata. Alla fine delle operazioni il computer di sezione provvede a stampare i risultati complessivi dello spoglio, che devono quadrare con i verbali prodotti manualmente dagli scrutatori, e “libera” il pen-drive. Questo viene quindi portato a mano da un apposito incaricato ad uno speciale computer detto “plesso”, che può essere localizzato nel seggio oppure in altra località, da dove i suoi contenuti vengono trasmessi telematicamente al centro di raccolta dati posto presso il Viminale.

Vediamo quindi brevemente le principali misure di sicurezza impiegate dal sistema. I computer utilizzati per tutte le operazioni sono stati forniti direttamente dal Viminale, col software di scrutinio già preinstallato; questo è stato definito “open source”, anche se non risulta che i suoi sorgenti siano mai stati effettivamente resi noti al pubblico: più verosimilmente con quest’accezione si è voluto semplicemente (ed erroneamente) indicare che essi sarebbero stati eventualmente consultabili da terze parti in caso di effettiva necessità. Anche i pen-drive sono stati forniti dal Viminale, appositamente “inizializzati” (non si sa però in che modo) al fine di evitare la possibilità di una loro indebita sostituzione nel corso delle operazioni. Le transazioni che rappresentano gli esiti delle singole schede non erano altro che record binari i quali, man mano che venivano generati, erano accodati ad un normale file memorizzato sul pen-drive: ogni record era individualmente cifrato mediante l’algoritmo standard AES con chiave segreta a 256 bit.

Passiamo infine a commentare l’effettiva valenza di ciascuna di queste misure nei confronti delle possibili minacce ipotizzabili per l’occasione.
In primo luogo occorre sottolineare con forza che non basta semplicemente autodefinire “open source” un software per renderlo automaticamente credibile e sicuro, né tantomeno per garantire adeguatamente la sua correttezza e la trasparenza delle operazioni da esso svolte. Tanto per cominciare il software del Viminale non era realmente “open source” perché i suoi sorgenti non sono mai stati pubblicati: la sua effettiva funzionalità resta dunque dubbia in quanto nessun analista indipendente ha potuto realmente verificarla a proprio piacimento. Ad ogni modo ciò è addirittura irrilevante alla luce del fatto che i computer di sezione giungevano già configurati e pronti all’uso, e non risulta fosse prevista alcuna modalità per verificare l’autenticità e l’integrità del software preinstallato a bordo del sistema.

Sarebbe bastato un semplice meccanismo di firma digitale dell’eseguibile (ma anche solo un hash sicuro) per fornire sufficienti garanzie in merito, oltretutto con possibilità di verifica indipendente da parte di chiunque. Sostenere, come ha fatto all’epoca il Viminale, che “le operazioni di scrutino sono trasparenti perché il software che le implementa è open source” appare dunque impreciso e fuorviante: uno specchietto per le allodole.

Il vero problema sta comunque nell’uso concettualmente improprio e sostanzialmente sbagliato della crittografia nell’ambito del sistema: così com’è applicata, infatti, essa fornisce ai dati sui pen-drive una protezione solo apparente, ma non sostanziale; di fatto essa non solo non aumenta affatto la sicurezza del sistema, ma anzi finisce addirittura per ostacolare le legittime esigenze di trasparenza delle operazioni e di verifica a posteriori della correttezza ed integrità dei dati memorizzati. Vediamo brevemente perché, entrando per un momento nella questione con un maggior dettaglio tecnico.

La crittografia, come si sa, assicura all’informazione la sola proprietà della riservatezza: ossia assicura semplicemente che essa possa essere conosciuta solo da chi ha diritto di farlo. Un dato cifrato risulta infatti inintelligibile a chi non conosce la chiave segreta con cui è stato codificato, e ciò consente di limitarne la diffusione alla sola cerchia dei corrispondenti autorizzati. I dilettanti e gli inesperti ritengono tuttavia che dalla riservatezza discenda automaticamente anche la proprietà dell’integrità, che consiste invece nell’assicurare che una data informazione possa essere modificata solo da chi ha diritto di farlo. Il ragionamento implicito a supporto di tale errata convinzione è che se un terzo non autorizzato non è in grado di mettere in chiaro un dato cifrato, non potrà neppure falsificarlo o modificarlo ad arte.

Questo però non è affatto vero, come si vede con semplici controesempi: ad esempio non c’è affatto bisogno di decifrare preventivamente un dato cifrato per poterlo cancellare o distruggere, e neppure per modificarlo; certo, il significato assunto da un dato incomprensibile dopo una modifica del genere potrebbe essere assurdo, ma se l’obiettivo di tale azione è quello di rendere inservibili le informazione cifrate esso può facilmente essere raggiunto nonostante l’uso della crittografia.

Ora, tornando al problema dell’acquisizione dei voti, basta un attimo per convincersi che la proprietà fondamentale che si richiede ai dati di conteggio provenienti da uno scrutinio è proprio l’integrità, non la riservatezza. È infatti assolutamente necessario essere certi che i conteggi non siano stati alterati surrettiziamente dopo la loro acquisizione pubblica, e che siano giunti al centro di raccolta in modo esatto e completo; viceversa non è affatto necessario che i dati siano mantenuti segreti, dato che comunque l’operazione di spoglio da cui sono stati ricavati è per definizione avvenuta in maniera pubblica. Anzi, la segretezza dei dati di scrutinio è addirittura controproducente in quanto impedisce la possibilità di verificare cosa è stato effettivamente acquisito e trasmesso, eliminando così dal processo di acquisizione e trasmissione proprio quella trasparenza necessaria ad assicurare sull’assenza di brogli!

Nel processo di scrutinio elettronico sperimentato lo scorso aprile i dati di scrutinio memorizzati sui pen-drive erano, come detto, cifrati: e questa misura, secondo il Viminale, serviva a garantire dell’esattezza dei conteggi. Ciò è dunque doppiamente sbagliato: in primo luogo perché la crittografia non è lo strumento adatto ad ottenere il risultato desiderato (si vuole integrità mentre si ottiene segretezza), in secondo luogo perché il risultato che si ottiene è controproducente (la segretezza del processo lo rende non trasparente e dunque a rischio di brogli).

Lo strumento che si sarebbe dovuto adoperare è invece quello della firma digitale che, nonostante le esternazioni del ministro Amato, è l’unico in grado di garantire integrità e provenienza dei dati, salvaguardandone nel contempo anche la trasparenza. Ancora una volta, sbandierare che “le operazioni di scrutinio sono sicure perché i dati sono cifrati con AES a 128 bit”, come ha fatto a suo tempo il Viminale, è errato e fuorviante. Anche perché, come vedremo tra un attimo, le cose stanno in realtà ancora peggio di come sembrano.

Salvare capra e cavoli

In effetti un modo c’è per salvare capra e cavoli, o se preferite per prendere due piccioni con una fava: volendo usare per forza la crittografia (cosa comunque non auspicabile, ma tant’è…) è infatti possibile adottare particolari accorgimenti per assicurare ai dati cifrati anche l’integrità, oltre che la segretezza. Ciò però nel sistema adottato dal Viminale non sembra essere stato fatto: anzi, dalle informazioni che sono state rese disponibili sembra che la crittografia sia stata usata in modo talmente maldestro da consentire addirittura facili brogli da parte di chiunque possa avere avuto accesso fisico ai pen-drive, ad esempio il “corriere fidato” che li trasportava materialmente dalla sezione al plesso!

Cerchiamo di capire meglio il problema, descrivendo una situazione semplificata, ma non lontana dal vero. Nelle specifiche tecniche del Viminale si richiedeva che ogni “transazione” (ossia il risultato di ciascuna scheda) costituisse un record a sé stante, il quale doveva essere scritto immediatamente sul pen-drive e pertanto cifrato singolarmente. Ogni transazione veniva dunque cifrata in modo indipendente dalle altre, ma usando ogni volta la medesima chiave, come è ovvio. Supponiamo allora che la transazione, ai minimi termini, contenga semplicemente il codice identificativo assegnato univocamente a ciascuno dei soggetti in lizza. Ipotizziamo anche, per fissare le idee, che gli schieramenti siano cinque, numerati da 1 a 5, e proviamo a simulare i primi passi di un ipotetico scrutinio.

Viene scrutinata la prima scheda, che assegna il voto allo schieramento 1: l’operatore clicca sul corrispondente simbolo, il software genera una transazione che contiene il valore 1, la cifra e la accoda al file; mettiamo che la transazione così cifrata assuma il valore cifrato A37B12, che è dunque quanto viene scritto sul pen-drive. Passa la seconda scheda, che si riferisce allo schieramento 2: viene generata la transazione, ed il relativo valore cifrato (supponiamo sia X3A7K9) viene accodato al file. Passa la terza scheda, che si riferisce di nuovo allo schieramento 1: la transazione generata è dunque ancora A37B12, valore che viene accodato al file. E così via. Ora si vede chiaramente che, essendo le singole transazioni cifrate in modo indipendente l’una dall’altra, c’è perfetta corrispondenza biunivoca tra i codici degli schieramenti e i valori cifrati che li rappresentano. In altre parole, il file risultante non è incomprensibile come si credeva: i conteggi sono perfettamente intellegibili, solo che gli schieramenti si chiamano A37B12, X3A7K9, … anziché 1, 2, …; quindi la sua protezione crittografica è solo apparente e non sostanziale

Basta infatti un semplice search&replace sul file al termine dello scrutinio per trasformare tutti gli A37B12 in X3A7K9, trasferendo così in un colpo solo i voti di uno schieramento (o delle schede bianche…) ad un altro. Non solo: è anche possibile far scomparire dal file tutti i record di un certo tipo, oppure inserire nuovi record identici a quelli di un certo tipo, senza violare la protezione crittografica. L’unico modo di accorgersi della manipolazione è ricontrollare i conteggi confrontandoli con quelli manuali. La crittografia, come si vede, non aiuta affatto a prevenire questi problemi: tutto ciò che fa è fornire un falso senso di sicurezza.

Questo problema, noto da tempo immemorabile ai crittologi professionisti, deriva dalla ingenua modalità di applicazione della protezione crittografica consistente nel cifrare ogni record in modo indipendente dagli altri: tecnicamente essa si chiama ECB (Electronic Code Book), ed è sconsigliata in quasi tutte le situazioni di interesse pratico perché, appunto, consente facili manipolazioni sui dati cifrati. Esistono modalità di applicazione più complesse che evitano questo problema: esse consistono essenzialmente nell’introduzione di un meccanismo di feedback nel processo crittografico, facendo sì che il risultato della cifratura di un nuovo record dipenda in qualche maniera da quello del record precedente.

Ad esempio si può dapprima combinare ciascun nuovo record con il risultato della cifratura del record precedente e cifrare quindi tale combinazione: questa modalità si chiama CBC (Cipher Block Chaining) e, per quanto semplice, è assai efficace; esistono comunque diverse altre varianti sul tema, dotate ciascuna dei propri pro e contro. Un accorgimento come questo consente di ottenere due importanti vantaggi: il primo è che nel file risultante i record sono tutti diversi uno dall’altro, e dunque un eventuale attaccante non è più in grado di modificare selettivamente solo quelli di un certo tipo perché adesso non li può più riconoscere; il secondo è che i record nel file dipendono adesso così strettamente l’uno dall’altro che ad un eventuale attaccante non è più possibile sopprimerne alcuni o introdurne di fittizi, perché altrimenti da un certo punto in poi la legittima decifrazione non risulterebbe più possibile e ciò evidenzierebbe immediatamente l’inganno. Morale della favola: è possibile ottenere integrità dei dati anche utilizzando la crittografia, ma bisogna saperlo fare!

Tornando al tema iniziale, è ora di giungere alle conclusioni. Come abbiamo visto, costruire un sistema di scrutinio elettronico affidabile e sicuro è certamente possibile, a patto di affidarne il progetto ad esperti della materia: altrimenti si corre il rischio di scivolare su insidiose bucce di banana realizzando sistemi solo apparentemente sicuri, ma in realtà perfettamente vulnerabili, vanificando nel contempo investimenti milionari. L’importante è avere le idee chiare, e adoperare le tecnologie realmente adatte allo scopo e non solo quelle che “vanno di moda” tanto per fare bella figura. Un sistema di scrutinio elettronico ben realizzato è sicuro almeno quanto il suo equivalente manuale (ma tipicamente lo è di più) e risulta enormemente più efficace ed economico. Assai più difficile è realizzare un sistema di voto elettronico, perché i problemi della trasparenza e dell’anonimità del voto sono ancora sostanzialmente lontani dall’essere risolti in modo efficace.

In ogni caso un punto deve essere chiaro: tanto più un sistema è complesso e mediato dalla tecnologia, tanto più il gestore ha spazio di manovra per eventuali illeciti: è dunque soprattutto nei sistemi di scrutinio elettronico che devono essere presenti meccanismi di chiarezza e trasparenza (ad esempio mediante verifiche indipendenti e controlli a doppio cieco) che assicurino tutti i partecipanti della buona fede del gestore e della correttezza del processo. La democrazia elettronica non può fare a meno di un controllo sociale forte e pervasivo sull’operato di chi gestisce la cosa pubblica. La crittografia forte va lasciata ai militari, che hanno realmente segreti da nascondere: lo Stato, soprattutto in materia di elezioni, deve invece agire sempre nel principio di massima trasparenza.

 

Inizio pagina  Indice della sezione  Prima pagina © InterLex 2006 Informazioni sul copyright