Panoramica della protezione dati
Apple usa una tecnologia chiamata protezione dati per proteggere i dati archiviati nella memoria flash sui dispositivi dotati di SoC Apple come iPhone, iPad, Apple Watch, Apple TV e sui Mac dotati di chip Apple. La protezione dati consente al dispositivo di rispondere a eventi comuni quali le chiamate in entrata, offrendo allo stesso tempo anche un alto livello di crittografia per i dati utente. Alcune app di sistema (come Messaggi, Mail, Calendario, Contatti e Foto) e i dati relativi allo stato di salute utilizzano la protezione dei dati di default. Le app di terze parti ricevono questa protezione automaticamente.
Implementazione
La protezione dati è implementata creando e gestendo una gerarchia di chiavi e si basa su tecnologie di codifica hardware integrate in ogni dispositivo Apple. La protezione dati è controllata per ogni singolo file e assegna a ognuno di essi una classe; l’accessibilità dei file è determinata in base allo stato, sbloccato o meno, delle chiavi della classe a cui appartengono. Con Apple File System (APFS), il file system è in grado di suddividere ulteriormente le chiavi “per entità”, dove porzioni diverse di un file possono avere chiavi diverse.
Ogni volta che viene creato un file sul volume di dati, la protezione dati crea una nuova chiave a 256 bit (la chiave “per file”) e la consegna al motore AES hardware, che utilizza la chiave per crittografare il file mentre viene scritto nella memoria flash. Sui dispositivi dotati di chip da A14 ad A17 e da M1 a M3, la codifica avviene tramite l’algoritmo AES-256 in modalità XTS, dove la chiave per file da 256 bit passa attraverso una funzione di derivazione (NIST Special Publication 800-108) da cui si ricava un tweak da 256 bit e una chiave crittografica da 256 bit. Sui dispositivi dotati di chip da A9 ad A13 e da S5 a S9, la crittografia utilizza l’algoritmo AES-128 in modalità XTS, dove la chiave per file a 256 bit è divisa in due per fornire un tweak da 128 bit e una chiave crittografica da 128 bit.
Sui Mac dotati di chip Apple, l’opzione di default della protezione dati è la classe C (consulta Classi di protezione dati), ma viene utilizzata una chiave di volume piuttosto che una chiave per entità o per file, ricreando quindi il modello di sicurezza di FileVault per i dati dell’utente. Gli utenti devono comunque attivare FileVault per ottenere la protezione completa garantita dal fatto di legare la password alla gerarchia delle chiavi crittografiche. Gli sviluppatori possono anche attivare una classe di protezione più alta che utilizza chiavi per file e per entità.