Che cos’è il Secure Enclave dell’iPhone?
Un piccolo computer separato dentro l’iPhone, il cui compito è custodire chiavi che non consegna mai.
In breve
Il Secure Enclave è un sottosistema di sicurezza dedicato, integrato nel chip dell’iPhone da iPhone 5s e isolato dal processore principale. Protegge i dati di Face ID e Touch ID e le chiavi alla base della cifratura dell’iPhone, ed è progettato per tenerli al sicuro anche se il sistema operativo principale viene compromesso. Le app possono chiedergli di creare e usare chiavi, ma non possono mai leggerle.
Da ricordare
- Ha un proprio processore, una memoria protetta e un avvio sicuro.
- Contribuisce a far rispettare il limite di tentativi del codice.
- Le app possono usare le chiavi al suo interno ma non estrarle.
Un computer dentro il computer
Il processore principale dell’iPhone fa girare iOS e tutte le app. Il Secure Enclave è separato da tutto questo: un processore dedicato con un proprio piccolo sistema operativo e una memoria cifrata e autenticata, così il resto del chip non può leggerla né manometterla. Apple lo descrive come progettato per mantenere al sicuro i dati sensibili anche se il kernel di iOS viene compromesso.
È presente in ogni iPhone da iPhone 5s in poi, e in iPad, nei Mac con chip Apple, in Apple Watch e in altri dispositivi Apple.
Cosa protegge
- I dati di Face ID e Touch ID, elaborati e protetti dentro il Secure Enclave e legati al tuo dispositivo.
- Le chiavi alla base della protezione dei dati. La gerarchia di chiavi della cifratura dei file dell’iPhone comprende una chiave unica impressa nel chip al momento della produzione, che secondo Apple non è accessibile né ad Apple né ai suoi fornitori.
- Il tuo codice. I tentativi di sblocco passano dal Secure Enclave; sui dispositivi recenti, un componente di archiviazione sicura dedicato li conta e cancella i dati protetti una volta superato il limite, per esempio 10 tentativi su iPhone.
Chiavi che si usano ma non si vedono
L’idea di fondo è semplice. Il Secure Enclave ha un proprio motore di cifratura le cui chiavi hardware restano al suo interno, fuori dalla portata persino del software del Secure Enclave stesso. Il resto del sistema può chiedergli di cifrare o decifrare e ne riceve il risultato, ma non può mai chiedere la chiave.
Cosa possono farci le app
Le app possono chiedere al Secure Enclave di creare una chiave privata e di custodirla. L’app non tiene mai quella chiave in chiaro: invia i dati e riceve il risultato, come una firma o l’esito di uno scambio di chiavi usato per la cifratura. Un’app può anche richiedere Face ID, Touch ID o il codice prima che la chiave si possa usare. La documentazione di Apple per gli sviluppatori elenca i compromessi:
- Un solo tipo di chiave: chiavi a curva ellittica a 256 bit (NIST P-256), usate per firme e accordo di chiavi e, attraverso questo, per la cifratura.
- Nessuna importazione: le chiavi devono essere create dentro il Secure Enclave. Non c’è modo di farvi entrare o uscire una chiave in chiaro.
- Un solo dispositivo: solo il Secure Enclave che ha creato una chiave può usarla.
Cosa non fa
Il Secure Enclave protegge le chiavi, non ciò che appare sullo schermo. Una volta sbloccato l’iPhone, le app leggono normalmente i loro dati, e chiunque tenga in mano il telefono sbloccato vede ciò che quelle app mostrano. E poiché le sue chiavi non lasciano mai il dispositivo, i dati protetti solo da esse non possono seguirti su un nuovo iPhone: un’app che si affida al Secure Enclave ha bisogno di un modo separato e sicuro per il ripristino.
Come lo usa Latent
Latent protegge la chiave di ogni cassaforte con una chiave custodita nel Secure Enclave, sbloccata dalla tua sequenza o password. Copiare i file dell’app fuori dal telefono restituisce dati cifrati e nient’altro. Poiché quella chiave non può lasciare l’iPhone, per ripristinare una cassaforte su un nuovo iPhone si usa invece la frase di recupero di nove parole.