Crittografia e sicurezza informatica. Sistema di voto elettronico



Documenti analoghi
Approfondimento di Marco Mulas

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

Informatica per la comunicazione" - lezione 13 -

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

Firma digitale Definizione

RETI DI CALCOLATORI. Crittografia. La crittografia

Sicurezza dei sistemi informatici Firma elettronica E-commerce

Gennaio. SUAP On Line i pre-requsiti informatici: La firma digitale

Serve a garantire la nostra privacy nell era era della comunicazione digitale.

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp )

Sistema di autenticazione Gestisce il processo di riconoscimento delle credenziali (certificazione) per l accesso ai servizi;

Manuale Utente Prerequisiti per DigitalSign Lite Sistema Operativo Linux a 64 bit

Programmazione in Rete

Sistema di gestione Certificato MANUALE PER L'UTENTE

Introduzione alla crittografia con OpenPGP

Allegato A: Regole tecniche per la gestione dell identità.

Sicurezza digitale. requisiti: confidenzialità, integrità, autenticazione, autorizzazione, assicurazione, riservatezza. soddisfatti mediante

Corso di Sicurezza Informatica. Sicurezza Web. Ing. Gianluca Caminiti

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

La sicurezza nelle comunicazioni Internet

Documenti cartacei e digitali. Autenticità. Cosa si vuole garantire? Riservatezza. Integrità 11/12/2012. PA digitale: documenti e firme (I.

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

Firma digitale: aspetti tecnologici e normativi. Milano,

FORUM PA Officine PA Sicurezza. Martedì 10 Maggio I-Memo v La sicurezza digitale nelle nostre mani

Avviso 1/2014 Procedura Caricamento Documentazione con Firma Digitale

Protezione delle informazioni in SMart esolutions

Corso di Laurea in Informatica Reti e Sicurezza Informatica

Tecnologicamente, la firma digitale è il risultato di una procedura complessa che si basa su tre elementi:

La sicurezza nel Web

Procedura di identificazione dei richiedenti il certificato di firma qualificata tramite sistema di Video Conferenza ICBPI S.P.A.

Aruba Sign 2 Guida rapida

Quasar Sistemi S.r.l.

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

Corso di ARCHITETTURA DEI SISTEMI INFORMATIVI - Prof. Crescenzio Gallo. 114 Sistemi informativi in rete e sicurezza 4.6

La Fatturazione Elettronica

FIRMA DIGITALE Cos'è e come funziona

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

Corso di Network Security a.a. 2012/2013. Soluzione dei quesiti sulla prima parte del corso

Sicurezza: necessità. Roberto Cecchini Ottobre

Guida all installazione di Easy

Firma HSM. A cura di: Enrico Venuto. Politecnico di Torino Coordinatore sicurezza informatica di ateneo

La sicurezza nelle reti di calcolatori

CHE COS E LA FIRMA DIGITALE

Introduzione ai certificati S/MIME e alla posta elettronica certificata...2 Procedura di installazione del certificato personale S/MIME rilasciato

Posta Elettronica Certificata. dott. Andrea Mazzini

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

Wireless Network Esercitazioni. Alessandro Villani

Protezione della posta elettronica mediante crittografia

La firma digitale e le sue possibili applicazioni

Firma Digitale. dott. Andrea Mazzini

Acquisto con carta di credito. Acquisto con carta di credito

Dire, fare, azienda digitale

Specifiche Tecniche CARATTERISTICHE TECNICHE GENERALI MINIME PER LA GESTIONE DEL SERVIZIO

Manuale Utente del Portale CA. Prerequisiti per l Attivazione della Firma Digitale su CNS/CRS. Sistema Operativo Windows

Database. Si ringrazia Marco Bertini per le slides

Sicurezza in Internet

UN ARCHITETTURA PER L INTERNET CALIBRATION Nuove opportunità di taratura e di diagnostica a distanza della strumentazione

Inizializzazione degli Host. BOOTP e DHCP

Lextel Servizi Telematici per l Avvocatura

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI SCRIVANIA PER GLI UFFICI SUAP

<Portale LAW- Lawful Activities Wind >

Reti di Calcolatori. Esercitazione su: Crittografia & Bet Server. A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)

Classificazione: Pubblico Guida alla configurazione di DigitalSign

Configurazione di sicurezza di XAMPP

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

La Firma Grafometrica. Per gestire i documenti informatici nativi che prevedono l apposizione di una o più firme autografe

Firma Digitale per l Ordine degli Ingegneri di Messina

La firma digitale. Diagnostica per immagini e Radioterapia nel 2011 Fare sistema CongressoAITASIT novembre 2011

Vendere online. Andrea Marin. Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB

MANUALE D USO SAREMA SF1000

Crittografia e Protocolli di Sicurezza

Appl. di emissione PKCS#11. API (Metacomandi) Resource Manager Windows. Drivers PC/SC dei lettori

Il protocollo BitTorrent

Sicurezza in Internet. Criteri di sicurezza. Firewall

PARCO OGLIO NORD ENTE DI DIRITTO PUBBLICO

La Firma Digitale. Manuale d uso Fornitore. Introduzione alla Firma Digitale. Aprile 2015

La sicurezza nelle reti di calcolatori

Procedura per elaborare una graduatoria attraverso un sistema di lettura ottica.

Guida all'uso della Posta Elettronica Client Mail su sistema operativo Mac

La SMART CARD: Alcune informazioni tecniche

Realizzazione di una chat su protocollo HTTP

Scambio delle chiavi. mercoledì 7 dicembre 2011

Gestione Automatizzata di una Lista Nozze

Token Crittografico USB

Verifica Firma Digitale dei documenti

LA PEC (POSTA ELETTRONICA CERTIFICATA)

Le imprese di nuova costituzione dovranno dotarsi di certificata da subito, all atto della costituzione.

SWPL. software di gestione dei controlli periodici degli impianti P.L.

da chi proviene un messaggio?

Torino - Aula magna Pala Giustizia - 11 maggio 2016 Dispositivi di firma digitale e CNS Dott. Paolo Lorenzin

Guida all installazione del lettore di Smart Card

Elementi di Sicurezza e Privatezza Laboratorio 10 Uso di OpenSSL per generare certificati X.509. Chiara Braghin chiara.braghin@unimi.it!

Si tratta di un programma per la gestione della messaggistica ( , pec, posta interna, spedizione fax).

La Posta Certificata per la trasmissione dei documenti informatici. renzo ullucci

Accreditamento al SID

ANNO SCOLASTICO: DISCIPLINA: INFORMATICA CLASSE: 5 SI INDIRIZZO: SISTEMI INFORMATIVI DOCENTI: TISO EMANUELE BARBARA SECCHI

Transcript:

Crittografia e sicurezza informatica Sistema di voto elettronico Deliano Perfetti Gabriele Paone Anno 2003

1 indice 1. Specifiche 2 2. Scelte progettuali 2 Schema Server Authority Server di Voto Client di Voto Controllo del voto Analisi dei messaggi scambiati Caratteristiche di programmazione

2 specifiche Si richiede un sistema-software per votare elettronicamente che: 1) effettui voto sicuro; 2) permetta a ciascun utente di verificare il suo voto garantendo l anonimato; 3) il voto sia dato ad un referendum (si, no, scheda bianca); 4) il sistema raccolga voti e pubblichi alla fine della votazione una tabella che riporti tutti i voti dati; scenario Il sistema è composto da un client e 3 server : Client di Voto effettua la votazione; Server Authority ha il compito di autenticare l utente e passargli il ticket per effettuare la votaz.; Server di Voto verificare il voto e aggiornare il Database dei votanti; Server Web presentare i risultati su Web; PREMESSE (semplificazioni): 1. Il Client ha la chiave privata installata sul sistema (ma in realtà dovrebbe risiedere su SmartCard); 2. Il Client possiede le chiavi pubbliche del Server Authority e del Server di Voto; 3. Lo scambio dei messaggi è temporizzato, oltre il timeout viene abortita la connessione; 4. Il Certificato è semplificato, costituito solo da : la chiave pubblica (KU) + il digest ( KU ) firmato dalla CA con la sua chiave privata; 5. La CA (Certification Authority) è una classe che implementa 2 funzioni: Creare i certificati delle chiavi pubbliche degli utenti; Verificare la validità di un certificato mediante la chiave pubblica della CA;

3 L idea è di fare uso di uno pseudo-kerberos, cioè utilizzare 2 server per separare l autenticazione dalla votazione. La struttura macroscopica è la seguente: (ogni numero rappresenta una fase) 2a. verifica certificato cliente 1. richiesta referendum 2. autenticazione a 3 vie Client di Voto Server Authority CA 4. consegna dei ticket 5. votazione 7. votazione avvenuta 3. richiesta e consegna del ticket per il voto 6. aggiorna la lista votanti Server di Voto / Server sottorete schermata Il Server Authority si occupa prima di autenticare l utente poi di passargli 2 ticket: un Ticket_CA per dimostrare l avvenuta autenticazione (client authority ) un Ticket_CV per effettuare la votazione ( client vote )

4 Si è scelto di separare in 2 server questo processo in modo da nascondere l identità dell utente al Server di Voto che si occuperà quindi di reperire le informazioni solo riguardo al voto. L utente in possesso dei 2 ticket può effettuare finalmente la votazione. Il voto viene crittografato utilizzando una chiave di sessione KS ed un terzo ticket: Ticket_CA crittografato con la chiave pubblica del SA in modo da non essere visibile al Server di Voto il quale utilizzerà questo ticket per segnalare al SA l avvenuta votazione. In definitiva il SV non conosce chi ha votato ma cosa ha votato, mentre il SA non conosce cosa ma chi. Se la votazione è andata a buon fine, l utente verrà cancellato dal DataBase del SA e dal DB del SV in modo da impedire una ripetizione della votazione. La segnalazione del successo/insuccesso nella votazione viene fatta attraverso un messaggio dal SV all utente anch esso crittografato con la chiave di sessione KS in modo da e- scludere anche lo spoofing del ok / ko. CONTROLLO DEL VOTO Alla fine della votazione l utente deve poter controllare l avvenuta votazione e riconoscersi in tale. Il Server di Voto calcola il digest di 5 parametri (Marca) : 1. Chiave Pubblica dell utente 2. Il Voto 3. Testo del Referendum 4. ID_client ( un numero casuale assegnato al client ) 5. Cod_ser : codice seriale della scheda elettorale e lo pubblica su Internet affianco al voto utilizzando un server Web. L utente, dopo aver votato, si collega al server Web e controlla che il suo voto confrontando il digest che si è calcolato in locale con quello su Internet. Per aumentare la sicurezza abbiamo creato anche un secondo digest chiamato IAMD. Lo IAMD è un controllo ulteriore basato sull idea della Doppia firma del protocollo SET. IAMD verrà pubblicato sulla pagina Web, accanto alla MARCA corrispondente, utilizzato per riscontrare il voto. ID_Client Cod_ser H H H IAMD

5 Caratteristiche crittografiche: Il sistema utilizza crittografia a chiave segreta, a chiave pubblica, certificazione X.509 e SHA512; utilizza Nonce a 32 bit e chiavi di sessione a 128 bit; è resistente ad attacchi di tipo man in the middle e replay ; Analisi dei messaggi scambiati: Fase 1 : richiesta testo referendum (firmato) <testo> KP A [ SHA512( <testo> ) ] Fase 2 : autenticazione a 3 vie KU A [( t 1 C, N 1, UserID C,Psw C,Cert C ) sign_data] - verifica certificato cliente mediante una funzione verifycertificate( Cert C, KU CA ) KU C [( t 1 A, N 2, N 1 +1) sign_data] KU A [( t 2 C, N 2 +1, K CA ) sign_data] Fase 3 : richiesta ticket per il voto SA->SV SV->SA KU SV [( t 3 A, KU C ) sign_data] KU A [( t 4 SV, KU C [ N, Cod_Seriale, KS CV ] ) sign_data] Fase 4 : consegna del ticket Ticket_CV : Cod.Seriale scheda elett. + chiave di sessione + sfida SA->CV KU CA [( t 5 A, <N 3, ID Client >, Ticket_CV ) sign_data] Ticket_CA : Numero Random assegnato all utente + sfida

6 Fase 5 : votazione KU V [ N+1 KS CV sign_data] KS CV [( t C 6, voto, Cod_seriale, < KU A [ N 3+1, ID Client ] > ) sign_data ] Ticket_CA : Numero Random assegnato all utente + risposta alla sfida Fase 6 : aggiornamento lista votanti < Ticket_CA > KU V [ t A 7, Ok sign_data] Fase 7 : votazione avvenuta con successo KS CV [ Ok sign_data] Caratteristiche di programmazione: il software è scritto in linguaggio Java. Zona De-militarizzata: Server Authority in ascolto sulla porta 30000; Server di Voto in ascolto sulla porta 30003; Server Web in ascolto sulla porta 80; Sottorete schermata: Server Authority in ascolto sulla porta 30001 Server di Voto in ascolto sulla porta 30002

7 Caratteristiche di Programmazione Si è creata una libreria TesinaLib.java con le seguenti classi : Classe CA Message KeyGenSim KeySimEncrypt KeySimDecrypt File2Buffer ResumeKeySim ResumeSeed DigestSHA512 SecretKeyGen HMAC ResumeSecretKey Byte2hex GenKeyPairRSA ResumeKeyPairRSA ResumePublicRSA EncryptRSA DecryptRSA DiffieHellman Nonce Timestamp Descrizione Creazione e verifica dei certificati Crea, cripta, decripta, genera la segnature, verifica la segnature dei messaggi Genera chiave simmetrica a 128 bit (AES) Cripta messaggio con AES / CBC Decripta messaggio con AES / CBC Trasforma formato file in byte[] Carica una chiave simmetrica AES Carica l IV per l AES Crea il digest Crea una chiave segreta per un HMAC (specificare l algoritmo) Crea MAC di un oggetto (specificare l algoritmo) Carica chiave segreta per un HMAC Converte una buffer di byte in formato hex Genera una coppia di chiavi pubblica/privata RSA Carica chiave pubblica / privata RSA Carica chiave pubblica RSA Cripta un oggetto con la chiave pubblica o firma un oggetto con la chiave privata Decripta con la chiave privata o verifica la firma digitale di un oggetto Scambio di chiave segreta 512 bit Crea nonce / Risponde alla sfida Crea timestamp / Verifica i timestamp

8 una libreria ServerLib.java per i server con le seguenti classi : Classe TerminateServer ServerWeb ServerAutorizzazione ServerVoto ServerVotAut ServerAutVot Descrizione Blocca tutti i server allo scadere del tempo previsto Server in ascolto sulla porta 80 che trasmette i risultati in tempo reale SA su porta 30000 (gestisce le transazione dei clienti tramite il Thread CittadinoAutorizzazione ) SV su porta 30003 (gestisce le transazione dei clienti tramite il Thread CittadinoVoto ) porta 30002, transazione tra SV e SA ( SV gestisce la transazione con SA tramite il Thread TransactionVotAut ) porta 30001, transazione tra SA e SV ( SV gestisce la transazione con SA tramite il Thread TransactionAutVot )