Panoramica della codifica e protezione dati
La catena di avvio protetto, la sicurezza del sistema e le funzionalità delle app contribuiscono tutte a verificare che su un dispositivo siano eseguiti solo codice e app autorizzati. I dispositivi Apple sono dotati di funzionalità di codifica aggiuntive che proteggono i dati dell’utente anche nel caso in cui altre parti dell’infrastruttura di sicurezza siano state compromesse (per esempio, se un dispositivo è stato smarrito o esegue codice non autorizzato). Tutte queste funzionalità apportano importanti benefici sia agli utenti che agli amministratori IT, in quanto forniscono protezione di tutte le informazioni aziendali e personali e metodi per la cancellazione immediata e totale a distanza in caso di furto o smarrimento del dispositivo.
iPhone e iPad usano una metodologia di codifica dei file chiamata protezione dati, mentre i dati dei Mac dotati di processore Intel vengono protetti con una tecnologia di codifica chiamata FileVault. I Mac dotati di chip Apple utilizzano un modello ibrido che supporta la protezione dati, con due condizioni: il livello di protezione più basso (classe D) non è supportato e il livello di default (classe C) utilizza una chiave di volume e si comporta esattamente come FileVault sui Mac dotati di processore Intel. In ogni caso, le gerarchie di gestione delle chiavi hanno la propria radice nell’apposita sezione di Secure Enclave e un motore AES dedicato supporta la codifica senza perdita di velocità e aiuta a garantire che le chiavi di codifica di lunga durata non vengano mai esposte al sistema operativo del kernel o alla CPU (dove potrebbero venire compromesse). (I Mac dotati di processore Intel con chip T1 o sprovvisti di Secure Enclave non utilizzano un chip dedicato per proteggere le chiavi di codifica di FileVault).
Oltre all’utilizzo della protezione dati e di FileVault per aiutare a impedire l’accesso non autorizzato ai dati, Apple usa i kernel dei sistemi operativi per implementare misure di protezione e sicurezza. Il kernel utilizza il controllo degli accessi per racchiudere ogni app in una sandbox (che limita i dati a cui un’app può accedere) e un meccanismo chiamato data vault (che invece di limitare le chiamate che un’app può effettuare, limita l’accesso ai dati di un’app da parte di tutte le altre app che possono richiederli).