Poiché le applicazioni possono continuare a essere eseguite in background, la chiave di crittografia del disco deve esistere da qualche parte nella memoria.
Ci sono differenze tra le varie versioni di Android nel modo in cui la chiave di crittografia è derivata da una passphrase o PIN, ma tutte le versioni usano il servizio di crittografia del disco a livello di blocco di dm-crypt del kernel Linux. (A differenza di iOS, Android non utilizza la crittografia a livello di file o più livelli di chiave di crittografia; su iOS, alcune chiavi non vengono utilizzate non appena lo schermo è bloccato , rendendo alcuni file inaccessibili.)
Ciò significa che i file sul disco sono sempre crittografati, ma il kernel li decodificherà in modo trasparente per qualsiasi applicazione che disponga di sufficienti privilegi di file system per leggerli.
Fondamentalmente, la sicurezza di un dispositivo in tale stato (schermo bloccato, chiave di crittografia del disco caricata nella memoria del kernel) dipende dalla presenza o assenza di eventuali bug di sicurezza nella schermata di blocco di Android o qualsiasi applicazione installata che può essere remota o localmente sfruttato da un aggressore; a tale riguardo, non c'è differenza con un dispositivo non criptato.
Tuttavia, la crittografia protegge da tutti gli attacchi che richiedono il riavvio del dispositivo: non appena viene interrotta l'alimentazione, la chiave di crittografia viene cancellata dalla memoria.
Come hanno notato i commentatori, va aggiunto che un utente malintenzionato con accesso fisico al dispositivo ha più opportunità di accedere al materiale chiave in memoria che sfruttare solo bug del kernel o dell'applicazione: potrebbero fisicamente o logicamente estrai i contenuti di DRAM (che contengono la memoria del Kernel e quindi anche la chiave) o accedere alle funzioni di debug del sistema (supponendo che non siano disabilitate).