|
Mauro LEONCINI
Professore Ordinario Dipartimento di Scienze Fisiche, Informatiche e Matematiche sede ex-Matematica
|
Insegnamento: Algoritmi di crittografia
Informatica (Offerta formativa 2023)
Obiettivi formativi
L’insegnamento intende fornire conoscenze approfondite sui principali algoritmi di crittografia asimmetrica per cifratura e firma digitale. Verranno altresì discussi i principali attacchi basati sia su possibili debolezze implementative sia su altri fattori di contesto. A quest’ultimo proposito, una porzione significativa del corso sarà dedicata a momenti di aggiornamento delle ricorrenti tecniche di “aggiramento” anche delle più evolute tecniche di cifratura, sulla scorta di esperienze pratiche ricavate dalla quotidiana attività di difesa e protezione dei sistemi. Saranno esposti come spunti di riflessione episodi di vulnerabilità riconducibili per la gran parte a tecniche sempre più raffinate di cd ingegneria sociale decisamente imperniate nello sfruttamento del fattore umano comunemente individuato come il reale anello debole della catena di ogni tipo di sicurezza.
I singoli spunti pratici di riflessione saranno mirati ad affinare la più ampia sensibilizzazione sulle tematiche della sicurezza ed accrescere una matura consapevolezza critica degli studenti sulla necessità di una visione sistemica nella applicazione dei più evoluti processi tecnologici in un contesto di profonda rimodulazione di modelli organizzativi.
Prerequisiti
Non ci sono prerequisiti formali. Tuttavia un certo grado di maturità matematica risulta più che utile per una adeguata comprensione dei risultati di algebra e teoria dei numeri su cui si basano gli attuali protocolli asimmetrici. Parimenti utile è aver seguito un corso di programmazione e uno di algoritmi.
Programma del corso
L'insegnamento si svolge nel II semestre del I anno, per un totale di 42 ore di didattica frontale. La scansione dei contenuti sotto riportati, in termini di ore, è da intendersi come indicativa.
1. Introduzione e cenni sulla crittografia simmetrica (4h)
2. Algoritmi e basi matematiche per la crittografia asimmetrica (7h)
3. Il problema dello scambio di chiavi e protocollo di Diffie e Hellman (3 h)
4. Algoritmi e protocolli asimmetrici per la cifratura: RSA, Rabin, ElGamal (3h)
5. Firma digitale, algoritmi RSA, ElGamal, DSA (4h)
6. Approcci all’autenticazione: TLS e PGP (4h)
7. Curve ellittiche, proprietà a algoritmi per lo scambio di chiavi (ECDH) e per la firma digitale (ECDSA) (5h)
8. Ingegneria sociale e crimine informatica. Teoria e casi di studio
Metodi didattici
La didattica è basata escusivamente su lezioni/esercitazioni da svolgere in aula. Gli studenti sono invitati, quando possibile, di portare il proprio computer portatile per lo svolgimento di esempi sotto la guida del docente. Il corso è erogato in lingua italiana. La frequenza non è obbligatoria ma fortemente consigliata.
Tutte le informazioni tecniche e organizzative sull'insegnamento saranno caricate su piattaforma moodle.unimore.it. Si invita lo studente ad iscriversi ed a consultare tale piattaforma con regolarità. Si fa però presente che il materiale didattico aggiuntivo fornito dal docente sarà caricato su altra piattaforma (le indicazioni saranno però sempre su moodle).
Testi di riferimento
Non c’è un testo preciso di riferimento. Il materiale didattico (dispense, appunti reperibili in rete, software, ...) verrà messo a disposizione dai docenti con indicazioni riportate sulla piattaforma moodle.unimore.it.
Per consultazione si segnala comunque il seguente testo: J.P. Aumasson. Serious Cryptography. No Starch Press, San Francisco 2018
Verifica dell'apprendimento
La prova d'esame consisterà in un colloquio orale della durata di circa 40 minuti. Il colloquio verterà esclusivamente sugli argomenti presentati a lezione. Oltre che sulla base dell'effettiva conoscenza dei contenuti (sufficiente di per se ad ottenere la sufficienza, in caso positivo) anche sulla approproprietezza del linguaggio tecnico, la chiarezza espositiva e la capacità di analizzare criticamente i casi applicativi presentati.
Risultati attesi
Conoscenza e comprensione
A fine corso lo studente avrà acquisito conoscenze solide riguardo le principali tecniche di crittografia asimmetrica e su un campione significativo di algoritmi usati in diversi scenari. Avrà altresì conoscenza delle principali debolezze legate in particolare allo sfruttamento del fattore umano.
Capacità di applicare conoscenza e comprensione
La parti del corso dedicate all’uso sperimentale di alcune suite disponibili e le analisi svolte su particolari casi di studio hanno come obiettivo di far acquisire allo studente la corretta percezione della difficoltà di tradurre le idee crittografiche studiate in protocolli sicuri. Tale consapevolezza è la prima fondamentale competenza del professionista in questo delicato campo.
Autonomia di giudizio
Anche se il campo di studio in questione è vasto e delicato, per le possibili conseguenze di scelte sbagliate, lo studente potrà sviluppare competenze che lo metteranno in grado di operare una scelta consapevole degli strumenti crittografici da utilizzare nei vari contesti e alla luce di specifici modelli organizzativi.
Abilità comunicative
Il corso contribuisce allo sviluppo generale di abilità comunicative attraverso la discussione, durante le lezioni, delle motivazione a sostegno di differenti determinate soluzioni in ipotetici scenari applicativi.
Capacità di apprendimento
Come per le abilità comunicative, il corso è solo una “tessera” del più ampio mosaico che rappresenta le capacità acquisite dallo studente durante il suo periodo di formazione. Relativamente al campo della crittografia, è fondamentale che lo studente sviluppi prima di tutto una sensibilità verso la necessità di essere costantemente aggiornato sia in tema di soluzioni disponibili sia in quello delle possibili vulnerabilità messe in luce da indagini critto-analitiche e di ingegneria sociale.