Programma di community Panoramica dei punti principali
Nel 2019 la Posta ha pubblicato il codice sorgente di una versione precedente del proprio sistema di voto elettronico con verificabilità completa. Da allora sviluppiamo costantemente il sistema e miglioriamo la documentazione e la possibilità di sottoporre la nostra soluzione ad audit. I feedback dei soggetti coinvolti hanno costituito una base importante per strutturare il programma in corso, in particolare per quanto concerne le possibilità di collaborazione con persone interessate. La pubblicazione del sistema avviene in modo permanente e documentabile. Il confronto con gli esperti rappresenta un elemento centrale del programma di community sul voto elettronico. Anche dopo la concessione dell’autorizzazione di principio, la Posta continuerà a perfezionare il sistema coinvolgendo esperte ed esperti di tutto il mondo.
Nel corso del 2021 la Posta ha pubblicato tutti i componenti e i documenti rilevanti per il suo sistema futuro di voto elettronico, mettendoli a disposizione in via permanente per la verifica pubblica. Gli elementi in questione sono elencati e descritti qui di seguito e possono essere visualizzati senza registrazione su GitLab.
Ambiti di verifica sistema di voto elettronico
Sistema di voto elettronico
Specifiche del sistema
Le specifiche corrispondono a una spiegazione dettagliata del protocollo crittografico. Descrivono la procedura dalla configurazione dello scrutinio elettronico al conteggio del voti, passando per la fase di espressione del voto. Contengono i cosiddetti pseudocodici necessari per la spiegazione degli algoritmi. Le specifiche descrivono gli algoritmi generali e alcune delle loro componenti fondamentali.
Visualizzare le specifiche su GitLab
Documentazione sull’architettura
La documentazione sull’architettura descrive l’assetto del sistema di voto elettronico: a partire dalle condizioni quadro giuridiche, passando per la soluzione di voto elettronico vera e propria con i suoi diversi componenti e interfacce, nonché principi e decisioni relativi all’architettura fino ai requisiti di qualità che il sistema deve soddisfare.
Visualizzare la documentazione sull’architettura su GitLab
Codice sorgente del sistema
Per codice sorgente si intende un testo scritto in un determinato linguaggio di programmazione che definisce regole e requisiti specifici sulla base dei quali viene creato un software. Il codice sorgente del sistema di voto elettronico comprende le componenti dell’intero software con le quali vengono implementate le disposizioni del protocollo crittografico.
Il codice sorgente pubblicato del sistema di voto elettronico è elaborato in modo da poter essere compilato, testato e simulato in tutta semplicità.
Visualizzare il codice sorgente su GitLab
Software di verifica
Il nuovo sistema di voto elettronico della Posta dispone di una verificabilità completa. Un’autorità elettorale cantonale può usare questo sistema per verificare tutti i voti espressi elettronicamente dopo la chiusura dell’urna e rilevare tutte le irregolarità. A tale scopo, scrutatrici e gli scrutatori hanno a disposizione un software di verifica. Questo software indipendente dal sistema e non collegato nessuna rete è in grado di dimostrare se le prove crittografiche ottenute sono state registrate correttamente. Se tutte le prove sono corrette significa che tutti i voti espressi elettronicamente e il loro conteggio non sono falsificati. Il software riconosce fra l’altro se il server dell’operatore sui cui è attivo il sistema è stato attaccato.
La Posta pubblica il software di verifica con una licenza open source libera.
Su questa base, terzi con o senza scopi commerciali possono valutare, continuare a sviluppare il software e immetterlo sul mercato come prodotto a se stante. L’obiettivo della Posta è infatti consentire l’utilizzo di un software di verifica di terzi.
Visualizzare il software di verifica su GitLab
Basi crittografiche
Protocollo crittografico
Questo documento scientifico descrive in forma matematica il sistema di voto elettronico della Posta. Illustra come gli elementi crittografici garantiscano la salvaguardia della segretezza del voto e la verificabilità individuale e universale.
Le novità riguardanti il protocollo crittografico dal 2019 sono descritte in una documentazione di accompagnamento, disponibile anch’essa su GitLab.
Accedere al protocollo crittografico su GitLab
Analisi simbolica
L’analisi simbolica costituisce un’integrazione alle prove crittografiche, volta a salvaguardare la segretezza del voto e a garantire la verificabilità individuale e universale del sistema di voto elettronico della Posta. L’analisi simbolica è allestita nel linguaggio di programmazione Proverif e la sua correttezza può essere verificata meccanicamente con l’ausilio di un apposito software.
Accedere all’analisi simbolica su GitLab
Library delle primitive crittografiche
Sono disponibili anche le specifiche delle primitive crittografiche.
Accedere alla library su GitLab
Applicazione web e infrastruttura (test di intrusione pubblico)
Documentazione di progetto
Documentazione di sistema («Infrastructure Whitepaper»)
L’Infrastructure Whitepaper descrive l’infrastruttura per il voto elettronico con tutti gli aspetti relativi alla sicurezza implementati, tra cui anche informazioni sui centri di calcolo nonché sull’impostazione e l’impiego dell’infrastruttura e delle banche dati. Di seguito sono descritte le diverse misure di sicurezza.
Accedere alla documentazione di sistema su GitLab
Operation Whitepaper
L’Operation Whitepaper descrive i processi operativi sul voto elettronico, inclusi tutti gli aspetti legati alla sicurezza che sono stati implementati. Ne fanno parte le informazioni sull’organizzazione dell’esercizio, le disposizioni di supporto, le modifiche e la manutenzione ma anche i processi di backup e di ripristino.
Vsiualizzare il Operation Whitepaper su GitLab
Descrizione del processo di sviluppo
La Posta sviluppa il sistema di voto elettronico con una gestione agile del progetto. Questo documento descrive lo sviluppo del software, fornisce una panoramica dei tool impiegati e mostra come vengono rispettati i numerosi requisiti qualitativi in fase di sviluppo e come vengono poi verificati. È inoltre illustrata la procedura per la pubblicazione regolare del codice sorgente.
Visualizzare la descrizione del processo di sviluppo su GitLab
Trusted build
Il trusted build è un compilatore di software affidabile e verificabile che permette di garantire che la release eseguibile venga creata da componenti verificati. Vengono adottate misure procedurali e organizzative per adempiere i requisiti dell’Ordinanza della Cancelleria federale concernente il voto elettronico (OVE).
Visualizzare il trusted build su GitLab
Progetto di test
Ai fini dello sviluppo del sistema di voto elettronico, vengono effettuati test a diversi livelli. Viene verificata la conformità del software ai requisiti posti dall’OVE, nonché a direttive interne di Posta CH SA legate allo standard ISO 25010. Il progetto di test illustra l’intera procedura e contempla gli oggetti del test, l’infrastruttura impiegata, il reporting e l’organizzazione del test.
Visualizzare il progetto di test su GitLab
Desiderate ricevere aggiornamenti sul programma di community?
Iscrivetevi al nostro mailing informativo e vi invieremo direttamente le principali novità.
Cosa vi aspetta
Cosa vi aspetta se partecipate al programma di community sul voto elettronico? Di seguito una sintesi dei punti principali:
Non è necessaria alcuna registrazione
Per accedere a dati e documenti tecnici su GitLab non serve registrarsi.
Code of Conduct
La raccolta sintetica di regole di comportamento – Code of Conduct – ci consente di progredire insieme.
Programma bug bounty
Le vulnerabilità confermate vengono premiate con un importo sino a 230’000 euro. Per contribuire si possono utilizzare anche altri canali.
Contattate i nostri specialisti
Avete domande su documentazione, risultati o avanzamento dei lavori? Contattateci: il nostro team Voto elettronico vi fornirà volentieri le informazioni richieste.
Panoramica e scambio sui risultati
Desiderate comunicare un risultato, confrontarvi con altri utenti o porre una domanda alla community?
Ulteriore sviluppo dal 2019: panoramica
Tutte le release note e le novità introdotte dal 2019 sono disponibili in una panoramica.
Esecuzione dei test
Potete testare, compilare, condividere e modificare il codice sorgente. A tale scopo avete a disposizione file test.
Simulare lo scrutinio
Per simulare uno scrutinio sul vostro computer mettiamo a disposizione istruzioni e file test.
Buona possibilità di sottoporre ad audit
La Posta ha fatto verificare e migliorare in modo significativo la struttura, la leggibilità e la comprensibilità dei codici sorgente.
Sviluppo trasparente
Le modifiche del codice sorgente sono state pubblicate per consentire di seguire l’ulteriore sviluppo senza difficoltà..
Test di intrusione
La Posta svolge ripetutamente il test pubblico di intrusione. Seguiranno informazioni sul prossimo test.
Potrebbe interessarvi
Voto elettronico
Con la soluzione di voto elettronico della Posta l’elettorato può votare online. Diversi Comuni e Cantoni utilizzano questo servizio sicuro.
Digital Blog
Tutto quello che c’è da sapere sulla digitalizzazione delle autorità svizzere.
