Come viene derivata la chiave master del KeyChain iOS?

2

Non sono esperto ma suppongo che su OSX sia derivato dalla password dell'account utente. Sono più che aperto alla possibilità che ciò non sia corretto.

Su iOS non esiste una password per l'account utente, solo un PIN. Password e PIN sono entrambi facoltativi, ma vengono utilizzati per generare la chiave del portachiavi? In caso contrario, la chiave è stata memorizzata da qualche parte sul dispositivo?

Mi scuso se ho completamente frainteso come potrebbe funzionare.

    
posta Matthew 30.10.2013 - 18:58
fonte

1 risposta

4

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.

    
risposta data 30.10.2013 - 19:11
fonte

Leggi altre domande sui tag