760 likes | 951 Views
Firma elettronica. Concetti e meccanismi. cristiano.crevato@insiel.it. Il supporto cartaceo. Il documento classico. Università degli studi di Udine. Crittografia e firma elettronica. Cristiano Crevato. Il documento moderno. Il documento informatico.
E N D
Firma elettronica Concetti e meccanismi cristiano.crevato@insiel.it
Il supporto cartaceo Il documento classico Università degli studi di Udine Crittografia e firma elettronica Cristiano Crevato
Il documento moderno Il documento informatico. “S’intende per documento informatico la rappresentazione informatica di atti, fatti o dati giuridicamente rilevanti.”
? Il documento moderno Università degli studi di Udine Crittografia e firma elettronica Cristiano Crevato
Firma elettronica Esigenze . La legge richiede di: • Poter firmare elettronicamente un documento • Consentire la verifica della firma apposta da parte di terzi • Mantenere la sicurezza del sistema
Crittografia classica? Crittografia classica (simmetrica) N utenti (N-1)2 chiavi Rapporto uno a (N-1)
Cifrario a rotazione c1 c2 c3 R1 T1 R2 T2 c4 m Cifrario a trasposizione Crittografia classica?
Data Encryption Standard TI 64 bit S0 D0 32 bit 32 bit Si=Di-1 Di=Si-1+f(Di-1,Ki) 32 bit 32 bit TF 64 bit
Cifrario di Vigenère P A R I G I V A L B E N E U N A M E S S A F L A U T O F L A U T O F L A U T O F L A U L R F C Z D L L V A C L G N U G S A E A
Cifrario a trasposizione P A R I G I V A L B E N E U N A M E S S A P A R I G I V A L B E N E U N A M E S S A P R G V L E E N M S A A I I A B N U A E S
Cifrario a trasposizione Analisi statistica della lingua usata Complessità computazionale relativamente bassa Non garantisce l’identità del firmatario
Crittografia moderna? Crittografia a chiave pubblica N utenti N chiavi Rapporto uno a uno
Contenuto di un generico documento informatico Vse7 edca 34q 23r # =)N90mjs “ &vr5% HHJ Firma elettronica Uso delle chiavi PRIVATA PUBBLICA
Firma elettronica Funzione della Firma Elettronica L’applicazione della Firma Elettronicaad un documento informatico permette di certificarel’integrità e la paternità del documento(certificazione)
Firma elettronica Impiego della Firma elettronica Per poter sostituire in tutto e per tutto i documenti cartacei negli atti ufficiali. • Redigere atti ufficiali • Distribuire atti ufficiali • Archiviare atti ufficiali
Firma elettronica Art.15, comma 2, legge 15 marzo 1997, n.59 “gli atti, dati e documenti formati dalla pubblicaamministrazione e dai privati con strumentiinformatici o telematici, i contratti stipulati nellemedesime forme, nonché la loro archiviazione etrasmissione con strumenti informatici, sono validie rilevanti a tutti gli effetti di legge”
Firma elettronica La firma elettronica, apposta rispettando le disposizioni tecniche, ha valore soltanto se la coppia di chiavi è dotata di certificato elettronico rilasciato da una terza parte garante, la Certificate Authority, che ne attesti la validità. Certificate Authority Utente A Utente B
Firma elettronica Autorità per l’Informaticanella Pubblica Amministrazione Stabilisce regole e modalità di applicazione della firma elettronica. Certifica e conserva l’elenco dei soggetti autorizzati a svolgere l’attività di Certificate Authority. http://www.aipa.it
Firma elettronica Cosa deve contenere un certificato: (D.P.C.M. 8/2/1999, Art.11) a. Numero di serie del certificato b. Ragione e denominazione sociale del certificatore c. Codice identificativo del titolare presso il certificatore d.Nome cognome e data di nascita ovvero ragione e denominazione sociale del titolare e.Valore della chiave pubblica f. Algoritmi di generazione everifica utilizzati g. Inizio e fine del periodo di validità delle chiavi h. Algoritmo di sottoscrizione del certificato
Firma elettronica Adempimenti della CA: (D.P.C.M. 8/2/1999, Art.22, comma 2) “Al momento della registrazione il certificatore deve verificare l’identità del richiedente. E’ data facoltà al certificatore di definire, pubblicandole nel manuale operativo, le modalità di identificazione degli utenti.”
Firma elettronica Aspetto di un certificato: (Base64 encoded X509)
Firma elettronica CertificateAuthority 2. Bianchi controlla presso la CA il certificato e la chiave pubblica di Rossi. 1. Rossi manda una e-mail a Bianchi, firmando il contenuto con la sua chiave privata. intranet E-mail Rossi Bianchi Rossi 3. Bianchi verifica la firma di Rossi applicando alla e-mail la chiave pubblica di Rossi. CERTIFICAZIONE
Oltre la Firma elettronica “Funzione” della Firma Elettronica Le chiavi utilizzate per applicare la Firma Elettronicaad un documento informatico possono essere usate per limitare l’accesso al contenuto del documentoad un gruppo ristretto di persone(confidenzialità)in tal caso viene meno la garanzia sulla paternità del documento
PUBBLICA Contenuto di un generico documento informatico Vse7 edca 34q 23r # =)N90mjs “ &vr5% HHJ PRIVATA Firma elettronica Uso delle chiavi PRIVATA PUBBLICA
Firma elettronica CertificateAuthority 1. Bianchi recupera dalla CA il certificato di Rossi contenente la chiave pubblica di Rossi. 3. Rossi recupera l’allegato usando la sua chiave privata. E-mail Bianchi Rossi 2. Bianchi spedisce a Rossi una e-mail con un documento allegato, cifrando tutto con la chiave pubblica di Rossi. CONFIDENZIALITA’
Firma elettronica Il meccanismo diFirma Elettronica
Firma elettronica Meccanismo di Firma • Estrazione di un’impronta dal documento informatico mediante un algoritmo di Hash • Cifratura dell’impronta mediante la chiave privata del sottoscrittore • Il risultatocostituisce la firma elettronicadel documento
Firma elettronica Impronta e algoritmo di Hash Usando unAlgoritmo di Hash si estrae da un qualsiasi documento informatico una sequenza binaria lunga 160 bit. La natura dell’algoritmo garantisce che da due documenti distinti non sia possibile ottenere la medesima impronta e che dall’impronta non sia possibile ricostruire il documento che l’ha generata. Testo originale del documento T t o i al el d um t
Firma elettronica Generazione della Firma L’impronta estratta dal documento informatico viene cifrata con la chiave privata del sottoscrittore, questo garantisce chel’impronta non possa essere alterata successivamente e identifica univocamente il sottoscrittore quale autore della medesima.Il risultato di questa operazione costituisce la Firma Elettronica. T t o i al el d um t shjbjad vczaxcv
Firma elettronica Generazione del documento firmato Il documento ottenuto dalla fusione del testo originale e della Firma costituisce il documento firmato elettronicamente. Il suo contenuto è disponibile anche se non si ha la chiave pubblica del sottoscrittore. Questa non serve infatti per leggere il contenuto del documento ma soltanto per verificarne paternità ed integrità. Testo originale del documento shjbjad vczaxcv
Firma elettronica Meccanismo di Verifica • Separazione deldocumento firmato dalla firma elettronica apposta • Estrazione diun’impronta dal documento mediante lo stessoalgoritmo di Hashusato per firmarlo • Decifrazionedella firma digitale mediante la chiave pubblicadel sottoscrittore • Confronto delle due impronte
Testo originale del documento T t o i al el d um t T t o i al el d um t Firma elettronica Verifica: estrazione e confronto delle impronte Valida (Firma) shjbjad vczaxcv
RSA e SHA-1 Nozioni di base
RSA e SHA-1 D.P.C.M. 8 febbraio 1999 Art. 2 Algoritmi di generazione e verifica delle firme digitali 1. Per la generazione e la verifica delle firme digitali possono essere utilizzati i seguenti algoritmi a. RSA (Rivest-Shamir-Adleman algorithm). b. DSA (Digital Signature Algorithm).
0 5 1 2 4 3 Aritmetiche circolari 3+3 3+2 3+4 3+1 3 3 + 4 = 1
RSA e SHA-1 Aritmetica modulo n Nell’aritmetica modulo n ho i simboli 0,1,2,3,4 ... n. Ogni numero intero k in base 10 viene rappresentato nell’aritmetica modulo n dalla classe di appartenenza. La classe di k è data dal resto della divisione di k per n classe di k= resto di k diviso n Un aritmetica modulo n con n numero primo costituisce un Campo di Galois
0 5 1 2 4 3 Aritmetiche circolari 3x2 = 3x4 3x1 = 3x3 3 x 4 = 0 Legge di annullamento del prodotto
@ (1-2-100) 1 Numeri primi “molto grandi” Teoria dei numeri simbolo di Jacobi Dato p numero dispari “grande” 100 interi tra 1 e p-1
RSA e SHA-1 L’algoritmo RSA si basa su funzioni unidirezionali - Diretta semplice da calcolare - Inversa di difficile computazione
Funzione di Eulero j(n) = nx (1-1/n1) x (1-1/n2) x ... x (1-1/nm) 6 = 2 x 3 j(6) = 6 X (1 – ½) X (1- 1/3) = 2 4 e 5 primi con 6
j(u) v = 1 modulo u j(u) - 1 w = v modulo u allora wv = 1 modulo u Teorema di Eulero-Fermat Dati u,v interi se MCD(u,v) = 1 allora
RSA e SHA-1 RSA - Generazione delle chiavi Metodo: Esempio numerico: • p e q primi 11 e 13 143=1113 • n = pq • (n)=(p-1)(q-1) (143)=10 12=120 • x primo con (n) 103 Privata • y con resto [(yx):(n)]=1 7 • coppia (n,y) (143,7) Pubblica
= (codice ASCII) OFFICE OFFICE 79, 70, 70, 73, 67, 69 79, 70, 70, 73, 67, 69 RSA e SHA-1 R S A - Cifratura e decifrazione Algoritmo: Esempio numerico: m messaggio da inviare: • cifratura di m • c = m ymodulo n = (<<SYl 40, 60, 60, 83, 89, 108 (codice ASCII) = • decifrazione di c • m = c xmodulo n (codice ASCII)
RSA e SHA-1 D.P.C.M. 8 febbraio 1999 Art. 2 Algoritmi di hash 1. La generazione dell’impronta si effettua impiegando una delle seguenti funzioni di hash, definite nella norma ISO/IEC 10118- 3:1998: a. Dedicated hash-Function 1, corrisp. alla funzione RIPEMD-160; b. Dedicated hash-Function 3, corrisp. alla funzione SHA-1;
RSA e SHA-1 L’algoritmo SHA-1 impiega funzioni logiche ed operazioni di elevamento a potenza. Applicato a sequenze binarie di lunghezza non superiore a 2^64 produce una sequenza binaria di lunghezza 160
RSA e SHA-1 Le 80 funzioni logiche di SHA-1 f(t,B,C,D) = (B AND C) OR ((NOT B) AND D) (0 t 19) f(t,B,C,D) = B XOR C XOR D (20 t 39) f(t,B,C,D) = (B AND C) OR (B AND D) OR (C AND D) (40 t 59) f(t,B,C,D) = B XOR C XOR C XOR D (60 t 79) dove B,C,D sono sequenze di 32 bit
RSA e SHA-1 Le 80 costanti di SHA-1 K(t)=5A827999 (0 t 19) K(t)=6ED9EBA1 (20 t 39) K(t)=8F1BBCDC (40 t 59) K(t)=CA62C1D6 (60 t 79)
RSA e SHA-1 SHA-1 – Inizializzazione dell’impronta L’impronta viene composta unendo 5 blocchi di 32 bit per un totale di 160 bit. I 5 blocchi vengono inizializzati con i valori: 1° blocco = 67452301 = 1100111010001010010001100000001 2° blocco = EFCDAB89= 11101111110011011010101110001001 3° blocco = 98BADCFE = 10011000101110101101110011111110 4° blocco = 10325476 = 10000001100100101010001110110 5° blocco = C3D2E1F0 = 11000011110100101110000111110000
RSA e SHA-1 Scomposizione del documento Il documento informatico viene scomposto in blocchi di lunghezza 512 bit. Ogni blocco viene suddiviso in sottoblocchi di lunghezza 32 bit.
RSA e SHA-1 Calcolo delle componenti dell’impronta Ogni blocco di 512 bit viene processato nel seguente modo: 1) detti W(0) ... W(15) i sottoblocchi di lunghezza 32 bit per t=16 fino 79 si calcola: W(t)=S^1( W(t-3) XOR W(t-8) XOR W(t-14) XOR W(t-16) ) 2) fissatiA=H0 B=H1C=H2D=H3E=H4 per t da 0 a 79 si ripete la sequenza: TEMP=S^5(A)+f(t;B,C,D)+E+W(t)+K(t) E=D, D=C, C=S^30(B), B=A, A=TEMP H0=H0+A H1=H1+B H2=H2+C H3=H3+D H4=H4+E