Sommario:
- Che cos'è la crittografia?
- Cambiamenti in Lollipop
- Problemi di prestazione
- La crittografia non è obbligatoria (e ne hai bisogno comunque?)
Ci sono molte informazioni là fuori sulla crittografia full disk (FDE) "predefinita" di Android 5.0 Lollipop. Alcune sono buone informazioni, altre sono cattive informazioni, e in gran parte sono solo frammenti ripetuti di speculazione. Mentre questo rende buona conversazione - e vale la pena parlare di FDE - volevamo scomporre i punti più fini in una discussione di facile lettura.
Questo non è pensato per essere il documento completo sulla crittografia Android. Google ha già pubblicato quello. Affronteremo le domande orientate al consumatore che continuiamo a sentire. Come sempre, usa i commenti per la discussione in modo che tutti possiamo imparare qualcosa.
Che cos'è la crittografia?
La crittografia è il processo di protezione dei dati mediante una chiave di crittografia. Pensa a una password come a una chiave e la crittografia è un blocco molto sicuro. Hai bisogno della chiave per entrare per fare qualcosa. E mentre entrare senza la chiave giusta è possibile, non è molto probabile. (Sì, qualsiasi sistema di crittografia può - almeno in teoria - essere sconfitto da pazienti e furbi individui.)
Sui nostri Android, tutti i dati dell'utente su un dispositivo (dal Android 3.0) possono essere crittografati. I dati vengono effettivamente crittografati al volo, prima che vengano mai scritti su disco. A sua volta, i dati vengono decodificati prima di essere restituiti a qualsiasi programma che lo richieda. Tutto ciò che serve è la chiave corretta, che è basata su password utilizzando la password principale del dispositivo.
Cambiamenti in Lollipop
Mentre FDE è disponibile in Android dal fatiscente Android 3.x Honeycomb, Android 5.0 apporta alcuni cambiamenti e miglioramenti piuttosto grandi nel modo in cui tutto funziona.
In Lollipop, FDE è fatto con una funzione del kernel che agisce direttamente sul livello di blocco della memoria. Ciò significa che la crittografia può funzionare su dispositivi flash come l'archiviazione eMMC, che non ha funzionalità di crittografia nativa, perché si presentano al kernel come dispositivo a blocchi standard. La crittografia non è possibile con i file system che parlano direttamente con l'archiviazione (come YAFFS). Le persone che hanno creato il tuo telefono o tablet potrebbero aver incluso un metodo per crittografare la memoria esterna (come la scheda SD), ma Android AOSP si occupa principalmente della memoria interna. L'algoritmo utilizzato è AES a 128 bit con CBC e un vettore di inizializzazione del settore salato crittografato che utilizza la funzione hash SHA256. La chiave master utilizza anche le chiamate alla libreria OpenSSL.
In altre parole, è dannatamente sicuro.
Al primo avvio in Android, il dispositivo crea una chiave master casuale a 128 bit, quindi esegue l'hashing e la memorizza nei metadati crittografici. Questi dati sono sbloccati dalla passphrase dell'utente. (E ricorda, gente, non usare password deboli.) L'hash risultante è anche firmato attraverso il supporto hardware, come le funzionalità basate su TEE (ovvero Trusted Execution Environment) come TrustZone. Prima di Android 5.0, la chiave master era crittografata in base solo alla password dell'utente, che poteva essere vulnerabile agli attacchi off-box tramite ADB.
È interessante notare che Google non sta utilizzando il motore crittografico hardware Qualcomm in AOSP o per Nexus 6. Ciò è inefficiente in quanto forza la crittografia e la decrittografia basate su CPU durante l'I / O del disco (probabilmente ogni intervallo di 512 byte) rispetto all'utilizzo dell'hardware basato su Qualcomm caratteristiche prestazionali. Non indovineremo il perché di ciò, ma sappiamo che gli OEM sono liberi di implementarlo a loro piacimento. Speriamo che lo faranno.
Google ha fatto molto per rendere sicura la crittografia del disco completo su Android. Tutto sommato, hanno fatto un ottimo lavoro.
Problemi di prestazione
Probabilmente hai sentito parlare di scarse prestazioni per la lettura e la scrittura del disco sui dispositivi Nexus con la crittografia abilitata. È vero: quando devi crittografare e decrittografare al volo, le velocità di I / O del disco ne risentiranno. Come accennato in precedenza, Google non utilizza le funzionalità del kernel basate su hardware di Qualcomm sul Nexus 6, il che ne causa un ulteriore peggioramento. Ma quanto è male?
L'I / O del disco in Lollipop è molte volte più veloce di quanto non fosse in KitKat e nelle versioni precedenti di Android. L'ottimizzazione del software e il codice specifico del dispositivo consentono ad Android di leggere e scrivere dalla memoria più velocemente che mai. Questa è un'ottima cosa che è per lo più negata da tempi di I / O più lenti a causa della crittografia.
Se hai bisogno di usare FDE (o sei costretto a usarlo perché hai acquistato un nuovo Nexus e non vuoi installare un firmware personalizzato) le tue prestazioni saranno comunque migliori (sulla carta) di quanto non sarebbero state su KitKat. Semplicemente non sarà buono come potrebbe essere senza crittografia. Nell'uso del mondo reale, la maggior parte degli utenti con cui abbiamo parlato non nota alcun ritardo del dispositivo a causa dell'I / O lento. La tua esperienza potrebbe essere diversa.
Se vuoi o hai bisogno di FDE, probabilmente ne vale la pena.
La crittografia non è obbligatoria (e ne hai bisogno comunque?)
Chiunque abbia un telefono che ha già l'aggiornamento di Lollipop può dirti che Lollipop non ti obbliga a usare la crittografia. Mentre Nexus 6 e Nexus 9 (e forse tutti i futuri dispositivi Nexus) vengono forniti con il dispositivo abilitato e nessun modo semplice per spegnerlo, i telefoni che sono stati aggiornati a Lollipop - come il Galaxy Note 4 - non hanno automaticamente abilitato la crittografia completa del disco.
Lo stesso vale per i nuovi dispositivi che vengono spediti con Android 5.x come LG G Flex 2. L'opzione è lì se si desidera abilitarlo, ma per impostazione predefinita la crittografia completa è disattivata. Questo ci porta a una scelta: abbiamo bisogno della crittografia completa del disco?
Molti di noi troveranno utile la crittografia completa del disco. Se hai informazioni sensibili che non vuoi mai e poi mai cadere nelle mani sbagliate sul tuo telefono, FDE è una manna dal cielo. Perché qualcuno possa accedere ai tuoi dati, devono conoscere la password del tuo dispositivo. Nessuna quantità di armeggiare su un filo li farà entrare, e purché tu abbia usato una password complessa, i tuoi dati sono al sicuro perché dopo una manciata di ipotesi sbagliate, tutto va in blocco.
Per altri, basterà la sicurezza standard della schermata di blocco. Se perdiamo un telefono, possiamo cancellarlo in remoto tramite Gestione dispositivi Android o un'altra utility e se qualcuno è in grado di andare offline prima di poter cancellare, allora abbiamo la fortuna di bypassare la nostra password della schermata di blocco (può succedere), tutto ciò che get è alcune foto e l'accesso all'account Google su cui possiamo cambiare rapidamente una password.
C'è anche l'intera questione ficcanaso del governo a cui pensare. Sebbene la maggior parte di noi non abbia motivo di temere alcuna conseguenza per ciò che abbiamo archiviato sui nostri telefoni, meritiamo comunque un po 'di privacy e protezione quando i nostri dati personali sono interessati. La crittografia completa del disco ci avvicina alla protezione dei nostri dati da agenzie governative che pensano di doverli vedere.
Solo tu sai se hai bisogno della crittografia completa del dispositivo.