Nuova ricerca

Mauro LEONCINI

Professore Ordinario
Dipartimento di Scienze Fisiche, Informatiche e Matematiche sede ex-Matematica

Insegnamento: Algoritmi di crittografia

Informatica (Offerta formativa 2022)

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. Modelli e algoritmi (2h)
2. Funzioni hash crittografiche (3h)
3. Aritmetica modulare (3h)
4. Problemi e algoritmi fondamentali per la crittografia asimmterica (5h)
5. Il problema dello scambio di chiavi (4h)
6. Algoritmi di cifratura (4h)
7. Firma digitale (4h)
8. Approcci all’autenticazione: TLS e PGP (3h)
9. Tecniche di attacco non matematiche, casi di studio (6h)
10. Tecnologie e istanze di sicurezza nel contesto di modelli organizzativi (4h)
11. Cenni a crittografia “post-quantum” (4h)

Metodi didattici

La didattica è basata, in via ordinaria (*), 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.

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).

(*) A causa della situazione sanitaria COVID19, nei due precedenti anni accademici le lezioni sono state svolte a distanza su piattaforma Meet, sia in modalità asincrona (2019/20) sia in modalità sincrona (2020/21). In tali anni gli obiettivi formativi sono stati opportunamente rimodulati.

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.

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.