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.
|