Ripasso. Public Key cryptograhy. Message Authentication Codes (MAC) Firma digitale



Documenti analoghi
Crittografia e sicurezza delle reti

Crittografia e sicurezza delle reti. 1. Classi complessità probabilistiche e OWF 2. Test primalità

!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

schema di firma definizione formale

Applicazioni. Cosa si intende per sicurezza di uno schema di un MAC? Dobbiamo definire. Autenticità del messaggio M Integrità del messaggio M

La funzione Hash. Garanzia dell integrità dei dati e autenticazione dei messaggi

logaritmo discreto come funzione unidirezionale

da chi proviene un messaggio?

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce

problema del logaritmo discreto

una possibile funzione unidirezionale

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Introduzione alla FIRMA DIGITALE

Funzioni di hash sicure: MD5 e SHA-1

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

idea della crittografia a chiave pubblica

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

sia G un gruppo ciclico di ordine n, sia g un generatore di G

Sicurezza nelle reti: protezione della comunicazione

una possibile funzione unidirezionale

da chi proviene un messaggio?

Crittografia e sicurezza delle reti

Crittografia per la sicurezza dei dati

Quando si inviano pacchetti da firewall a firewall si introduce un nuovo IP header. E necessario?

una possibile funzione unidirezionale

crittografia a chiave pubblica

Sicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash

Crittografia a chiave pubblica

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Message Authentication Code

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 11 Maggio 2015

crittografia a chiave pubblica

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

sia G un gruppo ciclico di ordine n, sia g un generatore di G

Crittografia Asimmetrica

Crittografia a chiave pubblica

da chi proviene un messaggio?

Parte prima Cifrature asimmetriche 21

Livello Applicazioni Elementi di Crittografia

NUMERI PRIMI E CRITTOGRAFIA

Digital Signature Standard

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

idea della crittografia a chiave pubblica

crittografia a chiave pubblica

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. metodi crittografici

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. tecniche crittografiche e protocolli

Crittografia con Python

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. metodi crittografici

Crittografia simmetrica (a chiave condivisa)

Corso di Crittografia

Crittografia: Servizi richiesti

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

una possibile funzione unidirezionale

Protocolli di Rete. Sabrina De Capitani di Vimercati. DEA - Università di Brescia. c Sabrina De Capitani di Vimercati p.

Progetto Lauree Scientifiche Crittografia V incontro

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale

La firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d

una possibile funzione unidirezionale

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

ITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica

Crittografia e sicurezza delle reti

idea della crittografia a chiave pubblica

Cifrario di Rabin. Chiara Gasparri

Crittografia e firma digitale. Prof. Giuseppe Chiumeo

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

Esercitazione per la prova scritta

Integrità dei messaggi. Funzioni di Hash e codici MAC. Message digest. Message digest e funzioni di hash

Autenticazione dei messaggi e funzioni hash

Crittografia a chiave pubblica

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro...

Corso di Crittografia Prof. Dario Catalano. Introduzione alla crittografia asimmetrica

crittografia a chiave pubblica

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n

Crittografia. Firme Digitali e Funzioni di Hash. Corso di Laurea Specialistica. in Informatica

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Crittografia avanzata Lezione del 21 Marzo 2011

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Intercettazione dei dati. Uso della crittografia simmetrica

Crittografia. Corso di Laurea Specialistica. in Informatica. Generatori di Numeri PseudoCasuali

Privacy e firma digitale

da chi proviene un messaggio?

una possibile funzione unidirezionale

Crittografia Moderna. Segretezza Perfetta: nozioni

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Sicurezza su reti Uso della crittografia simmetrica

FUNZIONI HASH ONE-WAY ITERATE

Firme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre Equivalente alla firma convenzionale

I Cifrari Perfetti. Alessio Nunzi Fabiola Genevois Federico Russo

Protocolli a conoscenza zero. Carlo De Vittoria

Transcript:

Ripasso Public Key cryptograhy Message Authentication Codes (MAC) Firma digitale

RSA Public Key Cryptosystem Sia N=pq il prodotto di due primi Scegli e tale che gcd(e,f(n))=1 Sia d tale che de 1 mod f(n) La chiave pubblica è (N,e) La chiave segreta è d Codifica di MŒZ N * : C=E(M)=M e mod N Decodifica di CŒZ N * : M=D(C)=C d mod N Il metodo proposto non deve essere confuso con la tecnica proposta da Diffie e Hellman per risolvere il problema della distribuzione delle chiavi (dall articolo RSA)

Il gruppo moltiplicativo Z pq * Siano p e q due primi grandi e sia N = pq il loro prodotto. Definizione Il gruppo moltiplicativo Z M * =Z pq * contiene tutti gli interi nell intervallo [1,pq-1] primi sia rispetto a p che a q La dimensione del gruppo Z pq * è f(pq) = (p-1) (q-1) = N - (p+q) + 1, quindi, per ogni x Œ Z pq *, x (p-1)(q-1) = 1.

RSA come One Way Trapdoor Function (OWF) easy x x e mod N hard Facile con trapdoor info ( d )

OWF e Trapdoor OWF Definizione: f:dær è one way function se è facile da calcolare difficile da invertire Definizione: f:dær è una trap-door one way function se esiste una trap-door s tale che Senza conoscenza di s, la funzione è one way Dato s, invertire f è facile

Cosa vuol dire difficile Classi di complessità Una classe di complessità è una classe di pbroblemi di decisione (linguaggi) che possono essere risolti con determinate risorse di calcolo P classe dei problemi risolubili in tempo polinomiale (algoritmi deterministici) NP classe dei problemi risolubili in tempo polinomiale (algoritmi NONdeterministici)

Classi di complessità probabilistiche Un algoritmo probabilistico è un algoritmo che effettua scelte casuali sullo stesso input può dare risposte diverse un algoritmo probabilistico può fare errori RP linguaggi L per cui esiste un alg. prob. A tale che x in L : Prob[ A(x) accetta] >.5 x non in L : Prob[ A(x) rifiuta] =0 PP linguaggi L per cui esiste un alg. prob. A tale che x in L : Prob[ A(x) accetta] >.5 x non in L : Prob[ A(x) rifiuta] >.5

OWF: definizione Definizione: f:dær è one way function se è facile da calcolare (tempo polinomiale con algoritmo probabilistico) difficile da invertire: Per ogni algoritmo polinomiale probabilistico A esiste una funzione trascurabile g(n) - n dimens. input, g(n) < 1/polin.(n) - tale che se si sceglie a caso x in D, con x di dimensione n Prob [A trovi z, tale che f(z) = f(x)] < g(n) (è poco probabile riuscire a invertire f) NB: non si richiede di trovare x

Trap-door OWF Definizione: f:dær è una trap-door one way function se esiste una trap-door s tale che Senza conoscenza di s, la funzione è one way Dato s, invertire f è facile Non è nota l esistenza di OWF. Si assume che RSA sia OWF. Si può provare che se RSA è OWF allora è anche trap-door OWF

Primality Testing Input: Un intero dispari M, 2 n-1 <M<2 n Problema di Decisione: M è composto? Problema di Decisione è in NP (prova esaustivamente tutti i possibili fattori & verifica). Problema di Ricerca: Trova i fattori primi di M. La fattorizzazione di interi è considerato un problema intrattabile.

Crittografia a chiave pubblica: Schema di base Uno schema crittografico a chiave pubblica include: Una chiave privata k Una chiave pubblica k Un metodo di codifica che sia una trap door OWF. La chiave privata rappresenta l informazione trap-door La chiave pubblica e distribuita (ognuno può codificare) La decodifca richiede la chiave privata

Proprietà di RSA Il requisito (e, f(n))=1 è importante per unicità codifica Trovare d, dati p e q è facile. Trovare d dati solo N e e è considerato difficile (assunzione di RSA) L esponente pubblico e può essere piccolo (tipicamente 3 ma meglio 2 16 +1) Ogni codifica richiede diverse operazioni modulari. Decodifica è più lunga.

RSA - Attacchi RSA è in generale difficile da attaccare per un attaccante passivo (richiede fattorizzare) alcuni numeri prodotto di due primi sono facili da fattorizzare alcuni messaggi sono facili da decifrare attacchi attivi

RSA - Attacchi Messaggi facili da decifrare se m= 0,1,n-1 allora RSA(m) = m: SOLUZ: rari, uso salt Se m è piccolo o se lo spazio dei possibili messaggi è piccolo si può procedere per enumerazione: SOLUZ. aggiungere salt alla fine del messaggio Se MCD(p-1,q-1) e d sono piccoli decrittare RSA(m) richiede di calcolare la radice di un numero piccolo: SOLUZ. scegliere d grande Se due utenti hanno chiavi con lo stesso n (ma e e d diversi) allora il sistema è debole: SOLUZ. ognuno si sceglie il proprio n

RSA - Attacchi Proprietà moltiplicativa di RSA: Se M =M1 M2 allora (M1 M2) e = M1 e M2 e Quindi Trudy può procedere per messaggi piccoli (attacco ciphertext) Generalizzabile se M= M1 M2...Mk Soluzione: padding su messaggi brevi

RSA - Attacchi Proprietà moltiplicativa di RSA Attacco chosen ciphertext: T conosce c = M e mod n e vuole conoscere M sceglie a caso X e calcola c = c X e mod n e chiede a A di decodificare c (cioè di firmare) A calcola (c ) d = c d (X e ) d = M X mod n Soluzione: imporre struttura sui messaggi da codificare (A rifiuta di codificare se M non verifica quanto richiesto) - Non firmare mai cose random e usare sempre hash!!

Problemi per uso effettivo Due parole: Key Exchange

Autentica di Messaggi - Scopo Garantire l integrità dei messaggi anche in presenza di un avversario attivo che manda i suoi messaggi (corretti) Alice (mittente) Bob (ricevente) Franco (falsificatore) Nota: Autenticazione è ortogonale alla segretezza spesso un sistema deve garantire ambedue

Definizioni Algoritmo di autenticazione - A Algoritmo di autenticazione - V ( accetta / rifiuta ) Chiave di autenticazione k Spazio dei messaggi (stringhe binarie): ogni messaggio fra Alice e Bob è una coppia (m, A k (m)) A k (m) è impronta (authentication tag) di m

Proprietà funzioni MAC Requisito di sicurezza avversario non può costruire una nuova coppia corretta (m, MAC k (m)) anche dopo aver visto (m i, MAC k (m i )) (i=1,2,,n) Output deve essere corto Funzioni MAC non sono 1-to-1

Efficienza Scopo avversario: Date n coppie legali (m 1, MAC k (m 1 )),, (m n, MAC k (m n )) trovare una nuova coppia legale (m, MAC k (m)) efficientemente e con probabilità non trascurabile. NOTA: Se n è grande abbastanza allora n coppie (m i, MAC k (m i )) determinano la chiave k unicamente (con alta prob.). Quindi una elaboratore nondeterministico può indovinare k e verificare. Eseguire questo deve essere un compito computazionalmente difficile.

MAC Usati in pratica Vediamo MAC basato su modalità codifica CBC usa codifica crittog. a blocchi lento, problemi esportazione fuori USA MAC basato su funzioni hash crittografiche veloce nessun problema esportazione

MACs con CBC Inizia con il seme di tutti zero. dato un messaggio di n blocchi M 1,M 2,,M n, applica CBC (usando la chiave segreta k). 0000000 M 1 M 2 M n E k C 1 E k C 2.......... E k C n Scarta i primi n-1 cipertext blocchi C 1,C 2,,, usa C n. Invia M 1,M 2,,M n & il tag di autenticazione MAC k (M)=C n.

Utilizzo di funzioni hash per Obiettivi il calcolo del MAC calcola Mac usando una funzione hash, il messaggio e una chiave segreta utilizzare una qualunque funzione hash Esempi MAC k (m)=h(k,m), MAC k (m)=h(m,k)

Paradosso del compleanno Se 23 persone sono scelte a caso la b che due due di esse abbiano lo stesso compleanno è maggiore di 0.5 In generale, sia h:dær una qualunque funzione. Se si sceglie 1.17 R 1/2 elementi di D a caso, la probabilità che due di essi diano lostesso valore della funzione è maggiore di 0.5.

Funzioni Hash Crittografiche Funzioni hash Crittografiche sono funzioni hash che sono strongly collision resistant. Nota: Non c è chiave segreta. Devono essere veloci da calcolare ma difficile trovare collisioni (impossibile se P diverso da NP). Di solito definite usando una funzione di compressione con dominio n bits (es. 512) e codominio di m bits (es. 160), m < n.

Secure Hash Algorithm (SHA-1) SHA progettato da NIST & NSA in 1993, rivisto nel 1995 - SHA-1 US standard per uso con firma digitale con DSA standard FIPS 180-1 1995, Internet RFC3174 nb. l algortimo è SHA, lo standard è SHS produce 160-bit hash valori Metodo più usato si basa usl progetto di un vecchio algortimo MD4

HMAC Riceve in input un messaggio m, una chiave k e una funzione hash h Calcola MAC come: HMAC k (m,h)= h(k opad, h(k ipad,m)) la chiave è riempita con zeri a sin. per ottenere che k = lungh. di un blocco opad: 01011010, ipad: 00110110, ripetuti k /8 volte Teorema [BCK]: HMAC può essere falsificato se e solo se può esserlo la funzione hash (si trovano collisioni).

HMAC - Attacchi Attaccante vuole trovare due messaggi m e m t.c. HMAC k (m,h)= HMAC k (m,h); conosce IV,H ma non conosce k Si applica il paradosso del compleanno (blocco lungo n implica collisione con 2 n/2+1 tentativi)? No: attaccante non conosce k e quindi non può generare messaggi autentici; deve quindi osservare 2 n/2+1 messaggi generati con la stessa chiave (es. n= 128 almeno 2 bit) 64 + 1+ 8

HMAC in Pratica SSL / TLS WTLS IPSec: AH, ESP

RSA e Data integrity:oaep Problema: inviare dati con RSA non modificabili (senza identificazione del mittente) codif. c= RSA[M 0 k1 exor G(r)] [H(RSA[M 0 k1 exor G(r)]) exor r] k0, k1 noti; G,H funzioni hash, note; r stringa casuale di k bit (scelta dal mittente); decod. cd= s t (con t di k0 bit); u=t exorh(s); v=s exor G(u); accetta se v = m 0 k1 ; altrimenti rifiuta OAEP è robusto anche nel caso di attacco chosen ciphertext (assumendo H e G buone funzioni hash)

Esercizi mostrare che il seguente metodo non è un buon metodo per calcolare l impronta di un testo indipendentemente dalla funzione usata: E k (M 1 M 2... M n ) oppure E k (M 1 ) M 2... M n

Firma digitale vs. MACs Supponi che A e B condividano una chiave segreta K. Allora M, MAC K (M) convince A che M è scritto da B. Ma in caso di disputa A non può convincere un giudice che M, MAC K (M) è stato inviato da B, poichè A potrenne generarlo lei stessa

Proprietà firma digitale Firma facile da verificare Difficile da falsificare. Hanno valore legale (convincere un aterza persona esempio un giudice).

Problemi con il Paradigma di DH Puro Facile falsificare messaggi casuali anche senza conoscere D A : Bob sceglie R e calcola S=E A (R). La coppia (S,R) è una firma valida di Alice del messaggio S. Lo schema è soggetto a existential forgery. Cosa implica?

Problemi con il Paradigma di DH Puro Considera RSA. La proprietà moltiplicativa implica che D A (M 1 M 2 ) = D A (M 1 ) D A (M 2 ). Se M 2 = Devo a BOB $20 e M 1 = 100 allora per qualche codifica M 1 M 2 = Devo a BOB $2000

Soluzione Standard : Hash Sia D A la chiave segreta di Alice e E A la sua chiave pubblica Per firmare M, Alice calcola y= H(M) e z=d A (y) e invia (M,z) a Bob. Per verificare la firma di Alice, Bob calcola y = E A (z) e verifica che x=h(m) La funzione H deve essere collision resistent, per cui è difficile trovare M con H(M)=H(M ).

Meccanismo Generale Generazione di chiavi pubbliche e private (casuali). Firma (o deterministica o probabilistica) Verifiche (accept/reject) - deterministico.

Digital Signature Standard (DSS) NIST, FIPS PUB 186 DSS usa SHA come funzione hash e DSA come metodo di firma DSA simile a El Gamal Più veloce per che firma piuttosto che per chi verifica: smart cards

Digital Signature Algorithm (DSA) p primo, q primo, p-1 = 0 mod q, g = h (p-1)/q mod p (g generatore del gruppo di ordine q in Z p ) Chiave Privata : 1 x q-1 (casuale). Chiave Pubblica: (p, q, g, y = g x mod p) Firma del messaggio M: Scegli a caso 1 k q-1, segreto!! Part I: r = (( g k mod p) mod q Part II: s =(SHA (M)+ x r) /k mod q

Perchè DSS è sicuro Non si rivela la chiave segreta Non si può falsificare senza la chiave segreta Non esistono duplicati con la stessa firma Usa un numero segreto per messaggio (S m )! Se S m è noto allora si può calcolare S Due messaggi con lo stesso S m possono rivelare S m, e quindi S

DSS - Attacchi se attaccante conosce k allora conosce x se attaccante conosce due messaggi firmati con stesso k (anche ignoto) allora conosce x

Esercizi 1. verificare che firma RSA non va bene fornendo esempi concreti di firme falsificate 2. cosa succede in DSA quando la PART II della firma è 0?