Back        Prossimo "Mancante"

Scrutinio elettronico, e il codice sorgente?

13 April 2006

Prosegue il dibattito sulla sperimentazione dello scrutinio elettronico dei giorni scorsi. C'è chi si chiede come, in assenza del codice sorgente, sia possibile affidarsi completamente al software utilizzato.

Roma - Con questa e-mail vorrei rispondere alla lettera di Giovanni L. Scrutinio elettronico, non solo critiche, pubblicata su Punto Informatico. Vorrei precisare che quanto affermato da Giovanni L. nella sua lettera non è sufficiente a dimostrare che il sistema di votazione elettronica funziona a dovere, ma la questione deve essere opportunamente approfondita dal punto di vista tecnico.

Quello che voglio mettere in evidenza è la modalità con la quale vengono registrate e trasmesse le informazioni in forma elettronica. Il sistema di votazione elettronica è descritto soltanto dal punto di vista dell’operatore, ovvero descrive ciò che si vede, non quello che accade veramente, ovvero le effettive operazioni che fa il software sui dati inseriti. Capisco che per parlare di questo è necessario entrare in un campo più tecnico di quanto descritto nell’articolo, ma è bene mettere al corrente anche i non esperti in informatica di quali insidie possono nascondersi dietro a qualunque operazione informatizzata. Il fatto è che in questo caso si utilizza un software per recepire e memorizzare una cosa molto delicata: l’espressione politica dei singoli cittadini italiani.

In due parole il problema di fondo è che non si può determinare il funzionamento di un software soltanto da quello che viene mostrato all’operatore. Per sapere con esattezza come esso elabori i dati inseriti, è necessario avere a disposizione l’elenco delle operazioni che lo costituiscono, ovvero, in termini tecnici, il relativo codice sorgente.

Il software infatti è realizzato dai programmatori che scrivono il codice sorgente, ovvero le istruzioni che indicano al software quali sono le operazioni che deve compiere. Quindi è necessario poter verificare di quali operazioni si tratta. E qui devono intervenire necessariamente gli esperti informatici per garantire che le istruzioni facciano effettivamente quello che ci si aspetta dal programma. Inoltre è necessario che si abbia la possibilità di verificare che il software in questione sia proprio quello relativo al codice sorgente fornito (avendo la possibilità di lanciare in esecuzione proprio il software che esegue effettivamente tale codice sorgente).

Pertanto è necessario che il software sia vagliato da esaminatori esperti in informatica e ritenuti affidabili, che possano garantire che il suo funzionamento sia effettivamente quello dichiarato e quindi coerente con quello che appare all’operatore. Da questo punto di vista potrebbe essere sicuramente molto interessante l’utilizzo di software libero (scelta che, per quanto riportato da Giovanni L., è stata fatta per quanto riguarda il sistema operativo).

Senza questa verifica, non è possibile sapere quale sia il funzionamento di un software. Ad esempio, un word processor potrebbe permettere di scrivere sullo schermo quello che l’operatore desidera, ma quando salva i dati sul disco potrebbe creare un file contenente non solo quello che ha scritto l’operatore, ma anche altre informazioni che riesce a reperire dal sistema (senza avvisare di questo né l’amministratore del sistema né tantomeno l’operatore stesso) che magari potrebbero essere utilizzate in chissà quale modo da chi riesce a venirne in possesso.

Dunque, nel caso di sistema di votazione elettronica, la verifica del software dovrebbe garantirci che i dati raccolti con le espressioni politiche dei singoli cittadini siano effettivamente quelli memorizzati nel file di output di tale software.

Inoltre bisogna anche verificare come le informazioni raccolte vengano trasmesse ad altri computer, sui quali girerà un altro software per la raccolta centralizzata delle informazioni. Anche per il software che gira sui computer che fungono da centro di raccolta dei dati vale quanto detto in precedenza. Inoltre le informazioni che vengono trasferite tramite collegamento wireless potrebbero essere catturate e/o alterate durante il loro percorso da malintenzionati che si sono “intrufolati” nella rete. Pertanto, per la trasmissione dei dati sarebbe opportuno utilizzare un canale di trasmissione sicuro (VPN ad esempio) oppure un sistema di cifratura delle informazioni che renda sicura la trasmissione dei dati su un canale insicuro (sistemi di crittografia a chiave asimmetrica).

Lavoro nel settore ICT e so che rendere sicuro un processo non è una cosa banale, ma spero che quanto ho riportato possa servire da riflessione anche per i non addetti ai lavori, sui sistemi di elaborazione automatica dei dati ed in particolare su quelli che devono essere utilizzati in ambiti in cui i dati da elaborare debbano essere trattati con la massima trasparenza e sicurezza.

Cordiali saluti,
Daniele M.

Questo post tratto da: P.I.: Scrutinio elettronico, e il codice sorgente?

Back        Prossimo "Mancante"