Crittografia Contemporanea (Simmetrica)

Crittografia Contemporanea (Simmetrica)

Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Crittografia contemporanea Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Classificazione dei sistemi crittografici contemporanei • Il criterio di distinzione più importante per i sistemi crittografici contemporanei riguarda il tipo e numero di chiavi usate: nei sistemi a chiave simmetrica viene utilizzata una sola chiave, nei sistemi a chiave asimmetrica ogni utente dispone di due chiavi, una pubblica e una privata. • Secondariamente, i sistemi crittografici possono essere distinti in base al tipo di dati su cui lavorano: i sistemi a blocchi elaborano i dati in blocchi di dimensione fissa (ad es. 64 bit), i sistemi a flusso elaborano i dati un byte (o bit, o altra unità di informazione) per volta. 2 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Sistemi a chiave simmetrica • In questa lezione parleremo di sistemi a chiave simmetrica (e principalmente di sistemi a blocchi). X: messaggio in chiaro, Y: messaggio cifrato, K: chiave. X’, K’: stime di X e K da parte di un attaccante 3 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Problemi della cifratura a chiave simmetrica • Il problema principale della cifratura a chiave simmetrica consiste nella diffusione della chiave • Se n persone devono comunicare tra di loro mediante messaggi crittati, sono necessarie n(n-1)/2 chiavi diverse (ordine di grandezza quadratico!). Ognuna di queste chiavi deve essere concordata tra mittente e destinatario su un canale sicuro… • Vedremo nelle prossime lezioni come questo problema possa essere mitigato dai sistemi a chiave asimmetrica 4 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Caratteristica fondamentale dell’algoritmo di cifratura • Essere facilmente computabile ed invertibile se la chiave è nota • Essere difficilmente invertibile in assenza della chiave • In questo contesto, “facile” e “difficile” si riferiscono alla fattibilità pratica di effettuare una data computazione in tempi ragionevoli con le tecnologie disponibili attualmente o che potranno essere disponibili in un prossimo futuro (sicurezza computazionale). 5 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Principio di Kerckhoffs • un crittosistema deve essere sicuro anche se il suo funzionamento è di pubblico dominio, con l'eccezione della chiave • In altre parole l’algoritmo non deve essere segreto. Al contrario, renderlo noto al pubblico contribuisce a garantire la sua robustezza in quanto può essere analizzato dalla comunità crittanalitica. 6 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea OTP e cifrari a flusso 7 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea One-Time Pad • OTP (o cifrario di Vernam ) è un cifrario di Vigenère con chiave lunga quanto il testo (senza ripetizioni), totalmente casuale e utilizzabile una volta sola • Il testo cifrato non ha più alcuna relazione con quello originario: questa cifratura è inviolabile se l’attaccante ha accesso al solo testo cifrato (sicurezza incondizionata contro attacchi passivi) 8 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Sicurezza di OTP (dim. intuitiva) • Dimostrazione intuitiva dell’inviolabilità di OTP: • Dato un testo cifrato, per qualsiasi testo in chiaro della stessa lunghezza esiste una chiave (unica ed equiprobabile ) che lo genera. Esempio: testo cifrato DREMUFCA chiave i j l t g o u a testo in chiaro v i t t o r i a Esercizio: scrivere un testo cifrato casuale, e trovare almeno due chiavi che lo trasformino in parole di chiave o d s x q u q m senso compiuto testo in chiaro p o m p e l m o 9 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Sicurezza di OTP (dim. formale) • Shannon: un cifrario è sicuro se il testo cifrato non rivela alcuna informazione riguardo al testo in chiaro. • Formalmente, si richiede che: Pr ̿ ͟, ͤ͡ Ɣ ͗ Ɣ Pr ̿ ͟, ͥ͡ Ɣ ͗ ∀͗ ∈ č, ∀ ͤ͡, ͥ͡ ∈ ė, ͤ͡ Ɣ |ͥ͡| • Nel caso di OTP, dato un messaggio m e un testo cifrato c, e ipotizzando che le chiavi siano casuali (distribuite uniformemente su ĕ): #& /.. &,( Ͱ ͥ Pr ̿ ͟, ͡ Ɣ ͗ Ɣ Ɣ (costante ∀ ͡) ĕ ĕ č: insieme dei testi cifrati, ĕ: insieme delle chiavi, ė: insieme dei testi in chiaro ̿ʚ͟, ͡ʛ: algoritmo di cifratura applicato sul messaggio m con chiave k 10 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea One-Time Pad / 3 • Ricordiamo che le chiavi devono essere casuali, uniche per ogni messaggio e lunghe (almeno) quanto il messaggio stesso. – Se la chiave non è lunga quanto il messaggio, l’algoritmo è vulnerabile ad un attacco di Kasiski (già visto per Vigenère) – Se una stessa chiave viene usata per cifrare più messaggi, si ricade nel caso precedente – Se la chiave non è casuale, allora alcune chiavi sono più probabili di altre: questo ci permette di discriminare tra due output 11 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea One-Time Pad / 3 • Due problemi principali limitano l’uso di OTP in pratica: – Difficoltà di creare chiavi davvero casuali – Necessità di condivisione delle chiavi tra mittente e destinatario • Il problema di trasmettere il messaggio non è stato risolto, ma solo trasformato nel problema di condividere una chiave altrettanto lunga. • Unico vantaggio: condivisione della chiave e trasmissione del messaggio possono avvenire in istanti diversi (es: condivisione iniziale sicura della chiave per proteggere la successiva trasmissione del messaggio su canale insicuro) 12 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Richiamo sull’operatore XOR • L’operatore exclusive-or (XOR, ⊕) è un operatore booleano che assume valore 1 quando due bit sono diversi, e 0 quando sono uguali p q p⊕⊕⊕q Esempio: 0 0 0 110101001 ⊕ 1 0 1 010011011 = 0 1 1 100110010 1 1 0 Proprietà fondamentali: • A ⊕ A = 0 • A ⊕ 0 = A • A ⊕ ( B ⊕ C ) = ( A ⊕ B ) ⊕ C 13 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea OTP binario • Se volessimo applicare OTP a dati binari? • L’alfabeto è composto da due soli simboli: 0, 1 • La tabella di Vigenère si semplifica: 0 1 In altre parole, l’operatore binario di XOR 0 0 1 1 1 0 • Quindi si può realizzare una cifratura OTP su dati binari combinandoli in XOR con una sequenza casuale di bit CIFRATURA: C = M ⊕ K DECIFRAUTRA: M = C ⊕ K ( C ⊕ K = M ⊕ K ⊕ K = M ) 14 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Riutilizzo delle chiavi con OTP binario • OTP binario ci permette di capire meglio perché la chiave OTP non può essere riutilizzata: • C1 = M1 ⊕ K • C2 = M2 ⊕ K M1, M2 testi in chiaro, K chiave, C1, C2 testi cifrati • C1 ⊕ C2 = M1 ⊕ K ⊕ M2 ⊕ K = M1 ⊕ M2 Lo XOR di due testi cifrati è uguale allo XOR dei rispettivi testi in chiaro. Permette ad esempio di identificare immediatamente porzioni di testo uguali (in quanto il risultato dello XOR è una sequenza di 0) 15 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Esempio visuale ⊕⊕⊕ = M1 K C1 ⊕⊕⊕ ⊕⊕⊕ = M2 K C2 16 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Altri attacchi a OTP • «sicurezza incondizionata» significa che non è possibile decifrare un messaggio cifrato con OTP avendo a disposizione solamente il testo cifrato, perché ogni decifrazione è ugualmente probabile e quindi indistinguibile (sicurezza rispetto agli attacchi passivi ) • Esistono tuttavia altri attacchi possibili a OTP, ad esempio sfruttando la sua malleabilità • Un cifrario è malleabile se è possibile alterare il testo cifrato in modo da ottenere un risultato specifico in seguito alla decifratura ( attacco attivo ) 17 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Malleabilità di OTP Cifratura: C = M ⊕ K Un attaccante intercetta C e lo sostituisce con C’ = C ⊕ N decifratura: M’ = C’ ⊕ K = M ⊕ K ⊕ N ⊕ K = M ⊕ N Se l’attaccante conosce M, può scegliere un opportuno N tale che, in fase di decifratura, il testo in chiaro originario M sia sostituito da un testo arbitrario M’, scelto dall’attaccante 18 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea OTP e cifrari a flusso • L’idea di OTP binario è alla base di molti cifrari a flusso , in cui i bit da cifrare sono elaborati indipendentemente l’uno dall’altro, senza la necessità di suddividerli in blocchi di dimensioni fisse • In questo caso i cifrari a flusso sono basati sull’uso di PRG (pseudo- random generators), generatori di sequenze di bit apparentemente casuali • Naturalmente questi algoritmi non sono delle vere implementazioni di OTP, in quanto la sequenza di bit non è davvero casuale (è pur sempre generata da algoritmi deterministici… ) • E’ tuttavia sufficiente che tale sequenza sembri casuale da un punto di vista statistico (ovvero, in assenza del seed iniziale è impossibile fare delle previsioni sulla sequenza generata dall’algoritmo) 19 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Cifrari a flusso Chiave casuale OTP ⊕ Testo in chiaro Ɣ Testo cifrato chiave PRG Cifrario a flusso basato su PRG sequenza pseudo-casuale ⊕ Testo in chiaro Ɣ Testo cifrato 20 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea Cifrari a blocchi 21 Sicurezza nelle applicazioni multimediali: lezione 3, crittografia contemporanea I concetti di confusione

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    72 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us