Vedi queste diapositive per un'introduzione sulla protezione dei dati su iPhone (presumibilmente, gli iPad sono simili). Al centro del sistema, c'è una chiave specifica del dispositivo chiamata chiave UID ; è memorizzato nella CPU stessa e ogni CPU ha il suo. Da quella chiave derivano altre chiavi, inclusa quella usata per KeyChain; il codice di accesso dell'utente viene anche utilizzato nella derivazione della chiave. Si presume che la CPU sia resistente alla manomissione, il che significa che non si dovrebbe essere in grado di estrarre la chiave UID da essa. Se accedi direttamente all'hardware, puoi fare in modo che usi la chiave UID della CPU, ma qualsiasi attacco di forza bruta sul passcode dovrà passare attraverso la CPU effettiva.
Per riassumere, sfogliare il KeyChain di un iPhone è fattibile, ma al costo di una ricerca esauriente sul codice PIN che deve utilizzare la CPU dell'iPhone attuale (quindi non è offline ). Certo, siamo più interessati alla resistenza di KeyChain proprio se l'iPhone è stato rubato, nel qual caso l'attaccante ha accesso all'hardware.