Crittografia AES-256 Spiegata: Cosa Significa per i Tuoi Dati
AES-256 spiegato: come funziona il cifrario, perché le chiavi a 256 bit contano, cosa aggiunge la modalità GCM e cosa verificare quando un'app dichiara di usare la crittografia AES-256.
AES-256 è l'Advanced Encryption Standard con chiave a 256 bit, standardizzato dal NIST come FIPS 197 nel 2001. È l'algoritmo di crittografia simmetrica usato dal governo degli Stati Uniti per le informazioni classificate, dalle banche per le transazioni finanziarie e dalle applicazioni orientate alla sicurezza per proteggere i dati a riposo e in transito. AES-256 ha 2^256 chiavi possibili -- un numero più grande della stima degli atomi nell'universo osservabile. Nessun attacco noto riduce questo spazio di chiavi a una ricerca computazionalmente fattibile.
Questa guida spiega cosa fa davvero AES-256, perché la dimensione della chiave conta, cosa significano le diverse modalità (ECB, CBC, GCM), e cosa cercare quando un'app dichiara di usare la crittografia AES-256.
Cosa Fa Davvero AES
AES è un cifrario a blocchi simmetrico. "Simmetrico" significa che la stessa chiave cifra e decifra. "Cifrario a blocchi" significa che elabora i dati in blocchi di dimensione fissa di 128 bit (16 byte).
L'algoritmo prende i tuoi dati (testo in chiaro), li combina con una chiave e produce un output rimescolato (testo cifrato) attraverso una serie di trasformazioni matematiche. Queste trasformazioni -- sostituzione, spostamento, miscelazione e aggiunta della chiave -- si ripetono per un numero fisso di round. AES-256 usa 14 round.
Ogni round applica quattro operazioni:
- SubBytes: Ogni byte viene sostituito usando una tabella di sostituzione fissa (S-box), introducendo non-linearità.
- ShiftRows: I byte di ogni riga vengono spostati di offset diversi, distribuendo i dati tra le posizioni.
- MixColumns: Le colonne vengono mescolate tramite moltiplicazione matriciale in un campo finito, diffondendo le modifiche tra i byte.
- AddRoundKey: La chiave di round (derivata dalla chiave principale) viene messa in XOR con i dati.
Dopo 14 round, il testo in chiaro è completamente rimescolato. Invertire queste operazioni con la chiave corretta recupera i dati originali. Senza la chiave, il testo cifrato è indistinguibile dal rumore casuale.
Perché 256 Bit Contano
Il "256" in AES-256 si riferisce alla lunghezza della chiave: 256 bit. Questo determina il numero di chiavi possibili che un attaccante deve provare per violare la crittografia con forza bruta.
| Dimensione Chiave | Chiavi Possibili | Tempo per Forza Bruta (1 trilione tentativi/sec) |
|---|---|---|
| 56 bit (DES) | 7,2 x 10^16 | ~20 ore |
| 128 bit (AES-128) | 3,4 x 10^38 | 10^13 anni (10 trilioni di anni) |
| 256 bit (AES-256) | 1,16 x 10^77 | 10^51 anni |
Per contesto: l'universo ha circa 1,38 x 10^10 anni. Violare AES-256 con forza bruta richiederebbe circa 10^41 volte l'età dell'universo, anche a un trilione di tentativi al secondo.
AES-128 è già computazionalmente infeasibile da violare con forza bruta. AES-256 fornisce un margine aggiuntivo contro i progressi futuri nel computing, incluso il quantum computing. L'algoritmo di Grover (un attacco di quantum computing) dimezza effettivamente la lunghezza della chiave -- riducendo AES-256 all'equivalente di AES-128, che rimane comunque infeasibile. AES-128 sarebbe ridotto a una sicurezza effettiva di 64 bit, che è potenzialmente vulnerabile. Ecco perché le applicazioni critiche per la sicurezza preferiscono AES-256.
Modalità AES: Perché Contano
AES da solo cifra solo un blocco di 128 bit alla volta. Per dati reali (foto, documenti, video), hai bisogno di una "modalità operativa" che gestisca dati più grandi di 16 byte. La modalità determina come i blocchi vengono concatenati e ha implicazioni significative per la sicurezza.
ECB (Electronic Codebook) -- Non Usare
Ogni blocco è cifrato indipendentemente con la stessa chiave. Blocchi di testo in chiaro identici producono blocchi di testo cifrato identici. Questo rivela pattern nei dati. La dimostrazione classica: cifrare un'immagine bitmap con ECB preserva la struttura dell'immagine nel testo cifrato, rendendo il contenuto riconoscibile. ECB è incluso nello standard ma non dovrebbe mai essere usato per dati che hanno struttura o pattern ripetuti (il che include praticamente tutti i dati reali).
CBC (Cipher Block Chaining) -- Legacy
Ogni blocco viene messo in XOR con il blocco di testo cifrato precedente prima della cifratura. Questo elimina la perdita di pattern di ECB. CBC era la modalità standard per decenni ma è stata superata da GCM per la maggior parte delle applicazioni. CBC richiede un vettore di inizializzazione (IV) casuale e non fornisce autenticazione integrata (non puoi rilevare se il testo cifrato è stato manomesso).
GCM (Galois/Counter Mode) -- Standard Attuale
GCM combina la cifratura in modalità contatore con l'autenticazione del campo di Galois. Fornisce crittografia autenticata: cifra i dati E produce un tag di autenticazione che rileva qualsiasi modifica al testo cifrato. Se anche un solo bit viene modificato, la decifratura fallisce invece di produrre testo in chiaro corrotto.
NIST ha standardizzato GCM in SP 800-38D (2007). È la modalità raccomandata per le nuove implementazioni.
AES-256-GCM è AES con chiave a 256 bit in modalità Galois/Counter Mode. È ciò che le applicazioni critiche per la sicurezza dovrebbero usare e ciò che Vaultaire usa per cifrare il contenuto di foto e file.
| Modalità | Perdita di Pattern | Autenticazione | Raccomandazione Attuale |
|---|---|---|---|
| ECB | Sì (grave) | No | Non usare |
| CBC | No | No (richiede MAC separato) | Legacy; accettabile con HMAC |
| GCM | No | Sì (integrata) | Raccomandato per nuove implementazioni |
Cosa Significa AES-256 per l'Archiviazione Foto
Quando un'app vault per foto dichiara "crittografia AES-256", tre cose dovrebbero essere vere:
I contenuti del file sono cifrati con AES-256. I dati grezzi della foto (pixel, metadati, anteprima) vengono trasformati in testo cifrato usando una chiave a 256 bit.
Ogni file usa un vettore di inizializzazione (IV) unico. Se due foto identiche vengono cifrate con la stessa chiave, il testo cifrato dovrebbe essere diverso. Questo richiede un IV unico per file. Senza di esso, l'analisi statistica può rivelare pattern.
La modalità fornisce autenticazione (GCM o equivalente). Senza autenticazione, un attaccante potrebbe modificare il testo cifrato senza rilevamento. Il risultato decifrato sarebbe dati corrotti invece di un errore.
Cosa "AES-256" su una Pagina di Marketing Non Ti Dice
AES-256 è necessario ma non sufficiente. Diversi fattori critici determinano se la crittografia protegge davvero i tuoi dati:
La derivazione della chiave conta. Come viene generata la chiave a 256 bit? Se è derivata da un PIN a 4 cifre usando una KDF debole, la sicurezza effettiva è di 4 cifre (10.000 combinazioni), non 256 bit. Un'implementazione robusta usa PBKDF2 con un alto numero di iterazioni o Argon2 con parametri appropriati di memoria/tempo. Vaultaire usa PBKDF2 con HMAC-SHA512, derivando la chiave da un pattern disegnato su una griglia 5x5 con miliardi di input possibili.
L'archiviazione della chiave conta. Dove vive la chiave? Se la chiave è memorizzata in chiaro nella sandbox dell'app, qualsiasi malware con accesso ai file può leggerla. L'archiviazione corretta delle chiavi usa meccanismi supportati dall'hardware come il Secure Enclave di Apple, dove le chiavi esistono in un coprocessore dedicato con la propria memoria cifrata.
Cosa viene cifrato conta. Alcune app cifrano i contenuti dei file ma lasciano nomi dei file, anteprime e metadati non cifrati. Un esaminatore forense potrebbe non vedere la tua foto, ma può vedere "vacanza-spiaggia-2025.jpg" nell'elenco dei file. La crittografia completa copre i metadati separatamente.
Il ciclo di vita della chiave conta. La chiave viene cancellata dalla memoria quando l'app si chiude? Se la chiave persiste in memoria, un dump della memoria potrebbe estrarla. Vaultaire cancella le chiavi dalla memoria a ogni chiusura dell'app e richiede un nuovo inserimento del pattern ad ogni avvio.
AES-256 in Pratica: Chi lo Usa
| Entità | Caso d'Uso | Modalità |
|---|---|---|
| Governo USA (NSA) | Informazioni classificate | GCM (o CTR con autenticazione separata) |
| Apple (iCloud ADP) | Crittografia end-to-end iCloud | GCM |
| Signal | Crittografia messaggi | CBC (con HMAC per autenticazione) |
| Banche | Crittografia transazioni finanziarie | GCM |
| 1Password | Vault password | GCM |
| Vaultaire | Vault foto e file | GCM |
| VeraCrypt | Crittografia disco | XTS (ottimizzato per blocchi disco) |
Equivoci Comuni
"Crittografia di grado militare" non significa nulla di specifico. Le pagine di marketing usano questa frase perché suona impressionante. AES-256 è usato dai militari. Lo è anche AES-128. La frase non ti dice la modalità, la derivazione della chiave, l'archiviazione della chiave, o quali dati vengono effettivamente cifrati.
"Crittografia a 256 bit" potrebbe non significare AES-256. Altri cifrari usano anch'essi chiavi a 256 bit (ChaCha20, Twofish, Serpent). Verifica quale algoritmo è specificato. AES-256-GCM è lo standard attuale.
AES-256 non protegge contro una password debole. Se la tua password è "1234" e la derivazione della chiave è debole, la crittografia è effettivamente a sicurezza di 4 cifre indipendentemente dalla robustezza del cifrario. La catena si rompe nel punto più debole.
AES-256 non protegge i dati in uso. Quando visualizzi una foto, deve essere decifrata in memoria. In quel momento, esiste in chiaro nella RAM. Le implementazioni corrette minimizzano questa finestra e cancellano prontamente i dati decifrati.
Domande Frequenti
AES-256 può essere violato?
Nessun attacco noto viola AES-256 riducendo l'intero spazio delle chiavi. Il miglior attacco noto (un attacco biclique di Bogdanov, Khovratovich e Rechberger, 2011) riduce AES-256 da 2^256 operazioni a 2^254,4 -- un miglioramento teorico che è computazionalmente irrilevante in pratica. AES-256 rimane inviolato.
AES-256 è resistente al quantum?
Sostanzialmente, sì. L'algoritmo quantistico di Grover dimezza la lunghezza effettiva della chiave: AES-256 diventa equivalente a una sicurezza a 128 bit contro gli attacchi quantistici. AES-128 sarebbe ridotto a una sicurezza effettiva di 64 bit, che è potenzialmente vulnerabile. NIST raccomanda AES-256 per la sicurezza a lungo termine contro i progressi nel quantum computing.
Qual è la differenza tra AES-128 e AES-256?
AES-128 usa una chiave a 128 bit (10 round). AES-256 usa una chiave a 256 bit (14 round). Entrambi sono considerati sicuri contro gli attacchi attuali. AES-256 offre un margine maggiore contro i progressi futuri, in particolare nel quantum computing. AES-256 è circa il 40% più lento di AES-128 a causa dei round aggiuntivi, ma l'accelerazione hardware lo rende trascurabile sui dispositivi moderni.
La crittografia AES-256 rallenta il mio telefono?
Non percettibilmente. Gli iPhone moderni includono accelerazione hardware AES dedicata nel Secure Enclave e nel processore. Cifrare o decifrare una foto richiede millisecondi. AES è specificamente progettato per l'efficienza dell'implementazione hardware.
Come faccio a sapere se un'app usa davvero AES-256?
Controlla la documentazione di sicurezza dell'app, non solo la sua pagina di marketing. Cerca: algoritmo e modalità specifici (AES-256-GCM, non solo "AES" o "256 bit"), metodo di derivazione della chiave (PBKDF2, Argon2), meccanismo di archiviazione della chiave (Secure Enclave, hardware-backed), e se i metadati sono anch'essi cifrati. Le app open-source permettono la verifica indipendente.
Conclusione
AES-256 è il gold standard per la crittografia simmetrica, standardizzato da NIST, usato da governi e istituzioni finanziarie, e resistente a tutti gli attacchi noti incluso il quantum computing. Quando valuti app che dichiarano la crittografia AES-256, guarda oltre il cifrario: verifica la modalità (GCM), la derivazione della chiave (PBKDF2/Argon2 con alto numero di iterazioni), l'archiviazione della chiave (hardware-backed), e quali dati vengono effettivamente cifrati (contenuti + metadati).
Vaultaire usa AES-256-GCM per la cifratura dei file, PBKDF2 con HMAC-SHA512 per la derivazione della chiave, ChaCha20 per la cifratura dei metadati e Apple Secure Enclave per la gestione delle chiavi. La crittografia non è un linguaggio di marketing. È matematica.