LEZIONE 06 · PROTEGGERE IL CONTENUTO
Una chiave condivisa, due problemi da risolvere
Nella cifratura simmetrica la stessa chiave segreta permette di cifrare e decifrare. È efficiente anche su grandi quantità di dati. Bisogna però proteggere la chiave e scegliere un metodo che rilevi le alterazioni.
- Chi?
- Partecipanti autorizzati che conoscono una chiave, o un’applicazione che protegge i propri dati.
- Che cosa?
- File, backup e dati scambiati in una sessione.
- Quando?
- Durante la memorizzazione e il trasferimento, dopo aver risolto come ottenere e custodire la chiave.
- Dove?
- Su dispositivi e server; anche il traffico HTTPS usa cifratura simmetrica.
- Perché?
- Proteggere molti dati con costi di calcolo contenuti.
Non confondere algoritmo e modalità
- Cifrario a blocchi
- Trasforma blocchi di dimensione fissa con una chiave. AES trasforma blocchi di 128 bit. La chiave può essere di 128, 192 o 256 bit: la dimensione del blocco non coincide necessariamente con quella della chiave.
- Cifrario a flusso
- Produce un flusso di valori da combinare con il chiaro, spesso tramite XOR. Il flusso non deve essere riutilizzato per messaggi diversi. ChaCha20 è un esempio moderno.
- Modalità operativa
- Un insieme di regole per usare un cifrario a blocchi su messaggi di più blocchi e per gestire i parametri aggiuntivi. Scrivere soltanto «AES» non descrive uno schema completo.
- Nonce e IV
- Un nonce è un valore usato una sola volta nel contesto richiesto. Un IV, vettore di inizializzazione, è un parametro iniziale di una modalità. Le regole dipendono dallo schema: possono richiedere unicità, imprevedibilità o entrambe. In AES-GCM l’IV svolge il ruolo di nonce e non va ripetuto con la stessa chiave.
- Tag di autenticazione
- Un valore di controllo calcolato usando una chiave. Serve al destinatario per verificare integrità e autenticità rispetto al segreto condiviso. Non è una firma attribuibile pubblicamente a una sola persona.
Da DES ad AES: storia e uso attuale
| Algoritmo | Caratteristiche | Come interpretarlo |
|---|---|---|
| DES | Blocco di 64 bit, chiave effettiva di 56 bit. | Storico: lo spazio di chiavi è troppo piccolo per nuove protezioni. |
| 3DES / TDEA | Composizione di operazioni DES; mantiene blocchi di 64 bit. | Tecnologia da dismettere, non la soluzione moderna al problema di DES. |
| AES | Blocco di 128 bit e chiavi 128/192/256 bit. | Algoritmo distinto da DES; va combinato con una modalità e parametri adeguati. |
Il NIST ha ritirato la raccomandazione su TDEA dal 1° gennaio 2024 e ne ha disconosciuto l’uso per applicare nuova protezione dopo il 2023; restano distinti gli usi di decifratura di dati preesistenti. Non significa che ogni sistema nel mondo abbia già completato la migrazione. Avviso NIST sul ritiro di TDEA. Le dimensioni di AES sono definite da FIPS 197.
Perché cifrare ogni blocco allo stesso modo è un problema
ECB, Electronic Codebook, applica separatamente la stessa trasformazione ai blocchi: blocchi uguali producono blocchi cifrati uguali sotto la stessa chiave. Il contenuto esatto può restare sconosciuto, ma si vedono uguaglianze e strutture. Non è adatto alla cifratura generale dei dati.
GCM, Galois/Counter Mode, combina cifratura e autenticazione. È un esempio di AEAD, Authenticated Encryption with Associated Data: protegge il contenuto e verifica anche dati associati che rimangono leggibili. Un identificativo di documento può essere autenticato senza essere cifrato, impedendo che il cifrato venga spostato silenziosamente nel contesto di un altro documento. Lo schema è descritto in NIST SP 800-38D.
Il backup di un registro scolastico
- Il servizio genera una chiave con casualità crittografica.
- Per il backup seleziona un nonce nuovo e cifra con AES-GCM.
- Salva versione, nonce, cifrato e tag; custodisce la chiave con accesso separato.
- Al ripristino verifica il tag. Se fallisce non usa il chiaro.
Nonce e tag non devono essere tenuti segreti. La chiave sì. Con la stessa chiave e lo stesso nonce, GCM può perdere riservatezza e autenticità: non è una semplice riduzione estetica della sicurezza. Il laboratorio usa nonce casuali di 96 bit per piccole prove; un sistema operativo reale deve anche gestire collisioni, concorrenza e limiti d’uso per chiave.
Che cosa prova un tag valido?
Indica coerenza dei dati protetti con chi possiede la chiave, entro le garanzie dello schema. Se Alice e Bruno conoscono la stessa chiave, entrambi possono produrre un tag: Bruno non può usarlo come prova pubblica che sia stata Alice. E un messaggio valido può ancora essere ripetuto: per bloccare il replay servono anche contatori o identificativi controllati dal protocollo.
Se rubano il disco di un computer acceso e sbloccato, la cifratura basta?
La cifratura del disco protegge soprattutto il dato a riposo, cioè memorizzato e non disponibile in chiaro senza sblocco. Un sistema sbloccato può già avere la chiave in memoria e rendere accessibili i file. Servono anche blocco della sessione, controllo degli accessi e protezione del dispositivo.
Origine: video 09 e 15, con aggiornamento di DES/3DES e distinzione tra confidenzialità e integrità. Prova AES-GCM.