La crittografia del disco Android è basata su dm-crypt
ed è un encryption_disk encryption , il che significa che tutto è crittografato usando lo stesso segreto principale. Questo è diverso dall'approccio utilizzato da iOS in cui diversi file vengono crittografati con diversi segreti principali in base alle loro classi di protezione. In effetti, tutti i file su dischi con crittografia Android condividono la stessa classe di protezione.
Per le versioni precedenti di Android (prima di 5.0) era abbastanza facile applicare il PIN al bruteforce, quindi la protezione non era eccezionale e io valuterei che fosse alla pari con la classe NSFileProtectionNone
in iOS.
5.0 ha introdotto miglioramenti per combattere la bruteforce offline e ora tutto è molto più vicino a NSFileProtectionCompleteUntilFirstUserAuthentication
. Ma tieni presente che poiché la crittografia del disco di Android è FDE e c'è solo una chiave master, non sarà mai equivalente a NSFileProtectionComplete
- perché Android non sarà in grado di eliminare il master secret dalla memoria quando l'utente blocca il dispositivo (altrimenti nessuno di sfondo i servizi saranno in grado di accedere a qualsiasi dato).
C'è un eccellente articolo sull'FDE per Android qui (e se sei interessato alla sicurezza di Android in generale, il blog offre tantissime informazioni preziose).