In vista della conferenza Hack in the Box (HITB) di quest'anno a Singapore, il ricercatore di sicurezza che si occupa della gestione di Twitter "xerub" è riuscito a esporre la chiave di decrittazione completamente sviluppata per il coprocessore crittografico di iPhone 5s che gestisce Touch ID, chiamato Secure Enclave.
Ha anche pubblicato la chiave di decodifica online.
Il rilascio di questo tasto non significa che il telefono non sia più sicuro: i dati sensibili memorizzati in Secure Enclave sono protetti con altri tasti che non sono stati compromessi e probabilmente non lo faranno. Tutto ciò che gli esperti di sicurezza possono fare è utilizzare la libreria "img4lib" per decrittografare e dare un'occhiata più da vicino al software segreto di Apple in esecuzione sul coprocessore crittografico, non leggere i dati memorizzati in esso.
Per coloro che si chiedono, Secure Enclave è fabbricato nel chip S2 che alimenta Apple Watch Series 1 e Series 2 e i chip Apple serie A dal chip A7 in iPhone 5s in poi.
Sto solo speculando qui, ma esaminare il firmware Secure Enclave potrebbe fornire preziose informazioni sul suo funzionamento interno, il che, a sua volta, potrebbe facilitare la scoperta di exploit utilizzati per il jailbreak. Tuttavia, qualsiasi exploit destinato specificamente a Secure Enclave sarebbe specifico per iPhone 5s e richiederebbe l'accesso fisico al telefono per caricare il firmware personalizzato.
Secure Enclave ha un proprio processo di avvio sicuro per garantire che il firmware separato sia verificato e firmato da Apple. Da non confondere con il codice iOS in esecuzione sul processore principale, il firmware Secure Enclave può essere modificato solo tramite un processo di aggiornamento software personalizzato creato appositamente per esso, separatamente dal processore principale della serie A.
la chiave è completamente sviluppata https://t.co/MwN4kb9SQI uso https://t.co/I9fLo5Iglh per decrittografare e https://t.co/og6tiJHbCu per l'elaborazione
- ~ (@xerub) 16 agosto 2017
L'hacker di iOS Will Strafach aka Chronic è stato veloce nel sottolineare che questo non è un grosso problema per gli utenti finali perché Secure Enclave non è stato effettivamente violato. "La chiave di decrittazione in questo caso è per il firmware, consentendo a più ricercatori di guardarlo", ha detto su Twitter.
Quando iPhone 5s è stato rilasciato nel 2013, ha debuttato con il sensore di impronte digitali Touch ID. Per archiviare e proteggere in modo sicuro i dati sensibili dal sensore di impronte digitali, Apple ha creato un chip Secure Enclave integrato nel chip A7 del telefono.
Pensalo come un'entità separata con la sua memoria crittografata e un generatore di numeri casuali hardware. Tutte le comunicazioni tra Secure Enclave e il processore A7 principale sono isolate verso una casella di posta guidata da interrupt e buffer di dati di memoria condivisa.
Il processore inoltra i dati solo all'enclave sicura, ma non può leggerli. In altre parole, il processore principale non può ottenere direttamente le chiavi del dispositivo o leggere i dati crittografati archiviati in Secure Enclave, né può alterarne le funzioni, il che richiederebbe la distribuzione di un nuovo firmware firmato creato appositamente per Secure Enclave.
Fondamentalmente un coprocessore ARMv7a, Secure Enclave esegue una versione personalizzata della famiglia di microkernel L4 di Apple. È stato ipotizzato che i dati archiviati in modo sicuro nella memoria crittografata di Secure Enclave siano applicati dalla tecnologia TrustZone e SecurCore di ARM.
A differenza della memoria di Secure Enclave in A8 e dei processori più recenti, quella in Secure Enclave di A7 non è autenticata con il tasto effimero (creato all'avvio del telefono).
Secure Enclave (rettangolo più piccolo) è incorporato nel chip principale della serie A..
Come accennato in precedenza, Secure Enclave ha il proprio firmware, kernel, driver e servizi che alimentano Touch ID e forniscono tutte le funzioni crittografiche al sistema.
Oltre a regolare tutte le comunicazioni tra il sensore Touch ID e Secure Enclave tramite un percorso sicuro, il coprocessore crittografico offre altre funzionalità e servizi:
- Crittografa i dati scritti nella memoria flash
- Decodifica i dati letti dal file system
- Applica ritardi all'escalation dopo l'inserimento di un passcode non valido nella schermata di blocco
- Gestisce il processo di autenticazione di Apple Pay e consente la prosecuzione di una transazione
- Riceve la scansione raster dell'impronta digitale dal sensore Touch ID
- Memorizza temporaneamente la scansione nella propria memoria crittografata
- Vettorizza la scansione per l'analisi, quindi scarta la scansione
- Determina se esiste una corrispondenza con le impronte digitali registrate
- Memorizza in modo sicuro la mappa risultante dei nodi, senza alcuna informazione sull'identità
Secondo il documento della Guida alla sicurezza iOS di Apple e il relativo deposito dei brevetti, Secure Enclave utilizza l'autorizzazione del software di sistema per garantire l'integrità della protezione dei dati e del proprio firmware, anche se il kernel è stato compromesso, per evitare installazioni di downgrade.
Su processori A9 o successivi serie A, Secure Enclave è anche responsabile della generazione sicura dell'ID univoco (UID), che è una chiave AES a 256 bit univoca per ciascun dispositivo.
Questo UID è archiviato in modo sicuro nella memoria crittografata di Secure Enclave e come tale è sconosciuto ad Apple e ad altre parti del sistema.
Tutto ciò che iOS può vedere sono i risultati delle operazioni di crittografia o decodifica eseguite da motori AES dedicati implementati in silicio utilizzando l'UID come chiave (o GID, che è un ID gruppo di dispositivi compilato nel chip e comune a tutti i processori in una classe di dispositivi ; ad esempio, tutti i dispositivi iOS che utilizzano il processore A9).
Secondo il programma di bug bounty di Apple, qualsiasi estrazione riuscita di materiale riservato protetto da Secure Enclave verrà premiata con $ 100.000.