Crittografia
Una Panoramica
del Corso
Luciano Margara
Dipartimento di Scienze dell’Informazione,
Università di Bologna
Obiettivo:
Comunicazioni private in
ambienti pubblici
?
Strumento: Cifrari
1
Esiste un cifrario “perfetto” ?
Perfetto ~ inattaccabile.
La risposta è né SI né NO !!
Esistono cifrari perfetti ma costosi
Esistono cifrari pratici meno perfetti ma economici ed efficienti
Robustezza
Conquistata sul campo
Relazione con problemi matematici difficili
Alcune Definizioni
Crittologia: Crittografia + Crittoanalisi
Crittografia: progetto di cifrari sicuri ed efficienti.
Crittoanalisi: metodi, strumenti e tecniche per attaccare
i cifrari (~ valutare la loro bontà).
Difficoltà di risoluzione
impossibilità: NO
improponibilità: SI
L’intruso X
Lo Scenario
Mitt
c
c
…
Dest
X
Mitt = mittente del messaggio m in chiaro
Dest = destinatario del crittogramma c
X = impostore che ascolta (crittoanalista)
C e D funzioni di cifratura e decifrazione
Motivo: curiosità, spionaggio, malvagità,…
Ruolo
Passivo: si limita ad ascoltare
Attivo: può inserirsi nella comunicazione o modificarla
Informazioni in suo possesso:
Cipher-text attack: serie di crittogrammi c1,…., cn
Known plain-text attack: collezione di coppie (mi, ci)
Chosen plain-text attack: collezione di coppie scelte
2
Definizioni e Notazione
Funzione di cifratura
C(m) = c
è il crittogramma
Come realizzare C e D ?
Due grandi famiglie:
Cifrari per uso ristretto
Cifrari per uso generale (con chiave segreta)
Funzione di decifrazione
D(c) = m
è il messaggio in chiaro originale
Matematicamente D è l’inversa di C:
D(C(m)) = m
Se D(C(m)) = C(D(m)) = m, allora commutativa
Siamo al punto di partenza ?
Quanto costa scambiare la chiave ?
Incontro face-to-face ma una tantum
Posso ammortizzare il costo dello scambio
Posso usare canali costosi e disponibili poco frequentemente
Lo spazio delle chiavi deve essere grande:
No brute-force attacks (visita esaustiva dello spazio)
Prerequisito cruciale ma non sufficiente
Passo in avanti sostanziale:
Dal punto di vista teorico
Dal punto di vista economico
Esempi: DES, RC5, IDEA, … (hanno superato la prova del fuoco)
Uso della chiave segreta k comporta:
C e D diventano C k e Dk
(funzioni parametriche)
Ck e Dk sono note a tutti, k è tenuta segreta
Sicurezza si fonda solo su k
Cosa significano ora “facile” e “impossibile” ?
Cifrari Simmetrici
Ruolo di Ck e Dk completamente interscambiabile
Mittente ~ Destinatario:
Conoscono la stessa chiave k
Entrambi possono cifrare e decifrare
Incontro segreto per accordarsi sulla chiave
Segretezza della chiave dipende da entrambi
Cifratura e decifrazione sono molto efficienti in pratica
Qual è il limite di questi cifrari ?
Dati n utenti, abbiamo bisogno di [n (n-1) / 2] chiavi
Troppe per essere memorizzate e scambiate segretamente
3
Crittografia a Chiave Pubblica
Anno 1976: punto di svolta!
Il Nuovo Scenario
U1
(Diffie-Hellman e Merkle)
Obiettivo: rompere il legame tra Ck e Dk
c1
Chiunque sappia come cifrare non deve sapere come decifrare
Dest
Chiave k scomposta in due parti < k[priv], k[pub] > :
La chiave k viene creata da Dest
Un
k[priv] tenuta segreta da Dest e usata per costruire D k[priv]
k[pub] resa pubblica da Dest e usata da tutti per definire Ck[pub]
cn
Difficile andare da k[pub] a k[priv] !!
Concetto funzione one-way trap-door:
Numero chiavi per n utenti ---> soltanto n !!
Lasciano penetrare qualche informazione...
Ck[pub] facile, ma Dk[priv] difficile senza k[priv] !
Esempi: RSA, El Gamal, … (sono considerati oggi robusti)
Panacea delle comunicazioni segrete?
Conclusioni
Cifrari asimmetrici sono inefficienti !
Confidenzialità è il solo requisito dei sistemi crittografici moderni ?
Sistemi Ibridi = asimmetrici + simmetrici !!
Oggigiorno se ne richiedono altri 4:
Mitt e Dest scelgono “pubblicamente” una chiave “segreta” K* utilizzando un
cifrario asimmetico
Mitt e Dest comunicano con un cifrario simmetrico basato su
K*
K* viene sostituita più volte nel corso di una comunicazione
(session-key)
Lentezza degli asimmetrici incontrata solo nello scambio sporadico delle session-key.
Incontro face-to-face per scambio chiavi segrete (nei simmetrici) aggirato attraverso l’uso
dei cifrari asimmetrici per raggiungere l’accordo.
N2 chiavi segrete (nei simmetrici) nascoste dall’uso delle session-key (usa e getta).
User Identification:
Identification: Dest può accertare che è proprio Mitt che sta
parlando o vuole parlare con lui.
Integrità
Integrità: Deve essere possibile per Dest stabilire che il messaggio
ricevuto non ha subito modifiche parziali o totali (sostituzione).
Autenticazione: Deve essere possibile per Dest accertare che il
messaggio ricevuto proviene proprio da Mitt.
Firma Elettronica: Mitt non può sottrarsi dall’ammettere che è stato
lui a spedire il messaggio, e Dest può convincere una terza persona
(giudice) che questo è il caso.
4
Scarica

Crittografia - Dipartimento di Informatica