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

Размер: px
Начинать показ со страницы:

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

Транскрипт

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

2 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)

3 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.

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

5 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

6 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)

7 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

8 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

9 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

10 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.

11 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

12 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 ) Ogni codifica richiede diverse operazioni modulari. Decodifica è più lunga.

13 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

14 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

15 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

16 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!!

17 Problemi per uso effettivo Due parole: Key Exchange

18 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

19 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

20 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

21 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.

22 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

23 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) M 1 M 2 M n E k C 1 E k C 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.

24 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)

25 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.

26 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.

27 Secure Hash Algorithm (SHA-1) SHA progettato da NIST & NSA in 1993, rivisto nel SHA-1 US standard per uso con firma digitale con DSA standard FIPS , 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

28 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: , ipad: , ripetuti k /8 volte Teorema [BCK]: HMAC può essere falsificato se e solo se può esserlo la funzione hash (si trovano collisioni).

29 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)

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

31 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)

32 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

33 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

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

35 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?

36 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

37 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 ).

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

39 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

40 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

41 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

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

43 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?

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

La funzione Hash. Garanzia dell integrità dei dati e autenticazione dei messaggi La funzione Hash Garanzia dell integrità dei dati e autenticazione dei messaggi Come funziona l Hash function Associa stringhe di bit di lunghezza arbitraria e finita stringhe di bit di lunghezza inferiore.

Подробнее

logaritmo discreto come funzione unidirezionale

logaritmo discreto come funzione unidirezionale logaritmo discreto come funzione unidirezionale in generale, lavoreremo con il gruppo U(Z p ) = Z p dati g generatore di Z p e x tale che 1 x p 1, calcolare y = g x è computazionalmente facile (y g x (mod

Подробнее

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

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per Funzioni Hash Impronta Digitale Impronta digitale di un messaggio L impronta digitale deve essere facile da calcolare difficile da invertire unica L impronta digitale viene utilizzata per garantire l integrità

Подробнее

Funzioni di hash sicure: MD5 e SHA-1

Funzioni di hash sicure: MD5 e SHA-1 POLITECNICO DI MILANO Funzioni di hash sicure: MD5 e SHA-1 CEFRIEL - Politecnico di Milano [email protected] http://www.cefriel.it/~cerri/ Funzioni di hash Una funzione di hash (o message digest) è una

Подробнее

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Подробнее

Sicurezza nelle reti: protezione della comunicazione

Sicurezza nelle reti: protezione della comunicazione Sicurezza nelle reti: protezione della comunicazione Gaia Maselli [email protected] Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material

Подробнее

Crittografia e sicurezza delle reti

Crittografia e sicurezza delle reti Crittografia e sicurezza delle reti Crittografia a chiave pubblica 1. One way Trapdoor Functions 2. RSA Public Key CryptoSystem 3. Diffie-Hellman 4. El Gamal RSA: Frammenti dall articolo (1978) The era

Подробнее

Crittografia per la sicurezza dei dati

Crittografia per la sicurezza dei dati Crittografia per la sicurezza dei dati Esigenza di sicurezza in rete significa: -garanzia di riservatezza dei dati in rete (e-mail) -garanzia di transazioni sicure (e-commerce, home banking) La crittografia

Подробнее

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

Sicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash Funzioni crittografiche di hash Codici di checksum Un codice di checksum è una firma di dimensione fissa (ad es. 32 bit) calcolata a partire da un messaggio (*) di lunghezza variabile. Ogni messaggio ha

Подробнее

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

Identificazione, Autenticazione e Firma Digitale. Firma digitale... Identificazione, Autenticazione e Firma Digitale In origine crittografia = confidenzialità Diffusione delle reti: nuove funzionalità. Identificazione Autenticazione Firma digitale Identificazione: un sistema

Подробнее

Message Authentication Code

Message Authentication Code Message Authentication Code Message Authentication Code (MAC) messaggio M Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno [email protected] http://www.dia.unisa.it/professori/ads

Подробнее

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno [email protected] http://www.dia.unisa.it/professori/masucci Cifrari simmetrici canale

Подробнее

NUMERI PRIMI E CRITTOGRAFIA

NUMERI PRIMI E CRITTOGRAFIA NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica dall antichità all era del computer Parte II. Note della Teoria dei Numeri concetti ed algoritmi a supporto della Crittografia Parte

Подробнее

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Подробнее

(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

(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 ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto si denota con U(Z n ) e ha ordine φ(n) esempio:

Подробнее

Crittografia con Python

Crittografia con Python Crittografia con Python Corso introduttivo Marzo 2015 Con materiale adattato dal libro Hacking Secret Cypher With Python di Al Sweigart (http://inventwithpython.com/hacking/index.html) Ci eravamo lasciati

Подробнее

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

Corso di Crittografia Prof. Dario Catalano. Firme Digitali Corso di Crittografia Prof. Dario Catalano Firme Digitali Introduzione n Una firma digitale e l equivalente informatico di una firma convenzionale. n Molto simile a MA, solo che qui abbiamo una struttura

Подробнее

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

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo E necessaria la chiave segreta? RSA Rivest, Shamir, Adelman A manda a B lo scrigno chiuso con il suo lucchetto. B chiude lo scrigno con un secondo lucchetto e lo rimanda ad A A toglie il suo lucchetto

Подробнее

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

La firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d Definizione Sistemi per la creazione e la verifica di firme digitali Differenze tra firma digitale e firma convenzionale Valore giuridico della firma digitale in Italia Crittografia asimmetrica 11-01-2010

Подробнее

Crittografia e sicurezza delle reti

Crittografia e sicurezza delle reti Crittografia e sicurezza delle reti IPSEC Scambio di chiavi (Diffie Hellman) SSL/TLS SET Architettura di sicurezza Applicaz. (SHTTP) SSL/TLS TCP IPSEC IP applicazioni sicure (ad es. PGP, SHTTP, SFTP, ecc.)

Подробнее

Crittografia e firma digitale. Prof. Giuseppe Chiumeo

Crittografia e firma digitale. Prof. Giuseppe Chiumeo Crittografia e firma digitale Prof. Giuseppe Chiumeo [email protected] INTRODUZIONE Lo sviluppo dell e-business oggi ha bisogno di garanzie per quanto riguarda l inviolabilità dei dati trasmessi.

Подробнее

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

Integrità dei messaggi. Funzioni di Hash e codici MAC. Message digest. Message digest e funzioni di hash Sicurezza nei Sistemi Informativi Integrità dei messaggi Funzioni di Hash e codici MAC una persona che intercetti una comunicazione cifrata non può leggerla...... ma può modificarla in modo imprevedibile!

Подробнее

Autenticazione dei messaggi e funzioni hash

Autenticazione dei messaggi e funzioni hash Autenticazione dei messaggi e funzioni hash Autenticazione L autenticazione serve a: Proteggere l integrità del messaggio Validare l identità del mittente Garantire la non ripudiabilità In generale, tre

Подробнее

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno [email protected] http://www.di.unisa.it/professori/masucci Cifrari simmetrici canale insicuro Bob 1 Distribuzione

Подробнее

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

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro... Crittografia A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro... Mister X...anche in presenza di Mister X, un avversario che ascolta la

Подробнее

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

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto (mod n) si denota con U(Z n ) e ha ordine φ(n) esempio:

Подробнее

Crittografia avanzata Lezione del 21 Marzo 2011

Crittografia avanzata Lezione del 21 Marzo 2011 Crittografia avanzata Lezione del 21 Marzo 2011 Attacchi alle funzioni hash Collisioni: trovare due messaggi M1 e M2 tali che H(M1) = H(M2) in meno di 2^(L/2) tentativi L è la lunghezza dell'hash Mezzi

Подробнее

Privacy e firma digitale

Privacy e firma digitale WORKSHOP Connessione in rete: sicurezza informatica e riservatezza Privacy e firma digitale C. Giustozzi Privacy e firma digitale Corrado Giustozzi ([email protected]) 1 Le comunicazioni elettroniche

Подробнее

I Cifrari Perfetti. Alessio Nunzi Fabiola Genevois Federico Russo

I Cifrari Perfetti. Alessio Nunzi Fabiola Genevois Federico Russo I Cifrari Perfetti Alessio Nunzi Fabiola Genevois Federico Russo Fabiola Genevois Strategie d attacco Sicurezza dei sistemi crittografici Il cifrario Perfetto Enunciato di Shannon Il cifrario di Vernam

Подробнее