Posta Elettronica Certificata Rachid Ghmid Corso di Sicurezza dei Sistemi Informatici A.A. 2009/10 [email protected] Email SMTP port 25 (Symple Mail Transfer Protocol) -trasferisce i messaggi da un host all’altro (centro di smistamento) –protocollo di spedizione POP port 110 (Post Office Protocol) -trasferisce i messaggi al destinatario (postino) –protocollo di ricezione MIME (Multipurpose Internet Mail Extensions)–protocollo per gestire gli allegati multimediali ed inviarli all’SMTP LDAP (Lightweight Directory Access Protocol) –protocollo utilizzato dal server di posta per rintracciare gli indirizzi di posta fra gli elenchi presenti in rete Che cos’è la PEC? • La posta elettronica certificata (PEC) è un sistema che certifica sia la spedizione che l’avvenuta ricezione di messaggi e documenti inviati attraverso la rete, così come l’identità del mittente, facendo assumere all’invio pieno valore legale. Perché la PEC L’e-mail tradizionale non garantisce: il riconoscimento certo del mittente di posta la consegna e il tempo di consegna l’integrità del messaggio il non ripudio sicurezza nel transito regole certe sui log file Perché la PEC La PEC garantisce: gli standard tecnici SMTP/MIME la certificazione dell’avvenuta spedizione di accertare l’indirizzo elettronico della spedizione di ricevere eventuali ricevute di ritorno a conferma della spedizione e della ricezione di accertare il riferimento temporale -data e ora di trasmissione PEC Il punto di accesso Il punto di ricezione Il punto di consegna Attori e compiti mittente destinatario gestore -ente pubblico o privato che eroga il servizio di posta certificata il gestore eroga il servizio di posta elettronica certificata gestisce i domini di posta elettronica certificata è possibile che vi siano due gestori diversi: uno per il mittente e uno per il destinatario → due domini PEC è possibile anche che vi sia un gestore della consegna (ISP) diverso Cosa si invia l’oggetto dell’invio fra mittente e destinatario è composto da: messaggi MIME in formato text/plain o in formato HTML ma senza parti attive, multimediali, macro dati di certificazione in chiaro e in XML busta del gestore i dati di certificazione sono inseriti in un file XML per garantire l’interoperabilità fra sistemi tutte le ricevute inviate fra i gestori sono sottoscritte con la Dati nell’header firma elettronica del gestore per permettere l’autenticazione, ≠ l’integrità e il non ripudio dai dati sulla busta il messaggio arriva al destinatario quindi in busta con FROM=<[email protected]> FROM=‘Per conto di: [email protected]>’[email protected]> Marca temporale • Marca Temporale: sequenza di simboli binari che elaborata da una procedura informatica consente la validazione del tempo ossia che consente di attribuire ai documenti informatici un riferimento temporale opponibile ai terzi. • Consente di stabilizzare la firma digitale nel tempo indipendentemente dallo scadere del certificato del firmatario • In pratica “blocca” la validità della firma digitale nel tempo in cui è stata apposta la marca temporale • La marca temporale viene apposta dal certificatore con un meccanismo di firme digitali • Di regola vale 5 anni a meno di altri accordi con il certificatore Le fasi della marca temporale Le fasi per la gestione della marca temporale sono: 1. il mittente invia dell'impronta del documento al gestore della marcatura temporale (CA) 2. la CA aggiunge il time stamping (data e ora) utilizzando UTC (Tempo Universale Coordinato) e creando l’impronta marcata 3. la CA firma con la sua chiave privata l'impronta marcata ottenendo la marca temporale da cui è possibile recuperare l'informazione del time stamping attraverso l'utilizzo della chiave pubblica del servizio di marcatura 4. la CA invia la marca temporale al destinatario (o al mittente) Busta di trasporto Consiste in un messaggio generato dal PA che contiene il messaggio originale ed i dati di certificati Il corpo della busta di trasporto è composto da un testo che costituisce la parte immediatamente leggibile dal destinatario del messaggio di posta certificata secondo un modello che riporti i seguenti dati di certificazione: Come funziona- lato mittente il mittente prepara una e-mail e la invia tramite il punto di accesso il server del mittente controlla la forma del messaggio se conforme alle regole se è conforme produce la ricevuta di accettazione assegna un identificativo univoco all’e-mail -MAC – Message Authentication Code con il nome di dominio del gestore Message-ID:<[stringa_alfanumerica]@[dominio_PEC]> mette il messaggio in una busta di trasporto insieme ai dati di certificazione, mette la marca temporale firma la busta e la invia al punto di ricezione Come funziona- lato destinatario il server di ricezione riceve il messaggio e con la chiave pubblica certificata la provenienza della busta il messaggio viene recapitato al punto di consegna il punto di consegna mette a disposizione in casella del destinatario il messaggio il punto di consegna crea ed invia il messaggio di ricevuta di consegna al mittente Busta di trasporto corretta e valida con consegna avente esito positivo Busta di trasporto corretta e valida consegna avente errore di consegna Virus i virus possono essere rintracciati: dal punto di accesso del mittente il quale blocca il messaggio e restituisce la mittente l’avviso di mancata non accettazione per virus dal punto di ricezione del destinatario il quale blocca la busta e restituisce al gestore mittente l’avviso di rilevamento virus il gestore mittente invia l’avviso di non consegna per virus Busta di trasporto corretta contenente virus informatico non rilevato dal gestore mittente e consegna avente errore di consegna Messaggio originale con virus informatico rilevato dal gestore mittente e avviso di non accettazione La posta normale e la posta certificata Vi possono essere sistemi ibridi Posta certificata ricevuta da un gestore non certificato La busta potrebbe non essere accessibile in lettura dal gestore destinatario Posta normale ricevuta da un gestore certificato Il messaggio viene imbustato in una busta di anomalia dal gestore destinatario In entrambi i casi il ciclo di consegna con la conseguente valenza legale non è più garantito La posta Normale e la posta Certificata I limite della PEC • L’intero iter è garantito solo quando si scambiano messaggi tra domini certificati • Si possono comunque inviare messaggi da un dominio certificato ad uno convenzionale e viceversa • Resta garantito e certificato solo il tratto all’interno del dominio certificato • Non è mai certificato e garantito il contenuto del messaggio e la reale identità del mittente • Queste garanzie le dà solo la firma digitale Firma Digitale La firma digitale di un documento informatico deve: consentire di identificare univocamente il firmatario non poter essere imitata da un impostore non essere trasportabile da un documento ad un altro non poter essere ripudiata dall'autore rendere inalterabile il documento cui è stata apposta. MAIL E CRITTOGRAFIA • come possiamo allora garantire l'autentificazione dei nostri messaggi? Come possiamo fidarci del mittente? Crittografia Simmetrica Crittografia Asimmetrica – Data Encryption Standard - Deffie-Hellman – Triple Data Encryption Standard - RSA – Advance Encryption Standard - Digital Signature Alghorithm Digital Signature Standard (DSS) E’ lo schema ufficiale di firma digitale approvato dagli USA (FIPS 186) Lo standard DSS, pubblicato da il National Istitute of Standards and Technology (NIST), utilizza il Secure Hash Algorithm (SHA) ed espone una tecnica di firma digitale alternativa ad RSA, ovvero l'algoritmo Digital Signature Algorithm (DSA) L'algoritmo del DSS è stato progettato per fornire sola la funzionalità di firma digitale, di conseguenza non deve essere utilizzato per la cifratura dei messaggi nè per la distribuzione di chiavi Come per RSA, anche in DSS si basa sulla difficoltà di calcolare i logaritmi discreti SCHEMA DEL DSA GENERAZIONE DELLA FIRMA MESSAGGIO VERIFICA DELLA FIRMA MESSAGGIO RICEVUTO SHA SHA MESSAGE DIGEST MESSAGE DIGEST CHIAVE PRIVATA CHIAVE PUBBLICA DSA ALGORITMO DI FIRMA FIRMA DIGITALE DSA ALGORITMO DI FIRMA SI – FIRMA VERIFICATA OR NO – VERIFICA FALLITA FIRMA DIGITALE DSS - Generazione delle chiavi Calcolo p, numero primo la cui lunghezza è compresa nell'intervallo [512,1024] bit, multipla di 64 tale che: p=qz+1 z numero intero qualsiasi p=qz+1 p -1=qz z=(p-1)/q Scelta q, numero primo di 160 bit (dovuti a SHA). Divisore di p-1. Scelta h, tale che 1<h<p -1 Calcolo di g =hz mod p, tale che g>1 Si genera x, numero random tale che 0<x<q (Secret key) Calcolo y = gx mod p (Public key) I parametri (p,q,g) sono pubblici e possono essere condivisi da diversi utenti DSS - Creazione della firma DSS- Verifica DSA- Correttezza (1) Piccolo teorema di fermat: Se p è un numero primo, allora per ogni intero q: qp = q (mod p) Questo significa che se si prende un qualunque numero q, lo si moltiplica per se stesso p volte e si sottrae q, il risultato è divisibile per p. se q è coprimo rispetto a p (primi tra loro), allora è posssibile rappresentare il teorema nella seguente forma: qp-1=1(mod p) DSA- Correttezza (2) Se la firma è Autentica, deve essere che wSHA(M)+wxr= k (mod q) SHA(M)= -xr+ ks(mod q) Premoltiplicando per w wSHA(M)+wxr= wks (mod q) Sapendo che k<q, premoltiplicando per (mod q) Da tale relazione si ha α + xβ (mod q)= k (mod q)=k g(α + xβ) (mod q)= gk DSA- Correttezza (3) g(α + xβ) (mod q)= gk gα gxβ = gk Moltiplicando per (mod p)(mod q) Per il teorema di Fermat si ha Quindi g(α + xβ) = gk r gα gxβ (mod p) (mod q)= gk(mod p) (mod q) Sapendo che x y=g mod p Abbiamo trovato che: v=r Si ha: gα yβ (mod p) (mod q)= gk(mod p) (mod q) DSA - Sicurezza • Il calcolo della User Public Key y=gx mod p è un'operazione relativamente semplice; ma avendo y è comunque impossibile risalire alla Private Key x, in quanto bisognerebbe calcolare il logaritmo discreto di y in base g modulo p; • In modo analogo, conoscendo la firma (r,s) è impossibile risalire a k da r o ripristinare x da s RSA o DSS? Chiave di 1024 bit per DSS contro 2048/4096bit di RSA In RSA la firma è più lenta della verifica, in DSA è il contrario DSS può essere usato solo per le firme digitali, mentre RSA può essere anche per cifrare Ottima randomizzazione in DSS, k è univoco ed impredicibile DSS libero da licenze, RSA è di proprietà RSA Labs. DSS è basato su una teoria più solida 512-bit RSA break vs 283-bit DSS break. Bibliografia & Sitografia CNIPA,Posta Elettronica Certificata, http://www.cnipa.gov.it/site/itit/Attivit%C3%A0/Posta_Elettronica_Certificata__%28PEC%2 9/ http://it.wikipedia.org/wiki/Posta_elettronica_certificata Richard A. Mollin , An introduction to cryptography,kenneth h. rosen, 2007 FIPS PUB 186- DIGITAL SIGNATURE STANDARD (DSS) , NIST, http://www.nist.gov/fipspubs/fip186.htm