




























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Questo documento costituisce una trattazione organica e approfondita dei principi fondamentali e delle tecnologie avanzate nel campo della Network Security tenuto dal Prof. Piro presso il Politecnico di Bari per l’Anno Accademico 2025/2026. Voto conseguito: 30/30. Gli argomenti trattati sono: - Fondamenti di Security; - Protocolli di Sicurezza delle Comunicazioni; - Autenticazione e Controllo Accessi (AAA); - Difesa Perimetrale.
Tipologia: Appunti
1 / 167
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































Quest’ultimo aspetto è particolarmente complesso: tecniche di traffic classification basate su intelligenza artificiale (es. deep learning) permettono di dedurre il tipo di applicazione osser- vando solo metadati e pattern di traffico. Alcuni sistemi mitigano questo rischio aggiungendo padding ai messaggi cifrati, in modo da mascherare la dimensione reale dei pacchetti e rendere più difficile il fingerprinting del servizio.
Authentication. L’autenticazione si suddivide in:
Access Control. È la capacità di un sistema di sicurezza di permettere l’uso delle risorse solo a utenti autorizzati. Le risorse possono essere fisiche (es. stampanti, stanze) o logiche (es. database, file system).
Data Integrity. Garantisce che i dati trasmessi non possano essere alterati da entità non autorizzate. L’integrità è tipicamente assicurata mediante funzioni di hash e message authen- tication codes (MAC).
Non Repudiation. Assicura che un’entità non possa negare di aver inviato o ricevuto un messaggio. È un requisito importante, ad esempio, nelle transazioni digitali.
Availability. Il servizio deve essere accessibile agli utenti autorizzati nelle modalità previ- ste, senza interruzioni arbitrarie. Attacchi di tipo DoS (Denial of Service) mirano proprio a comprometterne questo aspetto.
Gli attacchi si dividono in due macro-categorie:
2
Un esperto di sicurezza deve progettare sistemi capaci di difendere l’infrastruttura da entrambi i tipi di minacce, bilanciando meccanismi di prevenzione e rilevazione.
1.2 Network Security Tools
Quando parliamo di sicurezza nelle reti, il primo punto fondamentale è comprendere la natura del canale di comunicazione. L’information channel, per definizione, non è sicuro: esso è condi- viso tra più dispositivi e potenzialmente accessibile da soggetti non autorizzati. Per garantire la confidenzialità dei dati, è dunque necessario introdurre un crittosistema: lo si può immaginare come una “black box” che riceve in input un messaggio in chiaro (plaintext) e lo trasforma in un messaggio cifrato (ciphertext). Naturalmente, il crittosistema da solo non basta: esso è un algoritmo, ma la sicurezza dipende anche dalla chiave utilizzata. Ed è proprio qui che entra in gioco la distinzione tra crittografia simmetrica e crittografia asimmetrica.
Un concetto centrale è quello di segretezza perfetta. Essa, in teoria, può essere ottenuta solo a due condizioni:
Queste condizioni derivano direttamente dal teorema di Shannon. L’unico algoritmo che le soddisfa è il One Time Pad (OTP). Tuttavia, l’OTP non è praticabile nella realtà per due motivi principali:
viene elaborato dal crittosistema. La trasformazione non avviene in maniera diretta e semplice, ma viene applicata una sequenza di operazioni ripetute, chiamate round. Ogni round può includere:
Lo scopo di questa sequenza di operazioni è quello di rendere l’output (ciphertext) il meno possibile correlato all’input (plaintext), garantendo i principi di diffusion e confusion. In altre parole, osservando un blocco cifrato deve essere praticamente impossibile risalire al blocco originale o alla chiave. La sequenza dei round non è casuale: viene progettata in modo che lo stesso schema possa essere usato sia per la cifratura che per la decifratura. È proprio questa simmetria a rendere i block cipher estremamente efficienti, ma anche delicati: se il numero di round è troppo basso o la configurazione è scorretta, la sicurezza del sistema crolla. Un concetto importante è il cosiddetto avalanche effect: un buon crittosistema deve avere la proprietà che se si cambia un solo bit della chiave o del plaintext, circa la metà dei bit del ciphertext cambiano. Questo garantisce che piccole variazioni in input producano output radicalmente diversi, rendendo molto più difficile la crittoanalisi.
La crittanalisi è l’insieme delle tecniche che un avversario usa per ottenere informazioni riservate (plaintext o chiave) partendo da dati osservabili (ciphertext, timing ecc... ). L’obiettivo non è solo “rompere” l’algoritmo matematicamente, ma trovare qualunque debolezza pratica che renda possibile recuperare i dati o indebolire la sicurezza. In ingegneria conviene pensare alla criptoanalisi come a un processo di diagnostica: si analizzano canali, protocolli, implementazioni e supposti punti deboli per trasformare una sicurezza teorica in una falla reale. Un crittosistema deve quindi resistere:
La modalità Electronic Code Book (ECB) rappresenta la forma più semplice di utilizzo di un block cipher. Il messaggio in chiaro viene innanzitutto suddiviso in blocchi di lunghezza fissa (ad esempio 128 bit se si utilizza AES).
Ogni blocco viene poi cifrato in modo indipendente dagli altri, sempre con la stessa chiave segreta. Il principio di funzionamento è quindi molto lineare:
Dal punto di vista della semplicità, ECB è estremamente immediata: non ci sono passaggi ag- giuntivi oltre alla cifratura dei blocchi, e l’intero processo può essere eseguito anche in parallelo, poiché ogni blocco è indipendente dagli altri. Tuttavia, questa stessa indipendenza è anche la sua debolezza principale. Infatti, se due blocchi del messaggio in chiaro sono identici, anche i rispettivi blocchi cifrati risulteranno identici. In questo modo emergono pattern che rivelano informazioni sulla struttura del messaggio, renden- do la modalità vulnerabile ad analisi e attacchi crittografici. Inoltre, ECB non offre alcuna garanzia di integrità: i blocchi possono essere eliminati, duplicati o riordinati senza che il destinatario sia in grado di accorgersene. In conclusione, la modalità ECB può essere utile in contesti molto semplici e su messaggi piccoli e non ripetitivi, ma non è considerata sicura per la protezione di dati sensibili. Per applicazioni pratiche si preferiscono modalità più avanzate come CBC, CTR o GCM, che evitano la ripetizione dei blocchi e introducono meccanismi di sicurezza aggiuntivi.
I block cipher (AES, DES, ecc.) lavorano su blocchi fissi (es. 128 bit per AES). Se cifrassi ogni blocco indipendentemente (Electronic Code Book, ECB), blocchi uguali di plaintext produrrebbero ciphertext uguali evidente perdita di privacy. CBC è una modalità che “mescola” i blocchi tra loro per rompere queste correlazioni: ogni blocco di plaintext viene XORato con il ciphertext del blocco precedente prima di essere cifrato. Questo rende il ciphertext dipendente non solo dal relativo plaintext, ma anche dallo storico dei blocchi precedenti. Il funzionamento può essere riassunto così:
6
La modalità Cipher Feedback (CFB) si distingue dalle modalità viste in precedenza perché l’obiettivo non è cifrare direttamente il blocco di plaintext, bensì generare una sequenza di bit detta keystream.
Funzionamento:
La decifratura utilizza lo stesso procedimento, poiché l’operazione XOR è invertibile.
Differenza rispetto ad altre modalità: A differenza di modalità come ECB o CBC, qui non si usa il cifrario per trasformare direttamente il plaintext in ciphertext. La chiave segreta k rimane fissa per tutta la sessione, ma la sequenza di bit prodotta (il keystream) cambia ad ogni blocco, garantendo variabilità e resistenza agli attacchi. In pratica, CFB trasforma un block cipher in uno stream cipher sicuro e flessibile.
Caratteristiche principali:
8
Limiti:
La modalità Output Feedback (OFB) è un’altra tecnica che permette di trasformare un block cipher in uno stream cipher. Come in CFB, anche in questo caso non si cifra direttamente il plaintext, ma si genera un keystream che viene combinato tramite XOR con il messaggio in chiaro.
Funzionamento:
Caratteristiche principali:
Limiti:
Conclusione: CTR unisce i vantaggi di OFB (efficienza, errori limitati, generazione di key- stream indipendente dal plaintext) con una struttura ancora più semplice e veloce. È oggi una delle modalità più utilizzate in protocolli moderni e viene preferita a CBC per le sue prestazioni e la facilità di implementazione.
Per riassumere le diverse modalità, ecco un confronto delle loro proprietà principali:
ECB Semplice da implementare, ma insicura: blocchi uguali di plaintext producono ciphertext uguali. Nessuna inte- grità, vulnerabile ad analisi e pattern. CBC Non complessa ma lenta. Sicurezza discreta, propaga- zione di errori su due blocchi. Problemi di sincronizza- zione in caso di perdita di dati. CFB Più complessa ma flessibile. Trasforma il block cipher in uno stream cipher. Auto-sincronizzante, propagazione di errori limitata. OFB Genera un keystream indipendente dal plaintext. Mol- to veloce, errori minimi, parallelizzabile. Non auto- sincronizzante: la sincronizzazione è demandata ai pro- tocolli superiori. CTR Estremamente semplice ed efficiente. Keystream gene- rato cifrando un contatore. Parallelizzabile e veloce, ma richiede attenzione al riutilizzo dei nonce.
1.4 Crittografia simmetrica
La crittografia simmetrica rappresenta la forma più tradizionale di cifratura. In questo approc- cio, la stessa chiave viene utilizzata sia per cifrare che per decifrare il messaggio.
11
Immaginiamo due interlocutori, Alice e Bob: entrambi condividono una chiave segreta, nota solo a loro. Quando Alice vuole inviare un messaggio riservato, lo elabora tramite un algoritmo di cifratura utilizzando la chiave condivisa; Bob, a sua volta, applicherà lo stesso algoritmo (ma in senso inverso) con la medesima chiave per ottenere il messaggio originale. Questo metodo è estremamente veloce ed efficiente dal punto di vista computazionale. Tutta- via, presenta un grande limite: la distribuzione sicura della chiave. Poiché la chiave deve essere condivisa prima di iniziare la comunicazione, sorge il problema di come trasmetterla sen- za che un terzo (un attaccante) possa intercettarla. Per reti piccole o ambienti chiusi, questo è gestibile; ma su larga scala, come nelle reti globali, la distribuzione delle chiavi diventa un problema complesso e potenzialmente pericoloso. Gli algoritmi simmetrici si suddividono in block cipher e stream cipher. I block cipher elaborano il testo in chiaro in blocchi di dimensione fissa (come nel caso del DES o dell’AES), applicando una sequenza di sostituzioni e permutazioni. Gli stream cipher, invece, operano su un flusso continuo di bit o byte, rendendoli adatti a trasmissioni in tempo reale. Nonostante le diverse implementazioni, tutti gli algoritmi simmetrici si basano su due principi fondamentali introdotti da Shannon: confusione e diffusione, che mirano a rendere il rapporto tra testo in chiaro, testo cifrato e chiave il più complesso possibile.
1.5 Crittografia asimmetrica
Per superare i limiti legati alla distribuzione della chiave, nasce la crittografia asimmetrica, anche detta a chiave pubblica. A differenza della simmetrica, questo modello si basa sull’uso di due chiavi matematicamente correlate ma differenti: una pubblica e una privata. La chiave pubblica può essere liberamente condivisa, mentre la chiave privata deve rimanere segreta e custodita dal proprietario. In questo schema, se Alice vuole inviare un messaggio riservato a Bob, utilizzerà la chiave pubblica di Bob per cifrarlo. Solo Bob, grazie alla sua chiave privata, sarà in grado di decifrarlo. Questo garantisce la riservatezza dei dati senza bisogno di condividere segreti in anticipo. Tuttavia, la crittografia asimmetrica è molto più lenta di quella simmetrica, poiché le sue operazioni si basano su calcoli matematici complessi, come l’esponenziazione modulare o la fattorizzazione di numeri primi molto grandi. La forza di questi sistemi risiede proprio nella complessità computazionale del processo inverso: conoscendo la chiave pubblica e l’algoritmo, è praticamente impossibile ricavare la chiave privata in tempi utili. Per questo motivo, nei sistemi di sicurezza reali si preferisce adottare un approccio ibrido: la crittografia asimmetrica viene usata solo per scambiare in modo sicuro una chiave simmetrica, che poi verrà impiegata per cifrare i dati veri e propri.