Know-how / Crittografia

Come funziona l’algoritmo di cifratura Rijndael?

Conosciuto anche con l’acronimo AES

Trasmettere in modo sicuro informazioni strettamente riservate, senza che persone non autorizzate vi accedano, è da sempre una sfida. Le prime “scritture segrete”, ad esempio semplici sostituzioni o spostamenti di lettere, sono oggi banali da violare con la moderna potenza di calcolo. Oggi proteggiamo i dati con procedure crittografiche, definite con precisione matematica e la cui sicurezza è stata sottoposta a revisione pubblica.

Queste procedure utilizzano una chiave, nota solo al mittente e al destinatario. La cifratura e la decifratura seguono un algoritmo di cifratura – ossia un procedimento matematico chiaramente definito.

Password Depot cifra i vostri dati riservati con l’algoritmo Rijndael, standardizzato come AES (Advanced Encryption Standard).

Di seguito spieghiamo l’algoritmo e lo inquadriamo dal punto di vista tecnico.

Advanced Encryption Standard (AES) – la variante standardizzata di Rijndael

Il National Bureau of Standards degli Stati Uniti (oggi NIST) standardizzò nel 1977 il DES; questo standard fu ritirato nel 2005, perché non era più sufficientemente sicuro (comunicato NIST). Come successore, nel 2001 il NIST scelse Rijndael e ne standardizzò l’algoritmo come Advanced Encryption Standard (AES) (FIPS 197).

Importante: AES è un sottoinsieme della famiglia Rijndael. AES fissa la dimensione del blocco a 128 bit e consente chiavi da 128, 192 o 256 bit (Nota del NIST, FIPS 197 (PDF)).

AES è autorizzato per la protezione delle informazioni delle autorità statunitensi fino al livello TOP SECRET (vedere Fact Sheet CNSSP‑15 nonché l’attuale FAQ CNSA‑2.0 della NSA).

Come funziona Rijndael/AES (breve panoramica)

Diagramma di flusso della crittografia AES: dopo AddRoundKey (round 0), un blocco di testo in chiaro a 128 bit attraversa, a seconda della lunghezza della chiave, 9, 11 o 13 round principali composti da SubBytes, ShiftRows, MixColumns e AddRoundKey, oltre a un round finale senza MixColumns; l’espansione della chiave fornisce le chiavi di round, il risultato è il testo cifrato.

Rijndael è un cifrario a rete di sostituzione-permutazione. I concetti fondamentali sono sostituzioni a livello di byte, trasformazioni lineari e XOR.

Processo a livello di blocco ("state" a 128 bit)

  • Espansione della chiave (Key Schedule): Dalla chiave vengono derivate Nr + 1 chiavi di round (ad es. 11 per AES-128, 13 per AES-192, 15 per AES-256). Fonte: FIPS 197.
  • Round iniziale: AddRoundKey – il blocco di testo in chiaro (come matrice 4×4 byte) viene combinato tramite XOR con la prima chiave di round.
  • Round 1 … Nr:
    • SubBytes: ogni byte viene sostituito tramite una S-Box (inverso moltiplicativo in GF(28) più trasformazione affine con costante 0x63). Fonte: FIPS 197.
    • ShiftRows: le righe della matrice di stato vengono spostate ciclicamente.
    • MixColumns: le colonne vengono combinate mediante moltiplicazione di matrici su GF(28).
    • AddRoundKey: XOR con la rispettiva chiave di round.

Nota: Nell'ultimo round viene omesso MixColumns. Il numero di round è 10/12/14 per chiavi con 128/192/256 Bit (FIPS 197).

AES può essere implementato in software, firmware o hardware (FIPS 197). Per l'utilizzo pratico, vengono utilizzate Modalità operative utilizzati, ad esempio CBC, CTR oppure GCM (crittografia autenticata). Le raccomandazioni sono disponibili in NIST SP 800–38A e NIST SP 800–38D (GCM/GMAC).

Importante per contestualizzare: AES è un algoritmo di cifratura simmetrico per la crittografia dei dati. Lo scambio di chiavi avviene solitamente con metodi asimmetrici ((EC)DH/RSA). Tuttavia, AES può anche incapsulare le chiavi in modo sicuro ("Key Wrap") – cfr. NIST SP 800–38F.

Specifica ufficiale

La documentazione di riferimento è disponibile qui: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

Attacchi brute-force

Brute-Force significa che un aggressore tutte le possibili chiavi. I metodi classici come DES con chiavi di soli 56 bit oggi possono essere praticamente violati in questo modo: per questo il NIST nel 2005 lo ha ufficialmente ritirato (NIST).

I metodi moderni come AES con chiavi da 128/192/256 bit dispongono invece di uno spazio delle chiavi astronomicamente ampio. Nella pratica conta meno l'algoritmo che la derivazione delle chiavi dalle password e la qualità della password master.

Password Depot rende inoltre più difficili gli attacchi brute-force grazie a una funzione di ritardo: dopo un inserimento errato della password master, il programma rimane bloccato per alcuni secondi.

Conclusione: Se implementato correttamente, con modalità operative adeguate (ad es. GCM) e una lunghezza della chiave sufficiente, AES è considerato, allo stato attuale, molto sicuro nel lungo periodo.

Ulteriori informazioni su gli attacchi brute-force.

Capire gli attacchi di forza bruta

Scoprite perché la lunghezza della password è decisiva e come proteggervi.

Scoprite di più sugli attacchi di forza bruta