Sicurezza e Crittografia

Slides:



Advertisements
Presentazioni simili
Elementi di Crittografia MAC e FUNZIONI HASH
Advertisements

Algoritmi e Strutture Dati
Sicurezza II Prof. Dario Catalano
Lez. 13a1 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Funzioni Hash.
Autenticazione dei messaggi e funzioni hash
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Algoritmi e Strutture Dati
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
LA CRITTOGRAFIA QUANTISTICA
Secure Socket Layer (SSL) Transport Layer Security (TLS)
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
Capitolo 8 La sicurezza nelle reti
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
Analisi e sperimentazione di una Certification Authority
UNIVERSITÀ DEGLI STUDI DI PAVIA Anno accademico 2009/2010 Sicurezza e frodi informatiche in Internet: la Firma Digitale come garanzia di autenticità e.
Sicurezza informatica
PKI e loro implementazione Corso di Sisitemi Informativi Teledidattico A.A. 2006/07
Elgamal Corso di Sicurezza – A.A. 2006/07 Angeli Fabio29/05/2007.
Informatica Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate.
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Introduzione alla Sicurezza Informatica ISIS ”C. Facchinetti” - Castellanza ( VA) 7 Maggio 2012.
LinuxDay 2009, Trento Navigare e usare la posta elettronica con consapevolezza Gianluca Ciccarelli, LinuxTrent
Domenico Procopio. Crittografia Crittografia La crittografia (dal greco kryptòs=nascosto e graphè=scrittura) sta ad indicare un insieme.
Sicurezza e crittografia asimmetrica ● Info su redsh.wordpress.com/corso-linux ●
Universita` degli studi di Perugia Corso di Laurea Magistrale in Informatica NetCash Antonio Cestari Pietro Palazzo.
Cryptographic Hash Functions by Paolo Bernardi. Cosa sono? y = h(x) N → numero di possibili input M → numero di possibili output N >> M (di solito almeno.
D. Masini – La privacy e le comunicazioni digitali Firenze, 9 Mag 2008 – e-privacy La privacy e le comunicazioni digitali Daniele Masini
Bitcoin “What is a Bitcoin?”. What is a Bitcoin? Bitcoin The 4th most common research on Google in 2014.
Firma digitale Tecnologie Normativa Utilizzo e Organizzazione Emanuele Tonelli Marzo 2005.
Renato Betti - Politecnico di Milano I principi della crittografia a chiave pubblica LA CRITTOGRAFIA, DOMANI.
IL COMMERCIO ELETTRONICO
Gestione della memoria
Archivi in Digitale: Firma Digitale
Crittografia ….. nello Scarabeo d’oro di Poe
Sistema di Autenticazione unica (Single-Sign-On) (azione #8)
Rappresentazione dell’ Informazione Informazione e Comunicazione
Comunicazione Come comunico in maniera sicura su internet!? ALICE BOB
Dal problema al processo risolutivo
CRITTOGRAFIA Per crittografia si intende la protezione delle informazioni mediante l'utilizzo di codici e cifre. La crittografia è un componente fondamentale.
Gli array Moreno Marzolla
Sistema di Autenticazione unica (Single-Sign-On) (azione #8)
Il linguaggio C Strutture Moreno Marzolla
Logica binaria Moreno Marzolla
Dal problema al processo risolutivo
Sicurezza informatica
Sicurezza informatica
Crittografia e sicurezza
Giordano Scuderi Unico SRL Catania
System Security I vari sistemi di sicurezza che possiamo applicare ai nostri siti che gestiamo su internet.
Crittografia e sicurezza
Sistema di Autenticazione unica (Single-Sign-On) (azione #8)
Le comunicazioni in codice
Le comunicazioni in codice
Algebra di Boole e sue applicazioni
K4 è planare? E K3,3 e K5 sono planari? Sì!
Statistica Scienza che studia i fenomeni collettivi.
Programmare.
Posta Elettronica Certificata
Esercitazioni corso di RETI
Gli archivi e le basi di dati
IT SECURITY Controllo di accesso
Corso di Sicurezza – A.A. 2006/07
Programmazione Procedurale
Transcript della presentazione:

Sicurezza e Crittografia Moreno Marzolla Dipartimento di Informatica—Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/

Sicurezza e Crittografia Copyright © 2011, 2016, 2017 Moreno Marzolla http://www.moreno.marzolla.name/teaching/FINFA/ This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. Sicurezza e Crittografia

Sicurezza e Crittografia Ringraziamenti Prof. Gabriele D'Angelo, Università di Bologna https://www.unibo.it/sitoweb/g.dangelo/ Sicurezza e Crittografia

Sicurezza e Crittografia

La Sicurezza Informatica La sicurezza informatica è la protezione delle risorse dall'accesso, utilizzo, alterazione o distruzione non autorizzati Due tipi di sicurezza Fisica: protezione dei dispositivi fisici tramite allarmi, antifurto, porte blindate, casseforti... Logica: protezione delle informazioni tramite risorse non fisiche (crittografia, firma elettronica...) Sicurezza e Crittografia

Sicurezza informatica: terminologia Segretezza Impedire la divulgazione non autorizzata di dati, garantire l'autenticità della fonte Integrità Impedire le modifiche non autorizzate ai dati Autenticazione Verificare l'identità della controparte (con chi sto comunicando?) Disponibilità Impedire ritardi nella diffusione dei dati, o la loro rimozione Es: Attacchi Denial of Service (DoS), Ransomware Non ripudiabilità Impedire che la controparte possa negare una sua azione Sicurezza e Crittografia

Sicurezza e Crittografia Disciplina che studia le tecniche per cifrare un messaggio in modo tale che solo il legittimo destinatario sia in grado di leggerlo Requisiti: Cifrare/decifrare messaggi deve essere ragionevolmente efficiente Deve essere “difficile” interpretare un messaggio cifrato da parte di chi non è autorizzato Sicurezza e Crittografia

Principio di base Una procedura di cifratura trasforma un messaggio “in chiaro” M in un messaggio cifrato M' usando una chiave di cifratura Kenc È possibile ricavare M da M' mediante una procedura di decifratura, usando una chiave di decifratura Kdec Encryption key Kenc Decryption key Kdec E(Kenc, M) D(Kdec, M') M' = E(Kenc, M) M M Canale di comunicazione non sicuro Encrypt Decrypt Sicurezza e Crittografia

Sicurezza e Crittografia Notazione E(Kenc, M) Funzione di cifratura Data una chiave di cifratura Kenc e un messaggio M, restituisce il messaggio M' ottenuto cifrando M usando la chiave Kenc D(Kdec, M') Funzione di decifratura Dato un messaggio (cifrato) M' e una chiave di decifratura Kdec , restituisce il messaggio “in chiaro” M ottenuto decifrando M' con la chiave Kdec Sicurezza e Crittografia

Sicurezza e Crittografia Notazione Si deve sempre avere che: D(Kdec, E(Kenc, M)) = M Se cifro un messaggio M usando la chiave Kenc e decifro il risultato usando Kdec , devo ottenere nuovamente M Sicurezza e Crittografia

La sicurezza sta nelle chiavi La sicurezza di un algoritmo crittografico deve risiedere SOLO sulle chiavi crittografiche Chi non conosce la chiave NON deve essere in grado di interpretareil messaggio cifrato anche se conosce il modo con cui il messaggio è stato cifrato “Security by obscurity” = mantenere segreto l'algoritmo crittografico nella vana speranza di rendere la crittografia “più sicura” Non fidatevi mai MAI MAI di soluzioni crittografiche “fatte in casa”, soprattutto se basate su algoritmi “segreti” Sicurezza e Crittografia

Sistemi crittografici A chiave segreta (crittografia simmetrica) Si usa la stessa chiave per cifrare e decifrare In altre parole, Kenc = Kdec A chiave pubblica (crittografia asimmetrica) Le chiavi di cifratura e decifratura sono diverse In altre parole, Kenc ≠ Kdec Sicurezza e Crittografia

Sistemi crittografici a chiave simmetrica Uno dei primi esempi è il “cifrario di Cesare” La chiave K è un numero intero Ogni lettera dell'alfabeto viene sostituita da quella che la segue di K posizioni Esempio: se K = 3 allora A → D B → E C → F ... Z → C Il cifrario di Cesare non è sicuro! CIAOATUTTI K = 3 Il cifrario di Cesare è estremamente debole! Dato che ci sono solo 26 possibili chiavi, un attaccante può provarle tutte fino a quando non ottiene un messaggio “sensato” Un attacco più sofisticato considera le frequenze dei caratteri nel messaggio crittato. FLDRDWXWWL Sicurezza e Crittografia

Cifrari a sostituzione A. C. Doyle, Il ritorno di Sherlock Holmes—L'avventura degli omini danzanti I cifrari a sostituzione sono soggetti ad attacchi basati sulle frequenze dei simboli. Per ogni lingua sono infatti note le frequenze con cui le lettere compaiono; quindi si tenta di associare il simbolo cifrato più frequente con la lettera più frequente, il secondo simbolo più frequente con la seconda lettera più frequente e così via. By Sidney Paget (1860-1908) - de.WP, Public Domain, https://commons.wikimedia.org/w/index.php?curid=6635141 Sicurezza e Crittografia

DES (Data Encryption Standard) Progettato da IBM e adottato come standard dal governo USA nel 1977 Chiave lunga 56 bit Messaggio diviso in blocchi da 64 bit che vengono cifrati individualmente Esistono 256 ≈ 7,2 ´ 1016 chiavi Sembra un numero grande, ma un moderno calcolatore le può esaminare tutte in poche ore! Una variante (Triplo DES) usa chiavi più lunghe e fornisce un livello accettabile di sicurezza Sicurezza e Crittografia

AES (Advanced Encryption Standard) Adottato come standard nel 2001, sostituisce DES Caratteristiche di AES Il messaggio viene scomposto in blocchi da 128 bit che vengono cifrati individualmente Si possono usare chiavi lunghe 128, 192 o 256 bit Esistono 2128 » 3,4 ´ 1038 chiavi a 128 bit, per cui esaminarle tutte è al momento impraticabile Sicurezza e Crittografia

Sicurezza e Crittografia Riassunto Fonte: W. Stallings and L. Brown, Computer Security: Principles and Practice, Pearson; 2 edition, 2011, ISBN 978-0132775069 Sicurezza e Crittografia

Sicurezza e Crittografia https://xkcd.com/538/ Sicurezza e Crittografia

Pro e contro della crittografia simmetrica Gli algoritmi (Triplo DES, AES e altri) possono essere implementati in modo efficiente CONTRO Le parti che comunicano devono prima scambiarsi la chiave in modo sicuro Questo è un punto critico per il quale non esistono al momento soluzioni generali affidabili Sicurezza e Crittografia

Crittografia a chiave pubblica (asimmetrica) Introdotta nella seconda metà degli anni '70 da W. Diffie e M. Hellman Requisiti Ciascun utente ha due chiavi Se si usa una delle due chiavi per cifrare un messaggio, l'altra (e solo quella) può essere usata per decifrarlo È impossibile derivare una delle due chiavi anche se si conosce l'altra (le due chiavi sono totalmente indipendenti) Bailey Whitfield 'Whit' Diffie (image from Wikipedia) Sicurezza e Crittografia Martin Edward Hellman (image from Wikipedia)

Sicurezza e Crittografia Esempio K+ K- M' = E(K+, M) L'Italia è una Repubblica fondata sul lavoro L'Italia è una Repubblica fondata sul lavoro K- Cifratura usando K+ Decifratura usando K- Sicurezza e Crittografia

Sicurezza e Crittografia ...ma anche K- A K+ M' = E(K-, M) L'Italia è una Repubblica fondata sul lavoro L'Italia è una Repubblica fondata sul lavoro K+ Cifratura usando K- Decifratura usando K+ Sicurezza e Crittografia

Sicurezza e Crittografia Formalmente Se cifro con K+, posso decifrare solo con K- D(K-, E(K+, M)) = M Se cifro con K- posso decifrare solo con K+ D(K+, E(K-, M)) = M Sicurezza e Crittografia

Sicurezza e Crittografia Idea di base Ogni utente possiede due chiavi Una è pubblica, e viene resa disponibile a chiunque L'altra è privata, e l'utente deve custodirla gelosamente e non comunicarla a nessuno Chiavi pubbliche A+ B+ Chiavi private Alice Bob A- B- Sicurezza e Crittografia

Sicurezza e Crittografia Alice e Bob A+ B+ M' = E(B+, M) Alice B- Bob A- B- Alice cifra il messaggio M con la chiave pubblica di Bob B+ Bob decifra il messaggio M' con la propria chiave privata B- 1 2 Sicurezza e Crittografia

Sicurezza e Crittografia Però... ...come fa Bob ad essere sicuro che un messaggio proviene proprio da Alice e non da qualcun altro? Infatti chiunque può codificare il messaggio con la chiave pubblica di Bob, dato che tale chiave è disponibile a chiunque La crittografia asimmetrica può essere usata per risolvere anche questo problema Sicurezza e Crittografia

Sicurezza e Crittografia Alice e Bob A+ B+ M' = E(B+, E(A-, M)) B+ A- Alice M Bob A- B- Alice cifra il messaggio M prima con la sua chiave privata A-, e poi con quella pubblica di Bob B+ Bob decifra il messaggio con la propria chiave privata B-, e poi con quella pubblica di Alice A+ 1 2 Sicurezza e Crittografia

Pro e contro della crittografia asimmetrica Non occorre scambiarsi chiavi segrete: le uniche chiavi che è necessario comunicare sono quelle pubbliche (che per definizione sono pubbliche!) CONTRO Gli algoritmi di crittografia asimmetrica sono più lenti di quelli per crittografia simmetrica Come facciamo ad essere certi che la chiave pubblica, ad es., di Alice è veramente di Alice? Sicurezza e Crittografia

Integrità e firma digitale La crittografia a chiave pubblica può essere combinata con le funzioni hash crittografiche per autenticare l'origine di un messaggio e garantirne l'integrità Si fa uso delle funzioni hash crittografiche (dette anche one-way hash o funzioni digest, cioè funzioni riassunto) che vengono applicate al messaggio e ne producono un “riassunto” (MD = message digest). Sicurezza e Crittografia

Sicurezza e Crittografia Esempio (SHA-256) msg1.txt msg1.txt msg1.txt All work and no play makes Jack a dull boy sha256 5f10e43e591ed245374fae017f8c11e429f6bc6ebf42f2d1d75fb4d6e39b8f3b msg2.txt All work and no play makes Jack a dull boy All work and no play makes jack a dull boy sha256 369c932a24add019689c3896657b4c625dc7864d4959aaccaffa2b75254e955b Sicurezza e Crittografia

Caratteristiche di funzione hash crittografica Dato un messaggio M, una funzione hash produce un digest di M, MD(M), con le seguenti proprietà Il digest MD(M) ha una lunghezza fissa (es., 256 bit) che dipende dalla funzione hash usata Dato un digest, deve essere difficile costruire un messaggio M che abbia esattamente quel digest Se due messaggi M1 ed M2 differiscono “di poco”, i due digest MD(M1) e MD(M2) dovrebbero essere diversi Nota: è comunque impossibile garantire che messaggi diversi abbiano sempre digest diversi! Sicurezza e Crittografia

Funzioni hash usate in pratica MD5 Sviluppato da Ronald Rivest nel 1991 Genera un digest lungo 128 bit Oggi non è ritenuto abbastanza sicuro SHA (Secure Hash Algorithm) SHA-224, SHA-256, SHA-384, SHA-512 Famiglia di funzioni hash crittografiche sviluppate dalla NSA a partire dal 1993 SHA-x genera un digest lungo x bit (quindi SHA-512 genera un digest lungo 512 bit) Si preferisce usare SHA-256 o SHA-512 Ronald R. Rivest (Fonte: Wikipedia) Sicurezza e Crittografia

Sicurezza e Crittografia Uso del digest Alice vuole mandare un messaggio M (es., un contratto) da lei “firmato” in forma digitale Il testo del messaggio può essere lasciato in chiaro in modo che chiunque lo possa vedere Come può Bob essere sicuro dell'autenticità della firma di Alice? Come può Alice essere sicura che nessuno possa alterare il contenuto del messaggio da lei firmato, o falsificare la sua firma? Sicurezza e Crittografia

Sicurezza e Crittografia Firma digitale A+ B+ M A- Alice MD(M) Bob A- B- Alice calcola il digest MD(M) del messaggio M; quindi, cifra il digest con la propria chiave privata. Invia M e il digest cifrato a Bob Bob decifra il digest che accompagna il messaggio. Può quindi ricalcolare il digest e confrontarlo con quello inviato da Alice 1 2 Sicurezza e Crittografia

La crittografia nella vita quotidiana: TLS TLS viene utilizzato per autenticare l'identità del server cui si è connessi “Sono veramente connesso al server della mia banca?” Sicurezza e Crittografia

Come funziona TLS (molto approssimativo) Il browser dice: “Dimostrami che sei veramente en.wikipedia.org” Wikipedia risponde con un certificato digitale Contiene, tra l'altro, nome del server (en.wikipedia.org) e chiave pubblica del server Firmato da una Certification Authority (CA) Il browser verifica la firma della CA Il browser genera un numero casuale, lo cifra con la chiave pubblica del server e lo invia a en.wikipedia.org Il browser e Wikipedia usano quel numero come chiave di un algoritmo a chiave privata (es, AES) Sicurezza e Crittografia

Sicurezza e Crittografia Punti chiave Crittografia simmetrica: DES, AES Efficienti, ma bisogna condividere le chiavi in modo sicuro Crittografia a chiave pubblica Non ci sono chiavi da condividere in modo sicuro Consentono la firma digitale Poco efficienti, quindi prevalentemente usati per scambiarsi chiavi condivise La forza di un algoritmo crittografico sta solo nelle chiavi usate “security by obscurity” non funziona, né funzionerà mai Se il numero di possibili chiavi è troppo basso, è facile provarle tutte. LA lunghezza della chiave deve essere adeguata La crittografia è difficile Non inventatevi il vostro algoritmo crittografico “fatto in casa” Non fidatevi di algoritmi crittografici “segreti” L'anello debole sono quasi sempre le persone Sicurezza e Crittografia

Due letture interessanti (e non tecniche) Sicurezza e Crittografia

Sicurezza e Crittografia