Crittografia Android: come funziona e cosa protegge

Crittografia Android: come funziona e cosa protegge
Contenuti dell'articolo

Un telefono Android perso o rubato contiene foto, chat, password e accessi bancari. La crittografia è la barriera che impedisce di leggerli collegando la memoria a un altro computer. Su Android è attiva per impostazione predefinita da anni e proprio per questo si tende a darla per scontata.

Il punto è che crittografia attiva non significa dati al sicuro in ogni scenario. Il livello di protezione cambia se il telefono è acceso o spento, se la scheda SD è interna o removibile, se il PIN ha quattro cifre o sei. Qui sotto c’è come funziona il meccanismo, dove finiscono le chiavi e cosa controllare sul proprio dispositivo.

Cosa protegge davvero la crittografia su Android?

La crittografia trasforma i dati in una sequenza illeggibile usando un algoritmo e una chiave. Android usa AES-256, lo stesso standard dei dischi cifrati dei computer. Senza la chiave corretta un file resta rumore: si può copiare, ma non si può leggere.

Non è la stessa cosa del blocco schermo. Il PIN che si inserisce all’avvio sblocca l’interfaccia, ma è anche il materiale da cui il sistema ricava la chiave che apre i dati. Due protezioni diverse, legate dallo stesso segreto.

La differenza si vede in laboratorio. Un telefono acceso e già sbloccato una volta tiene le chiavi in memoria: chi lo prende in mano con un exploit può leggere tutto. Un telefono spento no. È per questo che la crittografia conta soprattutto contro il furto fisico e contro l’estrazione della memoria, non contro un malware che gira mentre usi l’app della banca.

Crittografia del disco o file-based encryption?

Android ha usato per anni la crittografia dell’intero disco (FDE, Full Disk Encryption). Una sola chiave proteggeva tutta la partizione dei dati. Il telefono chiedeva la password prima di avviare il sistema e finché non la riceveva non partiva quasi nulla: niente sveglia, niente chiamate in arrivo, niente servizi di accessibilità.

Dal 2017 il modello è cambiato con la crittografia basata su file (FBE, File-Based Encryption). Ogni file ha una chiave propria, protetta da una chiave di classe. Il sistema può aprire solo ciò che serve e solo dopo che l’utente ha dato il via. Dai dispositivi lanciati con Android 10 in poi la FBE è obbligatoria.

La differenza pratica è enorme: il telefono si avvia fino alla schermata di blocco, la sveglia suona, il centralino può passare una chiamata. Le foto e le chat restano chiuse.

ModelloChiaviQuando si apreCosa funziona prima del PIN
FDE (vecchio)Una sola per tutta la partizioneAll’avvio, prima del sistemaQuasi nulla, solo il tastierino di emergenza
FBE (attuale)Una per file, protetta da chiavi di classeAl primo sblocco, classe per classeSveglia, chiamate, app di accessibilità
MetadatiUna chiave separata per nomi e dimensioniInsieme alla classe di archiviazioneNasconde la struttura delle cartelle

Perché la sveglia suona ma le foto restano chiuse?

Con la FBE ogni utente ha due spazi di archiviazione. Lo spazio Credential Encrypted (CE) è quello predefinito e si apre solo dopo il PIN, il segno o la password. Lo spazio Device Encrypted (DE) è disponibile subito, anche prima dello sblocco.

Le app che devono funzionare presto dichiarano nel manifest di essere compatibili con l’avvio diretto (Direct Boot). Orologio, dialer e servizi di accessibilità lo fanno. Le foto, WhatsApp e la posta stanno in CE e restano cifrate finché non sblocchi.

Ecco perché dopo un riavvio il telefono può squillare ma non mostrarti il nome di chi chiama: la rubrica è in CE, il numero in arrivo no. Ecco anche perché le notifiche di chat compaiono solo dopo il primo sblocco.

TIP: le app che funzionano prima del PIN sono poche e devono essere progettate per farlo. Se una sveglia non suona dopo un riavvio, spesso non è un bug di Android: è un’app che non supporta l’avvio diretto.

Dove stanno le chiavi e che ruolo ha il PIN?

Alla prima accensione Android genera una chiave principale casuale. Da quella derivano le chiavi di classe e da queste le chiavi che cifrano i singoli file. La chiave principale non sta in chiaro nella memoria: è protetta dall’hardware.

Il posto giusto è il TEE, un ambiente di esecuzione separato dentro il processore, con un suo sistema operativo che Android non può leggere. Lì girano KeyMint (il componente che gestisce le chiavi dal 2021, prima si chiamava Keymaster) e Gatekeeper, che controlla i tentativi di PIN. L’avvio verificato e una radice di fiducia hardware garantiscono che solo un sistema firmato possa chiedere le chiavi.

I telefoni più recenti possono aggiungere uno StrongBox, un chip separato con memoria propria. Dal 2018 è disponibile l’API che permette alle app di chiedere chiavi lì dentro. Costa, occupa spazio e non tutti i produttori lo mettono: sui medi di gamma spesso manca.

Se manca un elemento sicuro, le chiavi finiscono in software. Un sistema modificato o un exploit con privilegi alti può estrarle. Sui tablet economici e su alcune ROM cinesi questo è il punto debole vero, non il PIN.

Il PIN non viene mai salvato

Il PIN non è la chiave. Viene trasformato con una funzione di derivazione lenta (scrypt), che rende costoso provare miliardi di combinazioni. Da Android 9 esiste anche una password sintetica: un segreto casuale che il PIN sblocca, così cambiare il PIN non richiede di ri-cifrare tutti i file.

I tentativi sono limitati da Gatekeeper, che applica attese crescenti e gira nel TEE. Un PIN da quattro cifre ha però solo 10.000 combinazioni. Se un attaccante riesce a estrarre le chiavi avvolte e non c’è hardware a fare da filtro, le prova tutte in poco tempo. Sei cifre portano a un milione, una password alfanumerica cambia l’ordine di grandezza.

Le impronte e il volto non derivano chiavi: autorizzano l’uso di una chiave già presente nel TEE. Per questo dopo un riavvio il sistema chiede comunque il PIN.

Cosa nasconde la crittografia dei metadati

La FBE cifra il contenuto dei file. Nomi, dimensioni e struttura delle cartelle resterebbero visibili senza un secondo livello. La crittografia dei metadati, arrivata con Android 9, li copre con una chiave separata. Sui dispositivi senza accelerazione AES si usa Adiantum, una modalità pensata per l’hardware lento. Da Android 14 la modalità preferita per i nomi file è AES-HCTR2, mentre le policy di crittografia v2 sono lo standard dalla versione 11.

Quando la crittografia non basta

La crittografia protegge i dati a riposo. Non protegge un telefono sbloccato: se presti il dispositivo a qualcuno o un’app con i permessi giusti legge la galleria, i file sono in chiaro. Il blocco delle singole app aggiunge un ostacolo in più, ma non cambia la natura del dato.

Il backup è un altro buco. I dati che Google salva nel cloud non usano la stessa chiave del telefono: sono cifrati con chiavi gestite dal servizio. Google One offre una cifratura end-to-end legata al PIN, ma è un’opzione a parte e non copre i backup di terzi. Chi vuole il controllo deve fare un backup locale senza root e tenere il file altrove.

La scheda SD merita un discorso separato. Se la usi come memoria portatile, la FBE non la tocca e le foto spostate lì restano leggibili. Se la formatti come memoria adottabile, viene cifrata con una chiave legata al telefono: più sicura, ma illeggibile su un altro dispositivo.

Restano gli attacchi offline e gli exploit. Un PIN corto cade se le chiavi sono estraibili. Un bootloader sbloccato o una ROM personalizzata possono indebolire la catena. Le falle zero-click esistono e non dipendono dalla crittografia. Contro questi scenari servono aggiornamenti, un PIN decente e la consapevolezza che nessun singolo livello basta.

Come verificare la crittografia sul tuo telefono

Non serve un’app: bastano le impostazioni e, se hai pazienza, una finestra ADB. Ecco i quattro controlli che smontano le bugie più comuni.

  1. Guarda il menu. Su Pixel e Android stock: Impostazioni, Sicurezza e privacy, Altri parametri di sicurezza, Crittografia e credenziali. Su Samsung: Impostazioni, Sicurezza e privacy, Altri parametri di sicurezza, Crittografa o decrittografa i dati. Su HyperOS la voce spesso non c’è perché la cifratura è già attiva e non disattivabile.
  2. Interroga il sistema. Con il debug USB attivo, adb shell getprop ro.crypto.state deve rispondere encrypted. Il comando adb shell getprop ro.crypto.type restituisce file sui telefoni con FBE e block sui vecchi modelli con FDE.
  3. Fai la prova del riavvio. Spegni, riaccendi e fermati alla schermata di blocco. La sveglia suona? Le chiamate entrano? Prova ad aprire la galleria: deve essere vuota o non disponibile. Se le foto si vedono prima del PIN, qualcosa non torna.
  4. Controlla SD e backup. Verifica se la scheda è configurata come portatile o adottabile e se le foto finiscono lì. Poi apri l’app di backup e leggi se la cifratura end-to-end è attiva o spenta.
Crittografia Android: cosa si può leggere prima e dopo il PIN
Cosa resta accessibile prima e dopo lo sblocco del telefono.

Questi controlli non dicono se il TEE è robusto, ma distinguono un telefono cifrato davvero da uno che mostra solo la schermata di blocco.

Domande frequenti

La crittografia rallenta il telefono?

No, sui dispositivi degli ultimi anni. Il chip dedicato o le istruzioni AES della CPU cifrano e decifrano mentre i dati passano dalla memoria, con un impatto trascurabile. Sui modelli molto economici senza accelerazione hardware si usa Adiantum, più lenta ma comunque gestibile.

Se il telefono è spento i dati sono al sicuro?

Sì, a riposo. Senza PIN non si aprono le chiavi e la memoria è rumore. La solidità dipende però dalla lunghezza del PIN e dalla presenza di un elemento sicuro: un codice da quattro cifre non ferma a lungo chi può estrarre le chiavi.

La crittografia copre le foto sulla scheda SD?

Solo se la formatti come memoria adottabile. La memoria portatile resta fuori dalla FBE: le foto spostate lì sono leggibili togliendo la scheda. Su Android 9 e successivi la FBE è compatibile con la memoria adottabile, quindi la scelta è nelle impostazioni.

Il backup su Google usa la stessa chiave del telefono?

No. Il backup cloud viene cifrato con chiavi gestite dal servizio, non con quelle del dispositivo. La cifratura end-to-end di Google One è un’opzione separata e legata al PIN e non vale per i backup fatti con altri servizi.

Cosa succede se dimentico il PIN?

I dati non si recuperano. Non esiste una backdoor e l’account Google non apre la crittografia locale: l’unica strada è un ripristino di fabbrica, che cancella tutto. Per questo il PIN va scelto insieme a un backup verificato.

La crittografia protegge da virus e spyware?

No. Protegge i dati quando il telefono è spento o bloccato. Un malware che gira mentre il dispositivo è sbloccato legge quello che i permessi gli consentono. Contro spyware e truffe servono aggiornamenti, app da fonti affidabili e controllo dei permessi.

Posso attivare la crittografia su un telefono vecchio?

Su Android 6 e 7 la voce era manuale, ma da Android 10 la FBE è obbligatoria sui dispositivi nuovi. Se il telefono ha una versione recente, la crittografia è già attiva e non si disattiva. Se è molto vecchio e usa la FDE, l’unico modo per passare alla FBE è cambiare dispositivo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Parliamo di: