La crittografia è il processo di codifica di tutti i dati utente su un dispositivo Android utilizzando chiavi di crittografia simmetriche. Una volta criptato un dispositivo, tutti i dati creati dall'utente vengono criptati automaticamente prima di essere salvati su disco e tutte le letture decriptano automaticamente i dati prima di restituirli al processo di chiamata. La crittografia garantisce che, anche se una parte non autorizzata tenta di accedere ai dati, non sarà in grado di leggerli.
Android ha due metodi per la crittografia dei dispositivi: la crittografia basata su file e la crittografia completa del disco.
Crittografia basata su file
Android 7.0 e versioni successive supportano la crittografia basata su file. La crittografia basata su file consente di criptare file diversi con chiavi diverse che possono essere sbloccate in modo indipendente. I dispositivi che supportano la crittografia basata su file possono supportare anche l'avvio diretto, che consente ai dispositivi criptati di avviarsi direttamente alla schermata di blocco, consentendo così un rapido accesso alle funzionalità importanti del dispositivo, come i servizi di accessibilità e le sveglie.
Con la crittografia basata su file e le API che rendono le app consapevoli della crittografia, le app possono operare in un contesto limitato. Ciò può accadere prima che gli utenti abbiano fornito le proprie credenziali, proteggendo al contempo le informazioni private degli utenti.
Crittografia dei metadati
Android 9 introduce il supporto per la crittografia dei metadati, dove è presente il supporto hardware. Con la crittografia dei metadati, una singola chiave presente al momento dell'avvio cripta i contenuti non criptati da FBE, come i layout delle directory, le dimensioni dei file, le autorizzazioni e gli orari di creazione/modifica. Questa chiave è protetta da KeyMint (in precedenza Keymaster), che a sua volta è protetta da Avvio verificato.
Crittografia completa del disco
Android 5.0 fino ad Android 9 supporta la crittografia completa del disco. La crittografia completa del disco utilizza una singola chiave, protetta con la password del dispositivo dell'utente, per proteggere l'intera partizione dei dati utente di un dispositivo. All'avvio, l'utente deve fornire le proprie credenziali prima che qualsiasi parte del disco sia accessibile.
Sebbene sia ideale per la sicurezza, ciò significa che la maggior parte delle funzionalità di base del telefono non è immediatamente disponibile quando gli utenti riavviano il dispositivo. Poiché l'accesso ai dati è protetto dalle credenziali di un singolo utente, funzionalità come le sveglie non potevano funzionare, i servizi di accessibilità non erano disponibili e i telefoni non potevano ricevere chiamate.