NETWORKS AND SECURITY Canale unico

Docente coordinatore e verbalizzante: ANDREA BAIOCCHI

Obiettivi formativi

GENERALI
Il corso “Networks and Security” fornisce agli studenti una solida preparazione teorica e pratica sugli aspetti fondamentali delle architetture di rete, della qualità del servizio e della sicurezza nelle comunicazioni. Gli studenti acquisiranno una visione integrata delle reti di telecomunicazione, comprendendone la struttura multilivello, i meccanismi di trasporto e le soluzioni di accesso, con un focus sull’analisi delle prestazioni e sull’ottimizzazione dei sistemi di servizio attraverso modelli e strumenti di simulazione.
Una parte sostanziale del corso è dedicata alle basi della crittografia e ai principali protocolli di sicurezza per l’autenticazione, la riservatezza e l’integrità dei dati. Le attività pratiche completano la preparazione attraverso esercitazioni hands-on di configurazione e gestione di rete, per sviluppare capacità operative su tematiche come routing IP, misure di traffico e sicurezza. Il corso mira a formare figure in grado di comprendere, progettare e proteggere infrastrutture di rete moderne, con attenzione alle sfide prestazionali e di sicurezza proprie dei contesti reali.

SPECIFICI
• Conoscenza e capacità di comprensione: Gli studenti acquisiranno conoscenze approfondite su architetture di rete, metodi di analisi delle prestazioni, modelli di qualità del servizio, basi di crittografia e protocolli di sicurezza nelle comunicazioni.
• Capacità di applicare conoscenza e comprensione: Gli studenti saranno in grado di configurare reti IP, valutare le prestazioni di sistemi di servizio e implementare protocolli di sicurezza utilizzando strumenti software e ambienti di laboratorio.
• Autonomia di giudizio: Gli studenti svilupperanno la capacità di valutare criticamente soluzioni tecnologiche per il miglioramento della QoS e della sicurezza in reti di telecomunicazioni complesse.
• Abilità comunicative: Gli studenti saranno in grado di descrivere in modo chiaro ed efficace problematiche e soluzioni inerenti al networking e alla sicurezza, sia in ambito tecnico che multidisciplinare.
• Capacità di apprendimento: Il corso fornirà gli strumenti metodologici per approfondire autonomamente tematiche avanzate di rete e sicurezza, restando aggiornati rispetto all’evoluzione tecnologica del settore.

Risultati di apprendimento attesi

Al termine del corso lo studente deve aver acquisito il linguaggio tecnico di base e gli strumenti modellistici per:
o Descrivere i problemi di scheduling e controllo di congestione in una rete di telecomunicazioni e le soluzioni adottate nella pratica odierna delle reti di telecomunicazioni.
o Definire cosa si intende per canale sicuro, come questo si possa implementare, quali le soluzioni di base per realizzare le principali primitive crittografiche.
o Mettere in atto alcune elementari azioni di configurazione e analisi di sistemi interconnessi in rete (host, router, firewall) e protocolli (IP, TCP).

Prerequisiti

Conoscenze di base di analisi, geometria, calcolo delle probabilità, reti di telecomunicazioni. Capacità di programmazione (per es., in Matlab oppure Python).

Programma dell’insegnamento

MODULO 1 (60 ORE)
Richiami sulle architetture di rete e sull’assetto attuale di Internet.
Qualità del servizio. Scheduling e dispatching. Controllo della congestione ed equità nella condivisione di risorse. Strumenti per la valutazione delle prestazioni.
Introduzione alla sicurezza nelle comunicazioni. Principali primitive crittografiche. Autenticazione e protocolli crittografici.

MODULO 2 (30 ore)
Configurazioni di base (assegnazione indirizzi e rotte statiche), gestione del routing intra e inter dominio, misure di ritardo e banda, crittografia asimmetrica e certificati digitali, regole di firewall stateless

Testi di riferimento

o Andrea Baiocchi: “Network Traffic Engineering - Stochastic models and applications”. Wiley, 2020 [Capp. 2, 3, 6, 8, 10]
o Charlie Kaufman, Radia Perlman, Mike Speciner, Ray Perlner: “Network Security: Private Communications in a Public World”. Addison-Wesley Professional, 3rd Edition, September 2022 [Capp. 1-6, 9-12]
o Materiale disponibile sul sito web del corso (lucidi, script di simulazione, misure di traffico).

Bibliografia

TESTI PER ULTERIORI APPROFONDIMENTI
o Frank Kelly and Elena Yuodvina: “Stochastic Networks”. Cambridge University Press, 2014.
o Mor Harchol-Balter: “Performance modelling and design of computer systems”. Cambridge University Press, 2013.
o Niels Ferguson and Bruce Schneier: "Practical Cryptography". John Wiley & Sons Inc., 2003.
o James F. Kurose, Keith W. Ross, “Computer networking: a top-down approach”, Pearson, 8th edition, 2020.
o Andrew S. Tanenbaum, Nick Feamster, David J. Wetherall: "Computer Networks". Pearson, 6° edizione, 2021.

Modalità di svolgimento

Lezioni ed esercitazioni in aula.
Le lezioni servono a introdurre i concetti e presentare ordinatamente gli argomenti del corso.
Le esercitazioni puntano a fornire esempi applicativi, condurre esempi di valutazione quantitativa, applicando modelli introdotti nelle lezioni. Alcune esercitazioni potranno essere dedicate ad esperienza condotte al calcolatore, con lo sviluppo di semplici codici (per es., semplici simulatori in Matlab) o l'uso si pacchetti software allo stato dell'arte (per es., Wireshark).


Frequenza

La frequenza non è obbligatoria, ma è fortemente raccomandata.

Modalità di esame

Prova scritta orientata a valutazioni quantitative o progettazione/dimensionamento di elementi di rete o protocolli.
Orale su argomenti trattati nel corso, miranti ad accertare la comprensione dei concetti e la padronanza del linguaggio tecnico.

Esempi di domande

SCRITTO
Siano M = 1234567 e N = 89. Un server deve inviare M byte di dati tramite una connessione TCP, utilizzando un MSS di 1460 byte. Tutte le quantità relative a finestre e buffer sono misurate in MSS. La finestra di congestione (cwnd) è inizializzata al valore IW = 3. Il valore di ssthresh è impostato a 64. La finestra del ricevitore (rwnd) è costantemente mantenuta a N, per tutta la durata della connessione. RTT è costante e uguale a T per l'intera connessione, con T = 10 ms. Il ricevitore invia un ACK per ogni segmento ricevuto. Non vi è alcuna perdita di pacchetti, nessun time-out, nessun accodamento nel buffer dei rami di rete.
1) Con riferimento alla situazione presentata sopra, descriva in modo conciso il grafico di cwnd in funzione del tempo espresso in RTT.
2) Quanto tempo ci vuole per completare il trasferimento dei dati (dare la risposta in secondi)?
3) Può dare un limite inferiore della capacità del collo di bottiglia incontrato dalla connessione TCP? Motivi la sua risposta.

ORALE
1) Spiegare scopo, generazione e inizializzazione delle password.
2) Descrivere come si procede per configurare un host a livello IP.

Programmazione delle attività didattiche

  • Architetture di rete. (6 ore) Struttura di Internet: sistemi autonomi, ISP, IXP, sottoreti. Rete di trasporto. Reti di accesso: accesso su rame, fibra, radio. Reti cellulari. Reti satellitari. Data center.
    • Testi di riferimento: James F. Kurose, Keith W. Ross, “Computer networking: a top-down approach”, Pearson, 8th edition, 2020 [Cap. 1]oppure Andrew S. Tanenbaum, Nick Feamster, David J. Wetherall: "Computer Networks". Pearson, 6° edizione, 2021 [Cap. 1]. 

  • Qualità di servizio (24 ore)Ruolo e approcci per la valutazione delle prestazioni di rete. Sistemi di servizio: definizione e struttura. Processo di traffico e sua descrizione. Processi di rinnovo e paradosso del rinnovo. Metriche di prestazione.  Introduzione alla simulazione stocastica di sistemi di servizio: simulazione ad eventi e time-stepped. Generazione di variabili aleatorie. Scheduling: ruolo, algoritmi, esempi di applicazione. Dispatching nei data center. Controllo della congestione: approccio reattivo. Richiami sul TCP. Algoritmo classico del cc TCP (loss-based). Varianti algoritmiche (delay-based, network-assisted: AQM, ECN). DCTCP. Approssimazione fluidica. Modello fluido del TCP e del DCTCP. Equità e Network Utility Maximization (NUM). Interpretazione del TCP come un controllore distribuito per la risoluzione del problema NUM. Analisi dei ritardi di attraversamento di una rete a pacchetto. Ottimizzazione delle capacità dei rami e dell’instradamento. Paradosso di Braess.
    • Testi di riferimento: Andrea Baiocchi: “Network Traffic Engineering – Stochastic models and applications”. Wiley, 2020 [Capp. 2, 3, 6, 8, 10]

  • Sicurezza nelle comunicazioni (30 ore)Introduzione alla sicurezza nelle comunicazioni. Introduzione alla crittografia. Elementi di base di teoria dei numeri. Primitive crittografiche: cifratura e autenticazione di messaggio a chiave simmetrica e a chiave pubblica. Cenno alla crittografia basata sulle curve ellittiche. Funzioni hash. Generazione di numeri pseudo-casuali. Autenticazione di identità: classificazione, definizioni. Autenticazione delle persone: password. Autenticazione sfida-risposta. Autenticazione zero-knowledge. Firme non rinnegabili. Autenticazione su base indirizzo. Protocolli crittografici: caratteristiche principali e attacchi. Protocolli di autenticazione e scambio chiavi (instaurazione di un canale sicuro): Diffie-Hellman autenticato. Needham-Schroeder. Autenticazione su base password forte: Lamport hash, EKE, SRP. Condivisione dei segreti. IPSec e IKE. 
    • Testi di riferimento: Charlie Kaufman, Radia Perlman, Mike Speciner, Ray Perlner: “Network Security: Private Communications in a Public World”. Addison-Wesley Professional, 3rd Edition, September 2022 [Capp. 1-6, 9-12]

  • Applicazioni e laboratorio di reti e sicurezza (30 ore)Configurazione di rete di base (indirizzi IP e rotte statiche). Sniffing dei pacchetti con Wireshark. Comprensione di ARP. Routing intra-dominio con OSPF. Emulazione di una rete in area geografica (Wide Area Network). Comprensione del controllo di congestione TCP (HTCP, Cubic, Reno, BBR). Dimensione del buffer del router e bufferbloat del router. Algoritmo RED (Random Early Discard). Classificazione del traffico TCP tramite bucket di token gerarchico. Practical activities on Cryptographic Hashing and Symmetric Encryption. Hands on lab on Asymmetric Encryption: RSA, Digital Signatures, Diffie-Hellman. Infrastruttura a chiave pubblica: autorità di certificazione, certificato digitale. Configurazione di un filtro di pacchetti con stato tramite iptables.
    • Testi di riferimento: Material available from the course web site (slides, simulation scripts, measured traffic data).

Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030

  • Goal9
  • Anno accademico2025/2026
  • Corso di studio a cui afferisce l’insegnamentoTelecommunication Engineering - Ingegneria delle Telecomunicazioni
  • Codice insegnamento10621060
  • CurriculumTelecommunication Engineering (percorso valido anche ai fini del rilascio del doppio titolo italo-francese o italo-statunitense )
  • Anno e semestre1º anno - 2º semestre
  • TipologiaAttività formative caratterizzanti
  • AmbitoIngegneria delle telecomunicazioni
  • SSDING-INF/03
  • Presenza obbligatoriaNo
  • LinguaENG
  • CFU9 CFU
  • Durata complessiva90 ore
  • Distribuzione delle ore54 classroom hours, 36 training hours