Ing Ind - Inf (1 liv.)(ord. 270) - MI (358) INGEGNERIA INFORMATICA
*
A
ZZZZ
051230 - SICUREZZA DELLE RETI
Obiettivi dell'insegnamento
L'obiettivo del corso è introdurre agli aspetti di sicurezza nelle reti di comunicazione, in particolare Internet, fornendo un'ampia panoramica dalla crittografia ai protocolli e sistemi per la comunicazione sicura in rete.
Dopo un'introduzione alle basi teoriche della crittografia e alla teoria dei numeri (matematica dei numeri interi o matematica discreta), sono presentati i più importanti algoritmi di cifratura sia a chiave simmetrica sia a chiave pubblica. In seguito, sono illustrati metodi e protocolli di autenticazione di messaggi e di utenti, basati su funzioni hash, firme elettroniche, protocolli Sfida e Risposta, password, certificati, nonché i protocolli di instaurazione e distribuzione delle chiavi di cifratura. Infine, sono illustrati protocolli per la sicurezza della comunicazione in Internet, a livello di applicazione, trasporto, e rete.
Il corso potrà essere arricchito da seminari monografici complementari su temi specifici di sicurezza delle reti, tenuti da esperti dell'industria o operatori di telecomunicazioni.
Tutti gli argomenti del corso sono affrontati fornendo la necessaria cultura teorica matematica, ma sempre sottolineando gli aspetti pratici e applicativi di maggiore rilevanza.
Risultati di apprendimento attesi
1. Conoscenza e comprensione
A seguito del corso e del superamento fruttuoso dell'esame, lo studente dovrebbe conoscere:
· le basi teoriche della crittografia e alla teoria dei numeri (matematica discreta); · i principi dei più importanti algoritmi di cifratura a chiave simmetrica, dai cifrari classici a DES e AES; · i principi degli algoritmi di cifratura a chiave pubblica, in particolare RSA ed El Gamal; · metodi e protocolli di autenticazione di messaggi basati su funzioni hash e firme elettroniche; · metodi e protocolli di autenticazione degli utenti basati su password, Sfida e Risposta, OTP, certificati e PKI; · i principi dei protocolli di instaurazione e distribuzione delle chiavi di cifratura; · i principi dei protocolli per la sicurezza della comunicazione in Internet a livello di applicazione, trasporto, e rete.
2. Capacità di applicare conoscenza e comprensione
Grazie ai numerosi esercizi numerici, che costituiscono parte rilevante della prova d'esame, lo studente dovrebbe non solo acquisire la capacità di applicare in pratica le conoscenze teoriche di crittografia, ma anche migliorare le sue capacità di risoluzione numerica e calcolo in problemi pratici, capacità che sono essenziali per un Ingegnere.
Inoltre, dato che le lezioni sottolineano sempre gli aspetti pratici e applicativi di maggiore rilevanza, lo studente dovrebbe anche diventare in grado di applicare autonomamente le conoscenze apprese a situazioni e problemi nuovi e diversi.
5. Capacità di apprendimento
Le capacità di apprendimento dello studente sono stimolate attraverso l'impiego di due libri di testo molto apprezzati in campo internazionale, uno per la crittografia e uno per i protocolli di sicurezza di rete. I lucidi sono utilizzati per facilitare l'esposizione degli argomenti in circa metà del corso, ma non sostituiscono mai i libri di testo, onde favorire l'attività di studio e comprensione della materia su un testo completo.
Inoltre, durante il corso sono periodicamente proposti micro-progetti facoltativi di calcolo numerico in Excel di algoritmi presentati a lezione, per cui si suggerisce di lavorare in piccoli gruppi, onde stimolare negli studenti la capacità di applicare e sviluppare in maniera autonoma i concetti appresi in classe, anche superando le difficoltà pratiche di realizzazione (problem solving).
Argomenti trattati
1 INTRODUZIONE ALLA CRITTOGRAFIA E ALLE COMUNICAZIONI SICURE.
2 BASI DI TEORIA DEI NUMERI (MATEMATICA DISCRETA). Nozioni di base di aritmetica modulare. Numeri primi. Operazioni modulo n: congruenze, divisioni, elevamento a potenza. Algoritmo di Euclide. Teoremi di Fermat e di Eulero. Elementi primitivi. Radici quadrate mod n.
3 CIFRARI A CHIAVE SIMMETRICA. Cifrari classici. Cifrari a blocchi. Cifrari a catena. Algoritmo DES. Algoritmo AES.
4 GENERAZIONE DI BIT PSEUDOCASUALI. Algoritmo Blum-Blum-Shub. Successioni LFSR da registri a scorrimento retroazionati. Applicazioni ai sistemi di comunicazione (scrambling).
5 CIFRARI A CHIAVE PUBBLICA. Algoritmo di cifratura a chiave pubblica RSA. Test di primalità. Fattorizzazione. Logaritmo discreto. Algoritmo di cifratura a chiave pubblica di El Gamal.
6 AUTENTICAZIONE DEI MESSAGGI: FUNZIONI HASH E FIRMA ELETTRONICA. Funzioni di hash. SHA. Attacco del compleanno. Firma RSA. Firma di El Gamal.
7 PROTOCOLLI DI INSTAURAZIONE E DISTRIBUZIONE DELLE CHIAVI. Instaurazione e distribuzione di chiavi simmetriche, senza e con autenticazione. Protocollo di instaurazione della chiave di Diffie-Hellman. Protocollo station-to-station. Protocollo di Shamir-Massey-Omura. Schema di predistribuzione delle chiavi di Blom. Protocollo wide-mouthed-frog. Protocollo di Needham e Schroeder.
8 AUTENTICAZIONE DI UTENTE Protocolli di autenticazione basati su Sfida e Risposta. Password monouso (OTP). Kerberos.
9 CERTIFICATI E INFRASTRUTTURA A CHIAVE PUBBLICA (PKI). Autorità di certificazione. Certificati. Infrastruttura a chiave pubblica (PKI).
10 PROTOCOLLI E SISTEMI PER LA SICUREZZA DI RETE. Sicurezza a livello di trasporto e di applicazione: SSL/TLS, HTTPS, Secure Email (PGP e S/MIME). Sicurezza a livello di rete: IPsec.
Attività complementari: SEMINARI MONOGRAFICI SU TEMI DI SICUREZZA DELLE RETI TENUTI DA ESPERTI DELL'INDUSTRIA E DI OPERATORI DI TELECOMUNICAZIONI. Esempi di argomenti: protocolli di autenticazione, sicurezza nelle reti radiomobili, firewall, malware, attacchi e protezione dei sistemi informatici e di comunicazione.
Si consiglia di seguire le lezioni e le esercitazioni per un'ottimale comprensione di tutti gli argomenti.
Prerequisiti
Conoscenze di base di matematica e reti di telecomunicazione.
Modalità di valutazione
La verifica dell'apprendimento consiste in una prova scritta comprendente esercizi numerici e domande a risposta aperta su argomenti di teoria. Entrambi sono strutturati in modo da verificare i "risultati di apprendimento attesi" 1, 2, e 5 descritti in precedenza, in particolare non solo la comprensione degli argomenti, ma anche la capacità di applicare le conoscenze teoriche e di risoluzione numerica di problemi pratici, e di rielaborare in maniera autonoma le conoscenze apprese a lezione.
Un esame orale integrativo è possibile su richiesta dello studente e a discrezione del docente, in base allo svolgimento della prova scritta. Non sono previste prove in itinere. Le prove d'esame sono onnicomprensive e vertono su tutto il programma del corso.
Lo studente che non si ritenga soddisfatto della votazione conseguita è ammesso agli appelli successivi per tentare di migliorare il proprio voto sino all’ultima sessione dell’A.A. Consegnando la prova, si annulla automaticamente ogni voto precedentemente conseguito. In caso di consegna di un compito fortemente insufficiente, lo studente potrà essere rimandato alla sessione d'esame successiva saltando un appello.
Bibliografia
Wade Trappe, Lawrence C. Washington, Crittografia. Con elementi della teoria dei codici. (2a edizione), Editore: Pearson / Prentice Hall, Anno edizione: 2009 Note:
Italian translation from the original edition in English.
William B. Stallings, Network Security Essentials: Applications and Standards. 6th Edition, Editore: Pearson, Anno edizione: 2016
Stefano Bregni e Maurizio Decina, Appunti vari Note:
Appunti distribuiti a cura del docente
AA. VV., Materiale degli eventuali seminari monografici Note:
Appunti distribuiti dal docente e da chi tiene il seminario.
Software utilizzato
Nessun software richiesto
Forme didattiche
Tipo Forma Didattica
Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
30:00
45:00
Esercitazione
20:00
30:00
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale
50:00
75:00
Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua
Italiano
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese