Cifratura AES: come funziona davvero e perché da sola non basta

Quando due dispositivi comunicano tra loro, la prima cosa che ci viene in mente è: i dati sono al sicuro?

Immagina un sistema reale, come un antifurto basato su ESP32 che comunica via Wi-Fi con un server. Ogni informazione trasmessa — un allarme, uno stato, una temperatura — viaggia attraverso la rete ed è potenzialmente esposta.

Se questi dati vengono inviati in chiaro, il problema è evidente: chiunque intercetti la comunicazione può leggerli, modificarli o addirittura inviare comandi falsi al sistema.

La soluzione più immediata, e anche la più diffusa, è la cifratura. Ed è qui che entra in gioco uno degli algoritmi più importanti della sicurezza informatica: l’AES.

Ma c’è un dettaglio fondamentale che spesso viene sottovalutato: cifrare non basta.

Quando la sicurezza è solo apparente

Nel nostro esempio dell’antifurto, potremmo pensare che cifrare i dati sia sufficiente per proteggerli. In fondo, se un hacker non riesce a leggere le informazioni, il sistema dovrebbe essere al sicuro… giusto?

Non proprio.

Anche senza conoscere il contenuto del messaggio, un attaccante può comunque intercettarlo e modificarlo. E questo è un problema enorme.

Perché in molti sistemi, soprattutto IoT, non è importante solo cosa viene trasmesso, ma anche chi lo invia e se è stato alterato lungo il percorso.

AES: lo standard della cifratura moderna

L’AES (Advanced Encryption Standard) è oggi uno degli algoritmi più utilizzati per proteggere i dati. È uno standard internazionale, adottato praticamente ovunque: dalle comunicazioni web ai sistemi embedded.

Si tratta di un algoritmo simmetrico, il che significa che sia chi invia sia chi riceve il messaggio utilizzano la stessa chiave segreta.

Questa chiave può avere diverse lunghezze:

  • 128 bit
  • 192 bit
  • 256 bit

E qui entra in gioco un concetto importante: più la chiave è lunga, maggiore è il numero di combinazioni possibili e quindi più difficile sarà per un attaccante tentare un attacco brute-force. In teoria, senza la chiave corretta, decifrare un messaggio AES può richiedere tempi enormi: giorni, mesi o addirittura anni.

Dentro AES: un processo che trasforma i dati in “rumore”

AES lavora su blocchi da 128 bit, organizzati in una matrice. Su questa struttura vengono applicate diverse trasformazioni:

  • XOR con la chiave
    Il primo passo introduce subito una forma di “confusione”, mescolando i dati con la chiave segreta.
  • Sostituzione tramite S-Box
    Ogni byte viene trasformato attraverso una tabella predefinita. Questo passaggio rompe qualsiasi relazione lineare tra input e output.
  • Shift delle righe
    I dati vengono spostati all’interno della matrice, creando una prima diffusione dell’informazione.
  • Mix delle colonne
    Le informazioni vengono ulteriormente mescolate con operazioni matematiche più complesse.
  • Espansione della chiave
    La chiave iniziale viene trasformata e riutilizzata in ogni fase, aumentando la complessità del sistema.

Questo processo viene ripetuto più volte, creando un effetto “valanga”: una piccola variazione iniziale si propaga e altera completamente il risultato finale.

Il segreto della robustezza: confusione e diffusione.

Già negli anni ’40, Claude Shannon aveva individuato i principi fondamentali per costruire un sistema di cifratura sicuro:

  • Confusione → rendere difficile capire la relazione tra chiave e messaggio
  • Diffusione → distribuire l’informazione su tutto il dato
  • Segretezza → proteggere la chiave

AES è progettato proprio per rispettare questi principi.

Ed è per questo che, ancora oggi, è considerato estremamente sicuro.

Il limite che molti ignorano.

A questo punto potresti pensare: “Perfetto, AES risolve tutto”.

E invece no.

Il problema è che AES protegge la riservatezza, ma non garantisce che il messaggio sia autentico o integro.

Un hacker potrebbe:

  • intercettare un messaggio cifrato
  • modificare alcuni bit
  • reinviarlo al destinatario

Senza un meccanismo di controllo, il sistema non ha modo di accorgersene.

Un esempio concreto (e pericoloso)

Immagina un sistema che monitora la temperatura.

Il valore reale è:
👉 28°C

Durante la trasmissione, un attaccante modifica un solo bit del messaggio cifrato.

Il risultato, dopo la decifratura, potrebbe diventare:
👉 70°C

Il sistema, fidandosi del dato, potrebbe:

  • attivare un allarme inutile
  • spegnere un impianto
  • prendere decisioni completamente sbagliate

E tutto questo senza che nessuno si accorga dell’attacco.

Cosa serve davvero per essere sicuri

Per costruire un sistema realmente sicuro, la cifratura è solo il primo passo.

È necessario aggiungere altri elementi fondamentali:

  • Autenticazione
    Per verificare che il messaggio provenga davvero dal dispositivo atteso
  • Integrità dei dati
    Per assicurarsi che il contenuto non sia stato modificato
  • Initialization Vector (IV)
    Per evitare schemi ripetitivi e aumentare la sicurezza

Solo combinando questi elementi è possibile costruire un sistema robusto.

Conclusione.

L’AES è un algoritmo potente, elegante e ancora oggi estremamente affidabile.

Ma la sicurezza non è mai un singolo strumento: è un insieme di tecniche che devono lavorare insieme.

Cifrare i dati è fondamentale… ma non è sufficiente.

Soprattutto nei sistemi IoT, dove i dispositivi comunicano continuamente, è essenziale garantire non solo la riservatezza, ma anche l’integrità e l’autenticità delle informazioni.

E adesso?

Nel prossimo articolo approfondimento e vedremo come completare questo sistema di sicurezza:

  • introducendo autenticazione e controllo di integrità
  • utilizzando correttamente l’IV
  • implementando tutto in un caso reale con ESP32

Ti sei iscritto alla newsletter

There was an error while trying to send your request. Please try again.

Quattrodispositivi utilizzerà le informazioni fornite in questo modulo per restare in contatto con te e fornire aggiornamenti del sito