
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 iPad, iPhone, Mac con chip Apple, Apple TV, Apple Vision Pro e Apple Watch. 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 Calendario, Contatti, Mail, Messaggi 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. Apple File System (APFS), consente al file system 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 A18 e con M1 o modelli successivi, 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 valore da 256 bit e una chiave crittografica da 256 bit.
Sui dispositivi dotati di chip da A9 ad A13 e con S5 o modelli successivi, la crittografia utilizza l’algoritmo AES-128 in modalità XTS, dove la chiave per file a 256 bit è divisa in due per fornire un valore 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 usata 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à.